RFR: JDK-8197571 Change storage location for generated-configure.sh
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Mon Feb 12 15:38:35 UTC 2018
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 <mailto: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.
/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
>> <mailto: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
>> <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
>> <http://cr.openjdk.java.net/%7Eihse/JDK-8197571-change-storage-location-for-generated-configure/webrev.01>
>>
>> /Magnus
>>
>>
>
>
More information about the build-dev
mailing list