Added --use-gcc flag.

This allows you to use llvm as your default compiler and keep the cc symlink
pointed at llvm, while allowing you to build forumla that requires the gcc.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
This commit is contained in:
Stephen Allred 2010-10-01 20:56:55 +01:00 committed by Adam Vandenberg
parent f4ffb754c3
commit 618617da73
5 changed files with 17 additions and 1 deletions

View File

@ -275,6 +275,10 @@ Some sample commands ship with Homebrew and are enabled by default.
This issue typically occurs when using FileVault or custom SSD
configurations.
* HOMEBREW\_USE\_GCC:
If set, instructs Homebrew to use gcc, even if the system default
is currently set to LLVM.
* HOMEBREW\_USE\_LLVM:
If set, instructs Homebrew to use the LLVM front-ends to the GCC
compilers.

View File

@ -10,6 +10,7 @@ module Homebrew extend self
def dump_build_env env
puts %["--use-llvm" was specified] if ARGV.include? '--use-llvm'
puts "\"--use-gcc\" was specified" if ARGV.include? '--use-gcc'
%w[ CC CXX LD ].each do |k|
value = env[k]
@ -24,7 +25,7 @@ module Homebrew extend self
end
%w[ CFLAGS CXXFLAGS CPPFLAGS LDFLAGS MACOSX_DEPLOYMENT_TARGET MAKEFLAGS PKG_CONFIG_PATH
HOMEBREW_DEBUG HOMEBREW_VERBOSE HOMEBREW_USE_LLVM HOMEBREW_SVN ].each do |k|
HOMEBREW_DEBUG HOMEBREW_VERBOSE HOMEBREW_USE_GCC HOMEBREW_USE_LLVM HOMEBREW_SVN ].each do |k|
value = env[k]
puts "#{k}: #{value}" if value
end

View File

@ -147,6 +147,9 @@ def check_cc_symlink
To force Homebrew to use LLVM, you can set the "HOMEBREW_LLVM" environmental
variable, or pass "--use-llvm" to "brew install".
To force Homebrew to use gcc, you can set the "HOMEBREW_GCC" environmental
variable, or pass "--use-gcc" to "brew install".
EOS
end
end

View File

@ -24,6 +24,10 @@ module HomebrewEnvExtension
self['CC'] = "#{xcode_path}/usr/bin/llvm-gcc"
self['CXX'] = "#{xcode_path}/usr/bin/llvm-g++"
cflags = ['-O4'] # link time optimisation baby!
elsif MACOS_VERSION >= 10.6 and (self['HOMEBREW_USE_GCC'] or ARGV.include? '--use-gcc')
self['CC'] = '/usr/bin/gcc'
self['CXX'] = '/usr/bin/g++'
cflags = ['-O3']
else
# If these aren't set, many formulae fail to build
self['CC'] = '/usr/bin/cc'

View File

@ -298,6 +298,10 @@ If set, instructs Homebrew to use \fBHOMEBREW_TEMP\fR as the temporary folder fo
This issue typically occurs when using FileVault or custom SSD configurations\.
.
.TP
HOMEBREW_USE_GCC
If set, instructs Homebrew to use gcc, even if the system default is currently set to LLVM\.
.
.TP
HOMEBREW_USE_LLVM
If set, instructs Homebrew to use the LLVM front\-ends to the GCC compilers\.
.