tests: expose automake bug#14560
[platform/upstream/automake.git] / t / no-extra-c-stuff.sh
1 #! /bin/sh
2 # Copyright (C) 2013 Free Software Foundation, Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Check that Automake doesn't generated rules or definitions related
18 # to compilation of C sources for a project that doesn't use nor need
19 # a C Compiler.  Inspired by the issues reported in automake bug#14560.
20
21 am_create_testdir=empty
22 . test-init.sh
23
24 cat > configure.ac <<END
25 AC_INIT([$me], [1.0])
26 AC_CONFIG_AUX_DIR([.])
27 AM_INIT_AUTOMAKE
28 AC_CONFIG_FILES([
29     Makefile
30     sub/Makefile
31     sub2/Makefile
32 ])
33 AC_PROG_CXX
34 AC_PROG_F77
35 AC_OUTPUT
36 END
37
38 cat > Makefile.am <<END
39 SUBDIRS = sub sub2
40 bin_PROGRAMS = bar
41 bar_SOURCES = bar.cc
42 END
43
44 mkdir sub sub2
45
46 cat > sub/Makefile.am <<END
47 bin_PROGRAMS = foo
48 foo_SOURCES = foo.f
49 END
50
51 cat > sub2/Makefile.am <<END
52 bin_PROGRAMS = baz
53 baz_SOURCES = baz.cxx
54 END
55
56
57 $ACLOCAL
58 $AUTOCONF
59 $AUTOMAKE --add-missing
60
61 test   -f install-sh
62 test ! -e compile
63
64 # Sanity checks.
65 $FGREP '$(CXX)' Makefile.in
66 $FGREP '$(CXX)' sub2/Makefile.in
67 $FGREP '$(F77)' Makefile.in sub2/Makefile.in && exit 1
68 $FGREP '$(F77)' sub/Makefile.in
69 $FGREP '$(CXX)' sub/Makefile.in && exit 1
70
71 $EGREP '(^COMPILE|$\(CC\)|AM_V_CC)' \
72   Makefile.in sub/Makefile.in sub2/Makefile.in && exit 1
73
74 :