Build system (was Re: Future of KDE Development)

Guillaume Laurent glaurent at telegraph-road.org
Fri Feb 18 16:20:18 GMT 2005


David Faure wrote:
> 
> Still, hardcoding ".so" is hardly portable (e.g. to native Windows).

Won't take ages to fix this :-).

> Anyway, to step back a bit and look at the alternatives, in my opinion
> the problem with the current build system is admin/ and autoconf,
> but not the Makefile.am syntax itself, which is quite easy,

Is it ? Can you do this easily in Makefile.am :

haveLibFoo = CheckForLib("foo")

sources = glob("prog*.cpp")

if haveLibFoo
   sources.append("fooclient.cpp")
else
   source.append("nullclient.cpp")

?

We tried having conditional compilation with RG and it was not pretty. 
For 99% of the tasks, the scons syntax is just as simple (if not 
simpler, or clearer) than Makefile.am, but if you really need it then 
you still have a full fledged scripting language at your disposal.

The fact that no 'sub build' files are generated, so you can always 
easily debug your build scripts if you really have to, is also a huge 
win. And the built-in ccache-like functionality. The less tools we 
depend on, the better.

> How about we keep Makefile.am, but use unsermake (as a dependency,
> which has to be installed first - no admin/ copies; oh, and with a better
> name of course). And for the configure part, using something like what
> scons provides - so that it's python all the way through.

So either you're going to re-implement the scons config tests (have fun 
doing that), or you're going to use scons just for config tests but not 
for building ?

-- 
Guillaume
http://telegraph-road.org




More information about the kde-core-devel mailing list