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:
parent
52d84ba7cf
commit
d212b360ec
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user