Build system (was Re: Future of KDE Development)

Esben Mose Hansen kde at mosehansen.dk
Sat Feb 19 16:29:39 GMT 2005


On Saturday 2005-02-19 14:37, Dirk Mueller wrote:

> it is easy to use for things that are easy, 

<rant>

Would you consider e.g. adding a KConfigXT generated configuration dialog 
easy? Could you outline the steps (yes, steps!) needed to do this? Let's say 
the relevant files are 

myconfig.ui
myconfig.ui.h
myconfig.kcfg
myconfig.kcfgc

How many people in the KDE community would you think would be able to do this 
task in one try?

Don't you think we can do better? 

Don't you think it is slightly problematic that we have such entries in out 
FAQ as:

Q: 2.4. How does the Makefile generation works?
 [...]  But don't try to understand how to use all that. It is quite complex 
and the strength of KDE is that you don't actually need to understand that 
stuff, [...]

The last sentence is obviously false, or we wouldn't have this discussion. 
Every time I make a mistake, I have to pick apart the build system to find my 
error, since the error is never or almost never reported the correct place, 
but rather 3-4 tools down the chain.

Two others:

Q: 2.13. I get "virtual tables error"?
 This often comes from the moc files not being in sync with the sources, or 
not linked at all.

Q: 2.16. I have added Q_OBJECT to myClassHeader.h but no moc files is 
generated?
 You need am_edit to reparse your Makefile.am to generate the correct Makefile

In other words, the build system does not always rebuild all the neccessary 
files. That is a serious bug for a build system! And yet, it has gone unfixed 
for long enough to have reached KDE's main developer FAQ.

And don't get me started on libtool archives. I hate those: xxxx.so seems to 
have been moved and xxxxx.la is not a valid libtool archive.

</rant>



-- 
regards. Esben




More information about the kde-core-devel mailing list