summaryrefslogtreecommitdiffstats
path: root/Mac/Relnotes-1.2
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Relnotes-1.2')
-rw-r--r--Mac/Relnotes-1.2169
1 files changed, 0 insertions, 169 deletions
diff --git a/Mac/Relnotes-1.2 b/Mac/Relnotes-1.2
deleted file mode 100644
index f11e343..0000000
--- a/Mac/Relnotes-1.2
+++ /dev/null
@@ -1,169 +0,0 @@
-BUILDING PYTHON 1.2 FOR THE MACINTOSH
-*************************************
-
-Python can be built on the Mac using either THINK C 6.0 (or 7.0), or
-CodeWarrior 5.0 (for 68K and PPC). In the past it has also been compiled
-with earlier versions of Think, but no guarantees are made that the
-source is still compatible with those versions. (Think C 5.0 appears
-to be OK.) Likewise, new compiler versions may effectively change the
-language accepted (or the library provided!) and thus cause problems.
-
-MPW is a special case -- it used to be possible to build Python as
-an MPW tool using MPW 3.2, and this may still work, but I haven't
-tried this lately. What I have tried, however, is building Python
-as a shared library for CFM-68K, using the Symantec C compiler for MPW.
-See subdirectory MPW and the README file there for more info.
-
-
-1. Using Think C 6.0 (or 7.0)
-=============================
-
-1.1 The directory structure
----------------------------
-
-I duplicate the UNIX directory structure from the distribution. The
-subdirectories needed to compile are: Mac, Include, Parser, Python,
-Objects, Modules. (Don't bother with Grammar and the parser
-generator, nor with the Doc subdirectory.)
-
-For running and testing, you also need Lib and its subdirectories test
-and stdwin. You could also copy some things from the Demo/stdwin
-directory (unfortunately most other demos are UNIX specific and even
-many stdwin demos are).
-
-Make sure there is no config.c file in the Modules subdirectory (if
-you copy from a directory where you have done a UNIX build this might
-occur). Also don't use the config.h generated on UNIX.
-
-1.2 The project file
---------------------
-
-I put all source files in one project, which I place in the parent
-directory of the source directories.
-
-1.2.1 Project type
-
-(This is the Set Project Type... dialog in the Project menu.)
-
-Set the creator to PYTH; turn on "far data"; leave "far code" and
-"separate strs" unchecked (they just serve to bloat the application).
-A partition size of 1000K should be enough to run the standard test
-suite (which requires a lot of memory because it stress tests the
-parser quite a bit) and most demos or medium-size applications. The
-interpreter will do basic things in as little at 500K but this may
-prevent parsing larger modules.
-
-1.2.2 Compiler options
-
-(This is the Options -> THINK C ... dialog in the Edit menu.)
-
- - Start with Factory Settings.
-
- - In the Prefix, remove #include <MacHeaders> and add
- #define HAVE_CONFIG_H
-
- - Choose any optimizer and debugger settings you like. - You
- can choose 4-byte ints if you want. This requires that you
- rebuild the ANSI and unix libraries with 4-bytes ints as well
- (better make copies with names like ANSI 32 bit). With 4-byte
- ints the interpreter is marginally bigger and somewhat (~10%)
- slower, but Python programs can use strings and lists with
- more than 32000 items (with 2-byte ints these can cause
- crashes). The range of Python integers is not affected (these
- are always represented as longs). In fact, nowadays I always
- use 4-byte integers, since it is actually rather annoying that
- strings >= 64K cause crashes.
-
-1.2.3 Files to add
-
-(This is the Add Files... dialog in the Source menu.)
-
-The following source files must be added to the project. I use a
-separate segment for each begin letter -- this avoids segment
-overflow, except for 'c', where you have to put either ceval.c or
-compile.c in a separate segment. You could also group them by
-subdirectory or function, but you may still have to split segments
-arbitrarily because of the 32000 bytes restriction.
-
- - From Mac: all .c files.
-
- - From Parser: acceler.c, grammar1.c,
- myreadline.c, node.c, parser.c, parsetok.c, tokenizer.c.
-
- - From Python: bltinmodule.c, ceval.c, cgensupport.c,
- compile.c, errors.c, getargs.c getopt.c, graminit.c, import.c,
- importdl.c, marshal.c, modsupport.c, mystrtoul.c,
- pythonmain.c, pythonrun.c, sigcheck.c, structmember.c,
- sysmodule.c, traceback.c (i.e. all .c files except dup2.c,
- fmod.c, frozenmain.c, getcwd.c, getmtime.c, memmove.c,
- sigcheck.c, strerror.c, strtod.c, thread.c)
-
- - From Objects: all .c files except xxobject.c.
-
- - From Modules: all the modules listed in config.c (in the Mac
- subdirectory) in the initializer for inittab[], before
- "ADDMODULE MARKER 2". Also add md5c.c if you add md5module.c,
- and regexpr.c if you add regexmodule.c. (You'll find
- macmodule.c in the Mac subdirectory, so it should already have
- been added in a previous step.) Note that for most modules,
- the source file is called <name>module.c, but for a few long
- module names it is just <module>.c. Don't add stdwinmodule.c
- yet,
-
-The following THINK C libraries must be added: from Standard
-Libraries, ANSI and unix; from Mac Libraries, MacTraps. I put each
-library in a separate segment. Also see my earlier remark on 4-byte
-ints.
-
-1.4 Adding STDWIN
------------------
-
-STDWIN is built in two separate projects: stdwin.pi contains the core
-STDWIN implementation from Ports/mac, textedit.pi contains the files
-from Packs/textedit. Use the same compiler options as for Python and
-the same general source setup (in a sister directory of the toplevel
-Python directory). Put all sources in the same segment. To
-stdwin.pi, also add Tools/strdup.c and Gen/wtextbreak.c.
-
-The two projects can now be added as libraries to the Python project.
-You must also add stdwinmodule.c and add "#define USE_STDWIN" to the
-Prefix in the compiler options dialog (this only affects macmain.c and
-config.c).
-
-Note that stdwinmodule.c contains an #include statement that
-references "stdwin.h" by relative path name -- if the stdwin toplevel
-directory is not a sibling of the python toplevel directory, you may
-have to adjust the number of colons in the pathname.
-
-1.5 Resources
--------------
-
-Since I created them with ResEdit I have no text source of the
-resources needed to give the application an icon etc... You can copy
-the size, bundle, file reference and icon resources from the
-distributed Python application with ResEdit. THINK C automatically
-copies resources into the application file from a file
-<projectname>.rsrc.
-
-1.6 Think C 5.0
----------------
-
-Tim Gilbert adds one note that will be helpful to future Think C 5.0
-users: When you have a really big project like python, and you want to
-compile and run it, if you just hit Command-R, often Think C will
-compile the remaining files, think for a moment, and then give you a
-warning "internal error(ZREF)--please remove objects." Don't listen
-to it. It is lying. What you should do instead is "Check Link..."
-and _then_ hit Run. Why? Ask Symantec.
-
-
-2. Using MicroWerks CodeWarrior 5.0
-===================================
-
-Essentially, follow the instructions for Think C.
-
-XXX Should at least list the project options.
-
-
---Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl>
-<URL:http://www.cwi.nl/cwi/people/Guido.van.Rossum.html>