LINUX.ORG.RU

Вопрос про Autoconf


0

0

У меня по мере использования Autotools возник такой вопрос. Когда я пишу в файле configure.in тест AC_CHECK_LIB() для проверки наличия какой-нибудь библиотеки, после ./configure и компиляции она будет потом слинкована с бинарниками из всех подкаталогов проекта, однако некоторым программам проекта, например, нафиг не нужны библиотеки, необходимые другим программам того же проекта. То есть после компиляции все бинарники имеют одинаковые (порой очень раздутые) зависимости от библиотек, хотя такой необходимости нет.

Так вот, кто-нибудь знает как можно устроить так, чтобы одни бинарники линковались с одними библиотеками, а другие -- с другими?

anonymous

Просто ты, наверное, пишешь

AC_CHECK_LIB([mylib], [myfunc],,)

а ему нужно действия явно указывать, а то действие по умолчанию - линковка с это либой, то есть должно быть так:

AC_CHECK_LIB([mylib], [myfunc],[enable=yes],[enable=no])

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

Ага, вот как раз нашел в info страничке:

ACTION-IF-FOUND is a list of shell commands to run if the link with the library succeeds; ACTION-IF-NOT-FOUND is a list of shell commands to run if the link fails. If ACTION-IF-FOUND is not specified, the default action will add `-lLIBRARY' to `LIBS' and define `HAVE_LIBLIBRARY' (in all capitals).

То есть, я могу в качестве ACTION-IF-FOUND указать какой-нибудь бред, а потом в Makefile.am каждого каталога прописать

progname_LDADD=-llib1 -llib2 и т. д...

Спасибо большое за ответ, и ведь смотрел же в документацию, а не видел нифига :/

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

>>То есть, я могу в качестве ACTION-IF-FOUND указать какой-нибудь бред

можно просто []

Krasu
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.