superenv: --use-gcc should specify gcc-4.2
Since 'gcc' is a symlink to 'llvm-gcc' on Xcode 4.3+, --use-gcc and --use-llvm were doing exactly the same thing. Combined with the previous commit, this allows users with either a leftover /usr/bin/gcc-4.2 or a homebrewed apple-gcc42 to build with gcc. This doesn't however fix Xcode-only systems with apple-gcc42. Fixes Homebrew/homebrew#17243.
This commit is contained in:
parent
88609dd6ed
commit
2e23e9a22d
@ -60,8 +60,10 @@ class Cmd
|
||||
# the work since Makefiles are dumb and include a lot of excess flags.
|
||||
ENV['HOMEBREW_CC']
|
||||
when 'c++'
|
||||
if ENV['HOMEBREW_CC'] =~ /gcc/
|
||||
if ENV['HOMEBREW_CC'] =~ /llvm-gcc/
|
||||
'g++'
|
||||
elsif ENV['HOMEBREW_CC'] =~ /gcc-4.2/
|
||||
'g++-4.2'
|
||||
else
|
||||
'clang++'
|
||||
end
|
||||
|
||||
1
Library/ENV/4.3/g++-4.2
Symbolic link
1
Library/ENV/4.3/g++-4.2
Symbolic link
@ -0,0 +1 @@
|
||||
cc
|
||||
1
Library/ENV/4.3/gcc-4.2
Symbolic link
1
Library/ENV/4.3/gcc-4.2
Symbolic link
@ -0,0 +1 @@
|
||||
cc
|
||||
@ -77,7 +77,8 @@ class << ENV
|
||||
|
||||
def determine_cc
|
||||
if ARGV.include? '--use-gcc'
|
||||
"gcc"
|
||||
# fall back to something else on systems without Apple gcc
|
||||
MacOS.locate('gcc-4.2') ? "gcc-4.2" : raise("gcc-4.2 not found!")
|
||||
elsif ARGV.include? '--use-llvm'
|
||||
"llvm-gcc"
|
||||
elsif ARGV.include? '--use-clang'
|
||||
@ -219,6 +220,7 @@ class << ENV
|
||||
def compiler
|
||||
case ENV['HOMEBREW_CC']
|
||||
when "llvm-gcc" then :llvm
|
||||
when "gcc-4.2" then :gcc
|
||||
when "gcc", "clang" then ENV['HOMEBREW_CC'].to_sym
|
||||
else
|
||||
raise
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user