Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/bockbuild.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Christoforides <alexis@thenull.net>2017-02-13 20:55:56 +0300
committerAlexis Christoforides <alexis@thenull.net>2017-02-13 20:55:56 +0300
commit2c8891c41d097331a151fccb122acb73fa6d15c5 (patch)
tree43d4f6658e1447c2534c44e9da428881f51fd875 /bockbuild
parent76f8d7ccbd7807edfd555c41485bc77087ac2c48 (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.py13
-rw-r--r--bockbuild/unixprofile.py1
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}')