Mail Archives: cygwin-apps/2001/10/12/15:06:22
Gerrit P. Haase wrote:
> libtool uses the new gcc feature '-shared' to create the dll:
> gcc -shared $(OBJECTS) -lssl -lcrypto -o .libs/cygcurl-2.dll \
> -Wl,--image-base=0x10000000 -Wl,--out-implib,.libs/libcurl.dll.a
> But it always uses the default image-base (where can I toggle this?).
Don't bother. DLL relocation doesn't take much time, and using other
algorithms to pick an image base other than 0x10000000 can lead to
conflicts with cygwin1.dll. Just let it be. (Search the archives for
"image base" and "Robert Collins" for more information.
> 'dllwrap' is an older tool the makes it easier, now gcc supports the -shared
> option it works without dllwrap, too.
> There is more about this way in the cygin-user-guide.
cygwin-user-guide is way out of date on this subject.
> But there is still more, take a look at the dllhelpers:
> I'm not up to date with the c++ issues, there are still some problems I guess.
>>I will ask the curl maintainer (Daniel Stenberg) to add in your changes
>>(-no-undefined and AC_LIBTOOL_WIN32_DLL), and see whether he has any
>>problem with that. This package is also actively built using minGW, so
>>I'm hoping those changes don't conflict in any way with the minGW
I'm not real clear on *very* recent changes to libtool. I know that
libtool-1.4 supports DLL-building on cygwin in the goat book style,
which requires AC_LIBTOOL_WIN32_DLL and such. HOWEVER, that was *prior*
to the auto-import changes to binutils.
These binutils changes make it easier to build *cygwin* DLLs without
AC_LIBTOOLS_WIN32_DLL -- I think. Robert Collins has a hacked up
version of libtool
takes advantage of this. Gary Vaughan (libtool maintainer) is
interested in these improvements and wants to fold them in to the
development versions of libtools -- but I do not know what the status of
that is, yet.
I was active in pushing the improvements into binutils, and pushing
Corinna to release up-to-date versions of autoconf and automake -- and
then I was going to get back with Gary on the libtool issues. However,
there are reasons to retain the older versions of autoconf and automake,
so I am currently attempted to create a set of scripts to allow both
autoconf-2.13 and autoconf-2.5x to coexist. (Ditto automake-1.4p5 and
automake-1.5). Once that's done, then I'll get back in touch with Gary
on the libtool issues.
Point: building DLLs on cygwin, using libtool, is currently in flux.
- Raw text -