Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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 | |
2021-10-04 | Document internal scope functionality | Boris Kolpackov | 1 | -1/+1 | |
2021-10-04 | Optimize internal scope implementation | Boris Kolpackov | 7 | -74/+68 | |
2021-10-04 | Add support for treating specific libraries as always internal | Boris Kolpackov | 5 | -8/+76 | |
2021-10-01 | Add notion of internal scope, translate external -I to -isystem or equivalent | Boris Kolpackov | 13 | -53/+552 | |
2021-10-01 | Add missing return to scope::bundle_root() | Boris Kolpackov | 1 | -0/+4 | |
2021-09-29 | Add notion of bundle amalgamation scope | Boris Kolpackov | 5 | -0/+58 | |
2021-09-28 | Adapt to libbutl headers extension change from .mxx to .hxx | Karen Arutyunov | 34 | -84/+84 | |
2021-09-24 | Fortify tests against NDEBUG | Karen Arutyunov | 12 | -10/+36 | |
2021-09-21 | Add more libraries to list of Windows system libraries | Boris Kolpackov | 1 | -0/+5 | |
2021-09-20 | Add more libraries to list of Windows system libraries | Boris Kolpackov | 1 | -2/+10 | |
2021-09-20 | Add support for disabling clean through target-prerequisite relationship | Boris Kolpackov | 7 | -37/+59 | |
Our current semantics is to clean any prerequisites that are in the same project (root scope) as the target and it may seem more natural to rather only clean prerequisites that are in the same base scope. While it's often true for simple projects, in more complex cases it's not unusual to have common intermediate build results (object files, utility libraries, etc) reside in the parent and/or sibling directories. With such arrangements, cleaning only in base (even from the project root) may leave such intermediate build results laying around (since there is no reason to list them as prerequisites of any directory aliases). So we clean in the root scope by default but now any target-prerequisite relationship can be marked not to trigger a clean with the clean=false prerequisite-specific value. | |||||
2021-09-20 | Improve MSVC /showIncludes output handling | Boris Kolpackov | 1 | -13/+35 | |
2021-09-20 | Add netapi32.lib to the list of Windows system libraries | Boris Kolpackov | 1 | -0/+1 | |
2021-09-20 | Assign pre-defined semantics to config.<project>.develop variables | Boris Kolpackov | 6 | -45/+123 | |
This variable allows a project to distinguish between development and consumption builds. While normally there is no distinction between these two modes, sometimes a project may need to provide additional functionality during development. For example, a source code generator which uses its own generated code in its implementation may need to provide a bootstrap step from the pre-generated code. Normally, such a step is only needed during development. See "Project Configuration" in the manual for details. | |||||
2021-09-17 | Add fallback update-for-uninstall rule to global scope | Boris Kolpackov | 1 | -3/+6 | |