]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix configure for python to use sysutils, because distutils is
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Mon, 7 Mar 2022 13:02:31 +0000 (14:02 +0100)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Mon, 7 Mar 2022 13:02:31 +0000 (14:02 +0100)
  deprecated. It uses sysutils when available, distutils otherwise.

acx_python.m4
configure
doc/Changelog

index 767db5b65944ad0fea192cfb477c008e7b4ccbb7..16c0c6fd943f56e0b4f5970d818214b042abcd7f 100644 (file)
@@ -18,27 +18,45 @@ AC_DEFUN([AC_PYTHON_DEVEL],[
                        print(sys.version.split()[[0]])"`
        fi
 
-        #
-        # Check if you have distutils, else fail
-        #
-        AC_MSG_CHECKING([for the distutils Python package])
-        if ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`; then
+       # Check if you have sysconfig
+       AC_MSG_CHECKING([for the sysconfig Python module])
+        if ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`; then
                 AC_MSG_RESULT([yes])
-        else
+               sysconfig_module="sysconfig"
+               # if yes, use sysconfig, because distutils is deprecated.
+       else
                 AC_MSG_RESULT([no])
-                AC_MSG_ERROR([cannot import Python module "distutils".
-Please check your Python installation. The error was:
-$ac_distutils_result])
-                PYTHON_VERSION=""
-        fi
+               # if no, try to use distutils
+
+               #
+               # Check if you have distutils, else fail
+               #
+               AC_MSG_CHECKING([for the distutils Python package])
+               if ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`; then
+                       AC_MSG_RESULT([yes])
+               else
+                       AC_MSG_RESULT([no])
+                       AC_MSG_ERROR([cannot import Python module "distutils".
+       Please check your Python installation. The error was:
+       $ac_distutils_result])
+                       PYTHON_VERSION=""
+               fi
+
+               sysconfig_module="distutils.sysconfig"
+       fi
 
         #
         # Check for Python include path
         #
         AC_MSG_CHECKING([for Python include path])
         if test -z "$PYTHON_CPPFLAGS"; then
-                python_path=`$PYTHON -c "import distutils.sysconfig; \
-                        print(distutils.sysconfig.get_python_inc());"`
+               if test "$sysconfig_module" = "sysconfig"; then
+                       python_path=`$PYTHON -c 'import sysconfig; \
+                               print(sysconfig.get_path("include"));'`
+               else
+                       python_path=`$PYTHON -c "import distutils.sysconfig; \
+                               print(distutils.sysconfig.get_python_inc());"`
+               fi
                 if test -n "${python_path}"; then
                         python_path="-I$python_path"
                 fi
@@ -52,14 +70,14 @@ $ac_distutils_result])
         #
         AC_MSG_CHECKING([for Python library path])
         if test -z "$PYTHON_LDFLAGS"; then
-                PYTHON_LDFLAGS=`$PYTHON -c "from distutils.sysconfig import *; \
+                PYTHON_LDFLAGS=`$PYTHON -c "from $sysconfig_module import *; \
                         print('-L'+get_config_var('LIBDIR')+' -L'+get_config_var('LIBDEST')+' '+get_config_var('BLDLIBRARY'));"`
         fi
         AC_MSG_RESULT([$PYTHON_LDFLAGS])
         AC_SUBST([PYTHON_LDFLAGS])
 
         if test -z "$PYTHON_LIBDIR"; then
-                PYTHON_LIBDIR=`$PYTHON -c "from distutils.sysconfig import *; \
+                PYTHON_LIBDIR=`$PYTHON -c "from $sysconfig_module import *; \
                         print(get_config_var('LIBDIR'));"`
         fi
 
@@ -68,8 +86,13 @@ $ac_distutils_result])
         #
         AC_MSG_CHECKING([for Python site-packages path])
         if test -z "$PYTHON_SITE_PKG"; then
-                PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
-                        print(distutils.sysconfig.get_python_lib(1,0));"`
+               if test "$sysconfig_module" = "sysconfig"; then
+                       PYTHON_SITE_PKG=`$PYTHON -c 'import sysconfig; \
+                               print(sysconfig.get_path("platlib"));'`
+               else
+                       PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
+                               print(distutils.sysconfig.get_python_lib(1,0));"`
+               fi
         fi
         AC_MSG_RESULT([$PYTHON_SITE_PKG])
         AC_SUBST([PYTHON_SITE_PKG])
index 4b97c2541b1e3e3d26598fa4bfd49112e7fb5a73..ac79c9a813c6d2a0c954080329956424ca7ef3f7 100755 (executable)
--- a/configure
+++ b/configure
                        print(sys.version.split()[0])"`
        fi
 
-        #
-        # Check if you have distutils, else fail
-        #
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
-$as_echo_n "checking for the distutils Python package... " >&6; }
-        if ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`; then
+       # Check if you have sysconfig
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the sysconfig Python module" >&5
+$as_echo_n "checking for the sysconfig Python module... " >&6; }
+        if ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`; then
                 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-        else
+               sysconfig_module="sysconfig"
+               # if yes, use sysconfig, because distutils is deprecated.
+       else
                 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-                as_fn_error $? "cannot import Python module \"distutils\".
-Please check your Python installation. The error was:
-$ac_distutils_result" "$LINENO" 5
-                PYTHON_VERSION=""
-        fi
+               # if no, try to use distutils
+
+               #
+               # Check if you have distutils, else fail
+               #
+               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+$as_echo_n "checking for the distutils Python package... " >&6; }
+               if ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`; then
+                       { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+               else
+                       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+                       as_fn_error $? "cannot import Python module \"distutils\".
+       Please check your Python installation. The error was:
+       $ac_distutils_result" "$LINENO" 5
+                       PYTHON_VERSION=""
+               fi
+
+               sysconfig_module="distutils.sysconfig"
+       fi
 
         #
         # Check for Python include path
@@ -17491,8 +17507,13 @@ $ac_distutils_result" "$LINENO" 5
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
 $as_echo_n "checking for Python include path... " >&6; }
         if test -z "$PYTHON_CPPFLAGS"; then
-                python_path=`$PYTHON -c "import distutils.sysconfig; \
-                        print(distutils.sysconfig.get_python_inc());"`
+               if test "$sysconfig_module" = "sysconfig"; then
+                       python_path=`$PYTHON -c 'import sysconfig; \
+                               print(sysconfig.get_path("include"));'`
+               else
+                       python_path=`$PYTHON -c "import distutils.sysconfig; \
+                               print(distutils.sysconfig.get_python_inc());"`
+               fi
                 if test -n "${python_path}"; then
                         python_path="-I$python_path"
                 fi
@@ -17508,7 +17529,7 @@ $as_echo "$PYTHON_CPPFLAGS" >&6; }
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
 $as_echo_n "checking for Python library path... " >&6; }
         if test -z "$PYTHON_LDFLAGS"; then
-                PYTHON_LDFLAGS=`$PYTHON -c "from distutils.sysconfig import *; \
+                PYTHON_LDFLAGS=`$PYTHON -c "from $sysconfig_module import *; \
                         print('-L'+get_config_var('LIBDIR')+' -L'+get_config_var('LIBDEST')+' '+get_config_var('BLDLIBRARY'));"`
         fi
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
@@ -17516,7 +17537,7 @@ $as_echo "$PYTHON_LDFLAGS" >&6; }
 
 
         if test -z "$PYTHON_LIBDIR"; then
