MacOS build tool selections for JDK8

Mike Duigou mike.duigou at oracle.com
Mon May 13 18:07:02 UTC 2013


On May 10 2013, at 15:16 , Tim Bell wrote:

> All-
> 
> The question of what toolchain to use on MacOS when building JDK8 is in play.
> 
> This is important because the decisions we make in the next few weeks will be in place for the lifetime of JDK8, including all future JDK8 update releases.
> 
> I have a few different pieces of feedback at this point, and (due to my own ignorance of the developer environment choices on MacOS), I'd like to throw the discussion out to a larger audience of MacOS developers.
> 
> 1) Use gcc as the build does today.

Does this mean the gcc+clang provided by XCode or some random port of GCC (fink/macports)? I would be concerned with using "cygwin quality" (if that doesn't make you cringe you haven't been using cygwin long enough) GCC port rather than the Apple port.

> 2) Use Clang.

Is there any way to get clang for MacOS other than via XCode? Like using macports or fink GCC port I would be concerned about quality, stability and updates.

> 3) Support both (since they should both compile the same source) but identify Clang as the official tool.

We're currently using the gcc front end. I think it would take signifiant work to switch to the clang front end. 

> 4) Use Xcode (er - wait - isn't Clang a part of Xcode?  Please correct me if I am mistaken here....)

This seems to be the only supported option. For Java 8 we have a mandate to support 10.7 which the current XCode tools allow us to do. I assume that the requirement to support 10.7 will remain through all of Java 8's support lifetime. It's unclear when XCode will stop supporting 10.7 though it would seem that when/if that happens we will be stuck with the last-supporting-10.7 version.

> As part of the build-infrastructure team, my #1 concern is getting solid, repeatable builds from the toolchain, every time, that that's what I mean by 'official'.
> 
> If developers feel adventurous and want to run out ahead using bleeding edge tools, good for them - have fun.
> 
> What we would like to define here is a solid baseline of what we use to run the official from-scratch JDK8 builds.  That said, I'd like to nail down the tools used, and the specific version of the tools.
> 
> Thanks in advance for any feedback.
> 
> Tim Bell
> Java Platform Group Infrastructure
> 




More information about the build-dev mailing list