bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Deleted header file" problem: aclocal.m4 deps


From: Eric Blake
Subject: Re: "Deleted header file" problem: aclocal.m4 deps
Date: Wed, 04 Jul 2007 21:10:09 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070509 Thunderbird/1.5.0.12 Mnenhy/0.7.5.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Ralf Wildenhues on 9/17/2006 12:54 PM:

[reviving an old post, for a still-relevant problem]

> The "deleted header file" problem that was solved for object file
> dependency generation a long time ago also affects aclocal.m4
> generation.  For a long time, this wasn't a problem, since the
> list of local *.m4 files in a project was rather stable.  The
> dynamics of gnulib changed this, and by gnulib's popularity,
> | make: *** No rule to make target `../foo/m4/foobar.m4', needed by 
> `../foo/Makefile.in'.  Stop.
> 
> followed by an explicit
>   ./config.status --recheck && ./config.status && make
> 
> has become somewhat more common.
> 
> The patch below takes a very simple-minded approach at a fix.  Do you
> think that is too broad?  If we can find a better criterion, maybe we
> can factor $(am__configure_deps) based on that?  Or do you think this
> is anyway too dangerous?
> 
> Cheers,
> Ralf
> 
>       * lib/am/configure.am (%?REGEN-ACLOCAL-M4%): New target
>       $(am__aclocal_m4_deps) without any dependencies, to avoid the
>       "deleted .m4 file" problem.
>       * tests/acloca22.test: New test.
>       * tests/Makefile.am: Update.

I have been using this patch locally on one machine, and have not noticed
any ill effects.  And on another machine, where I do not have the patch
applied, I once again ran into the problem with gnulib's recent rename of
allocsa->malloca, which had no problems on the first machine.  Any chance
you can revive and include this patch?

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden


> 
> Index: lib/am/configure.am
> ===================================================================
> RCS file: /cvs/automake/automake/lib/am/configure.am,v
> retrieving revision 1.31
> diff -u -r1.31 configure.am
> --- lib/am/configure.am       14 May 2005 20:28:52 -0000      1.31
> +++ lib/am/configure.am       17 Sep 2006 18:10:56 -0000
> @@ -113,7 +113,10 @@
>  ## aclocal.m4 too.  Changing configure.ac, or any file included by
>  ## aclocal.m4 might require adding more files to aclocal.m4.  Hence
>  ## the $(am__configure_deps) dependency.
> +##
> +## Avoid the "deleted header file" problem for the dependencies.
>  if %?REGEN-ACLOCAL-M4%
> +$(am__aclocal_m4_deps):
>  $(ACLOCAL_M4): %MAINTAINER-MODE% $(am__aclocal_m4_deps)
>  ?TOPDIR_P?   cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
>  ?!TOPDIR_P?  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
> Index: tests/Makefile.am
> ===================================================================
> RCS file: /cvs/automake/automake/tests/Makefile.am,v
> retrieving revision 1.609
> diff -u -r1.609 Makefile.am
> --- tests/Makefile.am 30 Aug 2006 20:35:56 -0000      1.609
> +++ tests/Makefile.am 17 Sep 2006 18:10:57 -0000
> @@ -24,6 +24,7 @@
>  acloca19.test \
>  acloca20.test \
>  acloca21.test \
> +acloca22.test \
>  acoutnoq.test \
>  acoutpt.test \
>  acoutpt2.test \
> --- /dev/null 2006-09-17 19:23:11.320383500 +0200
> +++ tests/acloca22.test       2006-09-17 19:59:41.000000000 +0200
> @@ -0,0 +1,44 @@
> +#! /bin/sh
> +# Copyright (C) 2006  Free Software Foundation, Inc.
> +#
> +# This file is part of GNU Automake.
> +#
> +# GNU Automake is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2, or (at your option)
> +# any later version.
> +#
> +# GNU Automake is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with Automake; see the file COPYING.  If not, write to
> +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
> +# Boston, MA 02110-1301, USA.
> +
> +# Make sure the "deleted header file" issue is fixed wrt. aclocal.m4
> +# dependencies.
> +
> +. ./defs || exit 1
> +
> +set -e
> +
> +cat >>configure.in <<EOF
> +FOO
> +AC_OUTPUT
> +EOF
> +cat >foo.m4 <<EOF
> +AC_DEFUN([FOO], [:])
> +EOF
> +: >Makefile.am
> +$ACLOCAL -I .
> +$AUTOMAKE
> +$AUTOCONF
> +./configure
> +$MAKE
> +sed '/FOO/d' < configure.in > t
> +mv -f t configure.in
> +rm -f foo.m4
> +$MAKE
> 
> 
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGjGER84KuGfSFAYARAp45AKC1I4sY/hRtdSgTLktrK79pMCe6GQCguQGM
ywDQ+q0qW43gaTnxF+5Ay6o=
=crHA
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]