mirror of
https://github.com/python/cpython.git
synced 2024-11-24 00:38:00 +01:00
Add'l notes by Guido
This commit is contained in:
parent
6522eb0400
commit
c0af2aafeb
@ -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.)
|
||||
|
Loading…
Reference in New Issue
Block a user