automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.3


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12.3-921-g84a6d59
Date: Wed, 07 Nov 2012 21:33:04 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=84a6d5913d433020dd281d6c03754ff887cd9c83

The branch, ng/master has been updated
       via  84a6d5913d433020dd281d6c03754ff887cd9c83 (commit)
       via  cbcf5001c535a05d3262b92465aabfcbe39320e1 (commit)
       via  93c2c33e04e4e5b78da45ec8c251899acce5d322 (commit)
       via  036f7d879d98851e82b174a68048abac5dbf28d8 (commit)
       via  dd3fb7edb9639ae5c22c5fc0cfcd8d053f6c1688 (commit)
       via  7dbf3d6acb8d3281140cb7958c4937d33e3e53ef (commit)
       via  bd0d41d77f0d8a24bb8e6aac3bf580cbe741f88e (commit)
       via  622358354392072ce81e50ec52377d3bdbf93f22 (commit)
       via  153f861b91221d14842c495efa0b1f10d9455855 (commit)
       via  0494881b53d6a125c1e4feeb03101de351085a1b (commit)
       via  040b69aea1c3ea7fdfd7d832cf07a2ae4ea019da (commit)
       via  88c20167092e716ddf51affdd0d632c014ec009c (commit)
       via  f1c6ce7b7496af767b9fb45d897ed942a682cc57 (commit)
       via  aecd1be61c2d27618a594842501b58bd4ddd8991 (commit)
       via  3f20803ca180b8d2994f9dce3665ea87fe43c67c (commit)
       via  0e3d9b3e3ca9bf308c6f10b3ff3189955e208b66 (commit)
       via  1b187099d61143733e35ff58bfc6a0cedd2e2322 (commit)
       via  9fe696bc9d6654a972d99f524c14a22fdc429e79 (commit)
       via  6ecb0a537da242b2b6e3c42b139f4dc27b121faa (commit)
       via  2ff17a8e6e8a8b9a852dfd792720c6d652183ca4 (commit)
       via  df6303ec01ceffb74eaf1f201c6d575efa99bff6 (commit)
       via  df202a3e6412b530a052e0a1f6de6307faae19a0 (commit)
      from  934f800f9c55b311ebc52c459a07d3e1b7501569 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 84a6d5913d433020dd281d6c03754ff887cd9c83
Merge: 036f7d8 cbcf500
Author: Stefano Lattarini <address@hidden>
Date:   Wed Nov 7 22:18:31 2012 +0100

    Merge branch 'master' into ng/master
    
    * master:
      tests: enhance coverage on silent-rules and C compilation rules a little
      tests: new variable $am_testaux_builddir
      tests: rename $am_testauxdir -> $am_testaux_srcdir

commit 036f7d879d98851e82b174a68048abac5dbf28d8
Merge: 934f800 dd3fb7e
Author: Stefano Lattarini <address@hidden>
Date:   Wed Nov 7 21:39:04 2012 +0100

    Merge branch 'master' into ng/master
    
    * master:
      tests: rename few tests (on silent-rules support)
      tests: merge two tests on silent-rules with libtool
      vala tests: source test-init.sh, not ./defs
      tests: fix a spurious typo-related failure
      tests: remove spurious leftover use of 'Exit'
      tests: can check our recipes avoid trailing backslashes
      vala: improve comments to AM_PROG_VALAC
      news: update w.r.t. recent vala changes
      vala: if no proper compiler found, set $(VALAC) to 'valac'
      vala: AM_PROG_VALAC should not produce an error for tool-old valac
      docs: document recent changes to AM_PROG_VALAC
      tests: enhance tests on AM_PROG_VALAC
      vala: style fixes in vala.m4
      vala: add action arguments, for when no proper vala compiler is found
    
    Signed-off-by: Stefano Lattarini <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 .gitignore                                         |    1 +
 Makefile.am                                        |   26 +++++-
 NEWS                                               |   24 ++++
 THANKS                                             |    2 +
 doc/automake-ng.texi                               |   26 +++--
 m4/vala.m4                                         |   34 ++++--
 t/ax/shell-no-trail-bslash.in                      |   76 +++++++++++++
 t/ax/tap-summary-aux.sh                            |    2 +-
 t/ax/test-defs.in                                  |    3 +-
 t/ax/testsuite-summary-checks.sh                   |    2 +-
 t/distcheck-missing-m4.sh                          |    2 +-
 t/distcheck-outdated-m4.sh                         |    2 +-
 t/parallel-tests-trailing-bslash.sh                |  113 --------------------
 ...hony.sh => self-check-shell-no-trail-bslash.sh} |   51 ++++------
 t/{silent2.sh => silent-c-gcc.sh}                  |    2 +-
 t/{silent.sh => silent-c-generic.sh}               |   49 +++++----
 t/{silent6.sh => silent-custom.sh}                 |    0
 t/{silentcxx-gcc.sh => silent-cxx-gcc.sh}          |    2 +-
 t/{silentcxx.sh => silent-cxx-generic.sh}          |    2 +-
 t/{silentf77.sh => silent-f77.sh}                  |    2 +-
 t/{silentf90.sh => silent-f90.sh}                  |    2 +-
 t/{silent7.sh => silent-gen.sh}                    |    4 +-
 t/{silent4.sh => silent-lt-gcc.sh}                 |    2 +-
 t/{silent3.sh => silent-lt-generic.sh}             |   52 ++++++----
 t/silent9.sh                                       |   74 -------------
 t/test-driver-acsubst.sh                           |    2 +-
 t/test-driver-cond.sh                              |    2 +-
 t/test-driver-custom-multitest-recheck.sh          |    2 +-
 t/test-driver-custom-multitest-recheck2.sh         |    2 +-
 t/test-driver-custom-multitest.sh                  |    2 +-
 t/testsuite-summary-count-many.sh                  |    2 +-
 t/vala4.sh                                         |   95 +++++++++++++----
 32 files changed, 341 insertions(+), 321 deletions(-)
 create mode 100644 t/ax/shell-no-trail-bslash.in
 delete mode 100755 t/parallel-tests-trailing-bslash.sh
 copy t/{spy-phony.sh => self-check-shell-no-trail-bslash.sh} (52%)
 rename t/{silent2.sh => silent-c-gcc.sh} (96%)
 rename t/{silent.sh => silent-c-generic.sh} (58%)
 rename t/{silent6.sh => silent-custom.sh} (100%)
 rename t/{silentcxx-gcc.sh => silent-cxx-gcc.sh} (97%)
 rename t/{silentcxx.sh => silent-cxx-generic.sh} (97%)
 rename t/{silentf77.sh => silent-f77.sh} (97%)
 rename t/{silentf90.sh => silent-f90.sh} (97%)
 rename t/{silent7.sh => silent-gen.sh} (93%)
 rename t/{silent4.sh => silent-lt-gcc.sh} (97%)
 rename t/{silent3.sh => silent-lt-generic.sh} (55%)
 delete mode 100755 t/silent9.sh

