Browse Source

makepanda: Fix Windows wheel naming for 3.13t, it has no sys.abiflags

[skip ci]
rdb 1 year ago
parent
commit
e0a8f7d1b8
2 changed files with 13 additions and 3 deletions
  1. 4 2
      makepanda/makepandacore.py
  2. 9 1
      makepanda/makewheel.py

+ 4 - 2
makepanda/makepandacore.py

@@ -3365,10 +3365,12 @@ def GetExtensionSuffix():
         else:
         else:
             dllext = ''
             dllext = ''
 
 
+        gil_disabled = locations.get_config_var("Py_GIL_DISABLED")
+        suffix = 't' if gil_disabled and int(gil_disabled) else ''
         if GetTargetArch() == 'x64':
         if GetTargetArch() == 'x64':
-            return dllext + '.cp%d%d-win_amd64.pyd' % (sys.version_info[:2])
+            return dllext + '.cp%d%d%s-win_amd64.pyd' % (sys.version_info[0], sys.version_info[1], suffix)
         else:
         else:
-            return dllext + '.cp%d%d-win32.pyd' % (sys.version_info[:2])
+            return dllext + '.cp%d%d%s-win32.pyd' % (sys.version_info[0], sys.version_info[1], suffix)
     elif target == 'emscripten':
     elif target == 'emscripten':
         return '.so'
         return '.so'
     elif CrossCompiling():
     elif CrossCompiling():

+ 9 - 1
makepanda/makewheel.py

@@ -19,7 +19,15 @@ from sysconfig import get_platform
 
 
 
 
 def get_abi_tag():
 def get_abi_tag():
-    return ('cp%d%d' % sys.version_info[:2]) + getattr(sys, 'abiflags', '')
+    ver = 'cp%d%d' % sys.version_info[:2]
+    if hasattr(sys, 'abiflags'):
+        return ver + sys.abiflags
+
+    gil_disabled = locations.get_config_var("Py_GIL_DISABLED")
+    if gil_disabled and int(gil_disabled):
+        return ver + 't'
+
+    return ver
 
 
 
 
 def is_exe_file(path):
 def is_exe_file(path):