Attached is a patch for mingw openssl shared build. 

A few other issues need to be addressed for mingw compile.
1. it seems gnulib does not address large file aware fstat/stat for mingw. I 
overrode this for my own build using a patch similar to that posted by Ángel 
González in the bootstrap thread.
2. gnulib ioctl.c mingw section does not have HANDLE type defined. I think that 
might be a gnulib oversight so I'll write them
3. connect.c has checks for autoconf HAVE_SYS_ includes sys/socket and 
sys/select, but AC_CHECK_HEADERS doesn't check sys/socket and also even if it 
checks for them it's not checking gnulib headers. as a result of that connect.c 
does not use the gnulib socket and select calls when it should.

How to handle 1 and 3 in harmony with gnulib I don't know. For 3 I just removed 
the check so that I could compile.

The binary and source and patches I used to make it (openssl plus dirty patches 
for issues 123) can be downloaded here:
http://sourceforge.net/projects/getgnuwin32/files/getgnuwin32/test%20builds/wget_2590__mingw_patched__03-25-12.zip/download


---request begin---
GET /fedora/releases/16/Fedora/i386/iso/Fedora-16-i386-DVD.iso HTTP/1.1
Range: bytes=2195415823-
User-Agent: Wget/1.13.4-2590-dirty (mingw32)
Accept: */*
Host: mirrors.kernel.org
Connection: Keep-Alive

Hash check ok. Even though -large-file in version info it should work to 
download/resume large files

GNU Wget 1.13.4-2590-dirty built on mingw32.

+digest +https +ipv6 +iri -large-file +nls +ntlm +opie +ssl/openssl
=== modified file 'configure.ac'
--- configure.ac	2012-01-11 14:27:06 +0000
+++ configure.ac	2012-03-25 01:29:11 +0000
@@ -264,6 +264,9 @@
           AC_CHECK_LIB(ssl32, SSL_connect, [
             ssl_found=yes
             AC_MSG_NOTICE([Enabling support for SSL via OpenSSL (shared)])
+            AC_LIBOBJ([openssl])
+            LIBS="${LIBS} -lssl32"
+            AC_DEFINE([HAVE_LIBSSL32], [1], [Define to 1 if you have the `ssl32' library (-lssl32).])
           ],
           AC_MSG_ERROR([openssl not found: shared lib eay32 found but ssl32 not found]))
           
@@ -289,6 +292,7 @@
     ], [SSL_library_init ()])
     if test x"$LIBSSL" != x
     then
+      ssl_found=yes
       AC_MSG_NOTICE([compiling in support for SSL via OpenSSL])
       AC_LIBOBJ([openssl])
       LIBS="$LIBSSL $LIBS"
@@ -296,9 +300,6 @@
     then
       AC_MSG_ERROR([--with-ssl=openssl was given, but SSL is not available.])
     fi
-
-    AC_LIBOBJ([openssl])
-
 ])
 
 ], [
@@ -316,6 +317,7 @@
   ], [gnutls_global_init()])
   if test x"$LIBGNUTLS" != x
   then
+    ssl_found=yes
     AC_MSG_NOTICE([compiling in support for SSL via GnuTLS])
     AC_LIBOBJ([gnutls])
     LIBS="$LIBGNUTLS $LIBS"
@@ -328,7 +330,7 @@
 ]) # endif: --with-ssl == openssl?
 
 dnl Enable NTLM if requested and if SSL is available.
-if test x"$LIBSSL" != x
+if test x"$LIBSSL" != x || test "$ac_cv_lib_ssl32_SSL_connect" = yes
 then
   if test x"$ENABLE_NTLM" != xno
   then

=== modified file 'src/build_info.c.in'
--- src/build_info.c.in	2010-12-02 10:50:26 +0000
+++ src/build_info.c.in	2012-03-24 22:51:57 +0000
@@ -9,5 +9,5 @@
 opie            defined ENABLE_OPIE
 
 ssl choice:
-    openssl     defined HAVE_LIBSSL
+    openssl     defined HAVE_LIBSSL || defined HAVE_LIBSSL32
     gnutls      defined HAVE_LIBGNUTLS

Reply via email to