diff --git a/.gitignore b/.gitignore
index 6aab896..0c80ef7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,6 +41,7 @@
 /t/wrap/automake-1.*
 /t/ax/test-defs.sh
 /testsuite-autodeps.am
+/t/ax/shell-no-trail-bslash
 /t/*-w.tap
 /t/*-w.sh
 /t/depcomp-*.tap
diff --git a/Makefile.am b/Makefile.am
index 813eb5b..b8ea0ce 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -428,6 +428,19 @@ EXTRA_DIST += t/ax/test-defs.in
 CLEANFILES += t/ax/test-defs.sh
 nodist_noinst_DATA = t/ax/test-defs.sh
 
+noinst_SCRIPTS = # Will be updated soon.
+
+t/ax/shell-no-trail-bslash: t/ax/shell-no-trail-bslash.in Makefile
+       $(AM_V_at)rm -f $@ address@hidden
+       $(AM_V_GEN)in=t/ax/shell-no-trail-bslash.in \
+         && $(MKDIR_P) t/ax \
+         && $(do_subst) <$(srcdir)/$$in >address@hidden \
+         && chmod a+x address@hidden
+       $(generated_file_finalize)
+EXTRA_DIST += t/ax/shell-no-trail-bslash.in
+CLEANFILES += t/ax/shell-no-trail-bslash
+noinst_SCRIPTS += t/ax/shell-no-trail-bslash
+
 runtest: runtest.in Makefile
        $(AM_V_at)rm -f $@ address@hidden
        $(AM_V_GEN)$(do_subst)
@@ -435,7 +448,7 @@ runtest: runtest.in Makefile
        $(generated_file_finalize)
 EXTRA_DIST += runtest.in
 CLEANFILES += runtest
-noinst_SCRIPTS = runtest
+noinst_SCRIPTS += runtest
 
 # If two test scripts have the same basename, they will end up sharing
 # the same log file, leading to all sort of undefined and undesired
@@ -487,6 +500,17 @@ check-tests-syntax:
 check-local: check-tests-syntax
 .PHONY: check-tests-syntax
 
+# Recipes with a trailing backslash character (possibly followed by
+# blank characters only) can cause spurious syntax errors with at
+# least older bash versions (e.g., bash 2.05b), and can be potentially
+# be unportable to other weaker shells.  Run the testsuite in a way
+# that helps catching such problems in Automake-generated recipes.
+# See automake bug#10436.
+check-no-trailing-backslash-in-recipes:
+       $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) check \
+         CONFIG_SHELL='$(abs_top_builddir)/t/ax/shell-no-trail-bslash'
+.PHONY: check-no-trailing-backslash-in-recipes
+
 # Run the testsuite with the installed aclocal and automake.
 installcheck-local: installcheck-testsuite
 installcheck-testsuite:
diff --git a/NEWS b/NEWS
index c6f6718..4425a89 100644
--- a/NEWS
+++ b/NEWS
@@ -212,6 +212,30 @@ New in 1.12.5:
     giving more useful warnings than a bare "command not found" from a
     make recipe would.
 
+* Vala support:
+
+  - The AM_PROG_VALAC macro has been enhanced to takes two further
+    optional arguments; it's signature now being
+
+        AM_PROG_VALAC([MINIMUM-VERSION], [ACTION-IF-FOUND],
+                      [ACTION-IF-NOT-FOUND])
+
+  - By default, AM_PROG_VALAC no longer aborts the configure invocation
+    if the Vala compiler found is too old, but simply prints a warning
+    messages (as it did when the Vala compiler was not found).  This
+    should avoid unnecessary difficulties for end users that just want
+    to compile the unmodified, distributed Vala-generated C sources,
+    but happens to have an old Vala compiler in their PATH.  This fixes
+    automake bug#12688.
+
+  - If no proper Vala compiler is found at configure runtime, AM_PROG_VALAC
+    will set the AC_SUBST'd variable 'VALAC' to 'valac' rather than to ':'.
+    This is a better default, because with it a triggered makefile rule
+    invoking a Vala compilation will clearly fail with an informative error
+    message like "valac: command not found", rather than silently, with
+    the error possibly going unnoticed or triggering harder-to-diagnose
+    fallout failures in later steps.
+
 Bugs fixed in 1.12.5:
 
 * Long-standing bugs:
diff --git a/THANKS b/THANKS
index 88f539c..1ff7c08 100644
--- a/THANKS
+++ b/THANKS
@@ -247,6 +247,7 @@ Matthew D. Langston             address@hidden
 Matthias Andree                 address@hidden
 Matthias Clasen                 address@hidden
 Matthias Klose                  address@hidden
+Matthieu Baerts                 address@hidden
 Max Horn                        address@hidden
 Maxim Sinev                     address@hidden
 Maynard Johnson                 address@hidden
@@ -348,6 +349,7 @@ Sam Steingold                   address@hidden
 Sander Niemeijer                address@hidden
 Santiago Vila                   address@hidden
 Scott James Remnant             address@hidden
+Sébastien Wilmet                address@hidden
 Sergey Poznyakoff               address@hidden
 Sergey Vlasov                   address@hidden
 Seth Alves                      address@hidden
diff --git a/doc/automake-ng.texi b/doc/automake-ng.texi
index e7c960b..fc525f2 100644
--- a/doc/automake-ng.texi
+++ b/doc/automake-ng.texi
@@ -6751,28 +6751,32 @@ foo_SOURCES = foo.vala bar.vala zardoc.c
 @end example
 
 Any @file{.vala} file listed in a @code{_SOURCES} variable will be
-compiled into C code by the Vala compiler. The generated @file{.c} files are
-distributed. The end user does not need to have a Vala compiler installed.
+compiled into C code by the Vala compiler. The generated @file{.c} files
+are distributed. The end user does not need to have a Vala compiler installed.
 
 Automake ships with an Autoconf macro called @code{AM_PROG_VALAC}
 that will locate the Vala compiler and optionally check its version
 number.
 
address@hidden AM_PROG_VALAC (@ovar{minimum-version})
-Try to find a Vala compiler in @env{PATH}. If it is found, the variable
address@hidden is set. Optionally a minimum release number of the compiler
-can be requested:
-
address@hidden
-AM_PROG_VALAC([0.7.0])
address@hidden example
address@hidden AM_PROG_VALAC (@ovar{minimum-version}, @ovar{action-if-found},
+  @ovar{action-if-not-found})
+Search for a Vala compiler in @env{PATH}.  If it is found, the variable
address@hidden is set to point to it (see below for more details).  This
+macro takes three optional arguments.  The first argument, if present,
+is the minimum version of the Vala compiler required to compile this
+package.  If a compiler is found and satisfies @var{minimum-version},
+then @var{action-if-found} is run (this defaults to do nothing).
+Otherwise, @var{action-if-not-found} is run.  If @var{action-if-not-found}
+is not specified, the default value is to print a warning in case no
+compiler is found, or if a too-old version of the compiler is found.
 @end defmac
 
 There are a few variables that are used when compiling Vala sources:
 
 @vtable @code
 @item VALAC
-Path to the Vala compiler.
+Absolute path to the Vala compiler, or simply @samp{valac} if no
+suitable compiler Vala could be found at configure runtime.
 
 @item VALAFLAGS
 Additional arguments for the Vala compiler.
diff --git a/m4/vala.m4 b/m4/vala.m4
index 5dad452..2355c85 100644
--- a/m4/vala.m4
+++ b/m4/vala.m4
@@ -6,22 +6,32 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# Check whether the Vala compiler exists in $PATH. If it is found, the
-# variable VALAC is set. Optionally a minimum release number of the
-# compiler can be requested.
+# Check whether the Vala compiler exists in $PATH.  If it is found, the
+# variable VALAC is set pointing to its absolute path.  Otherwise, it is
+# simply set to 'valac'.
+# Optionally a minimum release number of the compiler can be requested.
+# If the ACTION-IF-FOUND parameter is given, it will be run if a proper
+# Vala compiler is found.
+# Similarly, if the ACTION-IF-FOUND is given, it will be run if no proper
+# Vala compiler is found.  It defaults to simply print a warning about the
+# situation, but otherwise proceeding with the configuration.
 #
-# AM_PROG_VALAC([MINIMUM-VERSION])
-# --------------------------------
+# AM_PROG_VALAC([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# --------------------------------------------------------------------------
 AC_DEFUN([AM_PROG_VALAC],
-[AC_PATH_PROG([VALAC], [valac], [])
- AS_IF([test -z "$VALAC"],
-   [AC_MSG_WARN([No Vala compiler found.  You will not be able to compile 
.vala source files.])],
-   [AS_IF([test -n "$1"],
-      [AC_MSG_CHECKING([$VALAC is at least version $1])
+  [AC_PATH_PROG([VALAC], [valac], [valac])
+   AS_IF([test "$VALAC" != valac && test -n "$1"],
+      [AC_MSG_CHECKING([whether $VALAC is at least version $1])
        am__vala_version=`$VALAC --version | sed 's/Vala  *//'`
        AS_VERSION_COMPARE([$1], ["$am__vala_version"],
          [AC_MSG_RESULT([yes])],
          [AC_MSG_RESULT([yes])],
          [AC_MSG_RESULT([no])
-          AC_MSG_ERROR([Vala $1 not found.], [77])])])])
-])
+          VALAC=valac])])
+    if test "$VALAC" = valac; then
+      m4_default([$3],
+        [AC_MSG_WARN([no proper vala compiler found])
+         AC_MSG_WARN([you will not be able to compile vala source files])])
+    else
+      m4_default([$2], [:])
+    fi])
diff --git a/t/ax/shell-no-trail-bslash.in b/t/ax/shell-no-trail-bslash.in
new file mode 100644
index 0000000..3475398
--- /dev/null
+++ b/t/ax/shell-no-trail-bslash.in
@@ -0,0 +1,76 @@
+#! @AM_TEST_RUNNER_SHELL@
+# Copyright (C) 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/>.
+
+# A "shell" that chokes on '-c' commands having a trailing '\' character
+# (possibly followed by whitespace only).  This is to emulate problems
+# seen in older bash versions (e.g., bash 2.05b).
+# See also automake bug#10436.
+
+set -e
+set -u
+
+am_SHELL=${AM_TESTSUITE_SHELL-'@SHELL@'}
+
+tab='  '
+nl='
+'
+am_shell_flags=
+am_shell_command=; unset am_shell_command
+while test $# -gt 0; do
+  case $1 in
+    # If the shell is invoked by make e.g. as "sh -ec" (seen on
+    # GNU make in POSIX mode) or "sh -ce" (seen on Solaris make).
+    -*c*)
+        am_flg=$(printf '%s\n' "$1" | sed -e 's/^-//' -e 's/c//g')
+        if test x"$am_flg" != x; then
+          am_shell_flags="$am_shell_flags -$am_flg"
+        fi
+        am_shell_command=$2
+        shift;;
+    -?*)
+        am_shell_flags="$am_shell_flags $1";;
+      *)
+        break;;
+  esac
+  shift
+done
+
+if test x${am_shell_command+"set"} != x"set"; then
+  # Some make implementations, like *BSD's, pass the recipes to the shell
+  # through its standard input.  Trying to run our extra checks in this
+  # case would be too tricky, so we just skip them.
+  exec $am_SHELL $am_shell_flags ${1+"$@"}
+fi
+
+case $am_shell_command in
+  *" "|*"$tab"|*"$nl")
+    am_tweaked_shell_command=$(printf '%s\n' "$am_shell_command" \
+                                 | tr -d " $tab$nl");;
+  *)
+    am_tweaked_shell_command=$am_shell_command;;
+esac
+
+case $am_tweaked_shell_command in
+  *\\)
+    printf '%s\n' "$0: recipe ends with backslash character" >&2
+    printf '%s\n' "=== BEGIN recipe" >&2
+    printf '%s\n' "${am_shell_command-}" >&2
+    printf '%s\n' "=== END recipe" >&2
+    exit 1
+    ;;
+esac
+
+exec $am_SHELL $am_shell_flags -c "$am_shell_command" ${1+"$@"}
diff --git a/t/ax/tap-summary-aux.sh b/t/ax/tap-summary-aux.sh
index 6caf6b5..96632f0 100644
--- a/t/ax/tap-summary-aux.sh
+++ b/t/ax/tap-summary-aux.sh
@@ -68,7 +68,7 @@ do_check ()
   else
     test $st -eq 0 || exit 1
   fi
