Mercurial > cpython-lru_cache-weakref
annotate Mac/Demo/building.html @ 4566:6403c94de50d legacy-trunk
Added safeguard against failure in __del__.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 27 Nov 1996 19:39:58 +0000 |
| parents | db55b80aaf10 |
| children | 44e86dadec94 |
| rev | line source |
|---|---|
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
1 <HTML> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
2 <HEAD> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
3 <TITLE>Building Mac Python from source</TITLE> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
4 </HEAD> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
5 <BODY> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
6 <H1>Building Mac Python from source</H1> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
7 <HR> |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
8 |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
9 This document explains how to build MacPython from source. This is |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
10 necessary if you want to write extension modules for 68K Python, and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
11 currently also probably the easiest way to build PPC extension |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
12 modules. Building Python is not something to be undertaken lightly, |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
13 the process is not very streamlined so you need a reasonable working |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
14 knowledge of the CodeWarrior development environment, a good net |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
15 connection and probably quite some time too. <p> |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
16 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
17 The information density in this file is high, so you should probably |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
18 print it and read it at your leasure. Most things are explained only |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
19 once (and probably in the wrong place:-). <p> |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
20 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
21 I am very interested in feedback on this document, contact me at <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
22 HREF="mailto:jack@cwi.nl"><jack@cwi.nl></A> or send your |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
23 comments to the <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
24 HREF="http://www.python.org/sigs/pythonmac-sig/">Mac Python Special |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
25 Interest Group</A>. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
26 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
27 <H2>What you need.</H2> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
28 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
29 The following things you definitely need: |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
30 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
31 <UL> |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
32 |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
33 <LI> You need a MacPython source distribution, of course. You can |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
34 obtain one from <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
35 HREF="ftp://ftp.cwi.nl/pub/jack/python/mac">ftp://ftp.cwi.nl/pub/jack/python/mac</A>, |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
36 and possibly also from the standard <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
37 HREF="ftp://ftp.python.org/pub/python/mac">python.org ftp |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
38 site</A>. Everything you need is also included in the standard Python |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
39 source distribution, but the organization is different. Look in |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
40 directory <code>Mac/mwerks/projects</code> for the project files and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
41 related stuff. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
42 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
43 <LI> You need MetroWerks CodeWarrior. The current distribution has |
|
4526
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
44 been built with version 10 of CodeWarrior. Ordering information is |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
45 available on the <A HREF="http://www.metrowerks.com/">MetroWerks |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
46 homepage</A>. You might still be able to build Python with MPW or |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
47 Think/Symantec C but you are basically on your own. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
48 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
49 <LI> You need GUSI, the Grand Unified Socket Interface, by Matthias |
|
4239
6700558a32fb
Added note about modified gusi
Jack Jansen <jack.jansen@cwi.nl>
parents:
4119
diff
changeset
|
50 Neeracher. The current distribution has been built with a modified version of |
|
4444
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
51 CWGUSI 1.8.0. CWGUSI is |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
52 obtainable from <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
53 HREF="ftp://ftp.switch.ch/software/mac/src/mw_c">ftp://ftp.switch.ch/software/mac/src/mw_c</A>. |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
54 It is possible to build a non-GUSI Python, see below. |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
55 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
56 </UL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
57 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
58 <A NAME="optional">The MacPython project files are configured to |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
59 include a plethora of optional modules</A>, and these modules need a |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
60 number extra packages. To use the project files as-is you have to |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
61 download these packages too. PPC and CFM68K Python have all such modules as |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
62 dynamically loaded modules, so if you don't need a certain package it |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
63 suffices to just refrain from builing the extension module. For static 68K |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
64 Python things are a bit more complicated: you have to edit the |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
65 interpreter project file to remove the reference to the module (and |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
66 the libraries it uses), and edit the <code>Mac:mwerks:mwerks_nonshared_config.h</code> |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
67 file to remove the <code>USE_...</code> line. Here are the locations for the various things |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
68 you need: |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
69 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
70 <UL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
71 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
72 <LI> Tcl and Tk can be obtained from <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
73 HREF="ftp://ftp.smli.com/pub/tcl/mac/">ftp://ftp.smli.com/pub/tcl/mac/</A>. |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
74 The current distributions, Tcl 7.5p1 and Tk 4.1p1 need a bit of work, |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
75 see the section on <A HREF="#tcltk">building Tcl/Tk Python</A> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
76 below. Get the "full source" distribution, which includes MoreFiles. |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
77 |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
78 <LI> Waste, a TextEdit replacement written by Marco Piovanelli, <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
79 HREF="mailto:piovanel@kagi.com"><piovanel@kagi.com></A>. Python |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
80 was built using version 1.2, which you can obtain from <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
81 HREF="ftp://rhino.harvard.edu/pub/dan/WASTE"><ftp://rhino.harvard.edu/pub/dan/WASTE></A> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
82 and various other places. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
83 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
84 <LI> JPEG library by the Independent JPEG Group. Python is still built |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
85 using an archaic version of the library, version 4. It can be obtained |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
86 from the <A HREF="ftp://ftp.cwi.nl/pub/jack/python/mac"> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
87 ftp://ftp.cwi.nl/pub/jack/python/mac</A> directory, complete with CW8 |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
88 projects. If someone manages to build Python with the version 6 |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
89 library I would be grateful if they sent me the changes needed. The |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
90 most recent JPEG library can always be obtained from <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
91 HREF="ftp://ftp.uu.net/graphics/jpeg/">ftp://ftp.uu.net/graphics/jpeg/</A>. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
92 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
93 <LI> The netpbm/pbmplus and libtiff libraries. The netpbm distribution |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
94 (which includes libtiff) is generally available on Internet ftp |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
95 servers. For Python pbmplus, an older incarnation of netpbm, is |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
96 functionally identical to netpbm, since Python only uses the library |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
97 and not the complete applications. A distribution with correct |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
98 projects and library source only is available from, you guessed it, <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
99 HREF="ftp://ftp.cwi.nl/pub/jack/python/mac">ftp://ftp.cwi.nl/pub/jack/python/mac</A>. |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
100 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
101 </UL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
102 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
103 <H2>Setting Up</H2> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
104 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
105 Now that you have collected everything you should start with building |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
106 the various parts. Everything is independent, with the single |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
107 exception that Tcl and Tk depend on CWGUSI. If you don't want to fix |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
108 access paths try to set things up as follows: |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
109 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
110 <PRE> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
111 Top-level-folder: |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
112 CWGUSI |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
113 imglibs |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
114 libjpeg |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
115 pbmplus |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
116 libtiff |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
117 MoreFiles 1.4.2 (not needed by Python, only by tcl/tk) |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
118 Python |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
119 Tcl 7.5 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
120 Tk 4.1 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
121 Waste 1.2 distribution (if you want waste) |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
122 </PRE> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
123 |
|
4239
6700558a32fb
Added note about modified gusi
Jack Jansen <jack.jansen@cwi.nl>
parents:
4119
diff
changeset
|
124 First build GUSI. Move the files from the "CWGUSI-mods" to the right |
|
6700558a32fb
Added note about modified gusi
Jack Jansen <jack.jansen@cwi.nl>
parents:
4119
diff
changeset
|
125 place in the CWGUSI distribution folder, and build the |
|
4526
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
126 projects <code>GUSI.68K.µ</code>, <code>GUSI.CFM68K.µ</code> and |
|
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
127 <code>GUSI.PPC.µ</code>. |
|
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
128 Two notes: |
|
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
129 <ul> |
|
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
130 <li> The projects as distributed have a slightly incorrect access path, due |
|
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
131 to which they cannot find their <code>GUSICWFile.???</code> files. Change |
|
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
132 the access path to <code>{project folder}::</code> to fix this. |
|
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
133 <li> The Gusi CFM68K project is |
|
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
134 distributed without "far data": you should set this option before building. |
|
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
135 </ul> |
|
4417
c1435c5da281
Added a warning about gusi cfm68k "far data"
Jack Jansen <jack.jansen@cwi.nl>
parents:
4239
diff
changeset
|
136 If you have a CWGUSI version more recent than |
|
4526
db55b80aaf10
Updated (which should have been done before the 1.4 distribution).
Jack Jansen <jack.jansen@cwi.nl>
parents:
4444
diff
changeset
|
137 1.8 it could be that the fixes are already included, check it. Alternatively, |
|
4239
6700558a32fb
Added note about modified gusi
Jack Jansen <jack.jansen@cwi.nl>
parents:
4119
diff
changeset
|
138 you can forget about the fixes and remove the one reference to GUSILoadPreferences |
|
6700558a32fb
Added note about modified gusi
Jack Jansen <jack.jansen@cwi.nl>
parents:
4119
diff
changeset
|
139 in the Python sources. This will disable the "default file creator/type" and |
|
6700558a32fb
Added note about modified gusi
Jack Jansen <jack.jansen@cwi.nl>
parents:
4119
diff
changeset
|
140 "Delay Sioux window" preferences in Python. |
|
6700558a32fb
Added note about modified gusi
Jack Jansen <jack.jansen@cwi.nl>
parents:
4119
diff
changeset
|
141 |
|
6700558a32fb
Added note about modified gusi
Jack Jansen <jack.jansen@cwi.nl>
parents:
4119
diff
changeset
|
142 Next, in |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
143 <code>MoreFiles</code>, <code>libjpeg</code>, <code>pbmplus</code> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
144 and<code>libtiff</code> you build all projects. Tcl/tk is a special |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
145 case, see below. Of course, if you are only interested in one of |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
146 static 68K, CFM68K or PPC you can skip building the other libraries. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
147 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
148 <H2><A NAME="tcltk">Building Tcl/Tk</H2> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
149 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
150 You need to make a minor organizational change to the Tcl/Tk |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
151 distribution. The current instructions are for the |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
152 <code>tcl7.5.1</code> and <code>tk4.1.1</code> distribution: |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
153 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
154 <UL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
155 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
156 <LI> Rename the <code>compat</code> folders to <code>(compat)</code> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
157 in both the Tcl and Tk folders. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
158 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
159 <LI> In the Tcl folder, move <code>strncasecmp.c</code> and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
160 <code>tclErrno.h</code> from <code>(compat)</code> to the main Tcl |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
161 folder. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
162 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
163 <LI> Fix <code>dnr.c</code> as provided by MetroWerks by inserting |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
164 <pre><code> #pragma ANSI_strict off </code></pre> at the |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
165 beginning. The tcl library is built with strict ANSI on, and this file |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
166 uses C++ style comments. |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
167 |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
168 <LI> If you want to build <code>SimpleTcl</code> and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
169 <code>SimpleTk</code> you will probably have to remove the references |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
170 to <code>libmoto</code> from the project. |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
171 |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
172 <LI> You are <EM>strongly</EM> advised to add a line |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
173 <pre><code> |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
174 #define USE_TCLALLOC 1 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
175 </code></pre> |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
176 somewhere at the beginning of <code>MW_TclHeader.pch</code>. |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
177 As distributed, tcl and tk assume that malloc calls always succeed and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
178 use the resulting pointer without checking for <code>NULL</code> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
179 values. Needless to say, this wreaks havoc on a Macintosh. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
180 |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
181 <LI> If you want to build for CFM68K you have to modify <code>TclMacNotify.c</code> |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
182 because there is an error in the Apple Universal headers (sic!). Read the |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
183 comments at the beginning of <code>Mac:Python:macglue.c</code> and copy the |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
184 code to <code>TclMacNotify.c</code>. If you get linker errors on <code>GetEvQHdr</code> |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
185 you have not done this correctly. |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
186 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
187 </UL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
188 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
189 Build first the MoreFiles library, then the Tcl library, then |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
190 SimpleTcl (test it by typing <code>ls -l</code> in the window you get) |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
191 then the Tk library, then SimpleTk (which can again be tested with |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
192 <code>ls -l</code>). If this all worked you are all set to try |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
193 building Python. |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
194 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
195 <H2>Building Waste</H2> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
196 |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
197 You do not need to build the Waste libraries, as Python includes the |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
198 source modules themselves. You have to make one modification, |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
199 though. In file <code>ICCFMGlue.c</code> in folder <code>Minimal IC |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
200 APIs</code>, add the following lines: |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
201 |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
202 <blockquote><pre><code> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
203 #include <Gestalt.h> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
204 #include <Errors.h> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
205 </code></pre></blockquote> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
206 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
207 <H2>The organization of the Python source tree</H2> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
208 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
209 Time for a short break, while we have a look at the organization of |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
210 the Python source tree. At the top level, we find the following |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
211 folders: |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
212 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
213 <DL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
214 <DT> build.mac68k.stand |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
215 <DD> This is where you will build static 68K interpreters. |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
216 |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
217 <DT> build.mac68k.shared |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
218 <DD> This is where you build the CFM68K shared library, interpreter |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
219 and applet framework. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
220 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
221 <DT> build.macppc.shared |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
222 <DD> This is where you build the PPC shared library, interpreter and |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
223 applet framework. You can also build the fat applet framework here. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
224 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
225 <DT> build.macppc.stand |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
226 <DD> This is where you build a nonshared PPC interpreter (optional). |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
227 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
228 <DT> Demo |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
229 <DD> Demo programs that are not Mac-specific. Some of these may not |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
230 work, the file <code>README-Mac</code> has some details. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
231 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
232 <DT> Extensions |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
233 <DD> Extensions to the interpreter that are not Mac-specific. Contains |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
234 only the <code>img</code> extension in this distribution. Extensions |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
235 are <em>not</em> built here, as they are on Unix, but incorporated in |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
236 the core interpreter or built as plugin modules. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
237 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
238 <DT> Grammar |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
239 <DD> The Python grammar. Included for reference only, you cannot build |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
240 the parser on a Mac. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
241 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
242 <DT> Include |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
243 <DD> Machine-independent header files. |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
244 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
245 <DT> Modules |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
246 <DD> Machine-independent optional modules. Not all of these will work |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
247 on the Mac. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
248 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
249 <DT> Objects |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
250 <DD> Machine-independent code for various objects. Most of these are |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
251 not really optional: the interpreter will not function without them. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
252 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
253 <DT> Parser |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
254 <DD> The Python parser (machine-independent). |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
255 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
256 <DT> PlugIns |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
257 <DD> This is where you build the PPC and CFM68K dynamically-loaded plugin modules. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
258 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
259 <DT> Python |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
260 <DD> The core interpreter. Most files are machine-independent, some |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
261 are unix-specific and not used on the Mac. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
262 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
263 <DT> Tools |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
264 <DD> Tools for python developers. Contains <code>modulator</code> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
265 which builds skeleton C extension modules and <code>bgen</code> which |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
266 generates complete interface modules from information in C header |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
267 files. There are some readme files, but more documentation is sorely |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
268 needed. |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
269 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
270 </DL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
271 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
272 All the mac-specific stuff lives in the <code>Mac</code> folder: |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
273 <DL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
274 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
275 <DT> Compat |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
276 <DD> Unix-compatability routines. Some of these are not used anymore, |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
277 since CWGUSI provides a rather complete emulation, but you may need |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
278 these if you are trying to build a non-GUSI python. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
279 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
280 <DT> Demo |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
281 <DD> Mac-specific demo programs, some of them annotated. |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
282 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
283 <DT> Include |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
284 <DD> Mac-specific but compiler-independent include files. |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
285 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
286 <DT> Lib |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
287 <DD> Mac-specific standard modules. The <code>toolbox</code> folder |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
288 contains modules specifically needed with various MacOS toolbox |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
289 interface modules. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
290 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
291 <DT> Modules |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
292 <DD> Mac-specific builtin modules. Theoretically these are all |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
293 optional, but some are rather essential (like |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
294 <code>macmodule</code>). A lot of these modules are generated with |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
295 <code>bgen</code>, in which case the bgen input files are included so |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
296 you can attempt to regenerate them or extend them. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
297 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
298 <DT> MPW |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
299 <DD> MPW-specific files. These have not been used or kept up-to-date |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
300 for a long time, so use at your own risk. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
301 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
302 <DT> mwerks |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
303 <DD> Mwerks-specific sources and headers. Contains glue code for |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
304 Pythons shared-library architecture, a replacement for |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
305 <code>malloc</code> and a directory with various projects for building |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
306 variations on the Python interpreter. The <code>mwerks_*.h</code> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
307 files here are the option-setting files for the various interpreters |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
308 and such, comparable to the unix command-line <code>-D</code> options |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
309 to the compiler. Each project uses the correct option file as its |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
310 "prefix file" in the "C/C++ language" settings. Disabling optional |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
311 modules (for the 68K interpreter), building non-GUSI interpreters and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
312 various other things are accomplished by modifying these files (and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
313 possibly changing the list of files included in the project window, of |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
314 course). |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
315 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
316 <DT> Python |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
317 <DD> Mac-specific parts of the core interpreter. |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
318 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
319 <DT> Resources |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
320 <DD> Resource files needed to build the interpreter. |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
321 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
322 <DT> Scripts |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
323 <DD> A collection of various mac-specific Python scripts. Some are |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
324 essential, some are useful but few are documented, so you will have to |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
325 use your imagination to work them out. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
326 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
327 <DT> Unsupported |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
328 <DD> Modules that are not supported any longer but may still work with a little effort. |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
329 </DL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
330 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
331 <H2>Building the 68K interpreter</H2> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
332 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
333 If you have all the optional libraries mentioned <A |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
334 HREF="#optional">above</A> loaded buildin Python for 68K macs is a |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
335 breeze: open the project in the folder <code>build.mac68k.stand</code> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
336 and build it. Do <em>not</em> run it yet, this will possibly result |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
337 in a garbled preferences file. <p> |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
338 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
339 First remove the <code>Python preferences</code> file from your |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
340 preference folder, only if you had an older version of Python |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
341 installed. (this is also what you do if you did not heed the last |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
342 sentence of the preceeding paragraph). Next, move the interpreter to |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
343 the main Python folder (up one level) and run it there. This will |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
344 create a correct initial preferences file. You are now all set, and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
345 your tree should be completely compatible with a binary-only |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
346 distribution. Read the release notes |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
347 (<code>Relnotes-somethingorother</code>) and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
348 <code>ReadMeOrSuffer</code> in the <code>Mac</code> folder. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
349 |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
350 <H2>Building the CFM68K interpreter</H2> |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
351 |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
352 Building the CFM68K interpreter is as almost exactly the same as building |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
353 the PPC interpreter, with the exception that you should read "CFM68K" |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
354 for "PPC" every time. Continue reading with the next section. |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
355 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
356 <H2>Building the PPC interpreter</H2> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
357 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
358 First you build the interpreter, core library and applet skeleton in |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
359 folder <code>build.macppc.stand</code>. The order to build things is |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
360 the following: |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
361 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
362 <DL> |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
363 <DT> MWRuntimeStaticLib |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
364 <DD> A modified version of the MetroWerks runtime library that is |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
365 suitable for Pythons' shared library architecture. The sources all |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
366 come from the MW distribution. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
367 |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
368 <DT> PythonCorePPC |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
369 <DD> The shared library that contains the bulk of the interpreter and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
370 its resources. It is a good idea to immedeately put an alias to this |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
371 shared library in the <code>Extensions</code> folder of your system |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
372 folder. Do exactly that: put an <em>alias</em> there, copying or |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
373 moving the file will cause you grief later. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
374 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
375 <DT> PythonPPC |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
376 <DD> The interpreter. This is basically a routine to call out to the |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
377 shared library. Because of the organization of GUSI it also contains |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
378 the Gusi settings resource (together with a ResEdit template, so you |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
379 can change the gusi settings should you feel like doing so). Do |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
380 <em>not</em> run it yet, this will possibly result in a garbled |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
381 preferences file. <p> |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
382 |
|
4444
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
383 <DT> PythonAppletPPC |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
384 <DD> The applet skeleton application. Very similar to |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
385 <code>PythonPPC</code>, but it calls to a different entrypoint in the |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
386 core library. The <code>mkapplet</code> script will copy this complete |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
387 file, and add a <code>'PYC '</code> with the module to generate an |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
388 applet. <p> |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
389 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
390 </DL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
391 |
|
4444
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
392 After creating the alias to <code>PythonCorePPC</code> you should move |
|
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
393 <code>PythonPPC</code> to the main Python folder. Next you remove any old |
|
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
394 <code>Python XXX Preferences</code> file from the <code>Preferences</code> folder |
|
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
395 (if you had python installed on your system before) and run the interpreter once |
|
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
396 to create the correct preferences file. You should also make an alias |
|
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
397 <code>PythonApplet</code> pointing to <code>PythonAppletPPC</code> in the main |
|
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
398 Python folder. (again: making an alias is preferrable to copying or moving the |
|
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
399 file, since this will cause the correct file to be used if you ever rebuild |
|
fa9abf9a8624
Added a note about PythonApplet name
Jack Jansen <jack.jansen@cwi.nl>
parents:
4417
diff
changeset
|
400 PythonAppletPPC). <p> |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
401 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
402 Next, you have to build the extension modules in the |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
403 <code>PlugIns</code> folder. Open each project with <code>.ppc</code> in the |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
404 name and build it. After all |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
405 the dynamically loaded modules are built you have to create a number |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
406 of aliases: some modules live together in a single dynamic |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
407 library. Run the <code>MkPluginAliases.py</code> script from |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
408 <code>Mac:scripts</code> to create the aliases. <p> |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
409 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
410 Finally, you must build the standard applets: |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
411 <code>EditPythonPrefs</code>, <code>mkapplet</code>, etc. This is |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
412 easiest done with the <code>fullbuild</code> script from |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
413 <code>Mac:scripts</code>. Answer <em>no</em> to all questions except |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
414 when it asks whether to build the applets. <p> |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
415 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
416 <BLOCKQUOTE> |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
417 Actually, the <code>fullbuild</code> script can be used to build |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
418 everything, but you need a fully-functional interpreter before you can |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
419 use it (and one that isn't rebuilt in the process: you cannot rebuild |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
420 a running program). You could copy the 68K interpreter to a different |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
421 place and use that to run fullbuild, or use the standalone PPC python |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
422 for this. I tend to keep a standalone interpreter in a safe place for |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
423 this use only. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
424 </BLOCKQUOTE> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
425 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
426 You are all set now, and should read the release notes and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
427 <code>ReadMeOrSuffer</code> file from the <code>Mac</code> folder. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
428 |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
429 <H2>Rebuilding <code>.exp</code> files for PPC and CFM68K</H2> |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
430 |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
431 Occasionally it may be necessary to rebuild your PythonCore <code>.exp</code> |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
432 file, a file that controls which symbols are exported by your PythonCore |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
433 shared library. Rebuild it if you get unexpected undefined symbols when you |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
434 are building a plugin module. <p> |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
435 |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
436 Rebuilding the .exp file is done by first removing the file and removing the |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
437 reference to it in the project (in the "config" section). Next, build PythonCore. |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
438 This will create a new .exp file. Edit this file to remove the references to |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
439 the symbols <code>__initialize</code>, <code>__terminate</code>, <code>setjmp</code>, |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
440 <code>longjmp</code> and <code>__ptmf_null</code>. Next, add the .exp file to the project |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
441 again and rebuild PythonCore. <p> |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
442 |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
443 This rather convoluted procedure is needed to ensure that plugin modules don't |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
444 accidentally link with those entrypoints from PythonCore, which will not work because |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
445 those routines have to be in the same code fragment as they are used from. |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
446 |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
447 <H2>Odds and ends</H2> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
448 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
449 Some remarks that I could not fit in elsewhere: |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
450 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
451 <UL> |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
452 |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
453 <LI> It may be possible to use the <code>PythonCore</code> shared |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
454 library to embed Python in another program, if your program can live |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
455 with using GUSI for I/O. Use PythonCore in stead of your C library |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
456 (or, at the very least, link it before the normal C library). Let me |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
457 know whether this works. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
458 |
|
3945
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
459 <LI> It is possible to build PPC extension modules without building a |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
460 complete Python. Take the binary distribution, add folders |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
461 <code>Include</code>, <code>Mac:Include</code> and |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
462 <code>Mac:mwerks</code> from the source distribution and you should be |
|
73cf7082b9e8
Changed instructions for new releases of cwgusi, waste and tcl/tk,
Jack Jansen <jack.jansen@cwi.nl>
parents:
3935
diff
changeset
|
463 all set. A template for a dynamic module can be found in |
|
4119
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
464 <code>xx.ppc.µ</code> or <code>xx.CFM68K.µ</code>. |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
465 |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
466 <LI> The Python shared library architecture is a variant of the architecture |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
467 described as "application with shared libraries and dropins" in the MetroWerks |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
468 "Targeting MacOS" documentation. The Python Application and applet-template use |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
469 the <code>AppRuntime.Lib</code> runtime library (with properly set CFM |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
470 initialization and termination routines). PythonCore uses <code>ShlibRuntime.Lib</code> |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
471 and <code>MWRuntimeStaticLib.Lib</code>, which is almost identical to the MW |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
472 standard <code>MWRuntimeLib</code>, but not dynamically loaded. This library contains |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
473 the part of the runtime that can (or must) be shared between all modules in the program. |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
474 It is linked statically into PythonCore (and exported to the applications and plugins) |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
475 so we do not have to distribute yet another shared library. Plugin modules use |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
476 <code>ShlibRuntime.Lib</code> and obtain the rest from PythonCore. PythonCore uses a |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
477 non-standard initialization entry point, <code>__initialize_with_resources</code>, to |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
478 be able to obtain resources from the library file lateron. Plugins can do the same or |
|
4f84cee65b8c
- Added cfm68k instructions
Jack Jansen <jack.jansen@cwi.nl>
parents:
3945
diff
changeset
|
479 use the standard <code>__initialize</code> entry point. |
|
3935
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
480 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
481 |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
482 <UL> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
483 </BODY> |
|
d7d8705ba644
Build instructions for source distribution that were somehow never
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
484 </HTML> |
