aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/script
AgeCommit message (Collapse)AuthorFilesLines
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
2021-04-02Add support for propagating project environmentBoris Kolpackov1-2/+2
2021-03-04Enable regex linkage failure workaround for all libcpp versionsKaren Arutyunov1-7/+8
2021-02-25Raise libcpp version in regex-related check to 11.0Karen Arutyunov1-1/+1
2021-01-30Rework include translation supportBoris Kolpackov1-1/+0
See the config.cxx.translate_include variable documentation in cxx/init.cxx for details.
2020-12-11Add export script pseudo-builtinKaren Arutyunov8-39/+773