From f888350dec14dae1879b1dd0d85616440be9af03 Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Wed, 4 Mar 1998 18:12:39 +0000
Subject: Untested changes to make the '-s windows' option work on Windows.

---
 Tools/freeze/freeze.py          |  3 +++
 Tools/freeze/winmakemakefile.py | 14 ++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/Tools/freeze/freeze.py b/Tools/freeze/freeze.py
index b584ec5..181e845 100755
--- a/Tools/freeze/freeze.py
+++ b/Tools/freeze/freeze.py
@@ -240,6 +240,9 @@ def main():
     outfp = open(frozen_c, 'w')
     try:
         makefreeze.makefreeze(outfp, dict)
+        if win and subsystem == 'windows':
+            import winmakemakefile
+            outfp.write(winmakemakefile.WINMAINTEMPLATE)
     finally:
         outfp.close()
     if backup:
diff --git a/Tools/freeze/winmakemakefile.py b/Tools/freeze/winmakemakefile.py
index 453bbff..972f400 100644
--- a/Tools/freeze/winmakemakefile.py
+++ b/Tools/freeze/winmakemakefile.py
@@ -1,5 +1,19 @@
 import sys, os, string
 
+WINMAINTEMPLATE = """
+#include <windows.h>
+
+int WINAPI WinMain(
+    HINSTANCE hInstance,      // handle to current instance
+    HINSTANCE hPrevInstance,  // handle to previous instance
+    LPSTR lpCmdLine,          // pointer to command line
+    int nCmdShow              // show state of window
+    )
+{
+    return main(__argc, __argv);
+}
+"""
+
 def makemakefile(outfp, vars, files, target):
     save = sys.stdout
     try:
-- 
cgit v0.12

