RFR: JDK-8038340: Cleanup and fix sysroot and devkit handling on Linux and Solaris
Erik Joelsson
erik.joelsson at oracle.com
Wed Mar 26 11:32:03 UTC 2014
Thanks, here is a new webrev:
http://cr.openjdk.java.net/~erikj/8038340/webrev.root.02/
/Erik
On 2014-03-26 12:14, Magnus Ihse Bursie wrote:
> That's a lot of good changes! :-)
>
> Some comments:
>
> In basics.m4:
> * 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.
>
> In toolchain.m4:
> * 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!
>
> /Magnus
>
> On 2014-03-26 11:32, Erik Joelsson wrote:
>> Hello,
>>
>> (including 2d-dev/awt-dev because I'm changing linker flags on
>> desktop libs.)
>>
>> 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
>> usage.
>>
>> In this bug, the configure parameters relating to this will be
>> changed to:
>>
>> --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 file.
>>
>> * A minor fix in compare.sh that was missed in an earlier patch.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8038340
>> Webrevs:
>> http://cr.openjdk.java.net/~erikj/8038340/webrev.root.01/
>> http://cr.openjdk.java.net/~erikj/8038340/webrev.jdk.01/
>>
>> /Erik
>
More information about the build-dev
mailing list