# https://www.virtualbox.org/changeset/90537/vbox Index: VirtualBox-6.1.38/src/libs/xpcom18a4/python/Makefile.kmk =================================================================== --- VirtualBox-6.1.38.orig/src/libs/xpcom18a4/python/Makefile.kmk +++ VirtualBox-6.1.38/src/libs/xpcom18a4/python/Makefile.kmk @@ -625,6 +625,52 @@ VBoxPython3_10m_x86_LIBS = $(VBOX_ endif endif +ifdef VBOX_PYTHON310_INC +# +# Python 3.10 version +# +DLLS += VBoxPython3_10 +VBoxPython3_10_EXTENDS = VBoxPythonBase +VBoxPython3_10_EXTENDS_BY = appending +VBoxPython3_10_TEMPLATE = XPCOM +VBoxPython3_10_INCS = $(VBOX_PYTHON310_INC) +VBoxPython3_10_LIBS = $(VBOX_PYTHON310_LIB) + + ifdef VBOX_WITH_32_ON_64_MAIN_API + ifdef VBOX_PYTHON310_LIB_X86 +DLLS += VBoxPython3_10_x86 +VBoxPython3_10_x86_EXTENDS = VBoxPythonBase_x86 +VBoxPython3_10_x86_EXTENDS_BY = appending +VBoxPython3_10_x86_TEMPLATE = XPCOM +VBoxPython3_10_x86_INCS = $(VBOX_PYTHON310_INC) +VBoxPython3_10_x86_LIBS = $(VBOX_PYTHON310_LIB_X86) + endif + endif +endif + +ifdef VBOX_PYTHON310M_INC +# +# Python 3.10 version with pymalloc +# +DLLS += VBoxPython3_10m +VBoxPython3_10m_EXTENDS = VBoxPythonBase_m +VBoxPython3_10m_EXTENDS_BY = appending +VBoxPython3_10m_TEMPLATE = XPCOM +VBoxPython3_10m_INCS = $(VBOX_PYTHON310M_INC) +VBoxPython3_10m_LIBS = $(VBOX_PYTHON310M_LIB) + + ifdef VBOX_WITH_32_ON_64_MAIN_API + ifdef VBOX_PYTHON310M_LIB_X86 +DLLS += VBoxPython3_10m_x86 +VBoxPython3_10m_x86_EXTENDS = VBoxPythonBase_x86_m +VBoxPython3_10m_x86_EXTENDS_BY = appending +VBoxPython3_10m_x86_TEMPLATE_ = XPCOM +VBoxPython3_10m_x86_INCS = $(VBOX_PYTHON310M_INC) +VBoxPython3_10m_x86_LIBS = $(VBOX_PYTHON310M_LIB_X86) + endif + endif +endif + ifdef VBOX_PYTHONDEF_INC # # Python without versioning Index: VirtualBox-6.1.38/src/libs/xpcom18a4/python/src/PyXPCOM.h =================================================================== --- VirtualBox-6.1.38.orig/src/libs/xpcom18a4/python/src/PyXPCOM.h +++ VirtualBox-6.1.38/src/libs/xpcom18a4/python/src/PyXPCOM.h @@ -137,7 +137,7 @@ inline PyObject *PyBool_FromLong(long ok # define PyInt_Check(o) PyLong_Check(o) # define PyInt_AsLong(o) PyLong_AsLong(o) # define PyNumber_Int(o) PyNumber_Long(o) -# if PY_VERSION_HEX <= 0x03030000 /* 3.3 added PyUnicode_AsUTF8AndSize */ +# if !defined(Py_LIMITED_API) && PY_VERSION_HEX <= 0x03030000 /* 3.3 added PyUnicode_AsUTF8AndSize */ # ifndef PyUnicode_AsUTF8 # define PyUnicode_AsUTF8(o) _PyUnicode_AsString(o) # endif