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

Thomas Stüfe thomas.stuefe at gmail.com
Mon Feb 12 15:51:50 UTC 2018


On Mon, Feb 12, 2018 at 4:38 PM, Magnus Ihse Bursie <
magnus.ihse.bursie at oracle.com> wrote:

>
> On 2018-02-12 14:57, Thomas Stüfe wrote:
>
>
>
> 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.
>
> Ok, I updated the printout to look like this:
> Runnable configure script is not present
> Generating runnable configure script at /localhome/hg/jdk-ALT/open/
> build/.configure-support/generated-configure.sh
> Using autoconf at /usr/local/bin/autoconf [autoconf (GNU Autoconf) 2.69]
> ...
>
> I didn't think this warranted a re-review.
>
>
Sure. Thank you.

..Thomas


> /Magnus
>
>
>
>> - 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