aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2013-08-30 16:44:49 -0500
committerJack Nagel2013-08-30 18:42:12 -0500
commitaa79e21ba42f246a365425213f2fdec09160233d (patch)
tree8f7ea3e3bfe77bb3fd7b080cb38cbec9da7bd021
parent4bee5db66d522786cd6400be0b2b6ab893f8056f (diff)
downloadbrew-aa79e21ba42f246a365425213f2fdec09160233d.tar.bz2
ENV: add cc and cxx setters
-rw-r--r--Library/Homebrew/extend/ENV/shared.rb8
-rw-r--r--Library/Homebrew/extend/ENV/std.rb24
-rw-r--r--Library/Homebrew/extend/ENV/super.rb18
3 files changed, 28 insertions, 22 deletions
diff --git a/Library/Homebrew/extend/ENV/shared.rb b/Library/Homebrew/extend/ENV/shared.rb
index 3533b7873..2b42d0d23 100644
--- a/Library/Homebrew/extend/ENV/shared.rb
+++ b/Library/Homebrew/extend/ENV/shared.rb
@@ -60,6 +60,14 @@ module SharedEnvExtension
end if value
end
+ def cc= val
+ self['CC'] = self['OBJC'] = val
+ end
+
+ def cxx= val
+ self['CXX'] = self['OBJCXX'] = val
+ end
+
def cc; self['CC']; end
def cxx; self['CXX']; end
def cflags; self['CFLAGS']; end
diff --git a/Library/Homebrew/extend/ENV/std.rb b/Library/Homebrew/extend/ENV/std.rb
index ae3fc15e5..39517be8a 100644
--- a/Library/Homebrew/extend/ENV/std.rb
+++ b/Library/Homebrew/extend/ENV/std.rb
@@ -64,8 +64,8 @@ module Stdenv
unless self['CC']
@compiler = MacOS.default_compiler
self.send @compiler
- self['CC'] = self['OBJC'] = MacOS.locate("cc")
- self['CXX'] = self['OBJCXX'] = MacOS.locate("c++")
+ self.cc = MacOS.locate("cc")
+ self.cxx = MacOS.locate("c++")
end
# Add lib and include etc. from the current macosxsdk to compiler flags:
@@ -131,8 +131,8 @@ module Stdenv
def gcc_4_0_1
# we don't use locate because gcc 4.0 has not been provided since Xcode 4
- self['CC'] = self['OBJC'] = "#{MacOS.dev_tools_path}/gcc-4.0"
- self['CXX'] = self['OBJCXX'] = "#{MacOS.dev_tools_path}/g++-4.0"
+ self.cc = "#{MacOS.dev_tools_path}/gcc-4.0"
+ self.cxx = "#{MacOS.dev_tools_path}/g++-4.0"
replace_in_cflags '-O4', '-O3'
set_cpu_cflags '-march=nocona -mssse3'
@compiler = :gcc
@@ -144,12 +144,12 @@ module Stdenv
# However they still provide a gcc symlink to llvm
# But we don't want LLVM of course.
- self['CC'] = self['OBJC'] = MacOS.locate("gcc-4.2")
- self['CXX'] = self['OBJCXX'] = MacOS.locate("g++-4.2")
+ self.cc = MacOS.locate("gcc-4.2")
+ self.cxx = MacOS.locate("g++-4.2")
unless self['CC']
- self['CC'] = self['OBJC'] = "#{HOMEBREW_PREFIX}/bin/gcc-4.2"
- self['CXX'] = self['OBJCXX'] = "#{HOMEBREW_PREFIX}/bin/g++-4.2"
+ self.cc = "#{HOMEBREW_PREFIX}/bin/gcc-4.2"
+ self.cxx = "#{HOMEBREW_PREFIX}/bin/g++-4.2"
raise "GCC could not be found" unless File.exist? self['CC']
end
@@ -164,15 +164,15 @@ module Stdenv
alias_method :gcc_4_2, :gcc
def llvm
- self['CC'] = self['OBJC'] = MacOS.locate("llvm-gcc")
- self['CXX'] = self['OBJCXX'] = MacOS.locate("llvm-g++")
+ self.cc = MacOS.locate("llvm-gcc")
+ self.cxx = MacOS.locate("llvm-g++")
set_cpu_cflags
@compiler = :llvm
end
def clang
- self['CC'] = self['OBJC'] = MacOS.locate("clang")
- self['CXX'] = self['OBJCXX'] = MacOS.locate("clang++")
+ self.cc = MacOS.locate("clang")
+ self.cxx = MacOS.locate("clang++")
replace_in_cflags(/-Xarch_#{Hardware::CPU.arch_32_bit} (-march=\S*)/, '\1')
# Clang mistakenly enables AES-NI on plain Nehalem
set_cpu_cflags '-march=native', :nehalem => '-march=native -Xclang -target-feature -Xclang -aes'
diff --git a/Library/Homebrew/extend/ENV/super.rb b/Library/Homebrew/extend/ENV/super.rb
index 1dc4626d0..707b753f0 100644
--- a/Library/Homebrew/extend/ENV/super.rb
+++ b/Library/Homebrew/extend/ENV/super.rb
@@ -56,10 +56,8 @@ module Superenv
def setup_build_environment
reset
- self['CC'] = 'cc'
- self['CXX'] = 'c++'
- self['OBJC'] = 'cc'
- self['OBJCXX'] = 'c++'
+ self.cc = 'cc'
+ self.cxx = 'c++'
self['DEVELOPER_DIR'] = determine_developer_dir
self['MAKEFLAGS'] ||= "-j#{determine_make_jobs}"
self['PATH'] = determine_path
@@ -249,16 +247,16 @@ module Superenv
end
alias_method :j1, :deparallelize
def gcc
- self['CC'] = self['OBJC'] = self['HOMEBREW_CC'] = "gcc-4.2"
- self['CXX'] = self['OBJCXX'] = "g++-4.2"
+ self.cc = self['HOMEBREW_CC'] = "gcc-4.2"
+ self.cxx = "g++-4.2"
end
def llvm
- self['CC'] = self['OBJC'] = self['HOMEBREW_CC'] = "llvm-gcc"
- self['CXX'] = self['OBJCXX'] = "llvm-g++-4.2"
+ self.cc = self['HOMEBREW_CC'] = "llvm-gcc"
+ self.cxx = "llvm-g++-4.2"
end
def clang
- self['CC'] = self['OBJC'] = self['HOMEBREW_CC'] = "clang"
- self['CXX'] = self['OBJCXX'] = "clang++"
+ self.cc = self['HOMEBREW_CC'] = "clang"
+ self.cxx = "clang++"
end
def make_jobs
self['MAKEFLAGS'] =~ /-\w*j(\d)+/