aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/module.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2020-07-16 09:05:04 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2020-07-16 09:05:04 +0200
commit51ab0a979c5c53defd5eda9fa997b2abfd0d4f7d (patch)
treea7be7d7a9c8956efc8f9cc81ab7e7576fe78668b /libbuild2/cc/module.cxx
parentbca2aa388e690d1e575d890cf15e0dc9632728f7 (diff)
Save original compiler path/mode in {c,cxx}.config.path/mode
It turns out that when propagating {c,cxx}.config in tests we don't want to propagate any options (such as *.std) that have been folded into our project's mode.
Diffstat (limited to 'libbuild2/cc/module.cxx')
-rw-r--r--libbuild2/cc/module.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/libbuild2/cc/module.cxx b/libbuild2/cc/module.cxx
index eed2510..1aa1e01 100644
--- a/libbuild2/cc/module.cxx
+++ b/libbuild2/cc/module.cxx
@@ -140,11 +140,17 @@ namespace build2
mode.assign (++v.begin (), v.end ());
+ // Save original path/mode in *.config.path/mode.
+ //
+ rs.assign (x_c_path) = xc;
+ rs.assign (x_c_mode) = mode;
+
// Figure out which compiler we are dealing with, its target, etc.
//
// Note that we could allow guess() to modify mode to support
// imaginary options (such as /MACHINE for cl.exe). Though it's not
- // clear what cc.mode would contain (original or modified).
+ // clear what cc.mode would contain (original or modified). Note that
+ // we are now folding *.std options into mode options.
//
x_info = &build2::cc::guess (
x, x_lang, move (xc),