Author: jun66j5
Date: Sun May 28 08:41:19 2023
New Revision: 1910098
URL: http://svn.apache.org/viewvc?rev=1910098&view=rev
Log:
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.
Modified:
subversion/trunk/build/generator/gen_win_dependencies.py
subversion/trunk/build/get-py-info.py
Modified: subversion/trunk/build/generator/gen_win_dependencies.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_win_dependencies.py?rev=1910098&r1=1910097&r2=1910098&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_win_dependencies.py (original)
+++ subversion/trunk/build/generator/gen_win_dependencies.py Sun May 28
08:41:19 2023
@@ -1045,12 +1045,13 @@ class GenDependenciesBase(gen_base.Gener
"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):
Modified: subversion/trunk/build/get-py-info.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/build/get-py-info.py?rev=1910098&r1=1910097&r2=1910098&view=diff
==============================================================================
--- subversion/trunk/build/get-py-info.py (original)
+++ subversion/trunk/build/get-py-info.py Sun May 28 08:41:19 2023
@@ -44,15 +44,24 @@ if len(sys.argv) != 2:
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 @@ if sys.argv[1] == '--libs':
sys.exit(0)
if sys.argv[1] == '--site':
- print(sysconfig.get_python_lib())
+ print(get_purelib())
sys.exit(0)
usage()