Fix for PR automake/450:
authorAlexandre Duret-Lutz <adl@gnu.org>
Tue, 1 Mar 2005 22:17:30 +0000 (22:17 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Tue, 1 Mar 2005 22:17:30 +0000 (22:17 +0000)
* aclocal.in (trace_used_macros): Do not explicitly trace files
included by configure.ac.
* tests/acloca19.test: New file.
* tests/Makefile.am (TESTS): Add acloca19.test.
Report from Peter Breitenlohner.

ChangeLog
aclocal.in
tests/Makefile.am
tests/Makefile.in
tests/acloca19.test [new file with mode: 0755]

index 52d27ff..4219938 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-03-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       Fix for PR automake/450:
+       * aclocal.in (trace_used_macros): Do not explicitly trace files
+       included by configure.ac.
+       * tests/acloca19.test: New file.
+       * tests/Makefile.am (TESTS): Add acloca19.test.
+       Report from Peter Breitenlohner.
+
 2005-02-27  Alexandre Duret-Lutz  <adl@gnu.org>
 
        Fix for PR automake/448:
index ccbf2c0..5792a09 100644 (file)
@@ -396,7 +396,7 @@ sub add_file ($)
 my $underquoted_manual_once = 0;
 
 # scan_file ($TYPE, $FILE, $WHERE)
-# -------------------------
+# --------------------------------
 # Scan a single M4 file ($FILE), and all files it includes.
 # Return the list of included files.
 # $TYPE is one of FT_USER, FT_AUTOMAKE, or FT_SYSTEM, depending
@@ -589,6 +589,8 @@ sub trace_used_macros ()
 {
   my %files = map { $map{$_} => 1 } keys %macro_seen;
   $files{'acinclude.m4'} = 1 if -f 'acinclude.m4';
+  # File included by $configure_ac are redundant.
+  $files{$configure_ac} = 1;
   %files = strip_redundant_includes %files;
   # configure.ac is implicitly included.
   delete $files{$configure_ac};
index 14f3ab3..276ab29 100644 (file)
@@ -21,6 +21,7 @@ acloca15.test \
 acloca16.test \
 acloca17.test \
 acloca18.test \
+acloca19.test \
 acoutnoq.test \
 acoutpt.test \
 acoutpt2.test \
index 2bc7a32..b8cb02e 100644 (file)
@@ -141,6 +141,7 @@ acloca15.test \
 acloca16.test \
 acloca17.test \
 acloca18.test \
+acloca19.test \
 acoutnoq.test \
 acoutpt.test \
 acoutpt2.test \
diff --git a/tests/acloca19.test b/tests/acloca19.test
new file mode 100755 (executable)
index 0000000..be8fd7a
--- /dev/null
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 2005  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., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Make sure aclocal does not fail on configure.ac inclusions that do
+# more than just variable definitions.
+# Report from Peter Breitenlohner (PR/450).
+
+. ./defs || exit 1
+
+set -e
+
+cat >configure.in <<'END'
+AC_INIT([acloca19], [1.0])
+m4_include([aconfig.ac])
+AC_OUTPUT
+END
+
+cat >aconfig.ac <<'END'
+AM_INIT_AUTOMAKE
+AC_DEFUN([FOO], [bar])
+sinclude([bconfig.ac])
+END
+
+cat >bconfig.ac <<'END'
+AC_ARG_WITH([grepme], [string])
+END
+
+$ACLOCAL
+$AUTOCONF
+./configure
+grep 'aconfig\.ac' aclocal.m4 && exit 1
+grep 'bconfig\.ac' aclocal.m4 && exit 1
+grep with-grepme configure