aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorilovezfs2016-09-15 02:24:33 -0700
committerilovezfs2016-09-15 03:34:43 -0700
commit1d7aa1fe0b430a4415cb976a2b2c3041f4269b55 (patch)
tree310663e9b8927f0b91dd8959c7d40862ce77eeb8 /Library
parente02962f84e42c37df328d42bebb0092fe8edf239 (diff)
downloadbrew-1d7aa1fe0b430a4415cb976a2b2c3041f4269b55.tar.bz2
superenv: help Autotools with 10.12 SDK on 10.11
The GNU Autotools tests for whether a given symbol is defined are reliably coming to incorrect conclusions on 10.11 with the 10.12 SDK in Xcode 8. This overrides its decisions by forcing the right answer in superenv using ac_cv_func_* environment variables and setting them to "no" on 10.11. The list of problematic symbols is from grep 'weak$os10.11' MacOSX.sdk/usr/lib/system/libsystem_c.tbd
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/extend/os/mac/extend/ENV/super.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/os/mac/extend/ENV/super.rb b/Library/Homebrew/extend/os/mac/extend/ENV/super.rb
index ef2855de1..84b662299 100644
--- a/Library/Homebrew/extend/os/mac/extend/ENV/super.rb
+++ b/Library/Homebrew/extend/os/mac/extend/ENV/super.rb
@@ -94,6 +94,15 @@ module Superenv
self["SDKROOT"] = MacOS.sdk_path
end
+ # Filter out symbols known not to be defined on 10.11 since GNU Autotools
+ # can't reliably figure this out with Xcode 8 on its own yet.
+ if MacOS.version == "10.11" && MacOS::Xcode.installed? && MacOS::Xcode.version >= "8.0"
+ %w[basename_r clock_getres clock_gettime clock_settime dirname_r
+ getentropy mkostemp mkostemps].each do |s|
+ ENV["ac_cv_func_#{s}"] = "no"
+ end
+ end
+
# On 10.9, the tools in /usr/bin proxy to the active developer directory.
# This means we can use them for any combination of CLT and Xcode.
self["HOMEBREW_PREFER_CLT_PROXIES"] = "1" if MacOS.version >= "10.9"