-  $PERL "$am_testauxdir"/extract-testsuite-summary.pl stdout >summary.got \
+  $PERL "$am_testaux_srcdir"/extract-testsuite-summary.pl stdout >summary.got \
     || fatal_ "cannot extract testsuite summary"
   cat summary.exp
   cat summary.got
diff --git a/t/ax/test-defs.in b/t/ax/test-defs.in
index dbfe827..ef31766 100644
--- a/t/ax/test-defs.in
+++ b/t/ax/test-defs.in
@@ -38,7 +38,8 @@ am_top_builddir='@abs_builddir@'
 
 # Where testsuite-related helper scripts, data files and shell libraries
 # are placed.
-am_testauxdir=$am_top_srcdir/t/ax
+am_testaux_srcdir=$am_top_srcdir/t/ax
+am_testaux_builddir=$am_top_builddir/t/ax
 
 # Support for the "installcheck" target.
 case ${am_running_installcheck:=no} in
diff --git a/t/ax/testsuite-summary-checks.sh b/t/ax/testsuite-summary-checks.sh
index 198c688..eee2f96 100644
--- a/t/ax/testsuite-summary-checks.sh
+++ b/t/ax/testsuite-summary-checks.sh
@@ -82,7 +82,7 @@ do_check ()
   else
     test $st -eq 0 || exit 1
   fi
