From 7cedf676804225b7f2d8ee031f5c02afc761a619 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Fri, 2 Mar 2012 00:59:22 +0000 Subject: 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`. --- Library/Homebrew/cmd/--env.rb | 47 ++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 25 deletions(-) (limited to 'Library') 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 -- cgit v1.2.3