Initial revision
diff --git a/Modules/config.c.in b/Modules/config.c.in
new file mode 100644
index 0000000..60f2cf2
--- /dev/null
+++ b/Modules/config.c.in
@@ -0,0 +1,86 @@
+/* Configuration containing EVERYTHING */
+
+/* At CWI, this implies stdwin, audio, Amoeba and the NASA Panel Library */
+#define USE_AUDIO
+#define USE_AMOEBA
+#define USE_PANEL
+
+static int use_stdwin;
+
+/*ARGSUSED*/
+void
+initargs(p_argc, p_argv)
+	int *p_argc;
+	char ***p_argv;
+{
+	extern char *getenv();
+	char *display;
+	
+	/* Assume we have to initialize stdwin if either of the following
+	   conditions holds:
+	   - the environment variable $DISPLAY is set
+	   - there is an argument "-display" somewhere
+	*/
+	
+	display = getenv("DISPLAY");
+	if (display != 0)
+		use_stdwin = 1;
+	else {
+		int i;
+		/* Scan through the arguments looking for "-display" */
+		for (i = 1; i < *p_argc; i++) {
+			if (strcmp((*p_argv)[i], "-display") == 0) {
+				use_stdwin = 1;
+				break;
+			}
+		}
+	}
+	
+	if (use_stdwin)
+		winitargs(p_argc, p_argv);
+}
+
+void
+initcalls()
+{
+	inittime();
+	initmath();
+	initposix();
+#ifdef USE_AUDIO
+	initaudio();
+#endif
+#ifdef USE_AMOEBA
+	initamoeba();
+#endif
+	initgl();
+#ifdef USE_PANEL
+	initpanel();
+#endif
+	if (use_stdwin)
+		initstdwin();
+}
+
+void
+donecalls()
+{
+	if (use_stdwin)
+		wdone();
+#ifdef USE_AUDIO
+	asa_done();
+#endif
+}
+
+#ifndef PYTHONPATH
+#define PYTHONPATH ".:/usr/local/lib/python"
+#endif
+
+extern char *getenv();
+
+char *
+getpythonpath()
+{
+	char *path = getenv("PYTHONPATH");
+	if (path == 0)
+		path = PYTHONPATH;
+	return path;
+}