pkg-config

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 tfheen@err.no and Dan Nicholson dbn.lists@gmail.com.

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 https://gitlab.freedesktop.org/pkg-config/pkg-config.git (browse)

Bugs can be filed in the Freedesktop.org bug tracker

There is a mailing list for development and user questions at pkg-config@lists.freedesktop.org (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.