aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/build/script/builtin-options.cxx
AgeCommit message (Collapse)AuthorFilesLines
2022-02-18Factor out common CLI types (scanners, etc)Karen Arutyunov1-361/+156
2022-01-18Add dynamic prerequisites to $< unless --adhoc is specifiedBoris Kolpackov1-0/+3
Also add a few tests for depdb-dyndep.
2021-12-03Add depdb-dyndep --drop-cycles optionBoris Kolpackov1-1/+4
2021-11-30Add support for dynamic dependencies as byproduct of script bodyBoris Kolpackov1-39/+44
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-0/+701
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.