On 12/01/15 10:28 AM, David DeHaven wrote:

It won't build at all with Xcode 5, there is no gcc compiler and the clang 
changes were never backported to jdk8u.


Yes. I believe those who have done this on Mavericks (including me) are using the apple-gcc4.2 binaries (e.g. the one that brew can install).

--Toby

-DrD-

Hello,

These changes look ok to me.

With these changes, configure will unconditionally fail if trying to use XCode 
5. I know we don't officially support using XCode 5 for JDK 8, but aren't 
people working around it with some patches? How hard would it be to make it at 
least build?

/Erik

On 2015-01-10 05:45, David DeHaven wrote:
Please review the open source changes for 8043340. The goal here is to get 
jdk8u to build on Mac OS X 10.9+ systems where Xcode 5+ and Xcode 4 are 
co-installed, a configuration which is becoming more and more commonplace as 
more developers are focusing on JDK 9 now (which needs Xcode 5 installed), not 
to mention new systems ship with 10.10 which only supports the Xcode 5/6 
command line tools. It's too much of a hassle to maintain separate systems for 
building jdk8u and JPRT isn't suitable for frequent changes so something must 
be done to address this.

The jdk changes are similar to those done for JDK9, though I removed the 
changes for building with Xcode 5 (JDK-8043591) since we do not support 
building JDK 8 with clang.

The hotspot changes are almost identical, the lack of SYSROOT_CFLAGS 
necessitated changing the logic in saproc.make a bit. It still builds with or 
without spec.gmk, though without it you will either need to define SDKPATH or 
have a sane Xcode 4 installation.

For the top level build system:
- most of the logic of sanitizing the Xcode build environment is in toolchain.m4
- the LIPO variable was removed since it was completely unused
- OTOOL was moved to after the Xcode sanitizing so it can be picked up from 
DEVELOPER_DIR if needed
- MACOSX_UNIVERSAL is now being set to false by default and 
ALT_MACOSX_UNIVERSAL was added to hotspot-spec.gmk.in so the hotspot build is 
in sync with the jdk build (this was a bug, IMHO)

That last change removed any need to run lipo (only done in hotspot), so the 
fact that /usr/bin/lipo is broken with Xcode 4 is a non-issue.

There is a weird case where some early versions of the Xcode 5 command line 
tools installed /usr/bin/{gcc|g++} as a symlink to {clang|clang++}, that case 
is handled by putting $DEVELOPER_DIR/usr/bin on the path so autoconf picks up 
the actual gcc executable.

JBS Issue:
https://bugs.openjdk.java.net/browse/JDK-8043340

Webrevs:
http://cr.openjdk.java.net/~ddehaven/8043340/jdk8u/v0/top
http://cr.openjdk.java.net/~ddehaven/8043340/jdk8u/v0/hotspot
http://cr.openjdk.java.net/~ddehaven/8043340/jdk8u/v0/jdk

JPRT runs are being kicked off. I'll have one run from hotspot directly. I'll 
post results here.

-DrD-





Reply via email to