bc80f64cd14d3ed38270ab41eee39843a1b7ed98
[platform/upstream/automake.git] / tests / aclocal4.test
1 #! /bin/sh
2 # Copyright (C) 2003-2012 Free Software Foundation, Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Make sure dependencies on aclocal.m4 are set correctly.
18 # Report from Jim Meyering.
19
20 required=cc
21 . ./defs || Exit 1
22
23 cat >>configure.ac <<EOF
24 AC_PROG_RANLIB
25 AM_PROG_AR
26 AC_PROG_CC
27 MY_MACRO
28 AC_CONFIG_FILES([lib/Makefile])
29 AC_OUTPUT
30 EOF
31
32 mkdir m4
33 cat >m4/mymacro.m4 <<EOF
34 AC_DEFUN([MY_MACRO], [])
35 EOF
36
37 mkdir lib
38 : > lib/foo.c
39 : > lib/bar.c
40 cat >lib/Makefile.am <<'EOF'
41 noinst_LIBRARIES = liberi.a
42 liberi_a_SOURCES = bar.c
43 liberi_a_LIBADD = $(LIBOBJS)
44 EOF
45
46 cat >Makefile.am <<'EOF'
47 SUBDIRS = lib
48 EXTRA_DIST = m4/mymacro.m4
49 ACLOCAL_AMFLAGS = -I m4
50 check-foo: distdir
51         test -f $(distdir)/lib/foo.c
52         test -f $(distdir)/lib/bar.c
53
54 check-not-foo: distdir
55         test ! -f $(distdir)/lib/foo.c
56         test -f $(distdir)/lib/bar.c
57 EOF
58
59 $ACLOCAL -I m4
60 $AUTOCONF
61 $AUTOMAKE --add-missing
62 ./configure
63 $MAKE check-not-foo
64
65 # Update one of the macros.  This should cause ./configure, Makefile.in,
66 # Makefile, lib/Makefile.in, and lib/Makefile to be updated.
67
68 cat >m4/mymacro.m4 <<'EOF'
69 AC_DEFUN([MY_MACRO], [AC_LIBOBJ([foo])])
70 EOF
71
72 using_gmake || $MAKE
73 $MAKE check-foo
74
75 :