#155 add SetSDKROOT environmental support to fink

open
None
5
2014-08-25
2013-07-04
Jack Howarth
No
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
1 Attachments

Discussion

  • Jack Howarth
    Jack Howarth
    2013-07-04

    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
    
     
  • Jack Howarth
    Jack Howarth
    2013-07-06

    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.