blob: 343f832f69aa4c88daed28b129215de20d998783 [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 Rossumaa011411991-12-16 13:05:20 +000027#define VERSION "0.9.4 beta"
28
29#ifdef __DATE__
30#define DATE __DATE__
31#else
32#define DATE "Dec 16 1991"
33#endif
Guido van Rossum9f462af1991-12-10 13:54:12 +000034
Guido van Rossum59e53a51991-02-19 12:22:24 +000035#include <stdio.h>
36
Guido van Rossum28a83ab1991-01-18 15:32:01 +000037#ifdef USE_STDWIN
38#include <stdwin.h>
Guido van Rossum28a83ab1991-01-18 15:32:01 +000039#endif
Guido van Rossumaec78551990-12-20 23:03:58 +000040
Guido van Rossumaa011411991-12-16 13:05:20 +000041char version[80];
42
Guido van Rossumaec78551990-12-20 23:03:58 +000043/*ARGSUSED*/
44void
45initargs(p_argc, p_argv)
46 int *p_argc;
47 char ***p_argv;
48{
Guido van Rossumaa011411991-12-16 13:05:20 +000049 sprintf(version, "%s (%s)", VERSION, DATE);
50
Guido van Rossum28a83ab1991-01-18 15:32:01 +000051#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +000052 wargs(p_argc, p_argv);
Guido van Rossum28a83ab1991-01-18 15:32:01 +000053#endif
Guido van Rossum9f462af1991-12-10 13:54:12 +000054 if (*p_argc < 2 && isatty(0) && isatty(1))
55 {
56 printf("Python %s.\n", version);
Guido van Rossumaa011411991-12-16 13:05:20 +000057 printf(
58"Copyright 1990, 1991, 1992 Stichting Mathematisch Centrum, Amsterdam\n");
Guido van Rossum9f462af1991-12-10 13:54:12 +000059 }
Guido van Rossumaec78551990-12-20 23:03:58 +000060}
61
62void
63initcalls()
64{
Guido van Rossumaec78551990-12-20 23:03:58 +000065}
66
67void
68donecalls()
69{
Guido van Rossum28a83ab1991-01-18 15:32:01 +000070#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +000071 wdone();
Guido van Rossum28a83ab1991-01-18 15:32:01 +000072#endif
Guido van Rossumaec78551990-12-20 23:03:58 +000073#ifdef USE_AUDIO
74 asa_done();
75#endif
76}
77
78#ifndef PYTHONPATH
79#define PYTHONPATH ".:/usr/local/lib/python"
80#endif
81
82extern char *getenv();
83
84char *
85getpythonpath()
86{
87 char *path = getenv("PYTHONPATH");
88 if (path == 0)
89 path = PYTHONPATH;
90 return path;
91}
Guido van Rossum59e53a51991-02-19 12:22:24 +000092
93
94/* Table of built-in modules.
95 These are initialized when first imported. */
96
97/* Standard modules */
98extern void inittime();
99extern void initmath();
100extern void initregexp();
101extern void initposix();
Guido van Rossumac029481991-04-16 08:39:39 +0000102extern void initpwd();
103extern void initgrp();
Guido van Rossum6f7b9591991-06-04 19:47:46 +0000104extern void initmarshal();
105
Guido van Rossum59e53a51991-02-19 12:22:24 +0000106#ifdef USE_AUDIO
107extern void initaudio();
108#endif
Guido van Rossum188f8321991-09-10 14:55:08 +0000109#ifdef USE_AL
110extern void inital();
111#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000112#ifdef USE_AMOEBA
113extern void initamoeba();
114#endif
115#ifdef USE_GL
116extern void initgl();
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000117#ifdef USE_FM
118extern void initfm();
Guido van Rossum3fecef71991-08-16 08:58:56 +0000119#ifdef USE_FL
120extern void initfl();
121#endif
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000122#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000123#ifdef USE_PANEL
124extern void initpanel();
125#endif
126#endif
127#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +0000128extern void initstdwin();
Guido van Rossum59e53a51991-02-19 12:22:24 +0000129#endif
Guido van Rossum49955ae1991-07-01 18:45:17 +0000130#ifdef USE_SOCKET
131extern void initsocket();
132#endif
Guido van Rossum56a5afc1991-11-12 15:40:36 +0000133#ifdef USE_JPEG
134extern void initjpeg();
135#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000136
137struct {
138 char *name;
139 void (*initfunc)();
140} inittab[] = {
141
142 /* Standard modules */
143
144 {"time", inittime},
145 {"math", initmath},
146 {"regexp", initregexp},
147 {"posix", initposix},
Guido van Rossumac029481991-04-16 08:39:39 +0000148 {"pwd", initpwd},
149 {"grp", initgrp},
Guido van Rossum6f7b9591991-06-04 19:47:46 +0000150 {"marshal", initmarshal},
Guido van Rossum59e53a51991-02-19 12:22:24 +0000151
152
153 /* Optional modules */
154
155#ifdef USE_AUDIO
156 {"audio", initaudio},
157#endif
158
Guido van Rossum188f8321991-09-10 14:55:08 +0000159#ifdef USE_AL
160 {"al", inital},
161#endif
162
Guido van Rossum59e53a51991-02-19 12:22:24 +0000163#ifdef USE_AMOEBA
164 {"amoeba", initamoeba},
165#endif
166
167#ifdef USE_GL
168 {"gl", initgl},
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000169#ifdef USE_FM
170 {"fm", initfm},
Guido van Rossum3fecef71991-08-16 08:58:56 +0000171#ifdef USE_FL
172 {"fl", initfl},
173#endif
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000174#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000175#ifdef USE_PANEL
176 {"pnl", initpanel},
177#endif
178#endif
179
180#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +0000181 {"stdwin", initstdwin},
Guido van Rossum59e53a51991-02-19 12:22:24 +0000182#endif
183
Guido van Rossum49955ae1991-07-01 18:45:17 +0000184#ifdef USE_SOCKET
185 {"socket", initsocket},
186#endif
187
Guido van Rossum56a5afc1991-11-12 15:40:36 +0000188#ifdef USE_JPEG
189 {"jpeg", initjpeg},
190#endif
191
Guido van Rossum59e53a51991-02-19 12:22:24 +0000192 {0, 0} /* Sentinel */
193};