aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorMax Howell2012-03-02 00:59:22 +0000
committerMax Howell2012-03-02 00:59:39 +0000
commit7cedf676804225b7f2d8ee031f5c02afc761a619 (patch)
tree9bb089cf182afebe842e241708a95b77276d9d8d /Library/Homebrew/cmd
parentd9fdd401da4409cb33b0f336ae1293af830fea7c (diff)
downloadbrew-7cedf676804225b7f2d8ee031f5c02afc761a619.tar.bz2
Scupper sourceable output if brew install is piped
`brew install > file` should not give "export CC=/foo" output on Build Failures. Also moved the "Using clang" output to brew when BuildError is thrown as that is where it is interesting, and not if you just do `brew --env`.
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/--env.rb47
1 files changed, 22 insertions, 25 deletions
diff --git a/Library/Homebrew/cmd/--env.rb b/Library/Homebrew/cmd/--env.rb
index 2fbc688ee..64838a5c0 100644
--- a/Library/Homebrew/cmd/--env.rb
+++ b/Library/Homebrew/cmd/--env.rb
@@ -6,38 +6,35 @@ module Homebrew extend self
ENV.extend(HomebrewEnvExtension)
ENV.setup_build_environment
ENV.universal_binary if ARGV.build_universal?
- dump_build_env ENV
+ if $stdout.tty?
+ dump_build_env ENV
+ else
+ build_env_keys(ENV).each do |key|
+ puts "export #{key}=\"#{ENV[key]}\""
+ end
+ end
end
- def dump_build_env env
- puts %["--use-clang" was specified] if ARGV.include? '--use-clang'
- puts %["--use-llvm" was specified] if ARGV.include? '--use-llvm'
- puts %["--use-gcc" was specified] if ARGV.include? '--use-gcc'
+ def build_env_keys env
+ %w[ CC CXX LD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS MACOSX_DEPLOYMENT_TARGET
+ MAKEFLAGS PKG_CONFIG_PATH HOMEBREW_BUILD_FROM_SOURCE HOMEBREW_DEBUG
+ HOMEBREW_MAKE_JOBS HOMEBREW_VERBOSE HOMEBREW_USE_CLANG HOMEBREW_USE_GCC
+ HOMEBREW_USE_LLVM HOMEBREW_SVN ].select{ |key| env[key] }
+ end
- %w[ CC CXX LD ].each do |k|
- value = env[k]
- if value and $stdout.tty?
- results = value
+ def dump_build_env env
+ build_env_keys(env).each do |key|
+ value = env[key]
+ print "#{key}: #{value}"
+ case key when 'CC', 'CXX', 'LD'
if value =~ %r{/usr/bin/xcrun (.*)}
path = `/usr/bin/xcrun -find #{$1}`
- results += " => #{path}"
- elsif File.exists? value and File.symlink? value
- results += " => #{Pathname.new(value).realpath}"
+ print " => #{path}"
+ elsif File.symlink? value
+ print " => #{Pathname.new(value).realpath}"
end
- env[k] = results
- end
- end
-
- %w[ CC CXX LD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS MACOSX_DEPLOYMENT_TARGET MAKEFLAGS PKG_CONFIG_PATH
- HOMEBREW_BUILD_FROM_SOURCE HOMEBREW_DEBUG HOMEBREW_MAKE_JOBS HOMEBREW_VERBOSE
- HOMEBREW_USE_CLANG HOMEBREW_USE_GCC HOMEBREW_USE_LLVM HOMEBREW_SVN ].each do |k|
- value = env[k]
- out = if $stdout.tty?
- "#{k}: #{value}"
- else
- "export #{k}=\"#{value}\""
end
- puts out if value
+ puts
end
end
end