aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorMax Howell2012-09-03 11:56:29 -0400
committerMax Howell2012-09-03 15:12:31 -0400
commitc35f6cb9d531799ce0e50eb1754a092eab8725d3 (patch)
treec90eb7b5b9cd26f87c96b0ffe06fe9a7c821d5e3 /Library/Homebrew
parentaf06c75d72fe9c3c9f928b1480a5444746d93bd7 (diff)
downloadbrew-c35f6cb9d531799ce0e50eb1754a092eab8725d3.tar.bz2
Set CC and CXX with superenv (again)
It was dumb to have make call different compilers to configure depending on the `servile?` flag. This is not a route to reliability. Instead now we set CC (formula that break if CC is set like Jack be damned, their build-systems are just plain broken and should not be supported). When cc is called we examine HOMEBREW_CC, otherwise we instantiate the tool that was called, just like the formula's build-system will expect. Fixes Homebrew/homebrew#14659 (though the build fails later for me, with the same error for stdenv and superenv).
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/superenv.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/Library/Homebrew/superenv.rb b/Library/Homebrew/superenv.rb
index dad217be5..8983b1801 100644
--- a/Library/Homebrew/superenv.rb
+++ b/Library/Homebrew/superenv.rb
@@ -41,7 +41,8 @@ class << ENV
def setup_build_environment
reset
check
- ENV['LD'] = 'cc'
+ ENV['CC'] = ENV['LD'] = 'cc'
+ ENV['CXX'] = 'c++'
ENV['MAKEFLAGS'] ||= "-j#{determine_make_jobs}"
ENV['PATH'] = determine_path
ENV['PKG_CONFIG_PATH'] = determine_pkg_config_path
@@ -198,13 +199,16 @@ class << ENV
end
alias_method :j1, :deparallelize
def gcc
- ENV['HOMEBREW_CC'] = "gcc"
+ ENV['CC'] = ENV['HOMEBREW_CC'] = "gcc"
+ ENV['CXX'] = "g++"
end
def llvm
- ENV['HOMEBREW_CC'] = "llvm-gcc"
+ ENV['CC'] = ENV['HOMEBREW_CC'] = "llvm-gcc"
+ ENV['CXX'] = "g++"
end
def clang
- ENV['HOMEBREW_CC'] = "clang"
+ ENV['CC'] = ENV['HOMEBREW_CC'] = "clang"
+ ENV['CXX'] = "clang++"
end
def make_jobs
ENV['MAKEFLAGS'] =~ /-\w*j(\d)+/