[notmuch] [PATCH] Add SCons build files.

Jeffrey Ollie jeff at ocjtech.us
Sun Nov 22 20:36:30 PST 2009


On Sun, Nov 22, 2009 at 9:11 PM, Carl Worth <cworth at cworth.org> wrote:
>
> But I'm afraid I really don't want to switch away from just using (GNU)
> make for the actual compilation.
>
> I don't know anything about scons, but if you can use it to write a
> python script that just does the configuration step, (outputting a
> Makefile.config say), then that might be very interesting.

Well, to me, part of the appeal of SCons is that it doesn't generate
Makefiles.    This article is a little old, but the first three
sections are a pretty good rundown on the limitations of Make.

http://www.scons.org/wiki/FromMakeToScons

If you really want a tool that generates Makefiles, take a look at
CMake.  Unfortunately, I think CMake tries to do too much with the
Makefiles and they become close to unreadable.  In the attempt I made
to come up with CMake build files, CMake generates at least 3800 lines
of Makefiles (from a starting point of 30 lines of build files).

> Some people
> have recently told me that python would be a much more sane language for
> doing configuration in than shell.

Well, Python is a much more sane language for doing just about
anything as far as I'm concerned. :)

> I don't know if they're right or not, but I'm (somewhat) willing to have
> multiple implementations of the configure script (since there's always
> the option to just skip it and configure Makefile.config manually). But
> I'm definitely not willing to have multiple build systems.

I think that having multiple different configuration systems would be
pretty awful, especially if people make changes to their favourite
configuration system and hope that someone else fixes the others.

> Meanwhile, the only advantage I know for automake is that once it's
> setup, adding a new file to compile is as simple as adding one file to a
> list in the Makefile.am. We've already got notmuch as easy as that with
> just adding a file to a list in Makefile.local.

Once SCons is set up, adding a new file is just a matter of adding the
name of the file to a list as well.  CMake is the same, and I'm sure
that other systems are similar.

> So I'd very much like to continue exploring what we can do with our own
> configuration system, (in whatever language/language(s) make sense).

It would seem to me that we would be re-inventing a lot of the work
already done by other people.

> Thanks for listening,

Same here.

-- 
Jeff Ollie


More information about the notmuch mailing list