On 2014-06-02 18:23, David DeHaven wrote:
* Why remove MACOSX_VERSION_MIN=@MACOSX_VERSION_MIN@? I believe we still use 
this in some closed makefiles. Or is the idea that we instead will force the 
sdk name to 10.7? If so, then we need to still leave this in until every user 
(RE) has switched properly.
I moved all that to closed, it's in the internal review for those changes. The 
value is now set in custom-spec.gmk instead of spec.gmk. It was not used 
anywhere in OpenJDK that I could find. When deploy/install get revamped we can 
just remove it entirely, that'll be easier if it's in closed.

It's referenced in make/bsd/makefiles/gcc.make, but that entire block is 
skipped if spec.gmk exists (confirmed by throwing garbage in there), and it 
defaults to 10.7.0 anyways.

Actually, I thought on this some more (and read the closed review). I added that feature to be able to build on 10.8 and still have bits runnable on 10.7, and it's still used in the jdk through the CFLAGS_JDKLIB and friends. We cannot remove those until we can guarantee that all builds are done on macosx10.7 sdkroot (which I assume would also fix the issue). So at least for now, please leave those in the open. Also, by having these CFLAGS/LDFLAGS set, we are able to create compatible bits even if macosx10.7 isn't installed.

If we want to move towards using a specific sdkroot rather than the -mmacosx-version-min flags to control compatibility, then we should also add a default for macosx10.7 in configure. It would probably be good to add a default regardless.

I have to do another iteration based on what Max found when only the command 
line tools are installed (no Xcode). Thankfully, it won't be too difficult to 
determine if Xcode is installed or not. The logic won't be terribly different. 
Basically XCODEBUILD might not be usable since if Xcode is not installed we 
will not be able to use it. The stub xcodebuild tool is installed with the OS 
and I can actually use the return code to detect if Xcode is present or not. 
Additionally, SYSROOT/SDKROOT will not be set as the CL tools install headers 
to the System frameworks directories. There are no SDKs installed so there is 
no other place to put them.
Supporting this usecase makes it even more important to keep the -mmacosx-version-min flags.

/Erik

Reply via email to