That bug is somehow already been fixed in the latest automake version (1.12.4); but exercise it anyway in the testsuite, to ensure we won't regress.
* t/tags-pr12372.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattar...@gmail.com> --- t/list-of-tests.mk | 1 + t/tags-pr12372.sh | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100755 t/tags-pr12372.sh diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 8e1093a..c20fead 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -1154,6 +1154,7 @@ t/tap-summary-color.sh \ t/tags.sh \ t/tags2.sh \ t/tagsub.sh \ +t/tags-pr12372.sh \ t/tar.sh \ t/tar2.sh \ t/tar3.sh \ diff --git a/t/tags-pr12372.sh b/t/tags-pr12372.sh new file mode 100755 index 0000000..d46927e --- /dev/null +++ b/t/tags-pr12372.sh @@ -0,0 +1,56 @@ +#! /bin/sh +# Copyright (C) 2012 Free Software Foundation, Inc. +# +# This program 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. +# +# This program 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 this program. If not, see <http://www.gnu.org/licenses/>. + +# Test to make sure tags are processed also for files with non-standard +# extensions. See automake bug#12372. + +required='cc etags' +. ./defs || exit 1 + +cat >> configure.ac <<'END' +AC_PROG_CC +AC_OUTPUT +END + +cat > Makefile.am <<'END' +all-local: tags +.pc.o: + sed -e 's/\[/{/' -e 's/\]/}/' $(srcdir)/$*.pc >$*.c + $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -c $*.c + rm -f $*.c + +LINK = $(CCLD) $(CFLAGS) $(LDFLAGS) -o $@ +noinst_PROGRAMS = foo +foo_SOURCES = foo-main.pc barbar.c +END + +echo 'int main(void) [ return bar(1); ]' > foo-main.pc +echo 'int bar(int x) { return !x; }' > barbar.c + +$ACLOCAL +$AUTOCONF +$AUTOMAKE + +./configure + +$MAKE +cat TAGS +$FGREP foo-main.pc TAGS +$FGREP barbar.c TAGS + +$MAKE distcheck + +: -- 1.7.12