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.
gentoo-overlay/app-emulation/virtualbox/files/virtualbox-7.0.0-python3_11...

91 lines
3.2 KiB

Add support for python 3.11
Virtualbox 7.0.0 will only build a lib named VBoxPython3.so, regardless of the
actual python version used when compiling. Remove VBoxPython3m.so, we don't
use it.
--- a/src/libs/xpcom18a4/python/Makefile.kmk
+++ b/src/libs/xpcom18a4/python/Makefile.kmk
@@ -30,7 +30,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.
@@ -702,6 +702,52 @@
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
#
# Python without versioning
@@ -744,18 +790,13 @@
# TODO: ASSUMING that we don't need a different headers for pymalloc
# ('m' builds < 3.8) and CRT malloc.
#
-VBOX_PYTHON_LIMITED_API_VER := $(firstword $(foreach ver, 35 36 38 39 310 34 33 \
+VBOX_PYTHON_LIMITED_API_VER := $(firstword $(foreach ver, 35 36 38 39 310 311 34 33 \
,$(if-expr defined(VBOX_PYTHON$(ver)_INC),$(ver),)$(if-expr defined(VBOX_PYTHON$(ver)M_INC),$(ver)M,)))
ifneq ($(VBOX_PYTHON_LIMITED_API_VER),)
DLLS += VBoxPython3
VBoxPython3_EXTENDS = VBoxPythonBase
VBoxPython3_DEFS = $(filter-out VBOX_PYXPCOM_VERSIONED,$(VBoxPythonBase_DEFS)) Py_LIMITED_API=0x03030000
VBoxPython3_INCS = $(VBoxPythonBase_INCS) $(VBOX_PYTHON$(VBOX_PYTHON_LIMITED_API_VER)_INC)
-
-DLLS += VBoxPython3m
-VBoxPython3m_EXTENDS = VBoxPythonBase_m
-VBoxPython3m_DEFS = $(filter-out VBOX_PYXPCOM_VERSIONED,$(VBoxPythonBase_m_DEFS)) Py_LIMITED_API=0x03030000
-VBoxPython3m_INCS = $(VBoxPythonBase_m_INCS) $(VBOX_PYTHON$(VBOX_PYTHON_LIMITED_API_VER)_INC)
endif
endif # VBOX_WITH_PYTHON_LIMITED_API