From c743c8d1663c57bf0b16d88c886f2e64ae64a8e5 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Wed, 14 Feb 1996 16:02:30 +0000 Subject: Modified for GUSI --- Mac/Include/config.h | 13 +++++++++++++ Mac/Modules/config.c | 8 ++++++++ Mac/Modules/macmodule.c | 46 ++++++++++++++++++++++++++++++++++++++++++++- Mac/Python/macapplication.c | 4 ++-- Mac/Python/macgetcompiler.c | 11 ++++++++--- 5 files changed, 76 insertions(+), 6 deletions(-) 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 @@ extern void initimgop(); #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 @@ struct { #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 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #undef S_ISREG #endif +#ifdef USE_GUSI +#include +#include +#define macstat stat +#else #include "macstat.h" +#endif #ifdef __MWERKS__ /* For CodeWarrior 4 also define CW4 */ @@ -57,7 +63,11 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #endif #include "macdefs.h" +#ifdef USE_GUSI +#include +#else #include "dirent.h" +#endif #ifndef MAXPATHLEN #define MAXPATHLEN 1024 @@ -68,13 +78,19 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 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 @@ mac_lseek(self, args) } #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 @@ mac_xstat(self, args) 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 @@ mac_xstat(self, args) (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 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 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 -- cgit v0.12