]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[v9_9] improve python probing
authorEvan Hunt <each@isc.org>
Fri, 5 Sep 2014 17:20:58 +0000 (10:20 -0700)
committerEvan Hunt <each@isc.org>
Fri, 5 Sep 2014 17:20:58 +0000 (10:20 -0700)
3946. [cleanup] Improved "configure" search for a python interpreter.
[RT #36992]

(cherry picked from commit 523f3d630243211ddfda852f5224f7eff681d3a5)

CHANGES
configure
configure.in

diff --git a/CHANGES b/CHANGES
index 8d806a3ec7c626d2256b438fb24bd7ef070bc0ae..e7307ab1cde0d3c4732ae9493d91f5d0003f7e3b 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3946.  [cleanup]       Improved "configure" search for a python interpreter.
+                       [RT #36992]
+
 3945.  [bug]           Invalid wildcard expansions could be incorrectly
                        accepted by the validator. [RT #37093]
 
index dd2632bfb89ceb9caf159a4e5d77d7aef7676b31..78fee00a50b626b7e8199fcd3c2794e484e40580 100755 (executable)
--- a/configure
+++ b/configure
@@ -11614,15 +11614,22 @@ else
 fi
 
 
+python="python python3 python3.4 python3.3 python3.2 python3.1 python3.0 python2 python2.7 python2.6 python2.5 python2.4"
+testscript='try: import argparse
+except: exit(1)'
 case "$use_python" in
        no)
+               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for python support" >&5
+$as_echo_n "checking for python support... " >&6; }
                { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
 $as_echo "disabled" >&6; }
                ;;
        unspec|yes|*)
                case "$use_python" in
                unspec|yes|'')
-                       for ac_prog in python
+                       for p in $python
+                       do
+                               for ac_prog in $p
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
   test -n "$PYTHON" && break
 done
 
+                               if test "X$PYTHON" == "X"; then
+                                       continue;
+                               fi
+                               { $as_echo "$as_me:${as_lineno-$LINENO}: checking python module 'argparse'" >&5
+$as_echo_n "checking python module 'argparse'... " >&6; }
+                               if ${PYTHON:-false} -c "$testscript"; then
+                                       { $as_echo "$as_me:${as_lineno-$LINENO}: result: found, using $PYTHON" >&5
+$as_echo "found, using $PYTHON" >&6; }
+                                       break
+                               fi
+                               { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+                               unset ac_cv_path_PYTHON
+                               unset PYTHON
+                       done
+                       if test "X$PYTHON" == "X"
+                       then
+                               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for python support" >&5
+$as_echo_n "checking for python support... " >&6; }
+                               case "$use_python" in
+                               unspec)
+                                       { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
+$as_echo "disabled" >&6; }
+                                       ;;
+                               yes)
+                                       as_fn_error $? "missing python" "$LINENO" 5
+                                       ;;
+                               esac
+                       fi
                        ;;
                *)
