summaryrefslogtreecommitdiff
path: root/extra/swig/swig-deprecated-pycobject.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/swig/swig-deprecated-pycobject.patch')
-rw-r--r--extra/swig/swig-deprecated-pycobject.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/extra/swig/swig-deprecated-pycobject.patch b/extra/swig/swig-deprecated-pycobject.patch
deleted file mode 100644
index 5665252bb..000000000
--- a/extra/swig/swig-deprecated-pycobject.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -up swig-2.0.0/Lib/python/pyrun.swg.rh623854 swig-2.0.0/Lib/python/pyrun.swg
---- swig-2.0.0/Lib/python/pyrun.swg.rh623854 2010-02-28 00:26:02.000000000 +0100
-+++ swig-2.0.0/Lib/python/pyrun.swg 2010-08-17 16:32:16.581604656 +0200
-@@ -45,8 +45,18 @@
- #define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg
- #define SWIG_ErrorType(code) SWIG_Python_ErrorType(code)
- #define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg)
--#define SWIG_fail goto fail
-+#define SWIG_fail goto fail
-
-+/*
-+ * Python 2.7 and newer and Python 3.1 and newer should use Capsules API instead of
-+ * CObjects API.
-+ */
-+#if ((PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 6) || \
-+ (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION > 0))
-+#define USE_CAPSULES
-+#define TYPE_POINTER_NAME \
-+ ((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION ".type_pointer_capsule" SWIG_TYPE_TABLE_NAME)
-+#endif
-
- /* Runtime API implementation */
-
-@@ -1356,8 +1366,12 @@ SWIG_Python_GetModule(void) {
- #ifdef SWIG_LINK_RUNTIME
- type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
- #else
-+#ifdef USE_CAPSULES
-+ type_pointer = PyCapsule_Import(TYPE_POINTER_NAME, 0);
-+#else
- type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
- (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
-+#endif
- if (PyErr_Occurred()) {
- PyErr_Clear();
- type_pointer = (void *)0;
-@@ -1402,9 +1416,14 @@ PyModule_AddObject(PyObject *m, char *na
- SWIGRUNTIME void
- SWIG_Python_DestroyModule(void *vptr)
- {
-+ size_t i;
-+#ifdef USE_CAPSULES
-+ swig_module_info *swig_module =
-+ (swig_module_info *) PyCapsule_GetPointer((PyObject *)vptr, TYPE_POINTER_NAME);
-+#else
- swig_module_info *swig_module = (swig_module_info *) vptr;
-+#endif
- swig_type_info **types = swig_module->types;
-- size_t i;
- for (i =0; i < swig_module->size; ++i) {
- swig_type_info *ty = types[i];
- if (ty->owndata) {
-@@ -1426,9 +1445,18 @@ SWIG_Python_SetModule(swig_module_info *
- PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
- swig_empty_runtime_method_table);
- #endif
-+#ifdef USE_CAPSULES
-+ PyObject *pointer = PyCapsule_New((void *)swig_module, TYPE_POINTER_NAME,
-+ (PyCapsule_Destructor)SWIG_Python_DestroyModule);
-+#else
- PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule);
-+#endif
- if (pointer && module) {
-+#ifdef USE_CAPSULES
-+ PyModule_AddObject(module, (char*)"type_pointer_capsule" SWIG_TYPE_TABLE_NAME, pointer);
-+#else
- PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
-+#endif
- } else {
- Py_XDECREF(pointer);
- }
-@@ -1449,12 +1477,20 @@ SWIG_Python_TypeQuery(const char *type)
- PyObject *obj = PyDict_GetItem(cache, key);
- swig_type_info *descriptor;
- if (obj) {
-+#ifdef USE_CAPSULES
-+ descriptor = (swig_type_info *) PyCapsule_GetPointer(obj, type);
-+#else
- descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj);
-+#endif
- } else {
- swig_module_info *swig_module = SWIG_Python_GetModule();
- descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
- if (descriptor) {
-+#ifdef USE_CAPSULES
-+ obj = PyCapsule_New(descriptor, type, NULL);
-+#else
- obj = PyCObject_FromVoidPtr(descriptor, NULL);
-+#endif
- PyDict_SetItem(cache, key, obj);
- Py_DECREF(obj);
- }