diff options
Diffstat (limited to 'Library/Homebrew/build.rb')
| -rw-r--r-- | Library/Homebrew/build.rb | 22 |
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 |
