Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-01-21 | Add another overload of to_target(), declare in functions-name.hxx | Boris Kolpackov | 1 | -3/+2 | |
2022-01-21 | Add search_new() and search_new_locked() variants of search() | Boris Kolpackov | 1 | -2/+2 | |
2022-01-17 | Use UTF-8 as default input/source charset for C/C++ compilation | Boris Kolpackov | 1 | -27/+89 | |
2022-01-11 | Add note on MSVC warning C4819 | Boris Kolpackov | 1 | -0/+2 | |
2022-01-10 | Add psapi.lib and iphlpapi.lib to list of Windows system libraries | Boris Kolpackov | 1 | -0/+2 | |
2021-12-17 | Add TODO comment | Boris Kolpackov | 1 | -0/+5 | |
2021-12-14 | Clarify comment | Boris Kolpackov | 1 | -3/+2 | |
2021-12-06 | Recognize absolute Windows paths in make parser | Boris Kolpackov | 1 | -9/+20 | |
2021-11-30 | Add support for dynamic dependencies as byproduct of script body | Boris Kolpackov | 2 | -17/+23 | |
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-28 | Avoid unnecessary work in depdb::close() if using static check_mtime() | Boris Kolpackov | 1 | -1/+1 | |
2021-11-28 | Generalize depdb::touch functionality to support custom timestamp | Boris Kolpackov | 1 | -1/+1 | |
2021-11-24 | Fix bug in attempt to allow calling cc module functions during match | Boris Kolpackov | 1 | -2/+2 | |
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 | Add support for dynamic dependencies in ad hoc Buildscript recipes | Boris Kolpackov | 4 | -838/+140 | |
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 | Minor optimizations in cc::compile_rule | Boris Kolpackov | 1 | -5/+4 | |
2021-11-08 | Incorporate derived target types into generated header logic | Boris Kolpackov | 1 | -3/+25 | |
2021-11-05 | Keep multiple prefixless entries for generated header mapping | Boris Kolpackov | 2 | -36/+76 | |
2021-11-04 | Do not apply install scope to update-for-install pre-operation | Boris Kolpackov | 2 | -12/+33 | |
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-16 | Skip regenerating .pc files during uninstall | Boris Kolpackov | 2 | -2/+13 | |
2021-10-14 | Use tidier pc and def names instead of generic gen for .pc and .def generation | Boris Kolpackov | 1 | -1/+1 | |
2021-10-11 | Update Apple to vanilla Clang version mapping for Apple Clang 13.0.0 | Boris Kolpackov | 1 | -2/+5 | |
2021-10-07 | Fix bug in internal scope logic | Boris Kolpackov | 1 | -1/+1 | |
2021-10-07 | Verify libraries and targets they are linked to a for-install-compatible | Boris Kolpackov | 9 | -10/+38 | |
2021-10-07 | Minor install-related cleanups | Boris Kolpackov | 2 | -15/+24 | |
2021-10-05 | Get rid of no longer necessary diagnostics | Boris Kolpackov | 1 | -38/+2 | |
2021-10-04 | Optimize internal scope implementation | Boris Kolpackov | 5 | -70/+64 | |
2021-10-04 | Add support for treating specific libraries as always internal | Boris Kolpackov | 3 | -6/+34 | |
2021-10-01 | Add notion of internal scope, translate external -I to -isystem or equivalent | Boris Kolpackov | 10 | -51/+446 | |
2021-09-28 | Adapt to libbutl headers extension change from .mxx to .hxx | Karen Arutyunov | 3 | -4/+4 | |
2021-09-24 | Fortify tests against NDEBUG | Karen Arutyunov | 2 | -2/+6 | |
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 | 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-14 | Consistently install prerequisites from any scope by default | Boris Kolpackov | 2 | -12/+18 | |
It is also now possible to adjust this behavior with global config.install.scope override. Valid values for this variable are: project -- only from project strong -- from strong amalgamation weak -- from weak amalgamation global -- from all projects (default) | |||||
2021-09-09 | Handle Emscripten -pthread mode | Boris Kolpackov | 1 | -0/+15 | |
2021-08-12 | Add ${c,cxx}.deduplicate_export_libs() function | Boris Kolpackov | 4 | -0/+154 | |
This function deduplicates interface library dependencies by removing libraries that are also interface dependencies of the specified libraries. This can result in significantly better build performance for heavily interface-interdependent library families (for example, like Boost). Typical usage: import intf_libs = ... import intf_libs += ... ... import intf_libs += ... intf_libs = $cxx.deduplicate_export_libs($intf_libs) | |||||
2021-08-12 | Avoid duplication in Libs/Libs.private in generated .pc files | Boris Kolpackov | 3 | -23/+69 | |
2021-08-11 | Optimize process_libraries() some more | Boris Kolpackov | 3 | -16/+45 | |
2021-08-10 | Complete process_libraries() duplicate suppression work | Boris Kolpackov | 5 | -69/+114 | |
2021-08-09 | Merge library hashing and collection into single traversal pass | Boris Kolpackov | 4 | -230/+106 | |
It turns out this is a lot faster on deeply-dependent libraries like Boost while not having any noticeable differences for "sane" projects. | |||||
2021-08-09 | Print pkgconfig_save() command at verbosity 1 since can take long | Boris Kolpackov | 1 | -1/+6 | |
2021-08-05 | Implement traversal pruning in process_libraries() | Boris Kolpackov | 8 | -421/+503 | |
2021-08-05 | Add resolved library cache, use in cc::process_libraries() | Boris Kolpackov | 2 | -9/+74 | |
2021-07-22 | Adjust Emscripten Clang version to account for unreleased snapshots | Boris Kolpackov | 1 | -1/+17 | |
2021-07-20 | Map Apple Clang version 12.0.5 to vanilla Clang 10.0.0 | Boris Kolpackov | 1 | -16/+19 | |
2021-07-01 | Suppress duplicate libraries in pkg-config files | Boris Kolpackov | 3 | -46/+89 | |
2021-07-01 | Handle GCC versions in 9.2-win32 form (GitHub issue #156) | Boris Kolpackov | 1 | -25/+19 | |