blob: f2bdfdb4b6e5fd15d144f9a85b10edc957ba1f8d [file] [log] [blame]
Guido van Rossum87d5e701996-05-28 22:50:17 +00001/* Module configuration */
2
3/* This file contains the table of built-in modules.
4 See init_builtin() in import.c. */
5
6#include "Python.h"
7
Martin v. Löwis6a880a82008-06-11 05:48:29 +00008extern PyObject* PyInit_array(void);
Guido van Rossum360e4b82007-05-14 22:51:27 +00009#ifndef MS_WINI64
Martin v. Löwis6a880a82008-06-11 05:48:29 +000010extern PyObject* PyInit_audioop(void);
Guido van Rossum23ef82f2000-05-08 14:15:19 +000011#endif
Martin v. Löwis6a880a82008-06-11 05:48:29 +000012extern PyObject* PyInit_binascii(void);
13extern PyObject* PyInit_cmath(void);
14extern PyObject* PyInit_errno(void);
15extern PyObject* PyInit_gc(void);
16extern PyObject* PyInit_math(void);
17extern PyObject* PyInit__md5(void);
18extern PyObject* PyInit_nt(void);
19extern PyObject* PyInit_operator(void);
20extern PyObject* PyInit_signal(void);
21extern PyObject* PyInit__sha1(void);
22extern PyObject* PyInit__sha256(void);
23extern PyObject* PyInit__sha512(void);
24extern PyObject* PyInit_time(void);
25extern PyObject* PyInit__thread(void);
Guido van Rossum29c1ea51997-08-07 00:11:34 +000026#ifdef WIN32
Martin v. Löwis6a880a82008-06-11 05:48:29 +000027extern PyObject* PyInit_msvcrt(void);
28extern PyObject* PyInit__locale(void);
Guido van Rossum29c1ea51997-08-07 00:11:34 +000029#endif
Martin v. Löwis6a880a82008-06-11 05:48:29 +000030extern PyObject* PyInit__codecs(void);
31extern PyObject* PyInit__weakref(void);
32extern PyObject* PyInit_xxsubtype(void);
33extern PyObject* PyInit_zipimport(void);
34extern PyObject* PyInit__random(void);
35extern PyObject* PyInit_itertools(void);
36extern PyObject* PyInit__collections(void);
37extern PyObject* PyInit__heapq(void);
38extern PyObject* PyInit__bisect(void);
39extern PyObject* PyInit__symtable(void);
40extern PyObject* PyInit_mmap(void);
41extern PyObject* PyInit__csv(void);
42extern PyObject* PyInit__sre(void);
43extern PyObject* PyInit_parser(void);
44extern PyObject* PyInit_winreg(void);
45extern PyObject* PyInit__struct(void);
46extern PyObject* PyInit_datetime(void);
47extern PyObject* PyInit__functools(void);
48extern PyObject* PyInit__json(void);
49extern PyObject* PyInit_zlib(void);
Guido van Rossum87d5e701996-05-28 22:50:17 +000050
Martin v. Löwis6a880a82008-06-11 05:48:29 +000051extern PyObject* PyInit__multibytecodec(void);
52extern PyObject* PyInit__codecs_cn(void);
53extern PyObject* PyInit__codecs_hk(void);
54extern PyObject* PyInit__codecs_iso2022(void);
55extern PyObject* PyInit__codecs_jp(void);
56extern PyObject* PyInit__codecs_kr(void);
57extern PyObject* PyInit__codecs_tw(void);
58extern PyObject* PyInit__subprocess(void);
59extern PyObject* PyInit__lsprof(void);
60extern PyObject* PyInit__ast(void);
61extern PyObject* PyInit__fileio(void);
62extern PyObject* PyInit__bytesio(void);
Amaury Forgeot d'Arc9d865c92008-06-12 22:27:27 +000063extern PyObject* PyInit__stringio(void);
64extern PyObject* PyInit__pickle(void);
Martin v. Löwis6a880a82008-06-11 05:48:29 +000065extern PyObject* PyInit_atexit(void);
66extern PyObject* _PyWarnings_Init(void);
Martin v. Löwisdaea3e52004-01-21 07:54:02 +000067
Martin v. Löwis69206522003-04-18 10:51:14 +000068/* tools/freeze/makeconfig.py marker for additional "extern" */
Guido van Rossum87d5e701996-05-28 22:50:17 +000069/* -- ADDMODULE MARKER 1 -- */
70
Martin v. Löwis6a880a82008-06-11 05:48:29 +000071extern PyObject* PyMarshal_Init(void);
72extern PyObject* PyInit_imp(void);
Guido van Rossum87d5e701996-05-28 22:50:17 +000073
Guido van Rossum2b713b21997-04-29 20:46:45 +000074struct _inittab _PyImport_Inittab[] = {
Guido van Rossum87d5e701996-05-28 22:50:17 +000075
Martin v. Löwis6a880a82008-06-11 05:48:29 +000076 {"array", PyInit_array},
77 {"_ast", PyInit__ast},
Guido van Rossum8f81a221999-02-05 22:34:57 +000078#ifdef MS_WINDOWS
Guido van Rossum360e4b82007-05-14 22:51:27 +000079#ifndef MS_WINI64
Martin v. Löwis6a880a82008-06-11 05:48:29 +000080 {"audioop", PyInit_audioop},
Guido van Rossum87d5e701996-05-28 22:50:17 +000081#endif
Guido van Rossum23ef82f2000-05-08 14:15:19 +000082#endif
Martin v. Löwis6a880a82008-06-11 05:48:29 +000083 {"binascii", PyInit_binascii},
84 {"cmath", PyInit_cmath},
85 {"errno", PyInit_errno},
86 {"gc", PyInit_gc},
87 {"math", PyInit_math},
88 {"nt", PyInit_nt}, /* Use the NT os functions, not posix */
89 {"operator", PyInit_operator},
90 {"signal", PyInit_signal},
91 {"_md5", PyInit__md5},
92 {"_sha1", PyInit__sha1},
93 {"_sha256", PyInit__sha256},
94 {"_sha512", PyInit__sha512},
95 {"time", PyInit_time},
Guido van Rossumbf57ed51996-08-22 00:43:42 +000096#ifdef WITH_THREAD
Martin v. Löwis6a880a82008-06-11 05:48:29 +000097 {"_thread", PyInit__thread},
Guido van Rossumbf57ed51996-08-22 00:43:42 +000098#endif
Guido van Rossum29c1ea51997-08-07 00:11:34 +000099#ifdef WIN32
Martin v. Löwis6a880a82008-06-11 05:48:29 +0000100 {"msvcrt", PyInit_msvcrt},
101 {"_locale", PyInit__locale},
Guido van Rossum29c1ea51997-08-07 00:11:34 +0000102#endif
Tim Peters4eb59782004-10-12 21:48:57 +0000103 /* XXX Should _subprocess go in a WIN32 block? not WIN64? */
Martin v. Löwis6a880a82008-06-11 05:48:29 +0000104 {"_subprocess", PyInit__subprocess},
Guido van Rossum87d5e701996-05-28 22:50:17 +0000105
Martin v. Löwis6a880a82008-06-11 05:48:29 +0000106 {"_codecs", PyInit__codecs},
107 {"_weakref", PyInit__weakref},
108 {"_random", PyInit__random},
109 {"_bisect", PyInit__bisect},
110 {"_heapq", PyInit__heapq},
111 {"_lsprof", PyInit__lsprof},
112 {"itertools", PyInit_itertools},
113 {"_collections", PyInit__collections},
114 {"_symtable", PyInit__symtable},
115 {"mmap", PyInit_mmap},
116 {"_csv", PyInit__csv},
117 {"_sre", PyInit__sre},
118 {"parser", PyInit_parser},
119 {"winreg", PyInit_winreg},
120 {"_struct", PyInit__struct},
121 {"datetime", PyInit_datetime},
122 {"_functools", PyInit__functools},
123 {"_json", PyInit__json},
Guido van Rossum76bd6892000-03-11 00:13:14 +0000124
Martin v. Löwis6a880a82008-06-11 05:48:29 +0000125 {"xxsubtype", PyInit_xxsubtype},
126 {"zipimport", PyInit_zipimport},
127 {"zlib", PyInit_zlib},
Martin v. Löwis4e6aff52006-01-03 07:10:14 +0000128
Martin v. Löwisdaea3e52004-01-21 07:54:02 +0000129 /* CJK codecs */
Martin v. Löwis6a880a82008-06-11 05:48:29 +0000130 {"_multibytecodec", PyInit__multibytecodec},
131 {"_codecs_cn", PyInit__codecs_cn},
132 {"_codecs_hk", PyInit__codecs_hk},
133 {"_codecs_iso2022", PyInit__codecs_iso2022},
134 {"_codecs_jp", PyInit__codecs_jp},
135 {"_codecs_kr", PyInit__codecs_kr},
136 {"_codecs_tw", PyInit__codecs_tw},
Martin v. Löwisdaea3e52004-01-21 07:54:02 +0000137
Martin v. Löwis69206522003-04-18 10:51:14 +0000138/* tools/freeze/makeconfig.py marker for additional "_inittab" entries */
Guido van Rossum87d5e701996-05-28 22:50:17 +0000139/* -- ADDMODULE MARKER 2 -- */
140
141 /* This module "lives in" with marshal.c */
142 {"marshal", PyMarshal_Init},
143
144 /* This lives it with import.c */
Martin v. Löwis6a880a82008-06-11 05:48:29 +0000145 {"imp", PyInit_imp},
Guido van Rossum87d5e701996-05-28 22:50:17 +0000146
147 /* These entries are here for sys.builtin_module_names */
148 {"__main__", NULL},
Georg Brandl1a3284e2007-12-02 09:40:06 +0000149 {"builtins", NULL},
Guido van Rossum87d5e701996-05-28 22:50:17 +0000150 {"sys", NULL},
Christian Heimes33fe8092008-04-13 13:53:33 +0000151 {"_warnings", _PyWarnings_Init},
152
Martin v. Löwis6a880a82008-06-11 05:48:29 +0000153 {"_fileio", PyInit__fileio},
154 {"_bytesio", PyInit__bytesio},
Alexandre Vassalotticcc63b12008-06-11 23:38:40 +0000155 {"_stringio", PyInit__stringio},
Amaury Forgeot d'Arc9d865c92008-06-12 22:27:27 +0000156 {"_pickle", PyInit__pickle},
Martin v. Löwis6a880a82008-06-11 05:48:29 +0000157 {"atexit", PyInit_atexit},
Guido van Rossum87d5e701996-05-28 22:50:17 +0000158
159 /* Sentinel */
160 {0, 0}
161};