aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/build.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/build.rb')
-rw-r--r--Library/Homebrew/build.rb22
1 files changed, 4 insertions, 18 deletions
diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb
index 03ff9dac8..2d4674851 100644
--- a/Library/Homebrew/build.rb
+++ b/Library/Homebrew/build.rb
@@ -182,25 +182,11 @@ class Build
def detect_stdlibs
keg = Keg.new(f.prefix)
- # This first test includes executables because we still
- # want to record the stdlib for something that installs no
- # dylibs.
- stdlibs = keg.detect_cxx_stdlibs
- # This currently only tracks a single C++ stdlib per dep,
- # though it's possible for different libs/executables in
- # a given formula to link to different ones.
- stdlib_in_use = CxxStdlib.create(stdlibs.first, ENV.compiler)
- begin
- stdlib_in_use.check_dependencies(f, deps)
- rescue IncompatibleCxxStdlibs => e
- opoo e.message
- end
+ CxxStdlib.check_compatibility(f, deps, keg, ENV.compiler)
- # 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.
+ # The stdlib recorded in the install receipt is used during dependency
+ # compatibility checks, so we only care about the stdlib that libraries
+ # link against.
keg.detect_cxx_stdlibs(:skip_executables => true)
end