RFR: [9] 8043340 & 8043591: [macosx] Build system issues

David DeHaven david.dehaven at oracle.com
Wed Jun 4 23:01:29 UTC 2014


Next (hopefully last??) update:
http://cr.openjdk.java.net/~ddehaven/8043340/v3

(ignore changes to jdk/src/macosx/native/sun/osxapp/ThreadUtilities.m, that's a separate patch)

I also removed generated_configure.sh since those will be automatically generated before pushing anyways and it just keeps getting in the way.


These comments in flags.m4 are a bit misleading and not really true:
      # FIXME: This needs to be exported in spec.gmk due to closed legacy code.
      # FIXME: clean this up, and/or move it elsewhere.

So, I removed them...

I also removed using SDKROOT from the env, since we ignore the environment. Only two args affect SYSROOT now, --with-sysroot and --with-sdk-name.



Testing:

I now have two system configurations I'm testing with:
1> OS X 10.8, Xcode 5 in /Applications/Xcode.app, Xcode 4.6.3 in /Applications/old/Xcode4.app (plus everything needed to build closed jdk)
2> OS X 10.9, Command line tools only, installed JDK 8u5, freetype and autoconf 2.69 (nothing else)

System 1 tests:
$ sudo xcode-select -switch /Applications/Xcode.app
$ make clean; sh ./configure; make images
...
00:09:17 TOTAL
-------------------------
Finished building Java(TM) for target 'images'


$ make clean; sh ./configure --with-toolchain-path=/Applications/old/Xcode4.app/Contents/Developer/usr/bin; make images
...
00:13:37 TOTAL
-------------------------
Finished building Java(TM) for target 'images'

(Note that building with Xcode 5/clang is faster...)


$ sudo xcode-select -switch /Applications/old/Xcode4.app
$ make clean; sh ./configure; make images
Broken! The current Xcode command line tools don't run gcc as gcc even if Xcode 4 is active
Nothing we can do about this, anyone needing to use Xcode 4 will need to use --with-toolchain-path or --with-toolchain-type=clang (as below)
Hudson/JPRT should not be affected unless they also have Xcode 5 installed


$ make clean; sh ./configure --with-toolchain-type=clang; make images
...
00:10:54 TOTAL
-------------------------
Finished building Java(TM) for target 'images'


System 2 tests:
OpenJDK only (ignore the time, I had it pulling closed jdk while building):
$ rm -rf build; sh ./configure --with-freetype=/opt/freetype && make images
...
00:20:26 TOTAL
-------------------------
Finished building OpenJDK for target 'images'


Closed JDK (images only, deploy/install expected to fail)
$ rm -rf build; sh ./configure --with-freetype=/opt/freetype && make images
...
00:10:05 TOTAL
-------------------------
Finished building Java(TM) for target 'images'

-DrD-




More information about the build-dev mailing list