From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4F299EB7.604@domain.hid> Date: Wed, 01 Feb 2012 21:21:11 +0100 From: Gilles Chanteperdrix MIME-Version: 1.0 References: <4F294E43.7060102@domain.hid> <4F2957A0.6040806@domain.hid> <4F29597F.8050500@domain.hid> <4F295C71.6090503@domain.hid> <4F295F39.7080003@domain.hid> In-Reply-To: <4F295F39.7080003@domain.hid> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai-core] Built-in libxenomai dependency List-Id: Xenomai life and development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: xenomai-core On 02/01/2012 04:50 PM, Jan Kiszka wrote: > On 2012-02-01 16:38, Gilles Chanteperdrix wrote: >> On 02/01/2012 04:25 PM, Jan Kiszka wrote: >>> On 2012-02-01 16:17, Gilles Chanteperdrix wrote: >>>> On 02/01/2012 03:37 PM, Jan Kiszka wrote: >>>>> Hi, >>>>> >>>>> don't remember anymore: Is there any subtle reason that prevent a >>>>> change like >>>>> >>>>> diff --git a/src/skins/native/Makefile.am b/src/skins/native/Makefile.am >>>>> index 39eaaed..4cc8859 100644 >>>>> --- a/src/skins/native/Makefile.am >>>>> +++ b/src/skins/native/Makefile.am >>>>> @@ -22,6 +22,9 @@ libnative_la_SOURCES = \ >>>>> wrappers.c \ >>>>> wrappers.h >>>>> >>>>> +libnative_la_LIBADD = \ >>>>> + ../common/libxenomai.la >>>>> + >>>>> libnative_la_CPPFLAGS = \ >>>>> @XENO_USER_CFLAGS@ \ >>>>> -I$(top_srcdir)/include >>>>> diff --git a/src/skins/rtdm/Makefile.am b/src/skins/rtdm/Makefile.am >>>>> index 8ad74be..2dc0a90 100644 >>>>> --- a/src/skins/rtdm/Makefile.am >>>>> +++ b/src/skins/rtdm/Makefile.am >>>>> @@ -8,6 +8,9 @@ librtdm_la_SOURCES = \ >>>>> core.c \ >>>>> init.c >>>>> >>>>> +librtdm_la_LIBADD = \ >>>>> + ../common/libxenomai.la >>>>> + >>>>> librtdm_la_CPPFLAGS = \ >>>>> @XENO_USER_CFLAGS@ \ >>>>> -I$(top_srcdir)/include >>>>> diff --git a/src/testsuite/latency/Makefile.am b/src/testsuite/latency/Makefile.am >>>>> index c772c26..6534df5 100644 >>>>> --- a/src/testsuite/latency/Makefile.am >>>>> +++ b/src/testsuite/latency/Makefile.am >>>>> @@ -14,5 +14,4 @@ latency_LDFLAGS = @XENO_USER_LDFLAGS@ >>>>> latency_LDADD = \ >>>>> ../../skins/native/libnative.la \ >>>>> ../../skins/rtdm/librtdm.la \ >>>>> - ../../skins/common/libxenomai.la \ >>>>> -lpthread -lm >>>>> >>>>> i.e. that we let the skin libraries depend on libxenomai and then remove >>>>> the explicit dependency from our binaries and the xeno-config output? >>>>> Is there some ordering issue again (we have -l before -lxenomai >>>>> in the ldflags). >>>>> >>>>> If possible, this would allow for things like dlopen("libnative.so"). >>>> >>>> It allows xeno-config result to work both with dynamic and static >>>> libraries. Static libraries have no dependency system, so, when linking >>>> a program whith libnative.a for instance, without libtool, you still >>>> have to link it with libxenomai.a. >>> >>> OK, part two could stay, but the dependencies should still be added to >>> the skin libs - if possible. >>> >>>> >>>> How come you can not dlopen libnative.so, dlopening libxenomai.so before >>>> does not work? >>> >>> Dependencies of libnative on libxenomai are not resolved when you open >>> the former even if the latter is already loaded. Maybe you can do this >>> by pulling in all required symbols one by one manually, haven't tried >>> yet. But that would at least be unhandy. >> >> What about RTLD_GLOBAL ? >> > > Was possibly the reason, need to check back. > > Still, what prevents stating the existing dependency of lib on > libxenomai? The dance above would than be obsolete. The change is merged. I took the chance to check that static build still built. -- Gilles.