[quake3] build system

tom fogal tfogal at cisunix.unh.edu
Mon Sep 5 09:23:25 EDT 2005


 <20050905082132.GJ8460 at spacepants.org>Jamie Wilkinson writes:
> This one time, at band camp, Ludwig Nussel wrote:
> >Jamie Wilkinson wrote:
> >> [make -> cons...]
> >> What do you guys think, does that sound like a worthwhile goal for icculus
> ?
> >
> >As someone who also does packaging work for a distribution I can
> >only say that I hate custom build scripts. That's usually even worse
> >than custom Makefiles. I'd rather go for automake.
> 
<snip>
> I'm convinced that quake3 was released using cons, the Makefiles are merely
> leftovers.  I suppose I should contact ttimo to confirm this, but the fact
> that the makefiles didn't work out of the box and cons did is in my mind
> pretty heavy evidence of the One True Build System here.

I've had a conversation with TTimo on IRC, pretty much along the same
lines as this thread.  TTimo intended cons to be the build system.

In any case, just because it wasn't the intended use doesn't mean it's
wrong.  This \emph{is} open source, after all =)

> I don't think the packaging would be much of an issue.  It's pretty easy to
> tweak SCons to do the right thing, so I expect making the install targets in
> the Conscripts would be easy too. There's a significant amount of work
> already done in the SCons community for doing automake-like distribution
> targets (prefixed install, tarballs, etc).

Personally I'm very much in favor of the GNU autotools (since I've
recently learned them and they don't feel like magic anymore).  They
provide some nice features (easy cross compilation was mentioned) and
IMHO are 'the right way' to go about building software -- checking for
certain supported features of the build environment and adapting based
on those checks (instead of hardcoded, "Apple does things this way, so
#ifdef __APPLE__...").  I know of at least one person that has already
started on q3 autotools support [1].

Anyway I do feel the current Makefile system is fine for now.  People
are building with it, its working for most (all?) everyone, and every
UNIX developer does/should know how to maintain a Makefile.  If we do
decide to go the cons route though, I think porting to scons is a good
idea.  I don't know anything about the technical merits of either
project, but scons being actively maintained is key in my mind.  An
unsupported build system is just another opportunity for code rot...

My $0.02

-tom

[1] http://g-rave.nl/quake3.html



More information about the quake3 mailing list