diff options
| author | Max Howell | 2009-09-04 15:42:19 +0100 |
|---|---|---|
| committer | Max Howell | 2009-09-04 15:54:27 +0100 |
| commit | 2142e1823f16fa8b35dc04a280004e9adeda2c30 (patch) | |
| tree | dbb57443057747a6b74567c1cb990c2d2ee3dd6b | |
| parent | 6685200998bf24f7028c3244b0f028be3bd30df2 (diff) | |
| download | homebrew-2142e1823f16fa8b35dc04a280004e9adeda2c30.tar.bz2 | |
Fixes #30 -- GCC can't create executables
The fix is to error out if GCC isn't installed, and to ensure we aren't
setting CC and CXX to something that doesn't exist.
| -rw-r--r-- | Library/Homebrew/brewkit.rb | 11 | ||||
| -rwxr-xr-x | bin/brew | 7 |
2 files changed, 13 insertions, 5 deletions
diff --git a/Library/Homebrew/brewkit.rb b/Library/Homebrew/brewkit.rb index 4c9bdbc26..ce15625a0 100644 --- a/Library/Homebrew/brewkit.rb +++ b/Library/Homebrew/brewkit.rb @@ -37,7 +37,7 @@ require 'hardware' MACOS_VERSION=$1.to_f ENV['MACOSX_DEPLOYMENT_TARGET']=$1 -# to be consistent with cflags, we ignore the existing environment +# ignore existing build vars, thus we should have less bugs to deal with ENV['LDFLAGS']="" cflags=%w[-O3] @@ -63,9 +63,12 @@ else cflags<<"-march=prescott" end cflags<<"-mfpmath=sse" - # gcc 4.0 is the default on Leopard - ENV['CC']="gcc-4.2" - ENV['CXX']="g++-4.2" + + # use gcc 4.2 if available (Xcode 3.1 and above) + if system "which -s gcc-4.2" and $?.success? + ENV['CC']="gcc-4.2" + ENV['CXX']="g++-4.2" + end end cflags<<"-mmmx" @@ -75,13 +75,18 @@ begin exit 0 end + require 'brewkit' + if ARGV.verbose? - require 'brewkit' ohai "Build Environment" %w[CFLAGS LDFLAGS CPPFLAGS MAKEFLAGS CC CXX].each do |f| puts "#{f}: #{ENV[f]}" unless ENV[f].to_s.empty? end end + + unless system "which #{ENV['CC'] or 'cc'} &> /dev/null" and $?.success? + raise "We cannot find a c compiler, have you installed the latest Xcode?" + end # we need to ensure a pristine ENV for each process or the formula # will start with the ENV from the previous build |
