aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-11-24Document Objective-C/C++ support in manualBoris Kolpackov1-0/+57
2022-11-23Take into account ad hoc recipes in rule::sub_match() (fixed GH issue #227)Boris Kolpackov3-66/+98
2022-11-23Rework diag_buffer interface to facilitate correct destruction orderBoris Kolpackov17-470/+444
2022-11-22Add support for Objective-C/C++ compilation in cc moduleBoris Kolpackov16-72/+294
2022-11-18Fix incorrect diag builtin examplesBoris Kolpackov2-4/+4
2022-11-18Fix test failure on WindowsBoris Kolpackov1-1/+1
2022-11-18Complete low verbosity diagnostics reworkBoris Kolpackov21-205/+877
2022-11-16Initial low verbosity diagnostics reworkBoris Kolpackov28-124/+664
2022-11-14Add buffering for simple test diagnosticsdiag-bufferKaren Arutyunov3-87/+430
Also fix simple test redirecting diff's stdout to stderr.
2022-11-14Make $process.run() print builtin command line on error and verbosity level >= 3Karen Arutyunov4-29/+44
2022-11-10Use small_vector for some script typesKaren Arutyunov1-3/+7
2022-11-09Use diag_buffer in scriptKaren Arutyunov16-571/+1023
2022-11-09Improve low-level diagnostics in `in` rule (and derived)Boris Kolpackov2-2/+38
2022-11-09Make process exit diagnostics in executable metadata extraction consistentBoris Kolpackov4-15/+35
2022-11-08Restore original error/ignore_exit semantics in run<>() overloadsBoris Kolpackov3-74/+64
2022-11-08Make process exit diagnostics consistentBoris Kolpackov20-169/+370
In particular, we now always print error message on non-0 exit except in cases where such exit is ignored.
2022-11-08Work around suspected GCC 12 mis-compilation (bug #107555)Boris Kolpackov2-16/+25
2022-11-08Add few missing noexcept qualificationsBoris Kolpackov2-4/+4
2022-11-08Allow passing fail diag record to diag_buffer::close()Boris Kolpackov3-20/+17
2022-11-08Tighten args const-ness in the run*() function familyBoris Kolpackov7-52/+42
2022-11-08Rework header dependency extraction with diagnostics bufferingBoris Kolpackov4-255/+422
2022-11-08Tweak match progress reporting for serial executionBoris Kolpackov1-1/+3
2022-11-08Add diag_buffer::open_eof()Boris Kolpackov2-5/+33
2022-11-08Add force flag to diag_buffer::read(), diag_buffer::write()Boris Kolpackov2-275/+280
2022-11-08Add diag_buffer::is_open()Boris Kolpackov1-0/+12
2022-11-08More work on child process diagnostics bufferingBoris Kolpackov27-593/+1316
2022-11-08Adjust to diagnostics epilogue interface changeBoris Kolpackov1-2/+2
2022-10-28Add ability to disable diagnostics buffering (--no-diag-buffer)Boris Kolpackov11-23/+110
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 Arutyunov3-7/+79
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 Arutyunov2-10/+43
2022-10-21Change attribute syntax in script to come after variable in set and for (set ↵Karen Arutyunov12-172/+286
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 Arutyunov3-9/+39
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 Kolpackov14-137/+476
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.