170 lines
6.3 KiB
Diff
170 lines
6.3 KiB
Diff
|
# https://www.virtualbox.org/changeset/90537/vbox
|
||
|
|
||
|
Index: trunk/configure
|
||
|
===================================================================
|
||
|
--- trunk/configure (revision 90536)
|
||
|
+++ trunk/configure (revision 90537)
|
||
|
@@ -3,7 +3,7 @@
|
||
|
# libraries VBox OSE depends on.
|
||
|
|
||
|
#
|
||
|
-# Copyright (C) 2006-2020 Oracle Corporation
|
||
|
+# Copyright (C) 2006-2021 Oracle Corporation
|
||
|
#
|
||
|
# This file is part of VirtualBox Open Source Edition (OSE), as
|
||
|
# available from http://www.virtualbox.org. This file is free software;
|
||
|
@@ -2043,7 +2043,7 @@
|
||
|
}
|
||
|
EOF
|
||
|
found=
|
||
|
- SUPPYTHONLIBS="python2.7 python2.6 python3.1 python3.2 python3.3 python3.4 python3.4m python3.5 python3.5m python3.6 python3.6m python3.7 python3.7m python3.8 python3.8m python3.9 python3.9m"
|
||
|
+ SUPPYTHONLIBS="python2.7 python2.6 python3.1 python3.2 python3.3 python3.4 python3.4m python3.5 python3.5m python3.6 python3.6m python3.7 python3.7m python3.8 python3.8m python3.9 python3.9m python3.10 python3.10m"
|
||
|
for p in $PYTHONDIR; do
|
||
|
for d in $SUPPYTHONLIBS; do
|
||
|
for b in lib/x86_64-linux-gnu lib/i386-linux-gnu lib64 lib/64 lib; do
|
||
|
Index: trunk/src/libs/xpcom18a4/python/src/module/_xpcom.cpp
|
||
|
===================================================================
|
||
|
--- trunk/src/libs/xpcom18a4/python/src/module/_xpcom.cpp (revision 90536)
|
||
|
+++ trunk/src/libs/xpcom18a4/python/src/module/_xpcom.cpp (revision 90537)
|
||
|
@@ -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 >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
|
||
|
+# if PY_VERSION_HEX >= 0x030a0000 && PY_VERSION_HEX < 0x030b0000
|
||
|
+# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_10")
|
||
|
+# define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_10)
|
||
|
+
|
||
|
+# elif PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
|
||
|
# define MODULE_NAME MANGLE_MODULE_NAME("VBoxPython3_9")
|
||
|
# define initVBoxPython MANGLE_MODULE_INIT(PyInit_VBoxPython3_9)
|
||
|
|
||
|
Index: trunk/src/libs/xpcom18a4/python/Makefile.kmk
|
||
|
===================================================================
|
||
|
--- trunk/src/libs/xpcom18a4/python/Makefile.kmk (revision 90536)
|
||
|
+++ trunk/src/libs/xpcom18a4/python/Makefile.kmk (revision 90537)
|
||
|
@@ -4,7 +4,7 @@
|
||
|
#
|
||
|
|
||
|
#
|
||
|
-# Copyright (C) 2009-2017 Oracle Corporation
|
||
|
+# Copyright (C) 2009-2021 Oracle Corporation
|
||
|
#
|
||
|
# This file is part of VirtualBox Open Source Edition (OSE), as
|
||
|
# available from http://www.virtualbox.org. This file is free software;
|
||
|
@@ -20,7 +20,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|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|DEF]_[INC|LIB] variables
|
||
|
# which get picked up below.
|
||
|
#
|
||
|
ifeq ($(KBUILD_TARGET),darwin) # Relatively predictable, don't script.
|
||
|
@@ -646,6 +646,52 @@
|
||
|
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
|
||
|
@@ -730,4 +776,3 @@
|
||
|
|
||
|
|
||
|
include $(FILE_KBUILD_SUB_FOOTER)
|
||
|
-
|
||
|
Index: trunk/src/libs/xpcom18a4/python/gen_python_deps.py
|
||
|
===================================================================
|
||
|
--- trunk/src/libs/xpcom18a4/python/gen_python_deps.py (revision 90536)
|
||
|
+++ trunk/src/libs/xpcom18a4/python/gen_python_deps.py (revision 90537)
|
||
|
@@ -1,7 +1,7 @@
|
||
|
#!/usr/bin/python
|
||
|
|
||
|
"""
|
||
|
-Copyright (C) 2009-2016 Oracle Corporation
|
||
|
+Copyright (C) 2009-2021 Oracle Corporation
|
||
|
|
||
|
This file is part of VirtualBox Open Source Edition (OSE), as
|
||
|
available from http://www.virtualbox.org. This file is free software;
|
||
|
@@ -16,7 +16,7 @@
|
||
|
import os,sys
|
||
|
from distutils.version import StrictVersion
|
||
|
|
||
|
-versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.8m", "3.9", "3.9m" ]
|
||
|
+versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.8m", "3.9", "3.9m", "3.10", "3.10m" ]
|
||
|
prefixes = ["/usr", "/usr/local", "/opt", "/opt/local"]
|
||
|
known = {}
|
||
|
|
||
|
# https://www.virtualbox.org/changeset/86623/vbox
|
||
|
|
||
|
Index: trunk/src/libs/xpcom18a4/python/src/PyXPCOM.h
|
||
|
===================================================================
|
||
|
--- trunk/src/libs/xpcom18a4/python/src/PyXPCOM.h (revision 86622)
|
||
|
+++ trunk/src/libs/xpcom18a4/python/src/PyXPCOM.h (revision 86623)
|
||
|
@@ -137,12 +137,14 @@
|
||
|
# define PyInt_Check(o) PyLong_Check(o)
|
||
|
# define PyInt_AsLong(o) PyLong_AsLong(o)
|
||
|
# define PyNumber_Int(o) PyNumber_Long(o)
|
||
|
-# ifndef PyUnicode_AsUTF8
|
||
|
-# define PyUnicode_AsUTF8(o) _PyUnicode_AsString(o)
|
||
|
+# 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
|
||
|
+# ifndef PyUnicode_AsUTF8AndSize
|
||
|
+# define PyUnicode_AsUTF8AndSize(o,s) _PyUnicode_AsStringAndSize(o,s)
|
||
|
+# endif
|
||
|
# endif
|
||
|
-# ifndef PyUnicode_AsUTF8AndSize
|
||
|
-# define PyUnicode_AsUTF8AndSize(o,s) _PyUnicode_AsStringAndSize(o,s)
|
||
|
-# endif
|
||
|
typedef struct PyMethodChain
|
||
|
{
|
||
|
PyMethodDef *methods;
|