Subject: bug#7763: Remake rules botch up when 'foreign' and 'ignore-deps' are removed from AM_INIT_AUTOMAKE

From: Stefano Lattarini <[email-masked]>
Date: Sun, 2 Jan 2011 12:00:56 +0100

On Sunday 02 January 2011, Ralf Wildenhues wrote:
> Hello Stefano,
> 
> * Stefano Lattarini wrote on Thu, Dec 30, 2010 at 11:38:45PM CET:
> > Currently, the Automake-generated rebuild rules[1] invoke automake with
> > some command-line options derived from arguments given to AM_INIT_AUTOMAKE.
> > 
> > [1] For more info, see:
> >     <http://www.gnu.org/software/automake/manual/html_node/Rebuilding.html>
> > 
> > For example, putting `foreign' in AM_INIT_AUTOMAKE generates remake rules
> > that rebuild outdated Makefile.in files using "$(AUTOMAKE) --foreign";
> > similarly, `no-dependencies' in AM_INIT_AUTOMAKE generates remake rules
> > that rebuild outdated Makefile.in files using "$(AUTOMAKE) --ignore-deps".
> 
> I agree that this is a bug.
> 
> Question is, does removing the arguments break other, legitimate uses?
> Or was this functionality purely added at a time before automake could
> trace configure.ac macros?
>
Well, the use of `--foreign' etc. in automake calls in rebuild rules
was already in place at least in commit `Release-1-0-5-g415b068' of
10/06/1996 (back then, the option really used was the now-obsolete
`--strictness=STRICTNESS-LEVEL').

Also, the use of `--ignore-deps' in automake calls in rebuild rules
was added with commit `Release-1-1p-11-g27ccbf2' of 27/05/1997.

At the time those commits were done, no tracing of autoconf macros nor
setting of automake options in AM_INIT_AUTOMAKE were available, and so
the only way to enable a particular strictness and/or the option
`no-dependencies' globally was to pass proper command line arguments
to automake.

> The tests might suffer from the trace caching bug as well, haven't
> checked.
>
Am I missing something, or is this a quite serious bug of autom4te?

Thanks,
   Stefano