blob: f3cd4145bdb11ec138fb37464c11cb855966599a [file] [log] [blame]
Jack Jansenb6789751995-12-21 15:40:26 +00001How to build Python from a source distribution.
2-----------------------------------------------
3
4You will need a Python source distribution in tar form. So, the
5first thing you need is a tar program for the mac. Suntar is
6reasonable and can be found at the info-mac sites. Edit the
7preferences to make it extract C sources with creator CWIE
Jack Jansen857e88e1996-03-20 16:27:30 +00008and .py files as text files with creator Pyth, this will save
Jack Jansenb6789751995-12-21 15:40:26 +00009you work later.
10
Jack Jansen857e88e1996-03-20 16:27:30 +000011You will also need CodeWarrior 8. If you have another development
Jack Jansenb6789751995-12-21 15:40:26 +000012environment you are on your own, basically.
13
14You may also need the img distribution and the stdwin distribution.
15If you don't want them you may have to edit some of the projects
16to remove references to them.
17
18When you've extracted everything you may have to unpack the
Jack Jansen857e88e1996-03-20 16:27:30 +000019.hqx files in Mac:Resources and Mac:mwerks:Projects (but suntar
Jack Jansenb6789751995-12-21 15:40:26 +000020may have done this for you already).
21
Jack Jansen857e88e1996-03-20 16:27:30 +000022You have to remove Modules:fmmodule.c, the SGI fm module, which has a
23name conflict with the Mac Fmmodule.c.
24
Jack Jansenb6789751995-12-21 15:40:26 +000025Next, create your build directories. I use the following naming
26convention:
27build.macppc.shared PowerPC shared-library
28build.mac68k.stand 68K non-shared
29and there are also projects for ppc standalone and some others, they
30may be useful at times. The project files expect the build directories
31to be located right in the main python folder, if you put them elsewhere
32you will have to edit the access paths.
33
Jack Jansen857e88e1996-03-20 16:27:30 +000034Move MWCPythonCoreRuntime.µ, PythonCore.µ, PythonPPC and
35PythonApplet (from the Mac:mwerks:projects folder) to
36build.macppc.shared, move Python68K to build.mac68k.stand.
Jack Jansenb6789751995-12-21 15:40:26 +000037
38Build the projects. For the PPC projects, keep the order given above.
Jack Jansen857e88e1996-03-20 16:27:30 +000039Do *not* run the python interpreter yet. First, move the interpreter
40to the main python folder. For PPC, also move PythonCore to the main
41python folder.
Jack Jansenb6789751995-12-21 15:40:26 +000042
Jack Jansen857e88e1996-03-20 16:27:30 +000043Now try your python interpreter, this will create an initial
44preferences file.
Jack Jansenb6789751995-12-21 15:40:26 +000045
46For 68K python you are now done.
47
Jack Jansen857e88e1996-03-20 16:27:30 +000048For PPC Python, don't try complicated scripts yet, you first have to
49create the dynamically loadable modules. Create a folder PlugIns (in
50the toplevel python folder) and move all the projects that have
51"module" or "modules" in their name there. Build these projects. This
52will create a number of ".exp" files, edit these files to contain only
53all the "init" modules, and build the projects again. This latter step
54isn't really essential, so feel free to skip it.
Jack Jansenb6789751995-12-21 15:40:26 +000055
Jack Jansen857e88e1996-03-20 16:27:30 +000056The next step is to create aliases for the various modules that "live
57together" in one shared library. For this, take MkPluginAliases.py and
58MkPluginAliases.rsrc from the Mac:scripts folder and move or copy them
59to the python home folder. Run the script from there.
Jack Jansenb6789751995-12-21 15:40:26 +000060
Jack Jansen857e88e1996-03-20 16:27:30 +000061If you haven't created all plugins you'll get some errors about files
62not existing, don't worry. Don't forget to move the scripts back.
Jack Jansenb6789751995-12-21 15:40:26 +000063
Jack Jansen857e88e1996-03-20 16:27:30 +000064Next, make an alias of PythonCore (also named PythonCore) and put it
65in System Folder:Extensions. This will ensure that you can run python
66anywhere, not just from the folder where PythonCore lives.
Jack Jansenb6789751995-12-21 15:40:26 +000067
Jack Jansen857e88e1996-03-20 16:27:30 +000068Most of your environment is now setup. You can try it by running
69EditPythonPrefs.py (in Mac:scripts), it should now work from there.
Jack Jansenb6789751995-12-21 15:40:26 +000070
Jack Jansen857e88e1996-03-20 16:27:30 +000071Lastly, you should setup some stuff needed for applet creation. First,
72you should put PythonApplet (or an alias to it) in the python home
73folder. Next, you should turn mkapplet.py (from mac:scripts) into an
74applet itself: double-click it and give it itself as input in the
75input file dialog.
Jack Jansenb6789751995-12-21 15:40:26 +000076
Jack Jansen857e88e1996-03-20 16:27:30 +000077Now that you have created mkapplet you can use this as a droplet:
78drag-and-drop python sources onto it (EditPythonPrefs.py and
79RunLibScript.py come to mind) and the applets will be created.
Jack Jansenb6789751995-12-21 15:40:26 +000080
Jack Jansen857e88e1996-03-20 16:27:30 +000081 Jack Jansen, CWI, 18 March 1996.