diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-08-04 18:36:24 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-08-04 18:36:24 +0200 |
commit | 96afe638f09cd5fc32659883952b89f2d7e2a315 (patch) | |
tree | 71158fe7325be9c4c785aa515a0203f55a7c1dd7 | |
parent | 65dadf65814d7dd395d5cc35903f624b464091c6 (diff) | |
download | automake-96afe638f09cd5fc32659883952b89f2d7e2a315.tar.gz |
tests: reimplement wrappers for automake and aclocal in perl
This will allow us to avoid one extra shell invocation per automake
and aclocal invocation in our testsuite, and, more importantly, will
allow us not to worry about potential shell portability issues, at
least in those wrappers. For an example of such a portability issue,
refer to the recent commit v1.12.2-80-g65dadf6 "tests: work around a
ksh bug w.r.t. ${1+"$@"}".
* t/wrap/automake.in, t/wrap/aclocal.in: Rewritten in perl.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
-rw-r--r-- | t/wrap/aclocal.in | 29 | ||||
-rw-r--r-- | t/wrap/automake.in | 31 |
2 files changed, 26 insertions, 34 deletions
diff --git a/t/wrap/aclocal.in b/t/wrap/aclocal.in index 18ee13a82..a3defa930 100644 --- a/t/wrap/aclocal.in +++ b/t/wrap/aclocal.in @@ -1,4 +1,4 @@ -#!/bin/sh +#!@PERL@ -w # @configure_input@ # Copyright (C) 2012 Free Software Foundation, Inc. @@ -16,17 +16,16 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' -fi - -perllibdir="@abs_top_builddir@/lib@PATH_SEPARATOR@@abs_top_srcdir@/lib" -export perllibdir - -exec "@abs_top_builddir@/aclocal" "--automake-acdir=@abs_top_srcdir@/m4" \ - "--system-acdir=@abs_top_srcdir@/m4/acdir" ${1+"$@"} +BEGIN +{ + use strict; + my $libdir; + $libdir = '@abs_top_srcdir@/lib'; + $libdir = '@abs_top_builddir@/lib' . '@PATH_SEPARATOR@' . $libdir + if '@srcdir@' ne '.'; + $ENV{perllibdir} = $libdir; + unshift @ARGV, + '--automake-acdir=@abs_top_srcdir@/m4', + '--system-acdir=@abs_top_srcdir@/m4/acdir'; +} +require '@abs_top_builddir@/aclocal'; diff --git a/t/wrap/automake.in b/t/wrap/automake.in index b77177cec..841736049 100644 --- a/t/wrap/automake.in +++ b/t/wrap/automake.in @@ -1,4 +1,4 @@ -#!/bin/sh +#!@PERL@ -w # @configure_input@ # Copyright (C) 2012 Free Software Foundation, Inc. @@ -16,21 +16,14 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' -fi - -perllibdir="@abs_top_builddir@/lib@PATH_SEPARATOR@@abs_top_srcdir@/lib" -export perllibdir -# Don't trust ${1+"$@"}: it has subtle bugs in some Korn shells (for very -# corner case only admittedly, but those have already bitten us -- see -# automake bug#10898). -case $# in - 0) exec "@abs_top_builddir@/automake" "--libdir=@abs_top_srcdir@/lib";; - *) exec "@abs_top_builddir@/automake" "--libdir=@abs_top_srcdir@/lib" "$@";; -esac +BEGIN +{ + use strict; + my $libdir; + $libdir = '@abs_top_srcdir@/lib'; + $libdir = '@abs_top_builddir@/lib' . '@PATH_SEPARATOR@' . $libdir + if '@srcdir@' ne '.'; + $ENV{perllibdir} = $libdir; + unshift @ARGV, '--libdir=@abs_top_srcdir@/lib'; +} +require '@abs_top_builddir@/automake'; |