LINUX.ORG.RU

Один `make install` имеет ли право создавать несколько /lib/pkgconfig/*.pc?

 ,


0

1

Есть у меня проектик X, в котором собирается две либы: libX-buildtime.so и libX-runtime.so. Как понятно из названий, они линкуются в непересекающихся случаях, поэтому писать для них общий pkgconfig с общей строкой:

Libs = -L${prefix}/lib -l:libX-buildtime.so -l:libX-runtime.so

коряво и глупо. Да и зависимости у buildtime и runtime тоже разные, так что строка Requires.private тоже должна различаться.

Отсюда сабжевый вопрос: насколько это корректно/коряво с точки зрения дистро-мейнтейнеров, если при установке ОДНОГО пакета, в /lib/pkgconfig создаётся ДВА файла: X-buildtime.pc и X-runtime.pc?

К слову, в этом же проекте собираются ещё buildtime-утилиты, которые линкуют libX-buildtime.so, но это пофиг: в .pc-файле они не фигурируют.

★★★★★

Последнее исправление: dimgel (всего исправлений: 1)

Ответ на: комментарий от annulen

Так, тогда в паре make && make install команда сборки тоже должна иметь несколько phony-целей, от которых будет зависеть all:

make buildtime && make install-buildtime
make runtime && make install-runtime

Ы?

dimgel ★★★★★
() автор топика
Ответ на: комментарий от dimgel

Примерно так.

Вообще, если пишешь мейкфайлы руками и при этом тебе не плевать на удобство мейнтейнеров, то пострайся следовать конвенциям autotools, всем будет удобнее. А то вдруг мы тут про раздельные цели, а у тебя там даже DESTDIR не поддерживается, или еще каких-то фундаментальных вещей нет

annulen ★★★★★
()
Ответ на: комментарий от annulen

Сенькс ещё раз.

Ну после того как мейнтейнеры артикса в makefile моей утилитки добавили DIST и PREFIX, я поступаю везде также. Больше им ничего от меня не требовалось (а, ещё relro now), так что на этом я и успокоился. А в autotools я не умею, да и ругают их тут. :)

dimgel ★★★★★
() автор топика