MacOS build tool selections for JDK8
David Chase
david.r.chase at oracle.com
Sat May 11 12:00:35 UTC 2013
Which version of MacOS? 10.8.3 is current, rumor is 10.9 is coming sometime later this year, and we had problems obtaining boxes running 10.7 for testing purposes. We may have a similar problem later this year; I imagine that new Macs for testing and/or development get purchased after June, 10.9 is released in July, and the paper-shuffling pipeline takes long enough that the boxes arrive with 10.9 pre-installed.
One reason to prefer clang is that it is somewhat more modern; if you wanted to take advantage of some of the newer Intel instruction set features using intrinsics, you would need to use clang, and not the default gcc that ships with XCode. The default gnu assembler on the Mac (not what you could get if you installed binutils yourself) also fails to recognize these intrinsics.
Clang apparently warns more often and somewhat incompatibly. See this recent thread (which it turns out is about warnings from clang):
http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2013-May/006995.html
My mother-and-apple-pie instincts say to clean up code till clang is happy with it.
Whether you go with clang or gcc, you probably want to specify a particular version of XCode, since that is the usual source (I think) of both.
Another option is MacPorts, which provides access to (at least) gcc/++ 4.5 and gcc/++ 4.8, though it does not configure them to use a sufficiently modern assembler to access the intrinsics.
One difficulty here, speaking as a habitual Mac user (I can stop any time I want to), is that the behavior that is promoted by the App Store is upgrade-upgrade-upgrade, and that includes XCode, which means gcc and clang.
David
More information about the build-dev
mailing list