Fix --build-bottle CFLAGS.
The CFLAGS were previously not generic enough. References Homebrew/homebrew#18944. References Homebrew/homebrew#19179.
This commit is contained in:
parent
1bf8fbfe9a
commit
ad5c1b81cd
@ -148,17 +148,22 @@ class Cmd
|
||||
args
|
||||
end
|
||||
def cflags
|
||||
if cccfg? 'Ob'
|
||||
%w{-mtune=generic -Oz}
|
||||
elsif cccfg? 'O'
|
||||
return [] unless cccfg? 'O'
|
||||
|
||||
args = %w{-pipe -w -Os}
|
||||
|
||||
# When bottling use the oldest supported CPU type.
|
||||
if cccfg? 'bi6'
|
||||
args << '-march=core2'
|
||||
elsif cccfg? 'bi'
|
||||
args << '-march=prescott'
|
||||
else
|
||||
args << '-march=native' if tool =~ /clang/
|
||||
end
|
||||
|
||||
args += %w{-arch i386 -arch x86_64} if cccfg? 'u'
|
||||
args << "-std=#{@arg0}" if @arg0 =~ /c[89]9/
|
||||
args
|
||||
else
|
||||
[]
|
||||
end
|
||||
end
|
||||
def syslibpath
|
||||
# We reject brew's lib as we explicitly add this as a -L flag, thus it
|
||||
|
||||
@ -326,7 +326,7 @@ module HomebrewEnvExtension
|
||||
append flags, xarch unless xarch.empty?
|
||||
|
||||
if ARGV.build_bottle?
|
||||
append flags, '-mtune=generic'
|
||||
append flags, Hardware::CPU.optimization_flags[MacOS.oldest_cpu]
|
||||
else
|
||||
# Don't set -msse3 and older flags because -march does that for us
|
||||
append flags, map.fetch(Hardware::CPU.family, default)
|
||||
|
||||
@ -34,6 +34,18 @@ module MacOS extend self
|
||||
cat.to_s.gsub('_', '').to_sym
|
||||
end
|
||||
|
||||
def oldest_cpu
|
||||
if Hardware::CPU.type == :intel
|
||||
if Hardware::CPU.is_64_bit?
|
||||
:core2
|
||||
else
|
||||
:core
|
||||
end
|
||||
else
|
||||
Hardware::CPU.family
|
||||
end
|
||||
end
|
||||
|
||||
def locate tool
|
||||
# Don't call tools (cc, make, strip, etc.) directly!
|
||||
# Give the name of the binary you look for as a string to this method
|
||||
|
||||
@ -182,7 +182,17 @@ class << ENV
|
||||
|
||||
def determine_cccfg
|
||||
s = ""
|
||||
s << 'b' if ARGV.build_bottle?
|
||||
if ARGV.build_bottle?
|
||||
s << if Hardware::CPU.type == :intel
|
||||
if Hardware::CPU.is_64_bit?
|
||||
'bi6'
|
||||
else
|
||||
'bi'
|
||||
end
|
||||
else
|
||||
'b'
|
||||
end
|
||||
end
|
||||
# Fix issue with sed barfing on unicode characters on Mountain Lion
|
||||
s << 's' if MacOS.version >= :mountain_lion
|
||||
# Fix issue with 10.8 apr-1-config having broken paths
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user