Re: [PATCH] better header cache versioning
* On 2007.04.05, in <20070405104227.GE6560@xxxxxxxx>,
* "Christoph Berg" <cb@xxxxxxxx> wrote:
> >
> > No, it almost certainly won't be installed on (say) a NetBSD system.
> > (And neither will perl)
>
> It is only used at build time. (And perl has been required for
> running smime_keys for a long time.)
The systems on which you need to build mutt are the ones that are least
likely to have python already installed, for the same reasons.
I'm comfortable with saying you need perl/python to run an adjunct
program to use S/MIME (it's like saying you need GnuPG to use OpenPGP)
but saying you need it to compile the software is a little more
demanding.
Two ideas:
* If it can be done *reasonably* without external interpreters, then
that makes sense. If not, there could be a fallback in mutt code
itself that provides less smart versioning for builders without
python.
* Or: distributed source bundles can just include hcversion.h, and we
say that python is required to build developer versions from scratch.
I don't see any issue with that. We already require GNU make and
autoconf/automake for developer builds, and we already use this
policy-over-technology approach on other issues.
Three comments:
* "$(CPP) -include" looks like a gcc-ism
* $^ looks like a gmake-ism. Better to avoid if possible, but
as above, not terrible if hversion.h is bundled on distribution
to avoid gmake dependency for non-devel builders.
* Should we think about using only one external interpreter --
settling on perl or python, but not both? (I'd vote python,
with whatever script adaptations/rewrites this implies.)
I'm not sure what $^ is, but I assume it's the dependency list.
Perhaps instead of this:
hcversion.h: $(srcdir)/mutt.h $(srcdir)/rfc822.h
$(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -include config.h $^ | python
we could try something like this:
hcversion.h: $(srcdir)/mutt.h $(srcdir)/rfc822.h
( \
echo '#include "config.h"; \
echo '#include "mutt.h"; \
echo '#include "rfc822.h"; \
) | $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -I. -I$(srcdir) | python
--
-D. dgc@xxxxxxxxxxxx NSIT University of Chicago