* m4/ax_python_devel.m4, m4/python.m4: Remove all distutils related code
and only check for the stdlib sysconfig module instead.
--

Signed-off-by: Lucas Hoffmann <l...@posteo.de>
---
 m4/ax_python_devel.m4 | 66 ++++++++++++-------------------------------
 m4/python.m4          | 42 ++++++---------------------
 2 files changed, 26 insertions(+), 82 deletions(-)

diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
index ca6f4cf..6d2a1f2 100644
--- a/m4/ax_python_devel.m4
+++ b/m4/ax_python_devel.m4
@@ -188,31 +188,22 @@ variable to configure. See ``configure --help'' for reference.
 
 	if test $ax_python_devel_found = yes; then
 	   #
-	   # Check if you have distutils, else fail
+	   # Check if you have sysconfig, else fail
 	   #
 	   AC_MSG_CHECKING([for the sysconfig Python package])
 	   ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`
 	   if test $? -eq 0; then
 		AC_MSG_RESULT([yes])
-		IMPORT_SYSCONFIG="import sysconfig"
 	   else
 		AC_MSG_RESULT([no])
-
-		AC_MSG_CHECKING([for the distutils Python package])
-		ac_sysconfig_result=`$PYTHON -c "from distutils import sysconfig" 2>&1`
-		if test $? -eq 0; then
-			AC_MSG_RESULT([yes])
-			IMPORT_SYSCONFIG="from distutils import sysconfig"
-		else
-			AC_MSG_WARN([cannot import Python module "distutils".
+		AC_MSG_WARN([cannot import Python module "sysconfig".
 Please check your Python installation. The error was:
 $ac_sysconfig_result])
-			if ! $ax_python_devel_optional; then
-			   AC_MSG_ERROR([Giving up])
-			fi
-			ax_python_devel_found=no
-			PYTHON_VERSION=""
+		if ! $ax_python_devel_optional; then
+		   AC_MSG_ERROR([Giving up])
 		fi
+		ax_python_devel_found=no
+		PYTHON_VERSION=""
 	   fi
 	fi
 
@@ -222,19 +213,10 @@ $ac_sysconfig_result])
 	   #
 	   AC_MSG_CHECKING([for Python include path])
 	   if test -z "$PYTHON_CPPFLAGS"; then
-		if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
-			# sysconfig module has different functions
-			python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
-				print (sysconfig.get_path ('include'));"`
-			plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
-				print (sysconfig.get_path ('platinclude'));"`
-		else
-			# old distutils way
-			python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
-				print (sysconfig.get_python_inc ());"`
-			plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
-				print (sysconfig.get_python_inc (plat_specific=1));"`
-		fi
+		python_path=`$PYTHON -c "import sysconfig; \
+			print (sysconfig.get_path ('include'));"`
+		plat_python_path=`$PYTHON -c "import sysconfig; \
+			print (sysconfig.get_path ('platinclude'));"`
 		if test -n "${python_path}"; then
 			if test "${plat_python_path}" != "${python_path}"; then
 				python_path="-I$python_path -I$plat_python_path"
@@ -284,7 +266,7 @@ EOD`
 		ac_python_libdir=`cat<<EOD | $PYTHON -
 
 # There should be only one
-$IMPORT_SYSCONFIG
+import sysconfig
 e = sysconfig.get_config_var('LIBDIR')
 if e is not None:
 	print (e)
@@ -293,7 +275,7 @@ EOD`
 		# Now, for the library:
 		ac_python_library=`cat<<EOD | $PYTHON -
 
-$IMPORT_SYSCONFIG
+import sysconfig
 c = sysconfig.get_config_vars()
 if 'LDVERSION' in c:
 	print ('python'+c[['LDVERSION']])
@@ -342,9 +324,8 @@ EOD`
 	   #
 	   AC_MSG_CHECKING([for Python site-packages path])
 	   if test -z "$PYTHON_SITE_PKG"; then
-		if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
-			PYTHON_SITE_PKG=`$PYTHON -c "
-$IMPORT_SYSCONFIG;
+		PYTHON_SITE_PKG=`$PYTHON -c "
+import sysconfig;
 if hasattr(sysconfig, 'get_default_scheme'):
     scheme = sysconfig.get_default_scheme()
 else:
@@ -357,11 +338,6 @@ if prefix == 'NONE':
     prefix = '$ac_default_prefix'
 sitedir = sysconfig.get_path('purelib', scheme, vars={'base': prefix})
 print(sitedir)"`
-		else
-			# distutils.sysconfig way
-			PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
-				print (sysconfig.get_python_lib(0,0));"`
-		fi
 	   fi
 	   AC_MSG_RESULT([$PYTHON_SITE_PKG])
 	   AC_SUBST([PYTHON_SITE_PKG])
@@ -371,9 +347,8 @@ print(sitedir)"`
 	   #
 	   AC_MSG_CHECKING([for Python platform specific site-packages path])
 	   if test -z "$PYTHON_PLATFORM_SITE_PKG"; then
