diff --git a/Mac/Lib/mkcwproject/cwxmlgen.py b/Mac/Lib/mkcwproject/cwxmlgen.py
index e80cfa7a8b9..0ffe12fb401 100644
--- a/Mac/Lib/mkcwproject/cwxmlgen.py
+++ b/Mac/Lib/mkcwproject/cwxmlgen.py
@@ -53,6 +53,8 @@ def _adddefaults(self, dict):
dict['stdlibraryflags'] = 'Debug'
if not dict.has_key('libraryflags'):
dict['libraryflags'] = 'Debug'
+ if not dict.has_key('initialize'):
+ dict['initialize'] = '__initialize'
if not dict.has_key('mac_sysprefixtype'):
if os.path.isabs(dict['sysprefix']):
dict['mac_sysprefixtype'] = 'Absolute'
diff --git a/Mac/Lib/mkcwproject/template-carbon/template.prj.xml b/Mac/Lib/mkcwproject/template-carbon/template.prj.xml
index d0550f59180..5c426a19b34 100644
--- a/Mac/Lib/mkcwproject/template-carbon/template.prj.xml
+++ b/Mac/Lib/mkcwproject/template-carbon/template.prj.xml
@@ -558,7 +558,7 @@
MWLinker_PPC_dontdeadstripinitcode0
MWLinker_PPC_permitmultdefs0
MWLinker_PPC_linkmodeFast
- MWLinker_PPC_initname__initialize
+ MWLinker_PPC_initname%(initialize)s
MWLinker_PPC_mainname
MWLinker_PPC_termname__terminate
diff --git a/Mac/Lib/mkcwproject/template-ppc/template.prj.xml b/Mac/Lib/mkcwproject/template-ppc/template.prj.xml
index 0c79f678247..65ca175ec32 100644
--- a/Mac/Lib/mkcwproject/template-ppc/template.prj.xml
+++ b/Mac/Lib/mkcwproject/template-ppc/template.prj.xml
@@ -549,7 +549,7 @@
MWLinker_PPC_dontdeadstripinitcode0
MWLinker_PPC_permitmultdefs0
MWLinker_PPC_linkmodeFast
- MWLinker_PPC_initname__initialize
+ MWLinker_PPC_initname%(initialize)s
MWLinker_PPC_mainname
MWLinker_PPC_termname__terminate
diff --git a/Mac/scripts/genpluginprojects.py b/Mac/scripts/genpluginprojects.py
index 1286993b0f9..3e2e443473a 100644
--- a/Mac/scripts/genpluginprojects.py
+++ b/Mac/scripts/genpluginprojects.py
@@ -36,16 +36,17 @@ def genpluginproject(architecture, module,
sources=[], sourcedirs=[],
libraries=[], extradirs=[],
extraexportsymbols=[], outputdir=":::Lib:lib-dynload",
- libraryflags=None, stdlibraryflags=None, prefixname=None):
+ libraryflags=None, stdlibraryflags=None, prefixname=None,
+ initialize=None):
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, outputdir, libraryflags,
- stdlibraryflags, prefixname)
+ stdlibraryflags, prefixname, initialize)
genpluginproject("carbon", module, project, projectdir, sources, sourcedirs,
libraries, extradirs, extraexportsymbols, outputdir, libraryflags,
- stdlibraryflags, prefixname)
+ stdlibraryflags, prefixname, initialize)
return
templatename = "template-%s" % architecture
targetname = "%s.%s" % (module, architecture)
@@ -99,6 +100,8 @@ def genpluginproject(architecture, module,
dict['libraryflags'] = libraryflags
if stdlibraryflags:
dict['stdlibraryflags'] = stdlibraryflags
+ if initialize:
+ dict['initialize'] = initialize
mkcwproject.mkproject(os.path.join(projectdir, project), module, dict,
force=FORCEREBUILD, templatename=templatename)