Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8c19b88

Browse files
committed
Generate Carbon as well as classic PPC plugin projects. This module is finally paying back the investment in it!
1 parent 6abe676 commit 8c19b88

1 file changed

Lines changed: 62 additions & 26 deletions

File tree

Mac/scripts/genpluginprojects.py

Lines changed: 62 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -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

6789
def 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

131167
if __name__ == '__main__':
132168
genallprojects()

0 commit comments

Comments
 (0)