-                       for ac_prog in $use_python
+                       case "$use_python" in
+                       /*)
+                               PYTHON="$use_python"
+                               ;;
+                       *)
+                               for ac_prog in $use_python
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
   test -n "$PYTHON" && break
 done
 
-                       ;;
-               esac
-               if test "X$PYTHON" == "X"
-               then
-                       case "$use_python" in
-                       unspec)
-                               { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
-$as_echo "disabled" >&6; }
-                               ;;
-                       yes|*)
-                               as_fn_error $? "missing python" "$LINENO" 5
                                ;;
                        esac
-                       break
-               fi
-               testscript='try: import argparse
-except: exit(1)'
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking python module 'argparse'" >&5
+                       { $as_echo "$as_me:${as_lineno-$LINENO}: checking python module 'argparse'" >&5
 $as_echo_n "checking python module 'argparse'... " >&6; }
-               if $PYTHON -c "$testscript"; then
-                       { $as_echo "$as_me:${as_lineno-$LINENO}: result: found, using $PYTHON" >&5
+                       if ${PYTHON:-false} -c "$testscript"; then
+                               { $as_echo "$as_me:${as_lineno-$LINENO}: result: found, using $PYTHON" >&5
 $as_echo "found, using $PYTHON" >&6; }
-               else
-                       case "$use_python" in
-                       unspec)
-                               PYTHON=""
-
-
-                               { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found, python disabled" >&5
-$as_echo "not found, python disabled" >&6; }
-                               ;;
-                       yes)
-                       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no found" >&5
-$as_echo "no found" >&6; }
-                       as_fn_error $? "python 'argparse' module not supported" "$LINENO" 5
-                               ;;
-                       esac
-               fi
+                               break
+                       else
+                               as_fn_error $? "not found" "$LINENO" 5
+                       fi
+                       ;;
+               esac
                ;;
 esac
 
index 4c31074fdbbb2940eeb66c74e499e8e48f87caaf..1d7e89ecc6cbb9d987b659e2836b807a710eea01 100644 (file)
@@ -149,50 +149,63 @@ AC_ARG_WITH(python,
 [  --with-python=PATH      Specify path to python interpreter],
     use_python="$withval", use_python="unspec")
 
+python="python python3 python3.4 python3.3 python3.2 python3.1 python3.0 python2 python2.7 python2.6 python2.5 python2.4"
+testscript='try: import argparse
+except: exit(1)'
 case "$use_python" in
        no)
+               AC_MSG_CHECKING([for python support])
                AC_MSG_RESULT(disabled)
                ;;
        unspec|yes|*)
                case "$use_python" in
                unspec|yes|'')
-                       AC_PATH_PROGS(PYTHON, python)
+                       for p in $python
+                       do
+                               AC_PATH_PROGS(PYTHON, $p)
+                               if test "X$PYTHON" == "X"; then
+                                       continue;
+                               fi
+                               AC_MSG_CHECKING([python module 'argparse'])
+                               if ${PYTHON:-false} -c "$testscript"; then
+                                       AC_MSG_RESULT([found, using $PYTHON])
+                                       break
+                               fi
+                               AC_MSG_RESULT([not found])
+                               unset ac_cv_path_PYTHON
+                               unset PYTHON
+                       done
+                       if test "X$PYTHON" == "X"
+                       then
+                               AC_MSG_CHECKING([for python support])
+                               case "$use_python" in
+                               unspec)
+                                       AC_MSG_RESULT(disabled)
+                                       ;;
+                               yes)
+                                       AC_MSG_ERROR([missing python])
+                                       ;;
+                               esac
+                       fi
                        ;;
                *)
-                       AC_PATH_PROGS(PYTHON, $use_python)
-                       ;;
-               esac
-               if test "X$PYTHON" == "X"
-               then
                        case "$use_python" in
-                       unspec)
-                               AC_MSG_RESULT(disabled)
-                               ;;
-                       yes|*)
-                               AC_MSG_ERROR([missing python])
+                       /*)
+                               PYTHON="$use_python"
                                ;;
-                       esac
-                       break
-               fi
-               testscript='try: import argparse
-except: exit(1)'
-               AC_MSG_CHECKING([python module 'argparse'])
-               if $PYTHON -c "$testscript"; then
-                       AC_MSG_RESULT([found, using $PYTHON])
-               else
-                       case "$use_python" in
-                       unspec)
-                               PYTHON=""
-                               AC_SUBST(CHECKDS)
-                               AC_SUBST(COVERAGE)
-                               AC_MSG_RESULT([not found, python disabled])
-                               ;;
-                       yes)
-                       AC_MSG_RESULT([no found])
-                       AC_MSG_ERROR([python 'argparse' module not supported])
+                       *)
+                               AC_PATH_PROGS(PYTHON, $use_python)
                                ;;
                        esac
-               fi
+                       AC_MSG_CHECKING([python module 'argparse'])
+                       if ${PYTHON:-false} -c "$testscript"; then
+                               AC_MSG_RESULT([found, using $PYTHON])
+                               break
+                       else
+                               AC_MSG_ERROR([not found])
+                       fi
+                       ;;
+               esac
                ;;
 esac