diff --git a/Mac/Demo/building.html b/Mac/Demo/building.html index 80b4c00cc27..03c48ce753a 100644 --- a/Mac/Demo/building.html +++ b/Mac/Demo/building.html @@ -8,9 +8,9 @@ This document explains how to build MacPython from source. This is necessary if you want to write extension modules for 68K Python, and -currently also probably the easiest way to build PPC extension -modules. Building Python is not something to be undertaken lightly, -the process is not very streamlined so you need a reasonable working +is also necessary if you want to make modifications to the Python core. +Building 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.
@@ -18,8 +18,7 @@ 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:-).
-I am very interested in feedback on this document, contact me at <jack@cwi.nl> or send your
+I am very interested in feedback on this document, send your
comments to the Mac Python Special
Interest Group.
@@ -41,10 +40,14 @@ HREF="ftp://ftp.python.org/pub/python/mac">python.org ftp
site. Everything you need is also included in the standard Python
source distribution, but the organization is different. Look in
directory Mac/mwerks/projects
for the project files and
-related stuff.
+related stuff.
+
+If you are a PSA member, an alternative
+is to check the sources straight out of the CVS repository,
+see below. Most of the packages mentioned here are also available through CVS.
buildlibs.prj
in the
-build.mac
folder to build all needed libraries in one
+:Mac:build.mac
folder to build all needed libraries in one
fell swoop, otherwise you will have to build the libraries one by
one. @@ -190,17 +193,6 @@ the Python source tree. At the top level, we find the following folders:
README-Mac
has some details.
@@ -229,9 +221,6 @@ not really optional: the interpreter will not function without them.
Mac
folder:
build.macstand
and
-build the 68K target. Do not run it yet, this will possibly
-result in a garbled preferences file. +HREF="#optional">above loaded building Python for 68K macs is a +breeze: in the Mac:Build folder you build the libraries with buildlibs.prj +and then the interpreter with PythonStandalone.prj.
-First remove the Python XXX preferences
file from your
-preference folder, only if you had an older version of Python
-installed. (this is also what you do if you did not heed the last
-sentence of the preceeding paragraph). Next, move the interpreter to
-the main Python folder (up one level) and run it there. This will
+If you were previously running another copy of this Python release,
+from a binary installer for instance, you should
+first remove the Python XXX preferences
file from your
+preference folder. Next, run the interpreter, in the toplevel folder. This will
create a correct initial preferences file. You are now all set, and
your tree should be completely compatible with a binary-only
distribution. Read the release notes
(Relnotes-somethingorother
) and
-ReadMe
in the Mac
folder.
+ReadMe
in the Mac
folder.
+ +If something goes wrong you may end up with a garbled preferences file. Removing +it from the system folder and running Python once again will re-create it.
build.mac
. The projects are all linked together, so
+First you optionally build the external libraries with buildlibs.prj. Next,
+the projects for
+interpreter, core library and applet skeleton are all linked together, so
building the fat targets in Python.prj
and
PythonApplet.prj
will result in everything being built. The
resulting applications and fat shared library are deposited in the main
-Python folder. For completeness sake here is a breakdown of the
-projects:
+Python folder. Finally, you build all the plugins with the plugins.prj project.
+
+For completeness sake here is a breakdown of the projects:
Extensions
folder of your system
folder. Do exactly that: put an alias there, copying or
moving the file will cause you grief later if you rebuild the library and
-forget to copy it to the extensions folder again.
+forget to copy it to the extensions folder again. The InstallPython applet
+will also do this, along with creating the plugin aliases.
mkapplet
script will copy this complete
file, and add a 'PYC '
with the module to generate an
applet. +
PythonCore
you remove any old
@@ -361,8 +372,8 @@ After creating the alias to PythonCore
you remove any old
(if you had python installed on your system before) and run the interpreter once
to create the correct preferences file.
-Next, you have to build the extension modules in the
-PlugIns
folder. The PlugIns.ppc
project has all the
+Next, you have to build the extension modules.
+The PlugIns.ppc
project has all the
other projects as subprojects and builds everything. After all
the dynamically loaded modules are built you have to create a number
of aliases: some modules live together in a single dynamic
@@ -408,6 +419,34 @@ 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.
+
+ +The CVS client of choice is Alexandre Parenteau's MacCVS. It can be +obtained through the Cyclic CVS homepage. MacCVS +uses Internet Config to set file types correctly based on the filename extension. In +the maccvs preferences you should also set (in the "binary files" section) +"use mac encoding: applesingle" and (in the "text files" section) "use ISO latin 1 +conversion".
+ +The machine-independent Python sources are checked out from the main Python +CVS archive, see the PSA homepage for +details.
+ +Next, within the toplevel Python folder, you check out the mac-specific sources +in a Mac folder. The CVS path to use can be found at the +MacPython homepage. Finally, +you check out the external libraries needed in the parent of the Python folder. The +CVS path for these libraries is also mentioned at the MacPython homepage.
+ +Neither of the pages mentioned above contains the passwords for the CVS sites, +for obvious reasons, but they do contain instructions on how to obtain the passwords.
+
Include
, Mac:Include
and
-Mac:mwerks
from the source distribution and you should be
-all set. A template for a dynamic module can be found in
+complete Python. The binary distribution installer can optionally install
+all the needed folders. A template for a dynamic module can be found in
xx.prj
.