aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/--env.rb
diff options
context:
space:
mode:
authorMax Howell2012-03-02 00:59:22 +0000
committerMax Howell2012-03-02 00:59:39 +0000
commit9d98450b90d5b7bc2edee82fa3e30736d4d8e659 (patch)
tree2f694a7736b53964a6921f6f5efd89a8c2f04579 /Library/Homebrew/cmd/--env.rb
parentfead26420bc9f44aa1ec1884ad58895e197a005d (diff)
downloadhomebrew-9d98450b90d5b7bc2edee82fa3e30736d4d8e659.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/--env.rb')
-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