From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4F314F18.6020908@domain.hid> Date: Tue, 07 Feb 2012 17:19:36 +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> <4F299EB7.604@domain.hid> In-Reply-To: <4F299EB7.604@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 09:21 PM, Gilles Chanteperdrix wrote: > 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. > Unfortunately this change also causes a build failure when cross-compiling for ARM, so, change reverted, too. -- Gilles.