<<< Date Index >>>     <<< Thread Index >>>

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