summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Duret-Lutz <adl@gnu.org>2005-03-01 22:17:30 +0000
committerAlexandre Duret-Lutz <adl@gnu.org>2005-03-01 22:17:30 +0000
commit9119916ea4b701addae8c6e3342b818d42e04893 (patch)
tree1d292e72c51e1e8bee74d5f554254cf7e8d88c4c
parente74ab22392f945d629f099386db6280bfe0668cf (diff)
downloadautomake-9119916ea4b701addae8c6e3342b818d42e04893.tar.gz
automake-9119916ea4b701addae8c6e3342b818d42e04893.tar.bz2
automake-9119916ea4b701addae8c6e3342b818d42e04893.zip
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.
-rw-r--r--ChangeLog9
-rw-r--r--aclocal.in4
-rw-r--r--tests/Makefile.am1
-rw-r--r--tests/Makefile.in1
-rwxr-xr-xtests/acloca19.test50
5 files changed, 64 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 52d27ff9b..421993879 100644
--- 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:
diff --git a/aclocal.in b/aclocal.in
index ccbf2c0f3..5792a09d8 100644
--- a/aclocal.in
+++ b/aclocal.in
@@ -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};
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 14f3ab39d..276ab29b0 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -21,6 +21,7 @@ acloca15.test \
acloca16.test \
acloca17.test \
acloca18.test \
+acloca19.test \
acoutnoq.test \
acoutpt.test \
acoutpt2.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 2bc7a32a3..b8cb02ed7 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -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
index 000000000..be8fd7a59
--- /dev/null
+++ b/tests/acloca19.test
@@ -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