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-
>>>> 
>> 
> 

Reply via email to