Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-06-16 | Add $bin.link_member() function | Boris Kolpackov | 6 | -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-16 | Move common functionality from cc to bin | Boris Kolpackov | 11 | -226/+283 | |
2020-06-15 | Diagnose building of module or ad hoc C++ recipe using static build system | Boris Kolpackov | 3 | -16/+38 | |
2020-06-12 | Add standard Microsoft warning "disclaimer" to ad hoc C++ recipe projects | Boris Kolpackov | 1 | -0/+6 | |
2020-06-12 | Make order of imports stable in saved host build configuration | Boris Kolpackov | 9 | -5/+21 | |
2020-06-11 | Diagnose use of ad hoc C++ recipes with bootstrap build system | Boris Kolpackov | 1 | -1/+5 | |
2020-06-10 | Fix bootstrap build | Boris Kolpackov | 1 | -0/+4 | |
2020-06-10 | Reorder inline function definitions to help MinGW GCC | Boris Kolpackov | 1 | -7/+7 | |
2020-06-10 | Add ad hoc recipe if-else, switch tests (and fix bug) | Boris Kolpackov | 1 | -4/+10 | |
2020-06-10 | Handle special variable names when spelled as $(<char>) rather than $<char> | Boris Kolpackov | 5 | -6/+69 | |
2020-06-10 | Handle special variable names in base lexer via mode data | Boris Kolpackov | 7 | -62/+52 | |
2020-06-10 | Fix bug in subscript of NULL values | Boris Kolpackov | 1 | -1/+3 | |
2020-06-09 | Make importation of unqualified targets illegal | Boris Kolpackov | 2 | -6/+13 | |
2020-06-09 | Drop unused lambda | Boris Kolpackov | 1 | -13/+0 | |
2020-06-09 | Handle empty target_key value (directory) in as_name() | Boris Kolpackov | 1 | -4/+10 | |
2020-06-09 | Move C++ modules sidebuild to build/cc/build/modules/ subdirectory | Boris Kolpackov | 4 | -13/+26 | |
2020-06-09 | Move recipe build directory to build/build/recipes/ | Boris Kolpackov | 4 | -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-09 | Factor ad hoc C++ and Buildscript rules into separate files | Boris Kolpackov | 7 | -1331/+1399 | |
2020-06-09 | Make metadata variable prefix mandatory | Boris Kolpackov | 5 | -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-08 | Cleanup script command failure diagnostics | Karen Arutyunov | 3 | -18/+23 | |
2020-06-08 | Fix crashing when special builtin appears inside if condition or branch | Karen Arutyunov | 2 | -1/+33 | |
2020-06-08 | Fix crashing for buildscript diag line using non-local variable | Karen Arutyunov | 1 | -11/+35 | |
2020-06-08 | Various minor fixes | Karen Arutyunov | 2 | -3/+3 | |
2020-06-08 | Improve depdb::check_mtime() diagnostics | Boris Kolpackov | 1 | -0/+8 | |
2020-06-08 | Hash ad hoc prerequsites for ad hoc recipe change detection | Boris Kolpackov | 5 | -69/+152 | |
2020-06-08 | Adjust rule_match name for ad hoc recipes | Boris Kolpackov | 3 | -5/+14 | |
2020-06-08 | Add note on why not using rule-specific variables for ad hoc recipes | Boris Kolpackov | 1 | -2/+10 | |
2020-06-08 | Fix handling of inner/outer operations in ad hoc recipes machinery | Boris Kolpackov | 3 | -14/+29 | |
2020-06-05 | Add depdb buildscript builtin | Karen Arutyunov | 9 | -284/+520 | |
2020-06-05 | Add ability to split ad hoc C++ recipe into global and local fragments | Boris Kolpackov | 3 | -22/+139 | |
Specifically, now we can write: {{ c++ 1 -- #include <map> -- recipe apply (action, target&) const override { ... } }} | |||||
2020-06-05 | Add ability to specify ad hoc recipe actions | Boris Kolpackov | 13 | -67/+210 | |
We are reusing the buildspec syntax for that. | |||||
2020-06-04 | Properly handle diag directive in build script parser | Karen Arutyunov | 10 | -122/+363 | |
2020-06-03 | Fix $process.run() to properly handle proces_path_ex | Karen Arutyunov | 4 | -21/+54 | |
2020-06-03 | Add clarifying comment | Boris Kolpackov | 1 | -0/+5 | |
2020-06-03 | Allow process path values and targets as buildscript program names | Karen Arutyunov | 19 | -84/+656 | |
Also deduce the recipe name. | |||||
2020-06-03 | Fix function family for $target.path() | Karen Arutyunov | 1 | -1/+1 | |
2020-06-03 | Add name::file() predicate | Boris Kolpackov | 1 | -0/+8 | |
2020-06-03 | Get rid of remaining typedef's | Boris Kolpackov | 4 | -5/+5 | |
2020-06-03 | Add versioning for ad hoc C++ recipes | Boris Kolpackov | 3 | -19/+58 | |
This will allow us to deal with backward-incompatible changes to cxx_rule interface and semantics. | |||||
2020-06-03 | Factor implementation-specific ad hoc recipe parsing to adhoc_*_rule | Boris Kolpackov | 5 | -93/+128 | |
2020-06-02 | Hash checksum metadata of exe prerequisites in ad hoc script rule | Boris Kolpackov | 1 | -16/+56 | |
2020-06-02 | Add $target.process_path() analogous to $target.path() | Boris Kolpackov | 3 | -3/+33 | |
2020-06-02 | Add process_path_ex with program stable name and checksum | Boris Kolpackov | 10 | -58/+305 | |
2020-06-01 | Fix buildscript unit test to compile | Boris Kolpackov | 1 | -1/+1 | |
2020-06-01 | Extend target metadata to include variable prefix, stable name | Boris Kolpackov | 4 | -31/+106 | |
2020-05-29 | Move low-verbosity command name from adhoc_script_rule to script | Boris Kolpackov | 6 | -17/+27 | |
2020-05-29 | Add support for is-else, switch in ad hoc recipes | Boris Kolpackov | 2 | -131/+278 | |
2020-05-28 | Allow calling certain search_existing() versions during load phase | Boris Kolpackov | 4 | -10/+9 | |
This is necessary for $target.path() implementation. | |||||
2020-05-28 | Regenerate options parsing code | Boris Kolpackov | 1 | -9/+10 | |
2020-05-27 | Add support for value subscript after expansions | Boris Kolpackov | 8 | -84/+210 | |
Value subscript is only recognized in evaluation contexts (due to ambiguity with wildcard patterns; consider: $x[123].txt) and should be unseparated from the previous token. For example: x = ($y[1]) x = (($f ? $y : $z)[1]) x = ($identity($y)[$z]) |