pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the correct compiler options on the command line so an application can use gcc -o test test.c `pkg-config --libs --cflags glib-2.0` for instance, rather than hard-coding values on where to find glib (or other libraries). It is language-agnostic, so it can be used for defining the location of documentation tools, for instance.

The program is free software and licensed under the GPL version 2 or any later version (at your option).

pkg-config works on multiple platforms: Linux and other UNIX-like operating systems, Mac OS X and Windows. It does not require anything but a reasonably well working C compiler and a C library, but can use an installed glib if that is present. (A copy of recent glib2 is shipped together with pkg-config versions since 0.27, and this is sufficient for pkg-config to compile and work properly.)

The first implementation was written in shell, by James Henstridge. Later, it was rewritten in C by Havoc Pennington. It also grew an autoconf macro written by Tim Janik, later rewritten by Scott James Remnant. The current maintainers are Tollef Fog Heen and Dan Nicholson

The current release of pkg-config is version 0.29.2 and can be found in /releases.

pkg-config is available from the git repository at (browse)

Bugs can be filed in the bug tracker

There is a mailing list for development and user questions at (Archives) (Subscribe)

New and veteran users alike may find Dan Nicholson’s Guide to pkg-config informative, particularly the FAQ section which provides examples of where the Requires.private field is appropriate.