diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-12-04 12:42:09 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-12-04 12:42:09 +0200 |
commit | ad770fe609d1958a64e7364861296ac5407611d9 (patch) | |
tree | 00636725cad5adebc03e6659b411c6123b8ebea9 /build2/cc/init.cxx | |
parent | 398134d2b4d362f857de5d2c94942e919d0bc534 (diff) |
Improve diagnostics when c-family modules using different toolchains
We now also warn on toolchain pattern mismatch.
Diffstat (limited to 'build2/cc/init.cxx')
-rw-r--r-- | build2/cc/init.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/build2/cc/init.cxx b/build2/cc/init.cxx index 90821ae..7a3e99e 100644 --- a/build2/cc/init.cxx +++ b/build2/cc/init.cxx @@ -96,6 +96,7 @@ namespace build2 // Hint variables (not overridable). // v.insert<string> ("config.cc.id"); + v.insert<string> ("config.cc.hinter"); // Hinting module. v.insert<string> ("config.cc.pattern"); v.insert<target_triplet> ("config.cc.target"); @@ -156,12 +157,14 @@ namespace build2 if (!cast_false<bool> (rs["cc.core.vars.loaded"])) load_module (rs, rs, "cc.core.vars", loc); - // config.cc.id + // config.cc.{id,hinter} // { - // This value must be hinted. + // These values must be hinted. // rs.assign<string> ("cc.id") = cast<string> (hints["config.cc.id"]); + rs.assign<string> ("cc.hinter") = + cast<string> (hints["config.cc.hinter"]); } // config.cc.target @@ -188,8 +191,8 @@ namespace build2 { // This value could be hinted. // - if (auto l = hints["config.cc.pattern"]) - rs.assign<string> ("cc.pattern") = cast<string> (l); + rs.assign<string> ("cc.pattern") = + cast_empty<string> (hints["config.cc.pattern"]); } return true; |