diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-06-29 11:38:27 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-06-29 11:38:27 +0200 |
commit | be14f6c87cb3eeb9e3a2ac93802c9c236c191aa5 (patch) | |
tree | 1d19f375e60f05ddeb9ec8fa2672beecdc8d810e /build2/cc/compile.hxx | |
parent | b752b85660d2fff149b0822ebe21e9f2d4ee4e1d (diff) |
Pass entire BMI graph, not only direct imports and re-exports
All current implementations require access to the entire graph (though
Clang embeds the file references so we don't need to pass the options).
Diffstat (limited to 'build2/cc/compile.hxx')
-rw-r--r-- | build2/cc/compile.hxx | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/build2/cc/compile.hxx b/build2/cc/compile.hxx index ed9c18d..778a637 100644 --- a/build2/cc/compile.hxx +++ b/build2/cc/compile.hxx @@ -30,10 +30,11 @@ namespace build2 // Positions of the re-exported bmi{}s. See search_modules() for // details. // - struct modules_positions + struct module_positions { - size_t ex_start; - size_t ex_tail; + size_t start; // First imported bmi*{}, 0 if none. + size_t exported; // First re-exported bmi*{}, 0 if none. + size_t copied; // First copied-over bmi*{}, 0 if none. }; class compile: public rule, virtual common @@ -111,12 +112,13 @@ namespace build2 const file&, match_data&, module_info&&, depdb&, bool&) const; - modules_positions + module_positions search_modules (action, file&, lorder, const target_type&, const file&, module_imports&&, sha256&) const; void - append_modules (cstrings&, strings&, const file&) const; + append_modules (cstrings&, strings&, + const file&, const module_positions&) const; // Language selection option (for VC) or the value for the -x option. // |