source: trunk/essentials/sys-devel/automake-1.10/tests/pr307.test

Last change on this file was 3147, checked in by bird, 18 years ago

automake 1.10

File size: 2.1 KB
Line 
1#! /bin/sh
2# Copyright (C) 2002, 2004 Free Software Foundation, Inc.
3#
4# This file is part of GNU Automake.
5#
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.
10#
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.
15#
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.
20
21# Test for PR 307: depcomp with depmode=dashmstdout libtool race condition
22# Report from Laurent Morichetti.
23# (Also exercises check_LTLIBRARIES.)
24
25required='libtoolize gcc'
26. ./defs || exit 1
27
28cat >> configure.in << 'END'
29AC_PROG_CC
30AC_PROG_LIBTOOL
31AC_OUTPUT
32END
33
34cat > Makefile.am << 'END'
35check_LTLIBRARIES = librace.la
36librace_la_SOURCES = a.c b.c c.c d.c e.c f.c g.c h.c
37
38# Make sure the dependencies are updated.
39check-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
45END
46
47: >foo.h
48
49for i in a b c d e f g h; do
50 cat >$i.c <<EOF
51#include "foo.h"
52int $i() { return 0; }
53EOF
54done
55
56set -e
57
58libtoolize --force
59$ACLOCAL
60$AUTOCONF
61$AUTOMAKE -a
62
63# Sanity check: make sure the variable we are attempting to force
64# is used by configure
65grep am_cv_CC_dependencies_compiler_type configure
66
67./configure am_cv_CC_dependencies_compiler_type=dashmstdout
68$MAKE
69test -f librace.la && exit 1
70$MAKE check
71
72# The failure we check usually occurs during the above build,
73# with an output such as
74#
75# mv -f .libs/f.lo f.lo
76# mv: cannot stat `.libs/f.lo': No such file or directory
77#
78# (This may happen on `f' or on some other files.)
79
80test -f librace.la
81test -f tst # a proof that check-local was run
Note: See TracBrowser for help on using the repository browser.