aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike McQuaid2016-08-19 16:19:56 +0100
committerGitHub2016-08-19 16:19:56 +0100
commit893c80d3ba4aaacba640a7b3a8234e755721ad3f (patch)
tree280859916dc9eb575af1cc50335e64de4c958a37 /Library
parent721b218fd2eb6b4cced4ee09e8a02c725cb77754 (diff)
parent9c7f24b84aea4ae1b465afa41445385ada4f2ffb (diff)
downloadbrew-893c80d3ba4aaacba640a7b3a8234e755721ad3f.tar.bz2
Merge pull request #741 from tdsmith/weak-imports-opt-in
Add permit_weak_imports directive
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/extend/ENV/shared.rb2
-rw-r--r--Library/Homebrew/extend/ENV/super.rb1
-rw-r--r--Library/Homebrew/extend/os/mac/extend/ENV/std.rb4
-rw-r--r--Library/Homebrew/extend/os/mac/extend/ENV/super.rb4
4 files changed, 11 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/ENV/shared.rb b/Library/Homebrew/extend/ENV/shared.rb
index c253942ac..c3bd9830a 100644
--- a/Library/Homebrew/extend/ENV/shared.rb
+++ b/Library/Homebrew/extend/ENV/shared.rb
@@ -293,6 +293,8 @@ module SharedEnvExtension
def permit_arch_flags; end
+ def permit_weak_imports; end
+
private
def cc=(val)
diff --git a/Library/Homebrew/extend/ENV/super.rb b/Library/Homebrew/extend/ENV/super.rb
index ff7e5b475..7361dba0b 100644
--- a/Library/Homebrew/extend/ENV/super.rb
+++ b/Library/Homebrew/extend/ENV/super.rb
@@ -78,6 +78,7 @@ module Superenv
# g - Enable "-stdlib=libc++" for clang.
# h - Enable "-stdlib=libstdc++" for clang.
# K - Don't strip -arch <arch>, -m32, or -m64
+ # w - Pass -no_weak_imports to the linker
#
# On 10.8 and newer, these flags will also be present:
# s - apply fix for sed's Unicode support
diff --git a/Library/Homebrew/extend/os/mac/extend/ENV/std.rb b/Library/Homebrew/extend/os/mac/extend/ENV/std.rb
index d9cabc50e..21c375a76 100644
--- a/Library/Homebrew/extend/os/mac/extend/ENV/std.rb
+++ b/Library/Homebrew/extend/os/mac/extend/ENV/std.rb
@@ -146,4 +146,8 @@ module Stdenv
append "CFLAGS", "-I#{MacOS::X11.include}" unless MacOS::CLT.installed?
end
+
+ def permit_weak_imports
+ remove "LDFLAGS", "-Wl,-no_weak_imports"
+ end
end
diff --git a/Library/Homebrew/extend/os/mac/extend/ENV/super.rb b/Library/Homebrew/extend/os/mac/extend/ENV/super.rb
index e482020e8..188008b1f 100644
--- a/Library/Homebrew/extend/os/mac/extend/ENV/super.rb
+++ b/Library/Homebrew/extend/os/mac/extend/ENV/super.rb
@@ -107,6 +107,10 @@ module Superenv
ENV.x11 = MacOS::X11.installed?
end
+ def permit_weak_imports
+ remove "HOMEBREW_CCCFG", "w"
+ end
+
# These methods are no longer necessary under superenv, but are needed to
# maintain an interface compatible with stdenv.
alias_method :macosxsdk, :noop