-                PYTHON_LIBDIR=`$PYTHON -c "from distutils.sysconfig import *; \
+                PYTHON_LIBDIR=`$PYTHON -c "from $sysconfig_module import *; \
                         print(get_config_var('LIBDIR'));"`
         fi
 
@@ -17526,8 +17547,13 @@ $as_echo "$PYTHON_LDFLAGS" >&6; }
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
 $as_echo_n "checking for Python site-packages path... " >&6; }
         if test -z "$PYTHON_SITE_PKG"; then
-                PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
-                        print(distutils.sysconfig.get_python_lib(1,0));"`
+               if test "$sysconfig_module" = "sysconfig"; then
+                       PYTHON_SITE_PKG=`$PYTHON -c 'import sysconfig; \
+                               print(sysconfig.get_path("platlib"));'`
+               else
+                       PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
+                               print(distutils.sysconfig.get_python_lib(1,0));"`
+               fi
         fi
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
 $as_echo "$PYTHON_SITE_PKG" >&6; }
index 3fa86ac3bc84b7d00a815f147a8e1c445a67f42b..d9dfdfa72b0abd211429bf1c2a54576328988711 100644 (file)
@@ -1,3 +1,7 @@
+7 March 2022: Wouter
+       - Fix configure for python to use sysutils, because distutils is
+         deprecated. It uses sysutils when available, distutils otherwise.
+
 3 March 2022: Wouter
        - Fix #637: Integer Overflow in sldns_str2period function.
        - Fix for #637: fix integer overflow checks in sldns_str2period.