diff options
| author | Max Howell | 2009-09-04 15:42:19 +0100 |
|---|---|---|
| committer | Max Howell | 2009-09-04 15:54:27 +0100 |
| commit | d11165cd97912e22e07ec67c040dafb2b9f9c78f (patch) | |
| tree | 831f37d9ad79faae7ea45755e6f262459dc9d7a1 | |
| parent | 4d940628cc71c57e63f9c414199db7cee6ff549d (diff) | |
| download | brew-d11165cd97912e22e07ec67c040dafb2b9f9c78f.tar.bz2 | |
Fixes Homebrew/homebrew#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 |
