diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2022-02-24 10:03:43 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2022-03-02 13:26:51 +0200 |
commit | 634048a861658af2bc5c37507bf96116cf1968aa (patch) | |
tree | d6122830ed2744d86e1ddb389f0e76131e54d6be /libbuild2/action.hxx | |
parent | be66fff5ff42eaab81d2a526d8b6296c28848775 (diff) |
Add update operation-specific variable with unmatch|match additional values
Note that the unmatch (match but do not update) and match (update during
match) values are only supported by certain rules (and potentially only for
certain prerequisite types).
Additionally:
- All operation-specific variables are now checked for false as an override
for the prerequisite-specific include value. In particular, this can now be
used to disable a prerequisite for update, for example:
./: exe{test}: update = false
- The cc::link_rule now supports the update=match value for headers and ad hoc
prerequisites. In particular, this can be used to make sure all the library
headers are updated before matching any of its (or dependent's) object
files.
Diffstat (limited to 'libbuild2/action.hxx')
-rw-r--r-- | libbuild2/action.hxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libbuild2/action.hxx b/libbuild2/action.hxx index e149574..dce3a1a 100644 --- a/libbuild2/action.hxx +++ b/libbuild2/action.hxx @@ -150,6 +150,7 @@ namespace build2 // Id constants for build-in and pre-defined meta/operations. // // Note: currently max 15 (see above). + // Note: update small_vector in meta_operations if adding more. // const meta_operation_id noop_id = 1; // nomop? const meta_operation_id perform_id = 2; @@ -164,6 +165,7 @@ namespace build2 // something here remember to update the man page. // // Note: currently max 15 (see above). + // Note: update small_vector in operations if adding more. // const operation_id default_id = 1; // Shall be first. const operation_id update_id = 2; // Shall be second. @@ -176,6 +178,8 @@ namespace build2 const operation_id uninstall_id = 7; const operation_id update_for_install_id = 8; // update(for install) alias. + // Commonly-used action ids. + // const action_id perform_update_id = (perform_id << 4) | update_id; const action_id perform_clean_id = (perform_id << 4) | clean_id; const action_id perform_test_id = (perform_id << 4) | test_id; |