aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-06-18Fix build2::script::parser::[reset_]quoted() to consider peeked token in ↵Karen Arutyunov1-2/+3
replay mode
2020-06-18Fix untracked variable check in buildscript parserKaren Arutyunov1-1/+1
2020-06-18Delay checking for ad hoc C++ recipe support until matchBoris Kolpackov2-9/+20
2020-06-16Add metadata for exe{b}, including whether it is statically-linkedBoris Kolpackov10-15/+100
Use this information to omit ad hoc C++ recipe tests is testing statically- linked build system.
2020-06-16Add $bin.link_member() functionBoris Kolpackov6-34/+138
Given a linker output target type ("exe", "lib[as]", or "libu[eas]") return the target type of lib{} group member ("liba" or "libs") that will be picked when linking a lib{} group to this target type.
2020-06-16Move common functionality from cc to binBoris Kolpackov11-226/+283
2020-06-15Diagnose building of module or ad hoc C++ recipe using static build systemBoris Kolpackov3-16/+38
2020-06-12Add standard Microsoft warning "disclaimer" to ad hoc C++ recipe projectsBoris Kolpackov1-0/+6
2020-06-12Fix invalid regex in C++ recipe testsBoris Kolpackov1-2/+2
2020-06-12Make order of imports stable in saved host build configurationBoris Kolpackov11-6/+30
2020-06-11Add date builtin description to Testscript manualKaren Arutyunov1-0/+29
2020-06-11Diagnose use of ad hoc C++ recipes with bootstrap build systemBoris Kolpackov1-1/+5
2020-06-11Add tests for ad hoc C++ recipesBoris Kolpackov3-9/+168
2020-06-11Fix bug in Testscript manualBoris Kolpackov1-1/+1
2020-06-10Fix bootstrap buildBoris Kolpackov1-0/+4
2020-06-10Reorder inline function definitions to help MinGW GCCBoris Kolpackov1-7/+7
2020-06-10Update submodulesBoris Kolpackov2-0/+0
2020-06-10Add ad hoc recipe if-else, switch tests (and fix bug)Boris Kolpackov2-4/+159
2020-06-10Handle special variable names when spelled as $(<char>) rather than $<char>Boris Kolpackov5-6/+69
2020-06-10Handle special variable names in base lexer via mode dataBoris Kolpackov7-62/+52
2020-06-10Fix bug in subscript of NULL valuesBoris Kolpackov1-1/+3
2020-06-09Make importation of unqualified targets illegalBoris Kolpackov2-6/+13
2020-06-09Drop unused lambdaBoris Kolpackov1-13/+0
2020-06-09Handle empty target_key value (directory) in as_name()Boris Kolpackov1-4/+10
2020-06-09Move C++ modules sidebuild to build/cc/build/modules/ subdirectoryBoris Kolpackov4-13/+26
2020-06-09Move recipe build directory to build/build/recipes/Boris Kolpackov4-15/+27
Our new scheme is to have any "out" content in a subdirectory called build/ (build/build/ for the build system core, build/<module>/build/ for modules). This way we can ignore them in .gitignore with a generic entry.
2020-06-09Update Testscript manual with notes on redirect aliasesBoris Kolpackov1-12/+40
2020-06-09Factor ad hoc C++ and Buildscript rules into separate filesBoris Kolpackov7-1331/+1399
2020-06-09Make metadata variable prefix mandatoryBoris Kolpackov5-39/+20
While we could automatically set it if the target is imported, there is nothing we can do if the target is used in the same project. So to avoid confusion we make it mandatory.
2020-06-08Add buildscript recipe testsKaren Arutyunov2-0/+100
2020-06-08Cleanup script command failure diagnosticsKaren Arutyunov7-21/+35
2020-06-08Fix crashing when special builtin appears inside if condition or branchKaren Arutyunov2-1/+33
2020-06-08Fix crashing for buildscript diag line using non-local variableKaren Arutyunov1-11/+35
2020-06-08Various minor fixesKaren Arutyunov2-3/+3
2020-06-08Improve depdb::check_mtime() diagnosticsBoris Kolpackov1-0/+8
2020-06-08Hash ad hoc prerequsites for ad hoc recipe change detectionBoris Kolpackov5-69/+152
2020-06-08Adjust rule_match name for ad hoc recipesBoris Kolpackov3-5/+14
2020-06-08Add note on why not using rule-specific variables for ad hoc recipesBoris Kolpackov1-2/+10
2020-06-08Fix handling of inner/outer operations in ad hoc recipes machineryBoris Kolpackov3-14/+29
2020-06-05Add depdb buildscript builtinKaren Arutyunov10-284/+521
2020-06-05Add ability to split ad hoc C++ recipe into global and local fragmentsBoris Kolpackov3-22/+139
Specifically, now we can write: {{ c++ 1 -- #include <map> -- recipe apply (action, target&) const override { ... } }}
2020-06-05Add ability to specify ad hoc recipe actionsBoris Kolpackov16-108/+284
We are reusing the buildspec syntax for that.
2020-06-04Properly handle diag directive in build script parserKaren Arutyunov11-125/+367
2020-06-03Fix $process.run() to properly handle proces_path_exKaren Arutyunov4-21/+54
2020-06-03Add clarifying commentBoris Kolpackov1-0/+5
2020-06-03Allow process path values and targets as buildscript program namesKaren Arutyunov20-123/+953
Also deduce the recipe name.
2020-06-03Fix function family for $target.path()Karen Arutyunov1-1/+1
2020-06-03Add name::file() predicateBoris Kolpackov1-0/+8
2020-06-03Get rid of remaining typedef'sBoris Kolpackov4-5/+5
2020-06-03Add versioning for ad hoc C++ recipesBoris Kolpackov4-21/+60
This will allow us to deal with backward-incompatible changes to cxx_rule interface and semantics.