Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-10-27 | Suppress (potential) bogus GCC 12 -Wrestrict warnings | Boris Kolpackov | 2 | -4/+4 | |
2022-10-27 | Initial work on child process diagnostics buffering | Boris Kolpackov | 3 | -81/+141 | |
Currently this is implemented for C/C++ compile and link rules. | |||||
2022-10-25 | Adapt to butl::semantic_version API change | Karen Arutyunov | 1 | -3/+7 | |
2022-10-21 | Add clarifying comment | Boris Kolpackov | 1 | -0/+4 | |
2022-10-21 | Handle freestanding/broken setups when entering importable std headers | Boris Kolpackov | 1 | -17/+30 | |
Fixes GH issue #219. | |||||
2022-10-17 | Add pkg-config search tracing | Boris Kolpackov | 1 | -2/+14 | |
2022-10-17 | Tolerate case differences when looking for pkg-config files | Boris Kolpackov | 1 | -18/+26 | |
2022-10-13 | Fix bug in pkg-config metadata extraction logic | Boris Kolpackov | 1 | -6/+9 | |
2022-10-13 | Optimize by going straight to public variable pool where applicable | Boris Kolpackov | 2 | -2/+8 | |
2022-10-10 | Preparatory work for public/private variable distinction | Boris Kolpackov | 6 | -10/+32 | |
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool(). | |||||
2022-10-05 | Check for `-`-spelled cl.exe options in addition to `/`-spelled | Boris Kolpackov | 1 | -19/+29 | |
2022-09-28 | Omit -l for binless libraries, metadata from common .pc file | Boris Kolpackov | 2 | -4/+26 | |
Having -l options for binless (header-only) libraries makes it unusable from other build systems. But omitting them could make the metadata incomplete (for example, importable headers), so we omit that as well. | |||||
2022-09-27 | List dbghelp and mincore as system Windows libraries | Boris Kolpackov | 1 | -0/+2 | |
2022-09-27 | List winhttp and powrprof as system Windows libraries | Boris Kolpackov | 1 | -0/+2 | |
2022-09-21 | Add winrt Platform SDK header search path for MSVC | Boris Kolpackov | 1 | -3/+4 | |
This is required, for example, to build QtGui. | |||||
2022-09-19 | Fix race between load and match phase logic in cc:search_library() | Boris Kolpackov | 1 | -12/+25 | |
2022-08-22 | Manually check values for NULL when using low-level function interface | Boris Kolpackov | 1 | -0/+12 | |
2022-08-17 | Fix bug in handling of "in *.export.libs but not in prerequisites" case | Boris Kolpackov | 1 | -5/+16 | |
2022-08-17 | If cl.exe path is specified then extract VC tools directory from this path | Karen Arutyunov | 1 | -32/+74 | |
2022-08-17 | Handle another "in *.export.libs but not in prerequisites" case | Boris Kolpackov | 3 | -49/+78 | |
Also, enable this check even if proc_lib is not specified unless in the execute phase. | |||||
2022-08-16 | Improve MSVC /DEBUG option handling | Boris Kolpackov | 1 | -19/+26 | |
Specifically, handle the /DEBUG:<value> form in addition to /DEBUG and recognize /DEBUG:NONE. | |||||
2022-07-26 | Remove unused code | Boris Kolpackov | 1 | -66/+0 | |
2022-07-26 | Disable risky sanity check | Boris Kolpackov | 1 | -1/+3 | |
2022-07-25 | Fix typo in comment | Boris Kolpackov | 1 | -1/+1 | |
2022-07-21 | Map Apple Clang 13.1.6 to vanilla Clang 12.0.0 | Boris Kolpackov | 1 | -18/+20 | |
2022-07-21 | Fix bug in common .pc file generation logic (GitHub issue #198) | Boris Kolpackov | 1 | -1/+1 | |
2022-07-20 | Fix bug in cc::pkconfig_save() | Boris Kolpackov | 1 | -1/+1 | |
2022-07-20 | Adjust to match libpkg-config interface/semantics changes | Boris Kolpackov | 1 | -5/+25 | |
2022-07-19 | Fix bug in target::matched() | Boris Kolpackov | 1 | -6/+1 | |
2022-07-17 | Map VC 17 to runtime version 14.3 | Boris Kolpackov | 1 | -2/+5 | |
2022-07-05 | Drop unused lambda capture | Boris Kolpackov | 1 | -2/+1 | |
2022-07-05 | Switch to using libpkg-config instead of libpkgconf by default | Boris Kolpackov | 3 | -7/+276 | |
The use of (now deprecated) libpkgconf is still possible by setting config.build2.libpkgconf to true. Note that libpkgconf is known to have issues on Windows and Mac OS so this should only be used on Linux and maybe BSDs. Also note that we will only keep this until upstream (again) breaks backwards compatibility at which point we will drop this support. | |||||
2022-07-05 | Recognize special .for_install variable suffix in library user metadata | Boris Kolpackov | 1 | -25/+79 | |
2022-07-04 | Work around VC16 issue | Boris Kolpackov | 1 | -0/+2 | |
2022-07-04 | Factor libpkgconf-based pkgconfig implementation to separate source file | Boris Kolpackov | 3 | -461/+499 | |
2022-07-02 | Minor cleanups in class pkgconf implementation | Boris Kolpackov | 1 | -22/+32 | |
2022-07-02 | Add note on version we save in pkg-config files | Boris Kolpackov | 1 | -0/+14 | |
2022-07-01 | Ignore Provides when loading pkg-config information | Boris Kolpackov | 1 | -0/+1 | |
Without this flag, on encountering an unknown package, libpkgconf will load *all* pkg-config files it can find in order to see if any of them provide it. | |||||
2022-06-29 | Work around MSVC 14.3 issues | Boris Kolpackov | 1 | -2/+2 | |
2022-06-29 | Make sure we generate common pkg-config file for only liba{}/libs{} | Boris Kolpackov | 1 | -2/+19 | |
2022-06-29 | Save cc.type in pkg-config files | Boris Kolpackov | 2 | -5/+30 | |
2022-06-29 | Rework pkg-config variable naming, use build2.metadata as general indicator | Boris Kolpackov | 1 | -174/+222 | |
2022-06-28 | Complete support for saving/loading library metadata to/from pkg-config files | Boris Kolpackov | 5 | -167/+308 | |
2022-06-24 | Allow ad hoc rules not to list targets that are updated during match | Boris Kolpackov | 3 | -8/+19 | |
For example, this allows a Qt moc rule not to list generated headers from libQtCore since they are pre-generated by the library. | |||||
2022-06-24 | Add ability to control -I translation in $x.lib_poptions() | Boris Kolpackov | 3 | -11/+22 | |
2022-06-24 | Add ability to get common interface options via $x.lib_poptions() | Boris Kolpackov | 8 | -66/+169 | |
Specifically, the output target type may now be omitted for utility libraries (libul{} and libu[eas]{}). In this case, only "common interface" options will be returned for lib{} dependencies. This is primarily useful for obtaining poptions to be passed to tools other than C/C++ compilers (for example, Qt moc). | |||||
2022-06-24 | Match libraries before update for install prerequisites in cc::link_rule | Boris Kolpackov | 1 | -4/+11 | |
2022-06-23 | Handle empty entries in GCC -print-search-dirs | Boris Kolpackov | 1 | -7/+12 | |
2022-05-23 | Detect cross-linking and pass -rpath-link in addition to -rpath | Boris Kolpackov | 1 | -7/+69 | |
According to the GNU ld documentation (and painful practical experience), -rpath does not always imply -rpath-link for cross-linkers. | |||||
2022-05-17 | Add OpenBSD libc detection | Boris Kolpackov | 1 | -0/+2 | |