summaryrefslogtreecommitdiff
path: root/t/suffix3.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/suffix3.sh')
-rw-r--r--t/suffix3.sh68
1 files changed, 68 insertions, 0 deletions
diff --git a/t/suffix3.sh b/t/suffix3.sh
new file mode 100644
index 000000000..75ed96458
--- /dev/null
+++ b/t/suffix3.sh
@@ -0,0 +1,68 @@
+#! /bin/sh
+# Copyright (C) 1999-2014 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 that suffix rules chain.
+
+required=c++
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CXX
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+%.cc: %.zoo
+ sed 's/INTEGER/int/g' $< >$@
+bin_PROGRAMS = zardoz
+nodist_zardoz_SOURCES = foo.cc
+EXTRA_DIST = foo.zoo
+CLEANFILES = foo.cc
+END
+
+$ACLOCAL
+$AUTOMAKE
+
+# Automake has been clearly told that foo.zoo is eventually transformed
+# into foo.o, and to use this latter file (to link foo).
+$FGREP 'foo.$(OBJEXT)' Makefile.in
+# Finally, our dummy package doesn't use C in any way, so it the
+# Makefile shouldn't contain stuff related to the C compiler.
+$FGREP '$(LINK)' Makefile.in && exit 1
+$FGREP 'AM_CFLAGS' Makefile.in && exit 1
+$FGREP '$(CFLAGS)' Makefile.in && exit 1
+$FGREP '$(CC)' Makefile.in && exit 1
+
+$AUTOCONF
+./configure
+
+# This is deliberately valid C++, but invalid C.
+cat > foo.zoo <<'END'
+using namespace std;
+INTEGER main (void)
+{
+ return 0;
+}
+END
+
+$MAKE all
+$MAKE distcheck
+
+# Intermediate files should not be distributed.
+$MAKE distdir
+test ! -e $me-1.0/foo.cc
+
+: