Big changes by Mark Hammond to support freezing with DLLs on Windows.
diff --git a/Tools/freeze/makefreeze.py b/Tools/freeze/makefreeze.py
index 88265b0..25c52bc 100644
--- a/Tools/freeze/makefreeze.py
+++ b/Tools/freeze/makefreeze.py
@@ -12,7 +12,9 @@
 trailer = """\
     {0, 0, 0} /* sentinel */
 };
+"""
 
+default_entry_point = """
 int
 main(argc, argv)
     int argc;
@@ -24,7 +26,8 @@
 
 """
 
-def makefreeze(outfp, dict, debug=0):
+def makefreeze(outfp, dict, debug=0, entry_point = None):
+    if entry_point is None: entry_point = default_entry_point
     done = []
     mods = dict.keys()
     mods.sort()
@@ -47,6 +50,8 @@
     for mod, mangled, size in done:
         outfp.write('\t{"%s", M_%s, %d},\n' % (mod, mangled, size))
     outfp.write(trailer)
+    outfp.write(entry_point)
+
 
 
 # Write a C initializer for a module containing the frozen python code.