From 9119916ea4b701addae8c6e3342b818d42e04893 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Tue, 1 Mar 2005 22:17:30 +0000 Subject: 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. --- ChangeLog | 9 +++++++++ aclocal.in | 4 +++- tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/acloca19.test | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 1 deletion(-) create mode 100755 tests/acloca19.test diff --git a/ChangeLog b/ChangeLog index 52d27ff9b..421993879 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2005-03-01 Alexandre Duret-Lutz + + 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 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 -- cgit v1.2.3