diff options
| author | Max Howell | 2011-08-26 13:53:36 +0100 |
|---|---|---|
| committer | Max Howell | 2011-08-26 13:53:36 +0100 |
| commit | 03ce188ec57b12780c15204ed01d993dab782a14 (patch) | |
| tree | 29d045b4f286db1ae6ffed43220e18776d9b80c4 | |
| parent | 164a9804267b2205cfa465b342b9d9fd2de2c0ba (diff) | |
| download | homebrew-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.rb | 48 |
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 |
