| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 1 | /* 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 Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 8 | extern void initarray(void); | 
| Guido van Rossum | 360e4b8 | 2007-05-14 22:51:27 +0000 | [diff] [blame] | 9 | #ifndef MS_WINI64 | 
| Thomas Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 10 | extern void initaudioop(void); | 
| Guido van Rossum | 23ef82f | 2000-05-08 14:15:19 +0000 | [diff] [blame] | 11 | #endif | 
| Trent Mick | c85eb0b | 2000-10-04 20:57:29 +0000 | [diff] [blame] | 12 | extern void initbinascii(void); | 
| Thomas Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 13 | extern void initcmath(void); | 
 | 14 | extern void initerrno(void); | 
| Thomas Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 15 | extern void initgc(void); | 
| Thomas Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 16 | extern void initmath(void); | 
| Raymond Hettinger | 94ac197 | 2005-08-24 00:28:21 +0000 | [diff] [blame] | 17 | extern void init_md5(void); | 
| Thomas Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 18 | extern void initnt(void); | 
 | 19 | extern void initoperator(void); | 
| Thomas Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 20 | extern void initsignal(void); | 
| Raymond Hettinger | 94ac197 | 2005-08-24 00:28:21 +0000 | [diff] [blame] | 21 | extern void init_sha(void); | 
 | 22 | extern void init_sha256(void); | 
 | 23 | extern void init_sha512(void); | 
| Thomas Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 24 | extern void inittime(void); | 
 | 25 | extern void initthread(void); | 
 | 26 | extern void initcStringIO(void); | 
 | 27 | extern void initcPickle(void); | 
| Guido van Rossum | 29c1ea5 | 1997-08-07 00:11:34 +0000 | [diff] [blame] | 28 | #ifdef WIN32 | 
| Thomas Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 29 | extern void initmsvcrt(void); | 
 | 30 | extern void init_locale(void); | 
| Guido van Rossum | 29c1ea5 | 1997-08-07 00:11:34 +0000 | [diff] [blame] | 31 | #endif | 
| Thomas Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 32 | extern void init_codecs(void); | 
| Tim Peters | 747d5b6 | 2001-02-02 00:07:07 +0000 | [diff] [blame] | 33 | extern void init_weakref(void); | 
| Tim Peters | 1566a17 | 2001-10-12 22:08:39 +0000 | [diff] [blame] | 34 | extern void init_hotshot(void); | 
| Tim Peters | 6d6c1a3 | 2001-08-02 04:15:00 +0000 | [diff] [blame] | 35 | extern void initxxsubtype(void); | 
| Just van Rossum | 52e14d6 | 2002-12-30 22:08:05 +0000 | [diff] [blame] | 36 | extern void initzipimport(void); | 
| Tim Peters | d1f5ccc | 2002-12-29 23:46:40 +0000 | [diff] [blame] | 37 | extern void init_random(void); | 
| Raymond Hettinger | 96ef811 | 2003-02-01 00:10:11 +0000 | [diff] [blame] | 38 | extern void inititertools(void); | 
| Guido van Rossum | d8faa36 | 2007-04-27 19:54:29 +0000 | [diff] [blame] | 39 | extern void init_collections(void); | 
| Raymond Hettinger | c46cb2a | 2004-04-19 19:06:21 +0000 | [diff] [blame] | 40 | extern void init_heapq(void); | 
| Raymond Hettinger | 0c41027 | 2004-01-05 10:13:35 +0000 | [diff] [blame] | 41 | extern void init_bisect(void); | 
| Martin v. Löwis | 48918f7 | 2004-01-02 21:14:37 +0000 | [diff] [blame] | 42 | extern void init_symtable(void); | 
 | 43 | extern void initmmap(void); | 
 | 44 | extern void init_csv(void); | 
 | 45 | extern void init_sre(void); | 
 | 46 | extern void initparser(void); | 
 | 47 | extern void init_winreg(void); | 
| Thomas Wouters | 477c8d5 | 2006-05-27 19:21:47 +0000 | [diff] [blame] | 48 | extern void init_struct(void); | 
| Martin v. Löwis | 48918f7 | 2004-01-02 21:14:37 +0000 | [diff] [blame] | 49 | extern void initdatetime(void); | 
| Thomas Wouters | 4d70c3d | 2006-06-08 14:42:34 +0000 | [diff] [blame] | 50 | extern void init_functools(void); | 
| Martin v. Löwis | 4e6aff5 | 2006-01-03 07:10:14 +0000 | [diff] [blame] | 51 | extern void initzlib(void); | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 52 |  | 
| Martin v. Löwis | daea3e5 | 2004-01-21 07:54:02 +0000 | [diff] [blame] | 53 | extern void init_multibytecodec(void); | 
| Tim Peters | 6920e49 | 2004-07-18 05:06:31 +0000 | [diff] [blame] | 54 | extern void init_codecs_cn(void); | 
 | 55 | extern void init_codecs_hk(void); | 
| Hye-Shik Chang | 978d262 | 2004-07-28 09:39:54 +0000 | [diff] [blame] | 56 | extern void init_codecs_iso2022(void); | 
| Tim Peters | 6920e49 | 2004-07-18 05:06:31 +0000 | [diff] [blame] | 57 | extern void init_codecs_jp(void); | 
 | 58 | extern void init_codecs_kr(void); | 
 | 59 | extern void init_codecs_tw(void); | 
| Tim Peters | 4eb5978 | 2004-10-12 21:48:57 +0000 | [diff] [blame] | 60 | extern void init_subprocess(void); | 
| Martin v. Löwis | 9fb181b | 2006-02-14 21:25:29 +0000 | [diff] [blame] | 61 | extern void init_lsprof(void); | 
| Martin v. Löwis | 577b5b9 | 2006-02-27 15:23:19 +0000 | [diff] [blame] | 62 | extern void init_ast(void); | 
| Thomas Wouters | 0e3f591 | 2006-08-11 14:57:12 +0000 | [diff] [blame] | 63 | extern void init_types(void); | 
| Neal Norwitz | 7d71fb8 | 2007-03-21 04:45:04 +0000 | [diff] [blame] | 64 | extern void initatexit(void); | 
| Martin v. Löwis | daea3e5 | 2004-01-21 07:54:02 +0000 | [diff] [blame] | 65 |  | 
| Martin v. Löwis | 6920652 | 2003-04-18 10:51:14 +0000 | [diff] [blame] | 66 | /* tools/freeze/makeconfig.py marker for additional "extern" */ | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 67 | /* -- ADDMODULE MARKER 1 -- */ | 
 | 68 |  | 
