blob: 67b38d0fe2c08bd35e0f44aa6c51901505acb8db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
require 'superenv'
require 'hardware'
module Homebrew extend self
def __env
if superenv?
ENV.deps = ARGV.formulae.map(&:name) unless ARGV.named.empty?
end
ENV.setup_build_environment
ENV.universal_binary if ARGV.build_universal?
if $stdout.tty?
dump_build_env ENV
else
keys = build_env_keys(ENV) << 'HOMEBREW_BREW_FILE' << 'HOMEBREW_SDKROOT'
keys.each do |key|
puts "export #{key}=\"#{ENV[key]}\""
end
end
end
def build_env_keys env
%w[
CC CXX LD
HOMEBREW_CC
CFLAGS CXXFLAGS CPPFLAGS LDFLAGS SDKROOT MAKEFLAGS
CMAKE_PREFIX_PATH CMAKE_INCLUDE_PATH CMAKE_LIBRARY_PATH CMAKE_FRAMEWORK_PATH
MACOSX_DEPLOYMENT_TARGET PKG_CONFIG_PATH PKG_CONFIG_LIBDIR
HOMEBREW_DEBUG HOMEBREW_MAKE_JOBS HOMEBREW_VERBOSE HOMEBREW_USE_CLANG
HOMEBREW_USE_GCC HOMEBREW_USE_LLVM HOMEBREW_SVN HOMEBREW_GIT
HOMEBREW_SDKROOT HOMEBREW_BUILD_FROM_SOURCE
MAKE GIT CPP
ACLOCAL_PATH OBJC PATH ].select{ |key| env.fetch(key) if env.key? key }
end
def dump_build_env env
build_env_keys(env).each do |key|
case key when 'CC', 'CXX'
next
end if superenv?
value = env[key]
print "#{key}: #{value}"
case key when 'CC', 'CXX', 'LD'
if value =~ %r{/usr/bin/xcrun (.*)}
path = `/usr/bin/xcrun -find #{$1}`
print " => #{path}"
elsif File.symlink? value
print " => #{Pathname.new(value).realpath}"
end
end
puts
end
end
end
|