* INSTALL, lib/INSTALL, lib/config-ml.in, lib/config.guess,
[automake/plouj.git] / tests / libtool3.test
blobfaec9f24a5e17b554ea105ab49f840d7a3c3c8c9
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 3, 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 # Try to build and package a program linked to a Libtool library.
22 # Also make sure we do not bloat the Makefile with unneeded rules.
24 required='libtoolize gcc'
25 . ./defs || exit 1
27 set -e
29 cat >> configure.in << 'END'
30 AC_PROG_CC
31 AM_PROG_LIBTOOL
32 AC_OUTPUT
33 END
35 cat > Makefile.am << 'END'
36 lib_LTLIBRARIES = lib0.la liba/liba.la
37 lib0_la_SOURCES = 0.c
38 liba_liba_la_SOURCES = liba/a.c
40 bin_PROGRAMS = 1
41 1_SOURCES = sub/1.c
42 1_LDADD = lib0.la $(top_builddir)/liba/liba.la
43 END
45 mkdir liba sub
47 cat > 0.c << 'END'
48 int
49 zero (void)
51 return 0;
53 END
55 cat > sub/1.c << 'END'
56 int zero ();
58 int
59 main ()
61 return zero ();
63 END
65 cat > liba/a.c << 'END'
66 int
67 a (void)
69 return 'a';
71 END
73 # Use --copy to workaround a bug in Cygwin's `cp -p' during distcheck.
74 # (This bug is already exhibited by subobj9.test.) In brief: Cygwin's
75 # `cp -p' tries to preserve group and owner of the source and fails
76 # to do so under normal accounts. With --copy we ensure we own all files.
78 libtoolize --force --copy
79 $ACLOCAL
80 $AUTOCONF
81 $AUTOMAKE --add-missing --copy
83 # We need explicit rules to build 1.o and a.lo. Make sure
84 # Automake did not output additional rules for 1.lo and and a.lo.
85 $FGREP '1.o:' Makefile.in
86 $FGREP '1.lo:' Makefile.in && exit 1
87 $FGREP 'a.o:' Makefile.in && exit 1
88 $FGREP 'a.lo:' Makefile.in
90 ./configure
92 $MAKE
93 $MAKE distcheck