Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-11-23 | Add support for dynamic dependencies in ad hoc Buildscript recipes | Boris Kolpackov | 1 | -33/+11 | |
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-05 | Keep multiple prefixless entries for generated header mapping | Boris Kolpackov | 1 | -3/+4 | |
2021-10-01 | Add notion of internal scope, translate external -I to -isystem or equivalent | Boris Kolpackov | 1 | -1/+3 | |
2021-08-10 | Complete process_libraries() duplicate suppression work | Boris Kolpackov | 1 | -2/+2 | |
2021-08-05 | Implement traversal pruning in process_libraries() | Boris Kolpackov | 1 | -1/+2 | |
2021-05-13 | Rename sys_inc_dirs to sys_hdr_dirs for consistency | Boris Kolpackov | 1 | -1/+1 | |
2021-05-13 | Add ${c,cxx}.find_system_{header,library}() functions | Boris Kolpackov | 1 | -0/+4 | |
2021-03-16 | Define intermediate build results file cache interface | Boris Kolpackov | 1 | -3/+3 | |
2021-02-03 | Propagate relevant options/prerequisites to header unit sidebuilds | Boris Kolpackov | 1 | -2/+3 | |
2020-12-11 | Minor module mapper fixes | Boris Kolpackov | 1 | -1/+1 | |
2020-12-11 | Add support for module interface-only libraries | Boris Kolpackov | 1 | -1/+1 | |
Also suppress generation of the object file in cases where we don't need it. | |||||
2020-12-01 | Modules-related refactoring | Boris Kolpackov | 1 | -3/+4 | |
2020-11-30 | Start adapting module mapper to latest GCC protocol | Boris Kolpackov | 1 | -1/+1 | |
2020-11-23 | Suppress duplicates when extracting library options (GitHub issue #114) | Boris Kolpackov | 1 | -12/+14 | |
2020-11-11 | Add ${c,cxx}.lib_{poptions,libs,rpaths}() functions | Boris Kolpackov | 1 | -11/+22 | |
These functions can be used to query library metadata for options and libraries that should be used when compiling/linking dependent targets, similar to how cc::{compile,link}_rule do it. With this support it should be possible to more or less re-create their semantics in ad hoc recipes. | |||||
2020-07-13 | Add ability to extend rule interface in source-compatible manner | Boris Kolpackov | 1 | -1/+1 | |
2020-02-11 | Defer unknown header failure to compiler diagnostics | Boris Kolpackov | 1 | -1/+1 | |
2020-02-07 | Drop copyright notice from source code | Karen Arutyunov | 1 | -1/+0 | |
2019-10-18 | Add ability to specify "compiler mode" options as part of config.{c,cxx} | Boris Kolpackov | 1 | -6/+6 | |
Such options are (normally) not overridden by buildfiles and are passed last (after cc.coptions and {c,cxx}.coptions) in the resulting command lines. They are also cross-hinted between config.c and config.cxx. For example: $ b config.cxx="g++ -m64" | |||||
2019-10-14 | Implement MSVC installation discovery for version 15 (2017) and later | Karen Arutyunov | 1 | -8/+6 | |
In particular, this removes the requirement to build from the Visual Studio command prompt. Note that since MSVC compiler binaries are target-specific (i.e., there are no -m32/-m64 options nor something like /MACHINE), in this case we default to a 64-bit build (a 32-bit build can still be achieved by running from a suitable command prompt). Finally, this mechanism is also used to find Clang bundled with MSVC. | |||||
2019-08-28 | Move cc build system module to separate library | Karen Arutyunov | 1 | -0/+189 | |