summaryrefslogtreecommitdiffstats
path: root/Mac/MPW
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1994-09-09 12:10:21 (GMT)
committerGuido van Rossum <guido@python.org>1994-09-09 12:10:21 (GMT)
commitc0af2aafeb8fbbba05e65b7e833f23b49a7af2a2 (patch)
tree7c1bf0253ef1e838a54bfcf3bb0590b9c239af44 /Mac/MPW
parent6522eb0400ef5aef9d74d371638ec8b6757e1f39 (diff)
downloadcpython-c0af2aafeb8fbbba05e65b7e833f23b49a7af2a2.zip
cpython-c0af2aafeb8fbbba05e65b7e833f23b49a7af2a2.tar.gz
cpython-c0af2aafeb8fbbba05e65b7e833f23b49a7af2a2.tar.bz2
Add'l notes by Guido
Diffstat (limited to 'Mac/MPW')
-rw-r--r--Mac/MPW/README61
1 files changed, 59 insertions, 2 deletions
diff --git a/Mac/MPW/README b/Mac/MPW/README
index 004ea43..f63b106 100644
--- a/Mac/MPW/README
+++ b/Mac/MPW/README
@@ -45,5 +45,62 @@ at the end of the function "finddfa", line 46,
try defining the preprocessor symbol "MPW_881_BUG" in
file "Parser:acceler.c", function "fixstate", line 107.
-XXX Note that you have to edit test_grammar.py because of a bug
-in int overflow det that I haven't found yet.
+---------------------------------------------------------------
+
+Additional notes by Guido for Python 1.1:
+-----------------------------------------
+
+I have tried this with MPW 3.2 and tweaked Richards Makefiles and
+buildall script slightly to work with Python 1.1. The same configure
+file now works for THINK C 6.0 and MPW 3.2. It is essential that
+'MPW' is defined when compiling with MPW; for both compilers,
+'HAVE_CONFIG_H' should also be defined. For MPW, the buildall script
+takes care of this.
+
+I moved some files around or renamed them and modified the Makefiles
+accordingly. All Mac specific files are now in the Mac subdirectory,
+especially config.c, config.h, macmodule.c, and (new) macmain.c.
+
+I wouldn't bother with the Grammar subdirectory or the Parser generator
+(Pgen) -- the needed Pgen output files are part of the distribution.
+
+If the buildall script stops at a compilation error you are usually
+left in one of the subordinate directories.
+
+Instead of using the buildall script you can also once execute the Set
+and Export commands listed at its top (which set compiler and linker
+options) and in each of the directories Mac, Parser, Python, Objects,
+Modules and finally the python rot directory, execute the two command
+
+ make >makefile.out
+ makefile.out
+
+Or you could execute
+
+ make
+
+have a look at its output and execute selected commands from it.
+
+The buildall script executes
+
+ Directory {Python}
+
+which normally prints the current directory, because {Python}
+is not defined. If it is set to the python root directory,
+you could place buildall somewhere in your command search path and
+execute it from anywhere.
+
+If you are mixing THINK C and MPW, you may experience weird errors
+in correct modules. These disappear when you throw away the
+module's .pyc file. The errors usually have to do with string
+literals containing '\n' or '\r'. The reason is an incompatibility
+between their handling of '\n' and '\r' -- in MPW C, '\n' actually is
+ASCII CR while '\r' is ASCII LF, which is the reverse situation from
+any other ASCII based C implementation. This behaviour is inherited
+by Python compiled with MPW C. This is normally not a problem,
+but *binary* files written by one system will be mis-interpreted
+by the other, and this is what happens to the .pyc files. There is no
+easy way to fix this in the source. (This is a real shame, since the
+format of .pyc files was carefully designed to be independent of
+byte order and integer size -- deviations in the ASCII character codes
+were never anticipated.)