"ported" Guido's embedding demo to the mac, and wrote some minimal

notes on embedding on the mac.
This commit is contained in:
Jack Jansen 1997-01-15 16:53:37 +00:00
parent 52ac037249
commit 6ad8d13fe2
5 changed files with 278 additions and 1 deletions

View file

@ -482,6 +482,6 @@ <H2>Odds and ends</H2>
use the standard <code>__initialize</code> entry point.
<UL>
</UL>
</BODY>
</HTML>

36
Mac/Demo/embed.html Normal file
View file

@ -0,0 +1,36 @@
<HTML>
<HEAD>
<TITLE>Embedding Python on the Mac</TITLE>
</HEAD>
<BODY>
<H1>Embedding Python on the Mac</H1>
<HR>
Embedding Python on the mac is pretty similar to embedding it on other
platforms, but a few points need mentioning:
<UL>
<LI> You call <CODE>PyMac_Initialize()</CODE> in stead of
<CODE>Py_Initialize()</CODE>. The prototype is in <CODE>macglue.h</CODE>.
This call initializes the toolbox, GUSI (if needed), sets up the correct
resource files and calls Py_Initialize.
<LI> You have to be consequent in your use of GUSI. If the library uses
it so should your program and vice versa.
<LI> The console-behaviour (close-on-exit, etc) is controlled by Python,
but you are of course free to change that after calling PyMac_Initialize().
</UL>
The Python environment is started with a dummy argc and argv, and initial
startup options are obtained through the usual means, except that the
user pression the option-key will not result in an interactive dialog.
You can, however, set startup options on your program in the same way as you
do for applets, by dragging your application to <code>EditPythonPrefs</code>. <p>
The most logical way to embed Python is to link it against the shared library
<code>PythonCorePPC</code> or <code>PythonCoreCFM68K</code>. An example project
and source can be found in the <a href="embed">embed</a> folder.
</BODY>
</HTML>

62
Mac/Demo/embed/demo.c Normal file
View file

@ -0,0 +1,62 @@
/* Example of embedding Python in another program */
#include "Python.h"
#ifdef macintosh
#include "macglue.h"
#include <SIOUX.h>
#endif /* macintosh */
static char *argv0;
main(argc, argv)
int argc;
char **argv;
{
#ifdef macintosh
/* So the user can set argc/argv to something interesting */
argc = ccommand(&argv);
#endif
/* Save a copy of argv0 */
argv0 = argv[0];
/* Initialize the Python interpreter. Required. */
#ifdef macintosh
PyMac_Initialize();
#else
Py_Initialize();
#endif
/* Define sys.argv. It is up to the application if you
want this; you can also let it undefined (since the Python
code is generally not a main program it has no business
touching sys.argv...) */
PySys_SetArgv(argc, argv);
/* Do some application specific code */
printf("Hello, brave new world\n\n");
/* Execute some Python statements (in module __main__) */
PyRun_SimpleString("import sys\n");
PyRun_SimpleString("print sys.builtin_module_names\n");
PyRun_SimpleString("print sys.argv\n");
/* Note that you can call any public function of the Python
interpreter here, e.g. call_object(). */
/* Some more application specific code */
printf("\nGoodbye, cruel world\n");
#ifdef macintosh
printf("Type return or so-\n");
getchar();
#endif
/* Exit, cleaning up the interpreter */
Py_Exit(0);
/*NOTREACHED*/
}
/* This function is called by the interpreter to get its own name */
char *
getprogramname()
{
return argv0;
}

View file

