aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/build/script/script.hxx
AgeCommit message (Collapse)AuthorFilesLines
2022-10-18Invent diag preamble for buildscriptKaren Arutyunov1-7/+7
2022-10-13Add support for 'for' loop second (... | for x) and third (for x <...) forms ↵Karen Arutyunov1-1/+3
in script
2022-10-10Preparatory work for public/private variable distinctionBoris Kolpackov1-2/+5
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool().
2022-09-28Add support for 'while' loop in scriptKaren Arutyunov1-1/+2
2022-09-19Allow computed variables in depdb preamble similar to impure functionsBoris Kolpackov1-1/+2
2022-01-18Add dynamic prerequisites to $< unless --adhoc is specifiedBoris Kolpackov1-6/+14
Also add a few tests for depdb-dyndep.
2021-11-30Add support for dynamic dependencies as byproduct of script bodyBoris Kolpackov1-1/+2
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-23Add support for dynamic dependencies in ad hoc Buildscript recipesBoris Kolpackov1-3/+8
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.
2020-12-02Add support for buildscript depdb preambleKaren Arutyunov1-6/+16
2020-11-06Add support for test timeoutsKaren Arutyunov1-2/+24
2020-06-08Add note on why not using rule-specific variables for ad hoc recipesBoris Kolpackov1-2/+10
2020-06-05Add depdb buildscript builtinKaren Arutyunov1-2/+12
2020-06-04Properly handle diag directive in build script parserKaren Arutyunov1-2/+4
2020-06-03Allow process path values and targets as buildscript program namesKaren Arutyunov1-1/+0
Also deduce the recipe name.
2020-05-29Move low-verbosity command name from adhoc_script_rule to scriptBoris Kolpackov1-0/+5
2020-05-27Initial support for ad hoc recipes (still work in progress)Boris Kolpackov1-0/+156