blob: c96eb26af1e94c472ac3838ed57c4813656fb45f [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);
Jeremy Hyltonc5007aa2000-06-30 05:02:53 +000015#ifdef WITH_CYCLE_GC
Thomas Wouters78890102000-07-22 19:25:51 +000016extern void initgc(void);
Jeremy Hyltonc5007aa2000-06-30 05:02:53 +000017#endif
Guido van Rossum23ef82f2000-05-08 14:15:19 +000018#ifndef MS_WIN64
Thomas Wouters78890102000-07-22 19:25:51 +000019extern void initimageop(void);
Guido van Rossum23ef82f2000-05-08 14:15:19 +000020#endif
Thomas Wouters78890102000-07-22 19:25:51 +000021extern void initmath(void);
22extern void initmd5(void);
23extern void initnew(void);
24extern void initnt(void);
25extern void initoperator(void);
26extern void initregex(void);
Guido van Rossum23ef82f2000-05-08 14:15:19 +000027#ifndef MS_WIN64
Thomas Wouters78890102000-07-22 19:25:51 +000028extern void initrgbimg(void);
Guido van Rossum23ef82f2000-05-08 14:15:19 +000029#endif
Thomas Wouters78890102000-07-22 19:25:51 +000030extern void initrotor(void);
31extern void initsignal(void);
32extern void initsha(void);
33extern void initstrop(void);
34extern void initstruct(void);
35extern void inittime(void);
36extern void initthread(void);
37extern void initcStringIO(void);
38extern void initcPickle(void);
39extern void initpcre(void);
Guido van Rossum29c1ea51997-08-07 00:11:34 +000040#ifdef WIN32
Thomas Wouters78890102000-07-22 19:25:51 +000041extern void initmsvcrt(void);
42extern void init_locale(void);
Guido van Rossum29c1ea51997-08-07 00:11:34 +000043#endif
Thomas Wouters78890102000-07-22 19:25:51 +000044extern void init_codecs(void);
Tim Peters58c82f02001-01-09 23:26:39 +000045extern void initxreadlines(void);
Guido van Rossum87d5e701996-05-28 22:50:17 +000046
Tim Peters58c82f02001-01-09 23:26:39 +000047/* XXX tim: what's the purpose of ADDMODULE MARKER? */
Guido van Rossum87d5e701996-05-28 22:50:17 +000048/* -- ADDMODULE MARKER 1 -- */
49
Thomas Wouters78890102000-07-22 19:25:51 +000050extern void PyMarshal_Init(void);
51extern void initimp(void);
Guido van Rossum87d5e701996-05-28 22:50:17 +000052
Guido van Rossum2b713b21997-04-29 20:46:45 +000053struct _inittab _PyImport_Inittab[] = {
Guido van Rossum87d5e701996-05-28 22:50:17 +000054
55 {"array", initarray},
Guido van Rossum8f81a221999-02-05 22:34:57 +000056#ifdef MS_WINDOWS
Guido van Rossum23ef82f2000-05-08 14:15:19 +000057#ifndef MS_WIN64
Guido van Rossum87d5e701996-05-28 22:50:17 +000058 {"audioop", initaudioop},
59#endif
Guido van Rossum23ef82f2000-05-08 14:15:19 +000060#endif
Guido van Rossum87d5e701996-05-28 22:50:17 +000061 {"binascii", initbinascii},
Guido van Rossum1bc716f1996-06-28 19:12:06 +000062 {"cmath", initcmath},
Guido van Rossum950a1261996-07-30 17:38:17 +000063 {"errno", initerrno},
Jeremy Hyltonc5007aa2000-06-30 05:02:53 +000064#ifdef WITH_CYCLE_GC
65 {"gc", initgc},
66#endif
Guido van Rossum23ef82f2000-05-08 14:15:19 +000067#ifndef MS_WIN64
Guido van Rossum87d5e701996-05-28 22:50:17 +000068 {"imageop", initimageop},
Guido van Rossum23ef82f2000-05-08 14:15:19 +000069#endif
Guido van Rossum87d5e701996-05-28 22:50:17 +000070 {"math", initmath},
71 {"md5", initmd5},
72 {"new", initnew},
Guido van Rossum2e146b31997-05-06 16:00:32 +000073 {"nt", initnt}, /* Use the NT os functions, not posix */
Guido van Rossum950a1261996-07-30 17:38:17 +000074 {"operator", initoperator},
Guido van Rossum87d5e701996-05-28 22:50:17 +000075 {"regex", initregex},
Guido van Rossum23ef82f2000-05-08 14:15:19 +000076#ifndef MS_WIN64
Guido van Rossum87d5e701996-05-28 22:50:17 +000077 {"rgbimg", initrgbimg},
Guido van Rossum23ef82f2000-05-08 14:15:19 +000078#endif
Guido van Rossum87d5e701996-05-28 22:50:17 +000079 {"rotor", initrotor},
80 {"signal", initsignal},
Guido van Rossumbe211a51999-04-13 15:41:10 +000081 {"sha", initsha},
Guido van Rossum87d5e701996-05-28 22:50:17 +000082 {"strop", initstrop},
83 {"struct", initstruct},
84 {"time", inittime},
Guido van Rossumbf57ed51996-08-22 00:43:42 +000085#ifdef WITH_THREAD
86 {"thread", initthread},
87#endif
Guido van Rossum2e146b31997-05-06 16:00:32 +000088 {"cStringIO", initcStringIO},
89 {"cPickle", initcPickle},
Guido van Rossum36e18e31997-11-25 06:00:59 +000090 {"pcre", initpcre},
Guido van Rossum29c1ea51997-08-07 00:11:34 +000091#ifdef WIN32
Guido van Rossum23ef82f2000-05-08 14:15:19 +000092 {"msvcrt", initmsvcrt},
93 {"_locale", init_locale},
Guido van Rossum29c1ea51997-08-07 00:11:34 +000094#endif
Guido van Rossum87d5e701996-05-28 22:50:17 +000095
Guido van Rossum23ef82f2000-05-08 14:15:19 +000096 {"_codecs", init_codecs},
Tim Peters58c82f02001-01-09 23:26:39 +000097 {"xreadlines", initxreadlines},
Guido van Rossum76bd6892000-03-11 00:13:14 +000098
Tim Peters58c82f02001-01-09 23:26:39 +000099/* XXX tim: what's the purpose of ADDMODULE MARKER? */
Guido van Rossum87d5e701996-05-28 22:50:17 +0000100/* -- ADDMODULE MARKER 2 -- */
101
102 /* This module "lives in" with marshal.c */
103 {"marshal", PyMarshal_Init},
104
105 /* This lives it with import.c */
106 {"imp", initimp},
107
108 /* These entries are here for sys.builtin_module_names */
109 {"__main__", NULL},
110 {"__builtin__", NULL},
111 {"sys", NULL},
Guido van Rossumf981c8f2000-07-12 12:11:36 +0000112 {"exceptions", NULL},
Guido van Rossum87d5e701996-05-28 22:50:17 +0000113
114 /* Sentinel */
115 {0, 0}
116};