diff --git a/Mac/Demo/building.html b/Mac/Demo/building.html index 6e381d9fe03..964f07449ec 100644 --- a/Mac/Demo/building.html +++ b/Mac/Demo/building.html @@ -12,6 +12,9 @@ Python is not something to be undertaken lightly, you need a reasonable working knowledge of the CodeWarrior development environment, a good net connection and probably quite some time too.
+Note that if you only want to build new extension modules you don't need to +build Python from source, see the note on extending Python.
+ The information density in this file is high, so you should probably print it and read it at your leasure. Most things are explained only once (and probably in the wrong place:-).
@@ -20,7 +23,7 @@ once (and probably in the wrong place:-).
First a warning: this information may become outdated if a new CodeWarrior is released after MacPython. The MacPython homepage will -hopefully have updated instructions in that case. +hopefully have updated instructions in that case. These instructions are for CW7. I am very interested in feedback on this document, send your @@ -47,7 +50,7 @@ available through CVS. Check the section on CVS repository use below.
Top-level-folder: GUSI2 - GUSI2Carbon imglibs jpeg netpbm @@ -131,10 +132,7 @@ Top-level-folder: Modules Build ... - Tcl/Tk Folder - tcl8.0 - tk8.0 - MoreFiles 1.4.3 + Tcl/Tk Folder 8.3.4If your setup of the libraries is exactly the same as mine (which is @@ -144,7 +142,7 @@ repository) you can use the project
buildlibs.prj
in the
fell swoop, otherwise you will have to build the libraries one by
one. -First build GUSI, both the norla one and the Carbon variant. +First build GUSI, both the normal one and the Carbon variant.
Next, in @@ -156,22 +154,22 @@ case, see below.
+Tkinter has been built with Tcl/Tk 8.3.4. Load the Mac source distribution +from the tcl sourceforge site and build it. Build with CW7, but you will +need CW6 to build the MDEF resource (or copy it from a binary +installation). As of this writing the projects are CW6, so they need +massaging to build with CW7, but this is a lot less work than applying +all the workarounds for CW6 that the build instructions give.
Note that if you use a different release of Tcl and Tk than the ones
I have used you may have to adapt the Python tkresources.rsrc
file.
-This is easiest done by building SimpleTk
and copying the TEXT, ICON
+This is easiest done by building Tk8.3.shlb
and copying the TEXT, ICON
and CRSR resources from it to tkresources.rsrc
. This allows
the _tkinter
module to work without an installed Tk/Tcl on your
machine.
Also note that the _tkinter.ppc.slb
that is normally distributed
-in the PlugIns
folder is the one from the Imaging extension,
+in the lib-dynload
folder is the one from the Imaging extension,
which has some extra features needed by PIL (and which features should not
hinder normal operation).
@@ -215,6 +213,12 @@ the parser on a Mac.
toolbox
folder
+Carbon
package
contains modules specifically needed with various MacOS toolbox
-interface modules.
+interface modules, both for Carbon and classic PPC, despite the name.
First you optionally build the external libraries with buildlibs.prj. Next,
@@ -345,7 +354,10 @@ will also do this.
+creating applets (for which formerly PythonApplet was used). There are 4 targets +in here: two for the classic and carbon templates (which are normally used, and +converted to PythonInterpreter by the ConfigurePython* applets) and two +for PythonInterpreter in it's classic and carbon version.
You are all set now, and should read the release notes and
ReadMe
file from the Mac
folder.
-
.exp
files.exp
-file, a file that controls which symbols are exported by your PythonCore
-shared library. Rebuild it if you get unexpected undefined symbols when you
-are building a plugin module.
-
-Rebuilding the .exp file is done by first both removing the file and removing the
-reference to it in the project (in the "config" section). Next, build PythonCore or
-PythonCoreCarbon.
-This will create a new .exp file, with the name PythonCore.mcp.exp
.
-Rename this file to either PythonCore.exp
or PythonCoreCarbon.exp
-and add this file back to the project. Next, edit ot to remove the references to
-the symbols __initialize
, __terminate
, setjmp
,
-longjmp
, vec_longjmp
, main
and __ptmf_null
.
-They are all close together about halfway the file.
-
-Finally rebuild again.
- -This rather convoluted procedure is needed to ensure that plugin modules don't -accidentally link with those entrypoints from PythonCore, which will not work because -those routines have to be in the same code fragment as they are used from. +Rebuilding .exp files is no longer needed since CodeWarrior 7.
xx.prj
.