mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
How to build Python from a source distribution.
 | 
						|
-----------------------------------------------
 | 
						|
 | 
						|
NOTE: These notes are for building a Python from a machine-independent
 | 
						|
source distribution, *not* for building a Python from a mac-specific
 | 
						|
source distribution.
 | 
						|
 | 
						|
You will need a Python source distribution in tar form. So, the
 | 
						|
first thing you need is a tar program for the mac. Suntar is
 | 
						|
reasonable and can be found at the info-mac sites. Edit the
 | 
						|
preferences to make it extract C sources with creator CWIE
 | 
						|
and .py files as text files with creator Pyth, this will save
 | 
						|
you work later.
 | 
						|
 | 
						|
You will also need CodeWarrior 8. If you have another development
 | 
						|
environment you are on your own, basically.
 | 
						|
 | 
						|
You may also need the img distribution and the stdwin distribution.
 | 
						|
If you don't want them you may have to edit some of the projects
 | 
						|
to remove references to them.
 | 
						|
 | 
						|
When you've extracted everything you may have to unpack the
 | 
						|
.hqx files in Mac:Resources and Mac:mwerks:Projects (but suntar
 | 
						|
may have done this for you already).
 | 
						|
 | 
						|
You have to remove Modules:fmmodule.c, the SGI fm module, which has a
 | 
						|
name conflict with the Mac Fmmodule.c.
 | 
						|
 | 
						|
Next, create your build directories. I use the following naming
 | 
						|
convention:
 | 
						|
build.macppc.shared		PowerPC shared-library
 | 
						|
build.mac68k.stand		68K non-shared
 | 
						|
and there are also projects for ppc standalone and some others, they
 | 
						|
may be useful at times. The project files expect the build directories
 | 
						|
to be located right in the main python folder, if you put them elsewhere
 | 
						|
you will have to edit the access paths.
 | 
						|
 | 
						|
Move MWCPythonCoreRuntime.µ, PythonCore.µ, PythonPPC.µ and
 | 
						|
PythonApplet.µ (from the Mac:mwerks:projects folder) to
 | 
						|
build.macppc.shared, move Python68K.µ to build.mac68k.stand.
 | 
						|
 | 
						|
Build the projects. For the PPC projects, keep the order given above.
 | 
						|
Do *not* run the python interpreter yet. First, move the interpreter
 | 
						|
to the main python folder. For PPC, also move PythonCore to the main
 | 
						|
python folder.
 | 
						|
 | 
						|
Now try your python interpreter, this will create an initial
 | 
						|
preferences file.
 | 
						|
 | 
						|
For 68K python you are now done.
 | 
						|
 | 
						|
For PPC Python, don't try complicated scripts yet, you first have to
 | 
						|
create the dynamically loadable modules. Create a folder PlugIns (in
 | 
						|
the toplevel python folder) and move all the projects that have
 | 
						|
"module" or "modules" in their name there. Build these projects. This
 | 
						|
will create a number of ".exp" files, edit these files to contain only
 | 
						|
all the "init" modules, and build the projects again. This latter step
 | 
						|
isn't really essential, so feel free to skip it.
 | 
						|
 | 
						|
The next step is to create aliases for the various modules that "live
 | 
						|
together" in one shared library. For this, take MkPluginAliases.py and
 | 
						|
MkPluginAliases.rsrc from the Mac:scripts folder and move or copy them
 | 
						|
to the python home folder.  Run the script from there.
 | 
						|
 | 
						|
If you haven't created all plugins you'll get some errors about files
 | 
						|
not existing, don't worry. Don't forget to move the scripts back.
 | 
						|
 | 
						|
Next, make an alias of PythonCore (also named PythonCore) and put it
 | 
						|
in System Folder:Extensions. This will ensure that you can run python
 | 
						|
anywhere, not just from the folder where PythonCore lives.
 | 
						|
 | 
						|
Most of your environment is now setup. You can try it by running
 | 
						|
EditPythonPrefs.py (in Mac:scripts), it should now work from there.
 | 
						|
 | 
						|
Lastly, you should setup some stuff needed for applet creation. First,
 | 
						|
you should put PythonApplet (or an alias to it) in the python home
 | 
						|
folder. Next, you should turn mkapplet.py (from mac:scripts) into an
 | 
						|
applet itself: double-click it and give it itself as input in the
 | 
						|
input file dialog.
 | 
						|
 | 
						|
Now that you have created mkapplet you can use this as a droplet:
 | 
						|
drag-and-drop python sources onto it (EditPythonPrefs.py and
 | 
						|
RunLibScript.py come to mind) and the applets will be created.
 | 
						|
 | 
						|
			Jack Jansen, CWI, 18 March 1996. 
 |