Reducing excess linkage - cmake 2.6 IMPORTED targets and LINK_INTERFACE_LIBRARIES for kdelibs
Leo Savernik
l.savernik at aon.at
Mon Jun 30 17:28:54 CEST 2008
Am Montag, 30. Juni 2008 schrieb Modestas Vainius:
> 2) KDE 4.1 branch will be more compatible with older 3rd party kde4
> applications. Please have in mind that this experimental linking will
> probably be enabled by some distros (Debian at least however we are not
> going to ship full KDE 4.1 in upcoming stable, only everything up to
> runtime) by default.
What's the impact on BC by these changes? As I understand your explications,
an App foo linking to liba which transitively links to libb, where foo
accesses symbols of both liba and libb, currently works under KDE 4.0.
For KDE 4.1 we want to make linkage explicit (which I consider a good idea per
se). When running foo built against KDE 4.0's liba under KDE 4.1, it will
bomb out as it cannot resolve the symbols of libb anymore.
Can this happen with your proposed changes? This would be BIC. Otherwise, if
linkage errors only occur on build time, it's only a mild form of SIC, which
we could justify.
>
> > So I don't really see a problem in kdecore dragging in QtDBus (...having
> > also the breakage in mind which removing too much will cause).
>
> Everything Qt/KDE based (99,99%) needs QtCore, as almost all KDE apps need
> kdecore. That is not the case with QtDBus what you effectively state here.
If somebody intends to write a hypothetical kde command line app depending
only on qtcore and kdecore without gui and without dbus, loading and
execution shouldn't suffer by dragging in QtDBus. I think KDE 4 *should*
support lean and fast command line apps.
mfg
Leo
More information about the Kde-buildsystem
mailing list