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?
- 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.
/Magnus
Kind Regards, Thomas
On Mon, Feb 12, 2018 at 2:09 PM, Magnus Ihse Bursie
<magnus.ihse.bur...@oracle.com <mailto:magnus.ihse.bur...@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