On May 22 2014, at 09:14 , David DeHaven <david.deha...@oracle.com> wrote:
> > Good point. > > I'm also wondering, what if (for whatever reason) MACOSX_SDK_PATH is empty? > > That will cause the -isysroot argument to be invalid. I can either make an > undefined MACOSX_SDK_PATH a hard error (in configure) Earlier failure is better. > or I can wrap all uses of -isysroot/-iframework with ifneq blocks. Yuck. > Personally, I'd prefer the former, since there should never be a case where > it can't find the SDK, if there is then the build environment is not set up > correctly. I've not yet hit a case where it's been undefined, so I find it > unlikely to be an issue if we make it a hard error. > > -DrD- > >> We have several platform specific tools defined that way already (CYGPATH, >> MT, RC to name a few), so no worries. The error would be trying to use them >> on the wrong platform, but protecting the assignment won't help with that. >> >> /Erik >> >> On 2014-05-21 18:33, David DeHaven wrote: >>> As long as XCODEBUILD=@XCODEBUILD@ doesn't result in an error on other >>> platforms, that was my only concern there. >>> >>> -DrD- >>> >>>> Hello David, >>>> >>>> Mostly looks good. I don't see a reason to add ifeqs on OS around >>>> variables in spec.gmk.in. We usually just leave them there for all >>>> platforms. The only difference that will make is the variable will be >>>> undefined instead of empty. >>>> >>>> Variable name as suggested by Mike seems fine to me. >>>> >>>> /Erik >>>> >>>> On 2014-05-21 06:56, David DeHaven wrote: >>>>> I can do both of those. It's MacOSX<version>.sdk, e.g., MacOSX10.9.sdk so >>>>> MACOSX_SDK_PATH does make more sense. >>>>> >>>>> -DrD- >>>>> >>>>>> [not a build project Reviewer] >>>>>> >>>>>> The only change I would make is to put a conditional around the other >>>>>> new variable in spec.gmk.in. >>>>>> >>>>>> I wondered if the variable should be MACOS_SDK_PATH since macos.sdk is >>>>>> the name used in the path. >>>>>> >>>>>> Mike >>>>>> >>>>>> On May 20, 2014, at 9:30 PM, David DeHaven <david.deha...@oracle.com> >>>>>> wrote: >>>>>> >>>>>>> JBS Issue: >>>>>>> https://bugs.openjdk.java.net/browse/JDK-8043340 >>>>>>> >>>>>>> Summary: >>>>>>> We currently hard code the path to JavaVM.framework to >>>>>>> /System/Library/Framworks. This worked when Apple installed header >>>>>>> files in those frameworks when the command line tools were installed. >>>>>>> Those headers are no longer installed so we need to change our paths to >>>>>>> use the Mac OS X SDK path instead. >>>>>>> >>>>>>> Most of the changes here are just adding $(MAC_SDK_PATH) to the JavaVM >>>>>>> (and one case of ApplicationServices) framework. If MAC_SDK_PATH is >>>>>>> undefined, then it will simply revert to the current behavior of >>>>>>> building against the system frameworks. If configure cannot determine >>>>>>> the path to the macosx SDK, then it will spit out a warning but >>>>>>> otherwise proceed as normal unless it cannot find headers inside >>>>>>> JavaVM.framework, then it will fail. >>>>>>> >>>>>>> Changes of note: >>>>>>> - Added MAC_SDK_PATH, set to the absolute path to the macosx SDK as >>>>>>> determined by "$(TOOLCHAIN_PATH)/xcodebuild -sdk macosx -version" >>>>>>> - Changed all -F arguments to -F$(MAC_SDK_PATH) >>>>>>> - I had to add -iframework$(MAC_SDK_PATH) to force it to compile and >>>>>>> link all frameworks from the same SDK, otherwise great big gobs of >>>>>>> deprecation warnings filled the screen. >>>>>>> - XCODEBUILD was added as we need to use the copy of the tool at the >>>>>>> location specified by --with-tools-dir if provided, otherwise we would >>>>>>> end up with the completely wrong path. If it's not found in the tool >>>>>>> path then it uses the default /usr/bin/xcodebuild (if that's not there >>>>>>> then the system is not configured properly...) >>>>>>> - Removed JavaVM.framework from the header search path (and changed >>>>>>> MacosxDebuggerLocal.m accordingly) in hotspot, we shouldn't be using >>>>>>> those headers >>>>>>> - I made not being able to find JavaVM.framework a fatal error in >>>>>>> configure, since we can't build without those headers >>>>>>> >>>>>>> Tested on 10.8 with Xcode 5.1 and Xcode 4.6.3 and on a clean 10.9 >>>>>>> system with Xcode 5.1 against jdk9/hs. I will submit a JPRT sanity run >>>>>>> shortly. >>>>>>> >>>>>>> Patches: >>>>>>> http://cr.openjdk.java.net/~ddehaven/8043340/v0/top >>>>>>> http://cr.openjdk.java.net/~ddehaven/8043340/v0/hotspot >>>>>>> http://cr.openjdk.java.net/~ddehaven/8043340/v0/jdk >>>>>>> >>>>>>> -DrD- >>>>>>> >> >