[TxMt] Re: Building with a different SDK

Ryan Schmidt textmate at ryandesign.com
Sat Feb 3 03:03:19 UTC 2018


On Feb 2, 2018, at 08:17, Ronald Wampler wrote:

> On Thu, Feb 1, 2018 at 3:52 PM, Ryan Schmidt wrote:
> 
>> I'm trying to fix the textmate2 port in MacPorts. It fails to build on OS X 10.10 and earlier, and I think the reason is that the code uses Objective-C lightweight generics, a feature introduced in the 10.11 SDK. So I would like to instruct the build to use the 10.11 SDK, but I can't figure out how to do that. Usually I would set environment variables:
>> 
>> CFLAGS='-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk'
>> CPPFLAGS='-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk'
>> CXXFLAGS='-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk'
>> LDFLAGS='-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk'
>> OBJCFLAGS='-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk'
>> OBJCXXFLAGS='-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk'
>> 
>> But textmate's configure script isn't an autotools one and it doesn't appear to honor these environment variables. So how can I tell the build system I want to use a different SDK? I see that the configure script explicitly passes CC and CXX to bin/gen_build. Do I need to modify the configure script to also explicitly pass the other environment variables or is there an easier way that doesn't involve modifying the build system?
> 
> You can try passing -isysroot via CC and CXX.
> 
> CC='xcrun clang -isysroot/path/to/sdk' CXX='xcrun clang++
> -isysroot/path/to/sdk' ./configure

I could try that. I thought it was required to use -isysroot at compile time and -Wl,-syslibroot, at link time, hence the need to specify *C*FLAGS and LDFLAGS separately.

https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html#//apple_ref/doc/uid/20002000-1114311



More information about the textmate mailing list