diff options
author | Alexis Christoforides <alexis@thenull.net> | 2017-02-13 20:55:56 +0300 |
---|---|---|
committer | Alexis Christoforides <alexis@thenull.net> | 2017-02-13 20:55:56 +0300 |
commit | 2c8891c41d097331a151fccb122acb73fa6d15c5 (patch) | |
tree | 43d4f6658e1447c2534c44e9da428881f51fd875 /bockbuild | |
parent | 76f8d7ccbd7807edfd555c41485bc77087ac2c48 (diff) |
Add a variety of Autoconf symbol overrides for a broken case involving XCode 8 and MacOS SDK 10.12
Diffstat (limited to 'bockbuild')
-rw-r--r-- | bockbuild/darwinprofile.py | 13 | ||||
-rw-r--r-- | bockbuild/unixprofile.py | 1 |
2 files changed, 12 insertions, 2 deletions
diff --git a/bockbuild/darwinprofile.py b/bockbuild/darwinprofile.py index 64ebf09..36afba4 100644 --- a/bockbuild/darwinprofile.py +++ b/bockbuild/darwinprofile.py @@ -62,15 +62,22 @@ class DarwinProfile (UnixProfile): self.name = 'darwin' xcode_version = backtick('xcodebuild -version')[0] - self.env.set('xcode_version', xcode_version) + self.env.set('xcode_version', xcode_version) # XCode X.X.X osx_sdk = backtick('xcrun --show-sdk-path')[0] - self.env.set('osx_sdk', osx_sdk) + self.env.set('osx_sdk', osx_sdk) # MacOSX10.X.sdk if not os.path.exists(osx_sdk): error('Mac OS X SDK not found under %s' % osx_sdk) info('%s, %s' % (xcode_version, os.path.basename(osx_sdk))) + # based on https://github.com/Homebrew/brew/pull/970. This applies to XCode 8, OS X 10.11 and the 10.12 SDK. The following symbols will be unresolved + # when running binaries on a system of lower version than 10.12. + + #TODO: Version checking + + map(lambda t : self.configure_flags.append ('%s=no' % t), 'basename_r clock_getres clock_gettime clock_settime dirname_r getentropy mkostemp mkostemps'.split(' ')) + self.gcc_flags.extend([ '-D_XOPEN_SOURCE', '-isysroot %s' % osx_sdk, @@ -127,6 +134,8 @@ class DarwinProfile (UnixProfile): package.local_configure_flags.extend( ['--cache-file=%s' % configure_cache]) + package.local_configure_flags.extend(self.configure_flags) + if package.name in self.debug_info: package.local_gcc_flags.extend(['-g']) diff --git a/bockbuild/unixprofile.py b/bockbuild/unixprofile.py index 84a787b..7626ed6 100644 --- a/bockbuild/unixprofile.py +++ b/bockbuild/unixprofile.py @@ -13,6 +13,7 @@ class UnixProfile (Profile): self.gcc_flags = ['-I%s/include' % self.staged_prefix] self.ld_flags = ['-L%s/lib' % self.staged_prefix] + self.configure_flags = [] self.env.set('BUILD_PREFIX', '%{prefix}') |