aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/pkgconfig.cxx
AgeCommit message (Collapse)AuthorFilesLines
2024-01-29Fix pkgconfig_load() to set common poptions for lib{} target groupKaren Arutyunov1-6/+47
2024-01-10Add ability to specify alternative sysroot for pkg-config files (GC issue #59)Boris Kolpackov1-2/+49
Specifically, the new config.cc.pkgconfig.sysroot variable provides roughly equivalent functionality to PKG_CONFIG_SYSROOT_DIR in pkg-config. For details and limitations, see "Rewriting Installed Libraries System Root (sysroot)" in the manual for details.
2024-01-10Fix bunch of typosBoris Kolpackov1-1/+1
2023-11-22Add support for `import std` in Clang 17 or later with libc++Boris Kolpackov1-2/+4
2023-09-25Treat -liconv on Mac OS as systemBoris Kolpackov1-1/+5
2023-08-22Consider *_inc{} target types as headers for rule match purposesBoris Kolpackov1-2/+2
2023-07-24Add setupapi.lib to list of Windows system librariesBoris Kolpackov1-0/+1
2023-06-22Filter out subsequent occurrences of library itself in .pc files (GH issue #283)Boris Kolpackov1-18/+28
Failed that we will end up with a dependency cycle.
2023-04-03Add authz.lib to Windows system library listBoris Kolpackov1-0/+1
2023-03-30Add comdlg32.lib to list of system Windows librariesBoris Kolpackov1-0/+1
2023-03-24Add support for generating relocatable pkg-config filesBoris Kolpackov1-10/+133
2023-03-23Add support for relocatable installation in $install.resolve()Boris Kolpackov1-1/+2
2023-03-08Fix uninitialized variable bugBoris Kolpackov1-1/+1
2023-02-13Deduplicate -I and -L options extracted from pkg-config files (GH issue #265)Boris Kolpackov1-43/+81
2022-12-14Improve empty simple value to empty list of names reduction heuristicsBoris Kolpackov1-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-08Normalize extracted header/library search directories (GH issue #235)Boris Kolpackov1-0/+1
2022-12-07List dnsapi, msimg32 as Windows system librariesBoris Kolpackov1-2/+4
2022-12-05List windowscodecs as Windows system libraryBoris Kolpackov1-0/+1
2022-11-16Initial low verbosity diagnostics reworkBoris Kolpackov1-3/+3
2022-10-17Add pkg-config search tracingBoris Kolpackov1-2/+14
2022-10-17Tolerate case differences when looking for pkg-config filesBoris Kolpackov1-18/+26
2022-10-13Fix bug in pkg-config metadata extraction logicBoris Kolpackov1-6/+9
2022-10-10Preparatory work for public/private variable distinctionBoris Kolpackov1-1/+7
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool().
2022-09-28Omit -l for binless libraries, metadata from common .pc fileBoris Kolpackov1-3/+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-27List dbghelp and mincore as system Windows librariesBoris Kolpackov1-0/+2
2022-09-27List winhttp and powrprof as system Windows librariesBoris Kolpackov1-0/+2
2022-07-20Fix bug in cc::pkconfig_save()Boris Kolpackov1-1/+1
2022-07-05Drop unused lambda captureBoris Kolpackov1-2/+1
2022-07-05Recognize special .for_install variable suffix in library user metadataBoris Kolpackov1-25/+79
2022-07-04Work around VC16 issueBoris Kolpackov1-0/+2
2022-07-04Factor libpkgconf-based pkgconfig implementation to separate source fileBoris Kolpackov1-461/+28
2022-07-02Minor cleanups in class pkgconf implementationBoris Kolpackov1-22/+32
2022-07-02Add note on version we save in pkg-config filesBoris Kolpackov1-0/+14
2022-07-01Ignore Provides when loading pkg-config informationBoris Kolpackov1-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-29Save cc.type in pkg-config filesBoris Kolpackov1-0/+24
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