pkg-config — допоміжний інструмент для компіляції програмного забезпечення. Зберігає метадані встановлених бібліотек у файлах з розширенням .pс , надаючи уніфікований спосіб їх інтеграції при складанні програми. Початково був створений для Linux, але тепер доступний на Windows та macOS.

Історія Перший доступний реліз датується 2003 роком. Спершу був написаний James Henstridge мовою shell для Linux . Згодом Havoc Pennington переробив pkg-config на мові С. Надалі проект отримав розповсюдження на інші платформи.

Приклади використання Зазвичай при встановлені бібліотеки через менеджер пакунків(dnf, apt тощо) автоматично створюється відповідний .pc файл. Він містить в собі назву пакунку, версію, стислий опис та потрібні директорії для його складання, в тому числі директорії залежностей. Існує перелік директорій, в яких ці файли мають зберігатися, вони описані офіційною документацією pkg-config.

Приклад .pc файлу для libpng: prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${exec_prefix}/include

Name: libpng Description: Loads and saves PNG files Version: 1.2.8 Libs: -L${libdir} -lpng12 -lz Cflags: -I${includedir}/libpng12Приклад складання програми з gcc та pkg-config:$ gcc -o test test.c $(pkg-config --libs --cflags libpng)

CMake pkg-config також підтримується та використовується в сценаріях складання CMake.

Джерела