Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-05-30 | Add support for fsdir{} dynamic prerequisites in the dyndep lines format | Boris Kolpackov | 2 | -2/+61 | |
This can be used to handle situations where the dynamic targets are placed into subdirectories. | |||||
2023-05-30 | Add depdb-dyndep --target-extension-type option | Boris Kolpackov | 5 | -9/+122 | |
This allows specifying custom extension to target type mapping. | |||||
2023-05-30 | Store dynamic group member types in depdb, use in clean | Boris Kolpackov | 2 | -16/+89 | |
2023-05-29 | New 'lines' dependency format in depdb-dyndep | Boris Kolpackov | 3 | -10/+172 | |
2023-05-29 | Extend special match_rule() logic to all groups with dynamic targets | Boris Kolpackov | 1 | -1/+1 | |
2023-05-29 | Clean after each depdb-dyndep execution | Boris Kolpackov | 1 | -11/+51 | |
2023-05-29 | Explicit group: pattern members | Boris Kolpackov | 1 | -1/+1 | |
2023-05-29 | Explicit group: dynamic members | Boris Kolpackov | 2 | -23/+82 | |
2023-05-29 | Explicit group: static members | Boris Kolpackov | 4 | -24/+65 | |
2023-05-21 | Add support for dynamic target extraction in addition to prerequisites | Boris Kolpackov | 7 | -96/+539 | |
This functionality is enabled with the depdb-dyndep --dyn-target option. Only the make format is supported, where the listed targets are added as ad hoc group members (unless already specified as static members). This functionality is not available in the --byproduct mode. | |||||
2023-03-20 | Regenerate options parsing files | Karen Arutyunov | 1 | -0/+50 | |
2022-11-25 | Use operation name as a buildscript name if unable to deduce | Karen Arutyunov | 3 | -13/+22 | |
2022-11-18 | Complete low verbosity diagnostics rework | Boris Kolpackov | 3 | -11/+12 | |
2022-11-09 | Use diag_buffer in script | Karen Arutyunov | 3 | -9/+13 | |
2022-10-21 | Change attribute syntax in script to come after variable in set and for (set ↵ | Karen Arutyunov | 2 | -33/+49 | |
x [...], for x [...]) | |||||
2022-10-20 | Add support for for-loop element type | Karen Arutyunov | 1 | -1/+1 | |
2022-10-18 | Fix unexpected 'unterminated double-quoted sequence' script error | Karen Arutyunov | 4 | -21/+23 | |
2022-10-18 | Add unexpected 'unterminated double-quoted sequence' error testscript ↵ | Karen Arutyunov | 2 | -0/+26 | |
reproducers | |||||
2022-10-18 | Invent diag preamble for buildscript | Karen Arutyunov | 5 | -108/+293 | |
2022-10-14 | Fix 'for [<attrs>] x: ...' to treat <attrs> as value attributes | Karen Arutyunov | 2 | -15/+15 | |
2022-10-13 | Add support for 'for' loop second (... | for x) and third (for x <...) forms ↵ | Karen Arutyunov | 11 | -69/+868 | |
in script | |||||
2022-10-10 | Preparatory work for public/private variable distinction | Boris Kolpackov | 4 | -11/+16 | |
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool(). | |||||
2022-09-29 | Tighten low-verbosity diagnostics name deduction logic | Boris Kolpackov | 1 | -3/+41 | |
Specifically, don't try to derive low-verbosity name from what looks like an eval context of a function call. | |||||
2022-09-29 | Fix variable append logic in script | Boris Kolpackov | 2 | -12/+29 | |
2022-09-28 | Add support for 'for' loop first form (for x:...) in script | Karen Arutyunov | 3 | -34/+271 | |
2022-09-28 | Add support for 'while' loop in script | Karen Arutyunov | 8 | -72/+324 | |
2022-09-19 | Allow computed variables in depdb preamble similar to impure functions | Boris Kolpackov | 3 | -9/+49 | |
2022-07-26 | Re-enable temporarily disable tests (part of cmdline work) | Boris Kolpackov | 2 | -10/+2 | |
2022-07-07 | Use new cmdline type for canned command lines in {Build,Test}script | Boris Kolpackov | 2 | -45/+68 | |
2022-07-01 | Regenerate options parsing files | Karen Arutyunov | 1 | -6/+35 | |
2022-06-28 | Add support for querying out-qualified target-specific variables | Boris Kolpackov | 2 | -2/+2 | |
2022-06-24 | Allow ad hoc rules not to list targets that are updated during match | Boris Kolpackov | 1 | -1/+8 | |
For example, this allows a Qt moc rule not to list generated headers from libQtCore since they are pre-generated by the library. | |||||
2022-06-21 | Add --trace-{match,execute} options | Boris Kolpackov | 1 | -3/+3 | |
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 | 1 | -1/+1 | |
2022-03-11 | Add JSON format support for --structured-result option and info meta operation | Karen Arutyunov | 2 | -4/+0 | |
2022-03-07 | Add support for update=unmatch|match to ad hoc recipes | Boris Kolpackov | 1 | -0/+13 | |
2022-03-02 | Add update operation-specific variable with unmatch|match additional values | Boris Kolpackov | 2 | -7/+7 | |
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-18 | Factor out common CLI types (scanners, etc) | Karen Arutyunov | 6 | -919/+175 | |
2022-02-16 | Invent quoting modes for to_stream(name) | Karen Arutyunov | 1 | -1/+1 | |
2022-02-10 | Make few global types separately constructible/initializable | Boris Kolpackov | 1 | -1/+1 | |
2022-01-18 | Add dynamic prerequisites to $< unless --adhoc is specified | Boris Kolpackov | 7 | -30/+101 | |
Also add a few tests for depdb-dyndep. | |||||
2022-01-06 | Add depdb-dyndep --update-{include,exclude} options | Boris Kolpackov | 3 | -36/+327 | |
These options specify prerequisite targets/patterns to include/exclude (from the static prerequisite set) for update during match as part of dynamic dependency extraction (those excluded will be updated during execute). For example: depdb dyndep ... --update-exclude libue{hello-meta} ... depdb dyndep ... --update-exclude libue{*} ... depdb dyndep ... --update-include $moc --update-include hxx{*} ... The order in which these options are specified is significant with the first target/pattern that matches determining the result. If only the --update-include options are specified, then only the explicitly included prerequisites will be updated. Otherwise, all prerequisites that are not explicitly excluded will be updated. If none of these options is specified, then all the static prerequisites are updated during match. Note also that these options do not apply to ad hoc prerequisites which are always updated during match. | |||||
2021-12-06 | Recognize absolute Windows paths in make parser | Boris Kolpackov | 1 | -1/+1 | |
2021-12-06 | Redo make_parser interface to return path, handle invalid_path exception | Boris Kolpackov | 1 | -4/+2 | |
2021-12-03 | Add depdb-dyndep --drop-cycles option | Boris Kolpackov | 6 | -27/+84 | |
2021-11-30 | Add support for dynamic dependencies as byproduct of script body | Boris Kolpackov | 7 | -159/+368 | |
Specifically, the `depdb dyndep` builtin now has the --byproduct option (which must come first). In this mode only the --file input is supported. For example: obje{hello.o}: cxx{hello} {{ o = $path($>) t = $(o).t depdb dyndep --byproduct --what=header --default-type=h --file $t diag c++ ($<[0]) $cxx.path $cxx.poptions $cc.poptions $cc.coptions $cxx.coptions $cxx.mode -o $o -MD -MF $t -c $path($<[0]) }} Naturally, this mode does not support dynamic auto-generated prerequisites. If present, such prerequisites must be specified statically in the buildfile. Note also that the --default-prereq-type option has been rename to --default-type. | |||||
2021-11-23 | Add support for dynamic dependencies in ad hoc Buildscript recipes | Boris Kolpackov | 10 | -94/+2501 | |
Specifically, add the new `depdb dyndep` builtin that can be used to extract dynamic dependencies from a program run or a file. For example: obje{hello.o}: cxx{hello} {{ s = $path($<[0]) depdb dyndep $cxx.poptions $cc.poptions --what=header --default-prereq-type=h -- $cxx.path $cxx.poptions $cc.poptions $cxx.mode -M -MG $s diag c++ ($<[0]) o = $path($>) $cxx.path $cxx.poptions $cc.poptions $cc.coptions $cxx.coptions $cxx.mode -o $o -c $s }} Currently only the `make` dependency format is supported. | |||||
2021-10-14 | Disable re-parse of sole expansions in Buildscript | Boris Kolpackov | 3 | -3/+36 | |
2021-10-14 | Pass along parse_names_result during script command parsing | Boris Kolpackov | 2 | -12/+11 | |