Stdlib check should use the compiler used to build the bottle

This commit is contained in:
Jack Nagel 2015-06-27 20:04:45 -04:00
parent 0f745872df
commit 7690a00d04
2 changed files with 8 additions and 4 deletions

View File

@ -626,12 +626,13 @@ class FormulaInstaller
end end
FileUtils.rm_rf formula.bottle_prefix FileUtils.rm_rf formula.bottle_prefix
tab = Tab.for_keg(formula.prefix)
CxxStdlib.check_compatibility( CxxStdlib.check_compatibility(
formula, formula.recursive_dependencies, formula, formula.recursive_dependencies,
Keg.new(formula.prefix), MacOS.default_compiler Keg.new(formula.prefix), tab.compiler
) )
tab = Tab.for_keg(formula.prefix)
tab.tap = formula.tap tab.tap = formula.tap
tab.poured_from_bottle = true tab.poured_from_bottle = true
tab.write tab.write

View File

@ -155,11 +155,14 @@ class Tab < OpenStruct
Options.create(super) Options.create(super)
end end
def compiler
super || MacOS.default_compiler
end
def cxxstdlib def cxxstdlib
# Older tabs won't have these values, so provide sensible defaults # Older tabs won't have these values, so provide sensible defaults
lib = stdlib.to_sym if stdlib lib = stdlib.to_sym if stdlib
cc = compiler || MacOS.default_compiler CxxStdlib.create(lib, compiler.to_sym)
CxxStdlib.create(lib, cc.to_sym)
end end
def build_bottle? def build_bottle?