RFR: JDK-8197571 Change storage location for generated-configure.sh
thomas.stuefe at gmail.com
Mon Feb 12 13:57:30 UTC 2018
On Mon, Feb 12, 2018 at 2:53 PM, Magnus Ihse Bursie <
magnus.ihse.bursie at oracle.com> wrote:
> On 2018-02-12 14:47, Thomas Stüfe wrote:
> Hi Magnus,
> Thanks a lot for fixing this! I tried my configuration as described in
> earlier mails, and the configure scripts gets now created in the output
> directory as expected.
> Some notes:
> - would it be possible to write out the path name of the generated
> configure shell script?
> Sure, but why? What's the use case? Do you want it only when it is
> generated/updated, or always when running configure?
The former. Just as an information.
> - No concern of mine, because I never do this, but just something I noted
> when looking at the change: it seems before the patch it was possible to
> start the make from any subdirectory within the source tree and still have
> the build configuration written to source tree root. That would not work
> anymore, now builds inside the source tree have to be started from the root
> of the source tree?
> We have never supported running configure in anything but an empty
> director or the source tree root. You will end up with something like:
> configure: Current directory is /localhome/hg/jdk-ALT/open/src.
> configure: Since this is not the source root, configure will output the
> configuration here
> configure: (as opposed to creating a configuration in
> configure: However, this directory is not empty. This is not allowed,
> since it could
> configure: seriously mess up just about everything.
Okay. Change is reviewed from my end.
> Kind Regards, Thomas
> On Mon, Feb 12, 2018 at 2:09 PM, Magnus Ihse Bursie <
> magnus.ihse.bursie at oracle.com> wrote:
>> In JDK-8195689, the generated-configure.sh was no longer checked in, but
>> locally generated. The selected location for generation ($TOPDIR/.build)
>> was not unproblematic for some use cases. This patch attempts remedy this.
>> The new behaviour will be this:
>> * If run from $TOPDIR, the storage directory will be
>> * If run from $CUSTOM_ROOT, the storage directory will be
>> * If run from any other directory (about to become the build output
>> directory for the configuration), the storage directory will be
>> This will allow "rm -rf $TOPDIR/build" to function as before to remove
>> all build artifacts. It will allow configuration created in out-of-tree
>> directories to have the script generated locally.
>> I could not put the output file in build/$BUILD/configure-support, since
>> the $BUILD name is not yet determined. I did not want to put it in
>> build/configure-support, since that would make it look like a configuration
>> to the code that enumerates configurations in build.
>> I hope this addresses all issues that has been raised.
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8197571
>> WebRev: http://cr.openjdk.java.net/~ihse/JDK-8197571-change-storage-
More information about the build-dev