Changes to the original 1.5.1 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. (The Amiga specific sources are taken from the 1.4 version from april 1998 and adapted to 1.5) 1. Made custom Include/config.h by hand for AmigaDOS+SAS/C+AmiTCP. 2. Made custom Modules/config.c by hand for Amiga version of Python. 3. Added custom Amiga module `environment' (Modules/environment.c). 4. Added custom Amiga module `amiga' (Modules/amigamodule.c). 5. Added custom Amiga module `arexxll' (Modules/arexxmodule.c). 6. Added custom Amiga module `doslib' (Modules/doslibmodule.c). 7. Added custom module `urlop' (Modules/urlopmodule.c). 8. Added subdir Amiga 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 9. 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) 10. 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) 11. Added Prototype files for many source files. See `protos' directories in: Modules, Objects, Parser, Python. 12. Added Amiga/Python_netlib/wbargs.c for better Workbench icon/tooltypes support (adapted from source provided with SAS/C) 13. Removed definition of struct _node in Include/compile.h for SASC. 14. Changed in Include/mymath.h: Added SAS math includes 15. Added Include/protos.h file containing a bunch of function prototypes. Added #include to Include/Python.h. 16. Added Amiga specific #defines to Include/osdefs.h 17. Added #include to Include/myselect.h for AMITCP 18. Fixed proto for initfunc in Include/import.h 19. Added proto for PyFloat_AsString in Include/floatobject.h 20. Added #Include for fcntl.h to Include/Python.h 21. Added proto for xxxPyCObject_Import in Include/cStringIO.h 22. Fixed unsigned char bytes in Modules/binascii.c. 23. Added #include (when AMITCP is defined) to: Modules/pwdmodule.c Modules/grpmodule.c Modules/cryptmodule.c 24. Changes to Modules/main.c: Added 2 missing prototypes Added Amiga specific usage text Added SAS/C stack setting etc Added AmiTCP init & cleanup functions to Modules/main.c (checkXXXXlib functions) 25. Changes to Modules/socketmodule.c: Added check for AMITCP for proto of gethostname() Changed use of fnctl to IoctlSocket (for s.setblocking) Added AMITCP includes Added a couple of #defines for AMITCP API Clear socket buffer for new socket (PySocketSock_New) Added proto for PySocket_Err 26. Implemented AMITCP version of select call (with optional 5th parameter) in Modules/select.c 27. Changed Modules/md5c.c to use regular memcpy and memset 28. Changed in Modules/sysmodule.c: added code for correct behavior of setpythonargv() on Amiga 29. Changes to Modules/getpath.c: Changed #if to #ifdef added #include "protos.h" added Amiga version of PYTHONPATH #define added Amiga versions for getting full path of executable, reduce, checking if path is relative, ... 30. Changes to Modules/timemodule.c: Fixed proto for floattime() Added code for floatsleep() on AMIGA in Modules/timemodule.c 31. Added checks for bsdsocket.library (checkbsdsocketlib) in: Modules/syslogmodule.c Modules/socketmodule.c Modules/selectmodule.c 32. Fixed toupper macro in Modules/soundex.c 33. Added checks for usergroup.library (checkusergrouplib) in: Modules/pwdmodule.c Modules/grpmodule.c Modules/cryptmodule.c 34. Changes in Modules/cPickle.c: Fixed proto for put2 & save Fixed proto for write_func in Picklerobject Fixed proto for readline_func & read_func in Unpicklerobject 35. Fixed proto of Py_GetBuildInfo in Modules/getbuildinfo.c 36. Added proto for Py_Main in Modules/python.c 37. Added proto for initcPickle in Modules/cPickle.c 38. Added proto for initcStringIO in Modules/cStringIO.c 39. (undone) 40. Added funcdefmacros with prototypes to Modules/mathmodule.c, Modules/cmathmodule.c and Modules/operator.c 41. Changed in Parser/intrcheck.c: Added testcase for AMIGA for intcatcher prototype Added #include for fcntl.h Added SAS/C specific ^C handling 42. Fixed proto for InputHook in Parser/myreadline.c, and added #include "pythonrun.h" to it. 43. Changes to Python/pythonrun.c: Fixed `BYTE' symbol clash Added proto for exitfuncs, parse_syntax_error Case insensitive match for .pyc and .pyo 44. Fixed prototypes in Python/mystrtoul.c 45. Added proto to Python/getmtime.c (PyOS_GetLastModificationTime) 46. Added stack checking code to Python/sigcheck.c 47. Changed in Python/import.c: Fixed path building in find_module, now uses dos.library/AddPart Fixed proto for getmtime 48. Added proto for hypot in Python/hypot.c 49. Added proto for zapthreads to Python/pystate.c 50. Added AMIGA version string to Python/getversion.c 51. Added platform 'amiga' to Python/getplatform.c 52. Added compiler string to Python/getcompiler.c (Changed the version string to be dynamically generated with SAS/C) 53. 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) 54. Slight changes in the testset (Lib/test): test_select.py (can't be easily tested on amiga - not on files) 55. Change in Objects/longobject.c (line 1488) changed sizeof(PyLongObject) to sizeof(struct _longobject) because of illegal sizeof expression (?) 56. Changes in Objects/classobject.c: added #include for the proto headers added prototyped version of UNARY macro 57. Added Guido's fix for bug in ceval.c (in DELETE_FAST block). (the bug was: no NameError exception when deleting unknown symbol within a function) ------------------------- RELEASED ...... ----------------------- BUG FIXES ------------------ None, yet. Irmen de Jong ijong@gak.nl 6-jun-98