aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/pkgconfig.cxx
AgeCommit message (Collapse)AuthorFilesLines
2022-06-29Rework pkg-config variable naming, use build2.metadata as general indicatorBoris Kolpackov1-174/+222
2022-06-28Complete support for saving/loading library metadata to/from pkg-config filesBoris Kolpackov1-76/+122
2022-06-24Add ability to get common interface options via $x.lib_poptions()Boris Kolpackov1-2/+8
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-05-05Recognize -pthread as king of -l in *.libsBoris Kolpackov1-7/+13
2022-03-30Infrastructure for library metadata supportBoris Kolpackov1-5/+323
2022-03-28Add ability to customize pkg-config header and library search pathsBoris Kolpackov1-11/+36
Specifically, {cc,c,cxx}.pkgconfig.{include,lib} variables specify header (-I) and library (-L) search paths to use in the generated .pc files instead of the default install.{include,lib}. Relative paths are resolved as install paths.
2022-03-25Store bin.whole flag in pkg-config filesBoris Kolpackov1-13/+46
2022-01-10Add psapi.lib and iphlpapi.lib to list of Windows system librariesBoris Kolpackov1-0/+2
2021-11-04Do not apply install scope to update-for-install pre-operationBoris Kolpackov1-12/+26
2021-10-21Add more entries to list of Windows system librariesBoris Kolpackov1-0/+2
2021-10-21Skip NULL entries in BMI's prerequisite_targets when looking for sourceBoris Kolpackov1-1/+1
Fixes GitHub issue #169.
2021-10-16Skip regenerating .pc files during uninstallBoris Kolpackov1-1/+11
2021-10-14Use tidier pc and def names instead of generic gen for .pc and .def generationBoris Kolpackov1-1/+1
2021-10-07Verify libraries and targets they are linked to a for-install-compatibleBoris Kolpackov1-0/+1
2021-10-01Add notion of internal scope, translate external -I to -isystem or equivalentBoris Kolpackov1-3/+2
2021-09-21Add more libraries to list of Windows system librariesBoris Kolpackov1-0/+5
2021-09-20Add more libraries to list of Windows system librariesBoris Kolpackov1-2/+10
2021-09-20Add netapi32.lib to the list of Windows system librariesBoris Kolpackov1-0/+1
2021-08-12Avoid duplication in Libs/Libs.private in generated .pc filesBoris Kolpackov1-7/+32
2021-08-10Complete process_libraries() duplicate suppression workBoris Kolpackov1-2/+3
2021-08-09Print pkgconfig_save() command at verbosity 1 since can take longBoris Kolpackov1-1/+6
2021-08-05Implement traversal pruning in process_libraries()Boris Kolpackov1-2/+6
2021-07-01Suppress duplicate libraries in pkg-config filesBoris Kolpackov1-19/+54
2021-05-25Add dbgeng.lib to list of Windows system librariesBoris Kolpackov1-0/+1
2021-05-14Add synchronization.lib to the list of Windows system librariesBoris Kolpackov1-19/+21
2021-05-13Rename sys_inc_dirs to sys_hdr_dirs for consistencyBoris Kolpackov1-5/+5
2021-05-06See through utility libraries when looking for module interfacesBoris Kolpackov1-44/+56
2021-05-04Replace int_ with intf_ and imp_ with impl_ in namesBoris Kolpackov1-1/+1
2021-05-04Handle duplicate suppression of multi-element libraries (-l foo)Boris Kolpackov1-6/+11
See GitHub issue #114 for context.
2021-02-11Generalize process_libraries() to allow no picking installed library memberBoris Kolpackov1-6/+4
2021-02-09Minor simplificationBoris Kolpackov1-3/+3
2021-02-03Propagate relevant options/prerequisites to header unit sidebuildsBoris Kolpackov1-5/+9
2021-01-30Rework include translation supportBoris Kolpackov1-29/+145
See the config.cxx.translate_include variable documentation in cxx/init.cxx for details.
2021-01-21Use target name to derive binless library -l-nameBoris Kolpackov1-6/+18
2021-01-11Add extra diagnostics around pkg-config library resolutionBoris Kolpackov1-6/+24
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-08Update pkg-config modules serialization format to handle partitionsBoris Kolpackov1-4/+27
2020-12-03Fix modules support for installed librariesBoris Kolpackov1-8/+7
2020-11-26Fix crashing on unhandled invalid_path thrown by cc::common::pkgconfig_load()Karen Arutyunov1-5/+15
2020-09-24Give hints for common causes of "no rule to update ..." errorBoris Kolpackov1-1/+1
2020-07-23Escape quotes in .pc file values besides spaces and backslashesKaren Arutyunov1-1/+1
2020-07-01Fix bug in *.export.imp_libs logicBoris Kolpackov1-1/+1
2020-06-18Complete NetBSD compatibilityBoris Kolpackov1-1/+2
2020-04-13Add ../share/pkgconfig/ search directory by default on LinuxBoris Kolpackov1-9/+19
2020-03-20Generate common .pc file in addition to static/staged when installing lib{}Boris Kolpackov1-9/+27
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-27Minor code clanupBoris Kolpackov1-5/+4
2020-02-27Fix .pc files-based static linkage failing on macosKaren Arutyunov1-0/+9
Note that this is achieved by using the PKGCONF_PKG_PKGF_DONT_MERGE_SPECIAL_FRAGMENTS that we invented in the libpkgconf library.
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2020-02-06Add -l<name> resolution exclusions for Windows Platform SDK librariesBoris Kolpackov1-29/+77
2020-02-04Add note to manual on specifying search paths in compiler modeBoris Kolpackov1-1/+3