aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMax Howell2011-09-10 11:24:29 +0100
committerMax Howell2011-09-10 11:30:00 +0100
commitc1e354647fd16b3fdbc075b63277529195df92af (patch)
tree4b4ac05c651fcb4619a76f19c343779ef11d767f /Library
parente2009d01293dfc08f906f93492925a530807af86 (diff)
downloadhomebrew-c1e354647fd16b3fdbc075b63277529195df92af.tar.bz2
With xcodebuild don't set CC, CXX, etc.
The compiler setting in the xcodeproj is overridden by the CC setting in the environment. This is a bit insane IMO since the xcodeproj itself has detailed decisions about what tools to use. Fixes #6406.
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/jstalk.rb4
-rw-r--r--Library/Formula/mogenerator.rb1
-rw-r--r--Library/Homebrew/extend/ENV.rb9
-rw-r--r--Library/Homebrew/formula.rb10
4 files changed, 19 insertions, 5 deletions
diff --git a/Library/Formula/jstalk.rb b/Library/Formula/jstalk.rb
index d5d78f27e..d13cd3919 100644
--- a/Library/Formula/jstalk.rb
+++ b/Library/Formula/jstalk.rb
@@ -11,10 +11,6 @@ class Jstalk < Formula
exit 1
end
- # JSTalk specifies its particular compiler needs in jstalk.xcodeproj
- ENV.delete 'CC'
- ENV.delete 'CXX'
-
args = ["-configuration", "Release", "ONLY_ACTIVE_ARCH=YES"]
targets = ["JSTalk Framework", "jstalk command line", "JSTalk Editor"]
diff --git a/Library/Formula/mogenerator.rb b/Library/Formula/mogenerator.rb
index 119b856c8..272729576 100644
--- a/Library/Formula/mogenerator.rb
+++ b/Library/Formula/mogenerator.rb
@@ -7,7 +7,6 @@ class Mogenerator < Formula
head "https://github.com/rentzsch/mogenerator.git"
def install
- ENV.clang
system "xcodebuild -target mogenerator -configuration Release SYMROOT=symroot OBJROOT=objroot"
bin.install "symroot/Release/mogenerator"
diff --git a/Library/Homebrew/extend/ENV.rb b/Library/Homebrew/extend/ENV.rb
index abad5e76a..88cb5e2ac 100644
--- a/Library/Homebrew/extend/ENV.rb
+++ b/Library/Homebrew/extend/ENV.rb
@@ -351,4 +351,13 @@ Please take one of the following actions:
Hardware.processor_count
end
end
+
+ def remove_cc_etc
+ keys = %w{CC CXX LD CPP LDFLAGS CFLAGS CPPFLAGS}
+ removed = Hash[*keys.map{ |key| [key, ENV[key]] }.flatten]
+ keys.each do |key|
+ ENV[key] = nil
+ end
+ removed
+ end
end
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index ed0172219..ca8e489c3 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -488,6 +488,11 @@ protected
pretty_args.delete "--disable-dependency-tracking" if cmd == "./configure" and not ARGV.verbose?
ohai "#{cmd} #{pretty_args*' '}".strip
+ removed_ENV_variables = case if args.empty? then cmd.split(' ').first else cmd end
+ when "xcodebuild"
+ ENV.remove_cc_etc
+ end
+
if ARGV.verbose?
safe_system cmd, *args
else
@@ -508,6 +513,11 @@ protected
raise
end
end
+
+ removed_ENV_variables.each do |key, value|
+ ENV[key] = value # ENV.kind_of? Hash # => false
+ end if removed_ENV_variables
+
rescue
raise BuildError.new(self, cmd, args, $?)
end