swig-py: Use `sysconfig` instead of `distutils.sysconfig` which is
deprecated since Python 3.10 and removed in Python 3.12.
* build/generator/gen_win_dependencies.py
(GenDependenciesBase._find_python): Do as above.
* build/get-py-info.py
Do as above with Python 3 and keep uses of `distutils.sysconfig`
with Python 2.
git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1910098 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/build/generator/gen_win_dependencies.py b/build/generator/gen_win_dependencies.py
index 926b98e..cd3fa3b 100644
--- a/build/generator/gen_win_dependencies.py
+++ b/build/generator/gen_win_dependencies.py
@@ -1045,12 +1045,13 @@
"Find the appropriate options for creating SWIG-based Python modules"
try:
- from distutils import sysconfig
-
- inc_dir = sysconfig.get_python_inc()
- lib_dir = os.path.join(sysconfig.PREFIX, "libs")
+ import sysconfig
except ImportError:
return
+ config_vars = sysconfig.get_config_vars()
+ inc_dir = config_vars['INCLUDEPY']
+ base_dir = config_vars.get('installed_base') or config_vars.get('base')
+ lib_dir = os.path.join(base_dir, 'libs')
if sys.version_info[0] >= 3:
if self.swig_version < (3, 0, 10):
diff --git a/build/get-py-info.py b/build/get-py-info.py
index 95bad41..e31635c 100644
--- a/build/get-py-info.py
+++ b/build/get-py-info.py
@@ -44,15 +44,24 @@
usage()
try:
- from distutils import sysconfig
+ if sys.version_info[0] == 2:
+ from distutils import sysconfig
+ get_include = lambda: sysconfig.get_python_inc()
+ get_platinclude = lambda: sysconfig.get_python_inc(plat_specific=1)
+ get_purelib = lambda: sysconfig.get_python_lib()
+ else:
+ import sysconfig
+ get_include = lambda: sysconfig.get_path('include')
+ get_platinclude = lambda: sysconfig.get_path('platinclude')
+ get_purelib = lambda: sysconfig.get_path('purelib')
except ImportError:
# No information available
print("none")
sys.exit(1)
if sys.argv[1] == '--includes':
- inc = sysconfig.get_python_inc()
- plat = sysconfig.get_python_inc(plat_specific=1)
+ inc = get_include()
+ plat = get_platinclude()
if inc == plat:
print("-I" + inc)
else:
@@ -140,7 +149,7 @@
sys.exit(0)
if sys.argv[1] == '--site':
- print(sysconfig.get_python_lib())
+ print(get_purelib())
sys.exit(0)
usage()