Also tidied it up a little, reducing duplication as per original patch.
This commit is contained in:
Max Howell 2011-08-26 13:53:36 +01:00
parent 4ba0e9ebae
commit c659829f29

View File

@ -27,16 +27,11 @@ module HomebrewEnvExtension
if MACOS_VERSION >= 10.6 if MACOS_VERSION >= 10.6
if self.use_clang? if self.use_clang?
self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/clang" self.clang
self['CXX'] = "#{MacOS.xcode_prefix}/usr/bin/clang++" elsif self.use_llvm?
elsif self.use_llvm? and MacOS.xcode_version < '4.1' self.llvm
# With Xcode 4 cc is llvm elsif self.use_gcc?
self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-gcc" self.gcc
self['CXX'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-g++"
elsif self.use_gcc? and MacOS.xcode_version < '4'
# With Xcode4 cc, c++, gcc and g++ are actually symlinks to llvm-gcc
self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/gcc-4.2"
self['CXX'] = "#{MacOS.xcode_prefix}/usr/bin/g++-4.2"
end end
end end
@ -132,19 +127,32 @@ module HomebrewEnvExtension
end end
alias_method :gcc_4_0, :gcc_4_0_1 alias_method :gcc_4_0, :gcc_4_0_1
def gcc_4_2 def gcc
# Sometimes you want to downgrade from LLVM to GCC 4.2 if MacOS.xcode_version < '4'
self['CC']="/usr/bin/gcc-4.2" self['CC'] = '/usr/bin/cc'
self['CXX']="/usr/bin/g++-4.2" self['CXX'] = '/usr/bin/c++'
self['LD']=self['CC'] else
self.O3 # With Xcode4 cc, c++, gcc and g++ are actually symlinks to llvm-gcc
self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/gcc-4.2"
self['CXX'] = "#{MacOS.xcode_prefix}/usr/bin/g++-4.2"
end
remove_from_cflags '-O4'
end end
alias_method :gcc_4_2, :gcc
def llvm def llvm
self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-gcc" if MacOS.xcode_version < '4.1'
self['CXX'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-g++" self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-gcc"
self['LD'] = self['CC'] self['CXX'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-g++"
self.O4 else
self['CC'] = '/usr/bin/cc'
self['CXX'] = '/usr/bin/c++'
end
end
def clang
self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/clang"
self['CXX'] = "#{MacOS.xcode_prefix}/usr/bin/clang++"
end end
def fortran def fortran