Subject: Add 64-bit build of zlib1.dll, and use it for the dynamic mingw-w64 build

From: "jan.nijtmans" <[email-masked]>
Date: Mon, 13 Aug 2012 13:58:25 +0000

---
 ChangeLog                   |   8 ++++++++
 compat/zlib/win64/zdll.lib  | Bin 0 -> 45650 bytes
 compat/zlib/win64/zlib1.dll | Bin 0 -> 112640 bytes
 win/Makefile.in             |   8 ++++++--
 win/configure               |  14 ++++++++++++--
 win/configure.in            |   8 ++++++--
 6 files changed, 32 insertions(+), 6 deletions(-)
 create mode 100644 compat/zlib/win64/zdll.lib
 create mode 100644 compat/zlib/win64/zlib1.dll

diff --git a/ChangeLog b/ChangeLog
index 4391648..e1eb9b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-08-13  Jan Nijtmans  <[email-masked]>
+
+	* compat/zlib/win64/zlib1.dll:   Add 64-bit build of zlib1.dll, and use it
+	* compat/zlib/win64/zdll.lib:    for the dynamic mingw-w64 build.
+	* win/Makefile.in
+	* win/configure.in
+	* win/configure
+
 2012-08-09  Reinhard Max  <[email-masked]>
 
 	* tests/http.test: Fix http-3.29 for machines without IPv6 support.
diff --git a/compat/zlib/win64/zdll.lib b/compat/zlib/win64/zdll.lib
new file mode 100644
index 0000000..084dbff
Binary files /dev/null and b/compat/zlib/win64/zdll.lib differ
diff --git a/compat/zlib/win64/zlib1.dll b/compat/zlib/win64/zlib1.dll
new file mode 100644
index 0000000..631439b
Binary files /dev/null and b/compat/zlib/win64/zlib1.dll differ
diff --git a/win/Makefile.in b/win/Makefile.in
index 84dcaf7..fbc9274 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -456,8 +456,12 @@ ${TEST_DLL_FILE}: ${TCLTEST_OBJS} ${TCL_STUB_LIB_FILE}
 	@MAKE_DLL@ ${TCLTEST_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
 
 # use pre-built zlib1.dll
-${ZLIB_DLL_FILE}: $(ZLIB_DIR)/win32/${ZLIB_DLL_FILE}
-	@$(COPY) $(ZLIB_DIR)/win32/${ZLIB_DLL_FILE} ${ZLIB_DLL_FILE}
+${ZLIB_DLL_FILE}: ${TCL_STUB_LIB_FILE}
+	if test "@ZLIB_LIBS@set" == "${ZLIB_DIR}/win64/zdll.libset" ; then \
+		$(COPY) $(ZLIB_DIR)/win64/${ZLIB_DLL_FILE} ${ZLIB_DLL_FILE}; \
+	else \
+		$(COPY) $(ZLIB_DIR)/win32/${ZLIB_DLL_FILE} ${ZLIB_DLL_FILE}; \
+	fi;
 
 # Add the object extension to the implicit rules. By default .obj is not
 # automatically added.
diff --git a/win/configure b/win/configure
index f5a23fe..5cf1513 100755
--- a/win/configure
+++ b/win/configure
@@ -4344,7 +4344,7 @@ esac
 #	as we just assume that the platform hasn't got a usable z.lib
 #------------------------------------------------------------------------
 
-if test "$do64bit" = "yes"; then
+if test "$do64bit" = "yes" && test "$GCC" != "yes"; then
 
   tcl_ok=no
 
@@ -4368,7 +4368,17 @@ if test "$tcl_ok" = "yes"; then
 
   ZLIB_DLL_FILE=\${ZLIB_DLL_FILE}
 
-  ZLIB_LIBS=\${ZLIB_DIR}/win32/zdll.lib
+  if test "$do64bit" = "yes"; then
+
+    ZLIB_LIBS=\${ZLIB_DIR}/win64/zdll.lib
+
+
+else
+
+    ZLIB_LIBS=\${ZLIB_DIR}/win32/zdll.lib
+
+
+fi

 else
diff --git a/win/configure.in b/win/configure.in
index d17f815..de56bf7 100644
--- a/win/configure.in
+++ b/win/configure.in
@@ -120,7 +120,7 @@ esac
 #	as we just assume that the platform hasn't got a usable z.lib
 #------------------------------------------------------------------------
 
-AS_IF([test "$do64bit" = "yes"], [
+AS_IF([test "$do64bit" = "yes" && test "$GCC" != "yes"], [
   tcl_ok=no
 ], [
 AS_IF([test "${enable_shared+set}" = "set"], [
@@ -132,7 +132,11 @@ AS_IF([test "${enable_shared+set}" = "set"], [
 ])
 AS_IF([test "$tcl_ok" = "yes"], [
   AC_SUBST(ZLIB_DLL_FILE,[\${ZLIB_DLL_FILE}])
-  AC_SUBST(ZLIB_LIBS,[\${ZLIB_DIR}/win32/zdll.lib])
+  AS_IF([test "$do64bit" = "yes"], [
+    AC_SUBST(ZLIB_LIBS,[\${ZLIB_DIR}/win64/zdll.lib])
+  ], [
+    AC_SUBST(ZLIB_LIBS,[\${ZLIB_DIR}/win32/zdll.lib])
+  ])
 ], [
   AC_SUBST(ZLIB_OBJS,[\${ZLIB_OBJS}])
   AC_DEFINE_UNQUOTED(NO_VIZ, 1)
-- 
cgit v0.12