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

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

automake 1.9.6

File size: 2.3 KB
Line 
1#! /bin/sh
2# Copyright (C) 2002, 2003 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# The for conditional SUBDIRS.
22# SUBDIRS + AC_SUBST setup from the manual.
23# Lots of lines here are duplicated in subcond2.test.
24
25. ./defs || exit 1
26
27set -e
28
29cat >>configure.in <<'END'
30if test "$want_opt" = yes; then
31 MAYBE_OPT=opt
32else
33 MAYBE_OPT=
34fi
35AC_SUBST([MAYBE_OPT])
36AC_CONFIG_FILES([src/Makefile opt/Makefile])
37AC_OUTPUT
38END
39
40cat >Makefile.am << 'END'
41SUBDIRS = src $(MAYBE_OPT)
42DIST_SUBDIRS = src opt
43
44# Testing targets.
45#
46# We want to ensure that
47# - src/source and opt/source are always distributed.
48# - src/result is always built
49# - opt/result is built conditionally
50#
51# We rely on `distcheck' to run `check-local' and use
52# `sanity1' and `sanity2' as evidences that test-build was run.
53
54test-build: all
55 test -f src/result
56 if test -n "$(MAYBE_OPT)"; then \
57 test -f opt/result || exit 1; \
58 : > $(top_builddir)/../../sanity2 || exit 1; \
59 else \
60 test ! -f opt/result || exit 1; \
61 : > $(top_builddir)/../../sanity1 || exit 1; \
62 fi
63
64test-dist: distdir
65 test -f $(distdir)/src/source
66 test -f $(distdir)/opt/source
67
68check-local: test-build test-dist
69END
70
71mkdir src opt
72: > src/source
73: > opt/source
74
75cat >src/Makefile.am << 'END'
76EXTRA_DIST = source
77all-local: result
78CLEANFILES = result
79
80result: source
81 cp $(srcdir)/source result
82END
83
84# We want in opt/ the same Makefile as in src/. Let's exercise `include'.
85cat >opt/Makefile.am << 'END'
86include ../src/Makefile.am
87END
88
89$ACLOCAL
90$AUTOCONF
91$AUTOMAKE --add-missing
92./configure
93$MAKE distcheck
94test -f sanity1
95DISTCHECK_CONFIGURE_FLAGS=want_opt=yes $MAKE distcheck
96test -f sanity2
Note: See TracBrowser for help on using the repository browser.