- Pkg-config
-
Pkg-config
pkg-config es un software de ordenador que provée una interfaz unificada para llamar librerías instaladas cuando se está compilando un programa a partir del código fuente. pkg-config fue diseñado originalmente para Linux pero ahora está disponible para BSDs, Microsoft Windows, Mac OS X y Solaris.
Da información diversa sobre las librerías instaladas. Esta información incluye:
- Parámetros para el compilador de C o de C++.
- Parámetros para el enlazador.
- Versión del paquete en cuestión.
Cómo funciona
Cuando una librería se instala (por ejemplo un RPM, un archivo deb o cualquier otro sistema de empaquetamiento binario), se debería incluír un archivo .pc y debería moverse a un directorio con otros archivos .pc (el directorio depende del sistema y suele mostrarse en la página man de pkg-config). Este archivo tiene diversas entradas.
Estas entradas normalmente contiene las librerías que otros programas que usan el paquete requieren para compilar, así como el directorio de las cabeceras, e información, como la versión y alguna descripción.
He aquí un ejemplo de una archivo .pc para la librería libpng:
prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${exec_prefix}/include Name: libpng12 Description: Loads and saves PNG files Version: 1.2.8 Libs: -L${libdir} -lpng12 -lz Cflags: -I${includedir}/libpng12
Este archivo nos dice que las librerías pueden encontrarse en /usr/local/lib y que los encabezados en /usr/local/include, que el nombre de la librería es libpng12 y que la versión es 1.2.8. También da al enlazador las flags necesarias para compilar el código, dependiendo de la librería libpng.
He aquí un ejemplo del uso de pkg-config cuando se compila:
gcc -o test test.c $(pkg-config --libs --cflags libpng)
Enlaces externos
- Portal de pkg-config en freedesktop.org
- Página man para pkg-config (en inglés)
- Guía de pkg-config (en inglés)
Categoría: Software libre
Wikimedia foundation. 2010.