superenv: Improve compiler selection

This fixes superenv on Xcode 3.2.6, and also fixes C++ software with
gcc-4.2 on all Xcodes.
This commit is contained in:
Misty De Meo 2013-05-27 12:54:07 -05:00
parent 52d84ba7cf
commit d212b360ec
2 changed files with 15 additions and 7 deletions

View File

@ -62,12 +62,15 @@ class Cmd
# the work since Makefiles are dumb and include a lot of excess flags. # the work since Makefiles are dumb and include a lot of excess flags.
ENV['HOMEBREW_CC'] ENV['HOMEBREW_CC']
when 'c++' when 'c++'
if ENV['HOMEBREW_CC'] =~ /llvm-gcc/ case ENV['HOMEBREW_CC']
'g++' when /clang/
elsif ENV['HOMEBREW_CC'] =~ /gcc-4.2/
'g++-4.2'
else
'clang++' 'clang++'
when /llvm-gcc/
'g++'
when /gcc(-4.2)?$/
'g++-4.2'
when /gcc-4.0/
'g++-4.0'
end end
else else
@arg0 @arg0

View File

@ -93,7 +93,7 @@ class << ENV
"gcc" "gcc"
elsif ENV['HOMEBREW_CC'] elsif ENV['HOMEBREW_CC']
case ENV['HOMEBREW_CC'] case ENV['HOMEBREW_CC']
when 'clang', 'gcc' then ENV['HOMEBREW_CC'] when 'clang', 'gcc', 'gcc-4.0' then ENV['HOMEBREW_CC']
when 'llvm', 'llvm-gcc' then 'llvm-gcc' when 'llvm', 'llvm-gcc' then 'llvm-gcc'
else else
opoo "Invalid value for HOMEBREW_CC: #{ENV['HOMEBREW_CC']}" opoo "Invalid value for HOMEBREW_CC: #{ENV['HOMEBREW_CC']}"
@ -103,7 +103,12 @@ class << ENV
raise raise
end end
rescue rescue
"clang" case MacOS.default_compiler
when :clang then 'clang'
when :llvm then 'llvm-gcc'
when :gcc then 'gcc'
when :gcc_4_0 then 'gcc-4.0'
end
end end
def determine_path def determine_path