From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dennis Stosberg Subject: [PATCH 1/4] configure: Add test for Perl Date: Fri, 07 Jul 2006 18:26:38 +0200 Message-ID: <20060707162637.25746.84757.stgit@leonov.stosberg.net> References: <20060707162513.25746.57374.stgit@leonov.stosberg.net> Content-Type: text/plain; charset=utf-8; format=fixed Content-Transfer-Encoding: 8bit X-From: git-owner@vger.kernel.org Fri Jul 07 18:27:13 2006 Return-path: Envelope-to: gcvg-git@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FytAA-0000bA-HT for gcvg-git@gmane.org; Fri, 07 Jul 2006 18:26:43 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932199AbWGGQ0l (ORCPT ); Fri, 7 Jul 2006 12:26:41 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932198AbWGGQ0l (ORCPT ); Fri, 7 Jul 2006 12:26:41 -0400 Received: from ncs.stosberg.net ([89.110.145.104]:64182 "EHLO ncs.stosberg.net") by vger.kernel.org with ESMTP id S932199AbWGGQ0k (ORCPT ); Fri, 7 Jul 2006 12:26:40 -0400 Received: from leonov.stosberg.net (p213.54.86.102.tisdip.tiscali.de [213.54.86.102]) by ncs.stosberg.net (Postfix) with ESMTP id CBE89AEBA004 for ; Fri, 7 Jul 2006 18:26:30 +0200 (CEST) Received: from leonov.stosberg.net (localhost [127.0.0.1]) by leonov.stosberg.net (Postfix) with ESMTP id 026D91149B7 for ; Fri, 7 Jul 2006 18:26:38 +0200 (CEST) To: git@vger.kernel.org In-Reply-To: <20060707162513.25746.57374.stgit@leonov.stosberg.net> User-Agent: StGIT/0.10 Sender: git-owner@vger.kernel.org Precedence: bulk X-Mailing-List: git@vger.kernel.org From: Dennis Stosberg 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 --- 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