Re: mixmaster
Hi Paul,
* Paul Walker wrote on Mon, Jan 16, 2006 at 01:49:23AM CET:
> On Sun, Jan 15, 2006 at 11:01:07PM +0000, Paul Walker wrote:
>
> > I don't believe they're mutt problems I'm having, but auto-tools
> > brokenness; however, stuff like
> > browser.c:33:18: error: imap.h: No such file or directory
>
> A mix of user error and the autotools. Resolved the latter by removing
> everything but the very latest version from the system; resolved the former
> by not pasting in the *whole* line from a previous config.log (read it and
> you'll see why).
I don't know why you see this failure (since you don't post the excerpt)
but looking at Makefile.am, I do see that this is wrong:
| Makefile: $(BUILT_SOURCES)
It will cause Automake to not output a rule to recreate the Makefile
(so there will be no rule to update it at all), neither the dependency
of Makefile upon Makefile.in, nor config.status.
This change was done 21-Jun-00, presumably with this ChangeLog entry:
| * Makefile.am, prepare: Work-around for keymap_defs and other
| dependency problems. From Lars Hecking.
I was not able to find a corresponding message in the mail archives, so
I don't know what exactly this change should have fixed. It would help
to know this, in order to suggest a proper fix.
* Phil Pennock wrote on Mon, Jan 16, 2006 at 02:02:24AM CET:
>
> OP_COMPOSE_MIX is declared in keymap_defs.h which is automatically made
> from the OPS and relevant OPS.* files, where configure defines which
> ones are relevant; in my generated configure file there's a block:
> ----------------------------8< cut here >8------------------------------
> # Check whether --with-mixmaster or --without-mixmaster was given.
> if test "${with_mixmaster+set}" = set; then
> withval="$with_mixmaster"
> if test -x "$withval" ; then
Is this intended? 'test -x' will not search $PATH for you.
> cat >>confdefs.h <<_ACEOF
> #define MIXMASTER "$MIXMASTER"
> _ACEOF
This should be
AC_DEFINE_UNQUOTED([MIXMASTER], ["$MIXMASTER"])
> Beyond that, I freely confess to not knowing the autotools stuff, not
> even how to fix my setup to avoid the "warning: underquoted definition
> of" stuff I get spammed with every time I run prepare.
Macros need to be defined like this:
AC_DEFINE([foo], [bar baz])
instead of this
AC_DEFINE(foo, [bar baz])
because if autoconf ever encounters the second version twice, you are
effectively trying to define a macro named "bar baz". This change
should be done in all macro files, installed or not, and is backward
compatible with any autotools version.
Cheers,
Ralf