Modifed for new included expat.
diff --git a/Mac/scripts/genpluginprojects.py b/Mac/scripts/genpluginprojects.py
index 46f0a6b..f96e44f 100644
--- a/Mac/scripts/genpluginprojects.py
+++ b/Mac/scripts/genpluginprojects.py
@@ -36,7 +36,7 @@
 		sources=[], sourcedirs=[],
 		libraries=[], extradirs=[],
 		extraexportsymbols=[], outputdir=":::Lib:lib-dynload",
-		libraryflags=None, stdlibraryflags=None):
+		libraryflags=None, stdlibraryflags=None, prefixname=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.
@@ -76,7 +76,9 @@
 		else:
 			print "Warning: %s: sourcefile not found: %s"%(module, sources[0])
 			sourcedirs = []
-	if architecture == "carbon":
+	if prefixname:
+		pass
+	elif architecture == "carbon":
 		prefixname = "mwerks_carbonplugin_config.h"
 	else:
 		prefixname = "mwerks_plugin_config.h"
@@ -102,10 +104,16 @@
 	global FORCEREBUILD
 	FORCEREBUILD = force
 	# Standard Python modules
-	genpluginproject("all", "pyexpat", 
-		sources=["pyexpat.c"], 
-		libraries=["libexpat.ppc.lib"], 
-		extradirs=["::::expat:*"])
+	genpluginproject("ppc", "pyexpat", 
+		sources=["pyexpat.c", "xmlparse.c", "xmlrole.c", "xmltok.c"],
+		extradirs=[":::Modules:expat"],
+		prefixname="mwerks_pyexpat_config.h"
+		)
+	genpluginproject("carbon", "pyexpat", 
+		sources=["pyexpat.c", "xmlparse.c", "xmlrole.c", "xmltok.c"],
+		extradirs=[":::Modules:expat"],
+		prefixname="mwerks_carbonpyexpat_config.h"
+		)
 	genpluginproject("all", "zlib", 
 		libraries=["zlib.ppc.Lib"], 
 		extradirs=["::::imglibs:zlib:mac", "::::imglibs:zlib"])