[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ax_prog_python.m4
From: |
Dustin Mitchell |
Subject: |
Re: ax_prog_python.m4 |
Date: |
Sat, 26 Jul 2003 15:44:00 -0500 |
User-agent: |
Mutt/1.4.1i |
I apologize; I should have sent this to the list. While I'm at it,
please note that I also changed the author email address below to my
permanent address.
On Sat, Jul 26, 2003 at 10:16:24AM +0200, Guido Draheim wrote:
> - which brings me to the conclusion to set PYTHON="python" as the
> general fallback support, and folding fallback support into the
> next-earlier AC_PATH_PROG expansion
I have a question about that part: as it's now coded, if I supplied
e.g., "missing" as the value-if-not-found, the script would try to
execute `missing -c "..."`, which would certainly not work. If we fall
back for any reason, shouldn't the script avoid necessarily using the
resulting value as a Python interpreter? Also consider that the caller
will get no additional information from the version check: if, after
falling back to $2, the version check succeeds, then $PYTHON is left
alone; if it fails, $PYTHON is set to $2---no change.
I've inserted an extra conditional below to handle this case; please let
me know what you think.
Other than that, thank you for your work on this macro! I'll apply
your points to my other macros before re-submitting them.
dnl @synopsis AX_WITH_PYTHON([minimum-version], [value-if-not-found], [path])
dnl
dnl Locates an installed Python binary, placing the result in the precious
dnl variable $PYTHON. Accepts a present $PYTHON, then --with-python, and
dnl failing
dnl
dnl that searches for python in the given path (which defaults to the system
dnl path). If python is found, $PYTHON is set to the full path of the binary
dnl and ACTION-IF-FOUND is executed; otherwise ACTION-IF-NOT-FOUND is executed.
dnl
dnl Example:
dnl
dnl AX_WITH_PYTHON(2.2, missing)
dnl
dnl @author Dustin Mitchell <address@hidden>
dnl @version $Id: $
AC_DEFUN([AX_WITH_PYTHON],
[
AC_ARG_VAR([PYTHON])
dnl unless PYTHON was supplied to us (as a precious variable)
if test -z "$PYTHON"
then
AC_MSG_CHECKING(for --with-python)
AC_ARG_WITH(python,
AC_HELP_STRING([--with-python=PYTHON],
[absolute path name of Python executable]),
[ if test "$withval" != "yes"
then
PYTHON="$withval"
AC_MSG_RESULT($withval)
else
AC_MSG_RESULT(no)
fi
],
[ AC_MSG_RESULT(no)
])
fi
dnl if it's still not found, check the paths, or use the fallback
if test -z "$PYTHON"
then
AC_PATH_PROG([PYTHON], python, m4_ifval([$2],[$2],[python]), $3)
fi
dnl check version if required
m4_ifvaln([$1],[
dnl do this only if we didn't fall back
if test "$PYTHON" != "m4_ifval([$2],[$2],[python])"
then
AC_MSG_CHECKING($PYTHON version >= $1)
if test `$PYTHON -c ["import sys; dnl
print sys.version[:3] >= \"$1\" and \"OK\" or \"OLD\""]` = "OK"
then
AC_MSG_RESULT(ok)
else
AC_MSG_RESULT(no)
PYTHON="$2"
fi
fi]
])
--
Dustin Mitchell
address@hidden/address@hidden
http://people.cs.uchicago.edu/~dustin/
- ax_prog_python.m4, Dustin Mitchell, 2003/07/24
- Re: ax_prog_python.m4,
Dustin Mitchell <=