-  $PERL "$am_testauxdir"/extract-testsuite-summary.pl stdout >summary.got \
+  $PERL "$am_testaux_srcdir"/extract-testsuite-summary.pl stdout >summary.got \
    || fatal_ "cannot extract testsuite summary"
   cat summary.exp
   cat summary.got
diff --git a/t/distcheck-missing-m4.sh b/t/distcheck-missing-m4.sh
index 0eb69f0..61494fc 100755
--- a/t/distcheck-missing-m4.sh
+++ b/t/distcheck-missing-m4.sh
@@ -22,7 +22,7 @@
 
 cwd=$(pwd) || fatal_ "cannot get current working directory"
 
-cp "$am_testauxdir"/distcheck-hook-m4.am . \
+cp "$am_testaux_srcdir"/distcheck-hook-m4.am . \
   || fatal_ "cannot fetch makefile fragment 'distcheck-hook-m4.am'"
 
 cat > Makefile.am << 'END'
diff --git a/t/distcheck-outdated-m4.sh b/t/distcheck-outdated-m4.sh
index 2d2a6b0..302dada 100755
--- a/t/distcheck-outdated-m4.sh
+++ b/t/distcheck-outdated-m4.sh
@@ -22,7 +22,7 @@
 
 cwd=$(pwd) || fatal_ "cannot get current working directory"
 
-cp "$am_testauxdir"/distcheck-hook-m4.am . \
+cp "$am_testaux_srcdir"/distcheck-hook-m4.am . \
   || fatal_ "cannot fetch makefile fragment 'distcheck-hook-m4.am'"
 
 cat > Makefile.am << 'END'
