Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-08-02 | Make bash.in rule match exe{} without bash{} modules with hint | Boris Kolpackov | 1 | -7/+8 | |
2022-04-19 | Use target recipe for auxiliary data storage during match-apply | Boris Kolpackov | 1 | -26/+34 | |
In particular, we now have separate auxiliary data storage for inner and outer operations. | |||||
2022-04-19 | Switch to using std::function for target::data_pad | Boris Kolpackov | 1 | -2/+2 | |
2022-04-18 | Avoid locking target set if in load phase | Boris Kolpackov | 1 | -0/+3 | |
2022-04-06 | Add support for rule hints | Boris Kolpackov | 1 | -3/+4 | |
A rule hint is a target attribute, for example: [rule_hint=cxx] exe{hello}: c{hello} Rule hints can be used to resolve ambiguity when multiple rules match the same target as well as to override an unambiguous match. | |||||
2022-03-02 | Add update operation-specific variable with unmatch|match additional values | Boris Kolpackov | 1 | -1/+1 | |
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. | |||||
2022-01-26 | Make bash module install into bin/<project>.bash/ to avoid clashes | Boris Kolpackov | 1 | -12/+39 | |
Also, expect the first component in the import path to be full project name even in case it has the .bash extension. | |||||
2021-11-03 | Add line processing customization hook to in::rule | Boris Kolpackov | 1 | -1/+4 | |
2021-10-07 | Verify libraries and targets they are linked to a for-install-compatible | Boris Kolpackov | 1 | -1/+7 | |
2021-10-07 | Minor install-related cleanups | Boris Kolpackov | 1 | -1/+4 | |
2021-09-14 | Consistently install prerequisites from any scope by default | Boris Kolpackov | 1 | -15/+0 | |
It is also now possible to adjust this behavior with global config.install.scope override. Valid values for this variable are: project -- only from project strong -- from strong amalgamation weak -- from weak amalgamation global -- from all projects (default) | |||||
2021-03-19 | Redo entering of src directories into scope_map | Boris Kolpackov | 1 | -1/+1 | |
2020-12-14 | Fix bug in create_new_target_locked() | Karen Arutyunov | 1 | -1/+1 | |
2020-10-15 | Add ability to specify fallback value for NULL substitutions with in.null | Boris Kolpackov | 1 | -2/+3 | |
2020-09-24 | Give hints for common causes of "no rule to update ..." error | Boris Kolpackov | 1 | -1/+1 | |
2020-07-17 | Fix race in path/mtime assignment and file_rule::match() | Boris Kolpackov | 1 | -5/+2 | |
2020-06-26 | Fix race in library metadata protocol | Boris Kolpackov | 1 | -1/+1 | |
Specifically, we need to check whether the prerequisite_member is ad hoc before checking whether it is NULL because ad hoc ones are blanked out (set to NULL) during execute. | |||||
2020-02-07 | Drop copyright notice from source code | Karen Arutyunov | 1 | -1/+0 | |
2019-08-23 | Introduce notion of build context | Boris Kolpackov | 1 | -8/+8 | |
All non-const global state is now in class context and we can now have multiple independent builds going on at the same time. | |||||
2019-08-01 | Move bash build system module to separate library | Karen Arutyunov | 1 | -0/+442 | |