@ -0,0 +1,174 @@
(This file must be converted with BinHex 4.0)
:$'9YBQ9NC'9YEbjYG3"069"53eG*43#3""&i!!!Th4EVBfp[E!!!!!%!!!!F!!!
4$!!!%5J!!!"3!!!!"!!!!'J!!J!`!!)!(!4YB@PZ!$Nl!!(("!#3"MK!!*!&j1c
S!*!0!J!`!!)!+!PXD@*bBA*TCA-`b!#3"L!&!!)!N!F$!*!,!J!!!!)!+!PbCA0
[GA*MCA-`b!#3"L!&!!-!N!F%!*!3@$`!N!`(4'9cDh4[F!$9k6!!N!B$N!!!eHd
J!,ii)!#q08J!!#R`!0ARB!#3%GATF!#3"J0J!0AY)&"jG'K[ELecD'&bC3$9jf!
!!`!!!X!!!`)S!!!!23!"!*!)!J%!N!3'C'9YEbjM!*!L!`#3"c#Y(r*!!!%!2+`
KJ-!!!3!jV#'!`!!"!!UY2klb!!%!1UdImN!!!3!eV4rb3!!"!$'X)B$!!!%!0+`
KJ-!!!3!lV#'!`!!"!$+Y8ec!!!%!-kfce6X!!3!fV')D3!!"!$HX)B$!!!%!2ke
Nl!B!!3!iV#'!`!!"!#@Y2kqp!!%!"kdrV[3!!3!,V6qZp!!"!!QY2kld!!%!2U`
KJ-!!!3![VP4CiJ!"!$fXBKT!!!%!#+j4hkB!!3!QUX`2e`!"!#fZQQef!!%!%+k
DEAB!!3!&VTTYGJ!"!#bZQQef!!%!*kkDEAB!!3!GVTTYGJ!"!"qZQQeh!!%!&+j
(9P%!!3!'V[`2'3!"!"kZQQeh!!%!%kkDEAF!!3!FVTTYG`!"!#ZZQQeh!!%!%Dk
DEAF!!3!UVTTYG`!"!"LZQQeh!!%!%UkDEAF!!3!ZV`+pq`!"!"QZQQeh!!%!'Uk
DEAF!!3!NVTTYG`!"!"ZZQQei!!%!)kkDEAJ!!3!-VTTYH!!"!!fZQQei!!%!$Uk
DEAJ!!3!2VTTYH!!"!#+ZQQei!!%!"+ec-KN!!3!SVTTYH!!"!"@ZQQei!!%!)Dk
5J[m!!3!@VTTYH3!"!#QZQQej!!%!)+kDEAN!!3!AVTTYH3!"!%B!5!2R!!%!!J#
3#!)"!*!%$N&`F&*eER4TE@8Z6'PL!*!D!J#3"dB!5!2R!!%!!J#3#!)"!*!%$9"
jG'K[EN0[FQ938%-!N"X"!*!,!3!$!*!%$9"jG'K[EN0[FQ938%-!N"+[!VFB!B"
cD'aLV`+h'!!#3!8!N!313A"`8R9ZG'PYC5j-D@)!N"'Z8fTb!B"08%a'VP0UFJ!
$!!)!N!3'C'9YEbjM!*!CV`,&!`'!9%9B9+m#a3-!"!!&!*!%#&"jG'K[ELjS!*!
AVA-b'3'!9%9B9+ec-KN!"3!&!*!%$'&XE'pLDQ9MG(-ZD!#3%kkDEAB"J&4&@&5
ZQQef!!B!"!#3"!KMEfjQD@FZD!#3&klm$aN"J&4&@&5Zr!mC!!G!"!#3"!GcG'4
TEbjS!*!BV6qZp!#!9%9B9+drV[3!#%!%!*!%"hPfB@ac,QJ!N"LZ8GqQ!)"849K
8VP(ITJ!*3!3!N!3)Fh4bD@jR,QJ!N"HY2kld!)"849K8V6qZp!!+3!3!N!3(CA*
bEQmZD!#3'+drV[)!J&4&@&5Y2klb!!Y!"!#3"!KcG'4XD@)ZD!#3&kdrV[3!J&4
&@&5Y2kld!!`!"3#3"!PYHA"bEh4[,QJ!N"DZQQei!B"849K8VTTYH!!0!!8!N!3
)Ef*UC@0d,QJ!N"HZQQei!B"849K8VTTYH!!1!!8!N!3*Ef*UD@e`E#jS!*!@VTT
YH!'!9%9B9+kDEAJ!$`!&!*!%#A"jC'9LG@FZD!#3&UkDEAJ"J&4&@&5ZQQei!"!
!"3#3"!jKBf0PFh0[BQTPBh3ZD!#3%DkDEAB"J&4&@&5ZQQef!"%!"3#3"!YTER4
[BQTPBh3ZD!#3&+kDEAF"J&4&@&5ZQQeh!")!"3#3"!aXEfjREf*UC@0d,QJ!N"1
ZQQeh!B"849K8VTTYG`!6!!8!N!30CQa[BA4[BQTPBh3ZD!#3%UkDEAF"J&4&@&5
ZQQeh!"3!"3#3"!pMEfe`E'9iEf*UC@0d,QJ!N"#Z4eC4!B"849K8VNG@83!9!!8
!N!30FQ&ZCf9[BQTPBh3ZD!#3%UkDEAJ"J&4&@&5ZQQei!"B!"3#3"!jcG(*TEQG
[BQTPBh3ZD!#3%DkDEAN"J&4&@&5ZQQej!"F!"3#3"!edGA"XC@pLDQ9MG#jS!*!
5VTTYH3'!9%9B9+kDEAN!'!!&!*!%$'aTFh4[BQTPBh3ZD!#3%kkDEAF"J&4&@&5
ZQQeh!"N!"3#3"!pYBA"`D@jREf*UC@0d,QJ!N"#ZQQeh!B"849K8VTTYG`!D!!8
!N!31E@9dD'pNEf*UC@0d,QJ!N"'ZQQeh!B"849K8VTTYG`!E!!8!N!31E@pNG@a
PEf*UC@0d,QJ!N"'ZQQei!B"849K8VTTYH!!F!!8!N!3-CR9ZBfpLDQ9MG#jS!*!
6VTTYG`'!9%9B9+kDEAF!(3!&!*!%$@0XBA0cEf*UC@0d,QJ!N"+ZQQef!B"849K
8VTTYGJ!H!!8!N!3-CQPXC@pLDQ9MG#jS!*!6VTTYG`'!9%9B9+kDEAF!(`!&!*!
%#@0[BQTPBh3ZD!#3&UkDEAF"J&4&@&5ZQQeh!#!!"3#3"!YdFQ&MC@*KBfXZD!#
3&+kDEAN"J&4&@&5ZQQej!#%!"3#3"!ecE'PMC@pLDQ9MG#jS!*!5VT+#r`'!9%9
B9+k5J[m!)J!&!*!%#R"jCA*bEh*c,QJ!N"@ZQQei!B"849K8VTTYH!!M!!8!N!3
+EAPYB@aXEf-ZD!#3&DkDEAJ"J&4&@&5ZQQei!#3!"3#3"!aYEf4cGA"`Eh*d,QJ
!N"1ZQQeh!B"849K8VTTYG`!P3!3!N!3)Fh4NBA*R,QJ!N"HY2kqp!)"849K8V6q
[[3!Q3!3!N!3*Ah0dC'&bCbjS!*!@UX`2e`#!9%9B9+V-$pF!*`!&!*!%"f0PGQ&
X,QJ!N"LZQQef!B"849K8VTTYGJ!S!!8!N!3,F(PdD'pZFR9Z,QJ!N"5ZQQei!B"
849K8VTTYH!!T!!8!N!3,FhPcE@pNG@aP,QJ!N"5ZQQej!B"849K8VTTYH3!U!!8
!N!3,D@jdFQ0SC@0V,QJ!N"5ZQQeh!B"849K8VTTYG`!V!!8!N!3)D@e`Eh*d,QJ
!N"HZQQeh!B"849K8VTTYG`!X!!8!N!30BQadD@jYEf4eE'8ZD!#3%UkDEAB"J&4
&@&5ZQQef!#d!"3#3"!TKBR0dFQ&MG#jS!*!9VTTYGJ'!9%9B9+kDEAB!,J!%!*!
%#@eKBfGXG@8ZD!#3&Um#[IX"J&4&@&5[!Vhl!#p!"!#3"!G8HA"PFbjS!*!BVP4
CiJ#!9%9B9+j8@H)!-%!%!*!%%d0[EQ4TG'P[EQ&X6@&MFQpc,QJ!N!bY(r*!!)"
849K8V4rb3!!a3!3!N!3(4QPXCA-ZD!#3'+`KJ-!!J&4&@&5X)B$!!$*!"!#3"!Y
0DAKPC%e[C'8ZD!#3&+e6A-!!J&4&@&5Y8ec!!$0!"!#3"!P28e9dD@ac,QJ!N"D
YXp8l!)"849K8VE291`!d3!3!N!3)6@9YEh*j,QJ!N"HX)B$!!)"849K8V#'!`!!
e3!3!N!3)4ACPER4c,QJ!N"HY(r*!!)"849K8V4rb3!!f3!3!N!3,8A9TBfYNFQ&
h,QJ!N"5XBKT!!)"849K8V')D3!!h3!3!N!328A9TBfYNFQ&h9'9iG#jS!*!3V#'
!`!#!9%9B9+`KJ-!!1%!%!*!%$P0dB@jNBA*N4QPXC5jS!*!4V#'!`!#!9%9B9+`
KJ-!!18!%!*!%#84TB@a[Ch-ZD!#3&U`KJ-!!J&4&@&5X)B$!!$T!"!#3"!K&FR*
[FR-ZD!#3&kdImN!!J&4&@&5Y(r*!!$Y!"!#3"!G0C@jeFbjS!*!BV#'!`!#!9%9
B9+`KJ-!!2%!%!*!%#N0[ER4bEfac,QJ!N"@X)B$!!)"849K8V#'!`!!p3!3!N!3
*9fPZC'phFbjS!*!@V')D3!#!9%9B9+aL'N!!2N!%!*!%#P4PH(4&C'Pd,QJ!N"@
X)B$!!)"849K8V#'!`!!r3!3!N!3(8dP299JZD!#3'+eNl!B!J&4&@&5YC1`'!*!
'!4`!!!!#8&0PCrrr!*!*(!!!!3"38f9R!!%!!!%!hN!!!!%H!!!#`&"-Fh3!N!3
"!0f!!!!$hJ!!$8T34Qac!*!%jS!!!!%!!!!R+`!!*LX!!!+b!!+P8(P$E'&cFep
*Fe0eBQ0XBA0c!!188(P$E'&cFem-C@eLC@4NC@e[,QeeC3)!!!"069"53eG*43#
3#%e08&*$9dP&!*!BVXCMAJ!!%AJ!!#RG!*!L4@F!!%9U!!3!!!!r!!!!F!!!!#!
!!!M5I!J#TVqKrr53!!%!#*3Krl"mI4YiI*iMH(r!"h9!JJ!-1'!!Rd+!!!JiB+L
IIm6cH%J!!!&J!!!!I(mEH(qMkhKra20i5!!!!3!!!!)!"J!!!!S!"!#3#c!!"J%
!rrm!N!Mrr`'3"3#3""i"!3#3#*QC!!!rrcrr2rm"!*!%5J!"!!N'6@pZB@0[!*!
F"!!S!!S"`J+!!#J!#J(#!S!!N"!"!*!%!J#3"43!!3"B!9`"(3*j!*!%5K-!!*R
d!!!!'J!$!!#CQ3#3"(rr!*!%Irm!N!4rr`#3"!JS!!3!!!!%!!3"#!!"!6TEV`$
2i13!$UmdBA0V)!!!!"`!N!QSBUB!U'18!+KMV!#3"DLVc!#3"DLVc!!3Bh!!N#M
-N!J!cpM3!-rBB0f3#(rrIrm!cpL%!*!%3*8aQ!!!"B3!!+%LrJ)!N!I2f0!!!cN
b!*!6!3#SBf)!U'0#!+LIb!!!@km!cq$N!!!!!f&cDb!!!!!F!*!*U'+Q!+KMP!#
SBk`!N!@SUm`!U9DS!+N5F%e33d-"#!!"'$U3"'*eD@aN,QeKBh"`BbjcD'&bC@3
k!*!%U'+Q!+KMP!#SBk`!N!@SUm`!N!@SUm`!%'0`!*!Sc*!)!-rBd!$2f'$GN!K
rrhrr!-rBK!#3"%#9-CJ!!!@%!!#K)[i#!*!(cpM3!!-j-J#3%`%!U'0L!+KM3J#
SRmJ!!&Z[!-rJj!!!!!0KFfXJ!!!!(!#3#DKLTJ#SBj3!U'1X!*!&U+[-!+P@U!#
T%R"08%0$!3!!!3Xk1MT*EQ0XG@4P1J!"!*!(%I33!!!!`!#3"!'L%N!!'`km!"4
kX!'L%h`"SK*3!"8Qa!!A'T`!N!3"SK0@!*!)!D)6$!'L%R!"4-#i!"1R+!!!!!N
"SK+!!"(d%!!6!QJ!mJ&I!D)5S!!2K,!!%mb!!!!!"3'L%U!!%I33!D)5U!'L%``
"SK,3hC!%!"1M5!'L%k`"SK,3!"(d%!!6T83!!+G'rJ)!!!!4p""X%!'LD2rh3!'
L%`$-N!3")JIS!*!&S'cJ!!!!$!%L"pJ"2TN)!6kC0!%qYe!!!"h!!*!%!D)6B!!
9*X3!%pqB!!!"!!%!!!%-1T!%5@jME(9NC6S"!*!(%I33!!!!`!#3"!'L%N!!'`k
m!"4kX!'L%h`"SK*3!"8Qa!!A'T`!N!3"SK0@!*!)!D)6$!'L%R!"4-#i!"1R+!!
!!!N"SK+!!"(d%!!6!QJ!mJ&I!D)5S!!2K,!!%mb!!!!!"3'L%U!!%I33!D)5U!'
L%``"SK,3hC!%!"1M5!'L%k`"SK,3!"(d%!!6T83!!+G'rJ)!!!!4p""X%!'LD2r
h3!'L%`$-N!3")JIS!*!&S'cJ!!!!$!%L"pJ"2TN)!6kC0!%qYe!!!"h!!*!%!D)
6B!!9*X3!%pqB!!!"!!%!!!)A1MSkDQ&MDcT$9dG98dNkD@jME(9NC6S!!!$!!*!
%!D)53!!E$V`!&(U`!D)6I!'L%P!!&5E%!"FDR!#3"!'L%eB!N!J"SK--!D)5F!%
rDhJ!%kFS!!!!#3'L%S!!%I33!"-#D!$b!9m"SK+J!!q%X!!6c)!!!!!&!D)5S!!
4p"!"SK+S!D)6$!'L%Y$GN!3!%k0)!D)6V!'L%Y!!%I33!"1P4!!!TdEq!J!!!"(
d%'`3!D*SrrG!!D)6!-b3"!%L"qJ!N!@JE1!!!!!-!6k@K!%qPU3"2TMi!6kh8!!
!(F!!N!3"SK0J!"8Qa!!6hjJ!!!%!!3!!!K-k1MTUB@0V1N0A4e9656T-D@)k!"(
d%!!!!-!!N!3"SK*!!"X1[!!8HV!"SK0m!D)58!!9*X3!&aUF!*!%!D)69J#3#!'
L%``"SK*`!6pVH!!6TbJ!!!!*!D)5J!!4p"!!%`*S!2)"A`'L%U!!$i5`!"2-J!!
!!!8"SK+J!"(d%!'L%UJ"SK--!D)5d0f3"!!6SdJ"SK1X!D)5d!!4p"!!%k9%!!#
R4[i#!!!!%I33E"!"SQMrpd!"SK-!c*!%!5)(k!#3"D"Xi!!!!!`"2TD%!6k@T!%
qQ2J"2VG3!!!G`!#3"!'L%f!!&5E%!"2IQ!!!!3!"#!!#&cT0B@028b"6GA"`Eh*
d1NKPB@4PFR-k38j655")C@&NCA*c1UKMV!#3"DLVc!#3"DLVc!!3Bh!!N#M-N!J
!cpM3!-rBB0f3#(rrIrm!cpL%!*!%3*8aQ!!!"B3!!+%LrJ)!N!I2f0!!!cNb!*!
6!3#SBf)!U'0#!+LIb!!!@km!cq$N!!!!!f&cDb!!!!!F!*!*U'+Q!+KMP!#SBk`
!N!@SUm`!U9DS!+N5F%e33d-"!!!#'6T0B@028b"6GA"`Eh*d1NaTBR*KFQPPFcS
!`!#3"!'L%N!!'`km!"4kX!'L%h`"SK*3!"8Qa!!A'T`!N!3"SK0@!*!)!D)6$!'
L%R!"2fYi!"1R+!!!!!N"SK+!!"(d%!!6!QJ!mJ&I!D)5S!!2K,!!%mb!!!!!"3'
L%U!!%I33!D)5U!'L%``"SK,3hC!%!"1M5!'L%k`"SK,3!"(d%!!6T83!!+G'rJ)
!!!!4p""X%!'LD2rh3!'L%`$-N!3")JIS!*!&S'cJ!!!!$!%qPS3"2TDN!6kBq!%
qYe!!!"h!!*!%!D)6B!!9*X3!%pqBrmd"!!!!&*3!"K"0B@028b"38%-J6'PZDf9
b!*!3"""0B@028b"38%-J6'PZDf9b!*!`'N&38%`!N%"J!!!!3A"`E!#33'!!!!"
068a#!*!J$NaTBL"*EA"[FR3J8&"$!*!969"-4J#3)!j-D@)J5@e`Eh*d)&"33`#
3&8eA3d3!N%"J!!!!8P053`#33'!!!!"849K8!bjLD'2+Ue!!!c$)!"5Yd!!!!Ai
"bUY3!"4P`!!!!YB-3Q&XE'p[EL")C@a`!*!&(33"bUZ!!"4P`!'(PY3!N!4849K
8!LjM!*!G$%eA)%-[3bXV)&"33`#3&e4&@&3%,Q-V+`#3'`a09b"$,d-V+b"38%-
!N"G849K8!bjMB`#3(!a09b"$,d-V+b"38%-!N"G849K8!bjMF!#3(!a09b"$,d-
V+b"38%-!N"G849K8"#jMF(!!N"X-69FJ3bp$+bXJ8&"$!*!A9%9B9!3ZCAK`bUY
3!!-`b!!8VG!!!!&q!FUV8!!8CF!!!!,@!&*PHQa[EfiJ5'9X!*!'(33"bUZ!!"4
P`!'(SM`!N!4849K8!LjS!*!G$%eA)%-[3bXV)&"33`#3%a!!!!"849K8!Lj`!*!
G$8eA)&"KFf0KE#"38%-!N"C849K8"#j`BA-!N"X069FJ8'&cBf&X)&"33`#3&P4
&@&3%,R"MD!#3'`a09b"$,d-V+b"38%-!N"1!!!!!9%9B9!BZF'0S+bX!N"N-69F
J3bp$+bXJ8&"$!*!6J!!!!&4&@&3#,R)!N"d'69FJ8Q9k!*!G9%9B9!)ZFfKMbUY
3!!-`b!!8VG!!!!&q!FUV8!!8CF!!!!,@"P"33d&cE@iJ5'9X!*!'(33"bUZ!!"4
P`!'(PY3!N!4B3dp'!*!J%&K$6dC')%PYF'pbG#"38%-!N"0NEf0e!*"!B!!!!(*
cFQ-!N%"J!!!!FfKXBJ#3)!j348BJ5@e`Eh*d)&"33`#3&A0dG@)!N#!18%9')%P
YF'pbG#"38%-!N"N%,Q4[B`#31e!!!!!36@&M6e-J0MK,)%aTEQYPFJ#3-"T"8&"
-!*"!B!!!!%&`F'`!N%"J!!!!68e-3J#3)!j-D@)J5@e`Eh*d)$Bi5`#3&8e36%B
!N#!16'PL)%PYF'pbG#!f1%X!N"909d0%!*"!B!!!!%p#5L!!N#!169"A)%PYF'p
bG#!f1%X!N"958e*$!*"!B!!!!&4&@&3$,Q*SBmUV8!!$--J!&+h3!!!"IJ(+Ue!
!&'A!!!!#eJa#B@aXEfpZ)%KPE(!!N!8G"!(+Ui!!&'A!!BH@e!#3"&4&@&3#,Q-
!N"d-69FJ3bp$+bXJ0MK,!*!A9%9B9!3ZBbXV!*!E$%eA)%-[3bXV)$Bi5`#3&e4
&@&3$,Q0M!*!F$%eA)%-[3bXV)$Bi5`#3&e4&@&3$,Q0`!*!F$%eA)%-[3bXV)$B
i5`#3&e4&@&3%,Q0`F!#3'`a09b"$,d-V+b!f1%X!N"G849K8"#jPH($+Ue!!!c$
)!"5Yd!!!!Ai"bUY3!"4P`!!!!YB!abTd$)LVJ!(+VN3!%j98!!!G"!(+Ui!!&'A
!!BHL2!#3"&4&@&3#,QJ!N"d-69FJ3bp$+bXJ0MK,!*!6%!!!!&4&@&3#,R!!N"d
069FJ8'&cBf&X)$Bi5`#3&P4&@&3%,R"KF`#3'`e09b"3BA0MB@`J0MK,!*!@9%9
B9!3ZF'0S!*!E$%eA)%-[3bXV)$Bi5`#3%i!!!!"849K8"Lj`BfJV+`#3'3a09b"
$,d-V+b!f1%X!N"1!!!!!9%9B9!)ZFJ#3(3C09b"5CAS!N"e849K8"#jcC@I+Ue!
!!c$)!"5Yd!!!!Ai"bUY3!"4P`!!!!YB!abTd$)LVJ!(+VN3!%j98!!!G"!(+Ui!
!&'A!!BHL2!#3"'4[Bh8!N%"J!!!!FR0bB`#33'!!!!"cD'aL!*!J$P"&4L"*EA"
[FR3J0MKV!*!9Fh4eBJ#3)!j348BJ5@e`Eh*d)$BiD`#3'33ZC'pM!*!l8!!!!""
AD@ic-L"i1$BJ6'PZDf9b!*!`#94&@&3#,Q-!N"d-69FJ3bp$+bXJH$Jf!*!A9%9
B9!3ZBbXV!*!E$%eA)%-[3bXV)(Ji0J#3&e4&@&3$,Q0`!*!F$%eA)%-[3bXV)(J
i0J#3&e4&@&3%,Q0`F!#3'`a09b"$,d-V+b"i1$B!N"G849K8"#j`BfJ!N"X-69F
J3bp$+bXJH$Jf!*!6J!!!!&4&@&3',R"MD#XV!*!C$%eA)%-[3bXV)(Ji0J#3%i!
!!!"849K8!bjbB`#3(!K09b"AD@j53`#3(`3ZE'PL!*!E$NaTBL"*EA"[FR3JH$J
f!*!C"#j[BQS!N"X16f*U)%PYF'pbG#"i1$B!N"8*68-J6'PZDf9b!*!h#%e03dJ
!N%4849K8!LjM!*!G#%e$)%-[3bXV!*!E9%9B9!3ZBfac!*!E%8e$)%0XBA0c)%0
[EA"TE'9b!*!1J!!!!&4&@&3%,Q4PCJ#32e4&@&3%,Q4[B`#31a!!!!"849K8!Lj
S!*!p%!!!!&4&@&3%,R"MD!#3'`K03b"$,d-V+`#3&i!!!!"849K8!bjdF`#33`B
!!3%!N!B8!!3"!*!(!3#3$!S!!3%!!!%"!!%!N!31!!F"!!%"!!%"!!!!!3#3"-B
!"`!!"@%ZEh9d!*!k2j!%39"36!!!!B"BJ!#33Mq3"!#3#98"N!!"#3*l!*!1!B!
!N"%i!!N!N!KYGf9bDh0IFfKKFQ9NAf0[EQCTCbjS!*!-!3#3$J`!!`#3$!(D!!3
!N"!"!*$r!*"%AepcG'&bG!#3I!%!!!!f!!`!N!F"!*!P!3#3"3%!!!!0!!)!N!i
8!!-#!!%"!!!"!*!1#J!"!3%!!!%"!!%!!!$%!!E#!&pID@jTG'PKE'PkC3#30&p
IFh4KFR3!N$PIAh4PFQeTEQ&dC3#30`%8!!8!N2m!N"Dk!!3!!!9K,QpeG!#3'Mq
3"%&38%`!!"p!!!!(d!!!!%!!!&M!!*"K!6q3"!#3"e8"N!!"#3*l!*!0,J!#!!!
!!J!#!*!S!J`!!J"3!!%!!3!"!!%!N2m!&#G$6d4&*b!R4%&835FJ*e"*3e3R!*$
Z#J!%!*!+!3!!!#FV!!!Q+`!!!V)"!0d!)&)!!!!F!AS!!R"@CA)!!!!DF(*PCJ!
B!#C69&)M!!!"8J#3$!5`!"!!!!!'!*!%!rd!(3!!!"3!N!3Ep!!N!!!!5!#3""d
@!#N!!!#F!*!%H3S!1!!!!,3!N!4(L`")!!!!dJ#3"$J&!&8!!!Mq!*!%G-X!A!!
!(CB!N!3'TJ"T!!!GS!#3"$`*!(8!!"fi!*!%IY-!KJ!!(FB!N!4Z0!#4!!!Gf!#
3""eD!*d!!"kL!*!%,XF!V!!!(Yi!N!3IL!#l!!!HlJ#3""fE!-)!!#$-!*!%%Hm
!dJ!!)3B!N!4LaJ$L!!!K&`#3"%%,!1i!!#%[!*!%8(J!r`!!)6d!N!3PY`%+!!!
L"3#3"#2(!4)!!#-G!*!%"d)"(J!!)pX!N!36H`%V!!!N$3#3"FMrr`!!*Kd!N!3
EJ2rr!!!!PJ#3"!p3FQpUC@0d)&CPFR0TEfi-8(*[DQ9MG#"0DA0M"N9NDA4[FJ4
'Efjd$P"bEfTPBh3J4AKdFQ&c$d0eFh4[E5",CAPhEh*NF`a"Bf0PFh-J8'&dD(-
'9'&bCf9d$%*eD@aN)%9iG(*KF`Xf1%XJ3fpNC8GPEK!f1%XJ4'PcBA0cC@eLE'9
b#MBi5b"-D@jVCA),0MK,)&"bEfTPBh313bp$+bXJ3fpYF'PXCA)13bp$+bXJ9f&
bEQPZCh-'3dC00MK,$e"KFf0KE#"$Efe`D@aPFJp3BA0MB@`J9f&bEQPZCh-,8&"
$)%0[C'9(C@i38&"$)%4TFf&cFf9YBQaPFJT38%-J6'PZDf9b"e"33b"348B,8&"
$)&"bEfTPBh3-8&"$3A0Y)&"KEQ9X$&*PHL"$Efe`D@aPFL*U:

View file

@ -89,6 +89,11 @@ <H2>Table of contents</H2>
<LI>
<A HREF="building.html">Building Mac Python from source</A> explains
how to build a PPC or 68K interpreter from a source distribution.
<LI>
<A HREF="embed.html">Embedding Python on the Mac</A> is a minimal example of
how to embed Python in other Mac applications.
</UL>
The Python distribution contains a few more examples, all unexplained: