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.8-python3_11...

87 lines
3.1 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.
@@ -665,6 +665,48 @@
endif
endif
+ ifdef VBOX_PYTHON311_INC
+ #
+ # Python 3.11 version
+ #
+ DLLS += VBoxPython3_11
+ VBoxPython3_11_EXTENDS = VBoxPythonBase
+ VBoxPython3_11_EXTENDS_BY = appending
+ 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_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_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_INCS = $(VBOX_PYTHON311M_INC)
+ VBoxPython3_11m_x86_LIBS = $(VBOX_PYTHON311M_LIB_X86)
+ endif
+ endif
+ endif
+
ifdef VBOX_PYTHONDEF_INC
#
# Python without versioning
@@ -707,18 +749,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