summaryrefslogtreecommitdiff
path: root/t/subdir-add-pr46.sh
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-06-14 22:47:28 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-06-14 22:51:38 +0200
commitb72e9747b2493362fc43030c500d3f4e881a2c06 (patch)
tree859c8f3d43326c94151fdbc4b9e1d1fce576c2b3 /t/subdir-add-pr46.sh
parent6f01c1e0c1629265b0f96142b7922ef074e2763a (diff)
downloadautomake-b72e9747b2493362fc43030c500d3f4e881a2c06.tar.gz
subdirs: enhance coverage, tweak and rename few tests
* t/subdir5.sh: Rename ... * t/subdir-add-pr46.sh: ... like this. * t/subdir8.sh: Rename ... * t/subdir-add2-pr46.sh: ... like this. * t/cond2.sh: Rename ... * t/subdir-cond-err.sh: ... like this. * t/subdir9.sh: Rename ... * t/subdir-with-slash.sh: ... like this; improve heading comments. * t/subcond.sh: Rename ... * t/subdir-cond-gettext.sh: ... like this; improve m4 quoting. * t/subcond2.sh: Rename ... * t/subdir-am-cond.sh: ... like this; adjust heading comments. * t/subcond3.sh: Rename ... * t/subdir-ac-subst.sh: ... like this; adjust heading comments. * t/subdir2.sh: Rename ... * t/subdir-subsub.sh: ... like this; enhance so that it also runs './configure' and 'make'. * t/subdir-order.sh: New test, check that the $(SUDBIRS) entries are processed in the order they are specified. * doc/automake.texi: Adjust references to tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/subdir-add-pr46.sh')
-rwxr-xr-xt/subdir-add-pr46.sh95
1 files changed, 95 insertions, 0 deletions
diff --git a/t/subdir-add-pr46.sh b/t/subdir-add-pr46.sh
new file mode 100755
index 000000000..a74c746d0
--- /dev/null
+++ b/t/subdir-add-pr46.sh
@@ -0,0 +1,95 @@
+#! /bin/sh
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test to make sure that adding a new directory works.
+# This test runs 'make' from the top-level directory, the sister test
+# 'subdir8.test' do it from a subdirectory.
+# PR automake/46
+
+. ./defs || Exit 1
+
+cat >> configure.ac << 'END'
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE
+
+# Now add new directories.
+
+# First we add a new directory by modifying configure.ac directly.
+# We update configure.ac *before* updating sub/Makefile.am; subdir8.test
+# does it in the other way: it updates confiles.m4 (which is m4_included
+# by configure.ac there) after Makefile.am.
+
+# Modified configure dependencies must be newer than config.status.
+$sleep
+sed <configure.ac >configure.tmp -e '/^AC_OUTPUT$/i\
+AC_CONFIG_FILES([maude/Makefile])\
+m4_include([confile.m4])\
+' # Last newline required by older OpenBSD sed.
+mv -f configure.tmp configure.ac
+
+cat configure.ac # For debugging.
+
+: > confile.m4
+
+mkdir maude
+
+cat > maude/Makefile.am << 'END'
+include_HEADERS = foo.h
+END
+
+: > maude/foo.h
+
+echo 'SUBDIRS = maude' >> Makefile.am
+
+# We want a simple rebuild to create maude/Makefile automatically.
+$MAKE
+grep '^SUBDIRS = *maude *$' Makefile.in
+grep '^SUBDIRS = *maude *$' Makefile
+test -f maude/Makefile
+
+# Then we add a new directory by modifying a file included (through
+# 'm4_include') by configure.ac.
+mkdir maude2
+# Modified configure dependencies must be newer than config.status.
+$sleep
+cat >> confile.m4 << 'END'
+AC_CONFIG_FILES([maude2/Makefile])
+AC_SUBST([GREPME])
+END
+: > maude2/Makefile.am
+echo 'SUBDIRS += maude2' >> Makefile.am
+
+# We want a simple rebuild to create maude2/Makefile and update
+# all other Makefiles automatically.
+$MAKE
+grep '^SUBDIRS =.* maude2' Makefile.in
+grep '^SUBDIRS =.* maude2' Makefile
+
+for ext in '.in' ''; do
+ for d in . maude maude2; do
+ grep '^GREPME =' $d/Makefile$ext
+ done
+done
+
+: