Changes to the original 1.5.2 source code distribution: ------------------------------------------------------- General: At different places I've added, removed or changed some code. I tried to do this by using the preprocessor symbols: _AMIGA : Defined when compiling on Amiga. Indicates Amiga specific code. __SASC : Defined when compiling with the SAS/C compiler. Indicates SAS/C specific code. AMITCP : Defined when using AmiTCP as networking software. Indicates AmiTCP specific code, but maybe this is easily converted to, say, Inet. INET225: Defined when using INET-225 as networking software. Added subdir Amiga_Misc with: README - small describing text mkdiffs.py - makes diffs against original distribution Diffs/ - output dir for mkdiff.py make_gst.c - for building the GST Python_netlib/ - contains source for python_net.lib python_net.lib - custom version of AmiTCP's net.lib, including some additional code like custom WB startup, environment functions etc. DISCL_and_COPYRIGHT - my disclaimer & CWI's copyright message testset/ - additional tests for Amiga modules unused/ - currently unused stuff Docs/ - Amiga docs for distribution - Supplied custom makefile for Amiga's SAS/C: SMAKEFILE. Supplied SAS/C compiler options file: SCOPTIONS. You don't need any of the original makefiles (just delete them if you like). (new since 1.5: SMAKEFILE splitted, one for each main directory) - Created Include/config.h - Created Include/protos.h - Created Modules/config.c - Created Modules/environment.c - Created Modules/amigamodule.c - Created Modules/ARexxmodule.c - Created Modules/Doslibmodule.c - Changes to library files in Lib drawer. These changes are also documented in the README file. Files involved: os.py (amiga additions) tempfile.py (temp path try order is: T:, :T, SYS:T) posixpath.py (stub for old posixpath.py) amigapath.py (amiga's replacement for posixpath.py) - Slight changes in the testset (Lib/test): test_select.py (can't be easily tested on amiga - not on files) - Added Lib/plat-amiga directory with files. - Created Lib/lib-dynload directory to fix sys.exec_prefix behavior. - Moved some unneeded files from parser to Parser/NON-AMIGA, from Modules to Modules/NON-AMIGA, from Lib to Lib/NON-AMIGA, and from Python to Python/NON-AMIGA. (these files are not included in the source archive for space reasons) - Added Prototype files for many source files. See `protos' directories in: Modules, Objects, Parser, Python. Modules/main.c: - Added Amiga version string ($VER) - Added AmiTCP/INET init & cleanup functions to Modules/main.c (checkXXXXlib functions) Modules/getpath.c: - changed #if to #ifdef - added Amiga version of PYTHONPATH #define - added Amiga versions for getting full path of executable, reduce, checking if path is relative, ... Modules/mathmodule.c: - added prototyped versions of function macros, and for SAS/C, versions which call the math functions directly. Calling them through a function pointer (the default) results in bigger code and rounding errors (!?) Modules/md5c.c: - added lines to use regular memcpy and memset on AMIGA Modules/soundex.c: - undef'd toupper macro Modules/socketmodule.c: - added check(s) for _AMIGA - Added AMITCP/INET includes - Added a couple of #defines for AMITCP/INET API - Changed use of fcntl to IoctlSocket (for s.setblocking) - Clear socket buffer for new socket (PySocketSock_New) Modules/selectmodule.c: - Added Amiga's version of select funcion (with optional 5th parameter) Modules/timemodule.c: - fixed proto for floattime() - added code for floatsleep() (uses select() if available) Modules/binascii.c: - fixed unsigned char bytes Modules/cmathmodule.c: - added function definition macros with prototypes Modules/cPickle.c: - fixed proto for put2 & save - added proto for write_func in Picklerobject - added proto for read_func and readline_func in Unpicklerobject Modules/cryptmodule.c: - added AMITCP/INET includes Modules/pwdmodule.c: - added AMITCP/INET includes - added AMITCP/INET code changes Modules/grpmodule.c: - added AMITCP/INET includes Modules/syslogmodule.c: - added AMITCP/INET includes - added AMITCP/INET code changes Modules/operator.c: - added function def macros with prototypes Modules/getbuildinfo.c: - added proto for Py_GetBuildInfo Include/osdefs.h: - added AMIGA specific #defines Include/myselect.h: - added #include for AMITCP/INET Include/mymath.h: - added SAS/C math includes Include/compile.h: - removed _node decl for SAS/C Include/bitset.h: - replaced BYTE def on _AMIGA with #include Include/Python.h: - added #include "protos.h" - added #include Include/Import.h: - fixed proto for initfunc Include/cStringIO.h: - added prototype for xxxPyCObject_Import Objects/longobject.c: (line 1787) - changed sizeof(PyLongObject) to sizeof(struct _longobject) because of illegal sizeof expression (?) Objects/classobject.c: - added prototyped version of UNARY macro Parser/intrcheck.c: - Added test for AMIGA for intcatcher prototype - Added #include for fcntl.h - Added SAS/C specific ^C handling Python/sysmodule.c: - Added code for absolute path check in PySys_SetArgv Python/import.c: - Fixed proto for GetLastModificationTime - Fixed path building in find_module, now uses dos.library/AddPart - Added Amiga version of check_case: now the imports are case sensitive Python/pythonrun.c: - Added proto for exitfuncs, parse_syntax_error - Case insensive filename match for .pyc and .pyo Python/sigcheck.c: - Added stack checking code