pkg-config

pkg-config
Original authorsJames Henstridge; rewritten by Havoc Pennington
DeveloperTollef Fog Heen / freedesktop.org
Initial release2000 (2000) or earlier
Stable release
0.29.2 / March 20, 2017 (2017-03-20)
Written inC
Operating systemUnix-like
TypeProgramming tool
LicenseGNU GPL
Websitewww.freedesktop.org/wiki/Software/pkg-config/
Repositorygitlab.freedesktop.org/pkg-config/pkg-config

pkg-config is a software development tool that queries information about libraries from a local, file-based database for the purpose of building a codebase that depends on them. It allows for sharing a codebase in a cross-platform way by using host-specific library information that is stored outside of yet referenced by the codebase. This indirection allows the codebase to build on a host without encoding host-specific library information in the codebase.

The tool is invoked via its command line interface (CLI), and it reports library information via standard output. Some information, such as version information, is more useful to the programmer. Other information, such as command-line options (flags), is more useful to build tools such as a compiler and a linker.

The tool was originally designed for Linux, and is now also available for BSD, Windows, macOS, and Solaris. The first implementation was written in shell script. Later, it was rewritten in C leveraging GLib.