Guido van Rossum | b0de91b | 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 | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 8 | extern void initarray(void); |
Kristján Valur Jónsson | 08ebf23 | 2007-05-03 20:27:03 +0000 | [diff] [blame] | 9 | #ifndef MS_WINI64 |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 10 | extern void initaudioop(void); |
Guido van Rossum | bca52aa | 2000-05-08 14:15:19 +0000 | [diff] [blame] | 11 | #endif |
Trent Mick | 50ef960 | 2000-10-04 20:57:29 +0000 | [diff] [blame] | 12 | extern void initbinascii(void); |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 13 | extern void initcmath(void); |
| 14 | extern void initerrno(void); |
Eric Smith | 6eb5289 | 2008-02-23 03:09:44 +0000 | [diff] [blame] | 15 | extern void initfuture_builtins(void); |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 16 | extern void initgc(void); |
Kristján Valur Jónsson | 08ebf23 | 2007-05-03 20:27:03 +0000 | [diff] [blame] | 17 | #ifndef MS_WINI64 |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 18 | extern void initimageop(void); |
Guido van Rossum | bca52aa | 2000-05-08 14:15:19 +0000 | [diff] [blame] | 19 | #endif |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 20 | extern void initmath(void); |
Raymond Hettinger | aaf91c7 | 2005-08-24 00:28:21 +0000 | [diff] [blame] | 21 | extern void init_md5(void); |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 22 | extern void initnt(void); |
| 23 | extern void initoperator(void); |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 24 | extern void initsignal(void); |
Raymond Hettinger | aaf91c7 | 2005-08-24 00:28:21 +0000 | [diff] [blame] | 25 | extern void init_sha(void); |
| 26 | extern void init_sha256(void); |
| 27 | extern void init_sha512(void); |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 28 | extern void initstrop(void); |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 29 | extern void inittime(void); |
| 30 | extern void initthread(void); |
| 31 | extern void initcStringIO(void); |
| 32 | extern void initcPickle(void); |
Guido van Rossum | a6571c3 | 1997-08-07 00:11:34 +0000 | [diff] [blame] | 33 | #ifdef WIN32 |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 34 | extern void initmsvcrt(void); |
| 35 | extern void init_locale(void); |
Guido van Rossum | a6571c3 | 1997-08-07 00:11:34 +0000 | [diff] [blame] | 36 | #endif |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 37 | extern void init_codecs(void); |
Tim Peters | 7e5684d | 2001-02-02 00:07:07 +0000 | [diff] [blame] | 38 | extern void init_weakref(void); |
Tim Peters | 5a0345d | 2001-10-12 22:08:39 +0000 | [diff] [blame] | 39 | extern void init_hotshot(void); |
Tim Peters | d8f1888 | 2001-08-02 04:15:00 +0000 | [diff] [blame] | 40 | extern void initxxsubtype(void); |
Just van Rossum | daf1525 | 2002-12-30 22:08:05 +0000 | [diff] [blame] | 41 | extern void initzipimport(void); |
Tim Peters | 871ca0c | 2002-12-29 23:46:40 +0000 | [diff] [blame] | 42 | extern void init_random(void); |
Raymond Hettinger | 94a7f5d | 2003-02-01 00:10:11 +0000 | [diff] [blame] | 43 | extern void inititertools(void); |
Raymond Hettinger | 73338d6 | 2007-02-28 18:37:52 +0000 | [diff] [blame] | 44 | extern void init_collections(void); |
Raymond Hettinger | 5498dad | 2004-04-19 19:06:21 +0000 | [diff] [blame] | 45 | extern void init_heapq(void); |
Raymond Hettinger | 1b1dc65 | 2004-01-05 10:13:35 +0000 | [diff] [blame] | 46 | extern void init_bisect(void); |
Martin v. Löwis | 51e92ff | 2004-01-02 21:14:37 +0000 | [diff] [blame] | 47 | extern void init_symtable(void); |
| 48 | extern void initmmap(void); |
| 49 | extern void init_csv(void); |
| 50 | extern void init_sre(void); |
| 51 | extern void initparser(void); |
| 52 | extern void init_winreg(void); |
Tim Peters | 27c6966 | 2006-05-23 19:34:37 +0000 | [diff] [blame] | 53 | extern void init_struct(void); |
Martin v. Löwis | 51e92ff | 2004-01-02 21:14:37 +0000 | [diff] [blame] | 54 | extern void initdatetime(void); |
Nick Coghlan | cb3813a | 2006-05-29 12:43:05 +0000 | [diff] [blame] | 55 | extern void init_functools(void); |
Brett Cannon | 3eb496a | 2008-05-05 20:21:38 +0000 | [diff] [blame] | 56 | extern void init_json(void); |
Martin v. Löwis | 4d985b8 | 2006-01-03 07:10:14 +0000 | [diff] [blame] | 57 | extern void initzlib(void); |
Guido van Rossum | b0de91b | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 58 | |
Martin v. Löwis | 355dfff | 2004-01-21 07:54:02 +0000 | [diff] [blame] | 59 | extern void init_multibytecodec(void); |
Tim Peters | 225f0ef | 2004-07-18 05:06:31 +0000 | [diff] [blame] | 60 | extern void init_codecs_cn(void); |
| 61 | extern void init_codecs_hk(void); |
Hye-Shik Chang | 25f3665 | 2004-07-28 09:39:54 +0000 | [diff] [blame] | 62 | extern void init_codecs_iso2022(void); |
Tim Peters | 225f0ef | 2004-07-18 05:06:31 +0000 | [diff] [blame] | 63 | extern void init_codecs_jp(void); |
| 64 | extern void init_codecs_kr(void); |
| 65 | extern void init_codecs_tw(void); |
Tim Peters | 9cdf587 | 2004-10-12 21:48:57 +0000 | [diff] [blame] | 66 | extern void init_subprocess(void); |
Martin v. Löwis | c55c238 | 2006-02-14 21:25:29 +0000 | [diff] [blame] | 67 | extern void init_lsprof(void); |
Martin v. Löwis | ccaf6b1 | 2006-02-27 15:23:19 +0000 | [diff] [blame] | 68 | extern void init_ast(void); |
Hirokazu Yamamoto | 0aa6c87 | 2009-06-14 03:05:54 +0000 | [diff] [blame] | 69 | extern void init_io(void); |
Brett Cannon | 76e4431 | 2008-04-12 23:44:07 +0000 | [diff] [blame] | 70 | extern void _PyWarnings_Init(void); |
Martin v. Löwis | 355dfff | 2004-01-21 07:54:02 +0000 | [diff] [blame] | 71 | |
Martin v. Löwis | 5845337 | 2003-04-18 10:51:14 +0000 | [diff] [blame] | 72 | /* tools/freeze/makeconfig.py marker for additional "extern" */ |
Guido van Rossum | b0de91b | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 73 | /* -- ADDMODULE MARKER 1 -- */ |
| 74 | |
Thomas Wouters | 878857e | 2000-07-22 19:25:51 +0000 | [diff] [blame] | 75 | extern void PyMarshal_Init(void); |
| 76 | extern void initimp(void); |
Guido van Rossum | b0de91b | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 77 | |
Guido van Rossum | e3e4a58 | 1997-04-29 20:46:45 +0000 | [diff] [blame] | 78 | struct _inittab _PyImport_Inittab[] = { |
Guido van Rossum | b0de91b | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 79 | |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 80 | {"array", initarray}, |
| 81 | {"_ast", init_ast}, |
Guido van Rossum | e561d26 | 1999-02-05 22:34:57 +0000 | [diff] [blame] | 82 | #ifdef MS_WINDOWS |
Kristján Valur Jónsson | 08ebf23 | 2007-05-03 20:27:03 +0000 | [diff] [blame] | 83 | #ifndef MS_WINI64 |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 84 | {"audioop", initaudioop}, |
Guido van Rossum | b0de91b | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 85 | #endif |
Guido van Rossum | bca52aa | 2000-05-08 14:15:19 +0000 | [diff] [blame] | 86 | #endif |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 87 | {"binascii", initbinascii}, |
| 88 | {"cmath", initcmath}, |
| 89 | {"errno", initerrno}, |
| 90 | {"future_builtins", initfuture_builtins}, |
| 91 | {"gc", initgc}, |
Kristján Valur Jónsson | 08ebf23 | 2007-05-03 20:27:03 +0000 | [diff] [blame] | 92 | #ifndef MS_WINI64 |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 93 | {"imageop", initimageop}, |
Guido van Rossum | bca52aa | 2000-05-08 14:15:19 +0000 | [diff] [blame] | 94 | #endif |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 95 | {"math", initmath}, |
| 96 | {"_md5", init_md5}, |
| 97 | {"nt", initnt}, /* Use the NT os functions, not posix */ |
| 98 | {"operator", initoperator}, |
| 99 | {"signal", initsignal}, |
| 100 | {"_sha", init_sha}, |
| 101 | {"_sha256", init_sha256}, |
| 102 | {"_sha512", init_sha512}, |
| 103 | {"strop", initstrop}, |
| 104 | {"time", inittime}, |
Guido van Rossum | f52c544 | 1996-08-22 00:43:42 +0000 | [diff] [blame] | 105 | #ifdef WITH_THREAD |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 106 | {"thread", initthread}, |
Guido van Rossum | f52c544 | 1996-08-22 00:43:42 +0000 | [diff] [blame] | 107 | #endif |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 108 | {"cStringIO", initcStringIO}, |
| 109 | {"cPickle", initcPickle}, |
Guido van Rossum | a6571c3 | 1997-08-07 00:11:34 +0000 | [diff] [blame] | 110 | #ifdef WIN32 |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 111 | {"msvcrt", initmsvcrt}, |
| 112 | {"_locale", init_locale}, |
Guido van Rossum | a6571c3 | 1997-08-07 00:11:34 +0000 | [diff] [blame] | 113 | #endif |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 114 | /* XXX Should _subprocess go in a WIN32 block? not WIN64? */ |
| 115 | {"_subprocess", init_subprocess}, |
Guido van Rossum | b0de91b | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 116 | |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 117 | {"_codecs", init_codecs}, |
| 118 | {"_weakref", init_weakref}, |
| 119 | {"_hotshot", init_hotshot}, |
| 120 | {"_random", init_random}, |
| 121 | {"_bisect", init_bisect}, |
| 122 | {"_heapq", init_heapq}, |
| 123 | {"_lsprof", init_lsprof}, |
| 124 | {"itertools", inititertools}, |
| 125 | {"_collections", init_collections}, |
| 126 | {"_symtable", init_symtable}, |
| 127 | {"mmap", initmmap}, |
| 128 | {"_csv", init_csv}, |
| 129 | {"_sre", init_sre}, |
| 130 | {"parser", initparser}, |
| 131 | {"_winreg", init_winreg}, |
| 132 | {"_struct", init_struct}, |
| 133 | {"datetime", initdatetime}, |
| 134 | {"_functools", init_functools}, |
| 135 | {"_json", init_json}, |
Guido van Rossum | f330584 | 2000-03-11 00:13:14 +0000 | [diff] [blame] | 136 | |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 137 | {"xxsubtype", initxxsubtype}, |
| 138 | {"zipimport", initzipimport}, |
| 139 | {"zlib", initzlib}, |
| 140 | |
| 141 | /* CJK codecs */ |
| 142 | {"_multibytecodec", init_multibytecodec}, |
| 143 | {"_codecs_cn", init_codecs_cn}, |
| 144 | {"_codecs_hk", init_codecs_hk}, |
| 145 | {"_codecs_iso2022", init_codecs_iso2022}, |
| 146 | {"_codecs_jp", init_codecs_jp}, |
| 147 | {"_codecs_kr", init_codecs_kr}, |
| 148 | {"_codecs_tw", init_codecs_tw}, |
Martin v. Löwis | 355dfff | 2004-01-21 07:54:02 +0000 | [diff] [blame] | 149 | |
Martin v. Löwis | 5845337 | 2003-04-18 10:51:14 +0000 | [diff] [blame] | 150 | /* tools/freeze/makeconfig.py marker for additional "_inittab" entries */ |
Guido van Rossum | b0de91b | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 151 | /* -- ADDMODULE MARKER 2 -- */ |
| 152 | |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 153 | /* This module "lives in" with marshal.c */ |
| 154 | {"marshal", PyMarshal_Init}, |
Guido van Rossum | b0de91b | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 155 | |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 156 | /* This lives it with import.c */ |
| 157 | {"imp", initimp}, |
Guido van Rossum | b0de91b | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 158 | |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 159 | /* These entries are here for sys.builtin_module_names */ |
| 160 | {"__main__", NULL}, |
| 161 | {"__builtin__", NULL}, |
| 162 | {"sys", NULL}, |
| 163 | {"exceptions", NULL}, |
| 164 | {"_warnings", _PyWarnings_Init}, |
Brett Cannon | 76e4431 | 2008-04-12 23:44:07 +0000 | [diff] [blame] | 165 | |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 166 | {"_io", init_io}, |
Hirokazu Yamamoto | 0aa6c87 | 2009-06-14 03:05:54 +0000 | [diff] [blame] | 167 | |
Antoine Pitrou | 7674841 | 2010-05-09 14:46:46 +0000 | [diff] [blame] | 168 | /* Sentinel */ |
| 169 | {0, 0} |
Guido van Rossum | b0de91b | 1996-05-28 22:50:17 +0000 | [diff] [blame] | 170 | }; |