[notmuch] [PATCH] Add SCons build files.
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.
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,
More information about the notmuch