diff --git a/t/parallel-tests-trailing-bslash.sh 
b/t/parallel-tests-trailing-bslash.sh
deleted file mode 100755
index 6770b27..0000000
--- a/t/parallel-tests-trailing-bslash.sh
+++ /dev/null
@@ -1,113 +0,0 @@
-#! /bin/sh
-# Copyright (C) 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/>.
-
-# Check that the new testsuite harness do not generate recipes that can
-# have a trailing '\', since that can cause spurious syntax errors with
-# older bash versions (e.g., bash 2.05b).
-# See automake bug#10436.
-
-. test-init.sh
-
-echo AC_OUTPUT >> configure.ac
-
-cat > Makefile.am <<'END'
-TESTS = foo.test
-EXTRA_DIST = $(TESTS)
-am__backslash = \\ # foo
-.PHONY: bad-recipe
-bad-recipe:
-       @printf '%s\n' $(am__backslash)
-END
-
-cat > foo.test <<'END'
-#!/bin/sh
-exit 0
-END
-chmod +x foo.test
-
-am__SHELL=$SHELL; export am__SHELL
-am__PERL=$PERL; export am__PERL
-
-cat > my-shell <<'END'
-#!/bin/sh -e
-set -u
-tab='  '
-nl='
-'
-am__shell_flags=
-am__shell_command=; unset am__shell_command
-while test $# -gt 0; do
-  case $1 in
-    # If the shell is invoked by make e.g. as "sh -ec" (seen on
-    # GNU make in POSIX mode) or "sh -ce" (seen on Solaris make).
-    -*c*)
-        flg=`echo x"$1" | sed -e 's/^x-//' -e 's/c//g'`
-        if test x"$flg" != x; then
-          am__shell_flags="$am__shell_flags -$flg"
-        fi
-        am__shell_command=$2
-        shift
-        ;;
-    -?*)
-        am__shell_flags="$am__shell_flags $1"
-        ;;
-      *)
-        break
-        ;;
-  esac
-  shift
-done
-if test x${am__shell_command+"set"} != x"set"; then
-  # Some make implementations, like *BSD's, pass the recipes to the shell
-  # through its standard input.  Trying to run our extra checks in this
-  # case would be too tricky, so we just skip them.
-  exec $am__SHELL $am__shell_flags ${1+"$@"}
-else
-  am__tweaked_shell_command=`printf '%s\n' "$am__shell_command" \
-    | tr -d " $tab$nl"`
-  case ${am__tweaked_shell_command-} in
-    *\\)
-      echo "my-shell: recipe ends with backslash character" >&2
-      printf '%s\n' "=== BEGIN recipe" >&2
-      printf '%s\n' "${am__shell_command-}" >&2
-      printf '%s\n' "=== END recipe" >&2
-      exit 99
-      ;;
-  esac
-  exec $am__SHELL $am__shell_flags -c "$am__shell_command" ${1+"$@"}
-fi
-END
-chmod a+x my-shell
-
-cat my-shell
-
-CONFIG_SHELL=$(pwd)/my-shell; export CONFIG_SHELL
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure CONFIG_SHELL="$CONFIG_SHELL"
-
-st=0
-$MAKE bad-recipe 2>stderr && st=1
-cat stderr >&2
-$FGREP "my-shell: recipe ends with backslash character" stderr || st=1
-test $st -eq 0 || skip_ "can't catch trailing backslashes in make recipes"
-
-$MAKE check
-
-:
diff --git a/t/spy-phony.sh b/t/self-check-shell-no-trail-bslash.sh
similarity index 52%
copy from t/spy-phony.sh
copy to t/self-check-shell-no-trail-bslash.sh
index 1bd3c10..cf9c3a6 100755
--- a/t/spy-phony.sh
+++ b/t/self-check-shell-no-trail-bslash.sh
@@ -14,44 +14,33 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check that the '.PHONY' semantics we expect truly hold.
+# Check that our fake "shell" used to guard against use of trailing
+# backslashes in recipes actually complains when those are used.
 
+# Our hack doesn't work with some make implementations (see comments
+# in 't/ax/shell-no-trail-bslash.in' for more details).
+required=GNUmake
 am_create_testdir=empty
 . test-init.sh
 
-cat > Makefile <<'END'
-.PHONY: pdir pfile
-pdir rdir:
-       echo foo > $@/foo
-pfile rfile:
-       echo bar >$@
-.PHONY: other
-other:
-       echo baz >> dummy
-indirect: other
-       echo run > $@
+cat >> Makefile <<'END'
+am__backslash = \\ # foo
+.PHONY: good bad
+good:
+       @printf '%s\n' OK
+.PHONY: bad
+bad:
+       @echo $(am__backslash)
 END
 
-: > rfile
-mkdir rdir
-$MAKE rdir rfile
-test ! -s rfile
-test ! -f rdir/foo
+SHELL=$am_testaux_builddir/shell-no-trail-bslash
+$SHELL -c 'exit 0'
+test "$($SHELL -c 'echo is  o\k')" = "is ok"
 
-: > pfile
-mkdir pdir
-$MAKE pdir pfile
-test "$(cat pfile)" = bar
-test "$(cat pdir/foo)" = foo
+$MAKE good
 
-$MAKE other
-test "$(cat dummy)" = baz
-$MAKE other
-test "$(cat dummy)" = "baz${nl}baz"
-
-echo not run > indirect
-$MAKE indirect
-test "$(cat indirect)" = run
-test "$(cat dummy)" = "baz${nl}baz${nl}baz"
+$MAKE bad SHELL="$SHELL" 2>stderr && { cat stderr >&2; exit 1; }
+cat stderr >&2
+$FGREP "recipe ends with backslash character" stderr
 
 :
diff --git a/t/silent2.sh b/t/silent-c-gcc.sh
similarity index 96%
rename from t/silent2.sh
rename to t/silent-c-gcc.sh
index aa01ac9..e923e96 100755
--- a/t/silent2.sh
+++ b/t/silent-c-gcc.sh
@@ -17,7 +17,7 @@
 # Check silent-rules mode, without libtool, non-fastdep case
 # (so that, with GCC, we also cover the other code paths in depend2).
 
-# Please keep this file in sync with 'silent.sh'.
+# Please keep this file in sync with 'silent-c-generic.sh'.
 
 required=gcc
 . test-init.sh
diff --git a/t/silent.sh b/t/silent-c-generic.sh
similarity index 58%
rename from t/silent.sh
rename to t/silent-c-generic.sh
index f2b3e4d..ac9dd72 100755
--- a/t/silent.sh
+++ b/t/silent-c-generic.sh
@@ -16,7 +16,7 @@
 
 # Check silent-rules mode, without libtool, standard depmode case.
 
-# Please keep this file in sync with 'silent2.sh'.
+# Please keep this file in sync with 'silent-c-gcc.sh'.
 
 required=cc
 . test-init.sh
@@ -45,25 +45,34 @@ $ACLOCAL
 $AUTOMAKE --add-missing
 $AUTOCONF
 
-./configure --enable-silent-rules
-$MAKE >stdout || { cat stdout; exit 1; }
-cat stdout
-$EGREP ' (-c|-o)|(mv|mkdir) '   stdout && exit 1
-grep ' CC  *foo\.o'             stdout
-grep ' CC  *bar-bar\.o'         stdout
-grep ' CC  *sub/baz\.o'         stdout
-grep ' CC  *sub/sub_bla-bla\.o' stdout
-grep ' CCLD  *foo'              stdout
-grep ' CCLD  *bar'              stdout
-grep ' CCLD  *sub/baz'          stdout
-grep ' CCLD  *sub/bla'          stdout
+for config_args in \
+  '--enable-dependency-tracking' \
+  '--disable-dependency-tracking' \
+; do
 
