aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/build.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/build.rb')
-rwxr-xr-xLibrary/Homebrew/build.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb
index 7db2235ed..83dbe15cb 100755
--- a/Library/Homebrew/build.rb
+++ b/Library/Homebrew/build.rb
@@ -164,6 +164,9 @@ class Build
begin
f.install
+ # This first test includes executables because we still
+ # want to record the stdlib for something that installs no
+ # dylibs.
stdlibs = Keg.new(f.prefix).detect_cxx_stdlibs
# It's technically possible for the same lib to link to multiple
# C++ stdlibs, but very bad news. Right now we don't track this
@@ -173,6 +176,13 @@ class Build
# incompatibility.
stdlib_in_use.check_dependencies(f, deps)
+ # This second check is recorded for checking dependencies,
+ # so executable are irrelevant at this point. If a piece
+ # of software installs an executable that links against libstdc++
+ # and dylibs against libc++, libc++-only dependencies can safely
+ # link against it.
+ stdlibs = Keg.new(f.prefix).detect_cxx_stdlibs :skip_executables => true
+
Tab.create(f, ENV.compiler, stdlibs.first,
Options.coerce(ARGV.options_only)).write
rescue Exception => e