From: Dennis Stosberg <dennis@xxxxxxxxxxxx> This patch adds two tests to the configuration script. The first one tries to find a perl binary in the path. The second one checks whether the found perl is of a sufficient version. The user can override the auto-detection with the --perl parameter or with the PERL environment variable. The path_find() function was written by Timo Hirvonen as a replacement for "which", which cannot be used portably. Signed-off-by: Dennis Stosberg <dennis@xxxxxxxxxxxx> --- config-lib.sh | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-) diff --git a/config-lib.sh b/config-lib.sh index 68fecc5..34dfc05 100755 --- a/config-lib.sh +++ b/config-lib.sh @@ -117,6 +117,22 @@ alpha() { esac } +# replacement for "which", which cannot be used portably +path_find() +{ + _ifs="$IFS" + IFS=: + for i in $PATH; do + if test -x "$i/$1"; then + IFS="$_ifs" + echo "$i/$1" + return 0 + fi + done + IFS="$_ifs" + return 1 +} + # not boolean test: implement the posix shell "!" operator for a # non-posix /bin/sh. # usage: not {command} @@ -240,6 +256,9 @@ process_params() { _cc=cc test "$CC" && _cc="$CC" + _perl= + test "$PERL" && _perl="$PERL" + for ac_option do case "$ac_option" in --help|-help|-h) @@ -262,6 +281,7 @@ Installation directories: Miscellaneous options: --cc=COMPILER use this C compiler to build MPlayer [gcc] + --perl=PATH path to perl binary [autodetect] --target=PLATFORM target platform (i386-linux, arm-linux, etc) --with-install=PATH use a custom install program (useful if your OS uses a GNU-incompatible install utility by default and @@ -296,6 +316,8 @@ EOF --cc=*) _cc=`echo $ac_option | cut -d '=' -f 2` ;; + --perl=*) + _perl=`echo $ac_option | cut -d '=' -f 2` ;; --target=*) _target=`echo $ac_option | cut -d '=' -f 2` ;; --with-install=*) @@ -409,8 +431,21 @@ int main(void) { return 0; } EOF { cc_check && tmp_run; } || die "unusable compiler or produced binary" echores yes -} + echocheck "for perl" + if test -z "$_perl" ; then + _perl=`path_find perl` + test "$_perl" || die "cannot find path to perl" + fi + echores "$_perl" + + echocheck "perl version" + _perl_version=`"$_perl" -e 'eval{require 5.6.0; printf "%vd", $^V}'` + if test -z "$_perl_version" ; then + die "your perl is too old. Perl 5.6.0 or newer is required." + fi + echores "$_perl_version" +} write_config() { echo "Creating config.mak.autogen" @@ -420,6 +455,7 @@ write_config() { # -------- Generated by configure ----------- CC = $_cc +PERL_PATH = $_perl INSTALL = $_install EOF - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html