|  | 
|  | 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(_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 | +#ifndef MS_WINDOWS | 
|  | 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 | +/* A convenient way for code to know if sanitizers are enabled. */ | 
|  | 54 | +#if defined(__has_feature) | 
|  | 55 | +#  if __has_feature(memory_sanitizer) | 
|  | 56 | +#    if !defined(_Py_MEMORY_SANITIZER) | 
|  | 57 | +#      define _Py_MEMORY_SANITIZER | 
|  | 58 | +#    endif | 
|  | 59 | +#  endif | 
|  | 60 | +#  if __has_feature(address_sanitizer) | 
|  | 61 | +#    if !defined(_Py_ADDRESS_SANITIZER) | 
|  | 62 | +#      define _Py_ADDRESS_SANITIZER | 
|  | 63 | +#    endif | 
|  | 64 | +#  endif | 
|  | 65 | +#elif defined(__GNUC__) | 
|  | 66 | +#  if defined(__SANITIZE_ADDRESS__) | 
|  | 67 | +#    define _Py_ADDRESS_SANITIZER | 
|  | 68 | +#  endif | 
|  | 69 | +#endif | 
|  | 70 | + | 
|  | 71 | +#include "pymath.h" | 
|  | 72 | +#include "pymem.h" | 
|  | 73 | + | 
|  | 74 | +#include "object.h" | 
|  | 75 | +#include "objimpl.h" | 
|  | 76 | +#include "typeslots.h" | 
|  | 77 | +#include "pyhash.h" | 
|  | 78 | + | 
|  | 79 | +#include "cpython/pydebug.h" | 
|  | 80 | + | 
|  | 81 | +#include "bytearrayobject.h" | 
|  | 82 | +#include "bytesobject.h" | 
|  | 83 | +#include "unicodeobject.h" | 
|  | 84 | +#include "longobject.h" | 
|  | 85 | +#include "longintrepr.h" | 
|  | 86 | +#include "boolobject.h" | 
|  | 87 | +#include "floatobject.h" | 
|  | 88 | +#include "complexobject.h" | 
|  | 89 | +#include "rangeobject.h" | 
|  | 90 | +#include "memoryobject.h" | 
|  | 91 | +#include "tupleobject.h" | 
|  | 92 | +#include "listobject.h" | 
|  | 93 | +#include "dictobject.h" | 
|  | 94 | +#include "cpython/odictobject.h" | 
|  | 95 | +#include "enumobject.h" | 
|  | 96 | +#include "setobject.h" | 
|  | 97 | +#include "methodobject.h" | 
|  | 98 | +#include "moduleobject.h" | 
|  | 99 | +#include "funcobject.h" | 
|  | 100 | +#include "classobject.h" | 
|  | 101 | +#include "fileobject.h" | 
|  | 102 | +#include "pycapsule.h" | 
|  | 103 | +#include "code.h" | 
|  | 104 | +#include "pyframe.h" | 
|  | 105 | +#include "traceback.h" | 
|  | 106 | +#include "sliceobject.h" | 
|  | 107 | +#include "cellobject.h" | 
|  | 108 | +#include "iterobject.h" | 
|  | 109 | +#include "cpython/initconfig.h" | 
|  | 110 | +#include "genobject.h" | 
|  | 111 | +#include "descrobject.h" | 
|  | 112 | +#include "genericaliasobject.h" | 
|  | 113 | +#include "warnings.h" | 
|  | 114 | +#include "weakrefobject.h" | 
|  | 115 | +#include "structseq.h" | 
|  | 116 | +#include "namespaceobject.h" | 
|  | 117 | +#include "cpython/picklebufobject.h" | 
|  | 118 | +#include "cpython/pytime.h" | 
|  | 119 | + | 
|  | 120 | +#include "codecs.h" | 
|  | 121 | +#include "pyerrors.h" | 
|  | 122 | +#include "pythread.h" | 
|  | 123 | +#include "pystate.h" | 
|  | 124 | +#include "context.h" | 
|  | 125 | + | 
|  | 126 | +#include "modsupport.h" | 
|  | 127 | +#include "compile.h" | 
|  | 128 | +#include "pythonrun.h" | 
|  | 129 | +#include "pylifecycle.h" | 
|  | 130 | +#include "ceval.h" | 
|  | 131 | +#include "sysmodule.h" | 
|  | 132 | +#include "osmodule.h" | 
|  | 133 | +#include "intrcheck.h" | 
|  | 134 | +#include "import.h" | 
|  | 135 | + | 
|  | 136 | +#include "abstract.h" | 
|  | 137 | +#include "bltinmodule.h" | 
|  | 138 | + | 
|  | 139 | +#include "eval.h" | 
|  | 140 | + | 
|  | 141 | +#include "cpython/pyctype.h" | 
|  | 142 | +#include "pystrtod.h" | 
|  | 143 | +#include "pystrcmp.h" | 
|  | 144 | +#include "fileutils.h" | 
|  | 145 | +#include "cpython/pyfpe.h" | 
|  | 146 | +#include "tracemalloc.h" | 
|  | 147 | + | 
|  | 148 | +#endif /* !Py_PYTHON_H */ | 
0 commit comments