From c659829f2934aaf14c62781392cab9e5fe0506b0 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Fri, 26 Aug 2011 13:53:36 +0100 Subject: [PATCH] Add ENV.clang; Fixes Homebrew/homebrew#6580 Also tidied it up a little, reducing duplication as per original patch. --- Library/Homebrew/extend/ENV.rb | 48 ++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/Library/Homebrew/extend/ENV.rb b/Library/Homebrew/extend/ENV.rb index dc1c938988..019b8ae863 100644 --- a/Library/Homebrew/extend/ENV.rb +++ b/Library/Homebrew/extend/ENV.rb @@ -27,16 +27,11 @@ module HomebrewEnvExtension if MACOS_VERSION >= 10.6 if self.use_clang? - self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/clang" - self['CXX'] = "#{MacOS.xcode_prefix}/usr/bin/clang++" - elsif self.use_llvm? and MacOS.xcode_version < '4.1' - # With Xcode 4 cc is llvm - self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-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" + self.clang + elsif self.use_llvm? + self.llvm + elsif self.use_gcc? + self.gcc end end @@ -132,19 +127,32 @@ module HomebrewEnvExtension end alias_method :gcc_4_0, :gcc_4_0_1 - def gcc_4_2 - # Sometimes you want to downgrade from LLVM to GCC 4.2 - self['CC']="/usr/bin/gcc-4.2" - self['CXX']="/usr/bin/g++-4.2" - self['LD']=self['CC'] - self.O3 + def gcc + if MacOS.xcode_version < '4' + self['CC'] = '/usr/bin/cc' + self['CXX'] = '/usr/bin/c++' + else + # 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 + alias_method :gcc_4_2, :gcc def llvm - self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-gcc" - self['CXX'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-g++" - self['LD'] = self['CC'] - self.O4 + if MacOS.xcode_version < '4.1' + self['CC'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-gcc" + self['CXX'] = "#{MacOS.xcode_prefix}/usr/bin/llvm-g++" + 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 def fortran