compile: use 'compile' script when "-c -o" is used with losing compilers
[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   rm -f compile depcomp
48
49   $AUTOMAKE $opt --add-missing
50
51   test -f compile
52   test -f depcomp
53
54   for dir in . subdir; do
55     # FIXME: the logic of this check and other similar ones in other
56     # FIXME: 'distcom*.sh' files should be factored out in a common
57     # FIXME: subroutine in 'am-test-lib.sh'...
58     sed -n -e "
59       /^DIST_COMMON =.*\\\\$/ {
60         :loop
61         p
62         n
63         t clear
64         :clear
65         s/\\\\$/\\\\/
66         t loop
67         s/$/ /
68         s/[$tab ][$tab ]*/ /g
69         p
70         n
71       }" $dir/Makefile.in > $dir/dc.txt
72   done
73
74   cat dc.txt # For debugging.
75   cat subdir/dc.txt # Likewise.
76
77   $FGREP ' $(top_srcdir)/depcomp ' subdir/dc.txt
78   # The 'compile' script will be listed in the DIST_COMMON of the top-level
79   # Makefile because it's required in configure.ac (by AM_PROG_CC_C_O).
80   $FGREP ' $(top_srcdir)/compile ' dc.txt || $FGREP ' compile ' dc.txt
81
82 done
83
84 :