Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/mingw32/Python27/include/modsupport.h @ 87:2a2c65a20a8b
Add Python libs and headers
author | Chris Cannam |
---|---|
date | Wed, 25 Feb 2015 14:05:22 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
86:413a9d26189e | 87:2a2c65a20a8b |
---|---|
1 | |
2 #ifndef Py_MODSUPPORT_H | |
3 #define Py_MODSUPPORT_H | |
4 #ifdef __cplusplus | |
5 extern "C" { | |
6 #endif | |
7 | |
8 /* Module support interface */ | |
9 | |
10 #include <stdarg.h> | |
11 | |
12 /* If PY_SSIZE_T_CLEAN is defined, each functions treats #-specifier | |
13 to mean Py_ssize_t */ | |
14 #ifdef PY_SSIZE_T_CLEAN | |
15 #define PyArg_Parse _PyArg_Parse_SizeT | |
16 #define PyArg_ParseTuple _PyArg_ParseTuple_SizeT | |
17 #define PyArg_ParseTupleAndKeywords _PyArg_ParseTupleAndKeywords_SizeT | |
18 #define PyArg_VaParse _PyArg_VaParse_SizeT | |
19 #define PyArg_VaParseTupleAndKeywords _PyArg_VaParseTupleAndKeywords_SizeT | |
20 #define Py_BuildValue _Py_BuildValue_SizeT | |
21 #define Py_VaBuildValue _Py_VaBuildValue_SizeT | |
22 #else | |
23 PyAPI_FUNC(PyObject *) _Py_VaBuildValue_SizeT(const char *, va_list); | |
24 #endif | |
25 | |
26 PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...); | |
27 PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...) Py_FORMAT_PARSETUPLE(PyArg_ParseTuple, 2, 3); | |
28 PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, | |
29 const char *, char **, ...); | |
30 PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...); | |
31 PyAPI_FUNC(PyObject *) Py_BuildValue(const char *, ...); | |
32 PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...); | |
33 PyAPI_FUNC(int) _PyArg_NoKeywords(const char *funcname, PyObject *kw); | |
34 | |
35 PyAPI_FUNC(int) PyArg_VaParse(PyObject *, const char *, va_list); | |
36 PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, | |
37 const char *, char **, va_list); | |
38 PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list); | |
39 | |
40 PyAPI_FUNC(int) PyModule_AddObject(PyObject *, const char *, PyObject *); | |
41 PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, const char *, long); | |
42 PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, const char *, const char *); | |
43 #define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c) | |
44 #define PyModule_AddStringMacro(m, c) PyModule_AddStringConstant(m, #c, c) | |
45 | |
46 #define PYTHON_API_VERSION 1013 | |
47 #define PYTHON_API_STRING "1013" | |
48 /* The API version is maintained (independently from the Python version) | |
49 so we can detect mismatches between the interpreter and dynamically | |
50 loaded modules. These are diagnosed by an error message but | |
51 the module is still loaded (because the mismatch can only be tested | |
52 after loading the module). The error message is intended to | |
53 explain the core dump a few seconds later. | |
54 | |
55 The symbol PYTHON_API_STRING defines the same value as a string | |
56 literal. *** PLEASE MAKE SURE THE DEFINITIONS MATCH. *** | |
57 | |
58 Please add a line or two to the top of this log for each API | |
59 version change: | |
60 | |
61 22-Feb-2006 MvL 1013 PEP 353 - long indices for sequence lengths | |
62 | |
63 19-Aug-2002 GvR 1012 Changes to string object struct for | |
64 interning changes, saving 3 bytes. | |
65 | |
66 17-Jul-2001 GvR 1011 Descr-branch, just to be on the safe side | |
67 | |
68 25-Jan-2001 FLD 1010 Parameters added to PyCode_New() and | |
69 PyFrame_New(); Python 2.1a2 | |
70 | |
71 14-Mar-2000 GvR 1009 Unicode API added | |
72 | |
73 3-Jan-1999 GvR 1007 Decided to change back! (Don't reuse 1008!) | |
74 | |
75 3-Dec-1998 GvR 1008 Python 1.5.2b1 | |
76 | |
77 18-Jan-1997 GvR 1007 string interning and other speedups | |
78 | |
79 11-Oct-1996 GvR renamed Py_Ellipses to Py_Ellipsis :-( | |
80 | |
81 30-Jul-1996 GvR Slice and ellipses syntax added | |
82 | |
83 23-Jul-1996 GvR For 1.4 -- better safe than sorry this time :-) | |
84 | |
85 7-Nov-1995 GvR Keyword arguments (should've been done at 1.3 :-( ) | |
86 | |
87 10-Jan-1995 GvR Renamed globals to new naming scheme | |
88 | |
89 9-Jan-1995 GvR Initial version (incompatible with older API) | |
90 */ | |
91 | |
92 #ifdef MS_WINDOWS | |
93 /* Special defines for Windows versions used to live here. Things | |
94 have changed, and the "Version" is now in a global string variable. | |
95 Reason for this is that this for easier branding of a "custom DLL" | |
96 without actually needing a recompile. */ | |
97 #endif /* MS_WINDOWS */ | |
98 | |
99 #if SIZEOF_SIZE_T != SIZEOF_INT | |
100 /* On a 64-bit system, rename the Py_InitModule4 so that 2.4 | |
101 modules cannot get loaded into a 2.5 interpreter */ | |
102 #define Py_InitModule4 Py_InitModule4_64 | |
103 #endif | |
104 | |
105 #ifdef Py_TRACE_REFS | |
106 /* When we are tracing reference counts, rename Py_InitModule4 so | |
107 modules compiled with incompatible settings will generate a | |
108 link-time error. */ | |
109 #if SIZEOF_SIZE_T != SIZEOF_INT | |
110 #undef Py_InitModule4 | |
111 #define Py_InitModule4 Py_InitModule4TraceRefs_64 | |
112 #else | |
113 #define Py_InitModule4 Py_InitModule4TraceRefs | |
114 #endif | |
115 #endif | |
116 | |
117 PyAPI_FUNC(PyObject *) Py_InitModule4(const char *name, PyMethodDef *methods, | |
118 const char *doc, PyObject *self, | |
119 int apiver); | |
120 | |
121 #define Py_InitModule(name, methods) \ | |
122 Py_InitModule4(name, methods, (char *)NULL, (PyObject *)NULL, \ | |
123 PYTHON_API_VERSION) | |
124 | |
125 #define Py_InitModule3(name, methods, doc) \ | |
126 Py_InitModule4(name, methods, doc, (PyObject *)NULL, \ | |
127 PYTHON_API_VERSION) | |
128 | |
129 PyAPI_DATA(char *) _Py_PackageContext; | |
130 | |
131 #ifdef __cplusplus | |
132 } | |
133 #endif | |
134 #endif /* !Py_MODSUPPORT_H */ |