@@ -30,13 +30,27 @@ def relpath(base, path):
3030 rv = string .join (pathfields , os .sep )
3131 return rv
3232
33- def genpluginproject (module ,
33+ def genpluginproject (architecture , module ,
3434 project = None , projectdir = None ,
3535 sources = [], sourcedirs = [],
3636 libraries = [], extradirs = [],
3737 extraexportsymbols = []):
38+ if architecture == "all" :
39+ # For the time being we generate two project files. Not as nice as
40+ # a single multitarget project, but easier to implement for now.
41+ genpluginproject ("ppc" , module , project , projectdir , sources , sourcedirs ,
42+ libraries , extradirs , extraexportsymbols )
43+ genpluginproject ("carbon" , module , project , projectdir , sources , sourcedirs ,
44+ libraries , extradirs , extraexportsymbols )
45+ return
46+ templatename = "template-%s" % architecture
47+ targetname = "%s.%s" % (module , architecture )
48+ dllname = "%s.%s.slb" % (module , architecture )
3849 if not project :
39- project = module + '.mcp'
50+ if architecture != "ppc" :
51+ project = "%s.%s.mcp" % (module , architecture )
52+ else :
53+ project = "%s.mcp" % module
4054 if not projectdir :
4155 projectdir = PROJECTDIR
4256 if not sources :
@@ -54,59 +68,81 @@ def genpluginproject(module,
5468 else :
5569 print "Warning: %s: sourcefile not found: %s" % (module , sources [0 ])
5670 sourcedirs = []
71+ if architecture == "carbon" :
72+ prefixname = "mwerks_carbonplugin_config.h"
73+ else :
74+ prefixname = "mwerks_plugin_config.h"
5775 dict = {
5876 "sysprefix" : relpath (projectdir , sys .prefix ),
5977 "sources" : sources ,
6078 "extrasearchdirs" : sourcedirs + extradirs ,
6179 "libraries" : libraries ,
6280 "mac_outputdir" : "::Plugins" ,
6381 "extraexportsymbols" : extraexportsymbols ,
82+ "mac_targetname" : targetname ,
83+ "mac_dllname" : dllname ,
84+ "prefixname" : prefixname ,
6485 }
65- mkcwproject .mkproject (os .path .join (projectdir , project ), module , dict , force = FORCEREBUILD )
86+ mkcwproject .mkproject (os .path .join (projectdir , project ), module , dict ,
87+ force = FORCEREBUILD , templatename = templatename )
6688
6789def genallprojects (force = 0 ):
6890 global FORCEREBUILD
6991 FORCEREBUILD = force
7092 # Standard Python modules
71- genpluginproject ("ucnhash" , sources = ["ucnhash.c" ])
72- genpluginproject ("pyexpat" ,
93+ genpluginproject ("all" , " ucnhash" , sources = ["ucnhash.c" ])
94+ genpluginproject ("all" , " pyexpat" ,
7395 sources = ["pyexpat.c" ],
7496 libraries = ["libexpat.ppc.lib" ],
7597 extradirs = ["::::expat:*" ])
76- genpluginproject ("zlib" ,
98+ genpluginproject ("all" , " zlib" ,
7799 libraries = ["zlib.ppc.Lib" ],
78100 extradirs = ["::::imglibs:zlib:mac" , "::::imglibs:zlib" ])
79- genpluginproject ("gdbm" ,
101+ genpluginproject ("all" , " gdbm" ,
80102 libraries = ["gdbm.ppc.gusi.lib" ],
81103 extradirs = ["::::gdbm:mac" , "::::gdbm" ])
82104
83105 # bgen-generated Toolbox modules
84- genpluginproject ("App" , libraries = ["AppearanceLib" ])
85- genpluginproject ("Cm" ,
106+ genpluginproject ("ppc" , "App" , libraries = ["AppearanceLib" ])
107+ genpluginproject ("carbon" , "App" )
108+ genpluginproject ("ppc" , "Cm" ,
86109 libraries = ["QuickTimeLib" ],
87110 extraexportsymbols = [
88111 "CmpObj_New" ,
89112 "CmpObj_Convert" ,
90113 "CmpInstObj_New" ,
91114 "CmpInstObj_Convert" ,
92115 ])
93- genpluginproject ("Fm" )
94- genpluginproject ("Help" )
95- genpluginproject ("Icn" , libraries = ["IconServicesLib" ])
96- genpluginproject ("List" )
97- genpluginproject ("Qt" , libraries = ["QuickTimeLib" , "Cm.ppc.slb" , "Qdoffs.ppc.slb" ], extradirs = ["::Plugins" ])
98- genpluginproject ("Qdoffs" ,
116+ genpluginproject ("carbon" , "Cm" ,
117+ extraexportsymbols = [
118+ "CmpObj_New" ,
119+ "CmpObj_Convert" ,
120+ "CmpInstObj_New" ,
121+ "CmpInstObj_Convert" ,
122+ ])
123+ genpluginproject ("all" , "Fm" )
124+ genpluginproject ("ppc" , "Help" )
125+ genpluginproject ("ppc" , "Icn" , libraries = ["IconServicesLib" ])
126+ genpluginproject ("carbon" , "Icn" )
127+ genpluginproject ("all" , "List" )
128+ genpluginproject ("ppc" , "Qt" , libraries = ["QuickTimeLib" , "Cm.ppc.slb" , "Qdoffs.ppc.slb" ],
129+ extradirs = ["::Plugins" ])
130+ genpluginproject ("carbon" , "Qt" , libraries = ["Cm.carbon.slb" , "Qdoffs.carbon.slb" ],
131+ extradirs = ["::Plugins" ])
132+ genpluginproject ("all" , "Qdoffs" ,
99133 extraexportsymbols = ["GWorldObj_New" , "GWorldObj_Convert" ])
100- genpluginproject ("Scrap" )
101- genpluginproject ("Snd" , libraries = ["SoundLib" ])
102- genpluginproject ("Sndihooks" , sources = [":snd:Sndihooks.c" ])
103- genpluginproject ("TE" , libraries = ["DragLib" ])
134+ genpluginproject ("ppc" , "Scrap" )
135+ genpluginproject ("ppc" , "Snd" , libraries = ["SoundLib" ])
136+ genpluginproject ("carbon" , "Snd" )
137+ genpluginproject ("all" , "Sndihooks" , sources = [":snd:Sndihooks.c" ])
138+ genpluginproject ("ppc" , "TE" , libraries = ["DragLib" ])
139+ genpluginproject ("carbon" , "TE" )
104140
105141 # Other Mac modules
106- genpluginproject ("calldll" , sources = ["calldll.c" ])
107- genpluginproject ("ColorPicker" )
108- genpluginproject ("Printing" )
109- genpluginproject ("waste" ,
142+ genpluginproject ("all" , " calldll" , sources = ["calldll.c" ])
143+ genpluginproject ("all" , " ColorPicker" )
144+ genpluginproject ("ppc" , " Printing" )
145+ genpluginproject ("ppc" , " waste" ,
110146 sources = [
111147 "wastemodule.c" ,
112148 'WEAccessors.c' , 'WEBirthDeath.c' , 'WEDebug.c' ,
@@ -122,11 +158,11 @@ def genallprojects(force=0):
122158 '::::Waste 1.3 Distribution:*' ,
123159 '::::ICProgKit1.4:APIs' ]
124160 )
125- genpluginproject ("ctb" )
126- genpluginproject ("icglue" , sources = ["icgluemodule.c" ],
161+ genpluginproject ("ppc" , " ctb" )
162+ genpluginproject ("ppc" , " icglue" , sources = ["icgluemodule.c" ],
127163 libraries = ["ICGlueCFM-PPC.lib" ],
128164 extradirs = ["::::ICProgKit1.4:APIs" ])
129- genpluginproject ("macspeech" , libraries = ["SpeechLib" ])
165+ genpluginproject ("ppc" , " macspeech" , libraries = ["SpeechLib" ])
130166
131167if __name__ == '__main__' :
132168 genallprojects ()
0 commit comments