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()