aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/script
AgeCommit message (Collapse)AuthorFilesLines
2023-05-21Add support for dynamic target extraction in addition to prerequisitesBoris Kolpackov1-1/+3
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-04-05Allow creating context with bare minimum of initializationsBoris Kolpackov1-1/+1
This is used by bpkg to detect forwarded configurations without incurring the full context creation overhead.
2023-03-20Regenerate options parsing filesKaren Arutyunov1-0/+50
2023-01-09Fix simple and script tests to correctly terminate processes which don't ↵Karen Arutyunov1-34/+215
close stderr on exit
2022-12-15Add noexcept to move constructors and move assignment operatorsKaren Arutyunov3-8/+8
2022-12-14Improve empty simple value to empty list of names reduction heuristicsBoris Kolpackov1-2/+6
Specifically, do not reduce typed RHS empty simple values for prepend/append and additionally for assignment provided LHS is typed and is a container.
2022-12-12Adapt to dir_iterator API changeKaren Arutyunov1-2/+1
2022-11-29Use list instead of unordered_set in regex line_poolBoris Kolpackov2-4/+22
2022-11-24Fix skipping potential input for exit, etc script pseudo-builtinsKaren Arutyunov1-7/+22
2022-11-24Fix script to pass diag buffer reading end to process constructorKaren Arutyunov1-10/+7
2022-11-23Rework diag_buffer interface to facilitate correct destruction orderBoris Kolpackov1-14/+28
2022-11-14Make $process.run() print builtin command line on error and verbosity level >= 3Karen Arutyunov1-22/+13
2022-11-10Use small_vector for some script typesKaren Arutyunov1-3/+7
2022-11-09Use diag_buffer in scriptKaren Arutyunov4-529/+954
2022-11-08More work on child process diagnostics bufferingBoris Kolpackov1-0/+2
2022-10-27Initial work on child process diagnostics bufferingBoris Kolpackov1-1/+1
Currently this is implemented for C/C++ compile and link rules.
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 Arutyunov2-36/+53
x [...], for x [...])
2022-10-18Fix unexpected 'unterminated double-quoted sequence' script errorKaren Arutyunov2-7/+6
2022-10-14Fix 'for [<attrs>] x: ...' to treat <attrs> as value attributesKaren Arutyunov2-3/+7
2022-10-14Make -w|--whitespace to be default for for-loopKaren Arutyunov1-1/+1
2022-10-13Add support for 'for' loop second (... | for x) and third (for x <...) forms ↵Karen Arutyunov10-235/+1107
in script
2022-09-29Fix variable append logic in scriptBoris Kolpackov2-65/+16
2022-09-28Don't print true and false script builtins at verbosity level 2Karen Arutyunov1-1/+4
2022-09-28Add support for 'for' loop first form (for x:...) in scriptKaren Arutyunov4-17/+195
2022-09-28Add support for 'while' loop in scriptKaren Arutyunov6-114/+199
2022-08-17Allow matching empty output with here-document regex without ':' modifierKaren Arutyunov1-0/+25
2022-07-08Fix script::parser::need_cmdline_relex()Karen Arutyunov1-1/+1
2022-07-07Use new cmdline type for canned command lines in {Build,Test}scriptBoris Kolpackov2-12/+54
2022-07-01Regenerate options parsing filesKaren Arutyunov1-12/+41
2022-04-21Work around bogus -Wrestrict in GCC 12 (GCC bug #105329)Boris Kolpackov1-2/+8
2022-03-31Add missing init_process() call in regex unit testBoris Kolpackov1-0/+5
2022-03-11Add JSON format support for --structured-result option and info meta operationKaren Arutyunov2-4/+0
2022-02-18Factor out common CLI types (scanners, etc)Karen Arutyunov5-788/+160
2022-02-16Invent quoting modes for to_stream(name)Karen Arutyunov1-3/+3
2022-02-02Redo diagnostics without operator<< in namespace stdBoris Kolpackov1-0/+4
2021-11-23Add support for dynamic dependencies in ad hoc Buildscript recipesBoris Kolpackov4-86/+159
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-14Disable re-parse of sole expansions in BuildscriptBoris Kolpackov2-8/+16
2021-10-14Pass along parse_names_result during script command parsingBoris Kolpackov2-16/+23
2021-10-13Add --cwd|-t option to env pseudo-builtinKaren Arutyunov5-17/+87
2021-09-28Adapt to libbutl headers extension change from .mxx to .hxxKaren Arutyunov1-4/+4
2021-09-24Fortify tests against NDEBUGKaren Arutyunov2-1/+6
2021-09-14Impose 12K line count limit for regex matches in TestscriptBoris Kolpackov1-1/+15
2021-09-13Impose 16KB line length limit for regex matches in TestscriptBoris Kolpackov1-1/+14
2021-08-03Regenerate options parsing filesBoris Kolpackov3-14/+90
2021-06-03Fix crashing on test command output regex match failureKaren Arutyunov1-16/+42
2021-05-28Recognize quoting of first character in tokenBoris Kolpackov1-2/+2
Use this to relax the pattern inclusion/exclusion syntax to only require unquoted +/-.
2021-05-28Add pattern_mode::ignore and use in appropriate placesBoris Kolpackov1-6/+6
2021-05-28Make notion of name pattern explicit, fix various related loose endsBoris Kolpackov1-6/+6
2021-04-21Add buildscript depdb builtin 'env' commandKaren Arutyunov4-12/+29