Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-09-21 | Don't install static library prerequisites of executable | Boris Kolpackov | 2 | -1/+32 | |
2023-09-11 | Invoke Clang to produce object files for module partitions similar to interfaces | Swat SomeBug | 1 | -2/+7 | |
Module interface and implementation partitions are like module interfaces so it's not surprising they require similar compilation steps. See GH PR #328 for background. | |||||
2023-09-08 | Manually extract library search paths from LIBRARY_PATH for Clang | Boris Kolpackov | 4 | -70/+90 | |
Unlike GCC, Clang does not incorporate the LIBRARY_PATH environment variable value into the -print-search-dirs output. | |||||
2023-09-07 | Search for .tbd in addition to .dylib in Mac OS | Boris Kolpackov | 1 | -0/+25 | |
Besides .dylib, Mac OS now also has "text-based stub libraries" that use the .tbd extension. They appear to be similar to Windows import libraries and contain information such as the location of the .dylib library, its symbols, etc. For example, there is /Library/.../MacOSX13.3.sdk/usr/lib/libsqlite3.tbd which points to /usr/lib/libsqlite3.dylib (but which itself is invisible/inaccessible, presumably for security). Note that for now we are treating the .tbd library as the shared library but could probably do the more elaborate dance with ad hoc members like on Windows if really necessary. | |||||
2023-09-07 | Add implied .../MacOSX*.sdk/usr/lib/ to system library search directories | Boris Kolpackov | 1 | -7/+22 | |
2023-08-29 | Add diagnostics color support on Windows (GH issue #312) | Boris Kolpackov | 1 | -8/+39 | |
Note that currently this has to be enabled with an explicit --diag-color option. In the future the plan is to enable it by default if supported. | |||||
2023-08-22 | Consider *_inc{} target types as headers for rule match purposes | Boris Kolpackov | 5 | -18/+24 | |
2023-08-22 | Add abstract c_inc{} and cxx_inc{} target types | Boris Kolpackov | 2 | -0/+32 | |
These abstract base target types are meant for deriving additional target types (for example, Qt moc{}) that can be #include'd in C and C++ translation units, respectively. In particular, only such targets will be considered to reverse-lookup extensions to target types (see dyndep_rule::map_extension() for background). | |||||
2023-07-31 | Add CCC_OVERRIDE_OPTIONS to list of Clang env vars to track/save | Boris Kolpackov | 1 | -2/+5 | |
2023-07-24 | Add setupapi.lib to list of Windows system libraries | Boris Kolpackov | 1 | -0/+1 | |
2023-06-28 | Minor tweaks and cleanups | Boris Kolpackov | 1 | -0/+3 | |
2023-06-22 | Filter out subsequent occurrences of library itself in .pc files (GH issue #283) | Boris Kolpackov | 1 | -18/+28 | |
Failed that we will end up with a dependency cycle. | |||||
2023-06-22 | Omit -Wno-gnu-line-marker for Apple Clang 14.0.3 | Boris Kolpackov | 1 | -2/+9 | |
2023-06-19 | Update Apple Clang to vanilla Clang version mapping | Boris Kolpackov | 1 | -21/+27 | |
2023-06-14 | Use dry_run_option instead of dry_run during match | Boris Kolpackov | 1 | -1/+1 | |
2023-06-13 | Disable -Wgnu-line-marker in Clang 15 triggered by -frewrite-includes | Boris Kolpackov | 1 | -6/+43 | |
See llvm-project issue 63284 for details. | |||||
2023-06-07 | Implement GCC module mapper protocol quoting/escaping (GH issues #203, #228) | Boris Kolpackov | 1 | -14/+223 | |
2023-06-05 | Remap Clang -Wunqualified-std-cast-call warning to -Wextra (GH issue #259) | Boris Kolpackov | 1 | -0/+40 | |
2023-06-02 | Fix another race in library metadata protocol logic | Boris Kolpackov | 1 | -0/+8 | |
2023-06-02 | Fix data race in library metadata protocol logic | Boris Kolpackov | 2 | -4/+9 | |
2023-04-18 | Add support for Assembler with C Preprocessor (.S) compilation | Boris Kolpackov | 7 | -41/+103 | |
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-04-10 | Fix inconsistent /usr/local/{include,lib} search | Boris Kolpackov | 4 | -32/+53 | |
In particular, we were adding -L/usr/local/lib which means it is considered before built-in directories (/usr/lib, etc) but in our own library search code we were considering it after (because we were storing it at the end of sys_lib_dirs). Now in both sys_{hdr,lib}_dirs we store /usr/local/{include,lib} after mode and before built-in directories. Note that as part of this fix we now pass -isystem /usr/local/include instead of -idirafter (which is consistent with the -L behavior and also the customarily expected semantics). | |||||
2023-04-05 | Allow creating context with bare minimum of initializations | Boris Kolpackov | 2 | -6/+6 | |
This is used by bpkg to detect forwarded configurations without incurring the full context creation overhead. | |||||
2023-04-04 | Add support for installation filtering (GH issue #147) | Boris Kolpackov | 1 | -2/+2 | |
2023-04-03 | Add authz.lib to Windows system library list | Boris Kolpackov | 1 | -0/+1 | |
2023-03-30 | Add comdlg32.lib to list of system Windows libraries | Boris Kolpackov | 1 | -0/+1 | |
2023-03-24 | Add support for generating relocatable pkg-config files | Boris Kolpackov | 1 | -10/+133 | |
2023-03-23 | Add support for relocatable installation in $install.resolve() | Boris Kolpackov | 1 | -1/+2 | |
2023-03-22 | Initial work on relocatable install: config.install.relocatable and rpath | Boris Kolpackov | 1 | -2/+66 | |
2023-03-08 | Fix uninitialized variable bug | Boris Kolpackov | 1 | -1/+1 | |
2023-03-02 | Adapt to interface changes in libpkgconf 1.9 | Boris Kolpackov | 1 | -0/+7 | |
Patch by Matthew Krupcale. | |||||
2023-03-01 | Add support for installation manifest | Boris Kolpackov | 1 | -3/+3 | |
2023-02-20 | Fix raw string literal lexing bug in cc:lexer (GH issue #268) | Boris Kolpackov | 2 | -3/+5 | |
2023-02-13 | Deduplicate -I and -L options extracted from pkg-config files (GH issue #265) | Boris Kolpackov | 1 | -43/+81 | |
2022-12-15 | Add noexcept to move constructors and move assignment operators | Karen Arutyunov | 1 | -4/+4 | |
2022-12-14 | Improve empty simple value to empty list of names reduction heuristics | Boris Kolpackov | 1 | -1/+1 | |
Specifically, do not reduce typed RHS empty simple values for prepend/append and additionally for assignment provided LHS is typed and is a container. | |||||
2022-12-12 | Adapt to dir_iterator API change | Karen Arutyunov | 2 | -2/+15 | |
2022-12-09 | Enable diagnostics color in GCC and Clang | Boris Kolpackov | 4 | -2/+80 | |
2022-12-09 | Normalize target's out directory in cc::insert_library() | Boris Kolpackov | 1 | -7/+8 | |
2022-12-08 | Normalize extracted header/library search directories (GH issue #235) | Boris Kolpackov | 5 | -13/+48 | |
2022-12-07 | Fix incorrect process_path::effect access | Boris Kolpackov | 1 | -1/+1 | |
2022-12-07 | Use effective rather than recall path for cache key | Boris Kolpackov | 1 | -1/+1 | |
2022-12-07 | Fix bug in MSVC library_type() implementation (GH issue #235) | Boris Kolpackov | 1 | -4/+1 | |
It looks like the implementation was botched a bit when switching from link.exe /DUMP /ARCHIVEMEMBERS to link.exe /LIB /LIST. | |||||
2022-12-07 | Add MSVC library type caching | Boris Kolpackov | 1 | -9/+24 | |
2022-12-07 | List dnsapi, msimg32 as Windows system libraries | Boris Kolpackov | 1 | -2/+4 | |
2022-12-06 | Handle bin.whole when specified for interface dependencies | Boris Kolpackov | 1 | -5/+23 | |
2022-12-05 | Skip common .pc file for binless if found but rejected binful (GH issues #235) | Boris Kolpackov | 3 | -26/+80 | |
2022-12-05 | List windowscodecs as Windows system library | Boris Kolpackov | 1 | -0/+1 | |
2022-11-30 | Diagnose absence of import library after link.exe invocation (GH issue #231) | Boris Kolpackov | 1 | -7/+22 | |
If a library does not export any symbols then link.exe skips creating the import library. | |||||
2022-11-29 | Fix backlink logic for target groups | Boris Kolpackov | 1 | -5/+24 | |
We used to backlink ad hoc group members both via the group and as individual members. And for explicit groups it was done only via individual members, which means it only works correctly if every member is individually updated. Now both types of groups are backlinked from the group target. |