aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2013-01-19 20:45:57 -0600
committerJack Nagel2013-01-21 17:14:16 -0600
commit05fedd5c98f687b6cf95935a06d4660821d2ad2b (patch)
tree2750b1ff7ac3a4c1c03c423bb059dc9e6d30e551
parent483ac4873483a434eceaf737d25a26d39d3cac78 (diff)
downloadhomebrew-05fedd5c98f687b6cf95935a06d4660821d2ad2b.tar.bz2
build: reorganize #install for readability
-rwxr-xr-xLibrary/Homebrew/build.rb34
1 files changed, 16 insertions, 18 deletions
diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb
index d93d31186..e62a18045 100755
--- a/Library/Homebrew/build.rb
+++ b/Library/Homebrew/build.rb
@@ -71,30 +71,14 @@ end
def install f
deps = f.recursive_deps
- keg_only_deps = deps.select{|dep| dep.keg_only? }
+ keg_only_deps = deps.select(&:keg_only?)
pre_superenv_hacks(f)
require 'superenv'
- unless superenv?
- ENV.setup_build_environment
- # Requirements are processed first so that adjustments made to ENV
- # for keg-only deps take precdence.
- f.recursive_requirements.each { |rq| rq.modify_build_environment }
- end
-
deps.each do |dep|
opt = HOMEBREW_PREFIX/:opt/dep
fixopt(dep) unless opt.directory? or ARGV.ignore_deps?
- if not superenv? and dep.keg_only?
- ENV.prepend_path 'PATH', "#{opt}/bin"
- ENV.prepend_path 'PKG_CONFIG_PATH', "#{opt}/lib/pkgconfig"
- ENV.prepend_path 'PKG_CONFIG_PATH', "#{opt}/share/pkgconfig"
- ENV.prepend_path 'ACLOCAL_PATH', "#{opt}/share/aclocal"
- ENV.prepend_path 'CMAKE_PREFIX_PATH', opt
- ENV.prepend 'LDFLAGS', "-L#{opt}/lib" if (opt/:lib).directory?
- ENV.prepend 'CPPFLAGS', "-I#{opt}/include" if (opt/:include).directory?
- end
end
if superenv?
@@ -103,7 +87,21 @@ def install f
ENV.x11 = f.recursive_requirements.detect{|rq| rq.class == X11Dependency }
ENV.setup_build_environment
post_superenv_hacks(f)
- f.recursive_requirements.each { |rq| rq.modify_build_environment }
+ f.recursive_requirements.each(&:modify_build_environment)
+ else
+ ENV.setup_build_environment
+ f.recursive_requirements.each(&:modify_build_environment)
+
+ keg_only_deps.each do |dep|
+ opt = dep.opt_prefix
+ ENV.prepend_path 'PATH', "#{opt}/bin"
+ ENV.prepend_path 'PKG_CONFIG_PATH', "#{opt}/lib/pkgconfig"
+ ENV.prepend_path 'PKG_CONFIG_PATH', "#{opt}/share/pkgconfig"
+ ENV.prepend_path 'ACLOCAL_PATH', "#{opt}/share/aclocal"
+ ENV.prepend_path 'CMAKE_PREFIX_PATH', opt
+ ENV.prepend 'LDFLAGS', "-L#{opt}/lib" if (opt/:lib).directory?
+ ENV.prepend 'CPPFLAGS', "-I#{opt}/include" if (opt/:include).directory?
+ end
end
if f.fails_with? ENV.compiler