* tests/java.test: `configure' uses a trap, so use `(exit 77);
[automake/plouj.git] / tests / subpkg.test
blob69ff96b021c5e646f65adbc833fec7fd9556398a
1 #! /bin/sh
2 # Copyright (C) 2002, 2003, 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 # Check subpackage handling.
23 required='gcc bison'
24 . ./defs || exit 1
26 set -e
28 mkdir m4
30 cat >m4/foo.m4 <<'EOF'
31 AC_DEFUN([FOO],[
32 AC_PROG_CC
33 AC_OUTPUT
35 EOF
37 cat >>configure.in <<'END'
38 AC_CONFIG_SUBDIRS([lib])
39 FOO
40 END
42 cat >Makefile.am <<'EOF'
43 SUBDIRS = lib
44 # Yes, This program is named LDADD. So what?
45 bin_PROGRAMS = LDADD
46 LDADD_LDADD = lib/liblib.a
48 # It's ok to override distdir.
49 distdir = subpack-1
51 # Make sure $(distdir) and $(top_distdir) work as expected.
52 dist-hook:
53 test -f $(distdir)/LDADD.c
54 test -f $(top_distdir)/LDADD.c
56 ACLOCAL_AMFLAGS = -I m4
57 EOF
59 cat >LDADD.c <<'EOF'
60 int lib ();
62 int
63 main ()
65 return lib ();
67 EOF
69 mkdir lib
70 mkdir lib/src
72 cat >lib/configure.ac <<'EOF'
73 AC_INIT([lib], [2.3])
74 AM_INIT_AUTOMAKE
75 AC_PROG_RANLIB
76 AC_PROG_YACC
77 AC_CONFIG_FILES([Makefile])
78 FOO
79 EOF
81 cat >lib/Makefile.am <<'EOF'
82 noinst_LIBRARIES = liblib.a
83 liblib_a_SOURCES = src/x.c foo.y
84 EXTRA_liblib_a_SOURCES = bar.y
86 dist-hook:
87 test ! -f $(distdir)/LDADD.c
88 test -f $(top_distdir)/LDADD.c
89 test -f $(distdir)/src/x.c
90 test ! -f $(top_distdir)/src/x.c
91 test -f $(YLWRAP)
93 ACLOCAL_AMFLAGS = -I ../m4
94 EOF
96 cat > lib/foo.y << 'END'
98 int yylex () {return 0;}
99 void yyerror (char *s) {}
102 foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
105 cp lib/foo.y lib/bar.y
107 cat >lib/src/x.c <<'EOF'
108 int lib ()
110 return 0;
114 $ACLOCAL -I m4
115 $AUTOCONF
116 $AUTOMAKE -Wno-override
118 cd lib
119 $ACLOCAL -I ../m4
120 $FGREP 'm4_include([../m4/foo.m4])' aclocal.m4
121 $AUTOCONF
122 $AUTOMAKE -Wno-override --add-missing
123 cd ..
125 ./configure
126 $MAKE distcheck
127 test ! -d subpack-1 # make sure distcheck cleans up after itself
128 test -f subpack-1.tar.gz