From cbb5d4972f07423ce51d6181ffad8b14b07594bf Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sat, 17 Feb 2001 23:31:48 +0000 Subject: [PATCH] ConfigurePython now comes in two flavors: ConfigurePythonClassic and ConfigurePythonCarbon, which copy the respective interpreters to PythonInterpreter and rebuild all the applets. This allows MacOS9 users to switch back and forth. --- Mac/scripts/ConfigurePython.py | 157 +++++++++++++------------------ Mac/scripts/ConfigurePython.rsrc | Bin 6935 -> 8145 bytes Mac/scripts/fullbuild.py | 25 +++-- 3 files changed, 81 insertions(+), 101 deletions(-) diff --git a/Mac/scripts/ConfigurePython.py b/Mac/scripts/ConfigurePython.py index e49c77329b..c77b0ab361 100644 --- a/Mac/scripts/ConfigurePython.py +++ b/Mac/scripts/ConfigurePython.py @@ -11,57 +11,29 @@ import sys import os import macfs import MacOS -verbose=0 -SPLASH_LOCATE=512 -SPLASH_REMOVE=513 -SPLASH_CFM68K=514 -SPLASH_PPC=515 -SPLASH_NUMPY=516 +SPLASH_COPYCORE=512 +SPLASH_COPYCARBON=513 +SPLASH_COPYCLASSIC=514 +SPLASH_BUILDAPPLETS=515 + +ALERT_NOCORE=516 ALERT_NONBOOT=517 ALERT_NONBOOT_COPY=1 ALERT_NONBOOT_ALIAS=2 -ppc_goals = [ +APPLET_LIST=[ + (":Mac:scripts:EditPythonPrefs.py", "EditPythonPrefs", None), + (":Mac:scripts:BuildApplet.py", "BuildApplet", None), + (":Mac:scripts:BuildApplication.py", "BuildApplication", None), +## (":Mac:scripts:ConfigurePython.py", "ConfigurePython", None), +## (":Mac:scripts:ConfigurePython.py", "ConfigurePythonCarbon", "PythonInterpreterCarbon"), +## (":Mac:scripts:ConfigurePython.py", "ConfigurePythonClassic", "PythonInterpreterClassic"), + (":Mac:Tools:IDE:PythonIDE.py", "Python IDE", None), + (":Mac:Tools:CGI:PythonCGISlave.py", ":Mac:Tools:CGI:PythonCGISlave", None), + (":Mac:Tools:CGI:BuildCGIApplet.py", ":Mac:Tools:CGI:BuildCGIApplet", None), ] -def gotopluginfolder(): - """Go to the plugin folder, assuming we are somewhere in the Python tree""" - import os - - while not os.path.isdir(":Mac:PlugIns"): - os.chdir("::") - os.chdir(":Mac:PlugIns") - if verbose: print "current directory is", os.getcwd() - -def loadtoolboxmodules(): - """Attempt to load the Res module""" - try: - import Res - except ImportError, arg: - err1 = arg - pass - else: - if verbose: print 'imported Res the standard way.' - return - - # We cannot import it. Try a manual load - try: - dummy = imp.load_dynamic('Res', 'toolboxmodules.ppc.slb') - except ImportError, arg: - err3 = arg - pass - else: - if verbose: print 'Loaded Res from toolboxmodules.ppc.slb.' - return - - # Tough luck.... - print "I cannot import the Res module, nor load it from either of" - print "toolboxmodules shared libraries. The errors encountered were:" - print "import Res:", err1 - print "load from toolboxmodules.ppc.slb:", err3 - sys.exit(1) - def getextensiondirfile(fname): import macfs import MACFS @@ -76,7 +48,6 @@ def mkcorealias(src, altsrc): dst = getextensiondirfile(src+ ' ' + version) if not os.path.exists(os.path.join(sys.exec_prefix, src)): if not os.path.exists(os.path.join(sys.exec_prefix, altsrc)): - if verbose: print '*', src, 'not found' return 0 src = altsrc try: @@ -96,63 +67,67 @@ def mkcorealias(src, altsrc): macostools.copy(os.path.join(sys.exec_prefix, src), dst) else: macostools.mkalias(os.path.join(sys.exec_prefix, src), dst) - if verbose: print ' ', dst, '->', src return 1 - + +# Copied from fullbuild, should probably go to buildtools +def buildapplet(top, dummy, list): + """Create python applets""" + import buildtools + for src, dst, tmpl in list: + template = buildtools.findtemplate(tmpl) + if src[-3:] != '.py': + raise 'Should end in .py', src + base = os.path.basename(src) + src = os.path.join(top, src) + dst = os.path.join(top, dst) + try: + os.unlink(dst) + except os.error: + pass + try: + buildtools.process(template, src, dst, 1) + except buildtools.BuildError, arg: + print '**', dst, arg + +def buildcopy(top, dummy, list): + import macostools + for src, dst in list: + src = os.path.join(top, src) + dst = os.path.join(top, dst) + import pdb ; pdb.set_trace() + macostools.copy(src, dst) def main(): - MacOS.splash(SPLASH_LOCATE) - gotopluginfolder() - - loadtoolboxmodules() + os.chdir(sys.prefix) sys.path.append('::Mac:Lib') import macostools - - # Remove old .slb aliases and collect a list of .slb files - didsplash = 0 - LibFiles = [] - allfiles = os.listdir(':') - if verbose: print 'Removing old aliases...' - for f in allfiles: - if f[-4:] == '.slb': - finfo = macfs.FSSpec(f).GetFInfo() - if finfo.Flags & 0x8000: - if not didsplash: - MacOS.splash(SPLASH_REMOVE) - didsplash = 1 - if verbose: print ' Removing', f - os.unlink(f) - else: - LibFiles.append(f) - if verbose: print ' Found', f - if verbose: print - - # Create the new PPC aliases. - didsplash = 0 - if verbose: print 'Creating PPC aliases...' - for dst, src in ppc_goals: - if src in LibFiles: - if not didsplash: - MacOS.splash(SPLASH_PPC) - didsplash = 1 - macostools.mkalias(src, dst) - if verbose: print ' ', dst, '->', src - else: - if verbose: print '*', dst, 'not created:', src, 'not found' - if verbose: print # Create the PythonCore alias(es) - if verbose: print 'Creating PythonCore aliases in Extensions folder...' - os.chdir('::') + MacOS.splash(SPLASH_COPYCORE) n = 0 n = n + mkcorealias('PythonCore', 'PythonCore') n = n + mkcorealias('PythonCoreCarbon', 'PythonCoreCarbon') - - if verbose and n == 0: + if n == 0: + Dlg.CautionAlert(ALERT_NOCORE, None) + return + if sys.argv[0][-7:] == 'Classic': + do_classic = 1 + elif sys.argv[0][-6:] == 'Carbon': + do_classic = 0 + elif sys.argv[0][-15:] == 'ConfigurePython' or sys.argv[0][-18:] == 'ConfigurePython.py': + return + else: + print "I don't know the sys.argv[0] function", sys.argv[0] sys.exit(1) - + if do_classic: + MacOS.splash(SPLASH_COPYCLASSIC) + buildcopy(sys.prefix, None, [("PythonInterpreterClassic", "PythonInterpreter")]) + else: + MacOS.splash(SPLASH_COPYCARBON) + buildcopy(sys.prefix, None, [("PythonInterpreterCarbon", "PythonInterpreter")]) + MacOS.splash(SPLASH_BUILDAPPLETS) + buildapplet(sys.prefix, None, APPLET_LIST) + if __name__ == '__main__': - if len(sys.argv) > 1 and sys.argv[1] == '-v': - verbose = 1 main() diff --git a/Mac/scripts/ConfigurePython.rsrc b/Mac/scripts/ConfigurePython.rsrc index 2f23602ba1504c482ab2d58c2b39b40f32535377..922cbc23928c5e780aec54742338f1bf70ba8b8f 100644 GIT binary patch literal 8145 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 ACjbBd literal 6935 zcmc&(ZERcR6+ZXINu6SPlQt==bmXp`pu!~-f>2d4l9IF~ER@jJd>}P8%GO5?KmF8;p143<2yJaIEX(gvgH@KsodD1 z!~2FDk#YGxqBjm;k(E0?6S)J2^XEsp{3HGe>GDUv*Ex5hQ}#H=@7ef3?BEA(EVf5p zoaq|OPNXx(r*o;%nf!_DL@$es9iEv=<@^Uz6K}e5tE%t+<^6lDk*}Q(I_J-2oUadb z2A4NYN=I*S`J>-=raPW_zRj~<982r$3(WKHWE0%*IV{zvY`X@Bzg zD~`PL+~6MFKP7MrP;WrwRbOPX1FA+v%8;|{ic@x^NH& ztV*OH!RrH#?Dd^9k9RnGhoa64Pehz&MqOv`%Z_tq0J;yzUT;9Y0o#cq8Wbdg!$lou zKtu}Kg0#S{n-@8A5l2a+zbq0|a8$(!0%-|?!nz=s_k!SJPY{&)gP?pS2r5AkRAGaD z*dF-Emw_t*e-Z2Eg~u5j{WyAXc&NP&M+@pWsK@%KymxeTgcB%?H})Y|XaAvn`!!M+ z9z3|6GiN7Wuv@pVbs*|*?fBL|Pkr6$fB8&> z?e$lCDqeYAxut}P1v^X0S06!rcGF29UkPAxEx_E|oTb(PARo7yYXRb6{-!0cd~UAR z^Gz5uUn97YAy}Qi9$;y7h&LGH`fUcH%WFH(@=ZNpdSkv(Les5t{HGFFfx40;n$v8U zudmb+`V!LD8felXusz3XL;DZ+AaN`X0pXIMhGR3Lo$~UDO093V|)N0qIu=wiz)snQPgXZyBu3W!91O)Lv{oN#5RbGk6 zur_~KBBDGBn4qD zO@vW3B2CExqF$IO;Y(knH4z3zMHqmufyIOu0O2LNN2TORDUpEX3$phj$o6l|;$&MxSnTg~6_+I zUwr9wgP48}Yo!nqJs7xKVzOP&oK+VJVL;nNtbmrfg=9(nru zjK8nX@O^!T@9Q)EJ`BSdo*eW=3@>7M5yOiZ9%%5}htMqX^oge>o|br8F5pMhxH)6o z^r1Dp=|kW6O&_8Rulj(;^r1C=RMmb|AMlz!wAPR6qjAHdn&M3#RyBUphrab=`e;{* zH+|Th;Y}aa z^o-y1VbuCjebArjLu>qY{^)A$$MhkK^<(btJ-W z*bgo7w7{q(KYik94R89ed&8SP^bK$N*zUN_^r1Dp=|kV}rjM$i{a7WcVR+4ehl6~k zk9vwXeHb;o=|kV}rjM>tyy=6S>O*V$HGSyYeoY^;Qy*IJBWL>1lAo4%TI$0t3~&0- zCqJ#>O&{%6@um;EX8*MI9+^J$jh|8GRUfs6H{}>Ne$z*HuXybYc&(_`_)Q`yZ|4tv!<#<3YsGU%+=uF;*7`Sn7-#>NE^#Ju z;ewjThaZ}K_g%AR&ze1b+H3+>sTh%=A+y`IneFT}E25037cz=6!dFIEWrS5mSY?D& zMp$KpRYus55f+T|x_o23Huws}qL=-ZDenIs1YnW%}IKwRo%Dkgv$b zB?hZ_28Y}56~%4%5*InV@wR0f7DM-Hg@WL1MGYx)dKsW9)?AV37mVVqZu=ZDoC$hY zyj!nsWzDPZI|g$pyXqbt9rTmqndDS>$t`lrEB5-@!TnD?visYsm*2ATq14IjDPHeq z$B(UEDv#cx>$`?0rt-=0ajrf%eR6c>y7hO;4*Yu_j|*{a&&zwe5#7b-*f-1Jle%UO zr_q`@oUv=>P*!stNA^8`B%gmZFXwhWxcfnEX8q_zd8~jtj<B3sI=^+Fb#dbf zU!42Gr}F3UNc30EWF#_}ot$At&dEF?eq{Yq$yZXgYmLWbKz`;-o-MtQo%T;8Po?~f zNt8O~+oNKb%I);0h)rVgpm^+JitsipK8oo^{=nR+rHa~w>7w=9iI+Fsj2LAZY=d*8g#Kg diff --git a/Mac/scripts/fullbuild.py b/Mac/scripts/fullbuild.py index 0750a46e38..48c4539171 100644 --- a/Mac/scripts/fullbuild.py +++ b/Mac/scripts/fullbuild.py @@ -126,8 +126,8 @@ def buildmwproject(top, creator, projects): def buildapplet(top, dummy, list): """Create python applets""" - template = buildtools.findtemplate() - for src, dst in list: + for src, dst, tmpl in list: + template = buildtools.findtemplate(tmpl) if src[-3:] != '.py': raise 'Should end in .py', src base = os.path.basename(src) @@ -138,7 +138,10 @@ def buildapplet(top, dummy, list): except os.error: pass print 'Building applet', dst - buildtools.process(template, src, dst, 1) + try: + buildtools.process(template, src, dst, 1) + except buildtools.BuildError, arg: + print '**', dst, arg def buildprojectfile(top, arg, list): """Create CodeWarrior project files with a script""" @@ -331,13 +334,15 @@ I_CARBON_EXTENSIONS : (buildmwproject, "CWIE", [ ]), I_APPLETS : (buildapplet, None, [ - (":Mac:scripts:EditPythonPrefs.py", "EditPythonPrefs"), - (":Mac:scripts:BuildApplet.py", "BuildApplet"), - (":Mac:scripts:BuildApplication.py", "BuildApplication"), - (":Mac:scripts:ConfigurePython.py", "ConfigurePython"), - (":Mac:Tools:IDE:PythonIDE.py", "Python IDE"), - (":Mac:Tools:CGI:PythonCGISlave.py", ":Mac:Tools:CGI:PythonCGISlave"), - (":Mac:Tools:CGI:BuildCGIApplet.py", ":Mac:Tools:CGI:BuildCGIApplet"), + (":Mac:scripts:EditPythonPrefs.py", "EditPythonPrefs", None), + (":Mac:scripts:BuildApplet.py", "BuildApplet", None), + (":Mac:scripts:BuildApplication.py", "BuildApplication", None), + (":Mac:scripts:ConfigurePython.py", "ConfigurePython", None), + (":Mac:scripts:ConfigurePython.py", "ConfigurePythonCarbon", "PythonInterpreterCarbon"), + (":Mac:scripts:ConfigurePython.py", "ConfigurePythonClassic", "PythonInterpreterClassic"), + (":Mac:Tools:IDE:PythonIDE.py", "Python IDE", None), + (":Mac:Tools:CGI:PythonCGISlave.py", ":Mac:Tools:CGI:PythonCGISlave", None), + (":Mac:Tools:CGI:BuildCGIApplet.py", ":Mac:Tools:CGI:BuildCGIApplet", None), ]), } -- 2.50.1