
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 <protos.h> to Include/Python.h.

16. Added Amiga specific #defines to Include/osdefs.h

17. Added #include <proto/socket.h> 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 <proto/usergroup.h> (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
	Added err.text=NULL at line 521

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
	Added Amiga version of check_case: now the imports are case sensitive

48. Added proto for hypot in Python/hypot.c

49. Added proto for zapthreads to Python/pystate.c

50. Added AMIGA version string to Modules/getbuildinfo.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

							------------------

1.  Changed linking with Kick 3.0+ only mempools lib back to 2.0 compatible
    mempools lib.

2.  Moved Amiga version string from Python/getcompiler.c to Modules/
    getbuildinfo.c and changed makefiles to reflect this.
    (the $VER string wasn't updated when recompiling Python...)

3.  Some build process changes:
    The build version is no longer increased each time Python is compiled.
    Use 'make newbuild' to increase it manually.
    Also, the python_net.lib has been renamed to amigapython.lib and
    is placed directly in the Amiga/ subdirectory. The other files which
    were there are moved to a new Amiga_Misc/ directory.


------------------------- RELEASED ......  -----------------------




	Irmen de Jong
	irmen@bigfoot.com
	27-sep-98

