diff options
| author | Jack Nagel | 2013-08-23 11:36:03 -0500 |
|---|---|---|
| committer | Jack Nagel | 2013-08-23 11:36:03 -0500 |
| commit | 84369dd94900b2406566d45d4ca5e95f2f2a26fc (patch) | |
| tree | ff541ba88658b81d1b04c1c1ff44718d86fa4d37 /Library | |
| parent | ebae9ca7bb6ef340f6c3eb813b44b6a8b66249aa (diff) | |
| download | brew-84369dd94900b2406566d45d4ca5e95f2f2a26fc.tar.bz2 | |
Always pass -headerpad_max_install_names to the linker
We use install_name_tool pretty liberally, so we need to take steps to
ensure libraries and executables are always linked with this flag.
Closes Homebrew/homebrew#20233.
Fixes Homebrew/homebrew#17984.
Fixes Homebrew/homebrew#22078.
Diffstat (limited to 'Library')
| -rwxr-xr-x | Library/ENV/4.3/cc | 7 | ||||
| -rw-r--r-- | Library/Homebrew/extend/ENV/std.rb | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/Library/ENV/4.3/cc b/Library/ENV/4.3/cc index 62194c8dd..79fb57102 100755 --- a/Library/ENV/4.3/cc +++ b/Library/ENV/4.3/cc @@ -191,7 +191,12 @@ class Cmd syslibpath end def ldflags - libpath.to_flags('-L') + args = libpath.to_flags('-L') + case mode + when :ld then args << '-headerpad_max_install_names' + when :ccld then args << '-Wl,-headerpad_max_install_names' + end + args end def cppflags sys, opt = cpath diff --git a/Library/Homebrew/extend/ENV/std.rb b/Library/Homebrew/extend/ENV/std.rb index 204b636a2..c76090269 100644 --- a/Library/Homebrew/extend/ENV/std.rb +++ b/Library/Homebrew/extend/ENV/std.rb @@ -55,6 +55,8 @@ module Stdenv # Os is the default Apple uses for all its stuff so let's trust them set_cflags "-Os #{SAFE_CFLAGS_FLAGS}" + append 'LDFLAGS', '-Wl,-headerpad_max_install_names' + # set us up for the user's compiler choice self.send self.compiler |
