Add permit_weak_imports directive

Issue Homebrew/homebrew-core#3727 suggested we set -no_weak_imports for
new versions of Xcode to ensure that e.g. building on 10.11 against the
10.12 SDK doesn't result in a situation where autotools thinks symbols
exist that don't actually exist on the current platform.

Further discussion in golang/go#16770 revealed that some packages
require weak imports to build normally.
This commit is contained in:
Tim D. Smith 2016-08-17 22:55:16 -07:00
parent 764390aadd
commit 9c7f24b84a
3 changed files with 10 additions and 0 deletions

View File

@ -293,6 +293,8 @@ module SharedEnvExtension
def permit_arch_flags; end def permit_arch_flags; end
def permit_weak_imports; end
private private
def cc=(val) def cc=(val)

View File

@ -146,4 +146,8 @@ module Stdenv
append "CFLAGS", "-I#{MacOS::X11.include}" unless MacOS::CLT.installed? append "CFLAGS", "-I#{MacOS::X11.include}" unless MacOS::CLT.installed?
end end
def permit_weak_imports
remove "LDFLAGS", "-Wl,-no_weak_imports"
end
end end

View File

@ -107,6 +107,10 @@ module Superenv
ENV.x11 = MacOS::X11.installed? ENV.x11 = MacOS::X11.installed?
end end
def permit_weak_imports
remove "HOMEBREW_CCCFG", "w"
end
# These methods are no longer necessary under superenv, but are needed to # These methods are no longer necessary under superenv, but are needed to
# maintain an interface compatible with stdenv. # maintain an interface compatible with stdenv.
alias_method :macosxsdk, :noop alias_method :macosxsdk, :noop