Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-10-13 | Optimize by going straight to public variable pool where applicable | Boris Kolpackov | 1 | -3/+7 | |
2022-10-13 | Switch to public/private variables model | Boris Kolpackov | 2 | -7/+5 | |
Now unqualified variables are project-private and can be typified. | |||||
2022-10-10 | Preparatory work for public/private variable distinction | Boris Kolpackov | 1 | -2/+2 | |
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool(). | |||||
2022-09-29 | Fix variable append logic in script | Boris Kolpackov | 2 | -14/+36 | |
2022-09-28 | Add support for 'for' loop first form (for x:...) in script | Karen Arutyunov | 3 | -52/+427 | |
2022-09-28 | Add support for 'while' loop in script | Karen Arutyunov | 9 | -112/+517 | |
2022-07-07 | Use new cmdline type for canned command lines in {Build,Test}script | Boris Kolpackov | 5 | -16/+105 | |
2022-06-28 | Add support for querying out-qualified target-specific variables | Boris Kolpackov | 2 | -2/+2 | |
2022-06-21 | Add --trace-{match,execute} options | Boris Kolpackov | 1 | -14/+14 | |
These options can be used to understand which dependency chain causes matching or execution of a particular target. | |||||
2022-05-23 | Cache build.host value in context | Boris Kolpackov | 2 | -2/+2 | |
2022-04-15 | Get rid of target::dynamic_type() virtual function | Boris Kolpackov | 1 | -2/+5 | |
Instead of overriding this function, derived targets must now set the dynamic_type variable to their static_type in their constructor body. | |||||
2022-04-06 | Add support for rule hints | Boris Kolpackov | 3 | -7/+7 | |
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-07 | Fix operation-specific variables logic for inner/outer operations | Boris Kolpackov | 1 | -1/+1 | |
2022-03-02 | Add update operation-specific variable with unmatch|match additional values | Boris Kolpackov | 1 | -0/+2 | |
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-02-21 | Factor process-wide initialization to init_process() function | Boris Kolpackov | 1 | -1/+1 | |
2022-02-16 | Invent quoting modes for to_stream(name) | Karen Arutyunov | 1 | -1/+1 | |
2022-02-11 | Remove unnecessary header inclusions | Boris Kolpackov | 1 | -0/+2 | |
2022-02-10 | Make few global types separately constructible/initializable | Boris Kolpackov | 1 | -1/+1 | |
2021-12-16 | Pass context to (meta-)operation hooks | Boris Kolpackov | 1 | -3/+6 | |
2021-10-14 | Disable re-parse of sole expansions in Buildscript | Boris Kolpackov | 1 | -1/+1 | |
2021-09-24 | Fortify tests against NDEBUG | Karen Arutyunov | 2 | -2/+6 | |
2021-06-21 | Add support for automatic generation of symbol exporting .def file | Boris Kolpackov | 2 | -5/+2 | |
2021-05-28 | Recognize quoting of first character in token | Boris Kolpackov | 1 | -3/+2 | |
Use this to relax the pattern inclusion/exclusion syntax to only require unquoted +/-. | |||||
2021-05-28 | Add pattern_mode::ignore and use in appropriate places | Boris Kolpackov | 1 | -1/+1 | |
2021-04-07 | Register environment variables for hermetic build configurations | Boris Kolpackov | 1 | -0/+6 | |
2021-03-18 | Add noop mode to file cache, add --file-cache option to select | Boris Kolpackov | 1 | -1/+1 | |
2021-03-16 | Define intermediate build results file cache interface | Boris Kolpackov | 1 | -1/+3 | |
2021-01-30 | Add std::{map, multimap} to types.hxx | Boris Kolpackov | 1 | -0/+1 | |
Seeing that std::map is becoming a common Buildfile variable type. | |||||
2020-12-15 | Cache more results of executing programs (compilers, etc) | Boris Kolpackov | 1 | -0/+2 | |
2020-12-11 | Add export script pseudo-builtin | Karen Arutyunov | 3 | -1/+16 | |
2020-12-11 | Copy parent scope's test program list in runner's entry() function rather ↵ | Karen Arutyunov | 3 | -30/+29 | |
than in scope's constructor | |||||
2020-12-11 | Fix set pseudo-builtin to reset special variables when required | Karen Arutyunov | 3 | -10/+19 | |
2020-12-11 | Prefix pseudo-builtin diagnostincs messages with their names | Karen Arutyunov | 1 | -5/+9 | |
2020-12-08 | Add support for config.test.runner | Karen Arutyunov | 9 | -14/+218 | |
2020-11-23 | Increase terminated process timeout from 1 to 2 sec before killing it on ↵ | Karen Arutyunov | 1 | -3/+3 | |
script pipeline termination | |||||
2020-11-06 | Fix mistreating test operation timeout as test timeout in some case | Karen Arutyunov | 1 | -1/+1 | |
2020-11-06 | Add support for test timeouts | Karen Arutyunov | 10 | -24/+511 | |
2020-10-20 | Add operation callback for adhoc rule match and apply | Boris Kolpackov | 1 | -1/+5 | |
2020-08-16 | Add ability to initialize bootstrapped modules after loading root.build | Boris Kolpackov | 1 | -3/+1 | |
2020-08-04 | Fix 'target.path() called out of scope' testscript error | Karen Arutyunov | 1 | -0/+7 | |
2020-08-03 | Fix buildscript diagnostics so diff output is always in unified format | Karen Arutyunov | 1 | -1/+16 | |
Also make sure diff refers program stdout as 'stdout' rather than '-' in the test rule diagnostics. | |||||
2020-07-13 | Add ability to extend rule interface in source-compatible manner | Boris Kolpackov | 1 | -1/+1 | |
2020-07-10 | Tweak rule names | Boris Kolpackov | 1 | -1/+1 | |
2020-07-09 | Make sure update-for-{test,install} works for files out of any project | Boris Kolpackov | 1 | -2/+12 | |
2020-07-09 | Relax prerequisite filtering semantics of aliases in test and install rules | Boris Kolpackov | 1 | -1/+9 | |
2020-06-20 | Fix assertion failure for unbound 'end' in testscript | Karen Arutyunov | 3 | -8/+36 | |
Issue #83. | |||||
2020-06-18 | Add env script pseudo-builtin | Karen Arutyunov | 1 | -0/+77 | |
Also disable C++ recipe tests when cross-testing. | |||||
2020-06-10 | Handle special variable names in base lexer via mode data | Boris Kolpackov | 2 | -27/+22 | |
2020-06-03 | Allow process path values and targets as buildscript program names | Karen Arutyunov | 1 | -1/+1 | |
Also deduce the recipe name. | |||||
2020-05-27 | Add support for value subscript after expansions | Boris Kolpackov | 1 | -8/+7 | |
Value subscript is only recognized in evaluation contexts (due to ambiguity with wildcard patterns; consider: $x[123].txt) and should be unseparated from the previous token. For example: x = ($y[1]) x = (($f ? $y : $z)[1]) x = ($identity($y)[$z]) |