Build system for KDE4

Thiago Macieira thiago at kde.org
Wed Jun 15 02:51:25 BST 2005


Ralf Habacker wrote:
>>>  - GCC visibility
>
>can anybody tell me what this means. I have search in kde-devel, but
> hadn't found any usefull,

Never mind this one. I've answered in a mail to Alex, but you can ignore 
it.

>>  - kdeinit support (?)
>
>dito

This is one of the ugliest-but-important hacks we have in our code.

First we had applications, and they were slow to load.
Then we turned the applications into libraries, that could be loaded from 
a special process called "kdeinit" and by a wrapper executable as well.
Later, we found out we were not allowed to dlopen(2) a library: we needed 
to have a module. So we created modules, libraries and applications.

Example:
$ which konqueror
/usr/local/kde3/bin/konqueror
$ ls /usr/local/kde3/lib/libkdeinit_konqueror.so
/usr/local/kde3/lib/libkdeinit_konqueror.so
$ ls /usr/local/kde3/lib/kde3/konqueror.so
/usr/local/kde3/lib/kde3/konqueror.so
$ ldd /usr/local/kde3/lib/kde3/konqueror.so  | grep konqueror
        libkdeinit_konqueror.so 
=> /usr/local/kde3-r424191/lib/libkdeinit_konqueror.so (0xb7f21000)

>>  - multiple build targets (libfoo, libbar, libbaz) in one file
>>  - --compile-slots, like in unsermake
>
>probably --compile-jobs, which mean parallel make ?

Right, my mistake.

But, as I said in the other email: for compilation only. This shouldn't 
affect non-compilation jobs, like linking, yaccing, flexing, dcopidling, 
kconfig_compiling, etc.

>>  - pkg-config support
>>  - support rpath sanely
>
>what kind of behavior is 'sanely' ?

"Add to rpath only what I tell you to" as opposed to "add to rpath 
everything under the sun plus whatever you find in .la files (which I 
didn't say I want)"

We don't name -lstdc++ in our command-lines, but if libstdc++.la is found, 
it will be used, which means /usr gets added to rpath.

>> Would be nice, but not necessary:
>>  - having a standard and distributed build system and test suite
>>  - ability to build from svn:/trunk/KDE
>
>what includes this ability ?

None, which is why they are "would be nice".

-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

4. And æfter se scieppend ingelogode, he wrát "cenn", ac eala! se 
rihtendgesamnung andswarode "cenn: ne wát hú cennan 'eall'. Ástynt."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050614/428a50f4/attachment.sig>


More information about the kde-core-devel mailing list