Skip to content

Commit

Permalink
Add permit_weak_imports directive
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
tdsmith committed Aug 18, 2016
1 parent 764390a commit 9c7f24b
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Library/Homebrew/extend/ENV/shared.rb
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,8 @@ def warn_about_non_apple_gcc(name)

def permit_arch_flags; end

def permit_weak_imports; end

private

def cc=(val)
Expand Down
4 changes: 4 additions & 0 deletions Library/Homebrew/extend/os/mac/extend/ENV/std.rb
Original file line number Diff line number Diff line change
Expand Up @@ -146,4 +146,8 @@ def x11

append "CFLAGS", "-I#{MacOS::X11.include}" unless MacOS::CLT.installed?
end

def permit_weak_imports
remove "LDFLAGS", "-Wl,-no_weak_imports"
end
end
4 changes: 4 additions & 0 deletions Library/Homebrew/extend/os/mac/extend/ENV/super.rb
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,10 @@ def set_x11_env_if_installed
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
Expand Down

0 comments on commit 9c7f24b

Please sign in to comment.