aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
AgeCommit message (Collapse)AuthorFilesLines
2022-11-08More work on child process diagnostics bufferingBoris Kolpackov26-591/+1312
2022-11-08Adjust to diagnostics epilogue interface changeBoris Kolpackov1-2/+2
2022-10-28Add ability to disable diagnostics buffering (--no-diag-buffer)Boris Kolpackov10-23/+109
2022-10-27Suppress (potential) bogus GCC 12 -Wrestrict warningsBoris Kolpackov11-25/+25
2022-10-27Initial work on child process diagnostics bufferingBoris Kolpackov10-87/+578
Currently this is implemented for C/C++ compile and link rules.
2022-10-25Adapt to butl::semantic_version API changeKaren Arutyunov2-5/+12
2022-10-25Allow concatenation of path/dir_path type to be a path patternKaren Arutyunov1-6/+49
2022-10-24Allow conversion of untyped split dir/value names to stringBoris Kolpackov1-11/+19
2022-10-24Allow non-parallel absolute src/out to support imported target taggingBoris Kolpackov2-20/+43
Also fix bug in out clearing.
2022-10-21Add support for pairs in script 'for x:...' loopKaren Arutyunov1-10/+9
2022-10-21Change attribute syntax in script to come after variable in set and for (set ↵Karen Arutyunov8-118/+174
x [...], for x [...])
2022-10-21Add clarifying commentBoris Kolpackov2-0/+6
2022-10-21Pass correct base scope to search() in dyndep::enter_file()Boris Kolpackov1-6/+31
2022-10-21Fix bug in file_cache::entry move constructor and assignment operatorBoris Kolpackov1-0/+4
2022-10-21Handle freestanding/broken setups when entering importable std headersBoris Kolpackov1-17/+30
Fixes GH issue #219.
2022-10-20Don't create targets for non-existent source filesBoris Kolpackov3-18/+28
2022-10-20Ignore post hoc prerequisites in dist ruleBoris Kolpackov1-1/+7
2022-10-20Tweak documentation in parser::parse_for()Karen Arutyunov1-2/+2
2022-10-20Add support for for-loop element typeKaren Arutyunov2-9/+25
2022-10-20Fix parser::mode() so for peeked token on replay it returns its lexing modeKaren Arutyunov1-2/+11
2022-10-20Diagnose incorrect output directory specificationBoris Kolpackov4-22/+90
2022-10-20Implement parallel execution of post hoc prerequisitesBoris Kolpackov2-9/+48
2022-10-19Handle operation-specific variable values in post hoc logicBoris Kolpackov1-1/+19
2022-10-19Minor tweaks to target_lock passing semanticsBoris Kolpackov2-3/+9
This should also get rid of the bogus -Wdangling-pointer issued by GCC 12.
2022-10-19Add support for post hoc prerequisitesBoris Kolpackov13-136/+443
Unlike normal and ad hoc prerequisites, a post hoc prerequisite is built after the target, not before. It may also form a dependency cycle together with normal/ad hoc prerequisites. In other words, all this form of dependency guarantees is that a post hoc prerequisite will be built if its dependent target is built. See the NEWS file for details and an example.
2022-10-18Fix unexpected 'unterminated double-quoted sequence' script errorKaren Arutyunov11-54/+152
2022-10-18Add unexpected 'unterminated double-quoted sequence' error testscript ↵Karen Arutyunov2-0/+26
reproducers
2022-10-18Invent diag preamble for buildscriptKaren Arutyunov6-140/+354
2022-10-17Add pkg-config search tracingBoris Kolpackov1-2/+14
2022-10-17Tolerate case differences when looking for pkg-config filesBoris Kolpackov1-18/+26
2022-10-14Fix 'for [<attrs>] x: ...' to treat <attrs> as value attributesKaren Arutyunov8-57/+37
2022-10-14Make -w|--whitespace to be default for for-loopKaren Arutyunov1-1/+1
2022-10-14Fix printing test id multiple times on test failureKaren Arutyunov2-14/+44
2022-10-13Work around Clang 6, 7 codegen issuesBoris Kolpackov3-36/+28
2022-10-13Reorder functions to help MinGW GCC with DLL symbol exportingBoris Kolpackov1-8/+8
2022-10-13Fix bug in pkg-config metadata extraction logicBoris Kolpackov1-6/+9
2022-10-13Fix couple of corner cases in public/private variable modelBoris Kolpackov2-45/+49
2022-10-13Improve diagnosticsBoris Kolpackov1-0/+12
2022-10-13Add support for 'for' loop second (... | for x) and third (for x <...) forms ↵Karen Arutyunov33-403/+3104
in script
2022-10-13Optimize by going straight to public variable pool where applicableBoris Kolpackov15-61/+109
2022-10-13Add visibility, overridable variable attributesBoris Kolpackov3-11/+77
2022-10-13Switch to public/private variables modelBoris Kolpackov18-128/+275
Now unqualified variables are project-private and can be typified.
2022-10-11Factor variable patterns out of variable_pool into separate variable_patternsBoris Kolpackov6-94/+168
We have patterns only for the public variables pool.
2022-10-10Preparatory work for public/private variable distinctionBoris Kolpackov31-112/+357
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool().
2022-10-10Use term shared instead of global for scope, var pool, etcBoris Kolpackov4-30/+32
2022-10-05Check for `-`-spelled cl.exe options in addition to `/`-spelledBoris Kolpackov1-19/+29
2022-09-30Move integer and bool function to separate source/testscript filesBoris Kolpackov4-158/+202
2022-09-29Tighten low-verbosity diagnostics name deduction logicBoris Kolpackov3-4/+61
Specifically, don't try to derive low-verbosity name from what looks like an eval context of a function call.
2022-09-29Add $find(<sequence>, <value>), $find_index(<sequence>, <value>) functionsBoris Kolpackov4-2/+155
The $find() function returns true if the sequence contains the specified value. The $find_index() function returns the index of the first element in the sequence that is equal to the specified value or $size(<sequence>) if none is found. For string sequences, it's possible to request case- insensitive comparison with a flag.
2022-09-29Fix variable append logic in scriptBoris Kolpackov8-91/+105