RFR: JDK-8038340: Cleanup and fix sysroot and devkit handling on Linux and Solaris
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Wed Mar 26 11:14:15 UTC 2014
That's a lot of good changes! :-)
* The description of --with-devkit is not ideal. It does more than sets
sysroot and toolchain path (e.g. the extra path, and perhaps more things
to come). Maybe just some more vague description like "use this devkit
for compilers, tools and resources"?
* The comment "If a separate sysroot has not been defined, use the one
in the devkit" does not really match what's happening anymore.
Overriding of SYSROOT happens outside that block. A more suitable
comment would be something about what we do if DEVKIT_SYSROOT is not set.
* There is some logic trying to avoid setting /usr/ccs/bin to the PATH
on Solaris if the toolchain path is set. But since toolchain path will
be prepended just below, we don't need that precaution, and we can just
set it always.
Apart from that, it looks great!
On 2014-03-26 11:32, Erik Joelsson wrote:
> (including 2d-dev/awt-dev because I'm changing linker flags on desktop
> In preparation for upgrading compilers and build platforms, we would
> like to get better separation between the two. At least on Linux and
> Solaris this is certainly possible. Some work for this was already
> done in Jdk 8 but it was never taken all the way through into actual
> In this bug, the configure parameters relating to this will be changed
> --with-sysroot: Sets a sysroot directory that will be propagated to
> the compiler (gcc --sysroot) if supported and which will be used by
> configure to look for all dependencies like headers and libraries.
> (old --with-sys-root will be kept for compatibility as an alias)
> --with-toolchain-path: Prepends to the path when looking for compilers
> and other target specific tools. Replaces --with-tools-dir, which will
> also be kept for compatibility as an alias.
> --with-extra-path: Prepends to the path when looking for everything.
> --with-devkit: Points to the root of a devkit. A devkit may have a
> "devkit.info" in its root detailing values for the above three
> parameters. If not, the fallback behavior is what it used to do. (set
> toolchain_path to devkit/bin and some options for subdirs for sysroot)
> Along with these changes some more was needed and done:
> * To get it to work properly on Solaris, the OPENWIN variables were
> removed and replaced with X_LIBS and X_CFLAGS. Several unnecessary
> runtime paths for awt* libs were removed and some were added where
> they were actually needed instead. All the libs have been verified to
> still find their dependencies with ldd.
> * The devkit generation makefiles for linux (in root/make/devkit) were
> updated to the proposed compiler versions and adding the devkit.info
> * A minor fix in compare.sh that was missed in an earlier patch.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8038340
More information about the build-dev