-		if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
-			PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "
-$IMPORT_SYSCONFIG;
+		PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "
+import sysconfig;
 if hasattr(sysconfig, 'get_default_scheme'):
     scheme = sysconfig.get_default_scheme()
 else:
@@ -386,11 +361,6 @@ if prefix == 'NONE':
     prefix = '$ac_default_prefix'
 sitedir = sysconfig.get_path('platlib', scheme, vars={'platbase': prefix})
 print(sitedir)"`
-		else
-			# distutils.sysconfig way
-			PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
-				print (sysconfig.get_python_lib(1,0));"`
-		fi
 	   fi
 	   AC_MSG_RESULT([$PYTHON_PLATFORM_SITE_PKG])
 	   AC_SUBST([PYTHON_PLATFORM_SITE_PKG])
@@ -400,7 +370,7 @@ print(sitedir)"`
 	   #
 	   AC_MSG_CHECKING(python extra libraries)
 	   if test -z "$PYTHON_EXTRA_LIBS"; then
-	      PYTHON_EXTRA_LIBS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+	      PYTHON_EXTRA_LIBS=`$PYTHON -c "import sysconfig; \
                 conf = sysconfig.get_config_var; \
                 print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
 	   fi
@@ -412,7 +382,7 @@ print(sitedir)"`
 	   #
 	   AC_MSG_CHECKING(python extra linking flags)
 	   if test -z "$PYTHON_EXTRA_LDFLAGS"; then
-		PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+		PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import sysconfig; \
 			conf = sysconfig.get_config_var; \
 			print (conf('LINKFORSHARED'))"`
 		# Hack for macos, it sticks this in here.
diff --git a/m4/python.m4 b/m4/python.m4
index cc63831..4f6fd50 100644
--- a/m4/python.m4
+++ b/m4/python.m4
@@ -218,33 +218,13 @@ AC_DEFUN([AM_PATH_PYTHON],
   # Substituting python_exec_prefix_subst.
   AC_SUBST([PYTHON_EXEC_PREFIX], [$am_python_exec_prefix_subst])
 
-  # Factor out some code duplication into this shell variable.
-  am_python_setup_sysconfig="\
-import sys
-# Prefer sysconfig over distutils.sysconfig, for better compatibility
-# with python 3.x.  See automake bug#10227.
-try:
-    import sysconfig
-except ImportError:
-    can_use_sysconfig = 0
-else:
-    can_use_sysconfig = 1
-# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
-# <https://github.com/pypa/virtualenv/issues/118>
-try:
-    from platform import python_implementation
-    if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7':
-        can_use_sysconfig = 0
-except ImportError:
-    pass" # end of am_python_setup_sysconfig
-
   dnl emacs-page Set up 4 directories:
 
   dnl 1. pythondir: where to install python scripts.  This is the
   dnl    site-packages directory, not the python standard library
   dnl    directory as in early automake betas.  This behavior
   dnl    is more consistent with lispdir.m4 for example.
-  dnl Query sysconfig or distutils (per above) for this directory.
+  dnl Query sysconfig for this directory.
   dnl
   AC_CACHE_CHECK([for $am_display_PYTHON script directory (pythondir)],
   [am_cv_python_pythondir],
@@ -254,12 +234,9 @@ except ImportError:
      am_py_prefix=$am_cv_python_prefix
    fi
    am_cv_python_pythondir=`$PYTHON -c "
-$am_python_setup_sysconfig
-if can_use_sysconfig:
-  sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
-else:
-  from distutils import sysconfig
-  sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
+import sys
+import sysconfig
+sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
 sys.stdout.write(sitedir)"`
    #
    case $am_cv_python_pythondir in
@@ -286,7 +263,7 @@ sys.stdout.write(sitedir)"`
 
   dnl 3. pyexecdir: directory for installing python extension modules
   dnl    (shared libraries).
-  dnl Query sysconfig or distutils for this directory.
+  dnl Query sysconfig for this directory.
   dnl Much of this is the same as for prefix setup above.
   dnl
   AC_CACHE_CHECK([for $am_display_PYTHON extension module directory (pyexecdir)],
@@ -297,12 +274,9 @@ sys.stdout.write(sitedir)"`
      am_py_exec_prefix=$am_cv_python_exec_prefix
    fi
    am_cv_python_pyexecdir=`$PYTHON -c "
-$am_python_setup_sysconfig
-if can_use_sysconfig:
-  sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'})
-else:
-  from distutils import sysconfig
-  sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix')
+import sys
+import sysconfig
+sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'})
 sys.stdout.write(sitedir)"`
    #
    case $am_cv_python_pyexecdir in
_______________________________________________
Gnupg-devel mailing list
Gnupg-devel@gnupg.org
https://lists.gnupg.org/mailman/listinfo/gnupg-devel

Reply via email to