From 84369dd94900b2406566d45d4ca5e95f2f2a26fc Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Fri, 23 Aug 2013 11:36:03 -0500 Subject: [PATCH] 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. --- Library/ENV/4.3/cc | 7 ++++++- Library/Homebrew/extend/ENV/std.rb | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Library/ENV/4.3/cc b/Library/ENV/4.3/cc index 62194c8dd0..79fb571024 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 204b636a28..c760902697 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