From 2775a4b12cce406c85b97b70ed424852bf3bc783 Mon Sep 17 00:00:00 2001 From: Misty De Meo Date: Wed, 23 Oct 2013 22:25:02 -0700 Subject: [PATCH] Move bottle stdlib tracking post-pour This allows us to track the actual stdlib in use, and prevents warnings for bottles with no C++ code. --- Library/Homebrew/formula_installer.rb | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index b83189bec4..562232b167 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -179,16 +179,6 @@ class FormulaInstaller raise "Unrecognized architecture for --bottle-arch: #{arch}" end - if pour_bottle? - # This assumes that bottles are built with - # a) the OS's default compiler, and - # b) the OS's default C++ stdlib - # This is probably accurate, but could possibly stand to be - # more robust. - stdlib_in_use = CxxStdlib.new(MacOS.default_cxx_stdlib, MacOS.default_compiler) - stdlib_in_use.check_dependencies(f, f.recursive_dependencies) - end - oh1 "Installing #{Tty.green}#{f}#{Tty.reset}" if show_header @@attempted << f @@ -201,6 +191,11 @@ class FormulaInstaller if pour_bottle? :warn => true pour @poured_bottle = true + + stdlibs = Keg.new(f.prefix).detect_cxx_stdlibs + stdlib_in_use = CxxStdlib.new(stdlibs.first, MacOS.default_compiler) + stdlib_in_use.check_dependencies(f, f.recursive_dependencies) + tab = Tab.for_keg f.prefix tab.poured_from_bottle = true tab.tabfile.delete if tab.tabfile