-$MAKE clean
-$MAKE V=1 >stdout || { cat stdout; exit 1; }
-cat stdout
-grep ' -c' stdout
-grep ' -o foo' stdout
-grep ' -o sub/baz' stdout
-$EGREP '(CC|LD) ' stdout && exit 1
+  ./configure --enable-silent-rules $config_args
+  $MAKE >stdout || { cat stdout; exit 1; }
+  cat stdout
+  $EGREP ' (-c|-o)|(mv|mkdir) '   stdout && exit 1
+  grep ' CC  *foo\.o'             stdout
+  grep ' CC  *bar-bar\.o'         stdout
+  grep ' CC  *sub/baz\.o'         stdout
+  grep ' CC  *sub/sub_bla-bla\.o' stdout
+  grep ' CCLD  *foo'              stdout
+  grep ' CCLD  *bar'              stdout
+  grep ' CCLD  *sub/baz'          stdout
+  grep ' CCLD  *sub/bla'          stdout
+
+  $MAKE clean
+  $MAKE V=1 >stdout || { cat stdout; exit 1; }
+  cat stdout
+  grep ' -c' stdout
+  grep ' -o foo' stdout
+  grep ' -o sub/baz' stdout
+  $EGREP '(CC|LD) ' stdout && exit 1
+
+  $MAKE distclean
+
+done
 
 :
diff --git a/t/silent6.sh b/t/silent-custom.sh
similarity index 100%
rename from t/silent6.sh
rename to t/silent-custom.sh
diff --git a/t/silentcxx-gcc.sh b/t/silent-cxx-gcc.sh
similarity index 97%
rename from t/silentcxx-gcc.sh
rename to t/silent-cxx-gcc.sh
index 9d3d43d..cb04829 100755
--- a/t/silentcxx-gcc.sh
+++ b/t/silent-cxx-gcc.sh
@@ -16,7 +16,7 @@
 
 # Check silent-rules mode for C++.
 # This test requires the GNU C++ compiler; keep it in sync with sister
-# test 'silentcxx.sh', which should work with generic compilers.
+# test 'silent-cxx-generic.sh', which should work with generic compilers.
 
 required=g++
 . test-init.sh
diff --git a/t/silentcxx.sh b/t/silent-cxx-generic.sh
similarity index 97%
rename from t/silentcxx.sh
rename to t/silent-cxx-generic.sh
index 474c4cc..ea8c558 100755
--- a/t/silentcxx.sh
+++ b/t/silent-cxx-generic.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # This test should work with generic C++ compilers; keep it in sync with
-# sister test 'silentcxx-gcc.sh', which requires the GNU C++ compiler
+# sister test 'silent-cxx-gcc.sh', which requires the GNU C++ compiler
 # and forces the use of gcc depmode.
 
 required=c++
diff --git a/t/silentf77.sh b/t/silent-f77.sh
similarity index 97%
rename from t/silentf77.sh
rename to t/silent-f77.sh
index 816e4fa..ec5b7a3 100755
--- a/t/silentf77.sh
+++ b/t/silent-f77.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check silent-rules mode for Fortran 77.
-# Keep this ins sync with the sister test 'silentf90.sh'.
+# Keep this ins sync with the sister test 'silent-f90.sh'.
 
 required=fortran77
 . test-init.sh
diff --git a/t/silentf90.sh b/t/silent-f90.sh
similarity index 97%
rename from t/silentf90.sh
rename to t/silent-f90.sh
index 2624390..c946804 100755
--- a/t/silentf90.sh
+++ b/t/silent-f90.sh
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check silent-rules mode for Fortran 90.
-# Keep this ins sync with the sister test 'silentf77.sh'.
+# Keep this ins sync with the sister test 'silent-f77.sh'.
 
 required=fortran
 . test-init.sh
diff --git a/t/silent7.sh b/t/silent-gen.sh
similarity index 93%
rename from t/silent7.sh
rename to t/silent-gen.sh
index ee56ce3..cd01a4f 100755
--- a/t/silent7.sh
+++ b/t/silent-gen.sh
@@ -14,8 +14,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check user extensibility of silent-rules mode.
-# Also check that silent rules are disabled by default.
+# Silent rules: use of pre-defined variables $(AM_V_GEN) and $(AM_V_at).
+# Incidentally, also check that silent rules are disabled by default.
 
 . test-init.sh
 
diff --git a/t/silent4.sh b/t/silent-lt-gcc.sh
similarity index 97%
rename from t/silent4.sh
rename to t/silent-lt-gcc.sh
index 69ee7cf..6b08f22 100755
--- a/t/silent4.sh
+++ b/t/silent-lt-gcc.sh
@@ -17,7 +17,7 @@
 # Check silent-rules mode, with libtool, non-fastdep case
 # (so that, with GCC, we also cover the other code paths in depend2).
 
-# Please keep this file in sync with 'silent3.sh' and 'silent9.sh'.
+# Please keep this file in sync with 'silent-lt-generic.sh'.
 
 required="libtoolize gcc"
 . test-init.sh
diff --git a/t/silent3.sh b/t/silent-lt-generic.sh
similarity index 55%
rename from t/silent3.sh
rename to t/silent-lt-generic.sh
index b79f7f9..d1cc5e2 100755
--- a/t/silent3.sh
+++ b/t/silent-lt-generic.sh
@@ -16,7 +16,7 @@
 
 # Check silent-rules mode, with libtool, standard depmode case.
 
-# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'.
+# Please keep this file in sync with 'silent-lt-gcc.sh'.
 
 required='cc libtoolize'
 . test-init.sh
@@ -49,26 +49,36 @@ $ACLOCAL
 $AUTOMAKE --add-missing
 $AUTOCONF
 
-./configure --enable-silent-rules
-$MAKE >stdout || { cat stdout; exit 1; }
-cat stdout
-$EGREP ' (-c|-o)|(mv|mkdir) '             stdout && exit 1
-grep ' CC  *libfoo\.lo'                   stdout
-grep ' CC  *libbar_la-libbar\.lo'         stdout
-grep ' CC  *sub/libbaz\.lo'               stdout
-grep ' CC  *sub/sub_libbla_la-libbla\.lo' stdout
-grep ' CCLD  *libfoo\.la'                 stdout
-grep ' CCLD  *libbar\.la'                 stdout
-grep ' CCLD  *sub/libbaz\.la'             stdout
-grep ' CCLD  *sub/libbla\.la'             stdout
+for config_args in \
+  '--enable-dependency-tracking' \
+  '--disable-dependency-tracking' \
+; do
 
