reduced link interface: some link breakage possible

Modestas Vainius modestas at vainius.eu
Tue Dec 16 00:35:29 CET 2008


Hello,

Tuesday 16 December 2008, David Faure rašė:
> Doesn't this break SC, i.e. people upgrading to a newer kdelibs (e.g. via
> their distro) will suddenly be unable to compile 3rd party kde apps
> released before KDE 4.2?
So those 3rd party apps need to fix to their build system. Reduced linking 
interface has been under discusion since May and Debian has had it enabled one 
way or another since 4.0.8x.

> Would it help to only enable explicitely in every module that supports it,
> while leaving it disabled when compiling ksomeapp?
Almost all KDE 4.2 modules support it more or less properly (i.e. they do not 
leak non KDE and non QT libraries when unnecessary) with the exception of 
workspace which still leaks useless system libraries. Preliminary patch 
attached.

> Or does it break both SC and BC anyway, in which case this wouldn't even
> help (e.g. ksomeapp can't link anymore, or 3rd party plasma applets will
> stop loading...)?
It does not break BC, only SC in some cases. Now cmake can be explicitly told 
which external libraries the library links to are part of the link interface 
and which are simply needed for the library implementation and do not need to 
be linked recursively again and again to the users of the library.

> We _have_ to provide some stability in the build system... breaking SC
> and/or BC is really not going in the right direction.
Linking each little application to the load of useless system libraries is a 
lot worse (dependency mess) than this minor SC breakage which most projects 
probably won't notice anyway since they fixed the issue long ago or have never 
had it in the first place (e.g. target_link_libraries() was maintained 
carefully).

-- 
Modestas Vainius <modestas at vainius.eu>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 97_fix_target_link_libraries.diff
Type: text/x-patch
Size: 1003 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20081216/2a5c2580/attachment.diff 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20081216/2a5c2580/attachment.sig 


More information about the Kde-buildsystem mailing list