diff options
Diffstat (limited to 'RISCOS')
-rw-r--r-- | RISCOS/Makefile | 48 | ||||
-rw-r--r-- | RISCOS/Modules/riscosmodule.c | 188 | ||||
-rw-r--r-- | RISCOS/Modules/swimodule.c | 153 | ||||
-rw-r--r-- | RISCOS/pyconfig.h | 13 | ||||
-rw-r--r-- | RISCOS/sleep.c | 4 | ||||
-rw-r--r-- | RISCOS/support/!Boot | 14 | ||||
-rw-r--r-- | RISCOS/support/!Run | 2 |
7 files changed, 397 insertions, 25 deletions
diff --git a/RISCOS/Makefile b/RISCOS/Makefile index bcfca81..97f10fb 100644 --- a/RISCOS/Makefile +++ b/RISCOS/Makefile @@ -7,14 +7,15 @@ CLIB = $(LIBSROOT).clib TCPIPLIB = $(LIBSROOT).TCPIPLibs DLKLIB = $(LIBSROOT).dlk ZLIB = $(LIBSROOT).zlib +BZLIB = $(LIBSROOT).bzlib EXPAT = $(LIBSROOT).expat.lib -OBJSCAN = objscan -MAKEDLK = makedlk +OBJSCAN = $(DLKLIB).objscan +MAKEDLK = $(DLKLIB).makedlk # change from time to time (don't forget to change !Boot also) -TARGET=Python22 -BUILD=25 +TARGET=Python23 +BUILD=40 # @@ -61,14 +62,16 @@ MODULES_DYNAMIC =\ @.^.Lib.array/pyd\ @.^.Lib.audioop/pyd\ @.^.Lib.binascii/pyd\ + @.^.Lib.bz2/pyd\ @.^.Lib.cmath/pyd\ @.^.Lib.cPickle/pyd\ @.^.Lib.cStringIO/pyd\ + @.^.Lib.datetime/pyd\ @.^.Lib.errno/pyd\ @.^.Lib.imageop/pyd\ + @.^.Lib.itertools/pyd\ @.^.Lib.math/pyd\ @.^.Lib.md5/pyd\ - @.^.Lib.new/pyd\ @.^.Lib.operator/pyd\ @.^.Lib.parser/pyd\ @.^.Lib.pcre/pyd\ @@ -93,7 +96,10 @@ MODULES_DYNAMIC =\ @.^.Lib.plat-riscos.swi/pyd\ @.^.Lib._sre/pyd\ @.^.Lib.xxsubtype/pyd\ - @.^.Lib._symtable/pyd + @.^.Lib._symtable/pyd\ + @.^.Lib._random/pyd\ + @.^.Lib.zipimport/pyd\ + @.^.Lib._csv/pyd OBJECTS_PYTHON =\ @@ -125,7 +131,6 @@ OBJECTS_PYTHON =\ @.^.Python.o.ceval\ @.^.Python.o.bltinmodule\ @.^.Python.o.exceptions\ - @.^.Python.o.hypot\ @.^.Python.o.codecs\ @.^.Python.o.symtable\ @.^.Python.o.future @@ -145,16 +150,19 @@ OBJECTS_OBJECTS =\ @.^.Objects.o.sliceobject\ @.^.Objects.o.rangeobject\ @.^.Objects.o.object\ + @.^.Objects.o.obmalloc\ @.^.Objects.o.moduleobject\ @.^.Objects.o.methodobject\ @.^.Objects.o.longobject\ @.^.Objects.o.listobject\ @.^.Objects.o.intobject\ + @.^.Objects.o.boolobject\ @.^.Objects.o.iterobject\ @.^.Objects.o.funcobject\ @.^.Objects.o.frameobject\ @.^.Objects.o.floatobject\ @.^.Objects.o.fileobject\ + @.^.Objects.o.enumobject\ @.^.Objects.o.dictobject\ @.^.Objects.o.complexobject\ @.^.Objects.o.cobject\ @@ -244,16 +252,25 @@ $(LIB_PYTHON): $(OBJECTS) @.^.Lib.cStringIO/pyd: @.^.Modules.o.cStringIO s.linktab $(MAKEDLK) -d @.^.Lib.cStringIO/pyd -s s.linktab -o @.^.Modules.o.cStringIO -e initcStringIO +@.^.Lib._csv/pyd: @.^.Modules.o._csv s.linktab + $(MAKEDLK) -d @.^.Lib._csv/pyd -s s.linktab -o @.^.Modules.o._csv -e init_csv + @.^.Lib.plat-riscos.drawf/pyd: Modules.o.drawfmodule #s.linktab $(LINK) -aof -o Modules.o.drawflink Modules.o.drawfmodule $(OSLIB).o.OSLIB32 $(MAKEDLK) -d @.^.Lib.plat-riscos.drawf/pyd -s s.linktab -o Modules.o.drawflink -e initdrawf +@.^.Lib.datetime/pyd: @.^.Modules.o.datetimemodule s.linktab + $(MAKEDLK) -d @.^.Lib.datetime/pyd -s s.linktab -o @.^.Modules.o.datetimemodule -e initdatetime + @.^.Lib.errno/pyd: @.^.Modules.o.errnomodule #s.linktab $(MAKEDLK) -d @.^.Lib.errno/pyd -s s.linktab -o @.^.Modules.o.errnomodule -e initerrno @.^.Lib.imageop/pyd: @.^.Modules.o.imageop s.linktab $(MAKEDLK) -d @.^.Lib.imageop/pyd -s s.linktab -o @.^.Modules.o.imageop -e initimageop +@.^.Lib.itertools/pyd: @.^.Modules.o.itertoolsmodule s.linktab + $(MAKEDLK) -d @.^.Lib.itertools/pyd -s s.linktab -o @.^.Modules.o.itertoolsmodule -e inititertools + @.^.Lib.math/pyd: @.^.Modules.o.mathmodule s.linktab $(MAKEDLK) -d @.^.Lib.math/pyd -s s.linktab -o @.^.Modules.o.mathmodule -e initmath @@ -324,6 +341,9 @@ $(LIB_PYTHON): $(OBJECTS) @.^.Lib.xxsubtype/pyd: @.^.Modules.o.xxsubtype s.linktab $(MAKEDLK) -d @.^.Lib.xxsubtype/pyd -s s.linktab -o @.^.Modules.o.xxsubtype -e initxxsubtype +@.^.Lib._random/pyd: @.^.Modules.o._randommodule s.linktab + $(MAKEDLK) -d @.^.Lib._random/pyd -s s.linktab -o @.^.Modules.o._randommodule -e init_random + @.^.Lib._symtable/pyd: @.^.Modules.o.symtablemodule s.linktab $(MAKEDLK) -d @.^.Lib._symtable/pyd -s s.linktab -o @.^.Modules.o.symtablemodule -e init_symtable @@ -332,14 +352,14 @@ $(LIB_PYTHON): $(OBJECTS) # Dynamic Modules with other dependencies # @.^.Lib.select/pyd: @.^.Modules.o.selectmodule s.linktab - $(LINK) -aof -o @.^.Modules.o.selectlink @.^.Modules.o.selectmodule $(TCPIPLIB).o.socklib + $(LINK) -aof -o @.^.Modules.o.selectlink @.^.Modules.o.selectmodule $(TCPIPLIB).o.socklib5 $(MAKEDLK) -d @.^.Lib.select/pyd -s s.linktab -o @.^.Modules.o.selectlink -e initselect @.^.Modules.o.selectmodule: @.^.Modules.c.selectmodule $(CC) -I$(TCPIPLIB).include -o $@ @.^.Modules.c.selectmodule @.^.Lib._socket/pyd: @.^.Modules.o.socketmodule s.linktab - $(LINK) -aof -o @.^.Modules.o._socketlink @.^.Modules.o.socketmodule $(TCPIPLIB).o.inetlib $(TCPIPLIB).o.unixlib $(TCPIPLIB).o.socklib + $(LINK) -aof -o @.^.Modules.o._socketlink @.^.Modules.o.socketmodule $(TCPIPLIB).o.inetlib $(TCPIPLIB).o.unixlib $(TCPIPLIB).o.socklib5 $(MAKEDLK) -d @.^.Lib._socket/pyd -s s.linktab -o @.^.Modules.o._socketlink -e init_socket @.^.Modules.o.socketmodule: @.^.Modules.c.socketmodule @@ -353,6 +373,12 @@ $(LIB_PYTHON): $(OBJECTS) @.^.Modules.o.zlibmodule: @.^.Modules.c.zlibmodule $(CC) -I$(ZLIB) -o $@ @.^.Modules.c.zlibmodule +@.^.Lib.bz2/pyd: @.^.Modules.o.bz2module s.linktab + $(LINK) -aof -o @.^.Modules.o.bz2link @.^.Modules.o.bz2module $(BZLIB).bzlib + $(MAKEDLK) -d @.^.Lib.bz2/pyd -s s.linktab -o @.^.Modules.o.bz2link -e initbz2 + +@.^.Modules.o.bz2module: @.^.Modules.c.bz2module + $(CC) -I$(BZLIB) -o $@ @.^.Modules.c.bz2module @.^.Lib.time/pyd: @.^.Modules.o.timemodule s.linktab @.o.sleep $(LINK) -aof -o @.^.Modules.o.timelink @.^.Modules.o.timemodule @.o.sleep $(OSLIB).o.OSLib32 @@ -370,6 +396,10 @@ $(LIB_PYTHON): $(OBJECTS) @.^.Modules.o.pyexpat: @.^.Modules.c.pyexpat $(CCEXPAT) -o $@ @.^.Modules.c.pyexpat +@.^.Lib.zipimport/pyd: @.^.Modules.o.zipimport s.linktab + $(LINK) -aof -o @.^.Modules.o.zipimportlink @.^.Modules.o.zipimport o.unixstuff $(OSLIB).o.OSLib32 + $(MAKEDLK) -d @.^.Lib.zipimport/pyd -s s.linktab -o @.^.Modules.o.zipimportlink -e initzipimport + ########################################################################## # dynamic linking symbol table diff --git a/RISCOS/Modules/riscosmodule.c b/RISCOS/Modules/riscosmodule.c index adcc128..55f189d 100644 --- a/RISCOS/Modules/riscosmodule.c +++ b/RISCOS/Modules/riscosmodule.c @@ -6,6 +6,8 @@ #include "oslib/osfile.h" #include "unixstuff.h" +#include <sys/fcntl.h> + #include "Python.h" #include "structseq.h" @@ -368,6 +370,184 @@ static PyMethodDef riscos_methods[] = { {NULL, NULL} /* Sentinel */ }; +static int +ins(PyObject *module, char *symbol, long value) +{ + return PyModule_AddIntConstant(module, symbol, value); +} + + +static int +all_ins(PyObject *d) +{ +#ifdef F_OK + if (ins(d, "F_OK", (long)F_OK)) return -1; +#endif +#ifdef R_OK + if (ins(d, "R_OK", (long)R_OK)) return -1; +#endif +#ifdef W_OK + if (ins(d, "W_OK", (long)W_OK)) return -1; +#endif +#ifdef X_OK + if (ins(d, "X_OK", (long)X_OK)) return -1; +#endif +#ifdef NGROUPS_MAX + if (ins(d, "NGROUPS_MAX", (long)NGROUPS_MAX)) return -1; +#endif +#ifdef TMP_MAX + if (ins(d, "TMP_MAX", (long)TMP_MAX)) return -1; +#endif +#ifdef WCONTINUED + if (ins(d, "WCONTINUED", (long)WCONTINUED)) return -1; +#endif +#ifdef WNOHANG + if (ins(d, "WNOHANG", (long)WNOHANG)) return -1; +#endif +#ifdef WUNTRACED + if (ins(d, "WUNTRACED", (long)WUNTRACED)) return -1; +#endif +#ifdef O_RDONLY + if (ins(d, "O_RDONLY", (long)O_RDONLY)) return -1; +#endif +#ifdef O_WRONLY + if (ins(d, "O_WRONLY", (long)O_WRONLY)) return -1; +#endif +#ifdef O_RDWR + if (ins(d, "O_RDWR", (long)O_RDWR)) return -1; +#endif +#ifdef O_NDELAY + if (ins(d, "O_NDELAY", (long)O_NDELAY)) return -1; +#endif +#ifdef O_NONBLOCK + if (ins(d, "O_NONBLOCK", (long)O_NONBLOCK)) return -1; +#endif +#ifdef O_APPEND + if (ins(d, "O_APPEND", (long)O_APPEND)) return -1; +#endif +#ifdef O_DSYNC + if (ins(d, "O_DSYNC", (long)O_DSYNC)) return -1; +#endif +#ifdef O_RSYNC + if (ins(d, "O_RSYNC", (long)O_RSYNC)) return -1; +#endif +#ifdef O_SYNC + if (ins(d, "O_SYNC", (long)O_SYNC)) return -1; +#endif +#ifdef O_NOCTTY + if (ins(d, "O_NOCTTY", (long)O_NOCTTY)) return -1; +#endif +#ifdef O_CREAT + if (ins(d, "O_CREAT", (long)O_CREAT)) return -1; +#endif +#ifdef O_EXCL + if (ins(d, "O_EXCL", (long)O_EXCL)) return -1; +#endif +#ifdef O_TRUNC + if (ins(d, "O_TRUNC", (long)O_TRUNC)) return -1; +#endif +#ifdef O_BINARY + if (ins(d, "O_BINARY", (long)O_BINARY)) return -1; +#endif +#ifdef O_TEXT + if (ins(d, "O_TEXT", (long)O_TEXT)) return -1; +#endif +#ifdef O_LARGEFILE + if (ins(d, "O_LARGEFILE", (long)O_LARGEFILE)) return -1; +#endif + +/* MS Windows */ +#ifdef O_NOINHERIT + /* Don't inherit in child processes. */ + if (ins(d, "O_NOINHERIT", (long)O_NOINHERIT)) return -1; +#endif +#ifdef _O_SHORT_LIVED + /* Optimize for short life (keep in memory). */ + /* MS forgot to define this one with a non-underscore form too. */ + if (ins(d, "O_SHORT_LIVED", (long)_O_SHORT_LIVED)) return -1; +#endif +#ifdef O_TEMPORARY + /* Automatically delete when last handle is closed. */ + if (ins(d, "O_TEMPORARY", (long)O_TEMPORARY)) return -1; +#endif +#ifdef O_RANDOM + /* Optimize for random access. */ + if (ins(d, "O_RANDOM", (long)O_RANDOM)) return -1; +#endif +#ifdef O_SEQUENTIAL + /* Optimize for sequential access. */ + if (ins(d, "O_SEQUENTIAL", (long)O_SEQUENTIAL)) return -1; +#endif + +/* GNU extensions. */ +#ifdef O_DIRECT + /* Direct disk access. */ + if (ins(d, "O_DIRECT", (long)O_DIRECT)) return -1; +#endif +#ifdef O_DIRECTORY + /* Must be a directory. */ + if (ins(d, "O_DIRECTORY", (long)O_DIRECTORY)) return -1; +#endif +#ifdef O_NOFOLLOW + /* Do not follow links. */ + if (ins(d, "O_NOFOLLOW", (long)O_NOFOLLOW)) return -1; +#endif + + /* These come from sysexits.h */ +#ifdef EX_OK + if (ins(d, "EX_OK", (long)EX_OK)) return -1; +#endif /* EX_OK */ +#ifdef EX_USAGE + if (ins(d, "EX_USAGE", (long)EX_USAGE)) return -1; +#endif /* EX_USAGE */ +#ifdef EX_DATAERR + if (ins(d, "EX_DATAERR", (long)EX_DATAERR)) return -1; +#endif /* EX_DATAERR */ +#ifdef EX_NOINPUT + if (ins(d, "EX_NOINPUT", (long)EX_NOINPUT)) return -1; +#endif /* EX_NOINPUT */ +#ifdef EX_NOUSER + if (ins(d, "EX_NOUSER", (long)EX_NOUSER)) return -1; +#endif /* EX_NOUSER */ +#ifdef EX_NOHOST + if (ins(d, "EX_NOHOST", (long)EX_NOHOST)) return -1; +#endif /* EX_NOHOST */ +#ifdef EX_UNAVAILABLE + if (ins(d, "EX_UNAVAILABLE", (long)EX_UNAVAILABLE)) return -1; +#endif /* EX_UNAVAILABLE */ +#ifdef EX_SOFTWARE + if (ins(d, "EX_SOFTWARE", (long)EX_SOFTWARE)) return -1; +#endif /* EX_SOFTWARE */ +#ifdef EX_OSERR + if (ins(d, "EX_OSERR", (long)EX_OSERR)) return -1; +#endif /* EX_OSERR */ +#ifdef EX_OSFILE + if (ins(d, "EX_OSFILE", (long)EX_OSFILE)) return -1; +#endif /* EX_OSFILE */ +#ifdef EX_CANTCREAT + if (ins(d, "EX_CANTCREAT", (long)EX_CANTCREAT)) return -1; +#endif /* EX_CANTCREAT */ +#ifdef EX_IOERR + if (ins(d, "EX_IOERR", (long)EX_IOERR)) return -1; +#endif /* EX_IOERR */ +#ifdef EX_TEMPFAIL + if (ins(d, "EX_TEMPFAIL", (long)EX_TEMPFAIL)) return -1; +#endif /* EX_TEMPFAIL */ +#ifdef EX_PROTOCOL + if (ins(d, "EX_PROTOCOL", (long)EX_PROTOCOL)) return -1; +#endif /* EX_PROTOCOL */ +#ifdef EX_NOPERM + if (ins(d, "EX_NOPERM", (long)EX_NOPERM)) return -1; +#endif /* EX_NOPERM */ +#ifdef EX_CONFIG + if (ins(d, "EX_CONFIG", (long)EX_CONFIG)) return -1; +#endif /* EX_CONFIG */ +#ifdef EX_NOTFOUND + if (ins(d, "EX_NOTFOUND", (long)EX_NOTFOUND)) return -1; +#endif /* EX_NOTFOUND */ + + return 0; +} void @@ -376,10 +556,14 @@ initriscos() PyObject *m, *d, *stat_m; m = Py_InitModule("riscos", riscos_methods); + + if (all_ins(m)) + return; + d = PyModule_GetDict(m); - /* Initialize riscos.error exception */ - PyDict_SetItemString(d, "error", PyExc_OSError); + Py_INCREF(PyExc_OSError); + PyModule_AddObject(m, "error", PyExc_OSError); PyStructSequence_InitType(&StatResultType, &stat_result_desc); PyDict_SetItemString(d, "stat_result", (PyObject*) &StatResultType); diff --git a/RISCOS/Modules/swimodule.c b/RISCOS/Modules/swimodule.c index ec02ae7..583fc57 100644 --- a/RISCOS/Modules/swimodule.c +++ b/RISCOS/Modules/swimodule.c @@ -11,6 +11,9 @@ * Added swi.ArgError which is generated for errors when the user passes invalid arguments to functions etc * Added "errnum" attribute to swi.error, so one can now check to see what the error number was + + 1.02 03 March 2002 Dietmar Schwertberger + * Added string, integer, integers, tuple and tuples */ #include "oslib/os.h" @@ -412,13 +415,155 @@ static PyObject *swi_swi(PyObject *self,PyObject *args) fail:Py_DECREF(result);return 0; } +static PyObject *swi_string(PyObject *self, PyObject *arg) +{ char *s; + int l=-1; + if(!PyArg_ParseTuple(arg,"i|i",(unsigned int *)&s, &l)) return NULL; + if (l==-1) + l = strlen(s); + return PyString_FromStringAndSize((char*)s, l); +} + +static char swi_string__doc__[] = +"string(address[, length]) -> string\n\ +Read a null terminated string from the given address."; + + +static PyObject *swi_integer(PyObject *self, PyObject *arg) +{ int *i; + + if(!PyArg_ParseTuple(arg,"i",(unsigned int *)&i)) + return NULL; + return PyInt_FromLong(*i); +} + +static char swi_integer__doc__[] = +"integer(address) -> string\n\ +Read an integer from the given address."; + + +static PyObject *swi_integers(PyObject *self, PyObject *arg) +{ int *i; + int c=-1; + PyObject *result, *result1; + + if(!PyArg_ParseTuple(arg,"i|i",(unsigned int *)&i, &c)) return NULL; + result=PyList_New(0); + if (result) { + while ( c>0 || (c==-1 && *i) ) { + result1 = PyInt_FromLong((long)*i); + if (!result1) { + Py_DECREF(result); + return NULL; + } + if (PyList_Append(result, result1)!=0) { + Py_DECREF(result); + Py_DECREF(result1); + return NULL; + }; + i++; + if (c!=-1) + c--; + } + } + return result; +} + +static char swi_integers__doc__[] = +"integers(address[, count]) -> string\n\ +Either read a null terminated list of integers or\n\ +a list of given length from the given address."; + + +static PyObject *swi_tuples(PyObject *self, PyObject *arg) +{ + unsigned char *i; /* points to current */ + int c=-1, l=4, j, zero; /* count, length, index */ + PyObject *result, *result1, *result11; + + if(!PyArg_ParseTuple(arg,"i|ii",(unsigned int *)&i, &l, &c)) return NULL; + result=PyList_New(0); + if (result) { + while (c) { + result1 = PyTuple_New(l); + if (!result1) { + Py_DECREF(result); + return NULL; + } + zero = (c==-1); /* check for zeros? */ + for(j=0;j<l;j++) { + if (zero && *i) + zero = 0; /* non-zero found */ + result11 = PyInt_FromLong((long)(*i)); + if (!result11) { + Py_DECREF(result); + return NULL; + } + PyTuple_SetItem(result1, j, result11); + i++; + } + if (c==-1 && zero) { + Py_DECREF(result1); + c = 0; + break; + } + if (PyList_Append(result, result1)!=0) { + Py_DECREF(result1); + Py_DECREF(result); + return NULL; + } + if (c!=-1) + c--; + } + } + return result; +} + +static char swi_tuples__doc__[] = +"tuples(address[, length=4[, count]]) -> string\n\ +Either read a null terminated list of byte tuples or\n\ +a list of given length from the given address."; + + +static PyObject *swi_tuple(PyObject *self, PyObject *arg) +{ + unsigned char *i; /* points to current */ + int c=1, j; + PyObject *result, *result1; + + if(!PyArg_ParseTuple(arg,"i|i",(unsigned int *)&i, &c)) return NULL; + result = PyTuple_New(c); + if (!result) + return NULL; + for(j=0;j<c;j++) { + result1 = PyInt_FromLong((long)(i[j])); + if (!result1) { + Py_DECREF(result); + return NULL; + } + PyTuple_SetItem(result, j, result1); + } + return result; +} + +static char swi_tuple__doc__[] = +"tuple(address[, count=1]]) -> tuple\n\ +Read count bytes from given address."; + + static PyMethodDef SwiMethods[]= -{ { "swi",swi_swi,1}, - { "block",PyBlock_New,1}, - { "register",PyRegister,1}, - { NULL,NULL} /* Sentinel */ +{ { "swi", swi_swi,1}, + { "block", PyBlock_New,1}, + { "register", PyRegister,1}, + { "string", swi_string,METH_VARARGS, swi_string__doc__}, + { "integer", swi_integer,METH_VARARGS, swi_integer__doc__}, + { "integers", swi_integers,METH_VARARGS, swi_integers__doc__}, + { "tuples", swi_tuples,METH_VARARGS, swi_tuples__doc__}, + { "tuple", swi_tuple,METH_VARARGS, swi_tuple__doc__}, + { NULL,NULL,0,NULL} /* Sentinel */ }; + void initswi() { PyObject *m, *d; m = Py_InitModule("swi", SwiMethods); diff --git a/RISCOS/pyconfig.h b/RISCOS/pyconfig.h index 7a5a13c..028ed62 100644 --- a/RISCOS/pyconfig.h +++ b/RISCOS/pyconfig.h @@ -143,7 +143,7 @@ #undef HAVE_LARGEFILE_SUPPORT /* Define this if you have the type long long */ -#undef HAVE_LONG_LONG +#define HAVE_LONG_LONG /* Define if your compiler supports function prototypes */ #define HAVE_PROTOTYPES 1 @@ -244,6 +244,9 @@ shared libraries */ #undef WITH_DL_DLD +/* Define if you want to read files with foreign newlines. */ +#define WITH_UNIVERSAL_NEWLINES 1 + /* Define if you want documentation strings in extension modules */ #define WITH_DOC_STRINGS 1 @@ -253,7 +256,7 @@ #undef WITH_DYLD /* Define if you want to compile in Python-specific mallocs */ -#undef WITH_PYMALLOC +#define WITH_PYMALLOC 1 /* Define if you want to produce an OpenStep/Rhapsody framework (shared library plus accessory files). */ @@ -291,7 +294,7 @@ #define SIZEOF_LONG 4 /* The number of bytes in a long long. */ -#undef SIZEOF_LONG_LONG +#define SIZEOF_LONG_LONG 8 /* The number of bytes in a short. */ #define SIZEOF_SHORT 2 @@ -396,7 +399,7 @@ #undef HAVE_GETNAMEINFO /* Define if you have the getpeername function. */ -#undef HAVE_GETPEERNAME +#define HAVE_GETPEERNAME /* Define if you have the getpgid function. */ #undef HAVE_GETPGID @@ -423,7 +426,7 @@ #undef HAVE_HSTRERROR /* Define if you have the hypot function. */ -#undef HAVE_HYPOT +#define HAVE_HYPOT /* Define if you have the inet_pton function. */ #define HAVE_INET_PTON 1 diff --git a/RISCOS/sleep.c b/RISCOS/sleep.c index 60c3768..c85eb86 100644 --- a/RISCOS/sleep.c +++ b/RISCOS/sleep.c @@ -7,11 +7,11 @@ #include "Python.h" -int sleep(double delay) +int riscos_sleep(double delay) { os_t starttime, endtime, time; /* monotonic times (centiseconds) */ int *pollword, ret; - bool claimed; + osbool claimed; /* calculate end time */ starttime = os_read_monotonic_time(); diff --git a/RISCOS/support/!Boot b/RISCOS/support/!Boot index c2c6644..d3600b8 100644 --- a/RISCOS/support/!Boot +++ b/RISCOS/support/!Boot @@ -6,7 +6,17 @@ IconSprites <Obey$Dir>.!Sprites <Obey$Dir>.AddToPath Python$Path PythonApp:Lib <Obey$Dir>.AddToPath Python$Path PythonApp:Lib.plat-riscos <Obey$Dir>.AddToPath Python$Path PythonApp:Lib.site-packages -set Alias$@RunType_ae5 TaskWindow |"python %%*0|" -name |"Python|" -quit +set Alias$@RunType_ae5 TaskWindow |"python %%*0|" -name |"Python|" -quit -wimpslot 1248k | -display set File$Type_ae5 Python -set Alias$Python Run <Python$Dir>.python22 %*0
\ No newline at end of file + +| load modules for 32 bit compatibility +RMEnsure UtilityModule 3.10 Error This application requires RISC OS 3.10 or later +RMEnsure UtilityModule 3.70 RMEnsure CallASWI 0.02 RMLoad System:Modules.CallASWI +RMEnsure UtilityModule 3.70 RMEnsure CallASWI 0.02 Error This application requires CallASWI 0.02 or later +RMEnsure FPEmulator 4.03 RMLoad System:Modules.FPEmulator +RMEnsure FPEmulator 4.03 Error This application requires FPEmulator 4.03 or later +RMEnsure SharedCLibrary 5.17 RMLoad System:Modules.CLib +RMEnsure SharedCLibrary 5.34 Error This application requires SharedCLibrary 5.34 or later + +set Alias$Python Run <Python$Dir>.python23 %*0
\ No newline at end of file diff --git a/RISCOS/support/!Run b/RISCOS/support/!Run index 6919579..2964e0a 100644 --- a/RISCOS/support/!Run +++ b/RISCOS/support/!Run @@ -1,2 +1,2 @@ <Obey$Dir>.!Boot -TaskWindow "python" -name "Python" -quit -display
\ No newline at end of file +TaskWindow "python" -name "Python" -quit -display -wimpslot 1248k
\ No newline at end of file |