-$MAKE clean
-$MAKE V=1 >stdout || { cat stdout; exit 1; }
-cat stdout
-grep ' -c' stdout
-grep ' -o libfoo' stdout
-grep ' -o sub/libbaz' stdout
-# The libtool command line can contain e.g. a '--tag=CC' option.
-sed 's/--tag=[^ ]*/--tag=x/g' stdout | $EGREP '(CC|LD) ' && exit 1
+  ./configure --enable-silent-rules $config_args
+
+  $MAKE >stdout || { cat stdout; exit 1; }
+  cat stdout
+  $EGREP ' (-c|-o)|(mv|mkdir) '             stdout && exit 1
+  grep ' CC  *libfoo\.lo'                   stdout
+  grep ' CC  *libbar_la-libbar\.lo'         stdout
+  grep ' CC  *sub/libbaz\.lo'               stdout
+  grep ' CC  *sub/sub_libbla_la-libbla\.lo' stdout
+  grep ' CCLD  *libfoo\.la'                 stdout
+  grep ' CCLD  *libbar\.la'                 stdout
+  grep ' CCLD  *sub/libbaz\.la'             stdout
+  grep ' CCLD  *sub/libbla\.la'             stdout
+
+  $MAKE clean
+  $MAKE V=1 >stdout || { cat stdout; exit 1; }
+  cat stdout
+  grep ' -c' stdout
+  grep ' -o libfoo' stdout
+  grep ' -o sub/libbaz' stdout
+  # The libtool command line can contain e.g. a '--tag=CC' option.
+  sed 's/--tag=[^ ]*/--tag=x/g' stdout | $EGREP '(CC|LD) ' && exit 1
+
+  $MAKE distclean
+
+done
 
 :
diff --git a/t/silent9.sh b/t/silent9.sh
deleted file mode 100755
index 9fee3d6..0000000
--- a/t/silent9.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2009-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/>.
-
-# Check silent-rules mode, with libtool, nodep case.
-
-# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'.
-
-required='cc libtoolize'
-. test-init.sh
-
-mkdir sub
-
-cat >>configure.ac <<'EOF'
-AC_PROG_CC
-AM_PROG_AR
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_OUTPUT
-EOF
-
-cat > Makefile.am <<'EOF'
-# Need generic and non-generic rules.
-lib_LTLIBRARIES = libfoo.la libbar.la sub/libbaz.la sub/libbla.la
-libbar_la_CFLAGS = $(AM_CFLAGS)
-# Need generic and non-generic rules.
-sub_libbla_la_CFLAGS = $(AM_CFLAGS)
-EOF
-
-echo 'int main (void) { return 0; }' > libfoo.c
-cp libfoo.c libbar.c
-cp libfoo.c sub/libbaz.c
-cp libfoo.c sub/libbla.c
-
-libtoolize
-$ACLOCAL
-$AUTOMAKE --add-missing
-$AUTOCONF
-
-./configure --disable-dependency-tracking --enable-silent-rules
-$MAKE >stdout || { cat stdout; exit 1; }
-cat stdout
-$EGREP ' (-c|-o)|(mv|mkdir) '             stdout && exit 1
-grep ' CC  *libfoo\.lo'                   stdout
-grep ' CC  *libbar_la-libbar\.lo'         stdout
-grep ' CC  *sub/libbaz\.lo'               stdout
-grep ' CC  *sub/sub_libbla_la-libbla\.lo' stdout
-grep ' CCLD  *libfoo\.la'                 stdout
-grep ' CCLD  *libbar\.la'                 stdout
-grep ' CCLD  *sub/libbaz\.la'             stdout
-grep ' CCLD  *sub/libbla\.la'             stdout
-
-$MAKE clean
-$MAKE V=1 >stdout || { cat stdout; exit 1; }
-cat stdout
-grep ' -c' stdout
-grep ' -o libfoo' stdout
-grep ' -o sub/libbaz' stdout
-# The libtool command line can contain e.g. a '--tag=CC' option.
-sed 's/--tag=[^ ]*/--tag=x/g' stdout | $EGREP '(CC|LD) ' && exit 1
-
-:
diff --git a/t/test-driver-acsubst.sh b/t/test-driver-acsubst.sh
index b36329f..5ab02eb 100755
--- a/t/test-driver-acsubst.sh
+++ b/t/test-driver-acsubst.sh
@@ -21,7 +21,7 @@
 
 mkdir test-drivers
 
-cp "$am_testauxdir"/trivial-test-driver test-drivers/triv \
+cp "$am_testaux_srcdir"/trivial-test-driver test-drivers/triv \
   || fatal_ "failed to fetch auxiliary script trivial-test-driver"
 cp "$am_scriptdir"/test-driver test-drivers/dflt \
   || fatal_ "failed to fetch auxiliary script test-driver"
diff --git a/t/test-driver-cond.sh b/t/test-driver-cond.sh
index 4d76eb3..6563f9e 100755
--- a/t/test-driver-cond.sh
+++ b/t/test-driver-cond.sh
@@ -20,7 +20,7 @@
 
 . test-init.sh
 
-cp "$am_testauxdir"/trivial-test-driver . \
+cp "$am_testaux_srcdir"/trivial-test-driver . \
   || fatal_ "failed to fetch auxiliary script trivial-test-driver"
 cp "$am_scriptdir"/tap-driver.pl . \
   || fatal_ "failed to fetch auxiliary script tap-driver.pl"
diff --git a/t/test-driver-custom-multitest-recheck.sh 
b/t/test-driver-custom-multitest-recheck.sh
index d62405b..836ed6c 100755
--- a/t/test-driver-custom-multitest-recheck.sh
+++ b/t/test-driver-custom-multitest-recheck.sh
@@ -24,7 +24,7 @@
 
 . test-init.sh
 
-cp "$am_testauxdir"/trivial-test-driver . \
+cp "$am_testaux_srcdir"/trivial-test-driver . \
   || fatal_ "failed to fetch auxiliary script trivial-test-driver"
 
 cat >> configure.ac << 'END'
