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 
Using autoconf at /usr/local/bin/autoconf [autoconf (GNU Autoconf) 2.69]

I didn't think this warranted a re-review.


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