=== modified file 'setup.py'
--- setup.py	2007-09-13 18:26:59 +0000
+++ setup.py	2007-09-13 19:37:12 +0000
@@ -135,7 +135,36 @@
 
     raise Exception("No SSL support found")
 
-ssl_incs, ssl_libs, libs = find_ssl()
+# Ideally, this should also test if the mingw32 compiler is being used, but I
+# don't know how to do this...
+if sys.platform == 'win32':
+    # Don't use find_ssl, just set up some hard-coded values
+
+    # Assume the openssl libraries from GnuWin32 are installed in the
+    # following location:
+    gnuwin32_dir = r"C:\Utils\GnuWin32"
+    # Set this to 1 for a dynamic build (depends on openssl DLLs)
+    # Dynamic build is about 26k, static is 670k
+    dynamic = 0
+
+    ssl_incs = [os.path.join(gnuwin32_dir, "include")]
+    ssl_libs = [os.path.join(gnuwin32_dir, "lib")]
+    libs = ['wsock32']
+    if dynamic:
+	libs = libs + ['ssl', 'crypto']
+	extra_obj = []
+    else:
+	libs = libs + ['gdi32', 'gw32c', 'ole32', 'uuid']
+	extra_obj = [os.path.join(gnuwin32_dir, 'lib', l) for l in
+		['libssl.a', 'libcrypto.a']]
+    # I don't know what the 'depends' parameter to an Extension does, but it
+    # breaks rebuilds on Windows with mingw, so I'm ignoring it.
+    deps = []
+else:
+    ssl_incs, ssl_libs, libs = find_ssl()
+    extra_obj = []
+    deps = ['ssl/socketmodule.h']
+
 version = [int(x) for x in sys.version.split(' ')[0].split('.')]
 if ((version[0] > 2) or
     ((version[0] == 2) and (version[1] > 5)) or
@@ -156,8 +185,9 @@
       ext_modules=[Extension('ssl._ssl2', ['ssl/_ssl2.c'],
                              include_dirs = ssl_incs + [socket_inc],
                              library_dirs = ssl_libs,
-                             libraries = ['ssl', 'crypto'],
-                             depends = ['ssl/socketmodule.h'])],
+                             libraries = libs,
+			     extra_objects = extra_obj,
+                             depends = deps)],
       data_files=[(testdir, ['test/test_ssl.py',
                              'test/keycert.pem',
                              'test/badcert.pem',