| Thomas Wouters | 7889010 | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 69 | extern void PyMarshal_Init(void); | 
 | 70 | extern void initimp(void); | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 71 |  | 
| Guido van Rossum | 2b713b2 | 1997-04-29 20:46:45 +0000 | [diff] [blame] | 72 | struct _inittab _PyImport_Inittab[] = { | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 73 |  | 
 | 74 |         {"array", initarray}, | 
| Martin v. Löwis | 577b5b9 | 2006-02-27 15:23:19 +0000 | [diff] [blame] | 75 | 	{"_ast", init_ast}, | 
| Neal Norwitz | 7d71fb8 | 2007-03-21 04:45:04 +0000 | [diff] [blame] | 76 | 	{"atexit", initatexit}, | 
| Guido van Rossum | 8f81a22 | 1999-02-05 22:34:57 +0000 | [diff] [blame] | 77 | #ifdef MS_WINDOWS | 
| Guido van Rossum | 360e4b8 | 2007-05-14 22:51:27 +0000 | [diff] [blame] | 78 | #ifndef MS_WINI64 | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 79 |         {"audioop", initaudioop}, | 
 | 80 | #endif | 
| Guido van Rossum | 23ef82f | 2000-05-08 14:15:19 +0000 | [diff] [blame] | 81 | #endif | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 82 |         {"binascii", initbinascii}, | 
| Guido van Rossum | 1bc716f | 1996-06-28 19:12:06 +0000 | [diff] [blame] | 83 |         {"cmath", initcmath}, | 
| Guido van Rossum | 950a126 | 1996-07-30 17:38:17 +0000 | [diff] [blame] | 84 |         {"errno", initerrno}, | 
| Jeremy Hylton | c5007aa | 2000-06-30 05:02:53 +0000 | [diff] [blame] | 85 |         {"gc", initgc}, | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 86 |         {"math", initmath}, | 
| Raymond Hettinger | 94ac197 | 2005-08-24 00:28:21 +0000 | [diff] [blame] | 87 |         {"_md5", init_md5}, | 
| Guido van Rossum | 2e146b3 | 1997-05-06 16:00:32 +0000 | [diff] [blame] | 88 |         {"nt", initnt}, /* Use the NT os functions, not posix */ | 
| Guido van Rossum | 950a126 | 1996-07-30 17:38:17 +0000 | [diff] [blame] | 89 |         {"operator", initoperator}, | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 90 |         {"signal", initsignal}, | 
| Raymond Hettinger | 94ac197 | 2005-08-24 00:28:21 +0000 | [diff] [blame] | 91 |         {"_sha", init_sha}, | 
 | 92 |         {"_sha256", init_sha256}, | 
 | 93 |         {"_sha512", init_sha512}, | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 94 |         {"time", inittime}, | 
| Guido van Rossum | bf57ed5 | 1996-08-22 00:43:42 +0000 | [diff] [blame] | 95 | #ifdef WITH_THREAD | 
 | 96 |         {"thread", initthread}, | 
 | 97 | #endif | 
| Guido van Rossum | 2e146b3 | 1997-05-06 16:00:32 +0000 | [diff] [blame] | 98 |         {"cStringIO", initcStringIO}, | 
 | 99 |         {"cPickle", initcPickle}, | 
| Guido van Rossum | 29c1ea5 | 1997-08-07 00:11:34 +0000 | [diff] [blame] | 100 | #ifdef WIN32 | 
| Guido van Rossum | 23ef82f | 2000-05-08 14:15:19 +0000 | [diff] [blame] | 101 |         {"msvcrt", initmsvcrt}, | 
 | 102 |         {"_locale", init_locale}, | 
| Guido van Rossum | 29c1ea5 | 1997-08-07 00:11:34 +0000 | [diff] [blame] | 103 | #endif | 
| Tim Peters | 4eb5978 | 2004-10-12 21:48:57 +0000 | [diff] [blame] | 104 | 	/* XXX Should _subprocess go in a WIN32 block?  not WIN64? */ | 
 | 105 | 	{"_subprocess", init_subprocess}, | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 106 |  | 
| Guido van Rossum | 23ef82f | 2000-05-08 14:15:19 +0000 | [diff] [blame] | 107 |         {"_codecs", init_codecs}, | 
| Tim Peters | 747d5b6 | 2001-02-02 00:07:07 +0000 | [diff] [blame] | 108 | 	{"_weakref", init_weakref}, | 
| Tim Peters | 1566a17 | 2001-10-12 22:08:39 +0000 | [diff] [blame] | 109 | 	{"_hotshot", init_hotshot}, | 
| Tim Peters | d1f5ccc | 2002-12-29 23:46:40 +0000 | [diff] [blame] | 110 | 	{"_random", init_random}, | 
| Raymond Hettinger | 0c41027 | 2004-01-05 10:13:35 +0000 | [diff] [blame] | 111 |         {"_bisect", init_bisect}, | 
| Raymond Hettinger | c46cb2a | 2004-04-19 19:06:21 +0000 | [diff] [blame] | 112 |         {"_heapq", init_heapq}, | 
| Martin v. Löwis | 9fb181b | 2006-02-14 21:25:29 +0000 | [diff] [blame] | 113 | 	{"_lsprof", init_lsprof}, | 
| Raymond Hettinger | 96ef811 | 2003-02-01 00:10:11 +0000 | [diff] [blame] | 114 | 	{"itertools", inititertools}, | 
| Guido van Rossum | d8faa36 | 2007-04-27 19:54:29 +0000 | [diff] [blame] | 115 |         {"_collections", init_collections}, | 
| Martin v. Löwis | 48918f7 | 2004-01-02 21:14:37 +0000 | [diff] [blame] | 116 | 	{"_symtable", init_symtable}, | 
 | 117 | 	{"mmap", initmmap}, | 
 | 118 | 	{"_csv", init_csv}, | 
 | 119 | 	{"_sre", init_sre}, | 
 | 120 | 	{"parser", initparser}, | 
 | 121 | 	{"_winreg", init_winreg}, | 
| Thomas Wouters | 477c8d5 | 2006-05-27 19:21:47 +0000 | [diff] [blame] | 122 | 	{"_struct", init_struct}, | 
| Martin v. Löwis | 48918f7 | 2004-01-02 21:14:37 +0000 | [diff] [blame] | 123 | 	{"datetime", initdatetime}, | 
| Thomas Wouters | 4d70c3d | 2006-06-08 14:42:34 +0000 | [diff] [blame] | 124 | 	{"_functools", init_functools}, | 
| Guido van Rossum | 76bd689 | 2000-03-11 00:13:14 +0000 | [diff] [blame] | 125 |  | 
| Tim Peters | 6d6c1a3 | 2001-08-02 04:15:00 +0000 | [diff] [blame] | 126 | 	{"xxsubtype", initxxsubtype}, | 
| Just van Rossum | 52e14d6 | 2002-12-30 22:08:05 +0000 | [diff] [blame] | 127 | 	{"zipimport", initzipimport}, | 
| Martin v. Löwis | 4e6aff5 | 2006-01-03 07:10:14 +0000 | [diff] [blame] | 128 | 	{"zlib", initzlib}, | 
 | 129 | 	 | 
| Martin v. Löwis | daea3e5 | 2004-01-21 07:54:02 +0000 | [diff] [blame] | 130 | 	/* CJK codecs */ | 
 | 131 | 	{"_multibytecodec", init_multibytecodec}, | 
| Tim Peters | 6920e49 | 2004-07-18 05:06:31 +0000 | [diff] [blame] | 132 | 	{"_codecs_cn", init_codecs_cn}, | 
 | 133 | 	{"_codecs_hk", init_codecs_hk}, | 
| Hye-Shik Chang | 978d262 | 2004-07-28 09:39:54 +0000 | [diff] [blame] | 134 | 	{"_codecs_iso2022", init_codecs_iso2022}, | 
| Tim Peters | 6920e49 | 2004-07-18 05:06:31 +0000 | [diff] [blame] | 135 | 	{"_codecs_jp", init_codecs_jp}, | 
 | 136 | 	{"_codecs_kr", init_codecs_kr}, | 
 | 137 | 	{"_codecs_tw", init_codecs_tw}, | 
| Martin v. Löwis | daea3e5 | 2004-01-21 07:54:02 +0000 | [diff] [blame] | 138 |  | 
| Martin v. Löwis | 6920652 | 2003-04-18 10:51:14 +0000 | [diff] [blame] | 139 | /* tools/freeze/makeconfig.py marker for additional "_inittab" entries */ | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 140 | /* -- ADDMODULE MARKER 2 -- */ | 
 | 141 |  | 
 | 142 |         /* This module "lives in" with marshal.c */ | 
 | 143 |         {"marshal", PyMarshal_Init}, | 
 | 144 |  | 
 | 145 |         /* This lives it with import.c */ | 
 | 146 |         {"imp", initimp}, | 
 | 147 |  | 
 | 148 |         /* These entries are here for sys.builtin_module_names */ | 
 | 149 |         {"__main__", NULL}, | 
 | 150 |         {"__builtin__", NULL}, | 
 | 151 |         {"sys", NULL}, | 
| Thomas Wouters | 0e3f591 | 2006-08-11 14:57:12 +0000 | [diff] [blame] | 152 |          | 
 | 153 |         {"_types", init_types}, | 
| Guido van Rossum | 87d5e70 | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 154 |  | 
 | 155 |         /* Sentinel */ | 
 | 156 |         {0, 0} | 
 | 157 | }; |