Updated webrev for JDK (hotspot change is the same): http://cr.openjdk.java.net/~ddehaven/8025673/jdk.1/
Changes since last version: - Moved to jdk8/build/jdk to save someone a merge headache, moved changes to CompileNativeLibs.gmk to libs/Awt2dLibraries.gmk - Removed HToolkit option and toolkit selection code from java_props_macosx.[ch] -DrD- > I want to do one more iteration of this. Based on feedback it seems I can > remove a bit more code from java_props_macosx.[ch] and make things a bit > cleaner. > > -DrD- > >> Thanks guys. >> >> Anthony, can you sponsor this for me? >> >> -DrD- >> >>> This fix looks fine to me as well. >>> >>> -- >>> best regards, >>> Anthony >>> >>> On 10/20/2013 11:56 PM, David DeHaven wrote: >>>> >>>> CCing: build-dev, macosx-port-dev, hotspot-dev >>>> >>>> Request for review of JDK-8025673: >>>> https://bugs.openjdk.java.net/browse/JDK-8025673 >>>> >>>> Proposed changes: >>>> http://cr.openjdk.java.net/~ddehaven/8025673/ >>>> >>>> This change disables building libawt_xawt.dylib and libawt_headless.dylib >>>> on Mac since they are not used and not supported. There are too many >>>> challenges (and not enough time) in removing all X11 code from the Mac >>>> build at this time, so we're deferring complete removal for later (will be >>>> covered by JDK-8003900). >>>> >>>> A small change to hotspot is required as it was looking for >>>> libawt_xawt.dylib and if not found would set java.awt.headless to true. >>>> Since we don't build a headless only JRE on Mac I just have that method >>>> return false. I'm not sure how to handle changes to hotspot, can it be >>>> pushed along with the jdk changes? Without that change the Mac builds will >>>> be broken. >>>> >>>> Significant build system changes, build-dev guys are encouraged to >>>> comment... >>>> >>>> I tried excluding all sun/awt/X11 classes in CompileJavaClasses.gmk but >>>> that broke JNI header generation on platforms still using X11 and I >>>> couldn't use the big list of excluded files on Mac as that resulted in >>>> Java compilation errors, so I just added some logic to exclude everything >>>> on Mac and left the list in place everywhere else. >>>> >>>> The changes to CompileNativeLibraries.gmk will port to >>>> libs/AwtJava2dLibraries.gmk in jdk8/build, however there is a problem in >>>> the jdk8/build workspace where the build cannot find symbols in JNI libs >>>> so that issue needs to be resolved first. I've not had time to investigate >>>> that problem. >>>> >>>> >>>> Question for the AWT team, we still have this in java_props_md.c: >>>> 458 PreferredToolkit prefToolkit = getPreferredToolkit(); >>>> 459 if (prefToolkit == CToolkit) { >>>> 460 sprops.awt_toolkit = "sun.lwawt.macosx.LWCToolkit"; >>>> 461 } else { >>>> 462 // TODO: do we still need this? >>>> 463 sprops.awt_toolkit = "sun.awt.HToolkit"; >>>> 464 } >>>> >>>> Is that necessary? Since we're now using libawt_lwawt in both headless and >>>> headful modes I would think we could remove the HToolkit option, but I'm >>>> not 100% certain about that. >>>> >>>> >>>> I've built and tested on Mac and a Linux VM (Ubuntu 12.04) and both seem >>>> to be working fine. >>>> >>>> JPRT run for Mac is in progress, I will submit one for all other platforms >>>> when it finishes building. >>>> >>>> -DrD- >>>> >> >