diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2022-10-19 10:26:22 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2022-10-19 10:26:22 +0200 |
commit | 18394bc05dc4cadb2dc193cfeb78598c70447869 (patch) | |
tree | 2b3d794305dc5d950f9c05094b80c89b93e5fd25 /libbuild2/dist/rule.cxx | |
parent | b408d19f614b47670cd0a0def501266f0d7689b5 (diff) |
Add support for post hoc prerequisites
Unlike normal and ad hoc prerequisites, a post hoc prerequisite is built
after the target, not before. It may also form a dependency cycle together
with normal/ad hoc prerequisites. In other words, all this form of dependency
guarantees is that a post hoc prerequisite will be built if its dependent
target is built.
See the NEWS file for details and an example.
Diffstat (limited to 'libbuild2/dist/rule.cxx')
-rw-r--r-- | libbuild2/dist/rule.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libbuild2/dist/rule.cxx b/libbuild2/dist/rule.cxx index ac3d440..e47f1f8 100644 --- a/libbuild2/dist/rule.cxx +++ b/libbuild2/dist/rule.cxx @@ -79,6 +79,10 @@ namespace build2 !p.dir.sub (out_root)) continue; + // @@ TODO: this can actually be order-dependent: for example + // libs{} prerequisite may be unknown because we haven't + // matched the lib{} group yet. + // fail << "prerequisite " << k << " is not existing source file " << "nor known output target" << endf; } |