Merge branch 'msvc' into maint
[platform/upstream/automake.git] / tests / depend5.test
1 #! /bin/sh
2 # Copyright (C) 2008, 2009  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 _AM_OUTPUT_DEPENDENCY_COMMANDS works with eval-style
18 # quoting in $CONFIG_FILES, done by newer Autoconf.
19
20 . ./defs || Exit 1
21
22 set -e
23
24 cat >>configure.in << END
25 AC_PROG_CC
26 AC_OUTPUT
27 END
28
29 cat > Makefile.am << END
30 bin_PROGRAMS = foo
31 foo_SOURCES = foo.c foo.h
32 END
33
34 cat >foo.c << END
35 #include "foo.h"
36 END
37 : >foo.h
38
39 $ACLOCAL
40 $AUTOMAKE
41 $AUTOCONF
42 ./configure --enable-dependency-tracking
43 if test -d .deps; then
44   depdir=.deps
45 elif test -d _deps; then
46   depdir=_deps
47 else
48   depdir=
49 fi
50
51 # For the fun of it, we should also cope with makefile
52 # names that contain weird characters, with Autoconf 2.62
53 # and newer.
54 # Pick the first name that the file system will accept.
55 for name in \
56   'weird  name with $ `#() &! characters"' \
57   'weird  name with $ `#()  characters"' \
58   'weird  name with  characters'
59 do
60   cp Makefile.in "$name.in" && break || :
61 done
62
63 for arg in Makefile \
64   --file=Makefile \
65   "--file=$name"
66 do
67   rm -rf .deps _deps
68   ./config.status "$arg" depfiles >stdout 2>stderr ||
69     { cat stdout; cat stderr >&2; Exit 1; }
70   cat stdout
71   cat stderr >&2
72   grep '[Nn]o such file' stderr && Exit 1
73
74   if test -n "$depdir"; then
75     test -d $depdir || Exit 1
76   fi
77 done
78 :