pkg-config je počítačový program, který poskytuje jednotné rozhraní pro získání informací o knihovnách nainstalovaných v systému pro účely překladu softwaru ze zdrojových kódů. Umožňuje, aby programátoři a instalační skripty mohli pracovat bez explicitních znalostí, kde jsou umístěny jednotlivé knihovny. pkg-config byl původně navržený pro Linux, ale je dostupný i pro různé varianty BSD, Microsoft Windows, Mac OS X a Solaris.

Příkaz vypisuje informace o nainstalovaných knihovnách, např.: Parametry pro překladač jazyka C nebo C++ Parametry pro linker Verze příslušného balíčku

První implementace byla napsaná v shellu, později byl program přepsán do jazyka C s použitím knihovny GLib.

Použití Při instalaci knihovny (ať automatickém pomocí RPM, deb nebo jiného binárního balíčkovacího systému, nebo překladem ze zdrojových textů), je do vytvořen soubor .pc a nainstalován do adresáře s dalšími .pc soubory (konkrétní adresář závisí na systému a je uveden v manuálové stránce pkg-config). Soubor obsahuje několik položek.

Jednotlivé položky obsahují seznam knihoven, které programy používající balíček potřebují při překladu, umístění hlavičkových souborů, informace o verzi a popis.

Příklad .pc souboru pro 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

Tento soubor ukazuje, jak libpng informuje, že se jeho knihovny nacházejí v /usr/local/lib a hlavičkové soubory v /usr/local/include, že jméno knihovny je libpng, a verze 1.2.8. Také uvádí příznaky pro linker potřebné při sestavování programů, které používají tuto knihovnu.

Příklad použití pkg-config při překladu:

$ gcc -o test test.c $(pkg-config --libs --cflags libpng)

Odkazy

Reference

Externí odkazy

Domovská stránka pkg-config na freedesktop.org Manuálová stránka linuxové verze pkg-config na die.net Manuálová stránka OpenBSD verze pkg-config na http://man.openbsd.org

Kategorie:Programové knihovny Kategorie:Software pro Linux Kategorie:Automatizace sestavování softwaru Kategorie:Programovací software Kategorie:Software pro Unix Kategorie:Software pod licencí GPL