diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2003-11-19 14:34:18 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2003-11-19 14:34:18 (GMT) |
commit | 28ecf70db57828db2ca279643bf9aeca7662f35c (patch) | |
tree | 09b7767bbc411f85313b58d6fe7e5e67d9392973 /Mac/MPW | |
parent | 6045b9c93511c767f6cfa2d2fa299c76181acd9b (diff) | |
download | cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.zip cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.tar.gz cpython-28ecf70db57828db2ca279643bf9aeca7662f35c.tar.bz2 |
Getting rid of support for MacOS9 and earlier. This is the first step,
and the biggest in size, but probably the easiest. Hunting through the
source code comes next.
Diffstat (limited to 'Mac/MPW')
-rw-r--r-- | Mac/MPW/Build | 3 | ||||
-rw-r--r-- | Mac/MPW/Makefile | 509 | ||||
-rw-r--r-- | Mac/MPW/README | 122 |
3 files changed, 0 insertions, 634 deletions
diff --git a/Mac/MPW/Build b/Mac/MPW/Build deleted file mode 100644 index 5a46990..0000000 --- a/Mac/MPW/Build +++ /dev/null @@ -1,3 +0,0 @@ -Make {Parameters} -f Makefile >Make.out -Set Echo 1 -Make.out diff --git a/Mac/MPW/Makefile b/Mac/MPW/Makefile deleted file mode 100644 index 817198c..0000000 --- a/Mac/MPW/Makefile +++ /dev/null @@ -1,509 +0,0 @@ -# MPW Makefile to build Python as a shared library. -# This uses the development environment distributed on the OpenDoc CD: -# compiler (SC) is Symantec C for MPW, headers are Universal Headers. -# Running Python requires that the extensions CFM-68K and MixedModeInit are -# installed, and that the various shared libraries are in the Extensions folder. - -########################## -# Configurable variables # -########################## - -Top = ::: -CC = SC -CFlagsNoInclude = -woff -e -model cfmseg -b ¶ - -d HAVE_CONFIG_H=1 -d MPW=1 -d USE_MAC_SHARED_LIBRARY=1 -d USE_MAC_APPLET_SUPPORT -PythonIncludes = -i "{Top}"Mac: -i "{Top}"Include: -MacIncludes = -i "{CIncludes}" -CFlagsMac = {CFlagsNoInclude} {MacIncludes} {PythonIncludes} -CFlags = {CFlagsNoInclude} {PythonIncludes} {MacIncludes} -Objs = :Objs: -ExtensionsFolder = {SystemFolder}Extensions: - -######################## -# List of object files # -######################## - -ALL = ¶ - "{Objs}"acceler.c.o ¶ - "{Objs}"accessobject.c.o ¶ - "{Objs}"arraymodule.c.o ¶ - "{Objs}"atof.c.o ¶ - "{Objs}"strtod.c.o ¶ - "{Objs}"audioop.c.o ¶ - "{Objs}"bltinmodule.c.o ¶ - "{Objs}"ceval.c.o ¶ - "{Objs}"chdir.c.o ¶ - "{Objs}"classobject.c.o ¶ - "{Objs}"compile.c.o ¶ - "{Objs}"config.c.o ¶ - "{Objs}"errors.c.o ¶ - "{Objs}"fileobject.c.o ¶ - "{Objs}"floatobject.c.o ¶ -# "{Objs}"fmod.c.o ¶ - "{Objs}"frameobject.c.o ¶ - "{Objs}"funcobject.c.o ¶ - "{Objs}"gestaltmodule.c.o ¶ - "{Objs}"getargs.c.o ¶ - "{Objs}"getbootvol.c.o ¶ - "{Objs}"getopt.c.o ¶ - "{Objs}"getwd.c.o ¶ - "{Objs}"graminit.c.o ¶ - "{Objs}"grammar1.c.o ¶ - "{Objs}"imageop.c.o ¶ - "{Objs}"import.c.o ¶ - "{Objs}"importdl.c.o ¶ - "{Objs}"intobject.c.o ¶ - "{Objs}"intrcheck.c.o ¶ - "{Objs}"listobject.c.o ¶ - "{Objs}"longobject.c.o ¶ - "{Objs}"macfsmodule.c.o ¶ - "{Objs}"macgetargv.c.o ¶ - "{Objs}"macgetmtime.c.o ¶ - "{Objs}"macglue.c.o ¶ - "{Objs}"macguesstabsize.c.o ¶ - "{Objs}"macmodule.c.o ¶ - "{Objs}"macosmodule.c.o ¶ - "{Objs}"macsetfiletype.c.o ¶ - "{Objs}"macshlglue.c.o ¶ - "{Objs}"macstat.c.o ¶ - "{Objs}"mappingobject.c.o ¶ - "{Objs}"marshal.c.o ¶ -# "{Objs}"mathmodule.c.o ¶ - "{Objs}"md5c.c.o ¶ - "{Objs}"md5module.c.o ¶ - "{Objs}"methodobject.c.o ¶ - "{Objs}"mkdir.c.o ¶ - "{Objs}"modsupport.c.o ¶ - "{Objs}"moduleobject.c.o ¶ - "{Objs}"myreadline.c.o ¶ - "{Objs}"mystrtoul.c.o ¶ - "{Objs}"nfullpath.c.o ¶ - "{Objs}"node.c.o ¶ - "{Objs}"object.c.o ¶ - "{Objs}"opendir.c.o ¶ - "{Objs}"parser.c.o ¶ - "{Objs}"parsermodule.c.o ¶ - "{Objs}"parsetok.c.o ¶ - "{Objs}"pythonmain.c.o ¶ - "{Objs}"pythonrun.c.o ¶ - "{Objs}"rangeobject.c.o ¶ - "{Objs}"regexmodule.c.o ¶ - "{Objs}"regexpr.c.o ¶ - "{Objs}"rgbimgmodule.c.o ¶ - "{Objs}"rmdir.c.o ¶ - "{Objs}"rotormodule.c.o ¶ - "{Objs}"sigcheck.c.o ¶ - "{Objs}"stringobject.c.o ¶ - "{Objs}"stropmodule.c.o ¶ - "{Objs}"structmember.c.o ¶ - "{Objs}"structmodule.c.o ¶ - "{Objs}"sync.c.o ¶ - "{Objs}"sysmodule.c.o ¶ - "{Objs}"timemodule.c.o ¶ - "{Objs}"tokenizer.c.o ¶ - "{Objs}"traceback.c.o ¶ - "{Objs}"tupleobject.c.o ¶ - "{Objs}"typeobject.c.o ¶ - "{Objs}"AEmodule.c.o ¶ - "{Objs}"Ctlmodule.c.o ¶ - "{Objs}"Dlgmodule.c.o ¶ - "{Objs}"Evtmodule.c.o ¶ - "{Objs}"Menumodule.c.o ¶ - "{Objs}"Qdmodule.c.o ¶ - "{Objs}"Resmodule.c.o ¶ - "{Objs}"Sndmodule.c.o ¶ - "{Objs}"Winmodule.c.o ¶ - "{Objs}"ctbmodule.c.o ¶ -# "{Objs}"imgformat.c.o ¶ -# "{Objs}"macmain.c.o ¶ -# "{Objs}"stdwinmodule.c.o ¶ - -################ -# Main targets # -################ - -# Default target -all Ä PythonLib.slb PythonApplet - -# Install stuff -install Ä PythonLib.slb - Duplicate -y PythonLib.slb "{ExtensionsFolder}" - -# Uninstall stuff -uninstall Ä - Delete -i "{ExtensionsFolder}"PythonLib.slb - -# Delete intermediate build stuff and other temporary cruft -clean Ä - Delete -i "{Objs}"Å.o - Delete -i PythonLib PythonApplet xxmodule - Delete -i stdout stderr - Delete -i Å.pyc - -# Delete everything that can be reconstructed -clobber Ä clean - Delete -i Å.slb Å.NJ - -# Build 'xx' as a dynamically loadable module -xx Ä xxmodule.slb - -# Clean up (somewhat) - -######################### -# Build Applet template # -######################### - -PythonApplet Ä PythonLib.slb "{Objs}"macapplet.c.o - ILink ¶ - -o PythonApplet ¶ - -xm e ¶ - -model cfmseg ¶ - -c PYTa ¶ - "{Objs}"macapplet.c.o ¶ - "{CLibraries}"NuStdCLib.slb ¶ - "{Libraries}"NuInterfaceLib.slb ¶ - "{Libraries}"MixedModeLib.slb ¶ - "{Libraries}"NuIntEnv.slb ¶ - "{Libraries}"NuMathLib.o ¶ - "{Libraries}"NuMacRuntime.o ¶ - PythonLib.slb - -#################################### -# Build Python as a shared library # -#################################### - -Exports = PyExc_AttributeError - -PythonLib.slb Ä {ALL} - ILink ¶ - -o PythonLib ¶ - -xm s ¶ - -model cfmseg ¶ - -init __SINIT ¶ - -export {Exports} ¶ - "{CLibraries}"NuStdCLib.slb ¶ - "{Libraries}"NuInterfaceLib.slb ¶ - "{Libraries}"MixedModeLib.slb ¶ - "{Libraries}"NuIntEnv.slb ¶ - "{Libraries}"NuMathLib.o ¶ - "{Libraries}"NuMacRuntime.o ¶ - {ALL} - MakeFlat PythonLib -o PythonLib.slb - Echo "delete 'cfrg'(0);" | Rez -o PythonLib -a -m - -############################################# -# Build xx as a dynamically loadable module # -############################################# - -xxmodule.slb Ä PythonLib.slb "{Objs}"xxmodule.c.o - ILink ¶ - -o xxmodule ¶ - -xm s ¶ - -model cfmseg ¶ - -m initxx ¶ - "{Objs}"xxmodule.c.o ¶ - "{CLibraries}"NuStdCLib.slb ¶ - "{Libraries}"NuInterfaceLib.slb ¶ - "{Libraries}"MixedModeLib.slb ¶ - "{Libraries}"NuIntEnv.slb ¶ - "{Libraries}"NuMathLib.o ¶ - "{Libraries}"NuMacRuntime.o ¶ - PythonLib.slb - MakeFlat xxmodule -o xxmodule.slb - Echo "delete 'cfrg'(0);" | Rez -o xxmodule -a -m - Echo "delete 'cfrg'(0);" | Rez -o xxmodule.slb -a -m - -############################################## -# Targets to create the various object files # -############################################## - -"{Objs}"macapplet.c.o Ä "{Top}"Mac:macapplet.c - {CC} "{Top}"Mac:macapplet.c -o "{Objs}"macapplet.c.o -s macapplet.c {CFlags} - -"{Objs}"macmain.c.o Ä "{Top}"Mac:macmain.c - {CC} "{Top}"Mac:macmain.c -o "{Objs}"macmain.c.o -s macmain.c {CFlags} - -"{Objs}"pythonmain.c.o Ä "{Top}"Python:pythonmain.c - {CC} "{Top}"Python:pythonmain.c -o "{Objs}"pythonmain.c.o -s pythonmain.c {CFlags} - -"{Objs}"compile.c.o Ä "{Top}"Python:compile.c - {CC} "{Top}"Python:compile.c -o "{Objs}"compile.c.o -s compile.c {CFlags} - -"{Objs}"mystrtoul.c.o Ä "{Top}"Python:mystrtoul.c - {CC} "{Top}"Python:mystrtoul.c -o "{Objs}"mystrtoul.c.o -s mystrtoul.c {CFlags} - -"{Objs}"gestaltmodule.c.o Ä "{Top}"Mac:gestaltmodule.c - {CC} "{Top}"Mac:gestaltmodule.c -o "{Objs}"gestaltmodule.c.o -s gestaltmodule.c {CFlags} - -"{Objs}"macfsmodule.c.o Ä "{Top}"Mac:macfs:macfsmodule.c - {CC} "{Top}"Mac:macfs:macfsmodule.c -o "{Objs}"macfsmodule.c.o -s macfsmodule.c {CFlags} - -"{Objs}"macosmodule.c.o Ä "{Top}"Mac:macosmodule.c - {CC} "{Top}"Mac:macosmodule.c -o "{Objs}"macosmodule.c.o -s macosmodule.c {CFlags} - -"{Objs}"nfullpath.c.o Ä "{Top}"Mac:macfs:nfullpath.c - {CC} "{Top}"Mac:macfs:nfullpath.c -o "{Objs}"nfullpath.c.o -s nfullpath.c {CFlags} - -"{Objs}"tokenizer.c.o Ä "{Top}"Parser:tokenizer.c - {CC} "{Top}"Parser:tokenizer.c -o "{Objs}"tokenizer.c.o -s tokenizer.c {CFlags} - -"{Objs}"chdir.c.o Ä "{Top}"Mac:chdir.c - {CC} "{Top}"Mac:chdir.c -o "{Objs}"chdir.c.o -s chdir.c {CFlags} - -"{Objs}"config.c.o Ä "{Top}"Mac:config.c - {CC} "{Top}"Mac:config.c -o "{Objs}"config.c.o -s config.c {CFlags} - -"{Objs}"getopt.c.o Ä "{Top}"Python:getopt.c - {CC} "{Top}"Python:getopt.c -o "{Objs}"getopt.c.o -s getopt.c {CFlags} - -"{Objs}"getwd.c.o Ä "{Top}"Mac:getwd.c - {CC} "{Top}"Mac:getwd.c -o "{Objs}"getwd.c.o -s getwd.c {CFlags} - -"{Objs}"structmember.c.o Ä "{Top}"Python:structmember.c - {CC} "{Top}"Python:structmember.c -o "{Objs}"structmember.c.o -s structmember.c {CFlags} - -"{Objs}"stropmodule.c.o Ä "{Top}"Modules:stropmodule.c - {CC} "{Top}"Modules:stropmodule.c -o "{Objs}"stropmodule.c.o -s stropmodule.c {CFlags} - -"{Objs}"acceler.c.o Ä "{Top}"Parser:acceler.c - {CC} "{Top}"Parser:acceler.c -o "{Objs}"acceler.c.o -s acceler.c {CFlags} - -"{Objs}"graminit.c.o Ä "{Top}"Python:graminit.c - {CC} "{Top}"Python:graminit.c -o "{Objs}"graminit.c.o -s graminit.c {CFlags} - -"{Objs}"grammar1.c.o Ä "{Top}"Parser:grammar1.c - {CC} "{Top}"Parser:grammar1.c -o "{Objs}"grammar1.c.o -s grammar1.c {CFlags} - -"{Objs}"macguesstabsize.c.o Ä "{Top}"Mac:macguesstabsize.c - {CC} "{Top}"Mac:macguesstabsize.c -o "{Objs}"macguesstabsize.c.o -s macguesstabsize.c {CFlags} - -"{Objs}"node.c.o Ä "{Top}"Parser:node.c - {CC} "{Top}"Parser:node.c -o "{Objs}"node.c.o -s node.c {CFlags} - -"{Objs}"parser.c.o Ä "{Top}"Parser:parser.c - {CC} "{Top}"Parser:parser.c -o "{Objs}"parser.c.o -s parser.c {CFlags} - -"{Objs}"parsetok.c.o Ä "{Top}"Parser:parsetok.c - {CC} "{Top}"Parser:parsetok.c -o "{Objs}"parsetok.c.o -s parsetok.c {CFlags} - -"{Objs}"classobject.c.o Ä "{Top}"Objects:classobject.c - {CC} "{Top}"Objects:classobject.c -o "{Objs}"classobject.c.o -s classobject.c {CFlags} - -"{Objs}"import.c.o Ä "{Top}"Python:import.c - {CC} "{Top}"Python:import.c -o "{Objs}"import.c.o -s import.c {CFlags} - -"{Objs}"importdl.c.o Ä "{Top}"Python:importdl.c - {CC} "{Top}"Python:importdl.c -o "{Objs}"importdl.c.o -s importdl.c {CFlags} - -"{Objs}"macgetmtime.c.o Ä "{Top}"Mac:macgetmtime.c - {CC} "{Top}"Mac:macgetmtime.c -o "{Objs}"macgetmtime.c.o -s macgetmtime.c {CFlags} - -"{Objs}"macsetfiletype.c.o Ä "{Top}"Mac:macsetfiletype.c - {CC} "{Top}"Mac:macsetfiletype.c -o "{Objs}"macsetfiletype.c.o -s macsetfiletype.c {CFlags} - -"{Objs}"macstat.c.o Ä "{Top}"Mac:macstat.c - {CC} "{Top}"Mac:macstat.c -o "{Objs}"macstat.c.o -s macstat.c {CFlags} - -"{Objs}"macshlglue.c.o Ä "{Top}"Mac:macshlglue.c - {CC} "{Top}"Mac:macshlglue.c -o "{Objs}"macshlglue.c.o -s macshlglue.c {CFlags} - -"{Objs}"marshal.c.o Ä "{Top}"Python:marshal.c - {CC} "{Top}"Python:marshal.c -o "{Objs}"marshal.c.o -s marshal.c {CFlags} - -"{Objs}"timemodule.c.o Ä "{Top}"Modules:timemodule.c - {CC} "{Top}"Modules:timemodule.c -o "{Objs}"timemodule.c.o -s timemodule.c {CFlags} - -"{Objs}"fileobject.c.o Ä "{Top}"Objects:fileobject.c - {CC} "{Top}"Objects:fileobject.c -o "{Objs}"fileobject.c.o -s fileobject.c {CFlags} - -"{Objs}"frameobject.c.o Ä "{Top}"Objects:frameobject.c - {CC} "{Top}"Objects:frameobject.c -o "{Objs}"frameobject.c.o -s frameobject.c {CFlags} - -"{Objs}"funcobject.c.o Ä "{Top}"Objects:funcobject.c - {CC} "{Top}"Objects:funcobject.c -o "{Objs}"funcobject.c.o -s funcobject.c {CFlags} - -"{Objs}"intobject.c.o Ä "{Top}"Objects:intobject.c - {CC} "{Top}"Objects:intobject.c -o "{Objs}"intobject.c.o -s intobject.c {CFlags} - -"{Objs}"listobject.c.o Ä "{Top}"Objects:listobject.c - {CC} "{Top}"Objects:listobject.c -o "{Objs}"listobject.c.o -s listobject.c {CFlags} - -"{Objs}"mappingobject.c.o Ä "{Top}"Objects:mappingobject.c - {CC} "{Top}"Objects:mappingobject.c -o "{Objs}"mappingobject.c.o -s mappingobject.c {CFlags} - -"{Objs}"methodobject.c.o Ä "{Top}"Objects:methodobject.c - {CC} "{Top}"Objects:methodobject.c -o "{Objs}"methodobject.c.o -s methodobject.c {CFlags} - -"{Objs}"moduleobject.c.o Ä "{Top}"Objects:moduleobject.c - {CC} "{Top}"Objects:moduleobject.c -o "{Objs}"moduleobject.c.o -s moduleobject.c {CFlags} - -"{Objs}"object.c.o Ä "{Top}"Objects:object.c - {CC} "{Top}"Objects:object.c -o "{Objs}"object.c.o -s object.c {CFlags} - -"{Objs}"stringobject.c.o Ä "{Top}"Objects:stringobject.c - {CC} "{Top}"Objects:stringobject.c -o "{Objs}"stringobject.c.o -s stringobject.c {CFlags} - -"{Objs}"tupleobject.c.o Ä "{Top}"Objects:tupleobject.c - {CC} "{Top}"Objects:tupleobject.c -o "{Objs}"tupleobject.c.o -s tupleobject.c {CFlags} - -"{Objs}"accessobject.c.o Ä "{Top}"Objects:accessobject.c - {CC} "{Top}"Objects:accessobject.c -o "{Objs}"accessobject.c.o -s accessobject.c {CFlags} - -"{Objs}"floatobject.c.o Ä "{Top}"Objects:floatobject.c - {CC} "{Top}"Objects:floatobject.c -o "{Objs}"floatobject.c.o -s floatobject.c {CFlags} - -"{Objs}"longobject.c.o Ä "{Top}"Objects:longobject.c - {CC} "{Top}"Objects:longobject.c -o "{Objs}"longobject.c.o -s longobject.c {CFlags} - -"{Objs}"typeobject.c.o Ä "{Top}"Objects:typeobject.c - {CC} "{Top}"Objects:typeobject.c -o "{Objs}"typeobject.c.o -s typeobject.c {CFlags} - -"{Objs}"ceval.c.o Ä "{Top}"Python:ceval.c - {CC} "{Top}"Python:ceval.c -o "{Objs}"ceval.c.o -s ceval.c {CFlags} - -"{Objs}"errors.c.o Ä "{Top}"Python:errors.c - {CC} "{Top}"Python:errors.c -o "{Objs}"errors.c.o -s errors.c {CFlags} - -"{Objs}"intrcheck.c.o Ä "{Top}"Parser:intrcheck.c - {CC} "{Top}"Parser:intrcheck.c -o "{Objs}"intrcheck.c.o -s intrcheck.c {CFlags} - -"{Objs}"macglue.c.o Ä "{Top}"Mac:macglue.c - {CC} "{Top}"Mac:macglue.c -o "{Objs}"macglue.c.o -s macglue.c {CFlags} - -"{Objs}"macgetargv.c.o Ä "{Top}"Mac:macgetargv.c - {CC} "{Top}"Mac:macgetargv.c -o "{Objs}"macgetargv.c.o -s macgetargv.c {CFlagsMac} - -"{Objs}"modsupport.c.o Ä "{Top}"Python:modsupport.c - {CC} "{Top}"Python:modsupport.c -o "{Objs}"modsupport.c.o -s modsupport.c {CFlags} - -"{Objs}"sigcheck.c.o Ä "{Top}"Python:sigcheck.c - {CC} "{Top}"Python:sigcheck.c -o "{Objs}"sigcheck.c.o -s sigcheck.c {CFlags} - -"{Objs}"sysmodule.c.o Ä "{Top}"Python:sysmodule.c - {CC} "{Top}"Python:sysmodule.c -o "{Objs}"sysmodule.c.o -s sysmodule.c {CFlags} - -"{Objs}"traceback.c.o Ä "{Top}"Python:traceback.c - {CC} "{Top}"Python:traceback.c -o "{Objs}"traceback.c.o -s traceback.c {CFlags} - -"{Objs}"bltinmodule.c.o Ä "{Top}"Python:bltinmodule.c - {CC} "{Top}"Python:bltinmodule.c -o "{Objs}"bltinmodule.c.o -s bltinmodule.c {CFlags} - -"{Objs}"fopenRF.c.o Ä "{Top}"Mac:fopenRF.c - {CC} "{Top}"Mac:fopenRF.c -o "{Objs}"fopenRF.c.o -s fopenRF.c {CFlags} - -"{Objs}"stdwinmodule.c.o Ä "{Top}"Modules:stdwinmodule.c - {CC} "{Top}"Modules:stdwinmodule.c -o "{Objs}"stdwinmodule.c.o -s stdwinmodule.c {CFlags} - -"{Objs}"ctbmodule.c.o Ä "{Top}"Mac:ctb:ctbmodule.c - {CC} "{Top}"Mac:ctb:ctbmodule.c -o "{Objs}"ctbmodule.c.o -s ctbmodule.c {CFlags} - -"{Objs}"arraymodule.c.o Ä "{Top}"Modules:arraymodule.c - {CC} "{Top}"Modules:arraymodule.c -o "{Objs}"arraymodule.c.o -s arraymodule.c {CFlags} - -"{Objs}"getbootvol.c.o Ä "{Top}"Mac:getbootvol.c - {CC} "{Top}"Mac:getbootvol.c -o "{Objs}"getbootvol.c.o -s getbootvol.c {CFlags} - -"{Objs}"macmodule.c.o Ä "{Top}"Mac:macmodule.c - {CC} "{Top}"Mac:macmodule.c -o "{Objs}"macmodule.c.o -s macmodule.c {CFlags} - -"{Objs}"mkdir.c.o Ä "{Top}"Mac:mkdir.c - {CC} "{Top}"Mac:mkdir.c -o "{Objs}"mkdir.c.o -s mkdir.c {CFlags} - -"{Objs}"opendir.c.o Ä "{Top}"Mac:opendir.c - {CC} "{Top}"Mac:opendir.c -o "{Objs}"opendir.c.o -s opendir.c {CFlags} - -"{Objs}"rmdir.c.o Ä "{Top}"Mac:rmdir.c - {CC} "{Top}"Mac:rmdir.c -o "{Objs}"rmdir.c.o -s rmdir.c {CFlags} - -"{Objs}"sync.c.o Ä "{Top}"Mac:sync.c - {CC} "{Top}"Mac:sync.c -o "{Objs}"sync.c.o -s sync.c {CFlags} - -"{Objs}"audioop.c.o Ä "{Top}"Modules:audioop.c - {CC} "{Top}"Modules:audioop.c -o "{Objs}"audioop.c.o -s audioop.c {CFlags} - -"{Objs}"imageop.c.o Ä "{Top}"Modules:imageop.c - {CC} "{Top}"Modules:imageop.c -o "{Objs}"imageop.c.o -s imageop.c {CFlags} - -"{Objs}"imgformat.c.o Ä "{Top}"Modules:imgformat.c - {CC} "{Top}"Modules:imgformat.c -o "{Objs}"imgformat.c.o -s imgformat.c {CFlags} - -"{Objs}"macconsole.c.o Ä "{Top}"Mac:think:macconsole:macconsole.c - {CC} "{Top}"Mac:think:macconsole:macconsole.c -o "{Objs}"macconsole.c.o -s macconsole.c {CFlags} - -"{Objs}"myreadline.c.o Ä "{Top}"Parser:myreadline.c - {CC} "{Top}"Parser:myreadline.c -o "{Objs}"myreadline.c.o -s myreadline.c {CFlags} - -"{Objs}"pythonrun.c.o Ä "{Top}"Python:pythonrun.c - {CC} "{Top}"Python:pythonrun.c -o "{Objs}"pythonrun.c.o -s pythonrun.c {CFlags} - -"{Objs}"AEmodule.c.o Ä "{Top}"Tools:bgen:ae:AEmodule.c - {CC} "{Top}"Tools:bgen:ae:AEmodule.c -o "{Objs}"AEmodule.c.o -s AEmodule.c {CFlags} - -"{Objs}"Ctlmodule.c.o Ä "{Top}"Tools:bgen:ctl:Ctlmodule.c - {CC} "{Top}"Tools:bgen:ctl:Ctlmodule.c -o "{Objs}"Ctlmodule.c.o -s Ctlmodule.c {CFlags} - -"{Objs}"Dlgmodule.c.o Ä "{Top}"Tools:bgen:dlg:Dlgmodule.c - {CC} "{Top}"Tools:bgen:dlg:Dlgmodule.c -o "{Objs}"Dlgmodule.c.o -s Dlgmodule.c {CFlags} - -"{Objs}"Evtmodule.c.o Ä "{Top}"Tools:bgen:evt:Evtmodule.c - {CC} "{Top}"Tools:bgen:evt:Evtmodule.c -o "{Objs}"Evtmodule.c.o -s Evtmodule.c {CFlags} - -"{Objs}"Menumodule.c.o Ä "{Top}"Tools:bgen:menu:Menumodule.c - {CC} "{Top}"Tools:bgen:menu:Menumodule.c -o "{Objs}"Menumodule.c.o -s Menumodule.c {CFlags} - -"{Objs}"Qdmodule.c.o Ä "{Top}"Tools:bgen:qd:Qdmodule.c - {CC} "{Top}"Tools:bgen:qd:Qdmodule.c -o "{Objs}"Qdmodule.c.o -s Qdmodule.c {CFlags} - -"{Objs}"Resmodule.c.o Ä "{Top}"Tools:bgen:res:Resmodule.c - {CC} "{Top}"Tools:bgen:res:Resmodule.c -o "{Objs}"Resmodule.c.o -s Resmodule.c {CFlags} - -"{Objs}"Sndmodule.c.o Ä "{Top}"Tools:bgen:snd:Sndmodule.c - {CC} "{Top}"Tools:bgen:snd:Sndmodule.c -o "{Objs}"Sndmodule.c.o -s Sndmodule.c {CFlags} - -"{Objs}"Winmodule.c.o Ä "{Top}"Tools:bgen:win:Winmodule.c - {CC} "{Top}"Tools:bgen:win:Winmodule.c -o "{Objs}"Winmodule.c.o -s Winmodule.c {CFlags} - -"{Objs}"md5c.c.o Ä "{Top}"Modules:md5c.c - {CC} "{Top}"Modules:md5c.c -o "{Objs}"md5c.c.o -s md5c.c {CFlags} - -"{Objs}"md5module.c.o Ä "{Top}"Modules:md5module.c - {CC} "{Top}"Modules:md5module.c -o "{Objs}"md5module.c.o -s md5module.c {CFlags} - -"{Objs}"mathmodule.c.o Ä "{Top}"Modules:mathmodule.c - {CC} "{Top}"Modules:mathmodule.c -o "{Objs}"mathmodule.c.o -s mathmodule.c {CFlags} - -"{Objs}"parsermodule.c.o Ä "{Top}"Modules:parsermodule.c - {CC} "{Top}"Modules:parsermodule.c -o "{Objs}"parsermodule.c.o -s parsermodule.c {CFlags} - -"{Objs}"regexmodule.c.o Ä "{Top}"Modules:regexmodule.c - {CC} "{Top}"Modules:regexmodule.c -o "{Objs}"regexmodule.c.o -s regexmodule.c {CFlags} - -"{Objs}"regexpr.c.o Ä "{Top}"Modules:regexpr.c - {CC} "{Top}"Modules:regexpr.c -o "{Objs}"regexpr.c.o -s regexpr.c {CFlags} - -"{Objs}"rangeobject.c.o Ä "{Top}"Objects:rangeobject.c - {CC} "{Top}"Objects:rangeobject.c -o "{Objs}"rangeobject.c.o -s rangeobject.c {CFlags} - -"{Objs}"rgbimgmodule.c.o Ä "{Top}"Modules:rgbimgmodule.c - {CC} "{Top}"Modules:rgbimgmodule.c -o "{Objs}"rgbimgmodule.c.o -s rgbimgmodule.c {CFlags} - -"{Objs}"rotormodule.c.o Ä "{Top}"Modules:rotormodule.c - {CC} "{Top}"Modules:rotormodule.c -o "{Objs}"rotormodule.c.o -s rotormodule.c {CFlags} - -"{Objs}"structmodule.c.o Ä "{Top}"Modules:structmodule.c - {CC} "{Top}"Modules:structmodule.c -o "{Objs}"structmodule.c.o -s structmodule.c {CFlags} - -"{Objs}"getargs.c.o Ä "{Top}"Python:getargs.c - {CC} "{Top}"Python:getargs.c -o "{Objs}"getargs.c.o -s getargs.c {CFlags} - -"{Objs}"xxmodule.c.o Ä "{Top}"Modules:xxmodule.c - {CC} "{Top}"Modules:xxmodule.c -o "{Objs}"xxmodule.c.o -s xxmodule.c {CFlags} - -"{Objs}"atof.c.o Ä "{Top}"Python:atof.c - {CC} "{Top}"Python:atof.c -o "{Objs}"atof.c.o -s atof.c {CFlags} - -"{Objs}"strtod.c.o Ä "{Top}"Python:strtod.c - {CC} "{Top}"Python:strtod.c -o "{Objs}"strtod.c.o -s strtod.c {CFlags} - -"{Objs}"fmod.c.o Ä "{Top}"Python:fmod.c - {CC} "{Top}"Python:fmod.c -o "{Objs}"fmod.c.o -s fmod.c {CFlags} diff --git a/Mac/MPW/README b/Mac/MPW/README deleted file mode 100644 index 3d58230..0000000 --- a/Mac/MPW/README +++ /dev/null @@ -1,122 +0,0 @@ -Python and MPW -============== - -There is conditional code in Python for MPW. This has been used with -different compilers at various points in time. Right now it is being -used to turn the entire interpreter into a shared library on 68K Macs, -so we can build "applets" (see below). I have used MPW 3.2 and the OpenDoc -development environment from an OpenDoc CD released in 1984. This -contains the Symantec C compiler for MPW (version 7.0.4), the -Universal Headers (version 2.0a1), and early versions of CFM-68K (version 1.0a1) -(the Code Fragment Manager ported back to the 68K Mac) and -MixedModeInit (version 1.0d12), which are required to use shared libraries. - -I've created a Makefile that does everything, plus a three-line Build -script that calls Make and runs its output. The Makefile assumes that -it lives in a 1-deep subdirectory of the root, so e.g. the Python -Include directory can be referenced through "::Include". All object -files are collected in the subsubdirectory Objcode. - -I use these feature test macros: - -MPW for all MPW compilers (e.g. long double in <math.h>) -__SC__ for things specific to the Symantec C compiler - (e.g. doesn't like static forward) -__CFM68K__ for things specific to CFM-68K - (e.g. it requires the use of #pragma lib_export on|off) -HAVE_UNIVERSAL_HEADERS for things not yet in Think's headers (e.g. UPPs) -GENERATINGCFM for both PPC and 68K Code Fragment Manager - -MPW is defined in config.h (if it finds that applec is defined); -HAVE_UNIVERSAL_HEADERS is defined in macglue.h depending on whether it -thinks we are using Universal Headers. The others are defined by the -compiler or by the system headers. - -Compiler switches were a nightmare until I found I had to use -b. -This wasn't mentioned in the CFM-68K docs that came on the OpenDoc -CD-ROM. Apparently it is only needed for large projects... - - -Warning: Mixing Think C and MPW -=============================== - -(XXX Need to check what convention SC uses -- I hope it uses Think's.) - -If you are mixing Think C and MPW, you may experience weird errors in -previously correct modules. These disappear when you throw away the -module's .pyc file. The errors usually have to do with string -literals containing '\n' or '\r'. The reason is an incompatibility -between their handling of '\n' and '\r' -- in MPW C, '\n' actually is -ASCII CR while '\r' is ASCII LF, which is the reverse situation from -any other ASCII based C implementation. This behaviour is inherited -by Python compiled with MPW C. This is normally not a problem, but -*binary* files written by one system will be mis-interpreted by the -other, and this is what happens to the .pyc files. There is no easy -way to fix this in the source. (This is a real shame, since the -format of .pyc files was carefully designed to be independent of byte -order and integer size -- deviations in the ASCII character codes were -never anticipated.) - - -Building "Applets" for the Mac -============================== - -An "applet" is a tiny application that's written in a scripting language -but behaves like a real application. The behavior is much like that of -executable scripts in Unix -- but the implementation is entirely different. - -The applet's file can be small because it doesn't contain the actual -interpreter for the scripting language -- this has to be installed in the -Extensions folder (usually) before the applet will work. The applet file -itself only contains a tiny bootstrap program and the script itself -- -possibly "compiled" or otherwise encoded to save on parsing time and space, -and to make it harder to reverse engineer the script (some people care about -this). - -In Python's case, the Python interpreter, without its main program, is built -as a shared library that is dropped in the Extensions folder. Some more -shared libraries must also be present -- these form the C run-time system. -[[XXX perhaps we should link these in statically with the Python library, -for simpler distribution???]] On the 68K Mac, two more extensions are needed: -CFM-68K (the Code Fragment Manager) and MixedModeInit. These provide -functionality that's built in the Power Mac's OS. It seems that System 7.1.1 -or higher is also required. - -The applet file contains a small main program program, plus a 'PYC ' resource -named __main__ which contains the "compiled" version of the script. A 'PYC ' -resource contains exactly the same data as a ".pyc" file. (The advantage of -storing compiled modules as resources instead of files is that many modules -can be stored in a single file.) The applet's main -program initializes most of the toolbox managers (it uses the same sequence -as stdwin or the Think C console I/O library), then initializes Python, -then loads the resource and decodes it into a Python code object, and finally -passes the code object to the Python interpreter for execution. [[XXX Actually, -the applet's main program could be moved entirely to the shared library -- -there's nothing in it that's dependent on the applet's configuration. -The applet itself could then be reduced to main() { applet_main(); } ]] -[[XXX I tried this but it only save 512 bytes on a total of 10K -- the rest -is boilerplate that the linker always seems to create. Wonder how this is on -the Power Mac...]] - -A big restriction for applets is that they have no standard input and their -standard output and error streams are diverted to files called "stdout" and -"stderr". This means that in order to interact with the user, or even just -to provide some feedback while they're grinding along, they must make use of -Mac toolbox calls to create windows, etc. I plan to provide a library that at -least has the output functionality of the Think C Console I/O library or -CodeWarrior's SIOX. - -The current procedure to create an applet is not as simple as it could be. -I have written a Python script (which itself can be -- and has been -- made -into an applet!) which asks for a Python source file (input) and an existing -applet file (output). It adds a 'PYC ' resource to the applet named __main__, -which contains the compiled code of the script (it compiles on the fly, -so you don't need to have a .pyc file for the script). -Although this seems fairly simple, the practical complication is that you need -to copy the applet template first -- if you specify the template as the output, -you will overwrite the template! [[XXX I guess a simplification could be made -by using the convention that the applet built from a script has the same name -as the script but with ".py" stripped; the applet-making script could then -search for the template in a few common locations (e.g. the Python module -search path) and copy it, reducing the user interaction to just indicating the -Python source file to be converted into an applet.]] |