aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/compile-rule.hxx
AgeCommit message (Collapse)AuthorFilesLines
2021-11-05Keep multiple prefixless entries for generated header mappingBoris Kolpackov1-3/+4
2021-10-01Add notion of internal scope, translate external -I to -isystem or equivalentBoris Kolpackov1-1/+3
2021-08-10Complete process_libraries() duplicate suppression workBoris Kolpackov1-2/+2
2021-08-05Implement traversal pruning in process_libraries()Boris Kolpackov1-1/+2
2021-05-13Rename sys_inc_dirs to sys_hdr_dirs for consistencyBoris Kolpackov1-1/+1
2021-05-13Add ${c,cxx}.find_system_{header,library}() functionsBoris Kolpackov1-0/+4
2021-03-16Define intermediate build results file cache interfaceBoris Kolpackov1-3/+3
2021-02-03Propagate relevant options/prerequisites to header unit sidebuildsBoris Kolpackov1-2/+3
2020-12-11Minor module mapper fixesBoris Kolpackov1-1/+1
2020-12-11Add support for module interface-only librariesBoris Kolpackov1-1/+1
Also suppress generation of the object file in cases where we don't need it.
2020-12-01Modules-related refactoringBoris Kolpackov1-3/+4
2020-11-30Start adapting module mapper to latest GCC protocolBoris Kolpackov1-1/+1
2020-11-23Suppress duplicates when extracting library options (GitHub issue #114)Boris Kolpackov1-12/+14
2020-11-11Add ${c,cxx}.lib_{poptions,libs,rpaths}() functionsBoris Kolpackov1-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-13Add ability to extend rule interface in source-compatible mannerBoris Kolpackov1-1/+1
2020-02-11Defer unknown header failure to compiler diagnosticsBoris Kolpackov1-1/+1
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-10-18Add ability to specify "compiler mode" options as part of config.{c,cxx}Boris Kolpackov1-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-14Implement MSVC installation discovery for version 15 (2017) and laterKaren Arutyunov1-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-28Move cc build system module to separate libraryKaren Arutyunov1-0/+189