RFR: 8015377: Support using compiler devkits on Linux
erik.joelsson at oracle.com
Mon May 27 08:45:50 UTC 2013
On 2013-05-27 05:22, David Holmes wrote:
> Hi Erik,
> Not a full review by any means.
> Looking at libraries.m4, there is some later code:
> 156 # Some of the old makefiles require a setting of OPENWIN_HOME
> 157 # Since the X11R6 directory has disappeared on later Linuxes,
> 158 # we need to probe for it.
> 159 if test "x$OPENJDK_TARGET_OS" = xlinux; then
> 160 if test -d "$SYS_ROOT/usr/X11R6"; then
> 161 OPENWIN_HOME="$SYS_ROOT/usr/X11R6"
> 162 fi
> 163 if test -d "$SYS_ROOT/usr/include/X11"; then
> 164 OPENWIN_HOME="$SYS_ROOT/usr"
> 165 fi
> 166 fi
> that looks like it should an if/else similar to the code you modified.
> (Bob Vandette flagged this to me a while ago)
That should be using the same logic as above yes. Fixed.
> Otherwise the existing configure changes look okay. Can't comment on
> the devkit package stuff.
Thanks! Not sure about committing the devikt creator scripts, but think
they should be open in some way. They are quite messy, even if I've
tried cleaning them up.
> On 24/05/2013 10:40 PM, Erik Joelsson wrote:
>> Official compiler and OS versions for building OracleJDK are being
>> evaluated. A wanted feature is to be able to separate compiler version
>> from OS version for the linux build, as is already the case for all
>> other platforms. This could be achieved by creating portable self
>> contained compiler bundles. Support for such devkits already exist in
>> the OpenJDK configure scripts, but since it's rarely used, there are a
>> couple of issues with it that needs to be fixed.
>> This patch fixes those issues and also provides makefiles that can be
>> used to replicate the devkits being evaluated. More information on how
>> to build them can be found in the comments in
>> common/makefiles/devkit/Makefile. I don't expect many will try this, but
>> the information should be open. These makefiles could be left for later.
>> The configure changes are what we need now.
>> A devkit like this solves several problems:
>> 1. We need to build on an older OS to create binaries compatible with
>> both old and new versions of OSes, but we also want to use modern
>> compilers not likely to be available on an older OS.
>> 2. For developers it's easier to get a working build environment on a
>> new system since most dependencies will be in the devkit. It also makes
>> it easier to use the official compiler and libraries for developer
>> 3. Support for cross compilation is included. The x86_64 package
>> supports the -m32 flag and will function correctly when the jdk
>> configure script is fed with --with-target-bits=32. The i686 package
>> contains a full x86_64 cross toolchain.
>> Binary bundles will be made available internally soon.
More information about the build-dev