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

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

automake 1.10

File size: 2.0 KB
Line 
1#! /bin/sh
2# Copyright (C) 2002, 2004, 2005 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 312.
22
23required='libtoolize g++'
24. ./defs || exit 1
25
26cat > configure.in << 'END'
27AC_INIT(x, 0, x)
28AM_INIT_AUTOMAKE([foreign subdir-objects])
29
30AC_PROG_CXX
31AM_PROG_LIBTOOL
32
33AC_CONFIG_FILES([Makefile])
34AC_OUTPUT
35END
36
37cat > Makefile.am << 'END'
38noinst_LTLIBRARIES = libfoo.la
39libfoo_la_SOURCES = src/foo.cc .//src/bar.cc # the `.//' is meant.
40
41print:
42 @echo BEG1: "$(LTCXXCOMPILE)" :1END
43 @echo BEG2: "$(CXXLINK)" :2END
44END
45
46mkdir src
47cat > src/foo.cc << 'END'
48int doit2 (void);
49int doit (void)
50{
51 return doit2();
52}
53END
54
55cat > src/bar.cc << 'END'
56int doit2 (void)
57{
58 return 23;
59}
60END
61
62set -e
63
64libtoolize --force
65$ACLOCAL
66$AUTOCONF
67$AUTOMAKE -a
68
69# Skip this test on configure errors (e.g., broken C++ compilers).
70./configure || exit 77
71
72# opportunistically check that --tag=CXX is used when supported
73if test -n "`./libtool --help | grep tag=TAG`"; then
74 $MAKE print >stdout
75 cat stdout
76 grep 'BEG1: .*--tag=CXX.*--mode=compile.* :1END' stdout
77 grep 'BEG2: .*--tag=CXX.*--mode=link.* :2END' stdout
78fi
79
80$MAKE
81$MAKE distcheck 2>&1 | tee out
82# GNU Make used to complain that the Makefile contained two rules
83# for `src/.dirstamp' and `.//src/.dirstamp'.
84grep 'overriding commands' out && exit 1
85:
Note: See TracBrowser for help on using the repository browser.