renaming kde-config to kde4-config

Alexander Neundorf neundorf at kde.org
Sat Dec 30 17:38:45 GMT 2006


On Sunday 24 December 2006 18:44, David Faure wrote:
> On Tuesday 27 June 2006 11:21, David Faure wrote:
> > Actually my idea was: we could support installing kdelibs3 and kdelibs4
> > into the same prefix, if we move most helper binaries to libexec/kde4.
>
> I discovered a problem with that: the kdeinit module.
> Even if I move kde4's kbuildsycoca to <kde4prefix>/lib/kde4/libexec, I end
> up with: both /usr/bin/kbuildsycoca (from kde3) and
> <kde4prefix>/lib/kde4/libexec/kbuildsycoca linking to a
> "libkdeinit_kbuildsycoca.so" so even with different prefixes, the kde3
> kbuildsycoca (called by a kde3 program) ends up running the kde4 code
>
> >from <kde4prefix>/lib/libkdeinit_kbuildsycoca.so since it's found first
> > (due to LD_LIBRARY_PATH).
>
> (I guess we can't just rely on RPATH at this point, for full portability).

Sure ?
Which systems are there except Windows ?

> With the kdeinit-module naming scheme I can't just rename the kdeinit
> module, it has to be found as libkdeinit_appname, otherwise kdeinit won't
> be able to dlopen the module.
>
> If I rename the binary and the kdeinit module to kbuildsycoca4, then moving
> it to libexec was a bit pointless, the binary might as well remain in bin.
> But I wanted to clean up bin from internal tools (ok kbuildsycoca isn't so
> internal, since we sometimes suggest to run it, but the problem will remain
> for other tools).
>
> Another option is to start versioning the kdeinit modules - but making sure
> we don't install a .so symlink so that both can be installed in the same
> prefix.... Sounds difficult and unportable (dlls).
>
> And finally, another option is to version inside the name itself, i.e.
> change the kdeinit naming scheme so that kde4_add_kdeinit_executable(
> kbuildsycoca ...)
> actually defines a kbuildsycoca binary linking to a
> libkdeinit_kbuildsycoca4.so - i.e. adding a '4' automatically. But then all
> our CMakeLists.txt code like
>  target_link_libraries(kdeinit_kbuildsycoca  [some libs] )
> must be adjusted to
>  target_link_libraries(kdeinit_kbuildsycoca4  [some libs] )
> Unless this can benefit from some cmake magic where the target name differs
> from the actual library name on disk?

Please try the attached example. It modifies the prefix and suffix.
This could be put into kde4_add_kdeinit_executable().
Which prefix/suffix would we like to have ?
The third example would produce a "libkdeinit_kbuildsycoca-4.so" e.g. on Linux 
and a "kdeinit_kbuildsycoca-4.dll" (I guess) on Windows.
Let me know what you think.

> Maybe I should just drop the idea of making kbuildsycoca (and other such
> tools) kdeinit modules, since the gain is reportedly not that much
> nowadays.

Which modules are these ? 
Which libs do they actually use ? I guess this would affect the KDE startup 
speed ?

Bye
Alex
-- 
Work: alexander.neundorf AT jenoptik.com - http://www.jenoptik-los.de
Home: neundorf AT kde.org                - http://www.kde.org
      alex AT neundorf.net               - http://www.neundorf.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: prefixsuffix.tar.gz
Type: application/x-tgz
Size: 489 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20061230/8e0dec51/attachment.bin>


More information about the kde-core-devel mailing list