cygwin-patches for kde 3.4.1
Ralf Habacker
ralf.habacker at freenet.de
Fri Jun 17 17:03:57 BST 2005
Am Freitag, 17. Juni 2005 15:55 schrieb Thiago Macieira:
> David Faure wrote:
> >On Friday 17 June 2005 15:01, Thiago Macieira wrote:
> >> On the other hand, suppose you linked to KIO, but used something from
> >> a library libkio uses directly or indirectly (let's call it
> >> third-party libxml). If KIO ever stops using that library, for
> >> whatever reason, you program will fail to link. Not only that, it will
> >> also fail to run if you upgrade libkio, without touching the program.
> >>
> >> Hence the need to specify all dependencies.
> >
> >Sure, for third-party libs used by the app I totally agree.
>
> I'm worried that the scenarios I described might apply to KDE libraries.
> Example (hypothetical): KIO uses kdnssd today, for whatever internal
> reason, but tomorrow we split kdnssd into two libraries. Applications
> break because they used the part of kdnssd that KIO no longer links to.
>
> >Yes I was only talking about kdelibs. We know that kio needs kdecore,
> >and we know that this isn't going to change tomorrow.
>
> If that's for kdelibs only, then all non-kdelibs Makefile.am's must be
> changed. I don't think I followed you correctly, though.
>
> >> The linker should solve this here.
> >
> >It does on linux, but I thought the conclusion was that it can't do so
> > on cygwin?
>
> Well, the problem is that Cygwin uses static wrapper libraries (.a) on
> Cygwin to represent the DLLs. Static libraries don't carry dependency
> information, hence the need to specify all dependencies on the
> command-line. That's actually what libtool's .la were invented for.
unfortunally admin/acinclude.m4.in uses outside kdelibs -lxxx when refering to
kde libs and not the related la file, so this will not work currently.
> But, no, GNU ld must be fixed on the COFF PE (Win32) arch so that it will
> correctly find the dependencies. It should read the .dll themselves, not
> a (possibly outdated) .a wrapper.
>
cygwin's ld has support to load a dll directly, but I don't know if it handles
this dependencies.
Is loading this dependency the default behavior for ld on unix ?
> That said, I don't care what happens to Win32.
> Ralf
More information about the kde-core-devel
mailing list