On Wed, Mar 10, 2004 at 08:28:23PM +0500, Andrey Rahmatullin wrote: > Есть в sim проблема - как сказал zerg, надо делать либам разные soname в > зависимости от $use_kde. Как это делается у меня: в Makefile.am от обеих > либ вместо > > lib_LTLIBRARIES = libsimapi.la > > стоит > > if KDE > lib_LTLIBRARIES = libsimapi.la > else > lib_LTLIBRARIES = libsimapi-qt.la > endif > > И ниже > > libsimapi_la_LIBADD = > libsimapi_la_SOURCES = > libsimapi_la_LDFLAGS = > > libsimapi_qt_la_LIBADD = > libsimapi_qt_la_SOURCES = > libsimapi_qt_la_LDFLAGS = > > (строки после = не пустые, просто писать неохота). Какой ужас.... > В configure.in.in стоит > AM_CONDITIONAL(KDE, test "$use_kde" = "yes") > > Не знаю, насколько это правильно с т.зр. GNU Autotools, но под automake > 1.7 всё нормально собирается. Под 1.8 - в Makefile.in в некоторых местах > помимо всех условных структур вылезает незавернутый libsimapi-qt.la > (точнее, тот из вариантов, который стоит 2-м - я пробовал ставить !KDE и > менять местами lib_LTLIBRARIES - вылезает libsimapi.la). Чушь получается > полная. К тому же почему-то добавление в спек строки > %set_automake_version 1.7 > не влияет на реально используемую версию. > > Может, именем собираемой библиотеки можно управлять более правильно? А то > мне свой костыль не очень нравится, а с учетом automake 1.8 делать > придется, похоже, еще хуже... Можно использовать опцию -release у libtool - при этом имя *.la и *.so не меняется (поэтому пакеты *-devel будут конфликтовать), изменяется как раз soname.