RFR: JDK-8197571 Change storage location for generated-configure.sh

Thomas Stüfe 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
> <src_root>/build/<conf-name>).
> 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.

Thanks, Thomas


> /Magnus
>
>
>
> 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
>> $TOPDIR/build/.configure-support.
>>  * If run from $CUSTOM_ROOT, the storage directory will be
>> $CUSTOM_ROOT/build/.configure-support.
>>  * If run from any other directory (about to become the build output
>> directory for the configuration), the storage directory will be
>> $PWD/configure-support.
>>
>> 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-
>> location-for-generated-configure/webrev.01
>>
>> /Magnus
>>
>>
>
>



More information about the build-dev mailing list