Commit 8c19b882 authored by Jack Jansen's avatar Jack Jansen

Generate Carbon as well as classic PPC plugin projects. This module is finally...

Generate Carbon as well as classic PPC plugin projects. This module is finally paying back the investment in it!
parent 6abe6765
......@@ -30,13 +30,27 @@ def relpath(base, path):
rv = string.join(pathfields, os.sep)
return rv
def genpluginproject(module,
def genpluginproject(architecture, module,
project=None, projectdir=None,
sources=[], sourcedirs=[],
libraries=[], extradirs=[],
extraexportsymbols=[]):
if architecture == "all":
# For the time being we generate two project files. Not as nice as
# a single multitarget project, but easier to implement for now.
genpluginproject("ppc", module, project, projectdir, sources, sourcedirs,
libraries, extradirs, extraexportsymbols)
genpluginproject("carbon", module, project, projectdir, sources, sourcedirs,
libraries, extradirs, extraexportsymbols)
return
templatename = "template-%s" % architecture
targetname = "%s.%s" % (module, architecture)
dllname = "%s.%s.slb" % (module, architecture)
if not project:
project = module + '.mcp'
if architecture != "ppc":
project = "%s.%s.mcp"%(module, architecture)
else:
project = "%s.mcp"%module
if not projectdir:
projectdir = PROJECTDIR
if not sources:
......@@ -54,6 +68,10 @@ def genpluginproject(module,
else:
print "Warning: %s: sourcefile not found: %s"%(module, sources[0])
sourcedirs = []
if architecture == "carbon":
prefixname = "mwerks_carbonplugin_config.h"
else:
prefixname = "mwerks_plugin_config.h"
dict = {
"sysprefix" : relpath(projectdir, sys.prefix),
"sources" : sources,
......@@ -61,28 +79,33 @@ def genpluginproject(module,
"libraries": libraries,
"mac_outputdir" : "::Plugins",
"extraexportsymbols" : extraexportsymbols,
"mac_targetname" : targetname,
"mac_dllname" : dllname,
"prefixname" : prefixname,
}
mkcwproject.mkproject(os.path.join(projectdir, project), module, dict, force=FORCEREBUILD)
mkcwproject.mkproject(os.path.join(projectdir, project), module, dict,
force=FORCEREBUILD, templatename=templatename)
def genallprojects(force=0):
global FORCEREBUILD
FORCEREBUILD = force
# Standard Python modules
genpluginproject("ucnhash", sources=["ucnhash.c"])
genpluginproject("pyexpat",
genpluginproject("all", "ucnhash", sources=["ucnhash.c"])
genpluginproject("all", "pyexpat",
sources=["pyexpat.c"],
libraries=["libexpat.ppc.lib"],
extradirs=["::::expat:*"])
genpluginproject("zlib",
genpluginproject("all", "zlib",
libraries=["zlib.ppc.Lib"],
extradirs=["::::imglibs:zlib:mac", "::::imglibs:zlib"])
genpluginproject("gdbm",
genpluginproject("all", "gdbm",
libraries=["gdbm.ppc.gusi.lib"],
extradirs=["::::gdbm:mac", "::::gdbm"])
# bgen-generated Toolbox modules
genpluginproject("App", libraries=["AppearanceLib"])
genpluginproject("Cm",
genpluginproject("ppc", "App", libraries=["AppearanceLib"])
genpluginproject("carbon", "App")
genpluginproject("ppc", "Cm",
libraries=["QuickTimeLib"],
extraexportsymbols=[
"CmpObj_New",
......@@ -90,23 +113,36 @@ def genallprojects(force=0):
"CmpInstObj_New",
"CmpInstObj_Convert",
])
genpluginproject("Fm")
genpluginproject("Help")
genpluginproject("Icn", libraries=["IconServicesLib"])
genpluginproject("List")
genpluginproject("Qt", libraries=["QuickTimeLib", "Cm.ppc.slb", "Qdoffs.ppc.slb"], extradirs=["::Plugins"])
genpluginproject("Qdoffs",
genpluginproject("carbon", "Cm",
extraexportsymbols=[
"CmpObj_New",
"CmpObj_Convert",
"CmpInstObj_New",
"CmpInstObj_Convert",
])
genpluginproject("all", "Fm")
genpluginproject("ppc", "Help")
genpluginproject("ppc", "Icn", libraries=["IconServicesLib"])
genpluginproject("carbon", "Icn")
genpluginproject("all", "List")
genpluginproject("ppc", "Qt", libraries=["QuickTimeLib", "Cm.ppc.slb", "Qdoffs.ppc.slb"],
extradirs=["::Plugins"])
genpluginproject("carbon", "Qt", libraries=["Cm.carbon.slb", "Qdoffs.carbon.slb"],
extradirs=["::Plugins"])
genpluginproject("all", "Qdoffs",
extraexportsymbols=["GWorldObj_New", "GWorldObj_Convert"])
genpluginproject("Scrap")
genpluginproject("Snd", libraries=["SoundLib"])
genpluginproject("Sndihooks", sources=[":snd:Sndihooks.c"])
genpluginproject("TE", libraries=["DragLib"])
genpluginproject("ppc", "Scrap")
genpluginproject("ppc", "Snd", libraries=["SoundLib"])
genpluginproject("carbon", "Snd")
genpluginproject("all", "Sndihooks", sources=[":snd:Sndihooks.c"])
genpluginproject("ppc", "TE", libraries=["DragLib"])
genpluginproject("carbon", "TE")
# Other Mac modules
genpluginproject("calldll", sources=["calldll.c"])
genpluginproject("ColorPicker")
genpluginproject("Printing")
genpluginproject("waste",
genpluginproject("all", "calldll", sources=["calldll.c"])
genpluginproject("all", "ColorPicker")
genpluginproject("ppc", "Printing")
genpluginproject("ppc", "waste",
sources=[
"wastemodule.c",
'WEAccessors.c', 'WEBirthDeath.c', 'WEDebug.c',
......@@ -122,11 +158,11 @@ def genallprojects(force=0):
'::::Waste 1.3 Distribution:*',
'::::ICProgKit1.4:APIs']
)
genpluginproject("ctb")
genpluginproject("icglue", sources=["icgluemodule.c"],
genpluginproject("ppc", "ctb")
genpluginproject("ppc", "icglue", sources=["icgluemodule.c"],
libraries=["ICGlueCFM-PPC.lib"],
extradirs=["::::ICProgKit1.4:APIs"])
genpluginproject("macspeech", libraries=["SpeechLib"])
genpluginproject("ppc", "macspeech", libraries=["SpeechLib"])
if __name__ == '__main__':
genallprojects()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment