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

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

automake 1.9.6

File size: 1.9 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.
40END
41
42mkdir src
43cat > src/foo.cc << 'END'
44int doit2 (void);
45int doit (void)
46{
47 return doit2();
48}
49END
50
51cat > src/bar.cc << 'END'
52int doit2 (void)
53{
54 return 23;
55}
56END
57
58set -e
59
60libtoolize --force
61$ACLOCAL
62$AUTOCONF
63$AUTOMAKE -a
64
65# Skip this test on configure errors (e.g., broken C++ compilers).
66./configure || exit 77
67
68# opportunistically check that --tag=CXX is used when supported
69if test -n "`./libtool --help | grep tag=TAG`"; then
70 grep 'LTCXXCOMPILE.*--tag=CXX --mode=compile' Makefile.in
71 grep 'CXXLINK.*--tag=CXX --mode=link' Makefile.in
72fi
73
74$MAKE
75$MAKE distcheck 2>&1 | tee out
76# GNU Make used to complain that the Makefile contained two rules
77# for `src/.dirstamp' and `.//src/.dirstamp'.
78grep 'overriding commands' out && exit 1
79:
Note: See TracBrowser for help on using the repository browser.