Re: Compiling dynamic library using mingw32

Donovan Baarda <[email protected]> Thu, 30 Dec 2004 11:55:15 +1100
Newsgroups gmane.network.librsync.general
Organization http://minkirri.apana.org.au/~abo/
Message-ID <1104368115.4504.17.camel@localhost>
On Wed, 2004-12-29 at 15:55 +1100, Mike Tyson wrote:
> Howdy!
> 
> I'm using librsync in a (currently commercial, hopefully ultimately
> GPL'd) backup application and server.  If I understand the license
> correctly, I need to link to a dynamic library, which can be replaced
> separately by users.  Firstly, is this correct?

I don't know... I think static vs dynamic link is an arbitary
distinction. The important part of the LGPL says that the library code
can be used in non-free applications, provided any changes to the
library itself are released under the LGPL... I don't see how static vs
dynamic matters...

Hmm, just re-read the licence. it also requires that the library be used
in a way that allows the end-user to use your application with a
modified version of the library. This means you either need a dynamic
library, or you need to provide enough so that your code can be
re-linked with a different version of the static library... ie, at least
compiled object files with enough bits to do the linking.

> Assuming I'm right, I need to find a way to compile a windows .dll of
> the library.  I've successfully compiled a .a static library I can link
> against with the mingw32 cross-compiler, but even when supplying the
> source tree's ./configure script the --enable-shared --disable-static
> flags, I still end up with a static .a library.
> Am I missing something?  Am I going to be able to compile a dynamic
> library from this source?  Has anyone else managed it?

There have been a few questions on this list about compiling a DLL with
no response... either the people asking figured it out themselves, or
no-one has done it.

I think you may have more success asking on the mingw32 lists. Making
DLL's from standard unix library code is a win32 compiler issue, and not
specific to librsync. I believe that win32 DLL's are slightly wierd, and
require additional resource stuff to define/implement the DLL interface.

> Thanks in advance =)

When/If you figure it out, please mail to the list. Feel free to submit
any code/patches/readme's necessary to make it work, and we can include
them in the next release.

-- 
Donovan Baarda <[email protected]>
http://minkirri.apana.org.au/~abo/



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt