diff --git a/Mac/Include/config.h b/Mac/Include/config.h
index c00e4e6..4fd79ec 100644
--- a/Mac/Include/config.h
+++ b/Mac/Include/config.h
@@ -13,8 +13,21 @@
 #define HAVE_FOPENRF
 #endif
 #ifdef __MWERKS__
+#ifndef USE_GUSI
 #define HAVE_FOPENRF
 #endif
+#endif
+
+#ifdef USE_GUSI
+/* GUSI provides a lot of unixisms */
+#define HAVE_SELECT
+#define DIRENT
+#define HAVE_GETPEERNAME
+#define HAVE_SELECT
+#define HAVE_FCNTL_H
+#define HAVE_SYS_TIME_H
+#define HAVE_UNISTD_H
+#endif
 
 #ifdef SYMANTEC__CFM68K__
 #define atof Py_AtoF
diff --git a/Mac/Modules/config.c b/Mac/Modules/config.c
index 6ba4fc2..2dc4f50 100644
--- a/Mac/Modules/config.c
+++ b/Mac/Modules/config.c
@@ -122,6 +122,10 @@
 #ifdef USE_TK
 extern void init_tkinter();
 #endif
+#ifdef USE_GUSI
+extern void initsocket();
+extern void initselect();
+#endif
 /* -- ADDMODULE MARKER 1 -- */
 
 extern void PyMarshal_Init();
@@ -204,6 +208,10 @@
 #ifdef USE_TK
 	{"_tkinter",	init_tkinter},
 #endif
+#ifdef USE_GUSI
+	{"socket",	initsocket},
+	{"select",	initselect},
+#endif
 
 /* -- ADDMODULE MARKER 2 -- */
 
diff --git a/Mac/Modules/macmodule.c b/Mac/Modules/macmodule.c
index 16ab2ff..bf132a5 100644
--- a/Mac/Modules/macmodule.c
+++ b/Mac/Modules/macmodule.c
@@ -43,7 +43,13 @@
 #undef S_ISREG
 #endif
 
+#ifdef USE_GUSI
+#include <sys/types.h>
+#include <stat.h>
+#define macstat stat
+#else
 #include "macstat.h"
+#endif
 
 #ifdef __MWERKS__
 /* For CodeWarrior 4 also define CW4 */
@@ -57,7 +63,11 @@
 #endif
 
 #include "macdefs.h"
+#ifdef USE_GUSI
+#include <dirent.h>
+#else
 #include "dirent.h"
+#endif
 
 #ifndef MAXPATHLEN
 #define MAXPATHLEN 1024
@@ -68,13 +78,19 @@
 int chdir PROTO((const char *path));
 char *getbootvol PROTO((void));
 char *getwd PROTO((char *));
+#ifdef USE_GUSI
+int mkdir PROTO((const char *path));
+DIR * opendir PROTO((const char *));
+int closedir PROTO((DIR *));
+#else
 int mkdir PROTO((const char *path, int mode));
 DIR * opendir PROTO((char *));
 void closedir PROTO((DIR *));
+#endif
 struct dirent * readdir PROTO((DIR *));
 int rmdir PROTO((const char *path));
 int sync PROTO((void));
-#if defined(THINK_C) || defined(__SC__)
+#if defined(THINK_C) || defined(__SC__) || defined(USE_GUSI)
 int unlink PROTO((char *));
 #else
 int unlink PROTO((const char *));
@@ -315,12 +331,26 @@
 }
 #endif /* !CW4 */
 
+#ifdef USE_GUSI
+/* GUSI mkdir doesn't accept the (dummy) mode. Grrr. */
+int _gusi_mkdir(name, mode)
+	char *name;
+	int mode;
+{
+	return mkdir(name);
+}
+#endif /* USE_GUSI */
+
 static object *
 mac_mkdir(self, args)
 	object *self;
 	object *args;
 {
+#ifdef USE_GUSI
+	return mac_strint(args, _gusi_mkdir);
+#else
 	return mac_strint(args, mkdir);
+#endif
 }
 
 #ifndef CW4
@@ -425,6 +455,19 @@
 	END_SAVE
 	if (res != 0)
 		return mac_error();
+#ifdef USE_GUSI
+	return mkvalue("(llllllllll)",
+		    (long)st.st_mode,
+		    (long)st.st_ino,
+		    (long)st.st_dev,
+		    (long)st.st_nlink,
+		    (long)st.st_uid,
+		    (long)st.st_gid,
+		    (long)st.st_size,
+		    (long)st.st_atime,
+		    (long)st.st_mtime,
+		    (long)st.st_ctime);
+#else
 	return mkvalue("(llllllllllls#s#)",
 		    (long)st.st_mode,
 		    (long)st.st_ino,
@@ -439,6 +482,7 @@
 		    (long)st.st_rsize,
 		    st.st_creator, 4,
 		    st.st_type, 4);
+#endif
 }
 
 static object *
diff --git a/Mac/Python/macapplication.c b/Mac/Python/macapplication.c
index d7b1e2e..5d7bc83 100644
--- a/Mac/Python/macapplication.c
+++ b/Mac/Python/macapplication.c
@@ -31,8 +31,8 @@
 extern void PyMac_InitApplication();
 
 main() {
-#if defined(__MWERKS__) && defined(USE_TK)
-	PyTk_InitGUSI();
+#if defined(USE_GUSI)
+	GUSIDefaultSetup();
 #endif
 #if defined(__MWERKS__) && defined(__CFM68K__)
 	printf("Hello, world!\n");
diff --git a/Mac/Python/macgetcompiler.c b/Mac/Python/macgetcompiler.c
index 67399d8..d93172b 100644
--- a/Mac/Python/macgetcompiler.c
+++ b/Mac/Python/macgetcompiler.c
@@ -5,13 +5,18 @@
 #endif
 
 #ifdef __MWERKS__
+#ifdef USE_GUSI
+#define HASGUSI " w/GUSI"
+#else
+#define HASGUSI ""
+#endif
 #ifdef __powerc
-#define COMPILER " [CW PPC]"
+#define COMPILER " [CW PPC" HASGUSI "]"
 #else
 #ifdef __CFM68K__
-#define COMPILER " [CW CFM68K]"
+#define COMPILER " [CW CFM68K" HASGUSI "]"
 #else
-#define COMPILER " [CW 68K]"
+#define COMPILER " [CW 68K" HASGUSI "]"
 #endif
 #endif
 #endif
