Skip to content

Commit

Permalink
superenv: set cc/cxx based on actual compiler.
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeMcQuaid committed Nov 7, 2013
1 parent ca4bfcf commit 3283962
Showing 1 changed file with 15 additions and 19 deletions.
34 changes: 15 additions & 19 deletions Library/Homebrew/extend/ENV/super.rb
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,8 @@ def reset
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}"
Expand Down Expand Up @@ -152,6 +151,10 @@ def determine_cc
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?
Expand Down Expand Up @@ -292,25 +295,18 @@ def deparallelize
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
Expand Down

0 comments on commit 3283962

Please sign in to comment.