diff options
| author | Max Howell | 2012-03-02 00:59:22 +0000 |
|---|---|---|
| committer | Max Howell | 2012-03-02 00:59:39 +0000 |
| commit | 9d98450b90d5b7bc2edee82fa3e30736d4d8e659 (patch) | |
| tree | 2f694a7736b53964a6921f6f5efd89a8c2f04579 /Library | |
| parent | fead26420bc9f44aa1ec1884ad58895e197a005d (diff) | |
| download | homebrew-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')
| -rw-r--r-- | Library/Homebrew/cmd/--env.rb | 47 |
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 |
