Pregunta

¿Cómo sé dónde instalar mi .ordenador personal ¿archivo?Estos archivos se colocan en diferentes lugares en diferentes sistemas operativos.El objetivo es poder utilizar algo como $(INSTALL) mylib.pc $$(pkg-config --pcdir) en el destino de instalación.Pensé pkg-config Podría decirme de alguna manera, pero no encuentro nada.

Estoy buscando una solución "independiente" que se pueda utilizar en Makefile simple (no debe requerir soporte de autotools o similar).

¿Fue útil?

Solución

ACTUALIZAR: Evidentemente ahora hay una manera de hacer esto:

pkg-config --variable pc_path pkg-config

Encontrado en este informe de error (ver comentario #4).La página de manual actual parece documentar esto.

Respuesta original:

Horrible solución hackish (asumiendo Bourne Shell):

pkg-config --debug 2>&1 |grep Scanning | sed -e 's/Scanning directory //' -e "s/'//g"

Esto puede brindarle más de una ubicación.

editar por @sólo alguien

versión más corta

pkg-config --debug 2>&1 | sed -ne '/Scanning directory /s///p'

y detenerse después del primer directorio:

pkg-config --debug 2>&1 | sed -ne '/Scanning directory /{s///p;q;}'

Otros consejos

A partir de PKG-config 0,24, se puede hacer "pkg-config = --variable pc_path pkg-config".

https://bugs.freedesktop.org/show_bug.cgi?id=14975

que debe entrar en $ {} libdir / pkgconfig (es decir, $ {prefix} / lib / pkgconfig)

básicamente si instala bibliotecas y se van en $ {} libdir entonces su archivo .pc debe estar en $ {} libdir / pkgconfig y en ninguna otra parte.

Por desgracia, para una instalación de pkg-config (para la versión 0.23), no hay manera de extraer el "camino PC" por defecto, sin llegar a correr strings en el binario (por ejemplo, strings /usr/bin/pkg-config | grep '/usr/.*/pkgconfig').

Si usted es capaz de instalar una estructura de encargo, solo parche para escribir el valor de PKG_CONFIG_PC_PATH cuando se ejecuta con la opción adecuada.

Otra opción, que probablemente no le ayudará (pero que me gustaría mencionar de todos modos por completo), es establecer la variable de entorno PKG_CONFIG_PATH al llamar pkg-config.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top