tools: Don't use distutils in configure or Makefile

Python distutils is deprecated and is going to be removed in Python
3.12.  distutils.sysconfig is available as the sysconfig module in
stdlib since Python 2.7 and Python 3.2, so use that directly.

Update the README to reflect that we now depend on Python 2.7.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Javi Merino <javi.merino@cloud.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
[Regen ./configure]
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
Marek Marczykowski-Górecki authored and Andrew Cooper committed 2023-09-20 20:53:58 +01:00
1 parent 9314a61936
commit 2a353c048c
6 files changed
+43 -38

No files matched your search

+2 -2
View File
@@ -50,7 +50,7 @@ provided by your OS distributor:
- GNU Binutils 2.24 or later - GNU Binutils 2.24 or later
* POSIX compatible awk * POSIX compatible awk
* Development install of zlib (e.g., zlib-dev) * Development install of zlib (e.g., zlib-dev)
* Development install of Python 2.6 or later (e.g., python-dev) * Development install of Python 2.7 or later (e.g., python-dev)
* Development install of curses (e.g., libncurses-dev) * Development install of curses (e.g., libncurses-dev)
* Development install of openssl (e.g., openssl-dev) * Development install of openssl (e.g., openssl-dev)
* Development install of x11 (e.g. xorg-x11-dev) * Development install of x11 (e.g. xorg-x11-dev)
@@ -180,7 +180,7 @@ Python Runtime Libraries
Various tools, such as pygrub, have the following runtime dependencies: Various tools, such as pygrub, have the following runtime dependencies:
* Python 2.6 or later. * Python 2.7 or later.
URL: https://www.python.org/ URL: https://www.python.org/
Debian: python Debian: python
+5
View File
@@ -1986,6 +1986,11 @@ _ACEOF
XEN_RUN_STORED=$rundir_path/xenstored XEN_RUN_STORED=$rundir_path/xenstored
cat >>confdefs.h <<_ACEOF
#define XEN_RUN_STORED "$XEN_RUN_STORED"
_ACEOF
XEN_LIB_DIR=$localstatedir/lib/xen XEN_LIB_DIR=$localstatedir/lib/xen
+14 -14
View File
@@ -5,21 +5,21 @@ ac_previous_libs=$LIBS
AC_PATH_PROG([pyconfig], [$PYTHON-config], [no]) AC_PATH_PROG([pyconfig], [$PYTHON-config], [no])
AS_IF([test x"$pyconfig" = x"no"], [ AS_IF([test x"$pyconfig" = x"no"], [
dnl For those that don't have python-config dnl For those that don't have python-config
CPPFLAGS="$CFLAGS `$PYTHON -c 'import distutils.sysconfig; \ CPPFLAGS="$CFLAGS `$PYTHON -c 'import sysconfig; \
print("-I" + distutils.sysconfig.get_config_var("INCLUDEPY"))'`" print("-I" + sysconfig.get_config_var("INCLUDEPY"))'`"
CPPFLAGS="$CPPFLAGS `$PYTHON -c 'import distutils.sysconfig; \ CPPFLAGS="$CPPFLAGS `$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_config_var("CFLAGS"))'`" print(sysconfig.get_config_var("CFLAGS"))'`"
LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \ LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
print("-L" + distutils.sysconfig.get_python_lib(plat_specific=1,\ print("-L" + sysconfig.get_python_lib(plat_specific=1,\
standard_lib=1) + "/config")'`" standard_lib=1) + "/config")'`"
LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \ LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_config_var("LINKFORSHARED"))'`" print(sysconfig.get_config_var("LINKFORSHARED"))'`"
LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \ LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_config_var("LDFLAGS"))'`" print(sysconfig.get_config_var("LDFLAGS"))'`"
LIBS="$LIBS `$PYTHON -c 'import distutils.sysconfig; \ LIBS="$LIBS `$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_config_var("LIBS"))'`" print(sysconfig.get_config_var("LIBS"))'`"
LIBS="$LIBS `$PYTHON -c 'import distutils.sysconfig; \ LIBS="$LIBS `$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_config_var("SYSLIBS"))'`" print(sysconfig.get_config_var("SYSLIBS"))'`"
], [ ], [
dnl If python-config is found use it dnl If python-config is found use it
CPPFLAGS="$CFLAGS `$PYTHON-config --cflags`" CPPFLAGS="$CFLAGS `$PYTHON-config --cflags`"
+6 -6
View File
@@ -39,15 +39,15 @@
/* Define to 1 if you have the <memory.h> header file. */ /* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H #undef HAVE_MEMORY_H
/* pygrub enabled */
#undef HAVE_PYGRUB
/* Qemu traditional enabled */ /* Qemu traditional enabled */
#undef HAVE_QEMU_TRADITIONAL #undef HAVE_QEMU_TRADITIONAL
/* ROMBIOS enabled */ /* ROMBIOS enabled */
#undef HAVE_ROMBIOS #undef HAVE_ROMBIOS
/* pygrub enabled */
#undef HAVE_PYGRUB
/* Define to 1 if you have the <stdint.h> header file. */ /* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H #undef HAVE_STDINT_H
@@ -153,12 +153,12 @@
/* Xen's runstate path */ /* Xen's runstate path */
#undef XEN_RUN_DIR #undef XEN_RUN_DIR
/* Xen's script dir */
#undef XEN_SCRIPT_DIR
/* Xenstore's runstate path */ /* Xenstore's runstate path */
#undef XEN_RUN_STORED #undef XEN_RUN_STORED
/* Xen's script dir */
#undef XEN_SCRIPT_DIR
/* Enable large inode numbers on Mac OS X 10.5. */ /* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE #ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1 # define _DARWIN_USE_64_BIT_INODE 1
+14 -14
View File
@@ -7852,21 +7852,21 @@ fi
if test x"$pyconfig" = x"no"; then : if test x"$pyconfig" = x"no"; then :
CPPFLAGS="$CFLAGS `$PYTHON -c 'import distutils.sysconfig; \ CPPFLAGS="$CFLAGS `$PYTHON -c 'import sysconfig; \
print("-I" + distutils.sysconfig.get_config_var("INCLUDEPY"))'`" print("-I" + sysconfig.get_config_var("INCLUDEPY"))'`"
CPPFLAGS="$CPPFLAGS `$PYTHON -c 'import distutils.sysconfig; \ CPPFLAGS="$CPPFLAGS `$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_config_var("CFLAGS"))'`" print(sysconfig.get_config_var("CFLAGS"))'`"
LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \ LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
print("-L" + distutils.sysconfig.get_python_lib(plat_specific=1,\ print("-L" + sysconfig.get_python_lib(plat_specific=1,\
standard_lib=1) + "/config")'`" standard_lib=1) + "/config")'`"
LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \ LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_config_var("LINKFORSHARED"))'`" print(sysconfig.get_config_var("LINKFORSHARED"))'`"
LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \ LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_config_var("LDFLAGS"))'`" print(sysconfig.get_config_var("LDFLAGS"))'`"
LIBS="$LIBS `$PYTHON -c 'import distutils.sysconfig; \ LIBS="$LIBS `$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_config_var("LIBS"))'`" print(sysconfig.get_config_var("LIBS"))'`"
LIBS="$LIBS `$PYTHON -c 'import distutils.sysconfig; \ LIBS="$LIBS `$PYTHON -c 'import sysconfig; \
print(distutils.sysconfig.get_config_var("SYSLIBS"))'`" print(sysconfig.get_config_var("SYSLIBS"))'`"
else else
+2 -2
View File
@@ -73,8 +73,8 @@ $(PYLIB): $(PYSRC)
python-bindings: $(PYLIB) $(PYMOD) python-bindings: $(PYLIB) $(PYMOD)
pythonlibdir = $(shell $(PYTHON) -c \ pythonlibdir = $(shell $(PYTHON) -c \
'import distutils.sysconfig as cfg; \ 'import sysconfig; \
print(cfg.get_python_lib(False, False, prefix="$(prefix)"))') print(sysconfig.get_python_lib("platlib", vars={"platbase": "$(prefix)"}))')
.PHONY: install-python-bindings .PHONY: install-python-bindings
install-python-bindings: $(PYLIB) $(PYMOD) install-python-bindings: $(PYLIB) $(PYMOD)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.