* [devel] Circular link for libraries
@ 2013-04-26 7:23 REAL
2013-04-27 17:45 ` Ivan A. Melnikov
0 siblings, 1 reply; 6+ messages in thread
From: REAL @ 2013-04-26 7:23 UTC (permalink / raw)
To: ALT Linux Team development discussions
Привет!
Есть проект на CMake, там необходимо выполнить взаимолинковку пары
библиотек, типа такого:
target_link_libraries(foo bar)
target_link_libraries(bar foo)
cmake на это резонно ругается, но без таких взаимолинковок сборка не
проходит в части verify-elf. Есть какой-нибудь трюк, чтобы это
заработало? В autotools такие вещи делались довольно просто.
--
REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Circular link for libraries
2013-04-26 7:23 [devel] Circular link for libraries REAL
@ 2013-04-27 17:45 ` Ivan A. Melnikov
2013-04-27 17:51 ` Viacheslav Dubrovskyi
2013-04-28 4:07 ` REAL
0 siblings, 2 replies; 6+ messages in thread
From: Ivan A. Melnikov @ 2013-04-27 17:45 UTC (permalink / raw)
To: devel
On Fri, 26 Apr 2013 14:23:29 +0700
REAL <real@kemsu.ru> wrote:
> Привет!
>
> Есть проект на CMake, там необходимо выполнить взаимолинковку пары
> библиотек, типа такого:
>
> target_link_libraries(foo bar)
> target_link_libraries(bar foo)
>
> cmake на это резонно ругается, но без таких взаимолинковок сборка не
> проходит в части verify-elf. Есть какой-нибудь трюк, чтобы это
> заработало? В autotools такие вещи делались довольно просто.
Не расскажите, как? А то я не представляю себе, как можно слинковаться
с библиотекой, которой ещё нет.
--
WBR,
Ivan A. Melnikov
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Circular link for libraries
2013-04-27 17:45 ` Ivan A. Melnikov
@ 2013-04-27 17:51 ` Viacheslav Dubrovskyi
2013-04-28 4:09 ` REAL
2013-04-28 4:07 ` REAL
1 sibling, 1 reply; 6+ messages in thread
From: Viacheslav Dubrovskyi @ 2013-04-27 17:51 UTC (permalink / raw)
To: devel
27.04.2013 20:45, Ivan A. Melnikov пишет:
> On Fri, 26 Apr 2013 14:23:29 +0700
> REAL <real@kemsu.ru> wrote:
>
>> Привет!
>>
>> Есть проект на CMake, там необходимо выполнить взаимолинковку пары
>> библиотек, типа такого:
>>
>> target_link_libraries(foo bar)
>> target_link_libraries(bar foo)
>>
>> cmake на это резонно ругается, но без таких взаимолинковок сборка не
>> проходит в части verify-elf. Есть какой-нибудь трюк, чтобы это
>> заработало? В autotools такие вещи делались довольно просто.
> Не расскажите, как? А то я не представляю себе, как можно слинковаться
> с библиотекой, которой ещё нет.
Недавно патчил pacemaker на эту тему.
Вот тут собирается libcib которая должна линковться с libpe. И на оборот.
Добавляем дополнительное правило. При этом собирается libpe и с ней
линкуется libcib. Потом, когда доходит очередь до неё, она перелинкуется
опять с ранее собранной либой.
libcib_la_LDFLAGS = -version-info 3:0:0
-L$(top_builddir)/lib/pengine/.libs
libcib_la_LIBADD = $(CRYPTOLIB)
$(top_builddir)/lib/pengine/libpe_rules.la
$(top_builddir)/lib/common/libcrmcommon.la
libcib_la_CFLAGS = -I$(top_srcdir)
libcib_la_DEPENDENCIES = libpe_rules
libpe_rules:
make -C ../../lib/pengine libpe_rules.la
Вообщем как выяснилось это по сути плохо, т.к. возникает резонный
вопрос: - а зачем выделять тогда либы?
--
WBR,
Viacheslav Dubrovskyi
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Circular link for libraries
2013-04-27 17:51 ` Viacheslav Dubrovskyi
@ 2013-04-28 4:09 ` REAL
2013-04-29 10:07 ` Ildar Mulyukov
0 siblings, 1 reply; 6+ messages in thread
From: REAL @ 2013-04-28 4:09 UTC (permalink / raw)
To: ALT Linux Team development discussions
28.04.2013 00:51, Viacheslav Dubrovskyi пишет:
> Вот тут собирается libcib которая должна линковться с libpe. И на оборот.
> Добавляем дополнительное правило. При этом собирается libpe и с ней
> линкуется libcib. Потом, когда доходит очередь до неё, она перелинкуется
> опять с ранее собранной либой.
[...]
> Вообщем как выяснилось это по сути плохо, т.к. возникает резонный
> вопрос: - а зачем выделять тогда либы?
это уже апстриму вопрос, не всякий мейнтейнер сможет объединить две
либы в одну.
--
REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Circular link for libraries
2013-04-28 4:09 ` REAL
@ 2013-04-29 10:07 ` Ildar Mulyukov
0 siblings, 0 replies; 6+ messages in thread
From: Ildar Mulyukov @ 2013-04-29 10:07 UTC (permalink / raw)
To: ALT Linux Team development discussions
28.04.2013 10:09, REAL пишет:
> 28.04.2013 00:51, Viacheslav Dubrovskyi пишет:
>> Вообщем как выяснилось это по сути плохо, т.к. возникает резонный
>> вопрос: - а зачем выделять тогда либы?
poor design, IMHO
> это уже апстриму вопрос, не всякий мейнтейнер сможет объединить две
> либы в одну.
А такое делать - это вообще, скорее вред, чем польза.
С уважением,
--
Ildar Mulyukov,
free SW designer/programmer/packager
======================================
email: ildar@altlinux.ru
Jabber: ildar.mulyukov@gmail.com
ICQ: 4334029
ALT Linux http://packages.altlinux.org/ru/Sisyphus/maintainers/ildar/
======================================
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Circular link for libraries
2013-04-27 17:45 ` Ivan A. Melnikov
2013-04-27 17:51 ` Viacheslav Dubrovskyi
@ 2013-04-28 4:07 ` REAL
1 sibling, 0 replies; 6+ messages in thread
From: REAL @ 2013-04-28 4:07 UTC (permalink / raw)
To: ALT Linux Team development discussions
>> cmake на это резонно ругается, но без таких взаимолинковок сборка не
>> проходит в части verify-elf. Есть какой-нибудь трюк, чтобы это
>> заработало? В autotools такие вещи делались довольно просто.
>
> Не расскажите, как? А то я не представляю себе, как можно слинковаться
> с библиотекой, которой ещё нет.
просто в Makefile добавляется перменная, например, ${MYLIB} в сторку
линковки. и делается два захода %make_build:
%make_build
%make_build -lmylib
--
REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-04-29 10:07 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-26 7:23 [devel] Circular link for libraries REAL
2013-04-27 17:45 ` Ivan A. Melnikov
2013-04-27 17:51 ` Viacheslav Dubrovskyi
2013-04-28 4:09 ` REAL
2013-04-29 10:07 ` Ildar Mulyukov
2013-04-28 4:07 ` REAL
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git