aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Howell2011-08-26 13:53:36 +0100
committerMax Howell2011-08-26 13:53:36 +0100
commit03ce188ec57b12780c15204ed01d993dab782a14 (patch)
tree29d045b4f286db1ae6ffed43220e18776d9b80c4
parent164a9804267b2205cfa465b342b9d9fd2de2c0ba (diff)
downloadhomebrew-03ce188ec57b12780c15204ed01d993dab782a14.tar.bz2
Add ENV.clang; Fixes #6580
Also tidied it up a little, reducing duplication as per original patch.
-rw-r--r--Library/Homebrew/extend/ENV.rb48
1 files changed, 28 insertions, 20 deletions
diff --git a/Library/Homebrew/extend/ENV.rb b/Library/Homebrew/extend/ENV.rb
index dc1c93898..019b8ae86 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