diff -rupN --no-dereference Python-3.10.9/Lib/distutils/command/build_ext.py Python-3.10.9-new/Lib/distutils/command/build_ext.py --- Python-3.10.9/Lib/distutils/command/build_ext.py 2022-12-06 19:31:21.000000000 +0100 +++ Python-3.10.9-new/Lib/distutils/command/build_ext.py 2022-12-08 09:36:57.667024823 +0100 @@ -218,12 +218,13 @@ class build_ext(Command): # For extensions under Cygwin, Python's library directory must be # appended to library_dirs - if sys.platform[:6] == 'cygwin': + if sys.platform[:6] == 'cygwin' or self.plat_name.startswith(('mingw')): if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")): # building third party extensions + config_dir_name = os.path.basename(sysconfig.get_config_var('LIBPL')) self.library_dirs.append(os.path.join(sys.prefix, "lib", "python" + get_python_version(), - "config")) + config_dir_name)) else: # building python standard extensions self.library_dirs.append('.') diff -rupN --no-dereference Python-3.10.9/Lib/distutils/command/install.py Python-3.10.9-new/Lib/distutils/command/install.py --- Python-3.10.9/Lib/distutils/command/install.py 2022-12-06 19:31:21.000000000 +0100 +++ Python-3.10.9-new/Lib/distutils/command/install.py 2022-12-08 09:36:57.667024823 +0100 @@ -72,8 +72,8 @@ if HAS_USER_SITE: INSTALL_SCHEMES['nt_user'] = { 'purelib': '$usersite', 'platlib': '$usersite', - 'headers': '$userbase/Python$py_version_nodot/Include/$dist_name', - 'scripts': '$userbase/Python$py_version_nodot/Scripts', + 'headers': '$userbase/include/python$py_version_short$abiflags/$dist_name', + 'scripts': '$userbase/bin', 'data' : '$userbase', } diff -rupN --no-dereference Python-3.10.9/Lib/sysconfig.py Python-3.10.9-new/Lib/sysconfig.py --- Python-3.10.9/Lib/sysconfig.py 2022-12-06 19:31:21.000000000 +0100 +++ Python-3.10.9-new/Lib/sysconfig.py 2022-12-08 09:36:57.668024823 +0100 @@ -47,13 +47,13 @@ _INSTALL_SCHEMES = { 'data': '{base}', }, 'nt': { - 'stdlib': '{installed_base}/Lib', - 'platstdlib': '{base}/Lib', - 'purelib': '{base}/Lib/site-packages', - 'platlib': '{base}/Lib/site-packages', - 'include': '{installed_base}/Include', - 'platinclude': '{installed_base}/Include', - 'scripts': '{base}/Scripts', + 'stdlib': '{installed_base}/lib/python{py_version_short}', + 'platstdlib': '{base}/lib/python{py_version_short}', + 'purelib': '{base}/lib/python{py_version_short}/site-packages', + 'platlib': '{base}/lib/python{py_version_short}/site-packages', + 'include': '{installed_base}/include/python{py_version_short}', + 'platinclude': '{installed_base}/include/python{py_version_short}', + 'scripts': '{base}/bin', 'data': '{base}', }, } @@ -89,12 +89,12 @@ if _HAS_USER_BASE: _INSTALL_SCHEMES |= { # NOTE: When modifying "purelib" scheme, update site._get_path() too. 'nt_user': { - 'stdlib': '{userbase}/Python{py_version_nodot_plat}', - 'platstdlib': '{userbase}/Python{py_version_nodot_plat}', - 'purelib': '{userbase}/Python{py_version_nodot_plat}/site-packages', - 'platlib': '{userbase}/Python{py_version_nodot_plat}/site-packages', - 'include': '{userbase}/Python{py_version_nodot_plat}/Include', - 'scripts': '{userbase}/Python{py_version_nodot_plat}/Scripts', + 'stdlib': '{userbase}/lib/python{py_version_short}', + 'platstdlib': '{userbase}/lib/python{py_version_short}', + 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', + 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', + 'include': '{userbase}/include/python{py_version_short}', + 'scripts': '{userbase}/bin', 'data': '{userbase}', }, 'posix_user': { @@ -487,7 +487,7 @@ def _init_non_posix(vars): vars['INCLUDEPY'] = get_path('include') vars['EXT_SUFFIX'] = _imp.extension_suffixes()[0] vars['EXE'] = '.exe' - vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT + vars['VERSION'] = _PY_VERSION_SHORT vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable)) vars['TZPATH'] = ''