https://www.freedesktop.org/wiki/Software/pkg-config/
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.1 and can be found in /releases.
pkg-config is available from the git repository at git://anongit.freedesktop.org/pkg-config
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.