From a77c11ceead0c5bf55b2e55b999669bdc69d63f8 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Thu, 1 Mar 2012 14:07:40 +0000 Subject: [PATCH] Piped `brew --env` outputs in a sourceable format So you can source `brew --env` to make it easier to build your own software, etc. --- Library/Homebrew/cmd/--env.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/cmd/--env.rb b/Library/Homebrew/cmd/--env.rb index 9f5f4bb7ad..2fbc688ee4 100644 --- a/Library/Homebrew/cmd/--env.rb +++ b/Library/Homebrew/cmd/--env.rb @@ -16,7 +16,7 @@ module Homebrew extend self %w[ CC CXX LD ].each do |k| value = env[k] - if value + if value and $stdout.tty? results = value if value =~ %r{/usr/bin/xcrun (.*)} path = `/usr/bin/xcrun -find #{$1}` @@ -24,15 +24,20 @@ module Homebrew extend self elsif File.exists? value and File.symlink? value results += " => #{Pathname.new(value).realpath}" end - puts "#{k}: #{results}" + env[k] = results end end - %w[ CFLAGS CXXFLAGS CPPFLAGS LDFLAGS MACOSX_DEPLOYMENT_TARGET MAKEFLAGS PKG_CONFIG_PATH + %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] - puts "#{k}: #{value}" if value + out = if $stdout.tty? + "#{k}: #{value}" + else + "export #{k}=\"#{value}\"" + end + puts out if value end end end