Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
6 days | Only install runtime part of static library prerequisites of share libraries ↵ | Boris Kolpackov | 1 | -2/+20 | |
(GH issue #448) | |||||
6 days | Drop some disabled code that is unlikely to be needed | Boris Kolpackov | 1 | -132/+0 | |
2023-11-22 | Fix cc::link_rule and cc::install_rule to recognize S{} even in C++ | Boris Kolpackov | 1 | -10/+14 | |
Failed that, a C++ link rule cannot match a dependency with S{} prerequisites. | |||||
2023-11-01 | Handle match options for post hoc libs{} prerequisites in cc::install_rule | Boris Kolpackov | 1 | -0/+72 | |
2023-11-01 | Use match options for runtime/buildtime distinction when installing libraries | Boris Kolpackov | 1 | -56/+362 | |
Specifically, now, if a library is installed solely as a prerequisite of an executable (potentially recursively), then only its runtime files are installed omitting everything buildtime-related (static/import libraries, non-versioned symlinks for shared libraries, pkg-config files, headers, etc). If you are familiar with the runtime and -dev/-devel package splits for libraries in Debian/Fedora, this is an analogous semantics. | |||||
2023-11-01 | Undo "Don't install static library prerequisites of executable" | Boris Kolpackov | 1 | -24/+0 | |
This turned out not to be always correct since a static library can have prerequisites that it requires at runtime (see the libca-certificates-curl for an example). The new plan is to split static/shared library installation into run-time and build-time parts using the new match options mechanism. | |||||
2023-09-21 | Fix bug in previous commit | Boris Kolpackov | 1 | -1/+1 | |
2023-09-21 | Don't install static library prerequisites of executable | Boris Kolpackov | 1 | -0/+30 | |
2023-04-18 | Add support for Assembler with C Preprocessor (.S) compilation | Boris Kolpackov | 1 | -0/+2 | |
Specifically, the c module now provides the c.as-cpp submodules which can be loaded in order to register the S{} target type and enable Assembler with C Preprocessor compilation in the c compile rule. For details, refer to "Assembler with C Preprocessor Compilation" in the manual. | |||||
2023-03-01 | Add support for installation manifest | Boris Kolpackov | 1 | -3/+3 | |
2022-11-22 | Add support for Objective-C/C++ compilation in cc module | Boris Kolpackov | 1 | -2/+4 | |
2022-11-16 | Initial low verbosity diagnostics rework | Boris Kolpackov | 1 | -6/+8 | |
2022-04-19 | Use target recipe for auxiliary data storage during match-apply | Boris Kolpackov | 1 | -5/+21 | |
In particular, we now have separate auxiliary data storage for inner and outer operations. | |||||
2022-04-19 | Switch to using std::function for target::data_pad | Boris Kolpackov | 1 | -3/+0 | |
2022-04-06 | Add support for rule hints | Boris Kolpackov | 1 | -9/+8 | |
A rule hint is a target attribute, for example: [rule_hint=cxx] exe{hello}: c{hello} Rule hints can be used to resolve ambiguity when multiple rules match the same target as well as to override an unambiguous match. | |||||
2021-10-07 | Verify libraries and targets they are linked to a for-install-compatible | Boris Kolpackov | 1 | -1/+4 | |
2021-10-07 | Minor install-related cleanups | Boris Kolpackov | 1 | -1/+4 | |
2021-09-14 | Consistently install prerequisites from any scope by default | Boris Kolpackov | 1 | -10/+14 | |
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) | |||||
2020-07-07 | Skip sources of executables in cc::install_rule | Boris Kolpackov | 1 | -4/+23 | |
Failed that, they may pull headers via an ad hoc group. | |||||
2020-02-07 | Drop copyright notice from source code | Karen Arutyunov | 1 | -1/+0 | |
2019-08-28 | Move cc build system module to separate library | Karen Arutyunov | 1 | -0/+355 | |