tests: avoid a spurious failure on non-POSIX systems
[platform/upstream/automake.git] / t / distcom2.sh
1 #! /bin/sh
2 # Copyright (C) 2001-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 to make sure that depcomp and compile are added to DIST_COMMON.
18 # Report from Pavel Roskin.  Report of problems with '--no-force' from
19 # Scott James Remnant (Debian #206299)
20
21 . test-init.sh
22
23 cat >> configure.ac << 'END'
24 AC_PROG_CC
25 AM_PROG_CC_C_O
26 AC_CONFIG_FILES([subdir/Makefile])
27 AC_OUTPUT
28 END
29
30 cat > Makefile.am << 'END'
31 SUBDIRS = subdir
32 END
33
34 mkdir subdir
35 : > subdir/foo.c
36
37 cat > subdir/Makefile.am << 'END'
38 noinst_PROGRAMS = foo
39 foo_SOURCES = foo.c
40 foo_CFLAGS = -DBAR
41 END
42
43 $ACLOCAL
44
45 for opt in '' --no-force; do
46
47   $AUTOMAKE $opt --add-missing
48
49   test -f compile
50   test -f depcomp
51
52   for dir in . subdir; do
53     # FIXME: the logic of this check and other similar ones in other
54     # FIXME: 'distcom*.sh' files should be factored out in a common
55     # FIXME: subroutine in 'am-test-lib.sh'...
56     sed -n -e "
57       /^DIST_COMMON =.*\\\\$/ {
58         :loop
59         p
60         n
61         t clear
62         :clear
63         s/\\\\$/\\\\/
64         t loop
65         s/$/ /
66         s/[$tab ][$tab ]*/ /g
67         p
68         n
69       }" $dir/Makefile.in > $dir/dc.txt
70   done
71
72   cat dc.txt # For debugging.
73   cat subdir/dc.txt # Likewise.
74
75   $FGREP ' $(top_srcdir)/depcomp ' subdir/dc.txt
76   # The 'compile' script will be listed in the DIST_COMMON of the top-level
77   # Makefile because it's required in configure.ac (by AM_PROG_CC_C_O).
78   $FGREP ' $(top_srcdir)/compile ' dc.txt || $FGREP ' compile ' dc.txt
79
80 done
81
82 :