blob: 4f432416b34cd90e730b5ee3c2a5a3abe0bccfe5 [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 Rossum9f462af1991-12-10 13:54:12 +000027char version[] = "0.9.3 beta (2)";
28
Guido van Rossum59e53a51991-02-19 12:22:24 +000029#include <stdio.h>
30
Guido van Rossum28a83ab1991-01-18 15:32:01 +000031#ifdef USE_STDWIN
32#include <stdwin.h>
Guido van Rossum28a83ab1991-01-18 15:32:01 +000033#endif
Guido van Rossumaec78551990-12-20 23:03:58 +000034
35/*ARGSUSED*/
36void
37initargs(p_argc, p_argv)
38 int *p_argc;
39 char ***p_argv;
40{
Guido van Rossum28a83ab1991-01-18 15:32:01 +000041#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +000042 wargs(p_argc, p_argv);
Guido van Rossum28a83ab1991-01-18 15:32:01 +000043#endif
Guido van Rossum9f462af1991-12-10 13:54:12 +000044 if (*p_argc < 2 && isatty(0) && isatty(1))
45 {
46 printf("Python %s.\n", version);
47 printf("Copyright 1990, 1991 Stichting Mathematisch Centrum, Amsterdam\n");
48 }
Guido van Rossumaec78551990-12-20 23:03:58 +000049}
50
51void
52initcalls()
53{
Guido van Rossumaec78551990-12-20 23:03:58 +000054}
55
56void
57donecalls()
58{
Guido van Rossum28a83ab1991-01-18 15:32:01 +000059#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +000060 wdone();
Guido van Rossum28a83ab1991-01-18 15:32:01 +000061#endif
Guido van Rossumaec78551990-12-20 23:03:58 +000062#ifdef USE_AUDIO
63 asa_done();
64#endif
65}
66
67#ifndef PYTHONPATH
68#define PYTHONPATH ".:/usr/local/lib/python"
69#endif
70
71extern char *getenv();
72
73char *
74getpythonpath()
75{
76 char *path = getenv("PYTHONPATH");
77 if (path == 0)
78 path = PYTHONPATH;
79 return path;
80}
Guido van Rossum59e53a51991-02-19 12:22:24 +000081
82
83/* Table of built-in modules.
84 These are initialized when first imported. */
85
86/* Standard modules */
87extern void inittime();
88extern void initmath();
89extern void initregexp();
90extern void initposix();
Guido van Rossumac029481991-04-16 08:39:39 +000091extern void initpwd();
92extern void initgrp();
Guido van Rossum6f7b9591991-06-04 19:47:46 +000093extern void initmarshal();
94
Guido van Rossum59e53a51991-02-19 12:22:24 +000095#ifdef USE_AUDIO
96extern void initaudio();
97#endif
Guido van Rossum188f8321991-09-10 14:55:08 +000098#ifdef USE_AL
99extern void inital();
100#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000101#ifdef USE_AMOEBA
102extern void initamoeba();
103#endif
104#ifdef USE_GL
105extern void initgl();
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000106#ifdef USE_FM
107extern void initfm();
Guido van Rossum3fecef71991-08-16 08:58:56 +0000108#ifdef USE_FL
109extern void initfl();
110#endif
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000111#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000112#ifdef USE_PANEL
113extern void initpanel();
114#endif
115#endif
116#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +0000117extern void initstdwin();
Guido van Rossum59e53a51991-02-19 12:22:24 +0000118#endif
Guido van Rossum49955ae1991-07-01 18:45:17 +0000119#ifdef USE_SOCKET
120extern void initsocket();
121#endif
Guido van Rossum56a5afc1991-11-12 15:40:36 +0000122#ifdef USE_JPEG
123extern void initjpeg();
124#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000125
126struct {
127 char *name;
128 void (*initfunc)();
129} inittab[] = {
130
131 /* Standard modules */
132
133 {"time", inittime},
134 {"math", initmath},
135 {"regexp", initregexp},
136 {"posix", initposix},
Guido van Rossumac029481991-04-16 08:39:39 +0000137 {"pwd", initpwd},
138 {"grp", initgrp},
Guido van Rossum6f7b9591991-06-04 19:47:46 +0000139 {"marshal", initmarshal},
Guido van Rossum59e53a51991-02-19 12:22:24 +0000140
141
142 /* Optional modules */
143
144#ifdef USE_AUDIO
145 {"audio", initaudio},
146#endif
147
Guido van Rossum188f8321991-09-10 14:55:08 +0000148#ifdef USE_AL
149 {"al", inital},
150#endif
151
Guido van Rossum59e53a51991-02-19 12:22:24 +0000152#ifdef USE_AMOEBA
153 {"amoeba", initamoeba},
154#endif
155
156#ifdef USE_GL
157 {"gl", initgl},
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000158#ifdef USE_FM
159 {"fm", initfm},
Guido van Rossum3fecef71991-08-16 08:58:56 +0000160#ifdef USE_FL
161 {"fl", initfl},
162#endif
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000163#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000164#ifdef USE_PANEL
165 {"pnl", initpanel},
166#endif
167#endif
168
169#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +0000170 {"stdwin", initstdwin},
Guido van Rossum59e53a51991-02-19 12:22:24 +0000171#endif
172
Guido van Rossum49955ae1991-07-01 18:45:17 +0000173#ifdef USE_SOCKET
174 {"socket", initsocket},
175#endif
176
Guido van Rossum56a5afc1991-11-12 15:40:36 +0000177#ifdef USE_JPEG
178 {"jpeg", initjpeg},
179#endif
180
Guido van Rossum59e53a51991-02-19 12:22:24 +0000181 {0, 0} /* Sentinel */
182};