blob: 4c83a0b7e38735cd68185cf68c182c5c0ee5c4a4 [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 Rossum9b4e1b31991-12-30 01:43:49 +000027#include "patchlevel.h"
28
29#define VERSION "0.9.%d alpha (%s)"
Guido van Rossumaa011411991-12-16 13:05:20 +000030
31#ifdef __DATE__
32#define DATE __DATE__
33#else
Guido van Rossum9b4e1b31991-12-30 01:43:49 +000034#define DATE ">= Dec 27 1991"
Guido van Rossumaa011411991-12-16 13:05:20 +000035#endif
Guido van Rossum9f462af1991-12-10 13:54:12 +000036
Guido van Rossum59e53a51991-02-19 12:22:24 +000037#include <stdio.h>
38
Guido van Rossum28a83ab1991-01-18 15:32:01 +000039#ifdef USE_STDWIN
40#include <stdwin.h>
Guido van Rossum28a83ab1991-01-18 15:32:01 +000041#endif
Guido van Rossumaec78551990-12-20 23:03:58 +000042
Guido van Rossumaa011411991-12-16 13:05:20 +000043char version[80];
44
Guido van Rossumaec78551990-12-20 23:03:58 +000045/*ARGSUSED*/
46void
47initargs(p_argc, p_argv)
48 int *p_argc;
49 char ***p_argv;
50{
Guido van Rossum9b4e1b31991-12-30 01:43:49 +000051 sprintf(version, VERSION, PATCHLEVEL, DATE);
Guido van Rossumaa011411991-12-16 13:05:20 +000052
Guido van Rossum28a83ab1991-01-18 15:32:01 +000053#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +000054 wargs(p_argc, p_argv);
Guido van Rossum28a83ab1991-01-18 15:32:01 +000055#endif
Guido van Rossum9f462af1991-12-10 13:54:12 +000056 if (*p_argc < 2 && isatty(0) && isatty(1))
57 {
58 printf("Python %s.\n", version);
Guido van Rossumaa011411991-12-16 13:05:20 +000059 printf(
60"Copyright 1990, 1991, 1992 Stichting Mathematisch Centrum, Amsterdam\n");
Guido van Rossum9f462af1991-12-10 13:54:12 +000061 }
Guido van Rossumaec78551990-12-20 23:03:58 +000062}
63
64void
65initcalls()
66{
Guido van Rossumaec78551990-12-20 23:03:58 +000067}
68
69void
70donecalls()
71{
Guido van Rossum28a83ab1991-01-18 15:32:01 +000072#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +000073 wdone();
Guido van Rossum28a83ab1991-01-18 15:32:01 +000074#endif
Guido van Rossumaec78551990-12-20 23:03:58 +000075#ifdef USE_AUDIO
76 asa_done();
77#endif
78}
79
80#ifndef PYTHONPATH
81#define PYTHONPATH ".:/usr/local/lib/python"
82#endif
83
84extern char *getenv();
85
86char *
87getpythonpath()
88{
89 char *path = getenv("PYTHONPATH");
90 if (path == 0)
91 path = PYTHONPATH;
92 return path;
93}
Guido van Rossum59e53a51991-02-19 12:22:24 +000094
95
96/* Table of built-in modules.
97 These are initialized when first imported. */
98
99/* Standard modules */
100extern void inittime();
101extern void initmath();
Guido van Rossum9b4e1b31991-12-30 01:43:49 +0000102extern void initregex();
Guido van Rossum59e53a51991-02-19 12:22:24 +0000103extern void initposix();
Guido van Rossumac029481991-04-16 08:39:39 +0000104extern void initpwd();
105extern void initgrp();
Guido van Rossum6f7b9591991-06-04 19:47:46 +0000106extern void initmarshal();
107
Guido van Rossum59e53a51991-02-19 12:22:24 +0000108#ifdef USE_AUDIO
109extern void initaudio();
110#endif
Guido van Rossum188f8321991-09-10 14:55:08 +0000111#ifdef USE_AL
112extern void inital();
113#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000114#ifdef USE_AMOEBA
115extern void initamoeba();
116#endif
117#ifdef USE_GL
118extern void initgl();
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000119#ifdef USE_FM
120extern void initfm();
Guido van Rossum3fecef71991-08-16 08:58:56 +0000121#ifdef USE_FL
122extern void initfl();
123#endif
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000124#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000125#ifdef USE_PANEL
126extern void initpanel();
127#endif
128#endif
129#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +0000130extern void initstdwin();
Guido van Rossum59e53a51991-02-19 12:22:24 +0000131#endif
Guido van Rossum49955ae1991-07-01 18:45:17 +0000132#ifdef USE_SOCKET
133extern void initsocket();
134#endif
Guido van Rossum56a5afc1991-11-12 15:40:36 +0000135#ifdef USE_JPEG
136extern void initjpeg();
137#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000138
139struct {
140 char *name;
141 void (*initfunc)();
142} inittab[] = {
143
144 /* Standard modules */
145
146 {"time", inittime},
147 {"math", initmath},
Guido van Rossum9b4e1b31991-12-30 01:43:49 +0000148 {"regex", initregex},
Guido van Rossum59e53a51991-02-19 12:22:24 +0000149 {"posix", initposix},
Guido van Rossumac029481991-04-16 08:39:39 +0000150 {"pwd", initpwd},
151 {"grp", initgrp},
Guido van Rossum6f7b9591991-06-04 19:47:46 +0000152 {"marshal", initmarshal},
Guido van Rossum59e53a51991-02-19 12:22:24 +0000153
154
155 /* Optional modules */
156
157#ifdef USE_AUDIO
158 {"audio", initaudio},
159#endif
160
Guido van Rossum188f8321991-09-10 14:55:08 +0000161#ifdef USE_AL
162 {"al", inital},
163#endif
164
Guido van Rossum59e53a51991-02-19 12:22:24 +0000165#ifdef USE_AMOEBA
166 {"amoeba", initamoeba},
167#endif
168
169#ifdef USE_GL
170 {"gl", initgl},
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000171#ifdef USE_FM
172 {"fm", initfm},
Guido van Rossum3fecef71991-08-16 08:58:56 +0000173#ifdef USE_FL
174 {"fl", initfl},
175#endif
Guido van Rossum2abc7a61991-04-03 19:01:18 +0000176#endif
Guido van Rossum59e53a51991-02-19 12:22:24 +0000177#ifdef USE_PANEL
178 {"pnl", initpanel},
179#endif
180#endif
181
182#ifdef USE_STDWIN
Guido van Rossum5b02dbc1991-06-07 13:55:41 +0000183 {"stdwin", initstdwin},
Guido van Rossum59e53a51991-02-19 12:22:24 +0000184#endif
185
Guido van Rossum49955ae1991-07-01 18:45:17 +0000186#ifdef USE_SOCKET
187 {"socket", initsocket},
188#endif
189
Guido van Rossum56a5afc1991-11-12 15:40:36 +0000190#ifdef USE_JPEG
191 {"jpeg", initjpeg},
192#endif
193
Guido van Rossum59e53a51991-02-19 12:22:24 +0000194 {0, 0} /* Sentinel */
195};