diff --git a/t/test-driver-custom-multitest-recheck2.sh 
b/t/test-driver-custom-multitest-recheck2.sh
index 6d60cc4..b649a75 100755
--- a/t/test-driver-custom-multitest-recheck2.sh
+++ b/t/test-driver-custom-multitest-recheck2.sh
@@ -21,7 +21,7 @@
 
 . test-init.sh
 
-cp "$am_testauxdir"/trivial-test-driver . \
+cp "$am_testaux_srcdir"/trivial-test-driver . \
   || fatal_ "failed to fetch auxiliary script trivial-test-driver"
 
 cat >> configure.ac << 'END'
diff --git a/t/test-driver-custom-multitest.sh 
b/t/test-driver-custom-multitest.sh
index c3b4f54..45e2290 100755
--- a/t/test-driver-custom-multitest.sh
+++ b/t/test-driver-custom-multitest.sh
@@ -21,7 +21,7 @@
 
 . test-init.sh
 
-cp "$am_testauxdir"/trivial-test-driver . \
+cp "$am_testaux_srcdir"/trivial-test-driver . \
   || fatal_ "failed to fetch auxiliary script trivial-test-driver"
 
 cat >> configure.ac << 'END'
diff --git a/t/testsuite-summary-count-many.sh 
b/t/testsuite-summary-count-many.sh
index 1519c28..0ee5d0a 100755
--- a/t/testsuite-summary-count-many.sh
+++ b/t/testsuite-summary-count-many.sh
@@ -24,7 +24,7 @@
 expensive_
 
 for s in trivial-test-driver extract-testsuite-summary.pl; do
-  cp "$am_testauxdir/$s" . || fatal_ "failed to fetch auxiliary script $s"
+  cp "$am_testaux_srcdir/$s" . || fatal_ "failed to fetch auxiliary script $s"
 done
 
 
br='============================================================================'
diff --git a/t/vala4.sh b/t/vala4.sh
index aad5837..91d96bb 100755
--- a/t/vala4.sh
+++ b/t/vala4.sh
@@ -20,42 +20,99 @@
 
 cat >> configure.ac << 'END'
 AC_PROG_CC
-AM_PROG_VALAC([0.0.1])
+AM_PROG_VALAC([1.2.3])
 AC_OUTPUT
 END
 
-: > Makefile.am
+cat > Makefile.am << 'END'
+has-valac:
+       case '$(VALAC)' in */bin/valac) exit 0;; *) exit 1;; esac
+no-valac:
+       test x'$(VALAC)' = x'valac'
+END
+
+mkdir bin
+cat > bin/valac << 'END'
+#! /bin/sh
+if test "x$1" = x--version; then
+  echo "${vala_version-1.2.3}"
+fi
+exit 0
+END
+chmod +x bin/valac
 
-cat > valac << 'END'
+cat > bin/valac.old << 'END'
 #! /bin/sh
 if test "x$1" = x--version; then
-  echo 1.2.3
+  echo 0.1
 fi
 exit 0
 END
-chmod +x valac
+chmod +x bin/valac.old
+
+PATH=$(pwd)/bin$PATH_SEPARATOR$PATH; export PATH
 
-cwd=$(pwd) || fatal_ "getting current working directory"
+# Avoid interferences from the environment.
+VALAC= vala_version=; unset VALAC vala_version
 
 $ACLOCAL
 $AUTOMAKE -a
 $AUTOCONF
 
-# The "|| exit 1" is required here even if 'set -e' is active,
-# because ./configure might exit with status 77, and in that case
-# we want to FAIL, not to SKIP.
-./configure "VALAC=$cwd/valac" || exit 1
+st=0; ./configure 2>stderr || st=$?
+cat stderr >&2
+grep 'WARNING.*vala' stderr && exit 1
+test $st -eq 0
+$MAKE has-valac
 
-sed 's/AM_PROG_VALAC.*/AM_PROG_VALAC([9999.9])/' < configure.ac >t
-mv -f t configure.ac
-$AUTOCONF --force
-st=0; ./configure "VALAC=$cwd/valac" || st=$?
-test $st -eq 77 || exit 1
+st=0; vala_version=99.9 ./configure 2>stderr || st=$?
+cat stderr >&2
+grep 'WARNING.*vala' stderr && exit 1
+test $st -eq 0
+$MAKE has-valac
+
+st=0; vala_version=0.1.2 ./configure 2>stderr || st=$?
+cat stderr >&2
+test $st -eq 0
+grep '^configure: WARNING: no proper vala compiler found' stderr
+$MAKE no-valac
 
-sed 's/AM_PROG_VALAC.*/AM_PROG_VALAC([1.2.3])/' < configure.ac >t
+st=0; ./configure VALAC="$(pwd)/bin/valac.old" 2>stderr || st=$?
+cat stderr >&2
+test $st -eq 0 || exit 1
+grep '^configure: WARNING: no proper vala compiler found' stderr
+$MAKE no-valac
+
+sed 's/^\(AM_PROG_VALAC\).*/\1([1], [: > ok], [: > ko])/' <configure.ac >t
 mv -f t configure.ac
-$AUTOCONF --force
-# See comments above for why "|| exit 1" is needed.
-./configure "VALAC=$cwd/valac" || exit 1
+rm -rf autom4te*.cache
+$ACLOCAL
+$AUTOCONF
+
+st=0; ./configure 2>stderr || st=$?
+cat stderr >&2
+grep 'WARNING.*vala' stderr && exit 1
+test -f ok
+test ! -e ko
+$MAKE has-valac
+rm -f ok ko
+
+st=0; vala_version=0.1.2 ./configure 2>stderr || st=$?
+cat stderr >&2
+grep 'WARNING.*vala' stderr && exit 1
+test $st -eq 0
+test ! -e ok
+test -f ko
+$MAKE no-valac
+rm -f ok ko
+
+st=0; ./configure VALAC="$(pwd)/bin/valac.old" 2>stderr || st=$?
+cat stderr >&2
+grep 'WARNING.*vala' stderr && exit 1
+test $st -eq 0
+test ! -e ok
+test -f ko
+$MAKE no-valac
+rm -f ok ko
 
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]