]> granicus.if.org Git - python/commitdiff
Added (minimal) documentation on how to build standalone applications
authorJack Jansen <jack.jansen@cwi.nl>
Wed, 25 Feb 1998 15:40:35 +0000 (15:40 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Wed, 25 Feb 1998 15:40:35 +0000 (15:40 +0000)
with Python.

Updated various things (versions of libraries used, urls).

13 files changed:
Mac/Demo/PICTbrowse/PICTbrowse.rsrc.hqx
Mac/Demo/building.html
Mac/Demo/cgi.html
Mac/Demo/cgi/cgitest.cgi.rsrc.hqx
Mac/Demo/embed.html
Mac/Demo/example1.html
Mac/Demo/example1/InterslipControl-1.rsrc.hqx
Mac/Demo/example2.html
Mac/Demo/example2/InterslipControl-2.rsrc.hqx
Mac/Demo/index.html
Mac/Demo/plugins.html
Mac/Demo/standalone.html [new file with mode: 0644]
Mac/Demo/waste.html

index bdf3c7783309fda72e3b6b2ba522f20e035eb74f..4357bbdd92f714304890be71ade3d2031234bbdb 100644 (file)
@@ -2,10 +2,10 @@
 
 :$e"*3e4LFQphFf8ZFR0bB`"bFh*M8P0&4!#3#!'8,V!!N!3"!!!!!6m!!!!r!!!
 !9G'"(r!!q[m!!2Vr!!$kf!!!qYJ!!2VB!!$kf!!!q[qJ$e"*3e4LFQphFf8ZFR0
-bB`)!!!"bFh*M8P0&4!#3"R*cFQ058d9%!*!BVAAL!`#3"J'8r`!!q[m!!2VB!!$
+bB`)!!!"bFh*M8P0&4!#3"R*cFQ058d9%!*!BVPGG(3#3"J'8r`!!q[m!!2VB!!$
 kf!!!qYJ!!2VB!!$krk!!q[mJm!$kr`!!q[m!!2VB&3!!qYJ!!2VB!!!6qYJ!!2V
 r)!SJ#b!-!D!!)!Da%"6i!2Vr!!$kf!!!qYJ!!2VB!!$kf!!!qYJ!!2Vr!!$kr`!
 !q[ri!2Vr%#B!!2Vr`!$krc$i!2Vr!*!%&3"!!"!"&!$&!!!"!!%!N!8#!*!&)J!
 "!*!&"3!+!+-!V!#3"l3!2!$)!(B%"&0SEhF!!!%!!!!"2`!!!$m!!!"9!2!Xj"0
 i!!!!(!"'!!&%6%p(!!!!%N4*9%`!!!!H!J#3#`)!rrm!!!!C!*!%$N*bEhGcCA)
-JGfPZC'phVc!:
+JGfPZC'ph%ES:
index fee9cfd7b7d8405ed1ffa82b7a0ff90959779a34..7d3aa926f33fac558d07f10867b894ee4c4ae294 100644 (file)
@@ -44,10 +44,10 @@ directory <code>Mac/mwerks/projects</code> for the project files and
 related stuff.
 
 <LI> You need MetroWerks CodeWarrior. The current distribution has
-been built with CodeWarrior Pro 1. Ordering information is
+been built with CodeWarrior Pro 2. Ordering information is
 available on the <A HREF="http://www.metrowerks.com/">MetroWerks
-homepage</A>. You might still be able to build Python with MPW or
-Think/Symantec C but you are basically on your own.
+homepage</A>. Building Python with MPW or Think/Symantec C is
+probably impossible without major surgery.
 
 <LI> You need GUSI, the Grand Unified Socket Interface, by Matthias
 Neeracher. The original CWGUSI is
@@ -61,7 +61,7 @@ these modifications are available in folder <code>Python:Mac:GUSI-mods</code>.
 
 <A NAME="optional">The MacPython project files are configured to
 include a plethora of optional modules</A>, and these modules need a
-number extra packages. To use the project files as-is you have to
+number of extra packages. To use the project files as-is you have to
 download these packages too. PPC and CFM68K Python have all such modules as
 dynamically loaded modules, so if you don't need a certain package it
 suffices to just refrain from builing the extension module. For static 68K
@@ -81,8 +81,8 @@ below. Get the "full source" distribution, which includes MoreFiles.
 
 <LI> Waste, a TextEdit replacement written by Marco Piovanelli, <A
 HREF="mailto:piovanel@kagi.com">&lt;piovanel@kagi.com&gt;</A>.  Python
-was built using version 1.2, which you can obtain from <A
-HREF="ftp://rhino.harvard.edu/pub/dan/WASTE">&lt;ftp://rhino.harvard.edu/pub/dan/WASTE&gt;</A>
+was built using version 1.3, which you can obtain from <A
+HREF="http://www.boingo.com/waste">&lt;http://www.boingo.com/waste&gt;</A>
 and various other places.
 
 <LI> Gdbm library for the Mac. Available from Jack's Mac software page at
@@ -121,12 +121,12 @@ Top-level-folder:
                zlib
                libpng
        gdbm
-       MoreFiles 1.4.3 (not needed by Python, only by tcl/tk)
        Python
        Tcl/Tk Folder
                tcl8.0
                tk8.0
-       Waste 1.2 distribution (if you want waste)
+               MoreFiles 1.4.3
+       Waste 1.3 distribution (if you want waste)
 </PRE>
 
 First build GUSI. If you didn't get the python-specific GUSI you have to 
@@ -137,7 +137,7 @@ platform (ppc, 68k, cfm68k). <p>
 Next, in
 <code>MoreFiles</code>, <code>libjpeg</code>, <code>pbmplus</code>,
 <code>zlib</code>, <code>libpng</code>, <code>gdbm</code>,
-and<code>libtiff</code> you build all projects. Sometimes the projects are in "mac"
+and<code>libtiff</code> you build all projects. Usually the projects are in "mac"
 subfolders, sometimes they are in the main folder. Tcl/tk is a special
 case, see below. Of course, if you are only interested in one of
 static 68K, CFM68K or PPC you can skip building the other libraries.
@@ -174,14 +174,7 @@ building Python.
 <H2>Building Waste</H2>
 
 You do not need to build the Waste libraries, as Python includes the
-source modules themselves. You have to make one modification,
-though. In file <code>ICCFMGlue.c</code> in folder <code>Minimal IC
-APIs</code>, add the following lines:
-
-<blockquote><pre><code>
-#include <Gestalt.h>
-#include <Errors.h>
-</code></pre></blockquote>
+source modules themselves.
 
 <H2>The organization of the Python source tree</H2>
 
@@ -190,19 +183,16 @@ the Python source tree.  At the top level, we find the following
 folders:
 
 <DL>
-<DT> build.mac68k.stand
-<DD> This is where you build static 68K interpreters.
-
-<DT> build.mac68k.shared
-<DD> This is where you build the CFM68K shared library, interpreter
-and applet framework.
-
-<DT> build.macppc.shared
-<DD> This is where you build the PPC shared library, interpreter and
-applet framework. You can also build the fat applet framework here.
+<DT> build.macstand
+<DD> This is where you build static 68K interpreter, and possibly (if
+you want them) static PPC and fat interpreters. There is also a project
+here that builds smaller versions of the static interpreter.
 
-<DT> build.macppc.stand
-<DD> This is where you build a nonshared PPC interpreter (optional).
+<DT> build.mac
+<DD> This is where you build the CFM68K, PPC and fat shared library,
+interpreter and applet framework. The fat targets are deposited in the
+main folder (one level up), the others, which are intermediate results
+really, are left here.
 
 <DT> Demo
 <DD> Demo programs that are not Mac-specific. Some of these may not
@@ -211,7 +201,7 @@ work, the file <code>README-Mac</code> has some details.
 <DT> Extensions
 <DD> Extensions to the interpreter that are not Mac-specific. Contains
 only the <code>img</code> extension in this distribution. Extensions
-are <em>not</em> built here, as they are on Unix, but incorporated in
+are not always built here, as they are on Unix, but sometimes incorporated in
 the core interpreter or built as plugin modules.
 
 <DT> Grammar
index c2369cf0a768e2dde009e3edb6d8c22cce6cf0a0..651d205d8c2fa00a302f08518c7e1384484d584f 100644 (file)
@@ -79,3 +79,4 @@ http://www.biap.com/datapig/mrwheat/cgi_params.html</a>. <p>
 To test the script drop <code>cgitest.cgi.py</code> onto <code>mkapplet</code>,
 move the resulting <code>cgitest.cgi</code> to somewhere where it is reachable
 by NetPresenz, and point your web browser towards it.
+</BODY></HTML>
index 9e00e3a80650142735afbf69e2ccfe15aad82c60..2c49e240b167d59a5c529ef4aaad951714e7efbd 100644 (file)
 (This file must be converted with BinHex 4.0)
 
-:%'0RDA4PFh3ZBfGT,R*cFQ-!FR0bBe*6483"!*!((`VqD`#3"!%!!!!G33!!(%%
-!!!(*0K3J9#"S!"3J8(d4X'J4!$S"CbB5,`a1ZJ)-$$S!@RN3BfGTG'9cG#jMCfN
-ZFR0bBfN#!!!!2j!)!*!%2j!)!*!BVRDb4!#3"Km+ra(!U'N"(8!4rr-6F!!3,[r
-c[G)4CK"40Vj9D`%"3N5pSEj9D`%"-&%b!@FH4"8-!!!FC4*`!"!Z3a8-!!!IBJC
-`!@!!!3%#,&T8,5j%[3%!'c`"CM!R96iD5S!J8`)S!,m!,L)!l3N#!3"!JbME0"1
-Tebm-6VS"#8TRD`%!TPG$1J!!!3!4!!!!!3IJ!)%'B!!!"q!!N!!"J!#3!!'!!*!
-!rri!N!$rrJ!3rrm!NIr!J*(rJ%#4rc!JJrr)%)2JIiq$rM!(Krm!"iIrJ!H(rq!
-($rrrj`rrrpm2rrrR(Frri"QqrrJGI'Bi24lDh$eZfY`pEYVFICjQhRrrrrjrrrr
-q!*!*$r!!!!r`!!!2m!!!$r!!!!r`!!(rri!"rrq!!IrrJ!2rri!$rrr!!rrri!I
-rrr!(rrrr"rrrr`rrrrm2rrrr$rrrrarrrrmIrrrr(rrrrcrrrrJrrrrm2rrrr(r
-rrrjrrrrqIrrrr[q3&!#3"`T3i!!HK)!!"k%J!!!!3!#3""1!%i!"!#I!*r!R$Ji
-'$iB2jKUi'V!Im!#3"2q3)!!!!3!!!3!!%!+!!!3%3!"%##!!9I!3!&%J#!"3`r3
-!8-BD!"2m2`"6r"k!4r`V3%ri)5"Aq!q3!'rm2iK2r$q%cr`IJPrq$i&rrJq#(ri
-("#hr!`JVI`)3+cd')'PRQ%"T*r#!Irq"!!!J!J!!%!3!!!J)!!!%%!!!!L!!!!&
-!!!!!J!!!!3!!%!1!!!3(`!"%$q!!9Ir`!&(rq!"3rr`!82rq!"2rr`"6rrq!4rr
-r`%rrrq"Irrr`Irrrq(rrrrcrrrrqIrrrrhrrrriIrrrm2rrrq$rrrr!rrrrJIrr
-r`(rrri"rrrm!!$rq!!!Ir!!!$rJ!!!I`!!!$i!!!!F!!!!#!!!!!!J#3#!m!N!N
-2!*!&m2!!N!N2!!!!$``2!*!($`!2!!!!m-c!m!#3"Jm2$`99A`c-c!m!N!B2$`!
-&!&c-c-c!m!#3"3m2!!"9h3$rrr`2!*!&$`m!!&AG$iGhIr$`!*!&$`"999AiGhH
-,r`m!N!32$`"999@)GhGlMr$`!!!!$`!&9999@hGhKlHr$`!!!!m!p99999YhGiG
-hIm$`!!!2$`99999AGhGhZi[m$`!!$r"9N!9hGlZ,Lrc!m!!2$&@3"AGhZlZlr-`
-2!2r-9C!&GhGlZiMmc-$`$q99N!9hGhH)Lrc-c-m2p9@3"9GhGlZrr-c0m!!&9C!
-&9hGhHlr-c0m!!&&9&9@3"(GhGrr-cI!!!&&49499999hGhImc0m!!!"48984848
-9GhGrr-h`!!!&89%9&9%9&9GrrmcI!!!!"9&4&4&4&49Irmc0m!!!!!99N!GFc-c
-I!*!*rGhGhFc0m!#3#3rGhGh-h`#3#rh-c-h`!*!,$pc-h`#3$Ih0m!#3$3rI!*!
-2m!#3#33!N"$r!*!6r`#3#[m!r`#3&2m!N!Ir!#X!r`#3$rm!!!$r!*!'r`!V+bX
-!r`#3$[m!r`$r!,#3"2m!+j!&!2m!N!hr!2m!!!#`!!#`+j!)!2m!N!cr!2m!N!5
-`X2Vk!!$rN!8V!2m!N![r!2m!N!5`X2Vk!2qI5*!%rrm!r`#3$2m!!,#3"[qI5*!
-%Rjrrr`$r!*!*r`$r!!#`N!BcRdL3"61Irrm!r`#3#2m!!!#`N!Jc5*!%-dJc5$2
-r!2m!N!Ir!!$rX*!)-dL3"*p)N!6r+`$r!*!'r`$r!,#3#%L3"jmc-c2r+`$r!*!
-&rrm!X*!+5*!%Rc-c-jmcrbXV!2m!N!6r!#Z`N!T)N!3cRc13"2mV+bX!r`!!rrm
-V+l#3#NL3"6-c-jqIrbZ3"!$r!!$rr,#3#dL3"TqIRc2r+j!'r`$rrl#3$%L3"6-
-c-rrr+j!%q[m!N!5`N!a)N!DI-rmVN!6kr`#3",!&X,!&X*!*5*!'rrmV+b[kr`#
-3"E!&X!@`X!@`N!G)N!Er+bXVq[m!N!D`"E!&X,!&"E!&"E!&X%L3"Irr+b[kr`#
-3"V#`"E!&"E!&X,!&"E!&X,")52rrrbXVq[m!N!H`X!@`"3@`"3@`"3@`"E#`rrr
-r+bXVq[m!N!L`N"!VN!Akr`#3%[rkN!FV+b[kr`#3&2rkN!BV+rVr!*!@rrSVN!A
-kr`#3'2rk+bXVq[m!N"VrqL[kr`#3(2rkr`#3([m!N"*!#)!T3!)J"0![U$Bd,V*
-Z-6mL(m3UL$q3!!)J!8!!J!!!#)!T`!2J"r![q$rm2rjrrcrq(r`rq$r`!q!"`!#
-!!*!&J!!!m!$`!*!%m2!2$`#3"[$!m!#3"!m-r`m!!!$`99phm2!!!2m&KhU[$`!
-!m&9AL+r!m!rm99GkV-c2!2999AImcI!!"999ImcI!!"489&GcI!!!&9999hI!*!
-&rGh`!*!&$pm!N!I`!*!0!3#3"Im!!!$r!*!*r`$r!!$r!2m!N!cr!#X!r`#3#[m
-!+rrr!2m!N!Er!,#`X2p)52m!r`#3"Irr!,$M5%L*LIm!r`#3"2m!X,#`512MLIm
-V!2m!!2rr+l#`X%K)LBNVN!6r!!$rX*!&5%Mr+b[jr`#3",#3"8Mr+b[jr`#3",!
-&X!@`"E$j+rRr!*!&X*!(qIRr!*!+rrRjqIm!N!crqIm!N!lr!*!D"d&38%`!!3!
-!!!%!(rrq!"!!!`!4!)+!%3%#3"-cJL!9@5)3&@%$q"-a+SJ3!!!)%'rl#"!!!!J
-3$lJ)%!!!#"!2hkJ3!!!)%!(Vk"!!!!J3!IF)%1!!#"$KlmJ33!!)%I'qL"(`!!J
-4m$pS%rJ!#"2i2iJ6q!!)&U`hb"DX!!JAr!!)%!!!#"rrrrJIrri!(rrr!"rrri!
-Irrr!(rrri"rrrr!Irrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJ
-Irrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJ
-Irrri(rrrq"rrrrJIrrri(rrrq!!!!J!!$rq3#I!!N!82!*!*r`#3"3m!"3#3"&!
-!!2(`!*!%$`!&!!!!"3!!!2%I!*!%$`"9!&8!99!!!2%4m!!!!!m&N!43"3!`!2%
-4(`!!!!m&"393!!8!!!$rrrr`!!!2!&8!93!&!$"38&!!m!!!$`#3$2!!!!m!!!9
-39C!%8&8!!2!!!!m!N!c`!!!2!*!%999399!!!!$`!!!2!*!-m!!!$`#3"&99939
-999"3m!!!$`#3$2!!!!m!N!8&99"39993m!!!$`#3$2!!!!m!N!8&998&93!!m!!
-!$`!!99!!N!M`!!!2!!"98!!&99"9998!m!!!$`!!"3#3#I!!!!m!"999!!93999
-38!$`!!!2!!9993#3#2!!!!m!"999!!!!9999"9$`!!!2!&9999!!N!I`!!!2!&9
-999!!!&9999!!m!!!$`"99993!*!(m!!!$`9489&9!!"9"999!2!!!!m&89&493#
-3"r!!!!m&9C!%!*!(m!!!$`#3$2!!!!rrN!c`!!!!"!#3"2q3&!#3$2m!N",rr`#
-3#rm!!!#`!*!)X!#3"Im&r`#3#[m!!!#`!*!(X!#3"[m&"Im!N!Rr!!#`X!!!X,!
-!!,#`X!#3"Im&"3Ar!*!)r`#`!,!!X!#`X!!!X!!!f!!!!2m&N!6r!*!(r`#`!,!
-!X,!!N!5`!*!'rj!(!*!'r`!!X,!!!,#`!!!!X!!!f!#`!,!!X!!!!2m!N!Er!*!
-Br`#3"[m!N!@`X!#`N!N!X,!!N!6r!*!'r`#3'2m!N!Er!*!)X*!&!,#`X!#3"rm
-!N!Er!*!Br`#3"[m!N!L`N!B!X*!'!,!!r`#3"[m!N"Mr!*!'r`#3#l#3"!#`!,#
-3"3$r!*!'r`#3'2m!N!Er!*!,X*!&!,#`X!#3"2m!N!Er!*!%X,#`!*!4r`#3"[m
-!N!5`X,!!N!5`N!3!X*!'!!$r!*!'r`#3"E!!N",r!*!'r`!!!,#3"3!!!,#`!,#
-3"3#`!!!!r`#3"[m!!!#`N!8!N"$r!*!'r`!!!,#3"3#3"V#3"J#`X!$r!*!'r`!
-!X*!(!*!2r`#3"[m!!,#3"`#3"E#3"`!!!2m!N!Er!!#`N!F!N!rr!*!'r`#`X!@
-`"E!&X,!!N!5`X!#`N!8!!2m!N!Er!,#`"E!&X!@`X!#3$[m!N!Er!,#3#3#3$[m
-!N!Er!*!Br`#3"[q3'J#3"N"rm%!B9949AN!#6rT!!N$b4J*'HNm#6cTIJPqb3!*
-rr[q3)!!!!)!2rj!&!!!2!*!%$r!!$`8&"3-2(`!2"38&!`rrm!m!N!E`$`"9N!4
-3m!m!N!E`$`!!!&99!2!2!!93!!!!m!m!"9!&99$`$`"993!!!2!2!&99!&93m!m
-&9993!!$`$`9999"9!2!2!*!'m!rrN!E`!!!"!!$rN!X!N!Ar!*!*rrm!N!6r!,!
-!X!#`!0J!r`Ar!!!!r`#`!,!!X!$B!2q3"!!!r`#3$2m!!2m!!,#3#3$r!!$r!*!
--r`!!r`#3"V#3"!!!r`!!r`!!!,#`!*!(r`!!r`!!!,#`!!#`N!3!r`!!r`!!X*!
-%!*!'r`!!r`!!X*!%!!#`X,!!r`!!r`#`N!B!N!Ar!!$r!,#3"J#`X!!!r`!!r`#
-3$2m!!2q3$J#3"!G849K8!*!&!3!!!3!!!!+!!!!%3!!!#+!!!"23!!!L5!!!3B3
-!!)'#!!%(i3!#"##!"JJa3!S)%5!Arrm3,JJ"#%S%!36+"!%#Im3"!cr#!3BIiJ%
--,rm"'#Yr!6!V*3&JDf@"`'XPJB"rri-!!M!(!!)B$3!#$"N!!JBa!!)$B3!#!F%
-!!J#"!!!"!!!!!i!!!!I!!!!2i!!!(r!!!$ri!!"rr!!!rri!!Irr!!2rri!(rrr
-!$rrri"rrrr!rrrriIrrrr2rrrrjrrrrr2rrrrKrrrr`rrrri2rrrm$rrrq"rrrr
-!IrrrJ(rrr`!#2rm!!Krp!!)2q3!#"r%!!J2K!!)"`3!#!)%!!!!#!*!)$`#3$r$
-`!*!0$``2!*!0m-c3m!#3#`m-9982!*!,m-a3"F$`!*!*$`c-a9hG$`#3#I$-c-9
-GhF$`!*!($`c-a999A-`2!*!(m-c-a3!!A-c!m!#3"3rph-a3!!"9h-r2!*!&m2h
-Fc&!!!!AFcpc`!!!!$`ArN!RG$`!!!2"9r-!!9Gc-c-c2hF$`!!m-82c!!!AFc-c
--cph-$`$rc&$m`!!&hFc-c-rGc-$`$q99rZ8!"9h-c-c2hFc-c`$e9IlP!!"Gc-c
--cph-cI!!"9Aqj9!!AGc-c-rGc0m!!&&9rZ9999AFc-c2hFh`!!"48Il99999h-c
--cphI!!!!89(qd9%9&Gh-c-rGm!!!"9&4rY94&49Gc-c2h`!!!!948Il48489AFc
--cr!!!!!&99Aqj99999hFc0m!N!I`!2hGhGhFcIm!N!I`!!rGhGhFh`m!N!I`!!$
-pc-c0m!m!N!I`!!!2h-cI!!m!N!I`!!!!rFh`!!m!N!I`!!!!$pm!!!m!N!I`!*!
-%m!!!$`#3"J3!N"$r!*!Hr`$r!*!Fr`!V!2m!N"Vr!#XVqJ$r!*!Br`!VX*!%!2m
-!N"Er!#XVX!!!X#X!r`#3&2m!+j!%X,$kq[S!r`#3%[m!+j!&X,$kq[SV!2m!N"$
-r!#Z3",#3"LXV+`$r!*!1r`!VN!@`!*!%X#Z3"!$r!*!-rrrkqLXV+l!!N!@`X2S
-V+rmVr`#3#[m!rrVk+bXVX!#3"V$k+b[rqL[r!*!)r`#`rj!5q[S!r`#3"[m!X,$
-r+bX!!!#`X2SVN!Mrq[SV!2m!N!6r!#Z`!2mV+`#3",$k+j!)rrVk+bX!r`!!rrm
-V+l!!rbXV!*!%X2Vk+j!(rrVk+bXV!2m!!2rmX,#`rkZVX!!!!,#`qLZ3"rrkqLZ
-3"Im!!2q`X,$rUkZ`!*!%X2SVN!Irq[SV+b[kr`#3",#`X2qVUl#`!!!!X2Vk+j!
-'rrVk+b[kr`#3",!&X,$rUkZ`N!Ik+j!'rrVk+rVr!*!&X!@`"IqV-l#3"rSVN!E
-rq[Vkr`#3"V!&X!ArUc-&X!8&X!@`q[SVN!Arq[Vr!*!'X,!&X!ArUc1`X!8&X!@
-`X2SVN!Arq[m!N!H`X!@`"IqV-`@`"3@`"E#`qLZ3"Irr!*!)X*!&rkZVX*!)q[S
-V+b[kr`#3$[m!!!$rqT!)+b[krrm!N!lr!*!%rrU3"b[kr`$r!*!1r`#3"Irk+j!
-&q[m!!2m!N!lr!*!'rrSV+b[kr`!!!2m!N!lr!*!(rrSVq[m!N!6r!*!1r`#3#2r
-kr`#3"Im!N!lr!*!*r`#3"[m!N!Y!!)!"3!)J""!)k""%,rTU#6N+'3`UL$qB#LJ
-*5!L)#!J!J!(!!q!(m!ri(r`rrRrr2riIr$ri2rJ,k!R)#)J)#!!!!)!!N!6`!*!
-'$`m!N!E``2!!N!32$-`2!*!%m-a982!!!!m-c-A-$`!!m2q3"2$`$rc`AFc-rFm
-!pI!&h-cpm!!&m!AFc2m!!&(a89h0m!!!9I99AGr`!!!!m2hGm2!!!!$`$pm!m!!
-!!2!!m!$`!!!!m!!!!2!!!!!"!*!*r`#3$[m!r`#3$2m!+`$r!*!+r`!V+bX!r`#
-3#2m!+bZ`X,!!r`#3"[m!+j!%X#XV!2m!N!6r!2q3#3$r!!$rrb[r!,$j+j!%rrN
-Vr`!!rl$r!!#`q5XV+rrjr`#3",$r!!#`q5XV+rrr!*!%X!Ar"E!&X2NVqIm!N!@
-`X2q`N!6jqIrr!*!(r`$rqIRjr`$r!*!(r`!!rrRr!!$r!*!(r`!!!2m!!!$r!*!
-(r`#3"rm!N!B(3A4YF!!$!*!%,&"jG$J!!!!"4P*&4J!#!!%!J3!!!)!!!`#$580
-1)`!#!!%!J!!!!)%!!`##!!!!!3#3"!N!N!B"!3%!!!%!!!!G33!!(%%!!!(*!21
-aT"a)!!!!(!'k!!T#6N4-!!!!@NP$6L-!!`"Q8dPD43!!!*C'8N9'!!)!SQPMFb-
-!!`$'D@0X0!!#!2CTBf`i!!)"'QPMFc3!!J%qD@0c1!!#!@*3HA3i!!!"KP"[F(3
-!!!'5!)$rr`!!'rm!N!3",2rr!*!*J2rr!!!"9J#3"B(rr`!!#MN!N!@#rrm!!"-
-F!*!%rj!%!!!""!#3"B(rr`!!#Li!N!@!rrm!!"-4!*!&Jrrr!!!Ep!#3"!%Xrrm
-!!!%5!*!&J2rr!!!)BJ#3"B(rr`!!%88!N!@#rrm!!"SS!*!&J2rr!!!#@J#3"B(
-rr`!!#cd!N!@#rrm!!"3J!*!&J2rr!!!%AJ#3"B(rr`!!$8%!N!@#rrm!!"BN!*!
-&J2rr!!!)TJ#3"B(rr`!!%BN!N!@#rrm!!"TX!*!&J2rr!!!*+J#3"B(rr`!!%Jd
-!N!@#rrm!!"V`!*!+(#m!N!@"rrm!!"`d!*!%$NphEQ9b)(*PFfpeFQ0PAq`:
+:%'0RDA4PFh3ZBfGT,R*cFQ-!FR0bBe*6483!N!JI#T%Z!*!%!3!!!"e"!!!F33!
+!!FNf&#"8)'J!&#"3I4'`D"%!1J&R*K)[$%kk!J`-1J"DH4"MCfPdCA0d,Q0RD5j
+bFh*MD3)!!!"bFh*M8P0&4!#3"(*cFQ058d9%!*!BVUU!+!#3"Km+ra(!U'N"(8!
+4rr-6F!!3,[rc[G)4CK"40Vj9D`%"3N5pSEj9D`%"-&%b!@FH4"8-!!!FC4*`!"!
+Z3a8-!!!IBJC`!@!!!3%#,&T8,5j%[3%!'c`"CM!R96iD5S!J8`)S!,m!,L)!l3N
+#!3"!JbME0"1Tebm-6VS"#8TRD`%!TPG$1J!!!3!4!!!!!3IJ!)%'B!!!"q!!N!!
+"J!#3!!'!!*!!rri!N!$rrJ!3rrm!NIr!J*(rJ%#4rc!JJrr)%)2JIiq$rM!(Krm
+!"iIrJ!H(rq!($rrrj`rrrpm2rrrR(Frri"QqrrJGI'Bi24lDh$eZfY`pEYVFICj
+QhRrrrrjrrrrq!*!*$r!!!!r`!!!2m!!!$r!!!!r`!!(rri!"rrq!!IrrJ!2rri!
+$rrr!!rrri!Irrr!(rrrr"rrrr`rrrrm2rrrr$rrrrarrrrmIrrrr(rrrrcrrrrJ
+rrrrm2rrrr(rrrrjrrrrqIrrrr[q3&!#3"`T3i!!HK)!!"k%J!!!!3!#3""1!%i!
+"!#I!*r!R$Ji'$iB2jKUi'V!Im!#3"2q3)!!!!3!!!3!!%!+!!!3%3!"%##!!9I!
+3!&%J#!"3`r3!8-BD!"2m2`"6r"k!4r`V3%ri)5"Aq!q3!'rm2iK2r$q%cr`IJPr
+q$i&rrJq#(ri("#hr!`JVI`)3+cd')'PRQ%"T*r#!Irq"!!!J!J!!%!3!!!J)!!!
+%%!!!!L!!!!&!!!!!J!!!!3!!%!1!!!3(`!"%$q!!9Ir`!&(rq!"3rr`!82rq!"2
+rr`"6rrq!4rrr`%rrrq"Irrr`Irrrq(rrrrcrrrrqIrrrrhrrrriIrrrm2rrrq$r
+rrr!rrrrJIrrr`(rrri"rrrm!!$rq!!!Ir!!!$rJ!!!I`!!!$i!!!!F!!!!#!!!!
+!!J#3#!m!N!N2!*!&m2!!N!N2!!!!$``2!*!($`!2!!!!m-c!m!#3"Jm2$`99A`c
+-c!m!N!B2$`!&!&c-c-c!m!#3"3m2!!"9h3$rrr`2!*!&$`m!!&AG$iGhIr$`!*!
+&$`"999AiGhH,r`m!N!32$`"999@)GhGlMr$`!!!!$`!&9999@hGhKlHr$`!!!!m
+!p99999YhGiGhIm$`!!!2$`99999AGhGhZi[m$`!!$r"9N!9hGlZ,Lrc!m!!2$&@
+3"AGhZlZlr-`2!2r-9C!&GhGlZiMmc-$`$q99N!9hGhH)Lrc-c-m2p9@3"9GhGlZ
+rr-c0m!!&9C!&9hGhHlr-c0m!!&&9&9@3"(GhGrr-cI!!!&&49499999hGhImc0m
+!!!"489848489GhGrr-h`!!!&89%9&9%9&9GrrmcI!!!!"9&4&4&4&49Irmc0m!!
+!!!99N!GFc-cI!*!*rGhGhFc0m!#3#3rGhGh-h`#3#rh-c-h`!*!,$pc-h`#3$Ih
+0m!#3$3rI!*!2m!#3#33!N"$r!*!6r`#3#[m!r`#3&2m!N!Ir!#X!r`#3$rm!!!$
+r!*!'r`!V+bX!r`#3$[m!r`$r!,#3"2m!+j!&!2m!N!hr!2m!!!#`!!#`+j!)!2m
+!N!cr!2m!N!5`X2Vk!!$rN!8V!2m!N![r!2m!N!5`X2Vk!2qI5*!%rrm!r`#3$2m
+!!,#3"[qI5*!%Rjrrr`$r!*!*r`$r!!#`N!BcRdL3"61Irrm!r`#3#2m!!!#`N!J
+c5*!%-dJc5$2r!2m!N!Ir!!$rX*!)-dL3"*p)N!6r+`$r!*!'r`$r!,#3#%L3"jm
+c-c2r+`$r!*!&rrm!X*!+5*!%Rc-c-jmcrbXV!2m!N!6r!#Z`N!T)N!3cRc13"2m
+V+bX!r`!!rrmV+l#3#NL3"6-c-jqIrbZ3"!$r!!$rr,#3#dL3"TqIRc2r+j!'r`$
+rrl#3$%L3"6-c-rrr+j!%q[m!N!5`N!a)N!DI-rmVN!6kr`#3",!&X,!&X*!*5*!
+'rrmV+b[kr`#3"E!&X!@`X!@`N!G)N!Er+bXVq[m!N!D`"E!&X,!&"E!&"E!&X%L
+3"Irr+b[kr`#3"V#`"E!&"E!&X,!&"E!&X,")52rrrbXVq[m!N!H`X!@`"3@`"3@
+`"3@`"E#`rrrr+bXVq[m!N!L`N"!VN!Akr`#3%[rkN!FV+b[kr`#3&2rkN!BV+rV
+r!*!@rrSVN!Akr`#3'2rk+bXVq[m!N"VrqL[kr`#3(2rkr`#3([m!N"*!#)!T3!)
+J"0![U$Bd,V*Z-6mL(m3UL$q3!!)J!8!!J!!!#)!T`!2J"r![q$rm2rjrrcrq(r`
+rq$r`!q!"`!#!!*!&J!!!m!$`!*!%m2!2$`#3"[$!m!#3"!m-r`m!!!$`99phm2!
+!!2m&KhU[$`!!m&9AL+r!m!rm99GkV-c2!2999AImcI!!"999ImcI!!"489&GcI!
+!!&9999hI!*!&rGh`!*!&$pm!N!I`!*!0!3#3"Im!!!$r!*!*r`$r!!$r!2m!N!c
+r!#X!r`#3#[m!+rrr!2m!N!Er!,#`X2p)52m!r`#3"Irr!,$M5%L*LIm!r`#3"2m
+!X,#`512MLImV!2m!!2rr+l#`X%K)LBNVN!6r!!$rX*!&5%Mr+b[jr`#3",#3"8M
+r+b[jr`#3",!&X!@`"E$j+rRr!*!&X*!(qIRr!*!+rrRjqIm!N!crqIm!N!lr!*!
+D"d&38%`!!3!!!!%!(rrq!"!!!`!4!)+!%3%#3"-cJL!9@5)3&@%$q"-a+SJ3!!!
+)%'rl#"!!!!J3$lJ)%!!!#"!2hkJ3!!!)%!(Vk"!!!!J3!IF)%1!!#"$KlmJ33!!
+)%I'qL"(`!!J4m$pS%rJ!#"2i2iJ6q!!)&U`hb"DX!!JAr!!)%!!!#"rrrrJIrri
+!(rrr!"rrri!Irrr!(rrri"rrrr!Irrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrr
+i(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrr
+i(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq!!!!J!!$rq3#I!!N!82!*!*r`#
+3"3m!"3#3"&!!!2(`!*!%$`!&!!!!"3!!!2%I!*!%$`"9!&8!99!!!2%4m!!!!!m
+&N!43"3!`!2%4(`!!!!m&"393!!8!!!$rrrr`!!!2!&8!93!&!$"38&!!m!!!$`#
+3$2!!!!m!!!939C!%8&8!!2!!!!m!N!c`!!!2!*!%999399!!!!$`!!!2!*!-m!!
+!$`#3"&99939999"3m!!!$`#3$2!!!!m!N!8&99"39993m!!!$`#3$2!!!!m!N!8
+&998&93!!m!!!$`!!99!!N!M`!!!2!!"98!!&99"9998!m!!!$`!!"3#3#I!!!!m
+!"999!!9399938!$`!!!2!!9993#3#2!!!!m!"999!!!!9999"9$`!!!2!&9999!
+!N!I`!!!2!&9999!!!&9999!!m!!!$`"99993!*!(m!!!$`9489&9!!"9"999!2!
+!!!m&89&493#3"r!!!!m&9C!%!*!(m!!!$`#3$2!!!!rrN!c`!!!!"!#3"2q3&!#
+3$2m!N",rr`#3#rm!!!#`!*!)X!#3"Im&r`#3#[m!!!#`!*!(X!#3"[m&"Im!N!R
+r!!#`X!!!X,!!!,#`X!#3"Im&"3Ar!*!)r`#`!,!!X!#`X!!!X!!!f!!!!2m&N!6
+r!*!(r`#`!,!!X,!!N!5`!*!'rj!(!*!'r`!!X,!!!,#`!!!!X!!!f!#`!,!!X!!
+!!2m!N!Er!*!Br`#3"[m!N!@`X!#`N!N!X,!!N!6r!*!'r`#3'2m!N!Er!*!)X*!
+&!,#`X!#3"rm!N!Er!*!Br`#3"[m!N!L`N!B!X*!'!,!!r`#3"[m!N"Mr!*!'r`#
+3#l#3"!#`!,#3"3$r!*!'r`#3'2m!N!Er!*!,X*!&!,#`X!#3"2m!N!Er!*!%X,#
+`!*!4r`#3"[m!N!5`X,!!N!5`N!3!X*!'!!$r!*!'r`#3"E!!N",r!*!'r`!!!,#
+3"3!!!,#`!,#3"3#`!!!!r`#3"[m!!!#`N!8!N"$r!*!'r`!!!,#3"3#3"V#3"J#
+`X!$r!*!'r`!!X*!(!*!2r`#3"[m!!,#3"`#3"E#3"`!!!2m!N!Er!!#`N!F!N!r
+r!*!'r`#`X!@`"E!&X,!!N!5`X!#`N!8!!2m!N!Er!,#`"E!&X!@`X!#3$[m!N!E
+r!,#3#3#3$[m!N!Er!*!Br`#3"[q3'J#3"N"rm%!B9949AN!#6rT!!N$b4J*'HNm
+#6cTIJPqb3!*rr[q3)!!!!)!2rj!&!!!2!*!%$r!!$`8&"3-2(`!2"38&!`rrm!m
+!N!E`$`"9N!43m!m!N!E`$`!!!&99!2!2!!93!!!!m!m!"9!&99$`$`"993!!!2!
+2!&99!&93m!m&9993!!$`$`9999"9!2!2!*!'m!rrN!E`!!!"!!$rN!X!N!Ar!*!
+*rrm!N!6r!,!!X!#`!0J!r`Ar!!!!r`#`!,!!X!$B!2q3"!!!r`#3$2m!!2m!!,#
+3#3$r!!$r!*!-r`!!r`#3"V#3"!!!r`!!r`!!!,#`!*!(r`!!r`!!!,#`!!#`N!3
+!r`!!r`!!X*!%!*!'r`!!r`!!X*!%!!#`X,!!r`!!r`#`N!B!N!Ar!!$r!,#3"J#
+`X!!!r`!!r`#3$2m!!2q3$J#3"!G849K8!*!&!3!!!3!!!!+!!!!%3!!!#+!!!"2
+3!!!L5!!!3B3!!)'#!!%(i3!#"##!"JJa3!S)%5!Arrm3,JJ"#%S%!36+"!%#Im3
+"!cr#!3BIiJ%-,rm"'#Yr!6!V*3&JDf@"`'XPJB"rri-!!M!(!!)B$3!#$"N!!JB
+a!!)$B3!#!F%!!J#"!!!"!!!!!i!!!!I!!!!2i!!!(r!!!$ri!!"rr!!!rri!!Ir
+r!!2rri!(rrr!$rrri"rrrr!rrrriIrrrr2rrrrjrrrrr2rrrrKrrrr`rrrri2rr
+rm$rrrq"rrrr!IrrrJ(rrr`!#2rm!!Krp!!)2q3!#"r%!!J2K!!)"`3!#!)%!!!!
+#!*!)$`#3$r$`!*!0$``2!*!0m-c3m!#3#`m-9982!*!,m-a3"F$`!*!*$`c-a9h
+G$`#3#I$-c-9GhF$`!*!($`c-a999A-`2!*!(m-c-a3!!A-c!m!#3"3rph-a3!!"
+9h-r2!*!&m2hFc&!!!!AFcpc`!!!!$`ArN!RG$`!!!2"9r-!!9Gc-c-c2hF$`!!m
+-82c!!!AFc-c-cph-$`$rc&$m`!!&hFc-c-rGc-$`$q99rZ8!"9h-c-c2hFc-c`$
+e9IlP!!"Gc-c-cph-cI!!"9Aqj9!!AGc-c-rGc0m!!&&9rZ9999AFc-c2hFh`!!"
+48Il99999h-c-cphI!!!!89(qd9%9&Gh-c-rGm!!!"9&4rY94&49Gc-c2h`!!!!9
+48Il48489AFc-cr!!!!!&99Aqj99999hFc0m!N!I`!2hGhGhFcIm!N!I`!!rGhGh
+Fh`m!N!I`!!$pc-c0m!m!N!I`!!!2h-cI!!m!N!I`!!!!rFh`!!m!N!I`!!!!$pm
+!!!m!N!I`!*!%m!!!$`#3"J3!N"$r!*!Hr`$r!*!Fr`!V!2m!N"Vr!#XVqJ$r!*!
+Br`!VX*!%!2m!N"Er!#XVX!!!X#X!r`#3&2m!+j!%X,$kq[S!r`#3%[m!+j!&X,$
+kq[SV!2m!N"$r!#Z3",#3"LXV+`$r!*!1r`!VN!@`!*!%X#Z3"!$r!*!-rrrkqLX
+V+l!!N!@`X2SV+rmVr`#3#[m!rrVk+bXVX!#3"V$k+b[rqL[r!*!)r`#`rj!5q[S
+!r`#3"[m!X,$r+bX!!!#`X2SVN!Mrq[SV!2m!N!6r!#Z`!2mV+`#3",$k+j!)rrV
+k+bX!r`!!rrmV+l!!rbXV!*!%X2Vk+j!(rrVk+bXV!2m!!2rmX,#`rkZVX!!!!,#
+`qLZ3"rrkqLZ3"Im!!2q`X,$rUkZ`!*!%X2SVN!Irq[SV+b[kr`#3",#`X2qVUl#
+`!!!!X2Vk+j!'rrVk+b[kr`#3",!&X,$rUkZ`N!Ik+j!'rrVk+rVr!*!&X!@`"Iq
+V-l#3"rSVN!Erq[Vkr`#3"V!&X!ArUc-&X!8&X!@`q[SVN!Arq[Vr!*!'X,!&X!A
+rUc1`X!8&X!@`X2SVN!Arq[m!N!H`X!@`"IqV-`@`"3@`"E#`qLZ3"Irr!*!)X*!
+&rkZVX*!)q[SV+b[kr`#3$[m!!!$rqT!)+b[krrm!N!lr!*!%rrU3"b[kr`$r!*!
+1r`#3"Irk+j!&q[m!!2m!N!lr!*!'rrSV+b[kr`!!!2m!N!lr!*!(rrSVq[m!N!6
+r!*!1r`#3#2rkr`#3"Im!N!lr!*!*r`#3"[m!N!Y!!)!"3!)J""!)k""%,rTU#6N
++'3`UL$qB#LJ*5!L)#!J!J!(!!q!(m!ri(r`rrRrr2riIr$ri2rJ,k!R)#)J)#!!
+!!)!!N!6`!*!'$`m!N!E``2!!N!32$-`2!*!%m-a982!!!!m-c-A-$`!!m2q3"2$
+`$rc`AFc-rFm!pI!&h-cpm!!&m!AFc2m!!&(a89h0m!!!9I99AGr`!!!!m2hGm2!
+!!!$`$pm!m!!!!2!!m!$`!!!!m!!!!2!!!!!"!*!*r`#3$[m!r`#3$2m!+`$r!*!
++r`!V+bX!r`#3#2m!+bZ`X,!!r`#3"[m!+j!%X#XV!2m!N!6r!2q3#3$r!!$rrb[
+r!,$j+j!%rrNVr`!!rl$r!!#`q5XV+rrjr`#3",$r!!#`q5XV+rrr!*!%X!Ar"E!
+&X2NVqIm!N!@`X2q`N!6jqIrr!*!(r`$rqIRjr`$r!*!(r`!!rrRr!!$r!*!(r`!
+!!2m!!!$r!*!(r`#3"rm!N!B(3A4YF!!$!*!%,&"jG$J!!!!"4P*&4J!#!!%!J3!
+!!)!!!`#$5801)`!#!!%!J!!!!)%!!`##!!!!!3#3"!N!N!B"!3%!!!%!!!!G33!
+!(%%!!!(*!21aT"a)!!!!(!'k!!T#6N4-!!!!@NP$6L-!!`"Q8dPD43!!!*C'8N9
+'!!)!SQPMFb-!!`$'D@0X0!!#!2CTBf`i!!)"'QPMFc3!!J%qD@0c1!!#!@*3HA3
+i!!!"KP"[F(3!!!'5!)$rr`!!'rm!N!3",2rr!*!*J2rr!!!"9J#3"B(rr`!!#MN
+!N!@#rrm!!"-F!*!%rj!%!!!""!#3"B(rr`!!#Li!N!@!rrm!!"-4!*!&Jrrr!!!
+Ep!#3"!%Xrrm!!!%5!*!&J2rr!!!)BJ#3"B(rr`!!%88!N!@#rrm!!"SS!*!&J2r
+r!!!#@J#3"B(rr`!!#cd!N!@#rrm!!"3J!*!&J2rr!!!%AJ#3"B(rr`!!$8%!N!@
+#rrm!!"BN!*!&J2rr!!!)TJ#3"B(rr`!!%BN!N!@#rrm!!"TX!*!&J2rr!!!*+J#
+3"B(rr`!!%Jd!N!@#rrm!!"V`!*!+(#m!N!@"rrm!!"`d!*!%$NphEQ9b)(*PFfp
+eFQ0PY1!:
index 82b54734d8054cf1c821871bd72b27ffb3dd2b68..4e1c83053b78fd1a8161c151e152a545175bfcc6 100644 (file)
@@ -35,7 +35,12 @@ 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>PythonCore</code>. An example project and source can be
-found in the <a href="embed">embed</a> folder.
+found in the <a href="embed">embed</a> folder. <p>
 
+<b>Note</b>: you may think that you do not have the project file
+<code>PythonCore</code> but actually you do: the standard installation
+process deposits it in the <code>Extensions</code> folder in the system
+folder under the name <code>PythonCore <i>version</i></code>. Add that file
+to the project replacing <code>PythonCore</code>. <p>
 </BODY>
 </HTML>
index ddb897c6595fc9250489ba058859048a7b3228ca..ada669b29df325dcd1731e36bf37c898b4cb922f 100644 (file)
@@ -23,8 +23,8 @@ Python program to control and monitor the behaviour of the low-level
 driver, and we will create the user interface around that. If you want
 to actually run the code, you will obvously need InterSLIP and the
 interslip module. The latter is available as a dynamically loadable
-extension for PowerPC macs, and may be compiled in your Python
-interpreter for 68K macs. As of this writing there is still a slight
+extension for PowerPC/cfm68k Pythons, and may be compiled in your static 68K
+Python. As of this writing there is still a slight
 problem with the Python interslip module causing it to say "file not
 found" if the driver is not loaded yet. The workaround is to load the
 driver by starting InterSLIP Control and quitting it. <p>
@@ -50,7 +50,8 @@ NAME="resource-numbering">resource numbering</A>.  Because often your
 resources will be combined with those that the Python interpreter and
 various standard modules need you should give your DLOG and DITL
 resources numbers above 512. 128 and below are reserved for Apple,
-128-255 for the Python interpreter and 256-511 for standard
+128-228 are for extensions like Tk,
+228-255 for the Python interpreter and 256-511 for standard
 modules. If you are writing a module that you will be distributing for
 inclusion in other people's programs you may want to register a number
 in the 256-511 range, contact Guido or myself or whoever you think is
index 008bf7ebd82fa6e5bbf57912ca2adf413a43678e..04c8a538488f9343c2dbdc88546bae81a71fa02d 100644 (file)
@@ -2,7 +2,7 @@
 
 :&dPZG'9bFfaTF%0[ER4bEf`Y-5jbFh*M!(*cFQ058d9%!*!)!LIr03#3"!%!!!!
 "``!!!--!!!"NCQBd4$9%-%3a4$*%-a*QCM-c0%8e46"&-88b46-5CQBA5@jdCA*
-cE'P`3fpZG(*[E#da,R*cFQ-#!!!!FR0bB`!!FR0bBe*6483!N"LYGH)0!*!'!LF
+cE'P`3fpZG(*[E#da,R*cFQ-#!!!!FR0bB`!!FR0bBe*6483!N"LZ9ed#!*!'!LF
 cN!3d)!!e)!!`)!!a)!!b)!!c%M-c!!!d)!%e)!%`)!%a)!%b)!%c5b@U5bQU5bU
 U5bZU5bbU5bfU5bkU5bp,0kT,1+T,1DT,1UT,1kT,2+T,2DT,2UT,2kT,3+T,3DT
 ,3UT,3kT,4+T,4DT,4UT,4kT,5+T,5DT,5UT,)!#U5b!!!!!9!'!!-J$!!C)!!3%
@@ -11,4 +11,4 @@ ZEQ9MG!#3"6`!Y!"3!4F%$99`C'&dC5"cG'&dGA-!N!Bm!5)!8!&@"!44G@Pd!*!
 &#J"D!"S"9BJ!N!BH!&S!,J&@L!#3"JS!#J!D!&@)"e0dBA4eFcTK!*!&(J!+!#i
 !9BJ)6@9cFf&RC6S!!!%!!!!"``!!!--!!!"N!2!Xe"2@!!!!(!"'!!&%6%p(!!!
 !%N4*9%`!!!!H!J#3#2!VV!)!!!m!!!!C!2!VE!j$EfjdFQpX)%4TB@a[C`j$Efj
-dFQpX)'4TB@a[Ca4+:
+dFQpX)'4TB@a[Cd#e:
index 84c766f480d66a24e21732df067c411cfdb71042..95e2d0a1e8a714d7458b34b9c67cc278d25ad59c 100644 (file)
@@ -134,16 +134,20 @@ nothing has changed. <p>
 
 Now let us try to turn the python script into an applet, a standalone
 application. This will <em>not</em> work if you have the "classic 68k"
-Python distribution, only if you have the cfm68k or PPC distribution. 
+Python distribution, only if you have the cfm68k or PPC distribution.
+
+<blockquote>
 Actually, "standalone" is probably not the correct term here, since an
 applet does still depend on a lot of the python environment: the
 PythonCore shared library, the Python Preferences file, the python Lib
 folder and any other modules that the main module depends on. It is
-possible to get rid of all these dependencies except for the dependency
-on PythonCore, but at the moment that is still quite difficult so we
-will ignore that possibility for now. By standalone we mean here that
+possible to get rid of all these dependencies and create true standalone
+applications in Python, but this is a bit difficult. See <a href="standalone.html">
+Standalone Applications in Python</a> for details. For this
+document, by standalone we mean here that
 the script has the look-and-feel of an application, including the
-ability to have its own document types, be droppable, etc. <p>
+ability to have its own document types, be droppable, etc.
+</blockquote>
 
 The easiest way to create an applet is to take your source file and
 drop it onto "BuildApplet", located in the Python home
index f4ca24c10abdfc3c8a26fe301090a11a503437d9..b73b919258c8c19fe1106b37906b6c1d1d7fd9e7 100644 (file)
@@ -2,7 +2,7 @@
 
 :&dPZG'9bFfaTF%0[ER4bEf`Y-LjbFh*M!(*cFQ058d9%!*!)$2eid3#3"!%!!!!
 ,T!!!#U3!!!&CCQBd4$9%-%3a4$*%-a*QCM-c0%8e46"&-88b46-5CQBA5@jdCA*
-cE'P`3fpZG(*[E#db,R*cFQ-#!!!!FR0bB`!!FR0bBe*6483!N"LYGH)3!*!'$2d
+cE'P`3fpZG(*[E#db,R*cFQ-#!!!!FR0bB`!!FR0bBe*6483!N"LZ9ed2!*!'$2d
 cN!3d)!!e)!!`)!!a)!!b)!!c%M-c!!!d)!%e)!%`)!%a)!%b)!%c5b@U5bQU5bU
 U5bZU5bbU5bfU5bkU5bp,0kT,1+T,1DT,1UT,1kT,2+T,2DT,2UT,2kT,3+T,3DT
 ,3UT,3kT,4+T,4DT,4UT,4kT,5+T,5DT,5UT,)!#U5b!!!!!9!'B!KJ$&!GB!!!%
@@ -53,4 +53,4 @@ TBf`i!!!!YQPME$3!!!$#D@0c1!!!!-jTBh-d!!!!fQPMFb-!!!$Q58026J!!!2*
 !!!!b!-3$U!#!rrm!!!"5!-3#X!#!rrm!!!"G!-3#Y!#!rrm!!!&K!-3#1!#!rrm
 !!!9P!-3$D!#!rrm!!!GT!-3#+!#!rrm!!!KY!-3#2!#!rrm!!!Ma!-3#3!)"!"N
 !!!SE!*!(*!!!#Tm!a!)X$N0[ER4bEf`J4'PKE'pR#8&LEh9d)'*[H!T"BQpeG#"
-*BfpZ$NphEQ9b)(*PFfpeFQ0P$#`:
+*BfpZ$NphEQ9b)(*PFfpeFQ0PX8S:
index 4301fa84f95d9ad9ff6ca516e086791b79f7d534..5d706ce43b1c71fd1ae0f034c6d54802f8084a07 100644 (file)
@@ -85,6 +85,11 @@ how to build a PPC or 68K interpreter from a source distribution.
 <A HREF="embed.html">Embedding Python on the Mac</A> is a minimal example of
 how to embed Python in other Mac applications.
 
+<LI>
+<a href="standalone.html">Building Standalone applications in Python</a>
+explains how you can create real standalone applications in Python. You do
+need source (and a C development environment) for this at the moment.
+
 </UL>
 
 The Python distribution contains a few more examples, all unexplained:
@@ -105,7 +110,9 @@ img modules on the mac.
 
 <LI>
 <I>Resources</I>, <I>Sound</I> and <I>Speech</I> have some examples
-on using the respective managers.
+on using the respective managers. In the <i>Mac:Lib</i> folder you
+will also find modules that do useful things with the Communications
+Toolbox, the Finder interface, etc.
 </UL>
 
 At some point in the (possibly distant) future, I will add chapters on
@@ -117,12 +124,12 @@ your Python program scriptable, but that will have to wait. <p>
 Please let me know if you miss critical information in this
 document. I am quite sure that I will never find the time to turn it
 into a complete MacPython programmers guide (which would probably be a
-400-page book instead of 5 lousy html-files), but it should contain
+400-page book instead of 10 lousy html-files), but it should contain
 at least the information that is neither in the standard Python
 documentation nor in Inside Mac or other Mac programmers
 documentation. <p>
 
 <HR>
 <A HREF="http://www.cwi.nl/~jack">Jack Jansen</A>,
-<A HREF="mailto:jack@cwi.nl">jack@cwi.nl</A>, 27-Aug-97.
+<A HREF="mailto:jack@cwi.nl">jack@cwi.nl</A>, 25-Feb-98.
 </BODY></HTML>
index 7d43e72e62789704d327a7f792ac1e9fa01e0265..368f50be5293acdb5760a403d468630b605faefe 100644 (file)
@@ -26,8 +26,7 @@ Next, you need a <A
 HREF="http://www.python.org/python/Sources.html">python source
 distribution</A>.  For PowerPC and cfm68k development you can actually
 get by without a full source distribution, using the Development
-distribution (if I have gotten around to putting it together by the time
-you read this). You'll also need a functional python interpreter, and
+distribution. You'll also need a functional python interpreter, and
 the Modulator program (which lives in <CODE>Tools:Modulator</CODE> in
 the standard source distribution). You may also find that Guido's <A
 HREF="http://www.python.org/doc/ext/ext.html">Extending and embedding
@@ -190,9 +189,9 @@ language" section of the MW preferences dialog, it will probably be
 Make the new interpreter and check that you can import the module, see
 the methods (with "dir(interslip)") and call them. <p>
 
-<H2>Creating a PowerPC plugin module</H2>
+<H2>Creating a plugin module</H2>
 
-For PowerPC development you could follow the same path, but it is
+For PowerPC or cfm68k development you could follow the same path, but it is
 actually a better idea to use a dynamically loadable module. The
 advantage of dynamically loadable modules is that they are not loaded
 until a python program actually uses them (resulting in less memory
@@ -211,6 +210,12 @@ of adjustments to the preferences:
 <UL>
 <LI> in PPC target, set the output file name to "interslipmodule.pcc.slb",
 <LI> in cfm68k target set the output file name to "interslipmodule.cfm68k.slb".
+<LI> if you are working without a source distribution (i.e. with a normal
+binary distribution plus a development distribution) you will not have
+a file <code>PythonCore</code>. The installation process has deposited this
+file in the System <code>Extensions</code> folder under the name
+<code>PythonCore <i>version</i></code>. Add that file to the project, replacing
+<code>PythonCore</code>.
 </UL>
 Next, compile and link your module, fire up python and do the same
 tests as for 68K python. <p>
diff --git a/Mac/Demo/standalone.html b/Mac/Demo/standalone.html
new file mode 100644 (file)
index 0000000..70a2587
--- /dev/null
@@ -0,0 +1,55 @@
+<HTML><HEAD><TITLE>Creating true standalone applications in Python</TITLE></HEAD>
+<BODY>
+<H1>Creating true standalone applications in Python</H1>
+<HR>
+You can use Python to create true standalone macintosh applications: applications
+that you can distribute to other people as a single file, without dependencies
+on Python being installed, etc. The process is not easy, however, and at the
+moment you need a source distribution (and a C development environment, CodeWarrior
+most preferred). You should first familiarize yourself with the sections
+<a href="building.html">building Python from source</a> and
+<a href="example2.html">building applets</a>. <p>
+
+The application we are going to build will contain a complete interpreter,
+plus <code>'PYC '</code> resources for all the Python modules the program uses.
+We start by creating a resource file that contains all the modules we need,
+in PYC-resource form. There are two ways to do this:
+<UL>
+<LI> Modify the standard <code>freeze.py</code> module to print the names of
+all modules used. Copy these to a single folder, run <code>compileall.py</code>
+on that folder and then run <code>PackLibDir.py</code> from the scripts folder
+to create the resourcefile. This has one disadvantage: freeze finds the modules
+used by parsing your Python code, so modules you don't use (for instance because
+they are system-dependent and not used on the mac) are also included. You
+may also have problems with dynamically loaded modules. You will also have to rename
+your main module to __main__.py.
+
+<LI> Another way to find the modules used is by option-starting your script
+and setting the "interactive mode after script" flag. Exercise every corner of
+your program so all your modules have been imported, and when you exit your
+program and get back to the interpreter use <code>findmodulefiles.findmodulefiles</code>
+to get a list of all modules used. You can now use
+<code>findmodulefiles.mkpycresourcefile</code> to create your resourcefile.
+</UL>
+
+Next we create the application project. Copy the <code>PythonStandalone.prj</code>
+project, replace <code>macapplication.c</code> by <code>macapplet.c</code> and
+replace <code>bundle.rsrc</code> by <code>appletbundle.rsrc</code>. Also
+add the PYC resource file you made in the previous step and any other resource
+files you need. Set the target output file names (for all three of ppc/68k/fat).
+Build your application. <p>
+
+Finally we have to give the application the right <code>sys.path</code> initialisation.
+We do this by dropping the application on <code>EditPythonPrefs</code> and removing
+all path components replacing them with a single <code>$(APPLICATION)</code>. You
+may have to use ResEdit after this step to remove an "alis" resource from your application,
+I am not sure why this is sometimes created. <p>
+
+If you want to get fancy you may be able to make your application smaller by removing
+all unused builtin modules. If you used the findmodulefiles method above to find
+your modules you can start a standalone interpreter and use
+<code>findmodulefiles.findunusedbuiltins</code> to get the names of all builtin
+modules your program doesn't use. You can then create a private copy of
+<code>config.c</code> from which you remove all unused modules.
+
+</BODY></HTML>
index 21efa8f879e58a90a5dccdb1743d34f2f6b499aa..96b13bfde52283a1ea57f3c2ff95f70d12d41712 100644 (file)
@@ -11,7 +11,7 @@ and is therefore easier integrated in Python. <p>
 WASTE is written by Marco Piovanelli, <A HREF="mailto:piovanel@kagi.com">&lt;piovanel@kagi.com&gt;</A>,
 and copyrighted by him. You can always obtain the latest version (for use in C
 or Pascal programs) and the documentation from
-<A HREF="ftp://ftp.dsi.unimi.it/DSI/piovanel/WASTE">&lt;ftp://ftp.dsi.unimi.it/DSI/piovanel/WASTE&gt;</A>.
+<A HREF="http://www.boingo.com/waste/">&lt;http://www.boingo.com/waste/&gt;</A>.
 
 We explain the useage of waste here by showing how to modify the TextEdit based
 <A HREF="textedit/ped.py">ped.py</A> of the