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