The attached patch, fink_sdkroot_v2.diff, implements support for setting the SDKROOT environmental from a SetSDKROOT field in the info file since the system compilers in 10.9 lack the '-sdk SDK' option to change the SDK used by the compiler. Adding the support in Futureproof for SetSDKROOT works around this by allowing a field in the info file to achieve the same result as the missing '-sdk SDK' compiler option. The proposed implementation adds SDKROOT to setable_env_vars (requiring an update of the Packaging Manual). If SetSDKROOT is not present, SDKROOT is set to the default deployment target. Also, if SetSDKROOT is used, the default MACOSX_DEPLOYMENT_TARGET or the value passed to SetMACOSX_DEPLOYMENT_TARGET (if it exists) are verified not tbe be larger than the value of SetSDKROOT or a fatal error message is produced. Bootstrap tested on 10.9 against current Futureproof with appended patch. Jack
The attached patch, fink_sdkroot_v2.diff, implements support for setting the SDKROOT
environmental from a SetSDKROOT field in the info file since the system compilers in 10.9
lack the '-sdk SDK' option to change the SDK used by the compiler. Adding the support in
Futureproof for SetSDKROOT works around this by allowing a field in the info file to
achieve the same result as the missing '-sdk SDK' compiler option.
The proposed implementation adds SDKROOT to setable_env_vars (requiring an update of the
Packaging Manual). If SetSDKROOT is not present, SDKROOT is set to the default deployment
target. Also, if SetSDKROOT is used, the default MACOSX_DEPLOYMENT_TARGET or the value
passed to SetMACOSX_DEPLOYMENT_TARGET (if it exists) are verified not tbe be larger than
the value of SetSDKROOT or a fatal error message is produced. Bootstrap tested on 10.9
against current Futureproof with appended patch.
Doh! I discovered a major thinko here while creating the apple-gdb packaging today. This patch really should be adding a SetSDK option which then uses something like 'xcrun -v --sdk macosx10.9 clang' to dig out the SDKROOT to that SDK. I was aiming for an automated approach which would allow the user to just 'SetSDK: macosx10.9' in the info file and have fink automatically populate the SDKROOT environmental with the correct path from the available CLI and/or Xcode.app.