We have this nice little comment in common/autoconf/jdk-options.m4: # On Macosx universal binaries are produced, but they only contain # 64 bit intel. This invalidates control of which jvms are built # from configure, but only server is valid anyway. Fix this # when hotspot makefiles are rewritten. if test "x$MACOSX_UNIVERSAL" = xtrue; then HOTSPOT_TARGET=universal_${HOTSPOT_EXPORT} fi
So.. I turned it off: if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then # MACOSX_UNIVERSAL="true" MACOSX_UNIVERSAL="false" fi And in hotspot/make/bsd/makefiles/defs.make: # Universal build settings ifeq ($(OS_VENDOR), Darwin) # Build universal binaries by default on Mac OS X # MACOSX_UNIVERSAL = true MACOSX_UNIVERSAL = false ifneq ($(ALT_MACOSX_UNIVERSAL),) hotspot still seems to build happily (I'm kicking off tests now). Is there are particular reason this hasn't been done yet? I'd like to know before I pursue this as a means of eliminating our dependency on lipo which is causing an inordinate amount of grief when trying to build on 10.9 and later when Xcode 5+ is coinstalled. I have some logic to work around using the broken /usr/bin/lipo, but it doesn't help later in some "other" build target that ends up using '-arch i386 -arch x86_64'. It does not explicitly run lipo, it relies on gcc to do the fattening itself and so it fails even though I've gone to the effort of working around the broken lipo (and it isn't necessary anyways because it doesn't even build the i386 binaries even though it's supposed to be "universal"). Quite frankly I'd rather just remove all the universal binary stuff from hotspot, but I'm trying my best to minimize the changes there... the "other" problem I can handle easily. -DrD-