* configure.ac, NEWS: Bump version to 1.10.
[automake.git] / tests / pr307.test
blob3383a9285f3a1b2d54cf8a7c7c680ab24517af02
1 #! /bin/sh
2 # Copyright (C) 2002, 2004 Free Software Foundation, Inc.
4 # This file is part of GNU Automake.
6 # GNU Automake is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2, or (at your option)
9 # any later version.
11 # GNU Automake is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with Automake; see the file COPYING. If not, write to
18 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 # Boston, MA 02110-1301, USA.
21 # Test for PR 307: depcomp with depmode=dashmstdout libtool race condition
22 # Report from Laurent Morichetti.
23 # (Also exercises check_LTLIBRARIES.)
25 required='libtoolize gcc'
26 . ./defs || exit 1
28 cat >> configure.in << 'END'
29 AC_PROG_CC
30 AC_PROG_LIBTOOL
31 AC_OUTPUT
32 END
34 cat > Makefile.am << 'END'
35 check_LTLIBRARIES = librace.la
36 librace_la_SOURCES = a.c b.c c.c d.c e.c f.c g.c h.c
38 # Make sure the dependencies are updated.
39 check-local:
40 for i in $(librace_la_SOURCES:.c=.Plo); do \
41 echo checking ./$(DEPDIR)/$$i; \
42 grep foo.h ./$(DEPDIR)/$$i >tst || exit 1; \
43 test `wc -l <tst` -eq 2 || exit 1; \
44 done
45 END
47 : >foo.h
49 for i in a b c d e f g h; do
50 cat >$i.c <<EOF
51 #include "foo.h"
52 int $i() { return 0; }
53 EOF
54 done
56 set -e
58 libtoolize --force
59 $ACLOCAL
60 $AUTOCONF
61 $AUTOMAKE -a
63 # Sanity check: make sure the variable we are attempting to force
64 # is used by configure
65 grep am_cv_CC_dependencies_compiler_type configure
67 ./configure am_cv_CC_dependencies_compiler_type=dashmstdout
68 $MAKE
69 test -f librace.la && exit 1
70 $MAKE check
72 # The failure we check usually occurs during the above build,
73 # with an output such as
75 # mv -f .libs/f.lo f.lo
76 # mv: cannot stat `.libs/f.lo': No such file or directory
78 # (This may happen on `f' or on some other files.)
80 test -f librace.la
81 test -f tst # a proof that check-local was run