| #! @AM_TEST_RUNNER_SHELL@ |
| # Copyright (C) 2012-2013 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+"$@"} |