[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem with cross build for windows on linux with shared libraries
From: |
Nikos Mavrogiannopoulos |
Subject: |
Re: Problem with cross build for windows on linux with shared libraries |
Date: |
Mon, 09 Sep 2013 12:07:29 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130630 Icedove/17.0.7 |
On 09/05/2013 10:49 PM, Tomasz Gajewski wrote:
>> However, this requires that the gnutls library do two things: (a) use
>> symbol visibility attributes in the code to mark imported/exported
>> functions, (b) arrange for the "right" symbol visibility when compiling
>> the library vs. compiling non-library/application code. For the WinXX
>> platform, import vs. export preprocessor header file management isn't
>> complicated, but can be messy. There is a subtle benefit for the Linux
>> and shared object platforms: gnutls can hide symbols and generally speed
>> up dynamic linking (as opposed to making all symbols visible, which is
>> the default.)
>>
>> The patch to pull off (a) and (b) is not small and it isn't incremental.
>> Additionally, there's some gnulib hacking foo required to expose
>> symbols, since gnulib doesn't natively include symbol visibility
>> attributes.
>
> Yes. I know how it works on windows and also on linux and I also know that I
> lack this "gnulib hacking foo" :-)
>
> The problem is fixed for me after suggestion from Eli. I have reordered
> library dependencies to always have ../gl/libgnu.la after $(LIBOPTS_LDADD)
> and build succeeded. Patch below in case it is useful for anyone.
I have applied it in master. Thanks.
regards,
Nikos