You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.7 KiB
82 lines
2.7 KiB
Add Python 3.11 support to virtualbox 6.1
|
|
|
|
--- a/src/libs/xpcom18a4/python/Makefile.kmk
|
|
+++ b/src/libs/xpcom18a4/python/Makefile.kmk
|
|
@@ -26,7 +26,7 @@
|
|
|
|
#
|
|
# List of supported Python versions, defining a number of
|
|
-# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|38|38M|39|39M|310|310M|DEF]_[INC|LIB] variables
|
|
+# VBOX_PYTHON[26|27|31|32|32M|33|33M|34|34M|35|35M|36|36M|37|37M|38|38M|39|39M|310|310M|311|311M|DEF]_[INC|LIB] variables
|
|
# which get picked up below.
|
|
#
|
|
ifeq ($(KBUILD_TARGET),darwin) # Relatively predictable, don't script.
|
|
@@ -624,6 +624,52 @@
|
|
endif
|
|
endif
|
|
endif
|
|
+
|
|
+ifdef VBOX_PYTHON311_INC
|
|
+#
|
|
+# Python 3.11 version
|
|
+#
|
|
+DLLS += VBoxPython3_11
|
|
+VBoxPython3_11_EXTENDS = VBoxPythonBase
|
|
+VBoxPython3_11_EXTENDS_BY = appending
|
|
+VBoxPython3_11_TEMPLATE = XPCOM
|
|
+VBoxPython3_11_INCS = $(VBOX_PYTHON311_INC)
|
|
+VBoxPython3_11_LIBS = $(VBOX_PYTHON311_LIB)
|
|
+
|
|
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
|
|
+ ifdef VBOX_PYTHON311_LIB_X86
|
|
+DLLS += VBoxPython3_11_x86
|
|
+VBoxPython3_11_x86_EXTENDS = VBoxPythonBase_x86
|
|
+VBoxPython3_11_x86_EXTENDS_BY = appending
|
|
+VBoxPython3_11_x86_TEMPLATE = XPCOM
|
|
+VBoxPython3_11_x86_INCS = $(VBOX_PYTHON311_INC)
|
|
+VBoxPython3_11_x86_LIBS = $(VBOX_PYTHON311_LIB_X86)
|
|
+ endif
|
|
+ endif
|
|
+endif
|
|
+
|
|
+ifdef VBOX_PYTHON311M_INC
|
|
+#
|
|
+# Python 3.11 version with pymalloc
|
|
+#
|
|
+DLLS += VBoxPython3_11m
|
|
+VBoxPython3_11m_EXTENDS = VBoxPythonBase_m
|
|
+VBoxPython3_11m_EXTENDS_BY = appending
|
|
+VBoxPython3_11m_TEMPLATE = XPCOM
|
|
+VBoxPython3_11m_INCS = $(VBOX_PYTHON311M_INC)
|
|
+VBoxPython3_11m_LIBS = $(VBOX_PYTHON311M_LIB)
|
|
+
|
|
+ ifdef VBOX_WITH_32_ON_64_MAIN_API
|
|
+ ifdef VBOX_PYTHON311M_LIB_X86
|
|
+DLLS += VBoxPython3_11m_x86
|
|
+VBoxPython3_11m_x86_EXTENDS = VBoxPythonBase_x86_m
|
|
+VBoxPython3_11m_x86_EXTENDS_BY = appending
|
|
+VBoxPython3_11m_x86_TEMPLATE_ = XPCOM
|
|
+VBoxPython3_11m_x86_INCS = $(VBOX_PYTHON311M_INC)
|
|
+VBoxPython3_11m_x86_LIBS = $(VBOX_PYTHON311M_LIB_X86)
|
|
+ endif
|
|
+ endif
|
|
+endif
|
|
|
|
ifdef VBOX_PYTHONDEF_INC
|
|
#
|
|
--- a/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
|
|
+++ b/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
|
|
@@ -84,7 +84,11 @@
|
|
# define MANGLE_MODULE_INIT(a_Name) RT_CONCAT(a_Name, MODULE_NAME_SUFFIX)
|
|
# endif
|
|
# ifdef VBOX_PYXPCOM_VERSIONED
|
|
-# if PY_VERSION_HEX >= 0x030a0000 && PY_VERSION_HEX < 0x030b0000
|
|
+# if PY_VERSION_HEX >= 0x030b0000 && PY_VERSION_HEX < 0x030c0000
|
|
+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_11")
|
|
+# define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_11)
|
|
+
|
|
+# elif PY_VERSION_HEX >= 0x030a0000 && PY_VERSION_HEX < 0x030b0000
|
|
# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_10")
|
|
# define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_10)
|
|
|