From 560918356738ee71aa7e7110d0e8aa6c8b3dbe4f Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 16 Aug 2016 13:48:21 +0100 Subject: superenv: add LDFLAGS if disabling weak imports. --- Library/Homebrew/extend/os/mac/extend/ENV/super.rb | 4 ++++ Library/Homebrew/shims/super/cc | 6 ++++++ 2 files changed, 10 insertions(+) (limited to 'Library') diff --git a/Library/Homebrew/extend/os/mac/extend/ENV/super.rb b/Library/Homebrew/extend/os/mac/extend/ENV/super.rb index 1976f5312..e482020e8 100644 --- a/Library/Homebrew/extend/os/mac/extend/ENV/super.rb +++ b/Library/Homebrew/extend/os/mac/extend/ENV/super.rb @@ -81,6 +81,10 @@ module Superenv s << "s" if MacOS.version >= :mountain_lion # Fix issue with >= 10.8 apr-1-config having broken paths s << "a" if MacOS.version >= :mountain_lion + # Xcode 8 should be told to fail to link against weak links + # Issue from Apple engineer: + # https://github.com/Homebrew/homebrew-core/issues/3727 + s << "w" if no_weak_imports? s end diff --git a/Library/Homebrew/shims/super/cc b/Library/Homebrew/shims/super/cc index e7ab6500f..8404e29f2 100755 --- a/Library/Homebrew/shims/super/cc +++ b/Library/Homebrew/shims/super/cc @@ -258,8 +258,10 @@ class Cmd case mode when :ld args << "-headerpad_max_install_names" + args << "-no_weak_imports" if no_weak_imports? when :ccld, :cxxld args << "-Wl,-headerpad_max_install_names" + args << "-Wl,-no_weak_imports" if no_weak_imports? end args end @@ -305,6 +307,10 @@ class Cmd config.include?("K") end + def no_weak_imports? + config.include?("w") + end + def canonical_path(path) path = Pathname.new(path) path = path.realpath if path.exist? -- cgit v1.2.3