aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/link-rule.hxx
AgeCommit message (Collapse)AuthorFilesLines
2020-11-23Suppress duplicates when extracting library options (GitHub issue #114)Boris Kolpackov1-2/+58
2020-11-11Add ${c,cxx}.lib_{poptions,libs,rpaths}() functionsBoris Kolpackov1-19/+27
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-14Fix Clang warningBoris Kolpackov1-0/+2
2020-07-13Add ability to extend rule interface in source-compatible mannerBoris Kolpackov1-1/+1
2020-03-20Generate common .pc file in addition to static/staged when installing lib{}Boris Kolpackov1-1/+1
The common .pc file is produced by ignoring any static/shared-specific poptions and splitting loptions/libs into Libs/Libs.private. It is "best effort", in a sense that it's not guaranteed to be sufficient in all cases, but it will probably cover the majority of cases, even on Windows, thanks to automatic dllimport'ing of functions.
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-10-29Tighten up versioned libraries clean patternsBoris Kolpackov1-4/+6
2019-10-14Implement MSVC installation discovery for version 15 (2017) and laterKaren Arutyunov1-4/+4
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/+188