tests: expose automake bug#14560
[platform/upstream/automake.git] / t / pr87.sh
1 #! /bin/sh
2 # Copyright (C) 2000-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 # Test for PR automake/87.
18 # "make distcheck" fails when two source dirs exist.
19
20 required=cc
21 . test-init.sh
22
23 subdirs="foo bar"
24
25 for i in $subdirs; do
26     mkdir $i
27     unindent >$i/$i.c <<EOF
28       int main (void)
29       {
30         return 0;
31       }
32 EOF
33     unindent >$i/Makefile.am <<EOF
34       bin_PROGRAMS = $i
35       ${i}_SOURCES = $i.c
36 EOF
37 done
38
39 echo "SUBDIRS = $subdirs" > Makefile.am
40
41 cat > configure.ac <<EOF
42 AC_INIT([$me], [1.0])
43 AC_CONFIG_SRCDIR([foo/foo.c])
44 AC_CONFIG_AUX_DIR([.])
45 AM_INIT_AUTOMAKE
46 AC_PROG_CC
47 AC_CONFIG_FILES([Makefile])
48 AC_CONFIG_FILES([$(echo $subdirs | sed 's|\([a-z][a-z]*\)|\1/Makefile|g')])
49 AC_OUTPUT
50 EOF
51
52 mkdir build
53
54 $ACLOCAL
55 $AUTOCONF
56 $AUTOMAKE -a
57
58 # Regression test for bug where '.c.o:' is followed by blank line.
59 (while read line; do
60     if test "$line" = ".c.o:"; then
61        read next
62        if test -z "$next"; then
63           exit 1
64        else
65           : # For shells with broken 'set -e'.
66        fi
67        break
68     fi
69  done) < foo/Makefile.in || exit 1
70
71 cd build
72 ../configure
73 $MAKE distcheck
74
75 :