Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-11-16 | Initial low verbosity diagnostics rework | Boris Kolpackov | 1 | -38/+104 | |
2022-11-08 | Make process exit diagnostics consistent | Boris Kolpackov | 1 | -8/+22 | |
In particular, we now always print error message on non-0 exit except in cases where such exit is ignored. | |||||
2022-11-08 | More work on child process diagnostics buffering | Boris Kolpackov | 1 | -6/+11 | |
2022-10-13 | Improve diagnostics | Boris Kolpackov | 1 | -0/+12 | |
2022-10-13 | Switch to public/private variables model | Boris Kolpackov | 1 | -22/+23 | |
Now unqualified variables are project-private and can be typified. | |||||
2022-05-23 | Cache build.host value in context | Boris Kolpackov | 1 | -2/+2 | |
2022-04-19 | Switch recipe from std::function to butl::move_only_function_ex | Boris Kolpackov | 1 | -1/+1 | |
2022-04-07 | Rename {match,execute}() to *_sync(), add *_complete() | Boris Kolpackov | 1 | -5/+5 | |
In particular, the match() rename makes sure it doesn't clash with rule::match() which, after removal of the hint argument in simple_rule, has exactly the same signature, thus making it error-prone to calling recursively. | |||||
2022-04-06 | Add support for rule hints | Boris Kolpackov | 1 | -6/+6 | |
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-21 | Filter out exe{} prerequisites in install group rule similar to file rule | Boris Kolpackov | 1 | -0/+19 | |
2022-03-07 | Fix operation-specific variables logic for inner/outer operations | Boris Kolpackov | 1 | -8/+17 | |
2022-03-02 | Add update operation-specific variable with unmatch|match additional values | Boris Kolpackov | 1 | -10/+26 | |
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 | -1/+0 | |
Also, expect the first component in the import path to be full project name even in case it has the .bash extension. | |||||
2021-11-04 | Do not apply install scope to update-for-install pre-operation | Boris Kolpackov | 1 | -2/+2 | |
2021-10-07 | Allow forcing installation of exe{} prerequisites of file targets | Boris Kolpackov | 1 | -1/+8 | |
This can be achieved with prerequisite-specific install=true, for example: exe{foo}: exe{bar}: install = true # foo runs bar | |||||
2021-10-07 | Minor install-related cleanups | Boris Kolpackov | 1 | -2/+9 | |
2021-10-06 | Do not install exe{} prerequisites of file targets | Boris Kolpackov | 1 | -0/+3 | |
2021-09-28 | Adapt to libbutl headers extension change from .mxx to .hxx | Karen Arutyunov | 1 | -1/+1 | |
2021-09-14 | Consistently install prerequisites from any scope by default | Boris Kolpackov | 1 | -14/+29 | |
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) | |||||
2020-12-01 | Add clarifying comment | Boris Kolpackov | 1 | -2/+3 | |
2020-11-30 | Don't fail if unable to remove empty directory on uninstall | Boris Kolpackov | 1 | -3/+15 | |
2020-08-25 | Add missing move() call | Boris Kolpackov | 1 | -1/+3 | |
2020-07-09 | Relax prerequisite filtering semantics of aliases in test and install rules | Boris Kolpackov | 1 | -2/+1 | |
2020-06-25 | Add more instrumentation for unassigned path race | Boris Kolpackov | 1 | -2/+2 | |
2020-04-30 | Rename target::member to target::adhoc_member | Boris Kolpackov | 1 | -2/+6 | |
2020-03-20 | Don't install ad hoc members with nonexistent timestamp | Boris Kolpackov | 1 | -3/+3 | |
2020-03-20 | Don't install ad hoc members with unassigned paths | Boris Kolpackov | 1 | -8/+23 | |
2020-03-17 | Adapt install_l() to mkanylink() semantics change | Karen Arutyunov | 1 | -8/+1 | |
Now mkanylink() always interprets a relative target from the link directory. | |||||
2020-02-07 | Drop copyright notice from source code | Karen Arutyunov | 1 | -1/+0 | |
2019-10-29 | Regularize and make accessible install/uninstall primitives | Boris Kolpackov | 1 | -32/+27 | |
2019-08-23 | Introduce notion of build context | Boris Kolpackov | 1 | -9/+15 | |
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-21 | Cleanup context.hxx and its usage | Boris Kolpackov | 1 | -0/+1 | |
2019-08-15 | Redo Windows implementation of install_l() to use uninstall_f() | Boris Kolpackov | 1 | -52/+58 | |
2019-08-15 | Fix bug in Windows implementation of install_l() | Boris Kolpackov | 1 | -3/+3 | |
2019-08-15 | Fix bug in mkanylink() usage | Boris Kolpackov | 1 | -1/+9 | |
2019-08-15 | Implement libs_paths symlinking support on Windows | Boris Kolpackov | 1 | -3/+41 | |
Also, temporarily enable libs_paths::link on Windows for testing. | |||||
2019-07-05 | Move config, dist, test, and install modules into library | Karen Arutyunov | 1 | -0/+1223 | |