aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorMike McQuaid2013-10-30 13:00:39 -0700
committerMike McQuaid2013-11-07 12:06:03 +0000
commit8484e72f7537b9b8a7d57e496880a99ecbe476cd (patch)
tree9a3788ed7729fc382d969038dc07aa7ee42e2224 /Library/Homebrew
parentf426fdd4fb017791fc143f6491914bd3ce4587f5 (diff)
downloadbrew-8484e72f7537b9b8a7d57e496880a99ecbe476cd.tar.bz2
superenv: set cc/cxx based on actual compiler.
Closes Homebrew/homebrew#23449.
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/extend/ENV/super.rb34
1 files changed, 15 insertions, 19 deletions
diff --git a/Library/Homebrew/extend/ENV/super.rb b/Library/Homebrew/extend/ENV/super.rb
index ce8de00d0..d9b5872e2 100644
--- a/Library/Homebrew/extend/ENV/super.rb
+++ b/Library/Homebrew/extend/ENV/super.rb
@@ -61,9 +61,8 @@ module Superenv
def setup_build_environment(formula=nil)
reset
- self.cc = 'cc'
- self.cxx = 'c++'
- self['HOMEBREW_CC'] = determine_cc
+ self.cc = self['HOMEBREW_CC'] = determine_cc
+ self.cxx = self['HOMEBREW_CXX'] = determine_cxx
validate_cc!(formula) unless formula.nil?
self['DEVELOPER_DIR'] = determine_developer_dir
self['MAKEFLAGS'] ||= "-j#{determine_make_jobs}"
@@ -152,6 +151,10 @@ module Superenv
COMPILER_SYMBOL_MAP.invert.fetch(cc, cc)
end
+ def determine_cxx
+ determine_cc.to_s.gsub('gcc', 'g++').gsub('clang', 'clang++')
+ end
+
def determine_path
paths = [Superenv.bin]
if MacOS::Xcode.without_clt?
@@ -292,25 +295,18 @@ module Superenv
delete('MAKEFLAGS')
end
alias_method :j1, :deparallelize
- def gcc
- self['HOMEBREW_CC'] = "gcc-4.2"
- @compiler = :gcc
- end
- def gcc_4_0
- self['HOMEBREW_CC'] = "gcc-4.0"
- @compiler = :gcc_4_0
- end
- def llvm
- self['HOMEBREW_CC'] = "llvm-gcc"
- @compiler = :llvm
- end
- def clang
- self['HOMEBREW_CC'] = "clang"
- @compiler = :clang
+ COMPILER_SYMBOL_MAP.values.each do |compiler|
+ define_method compiler do
+ @compiler = compiler
+ self.cc = self['HOMEBREW_CC'] = determine_cc
+ self.cxx = self['HOMEBREW_CXX'] = determine_cxx
+ end
end
GNU_GCC_VERSIONS.each do |n|
define_method(:"gcc-4.#{n}") do
- @compiler = self['HOMEBREW_CC'] = "gcc-4.#{n}"
+ @compiler = :"gcc-4.#{n}"
+ self.cc = self['HOMEBREW_CC'] = determine_cc
+ self.cxx = self['HOMEBREW_CXX'] = determine_cxx
end
end
def make_jobs