[Aptitude-devel] Towards a better build system

Daniel Burrows dburrows at debian.org
Thu Apr 29 13:50:31 UTC 2010

On Thu, Apr 29, 2010 at 11:03:30AM +0000, Sune Vuorela <nospam at vuorela.dk> was heard to say:
> On 2010-04-29, Daniel Burrows <dburrows at debian.org> wrote:
> > complete "proof of concept" build system in the tree, but I wasn't
> > especially impressed.  The only thing I can say is that the result is
> > better than autotools, but only just.
> What's the metric for better? :)

  Better support for parallel builds (without having to put everything
in one big nonrecursive definition file).

  Direct support for building with all the different combinations of
options that I usually want to produce, and doing so without stalling
parallel builds.

  Running distcheck *before* producing an archive, and running it in
all the compile variants (it's quite common that I build an archive
and then realize afterwards that it doesn't compile with optimizations
turned on).

  Defining aptitude-specific stuff in the main build files and breaking
the customization of the build system itself into separate modules.
e.g., the build rule for each documentation variant is now one


  I really like all the stuff scons can do for me -- unfortunately the
stuff it can't do, or does badly, or needs horrible hacks to do, nearly
outweighs the positives.

> >   That said: I looked at the CMake Web site a bit last weekend and
> > noticed that their FAQ says you can't build source distributions with
> > cmake.  Ew?  I'll reserve judgement until I see your proof-of-concept,
> > though.
> what do you mean by 'source distributions' ?

  "make dist".

--- begin quote ---
  Where is "make dist"?

CMake doesn't create a "make dist" target. 
--- end quote ---

> I do have a couple of questions:
>  - is it correct that aptitude is designed to do a 'two pass' build,
>    first building aptitude and then creating a different config.h and
>    building aptitude-gtk ?

  Only because of limitations of autotools.  Run "scons --variant=all"
and you'll get both versions of the program (with all combinations of
compile flags).  Assuming you can get over your hatred of scons, that
is. :)

>  - is it correct that the boost_test tests doesn't build?

  It should build.


More information about the Aptitude-devel mailing list