Build system (was Re: Future of KDE Development)
Mike Richardson
mike at quaking.demon.co.uk
Tue Feb 15 04:20:30 GMT 2005
On Monday 14 February 2005 16:02, Guillaume Laurent wrote:
> Stephan Kulow wrote:
> > I would like to clean up the build system majorly and surely would like
> > to finish it before KDE4. I have tons of ideas and would like to
> > basically start from scratch - what tools would we have choosen if we had
> > started now? Don't say qmake, I won't believe you. Anyway: different
> > thread, but surely a lot of work, that also includes the risk of scaring
> > people away. Answer this: what is more scary: the current build system or
> > the idea of throwing anything you know about the current build system
> > away?
>
> The current build system is *way* scarier IMHO :-).
>
> To repeat my post on kde-devel regarding scons and bksys
> (http://www.kde-apps.org/content/show.php?content=19243) :
>
> It took me about half a day to get Rosegarden (some autoconf checks, two
> libs, DCOP interfaces, >200LOC) to build with scons+bksys, this with
> very little previous Python experience and no scons experience at all.
> The SConscript files are very simple, and much easier to understand than
> the corresponding Makefile.am.
>
> As far as I know, scons is the only build system which also has
> autoconf-like features. bksys adds the all the kde-only bits we need, so
> IMHO it's very much worth a look.
I'd concur on scons. I've switched Rekall from autohell to scons (not using
bksys since I started this before bksys was announced) and it is much much
easier to do all sorts of stuff. Rekall currently builds using the same scons
scripts for KDE, Qt-only, OS/X (and windows using mingw); almost all the
differences are hidden in the common code.
I'd say switching is of itself scary, but once done the benefits are
fantastic.
One suggestion, create a set of common configuration modules. I suspect one of
the reasons that autohell mushrooms so much is that most people don't
understand it enough, so they just take an existing example and hack some
more into it.
Regards
Mike
More information about the kde-core-devel
mailing list