Review Request: 8001541: Cannot build on Solaris using softlinks
Erik Joelsson
erik.joelsson at oracle.com
Mon Dec 3 11:30:52 UTC 2012
http://cr.openjdk.java.net/~erikj/8001541/webrev.root.01/
This change fixes issues with the source root being in a symlinked
directory path. This has been tweaked before but now I think I've
finally nailed it.
When configure runs in the source root (or common/makefiles,
common/autoconf etc), a new output directory should be created. If it's
being run in an empty directory somewhere else, that should be used as
output dir. The logic for making sure the current directory isn't used
as output dir when it shouldn't is the problem here.
In configure we have created a macro BASIC_REMOVE_SYMBOLIC_LINKS which
is used to normalize paths to make comparisons possible. This is what I
changed:
* The test for readlink used --help and grep:ed for GNU. On my
solaris_sparc the gnu readlink didn't print "GNU" in the help message
but only in --version. Changed to --version.
* The backup implementation failed for directory only symlinks. I
reordered statements a bit and made it work. I also removed all -P to
$THEPWDCMD since it isn't supported on all platforms and seems to remove
symlinks anyway, on both solaris and linux. This differs from the shell
builtin pwd which only resolves symlinks with -P. I also replaced plain
`pwd` with $PWD which should work the same way, and be more obvious in
asking for a non resolved directory.
/Erik
More information about the build-dev
mailing list