1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
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
|