pkg-конфигурация: независимый от платформы способ узнать, где установить мой .pc файл?

Как я знаю, где установить мой .pc файл? Эти файлы помещаются в различные места в различных операционных системах. Цель состоит в том, чтобы смочь использовать что-то как $(INSTALL) mylib.pc $$(pkg-config --pcdir) в цели установки. Я думал pkg-config смог бы сказать мне так или иначе, но ничего не может найти.

Я ищу "автономное" решение, применимое в простом Make-файле (не должен требовать поддержки со стороны автоинструментов или подобный).

8
задан just somebody 24 February 2010 в 14:31
поделиться

3 ответа

ОБНОВЛЕНИЕ: Очевидно, теперь есть способ сделать это:

pkg-config --variable pc_path pkg-config

Найдено в этом отчете об ошибке (см. Комментарий №4). Текущая страница руководства отображается, чтобы задокументировать это.

Исходный ответ:

Ужасное хакерское решение (при условии, что оболочка Борна):

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

Это может дать вам несколько местоположений.

отредактируйте @just кто-нибудь

более короткую версию

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

и остановитесь после первого каталога:

pkg-config --debug 2>&1 | sed -ne '/Scanning directory /{s///p;q;}'
5
ответ дан 5 December 2019 в 08:23
поделиться

К сожалению, для стандартной установки pkg-config (для версии 0.23) нет способа извлечь путь к компьютеру по умолчанию. ", за исключением выполнения строк в двоичном файле (например, строк / usr / bin / pkg-config | grep '/usr/.*/pkgconfig').

Если вы можете установить собственную сборку, просто исправьте ее, чтобы записать значение PKG_CONFIG_PC_PATH при запуске с соответствующей опцией.

Другой вариант, который, вероятно, вам не поможет (но я бы все равно упомянул его для полноты), - это установить переменную среды PKG_CONFIG_PATH при вызове pkg-config .

1
ответ дан 5 December 2019 в 08:23
поделиться

она должна идти в ${libdir}/pkgconfig (т.е. ${prefix}/lib/pkgconfig)

в принципе, если вы устанавливаете библиотеки и они идут в ${libdir}, то ваш .pc файл должен быть в ${libdir}/pkgconfig и нигде больше.

3
ответ дан 5 December 2019 в 08:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: