blob: 103ee82fed12864f553dfc189447c5f846738602 [file] [log] [blame]
Guido van Rossumf70e43a1991-02-19 12:39:46 +00001/***********************************************************
2Copyright 1991 by Stichting Mathematisch Centrum, Amsterdam, The
3Netherlands.
4
5 All Rights Reserved
6
7Permission to use, copy, modify, and distribute this software and its
8documentation for any purpose and without fee is hereby granted,
9provided that the above copyright notice appear in all copies and that
10both that copyright notice and this permission notice appear in
11supporting documentation, and that the names of Stichting Mathematisch
12Centrum or CWI not be used in advertising or publicity pertaining to
13distribution of the software without specific, written prior permission.
14
15STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
16THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
17FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
18FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
20ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
21OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22
23******************************************************************/
24
Guido van Rossum28a83ab1991-01-18 15:32:01 +000025/* Configurable Python configuration file */
Guido van Rossumaec78551990-12-20 23:03:58 +000026
Guido van Rossum59e53a51991-02-19 12:22:24 +000027#include <stdio.h>
28
Guido van Rossum28a83ab1991-01-18 15:32:01 +000029#ifdef USE_STDWIN
30#include <stdwin.h>
Guido van Rossum28a83ab1991-01-18 15:32:01 +000031#endif
Guido van Rossumaec78551990-12-20 23:03:58 +000032
33/*ARGSUSED*/
34void
35initargs(p_argc, p_argv)
36 int *p_argc;
37 char ***p_argv;
38{
Guido van Rossum28a83ab1991-01-18 15:32:01 +000039#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +000040 wargs(p_argc, p_argv);
Guido van Rossum28a83ab1991-01-18 15:32:01 +000041#endif
Guido van Rossumaec78551990-12-20 23:03:58 +000042}
43
44void
45initcalls()
46{
Guido van Rossumaec78551990-12-20 23:03:58 +000047}
48
49void
50donecalls()
51{
Guido van Rossum28a83ab1991-01-18 15:32:01 +000052#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +000053 wdone();
Guido van Rossum28a83ab1991-01-18 15:32:01 +000054#endif
Guido van Rossumaec78551990-12-20 23:03:58 +000055#ifdef USE_AUDIO
56 asa_done();
57#endif
58}
59
60#ifndef PYTHONPATH
61#define PYTHONPATH ".:/usr/local/lib/python"
62#endif
63
64extern char *getenv();
65
66char *
67getpythonpath()
68{
69 char *path = getenv("PYTHONPATH");
70 if (path == 0)
71 path = PYTHONPATH;
72 return path;
73}
Guido van Rossum59e53a51991-02-19 12:22:24 +000074
75
76/* Table of built-in modules.
77 These are initialized when first imported. */
78
79/* Standard modules */
80extern void inittime();
81extern void initmath();
82extern void initregexp();
83extern void initposix();
Guido van Rossumac029481991-04-16 08:39:39 +000084extern void initpwd();
85extern void initgrp();
Guido van Rossum6f7b9591991-06-04 19:47:46 +000086extern void initmarshal();
87
Guido van Rossum59e53a51991-02-19 12:22:24 +000088#ifdef USE_AUDIO
89extern void initaudio();
90#endif
Guido van Rossum188f8321991-09-10 14:55:08 +000091#ifdef USE_AL
92extern void inital();
93#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +000094#ifdef USE_AMOEBA
95extern void initamoeba();
96#endif
97#ifdef USE_GL
98extern void initgl();
Guido van Rossum2abc7a61991-04-03 19:01:18 +000099#ifdef USE_FM
100extern void initfm();
Guido van Rossum3fecef71991-08-16 08:58:56 +0000101#ifdef USE_FL
102extern void initfl();
103#endif
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000104#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000105#ifdef USE_PANEL
106extern void initpanel();
107#endif
108#endif
109#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +0000110extern void initstdwin();
Guido van Rossum59e53a51991-02-19 12:22:24 +0000111#endif
Guido van Rossum49955ae1991-07-01 18:45:17 +0000112#ifdef USE_SOCKET
113extern void initsocket();
114#endif
Guido van Rossum56a5afc1991-11-12 15:40:36 +0000115#ifdef USE_JPEG
116extern void initjpeg();
117#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000118
119struct {
120 char *name;
121 void (*initfunc)();
122} inittab[] = {
123
124 /* Standard modules */
125
126 {"time", inittime},
127 {"math", initmath},
128 {"regexp", initregexp},
129 {"posix", initposix},
Guido van Rossumac029481991-04-16 08:39:39 +0000130 {"pwd", initpwd},
131 {"grp", initgrp},
Guido van Rossum6f7b9591991-06-04 19:47:46 +0000132 {"marshal", initmarshal},
Guido van Rossum59e53a51991-02-19 12:22:24 +0000133
134
135 /* Optional modules */
136
137#ifdef USE_AUDIO
138 {"audio", initaudio},
139#endif
140
Guido van Rossum188f8321991-09-10 14:55:08 +0000141#ifdef USE_AL
142 {"al", inital},
143#endif
144
Guido van Rossum59e53a51991-02-19 12:22:24 +0000145#ifdef USE_AMOEBA
146 {"amoeba", initamoeba},
147#endif
148
149#ifdef USE_GL
150 {"gl", initgl},
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000151#ifdef USE_FM
152 {"fm", initfm},
Guido van Rossum3fecef71991-08-16 08:58:56 +0000153#ifdef USE_FL
154 {"fl", initfl},
155#endif
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000156#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000157#ifdef USE_PANEL
158 {"pnl", initpanel},
159#endif
160#endif
161
162#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +0000163 {"stdwin", initstdwin},
Guido van Rossum59e53a51991-02-19 12:22:24 +0000164#endif
165
Guido van Rossum49955ae1991-07-01 18:45:17 +0000166#ifdef USE_SOCKET
167 {"socket", initsocket},
168#endif
169
Guido van Rossum56a5afc1991-11-12 15:40:36 +0000170#ifdef USE_JPEG
171 {"jpeg", initjpeg},
172#endif
173
Guido van Rossum59e53a51991-02-19 12:22:24 +0000174 {0, 0} /* Sentinel */
175};