blob: 1b8ddf1f7069b697839aef4f3708f7b926999faa [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
Thomas Wouters78890102000-07-22 19:25:51 +00008extern void initarray(void);
Guido van Rossum23ef82f2000-05-08 14:15:19 +00009#ifndef MS_WIN64
Thomas Wouters78890102000-07-22 19:25:51 +000010extern void initaudioop(void);
Guido van Rossum23ef82f2000-05-08 14:15:19 +000011#endif
Trent Mickc85eb0b2000-10-04 20:57:29 +000012extern void initbinascii(void);
Thomas Wouters78890102000-07-22 19:25:51 +000013extern void initcmath(void);
14extern void initerrno(void);
Thomas Wouters78890102000-07-22 19:25:51 +000015extern void initgc(void);
Guido van Rossum23ef82f2000-05-08 14:15:19 +000016#ifndef MS_WIN64
Thomas Wouters78890102000-07-22 19:25:51 +000017extern void initimageop(void);
Guido van Rossum23ef82f2000-05-08 14:15:19 +000018#endif
Thomas Wouters78890102000-07-22 19:25:51 +000019extern void initmath(void);
20extern void initmd5(void);
Thomas Wouters78890102000-07-22 19:25:51 +000021extern void initnt(void);
22extern void initoperator(void);
23extern void initregex(void);
Guido van Rossum23ef82f2000-05-08 14:15:19 +000024#ifndef MS_WIN64
Thomas Wouters78890102000-07-22 19:25:51 +000025extern void initrgbimg(void);
Guido van Rossum23ef82f2000-05-08 14:15:19 +000026#endif
Thomas Wouters78890102000-07-22 19:25:51 +000027extern void initrotor(void);
28extern void initsignal(void);
29extern void initsha(void);
30extern void initstrop(void);
31extern void initstruct(void);
32extern void inittime(void);
33extern void initthread(void);
34extern void initcStringIO(void);
35extern void initcPickle(void);
36extern void initpcre(void);
Guido van Rossum29c1ea51997-08-07 00:11:34 +000037#ifdef WIN32
Thomas Wouters78890102000-07-22 19:25:51 +000038extern void initmsvcrt(void);
39extern void init_locale(void);
Guido van Rossum29c1ea51997-08-07 00:11:34 +000040#endif
Thomas Wouters78890102000-07-22 19:25:51 +000041extern void init_codecs(void);
Tim Peters58c82f02001-01-09 23:26:39 +000042extern void initxreadlines(void);
Tim Peters747d5b62001-02-02 00:07:07 +000043extern void init_weakref(void);
Tim Peters1566a172001-10-12 22:08:39 +000044extern void init_hotshot(void);
Tim Peters6d6c1a32001-08-02 04:15:00 +000045extern void initxxsubtype(void);
Just van Rossum52e14d62002-12-30 22:08:05 +000046extern void initzipimport(void);
Tim Petersd1f5ccc2002-12-29 23:46:40 +000047extern void init_random(void);
Raymond Hettinger96ef8112003-02-01 00:10:11 +000048extern void inititertools(void);
Raymond Hettinger756b3f32004-01-29 06:37:52 +000049extern void initcollections(void);
Raymond Hettingerc46cb2a2004-04-19 19:06:21 +000050extern void init_heapq(void);
Raymond Hettinger0c410272004-01-05 10:13:35 +000051extern void init_bisect(void);
Martin v. Löwis48918f72004-01-02 21:14:37 +000052extern void init_symtable(void);
53extern void initmmap(void);
54extern void init_csv(void);
55extern void init_sre(void);
56extern void initparser(void);
57extern void init_winreg(void);
58extern void initdatetime(void);
Guido van Rossum87d5e701996-05-28 22:50:17 +000059
Martin v. Löwisdaea3e52004-01-21 07:54:02 +000060extern void init_multibytecodec(void);
61extern void init_codecs_mapdata_ja_JP(void);
62extern void init_codecs_mapdata_ko_KR(void);
63extern void init_codecs_mapdata_zh_CN(void);
64extern void init_codecs_mapdata_zh_TW(void);
65extern void init_codecs_shift_jis(void);
66extern void init_codecs_cp932(void);
67extern void init_codecs_euc_jp(void);
68extern void init_codecs_iso2022_jp(void);
69extern void init_codecs_iso2022_jp_1(void);
70extern void init_codecs_iso2022_jp_2(void);
71extern void init_codecs_iso2022_jp_3(void);
72extern void init_codecs_iso2022_jp_ext(void);
73extern void init_codecs_shift_jisx0213(void);
74extern void init_codecs_euc_jisx0213(void);
75extern void init_codecs_euc_kr(void);
76extern void init_codecs_cp949(void);
77extern void init_codecs_johab(void);
78extern void init_codecs_iso2022_kr(void);
79extern void init_codecs_gb2312(void);
80extern void init_codecs_gbk(void);
81extern void init_codecs_gb18030(void);
82extern void init_codecs_hz(void);
83extern void init_codecs_big5(void);
84extern void init_codecs_cp950(void);
85
Martin v. Löwis69206522003-04-18 10:51:14 +000086/* tools/freeze/makeconfig.py marker for additional "extern" */
Guido van Rossum87d5e701996-05-28 22:50:17 +000087/* -- ADDMODULE MARKER 1 -- */
88
Thomas Wouters78890102000-07-22 19:25:51 +000089extern void PyMarshal_Init(void);
90extern void initimp(void);
Guido van Rossum87d5e701996-05-28 22:50:17 +000091
Guido van Rossum2b713b21997-04-29 20:46:45 +000092struct _inittab _PyImport_Inittab[] = {
Guido van Rossum87d5e701996-05-28 22:50:17 +000093
94 {"array", initarray},
Guido van Rossum8f81a221999-02-05 22:34:57 +000095#ifdef MS_WINDOWS
Guido van Rossum23ef82f2000-05-08 14:15:19 +000096#ifndef MS_WIN64
Guido van Rossum87d5e701996-05-28 22:50:17 +000097 {"audioop", initaudioop},
98#endif
Guido van Rossum23ef82f2000-05-08 14:15:19 +000099#endif
Guido van Rossum87d5e701996-05-28 22:50:17 +0000100 {"binascii", initbinascii},
Guido van Rossum1bc716f1996-06-28 19:12:06 +0000101 {"cmath", initcmath},
Guido van Rossum950a1261996-07-30 17:38:17 +0000102 {"errno", initerrno},
Jeremy Hyltonc5007aa2000-06-30 05:02:53 +0000103 {"gc", initgc},
Guido van Rossum23ef82f2000-05-08 14:15:19 +0000104#ifndef MS_WIN64
Guido van Rossum87d5e701996-05-28 22:50:17 +0000105 {"imageop", initimageop},
Guido van Rossum23ef82f2000-05-08 14:15:19 +0000106#endif
Guido van Rossum87d5e701996-05-28 22:50:17 +0000107 {"math", initmath},
108 {"md5", initmd5},
Guido van Rossum2e146b31997-05-06 16:00:32 +0000109 {"nt", initnt}, /* Use the NT os functions, not posix */
Guido van Rossum950a1261996-07-30 17:38:17 +0000110 {"operator", initoperator},
Guido van Rossum87d5e701996-05-28 22:50:17 +0000111 {"regex", initregex},
Guido van Rossum23ef82f2000-05-08 14:15:19 +0000112#ifndef MS_WIN64
Guido van Rossum87d5e701996-05-28 22:50:17 +0000113 {"rgbimg", initrgbimg},
Guido van Rossum23ef82f2000-05-08 14:15:19 +0000114#endif
Guido van Rossum87d5e701996-05-28 22:50:17 +0000115 {"rotor", initrotor},
116 {"signal", initsignal},
Guido van Rossumbe211a51999-04-13 15:41:10 +0000117 {"sha", initsha},
Guido van Rossum87d5e701996-05-28 22:50:17 +0000118 {"strop", initstrop},
119 {"struct", initstruct},
120 {"time", inittime},
Guido van Rossumbf57ed51996-08-22 00:43:42 +0000121#ifdef WITH_THREAD
122 {"thread", initthread},
123#endif
Guido van Rossum2e146b31997-05-06 16:00:32 +0000124 {"cStringIO", initcStringIO},
125 {"cPickle", initcPickle},
Guido van Rossum36e18e31997-11-25 06:00:59 +0000126 {"pcre", initpcre},
Guido van Rossum29c1ea51997-08-07 00:11:34 +0000127#ifdef WIN32
Guido van Rossum23ef82f2000-05-08 14:15:19 +0000128 {"msvcrt", initmsvcrt},
129 {"_locale", init_locale},
Guido van Rossum29c1ea51997-08-07 00:11:34 +0000130#endif
Guido van Rossum87d5e701996-05-28 22:50:17 +0000131
Guido van Rossum23ef82f2000-05-08 14:15:19 +0000132 {"_codecs", init_codecs},
Tim Peters58c82f02001-01-09 23:26:39 +0000133 {"xreadlines", initxreadlines},
Tim Peters747d5b62001-02-02 00:07:07 +0000134 {"_weakref", init_weakref},
Tim Peters1566a172001-10-12 22:08:39 +0000135 {"_hotshot", init_hotshot},
Tim Petersd1f5ccc2002-12-29 23:46:40 +0000136 {"_random", init_random},
Raymond Hettinger0c410272004-01-05 10:13:35 +0000137 {"_bisect", init_bisect},
Raymond Hettingerc46cb2a2004-04-19 19:06:21 +0000138 {"_heapq", init_heapq},
Raymond Hettinger96ef8112003-02-01 00:10:11 +0000139 {"itertools", inititertools},
Raymond Hettinger756b3f32004-01-29 06:37:52 +0000140 {"collections", initcollections},
Martin v. Löwis48918f72004-01-02 21:14:37 +0000141 {"_symtable", init_symtable},
142 {"mmap", initmmap},
143 {"_csv", init_csv},
144 {"_sre", init_sre},
145 {"parser", initparser},
146 {"_winreg", init_winreg},
147 {"datetime", initdatetime},
Guido van Rossum76bd6892000-03-11 00:13:14 +0000148
Tim Peters6d6c1a32001-08-02 04:15:00 +0000149 {"xxsubtype", initxxsubtype},
Just van Rossum52e14d62002-12-30 22:08:05 +0000150 {"zipimport", initzipimport},
Tim Peters6d6c1a32001-08-02 04:15:00 +0000151
Martin v. Löwisdaea3e52004-01-21 07:54:02 +0000152 /* CJK codecs */
153 {"_multibytecodec", init_multibytecodec},
154 {"_codecs_mapdata_ja_JP", init_codecs_mapdata_ja_JP},
155 {"_codecs_mapdata_ko_KR", init_codecs_mapdata_ko_KR},
156 {"_codecs_mapdata_zh_CN", init_codecs_mapdata_zh_CN},
157 {"_codecs_mapdata_zh_TW", init_codecs_mapdata_zh_TW},
158 {"_codecs_shift_jis", init_codecs_shift_jis},
159 {"_codecs_cp932", init_codecs_cp932},
160 {"_codecs_euc_jp", init_codecs_euc_jp},
161 {"_codecs_iso2022_jp", init_codecs_iso2022_jp},
162 {"_codecs_iso2022_jp_1", init_codecs_iso2022_jp_1},
163 {"_codecs_iso2022_jp_2", init_codecs_iso2022_jp_2},
164 {"_codecs_iso2022_jp_3", init_codecs_iso2022_jp_3},
165 {"_codecs_iso2022_jp_ext", init_codecs_iso2022_jp_ext},
166 {"_codecs_shift_jisx0213", init_codecs_shift_jisx0213},
167 {"_codecs_euc_jisx0213", init_codecs_euc_jisx0213},
168 {"_codecs_euc_kr", init_codecs_euc_kr},
169 {"_codecs_cp949", init_codecs_cp949},
170 {"_codecs_johab", init_codecs_johab},
171 {"_codecs_iso2022_kr", init_codecs_iso2022_kr},
172 {"_codecs_gb2312", init_codecs_gb2312},
173 {"_codecs_gbk", init_codecs_gbk},
174 {"_codecs_gb18030", init_codecs_gb18030},
175 {"_codecs_hz", init_codecs_hz},
176 {"_codecs_big5", init_codecs_big5},
177 {"_codecs_cp950", init_codecs_cp950},
178
Martin v. Löwis69206522003-04-18 10:51:14 +0000179/* tools/freeze/makeconfig.py marker for additional "_inittab" entries */
Guido van Rossum87d5e701996-05-28 22:50:17 +0000180/* -- ADDMODULE MARKER 2 -- */
181
182 /* This module "lives in" with marshal.c */
183 {"marshal", PyMarshal_Init},
184
185 /* This lives it with import.c */
186 {"imp", initimp},
187
188 /* These entries are here for sys.builtin_module_names */
189 {"__main__", NULL},
190 {"__builtin__", NULL},
191 {"sys", NULL},
Guido van Rossumf981c8f2000-07-12 12:11:36 +0000192 {"exceptions", NULL},
Guido van Rossum87d5e701996-05-28 22:50:17 +0000193
194 /* Sentinel */
195 {0, 0}
196};