From 7c158e2350fcf0e649e8c0896957dd698eb281cb Mon Sep 17 00:00:00 2001 From: Adam Vandenberg Date: Thu, 22 Apr 2010 11:15:03 -0700 Subject: [PATCH] Fix universal builds on 32-bit CPUs. --- Library/Homebrew/extend/ENV.rb | 3 +++ Library/Homebrew/hardware.rb | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/Library/Homebrew/extend/ENV.rb b/Library/Homebrew/extend/ENV.rb index 0e37b9f176..c0b6318a21 100644 --- a/Library/Homebrew/extend/ENV.rb +++ b/Library/Homebrew/extend/ENV.rb @@ -179,6 +179,9 @@ module HomebrewEnvExtension append_to_cflags '-arch i386 -arch x86_64' ENV.O3 if self['CFLAGS'].include? '-O4' # O4 seems to cause the build to fail ENV.append 'LDFLAGS', '-arch i386 -arch x86_64' + + # Can't mix "-march" for a 32-bit CPU with "-arch x86_64" + remove_from_cflags(/-march=\S*/) if Hardware.is_32_bit? end def prepend key, value, separator = ' ' diff --git a/Library/Homebrew/hardware.rb b/Library/Homebrew/hardware.rb index 549e025439..b10b2770c7 100644 --- a/Library/Homebrew/hardware.rb +++ b/Library/Homebrew/hardware.rb @@ -46,6 +46,10 @@ class Hardware end end + def self.is_32_bit? + not self.is_64_bit? + end + def self.is_64_bit? self.sysctl_bool("hw.cpu64bit_capable") end