Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-12-02 | Automatically register pattern rules for dist meta-operation | Boris Kolpackov | 2 | -4/+33 | |
We need to do this in order to inject additional pattern prerequisites which may "pull" additional sources into the distribution. | |||||
2021-12-02 | Add $root_directory(<path>) function | Boris Kolpackov | 1 | -1/+42 | |
2021-12-02 | Add $relative(<path>,<dir-path>) function | Boris Kolpackov | 1 | -1/+66 | |
2021-12-01 | Don't save test configuration variables to ~build2 configuration | Karen Arutyunov | 1 | -11/+14 | |
Also stop saving blank lines between groups of options. | |||||
2021-11-30 | Get rid of unused lambda captures | Boris Kolpackov | 1 | -4/+4 | |
2021-11-30 | Add support for dynamic dependencies as byproduct of script body | Boris Kolpackov | 13 | -327/+1136 | |
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-30 | Add support for reopening depdb | Boris Kolpackov | 2 | -16/+101 | |
2021-11-29 | Fix bug in in::rule | Boris Kolpackov | 2 | -4/+4 | |
2021-11-28 | Avoid unnecessary work in depdb::close() if using static check_mtime() | Boris Kolpackov | 4 | -6/+8 | |
2021-11-28 | Generalize depdb::touch functionality to support custom timestamp | Boris Kolpackov | 4 | -10/+34 | |
2021-11-26 | Add $size(string), $size(path), and $size(dir_path) functions | Boris Kolpackov | 2 | -0/+16 | |
2021-11-24 | Fix bug in attempt to allow calling cc module functions during match | Boris Kolpackov | 1 | -2/+2 | |
2021-11-24 | Add ability to add extra depdb entries in in::rule | Boris Kolpackov | 2 | -6/+21 | |
2021-11-24 | Allow calling cc module functions during match | Boris Kolpackov | 1 | -2/+8 | |
An ad hoc recipe with dynamic dependency extraction (depdb-dyndep) executes its depdb preamble during match (but after matching all the prerequisites). | |||||
2021-11-23 | Fix multi-line comment parsing to accept trailing eos in place of newline | Boris Kolpackov | 1 | -6/+7 | |
2021-11-23 | Add support for dynamic dependencies in ad hoc Buildscript recipes | Boris Kolpackov | 29 | -1263/+4718 | |
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-11-16 | Ignore (with warning) directory symlink cycles in bootstrap dist | Boris Kolpackov | 1 | -3/+44 | |
2021-11-16 | Minor optimizations in cc::compile_rule | Boris Kolpackov | 1 | -5/+4 | |
2021-11-09 | Suppress few unused variable warnings caused by NDEBUG | Boris Kolpackov | 1 | -5/+10 | |
While we normally don't bother, these specific cases cause failures in the ad hoc C++ recipe tests. | |||||
2021-11-08 | Incorporate derived target types into generated header logic | Boris Kolpackov | 2 | -6/+37 | |
2021-11-05 | Keep multiple prefixless entries for generated header mapping | Boris Kolpackov | 3 | -36/+78 | |
2021-11-04 | Do not apply install scope to update-for-install pre-operation | Boris Kolpackov | 4 | -14/+39 | |
2021-11-04 | Add $size() function to get size of sequence (names, strings, etc) | Boris Kolpackov | 4 | -40/+82 | |
2021-11-03 | Add line processing customization hook to in::rule | Boris Kolpackov | 7 | -141/+268 | |
2021-11-02 | Add $sort() function | Boris Kolpackov | 4 | -1/+150 | |
Available overloads: $sort(<names> [, <flags>]) $sort(<ints> [, <flags>]) $sort(<strings> [, <flags>]) $sort(<paths> [, <flags>]) $sort(<dir_paths> [, <flags>]) The following flag is supported by the all overloads: dedup - in addition to sorting also remove duplicates Additionally, the strings overload also support the following flag: icase - sort ignoring case Note that on case-insensitive filesystem the paths and dir_paths overload's order is case-insensitive. | |||||
2021-10-27 | Handle "common symbols" in symbol exporting .def generation rule | Boris Kolpackov | 1 | -15/+53 | |
2021-10-26 | Add comment | Boris Kolpackov | 1 | -2/+4 | |
2021-10-21 | Add more entries to list of Windows system libraries | Boris Kolpackov | 1 | -0/+2 | |
2021-10-21 | Skip NULL entries in BMI's prerequisite_targets when looking for source | Boris Kolpackov | 1 | -1/+1 | |
Fixes GitHub issue #169. | |||||
2021-10-21 | Add build.progress global variable with --[no-]progress option value | Boris Kolpackov | 1 | -0/+11 | |
2021-10-20 | Change to version 0.15.0-a.0.z | Boris Kolpackov | 1 | -1/+1 | |
2021-10-16 | Release version 0.14.0v0.14.0 | Boris Kolpackov | 1 | -1/+1 | |
2021-10-16 | Skip regenerating .pc files during uninstall | Boris Kolpackov | 2 | -2/+13 | |
2021-10-16 | Improve info meta-operation not to print trailing spaces | Boris Kolpackov | 1 | -8/+22 | |
2021-10-15 | Allow explicit amalgamation by simple projects | Boris Kolpackov | 1 | -9/+8 | |
2021-10-14 | Map latest to -std=c++2b from Clang 13, /std:c++20 from MSVC 16.11 | Boris Kolpackov | 1 | -17/+16 | |
2021-10-14 | Use tidier pc and def names instead of generic gen for .pc and .def generation | Boris Kolpackov | 2 | -2/+2 | |
2021-10-14 | Disable re-parse of sole expansions in Buildscript | Boris Kolpackov | 6 | -12/+53 | |
2021-10-14 | Pass along parse_names_result during script command parsing | Boris Kolpackov | 4 | -28/+34 | |
2021-10-14 | Add ability to detect sole expansion in parser::parse_names() | Boris Kolpackov | 2 | -7/+15 | |
2021-10-13 | Add --cwd|-t option to env pseudo-builtin | Karen Arutyunov | 5 | -17/+87 | |
2021-10-13 | Allow out-qualified names in $name.*() function family | Boris Kolpackov | 1 | -19/+36 | |
2021-10-11 | Update Apple to vanilla Clang version mapping for Apple Clang 13.0.0 | Boris Kolpackov | 1 | -2/+5 | |
2021-10-11 | Update bin.lib.version documentation | Boris Kolpackov | 1 | -3/+0 | |
2021-10-07 | Fix bug in internal scope logic | Boris Kolpackov | 1 | -1/+1 | |
2021-10-07 | Allow forcing installation of exe{} prerequisites of file targets | Boris Kolpackov | 3 | -3/+13 | |
This can be achieved with prerequisite-specific install=true, for example: exe{foo}: exe{bar}: install = true # foo runs bar | |||||
2021-10-07 | Verify libraries and targets they are linked to a for-install-compatible | Boris Kolpackov | 10 | -11/+45 | |
2021-10-07 | Minor install-related cleanups | Boris Kolpackov | 5 | -18/+43 | |
2021-10-06 | Do not install exe{} prerequisites of file targets | Boris Kolpackov | 2 | -7/+18 | |
2021-10-05 | Get rid of no longer necessary diagnostics | Boris Kolpackov | 1 | -38/+2 | |