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/Homebrew/cmd/--env.rb | |
| 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/Homebrew/cmd/--env.rb')
| -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  | 
