diff options
| author | Mike McQuaid | 2013-10-30 13:00:39 -0700 |
|---|---|---|
| committer | Mike McQuaid | 2013-11-07 12:06:03 +0000 |
| commit | 8484e72f7537b9b8a7d57e496880a99ecbe476cd (patch) | |
| tree | 9a3788ed7729fc382d969038dc07aa7ee42e2224 /Library/Homebrew | |
| parent | f426fdd4fb017791fc143f6491914bd3ce4587f5 (diff) | |
| download | brew-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.rb | 34 |
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 |
