diff options
| author | Misty De Meo | 2014-01-20 10:04:27 -0800 |
|---|---|---|
| committer | Misty De Meo | 2014-02-02 11:04:30 -0800 |
| commit | 3d82b7303c97668272e7fa2f95771f242ecf203e (patch) | |
| tree | 2975f54908b6156a9078bcff4c410f020c1a95b8 /Library/Homebrew/build.rb | |
| parent | ab82145230f8448926d2617bd30ad53a004d420d (diff) | |
| download | homebrew-3d82b7303c97668272e7fa2f95771f242ecf203e.tar.bz2 | |
C++ stdlib check: don't check executables for deps
This avoids some possible false positives, as happens with, e.g., qt4.
Diffstat (limited to 'Library/Homebrew/build.rb')
| -rwxr-xr-x | Library/Homebrew/build.rb | 10 |
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 |
