1 #ifndef Py_PYTHON_H 2 #define Py_PYTHON_H 3 /* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */ 4 5 /* Include nearly all Python header files */ 6 7 #include "patchlevel.h" 8 #include "pyconfig.h" 9 #include "pymacconfig.h" 10 11 #include <limits.h> 12 13 #ifndef UCHAR_MAX 14 #error "Something's broken. UCHAR_MAX should be defined in limits.h." 15 #endif 16 17 #if UCHAR_MAX != 255 18 #error "Python's source code assumes C's unsigned char is an 8-bit type." 19 #endif 20 21 #if defined(__sgi) && defined(WITH_THREAD) && !defined(_SGI_MP_SOURCE) 22 #define _SGI_MP_SOURCE 23 #endif 24 25 #include <stdio.h> 26 #ifndef NULL 27 # error "Python.h requires that stdio.h define NULL." 28 #endif 29 30 #include <string.h> 31 #ifdef HAVE_ERRNO_H 32 #include <errno.h> 33 #endif 34 #include <stdlib.h> 35 #ifdef HAVE_UNISTD_H 36 #include <unistd.h> 37 #endif 38 39 /* For size_t? */ 40 #ifdef HAVE_STDDEF_H 41 #include <stddef.h> 42 #endif 43 44 /* CAUTION: Build setups should ensure that NDEBUG is defined on the 45 * compiler command line when building Python in release mode; else 46 * assert() calls won't be removed. 47 */ 48 #include <assert.h> 49 50 #include "pyport.h" 51 #include "pymacro.h" 52 53 #include "pyatomic.h" 54 55 /* Debug-mode build with pymalloc implies PYMALLOC_DEBUG. 56 * PYMALLOC_DEBUG is in error if pymalloc is not in use. 57 */ 58 #if defined(Py_DEBUG) && defined(WITH_PYMALLOC) && !defined(PYMALLOC_DEBUG) 59 #define PYMALLOC_DEBUG 60 #endif 61 #if defined(PYMALLOC_DEBUG) && !defined(WITH_PYMALLOC) 62 #error "PYMALLOC_DEBUG requires WITH_PYMALLOC" 63 #endif 64 #include "pymath.h" 65 #include "pytime.h" 66 #include "pymem.h" 67 68 #include "object.h" 69 #include "objimpl.h" 70 #include "typeslots.h" 71 #include "pyhash.h" 72 73 #include "pydebug.h" 74 75 #include "bytearrayobject.h" 76 #include "bytesobject.h" 77 #include "unicodeobject.h" 78 #include "longobject.h" 79 #include "longintrepr.h" 80 #include "boolobject.h" 81 #include "floatobject.h" 82 #include "complexobject.h" 83 #include "rangeobject.h" 84 #include "memoryobject.h" 85 #include "tupleobject.h" 86 #include "listobject.h" 87 #include "dictobject.h" 88 #include "odictobject.h" 89 #include "enumobject.h" 90 #include "setobject.h" 91 #include "methodobject.h" 92 #include "moduleobject.h" 93 #include "funcobject.h" 94 #include "classobject.h" 95 #include "fileobject.h" 96 #include "pycapsule.h" 97 #include "traceback.h" 98 #include "sliceobject.h" 99 #include "cellobject.h" 100 #include "iterobject.h" 101 #include "genobject.h" 102 #include "descrobject.h" 103 #include "warnings.h" 104 #include "weakrefobject.h" 105 #include "structseq.h" 106 #include "namespaceobject.h" 107 108 #include "codecs.h" 109 #include "pyerrors.h" 110 111 #include "pystate.h" 112 113 #include "pyarena.h" 114 #include "modsupport.h" 115 #include "pythonrun.h" 116 #include "pylifecycle.h" 117 #include "ceval.h" 118 #include "sysmodule.h" 119 #include "osmodule.h" 120 #include "intrcheck.h" 121 #include "import.h" 122 123 #include "abstract.h" 124 #include "bltinmodule.h" 125 126 #include "compile.h" 127 #include "eval.h" 128 129 #include "pyctype.h" 130 #include "pystrtod.h" 131 #include "pystrcmp.h" 132 #include "dtoa.h" 133 #include "fileutils.h" 134 #include "pyfpe.h" 135 136 #endif /* !Py_PYTHON_H */ 137