diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2020-01-27 14:23:18 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2020-01-27 14:23:18 +0200 |
commit | 14c7d434df62989fbceef8322f61400844bd5943 (patch) | |
tree | 0b89e169d597d2ad264cdabeee2df1136ca80587 /libbuild2/bin | |
parent | 9e47b1fdea6fe589c531c5c649a9f1c22bc3a029 (diff) |
See through lib{} group during dist
Diffstat (limited to 'libbuild2/bin')
-rw-r--r-- | libbuild2/bin/init.cxx | 7 | ||||
-rw-r--r-- | libbuild2/bin/rule.cxx | 7 |
2 files changed, 11 insertions, 3 deletions
diff --git a/libbuild2/bin/init.cxx b/libbuild2/bin/init.cxx index 344d54e..c0681cc 100644 --- a/libbuild2/bin/init.cxx +++ b/libbuild2/bin/init.cxx @@ -539,7 +539,7 @@ namespace build2 r.insert<lib> (perform_id, 0, "bin.lib", lib_); r.insert<lib> (configure_id, 0, "bin.lib", lib_); - // Treat as a see through group for install and test. + // Treat as a see through group for install, test, and dist. // if (install_loaded) { @@ -553,6 +553,11 @@ namespace build2 { r.insert<lib> (perform_test_id, "bin.lib", m->group_rule ()); } + + if (rs.find_module ("dist")) + { + r.insert<lib> (dist_id, 0, "bin.lib", lib_); + } } return true; diff --git a/libbuild2/bin/rule.cxx b/libbuild2/bin/rule.cxx index 8c1174a..0bb5aed 100644 --- a/libbuild2/bin/rule.cxx +++ b/libbuild2/bin/rule.cxx @@ -53,11 +53,14 @@ namespace build2 } bool lib_rule:: - match (action, target& xt, const string&) const + match (action a, target& xt, const string&) const { lib& t (xt.as<lib> ()); - members bm (build_members (t.root_scope ())); + members bm (a.meta_operation () != dist_id + ? build_members (t.root_scope ()) + : members {true, true}); + t.a = bm.a ? &search<liba> (t, t.dir, t.out, t.name) : nullptr; t.s = bm.s ? &search<libs> (t, t.dir, t.out, t.name) : nullptr; |