Compare commits

...
Author SHA1 Message Date
hypnotoad 852ef2240a *** NON WORKING BUILD ***
This file integrates miniz in the manner in which the developers of miniz 
intended. However, there are key data structures and capabilities the library
is missing. (Specifically the gz_stream APIs used when transforming a channel.)

This branch is for posterity. Though if anyone can salvage the effort, have at it.
2014-09-03 09:53:03 +00:00
hypnotoad 88f6a41c9c Fix to integrate the fix_windows_zlib branch 2014-09-03 02:50:01 +00:00
hypnotoad 3d817a0dc4 Excursion to replace zlib with miniz 2014-09-03 02:24:39 +00:00
hypnotoad 06547a29be Fix for the cases where a dynamic build is used 2014-09-02 21:16:20 +00:00
hypnotoad 8c90b3ae99 Patch to make the default behavior for Tcl under Windows to embed the Zlib
sources rather than add a dependency to a dynamic zlib.dll
2014-09-02 15:21:23 +00:00
8 changed files with 10098 additions and 3207 deletions
+4916
View File
File diff suppressed because it is too large Load Diff
+1768
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -13,10 +13,9 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*/
#include "tclInt.h"
#ifdef HAVE_ZLIB
#include <zlib.h>
#include "../compat/miniz/miniz.c"
#include "tclIO.h"
/*
+46 -36
View File
@@ -239,6 +239,8 @@ DLTEST_DIR = @TCL_SRC_DIR@/unix/dltest
TCL_BUILDTIME_LIBRARY = @TCL_SRC_DIR@/library
ZLIB_DIR = ${COMPAT_DIR}/zlib
MZLIB_DIR = ${COMPAT_DIR}/miniz
ZLIB_INCLUDE = @ZLIB_INCLUDE@
CC = @CC@
@@ -353,8 +355,10 @@ CYGWIN_OBJS = tclWinError.o
DTRACE_OBJ = tclDTrace.o
ZLIB_OBJS = Zadler32.o Zcompress.o Zcrc32.o Zdeflate.o Zinfback.o \
Zinffast.o Zinflate.o Zinftrees.o Ztrees.o Zuncompr.o Zzutil.o
#ZLIB_OBJS = Zadler32.o Zcompress.o Zcrc32.o Zdeflate.o Zinfback.o \
# Zinffast.o Zinflate.o Zinftrees.o Ztrees.o Zuncompr.o Zzutil.o
ZLIB_OBJS = miniz.o
TCL_OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${NOTIFY_OBJS} ${COMPAT_OBJS} \
${OO_OBJS} @DL_OBJS@ @PLAT_OBJS@
@@ -587,18 +591,20 @@ DTRACE_HDR = tclDTrace.h
DTRACE_SRC = $(GENERIC_DIR)/tclDTrace.d
ZLIB_SRCS = \
$(ZLIB_DIR)/adler32.c \
$(ZLIB_DIR)/compress.c \
$(ZLIB_DIR)/crc32.c \
$(ZLIB_DIR)/deflate.c \
$(ZLIB_DIR)/infback.c \
$(ZLIB_DIR)/inffast.c \
$(ZLIB_DIR)/inflate.c \
$(ZLIB_DIR)/inftrees.c \
$(ZLIB_DIR)/trees.c \
$(ZLIB_DIR)/uncompr.c \
$(ZLIB_DIR)/zutil.c
#ZLIB_SRCS = \
# $(ZLIB_DIR)/adler32.c \
# $(ZLIB_DIR)/compress.c \
# $(ZLIB_DIR)/crc32.c \
# $(ZLIB_DIR)/deflate.c \
# $(ZLIB_DIR)/infback.c \
# $(ZLIB_DIR)/inffast.c \
# $(ZLIB_DIR)/inflate.c \
# $(ZLIB_DIR)/inftrees.c \
# $(ZLIB_DIR)/trees.c \
# $(ZLIB_DIR)/uncompr.c \
# $(ZLIB_DIR)/zutil.c
ZLIB_SRCS=$(MZLIB_DIR)/miniz.c
# Note: don't include DL_SRCS or MAC_OSX_SRCS in SRCS: most of those files
# won't compile on the current machine, and they will cause problems for
@@ -1665,29 +1671,33 @@ waitpid.o: $(COMPAT_DIR)/waitpid.c
fake-rfc2553.o: $(COMPAT_DIR)/fake-rfc2553.c
$(CC) -c $(STUB_CC_SWITCHES) $(COMPAT_DIR)/fake-rfc2553.c
# For building miniz
miniz.o: $(MZLIB_DIR)/miniz.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(MZLIB_DIR)/miniz.c
# For building zlib, only used in some build configurations
Zadler32.o: $(ZLIB_DIR)/adler32.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/adler32.c
Zcompress.o: $(ZLIB_DIR)/compress.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/compress.c
Zcrc32.o: $(ZLIB_DIR)/crc32.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/crc32.c
Zdeflate.o: $(ZLIB_DIR)/deflate.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/deflate.c
Zinfback.o: $(ZLIB_DIR)/infback.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/infback.c
Zinffast.o: $(ZLIB_DIR)/inffast.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/inffast.c
Zinflate.o: $(ZLIB_DIR)/inflate.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/inflate.c
Zinftrees.o: $(ZLIB_DIR)/inftrees.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/inftrees.c
Ztrees.o: $(ZLIB_DIR)/trees.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/trees.c
Zuncompr.o: $(ZLIB_DIR)/uncompr.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/uncompr.c
Zzutil.o: $(ZLIB_DIR)/zutil.c
$(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/zutil.c
#Zadler32.o: $(ZLIB_DIR)/adler32.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/adler32.c
#Zcompress.o: $(ZLIB_DIR)/compress.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/compress.c
#Zcrc32.o: $(ZLIB_DIR)/crc32.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/crc32.c
#Zdeflate.o: $(ZLIB_DIR)/deflate.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/deflate.c
#Zinfback.o: $(ZLIB_DIR)/infback.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/infback.c
#Zinffast.o: $(ZLIB_DIR)/inffast.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/inffast.c
#Zinflate.o: $(ZLIB_DIR)/inflate.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/inflate.c
#Zinftrees.o: $(ZLIB_DIR)/inftrees.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/inftrees.c
#Ztrees.o: $(ZLIB_DIR)/trees.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/trees.c
#Zuncompr.o: $(ZLIB_DIR)/uncompr.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/uncompr.c
#Zzutil.o: $(ZLIB_DIR)/zutil.c
# $(CC) -c -o $@ $(CC_SWITCHES) -I$(ZLIB_DIR) $(ZLIB_DIR)/zutil.c
#--------------------------------------------------------------------------
# Stub library binaries, these must be compiled for use in a shared library
+15 -13
View File
@@ -102,6 +102,7 @@ WIN_DIR = $(TOP_DIR)/win
COMPAT_DIR = $(TOP_DIR)/compat
PKGS_DIR = $(TOP_DIR)/pkgs
ZLIB_DIR = $(COMPAT_DIR)/zlib
MZLIB_DIR = $(COMPAT_DIR)/miniz
# Converts a POSIX path to a Windows native path.
CYGPATH = @CYGPATH@
@@ -160,7 +161,7 @@ TCL_EXE = @TCL_EXE@
# Setting the VPATH variable to a list of paths will cause the Makefile to
# look into these paths when resolving .c to .obj dependencies.
VPATH = $(GENERIC_DIR):$(TOMMATH_DIR):$(WIN_DIR):$(COMPAT_DIR):$(ZLIB_DIR)
VPATH = $(GENERIC_DIR):$(TOMMATH_DIR):$(WIN_DIR):$(COMPAT_DIR):$(MZLIB_DIR)
AR = @AR@
RANLIB = @RANLIB@
@@ -390,18 +391,19 @@ STUB_OBJS = \
TCLSH_OBJS = tclAppInit.$(OBJEXT)
ZLIB_OBJS = \
adler32.$(OBJEXT) \
compress.$(OBJEXT) \
crc32.$(OBJEXT) \
deflate.$(OBJEXT) \
infback.$(OBJEXT) \
inffast.$(OBJEXT) \
inflate.$(OBJEXT) \
inftrees.$(OBJEXT) \
trees.$(OBJEXT) \
uncompr.$(OBJEXT) \
zutil.$(OBJEXT)
ZLIB_OBJS = miniz.$(OBJEXT)
#ZLIB_OBJS = \
# adler32.$(OBJEXT) \
# compress.$(OBJEXT) \
# crc32.$(OBJEXT) \
# deflate.$(OBJEXT) \
# infback.$(OBJEXT) \
# inffast.$(OBJEXT) \
# inflate.$(OBJEXT) \
# inftrees.$(OBJEXT) \
# trees.$(OBJEXT) \
# uncompr.$(OBJEXT) \
# zutil.$(OBJEXT)
TCL_OBJS = ${GENERIC_OBJS} $(TOMMATH_OBJS) ${WIN_OBJS} @ZLIB_OBJS@
+3313 -3134
View File
File diff suppressed because it is too large Load Diff
+20 -10
View File
@@ -126,19 +126,29 @@ AS_IF([test "${enable_shared+set}" = "set"], [
], [
tcl_ok=yes
])
AC_ARG_WITH(zlib, [ --with-zlib use Native Zlib library],
with_zlib=$withval, with_zlib=NO_ZLIB
)
AS_IF([test "$tcl_ok" = "yes"], [
AC_SUBST(ZLIB_DLL_FILE,[\${ZLIB_DLL_FILE}])
AS_IF([test "$do64bit" = "yes"], [
AS_IF([test "$GCC" == "yes"],[
AC_SUBST(ZLIB_LIBS,[\${ZLIB_DIR}/win64/libz.dll.a])
], [
AC_SUBST(ZLIB_LIBS,[\${ZLIB_DIR}/win64/zdll.lib])
])
], [
])
tcl_no_zlib_dll=no
AS_IF(
[test "$with_zlib" = "NO_ZLIB"], [tcl_no_zlib_dll=yes],
[test "$tcl_ok" != "yes"], [tcl_no_zlib_dll=yes],
[test "$do64bit" = "yes"], [tcl_no_zlib_dll=yes],
[test "$with_zlib" = "yes"] , [
AC_SUBST(ZLIB_DLL_FILE,[\${ZLIB_DLL_FILE}])
AC_SUBST(ZLIB_LIBS,[\${ZLIB_DIR}/win32/zdll.lib])
])
], [
AC_SUBST(ZLIB_OBJS,[\${ZLIB_OBJS}])
], [
AC_SUBST(ZLIB_DLL_FILE,[${with_zlib}])
AC_SUBST(ZLIB_LIBS,[$with_zlib])
]
)
AS_IF([test "$tcl_no_zlib_dll" = "yes"], [
AC_SUBST(ZLIB_OBJS,[\${ZLIB_OBJS}])
AC_SUBST(ZLIB_DLL_FILE,[""])
AC_SUBST(ZLIB_LIBS,[""])
])
AC_DEFINE(HAVE_ZLIB, 1, [Is there an installed zlib?])
+19 -12
View File
@@ -345,18 +345,20 @@ COREOBJS = \
$(TMP_DIR)\tclVar.obj \
$(TMP_DIR)\tclZlib.obj
ZLIBOBJS = \
$(TMP_DIR)\adler32.obj \
$(TMP_DIR)\compress.obj \
$(TMP_DIR)\crc32.obj \
$(TMP_DIR)\deflate.obj \
$(TMP_DIR)\infback.obj \
$(TMP_DIR)\inffast.obj \
$(TMP_DIR)\inflate.obj \
$(TMP_DIR)\inftrees.obj \
$(TMP_DIR)\trees.obj \
$(TMP_DIR)\uncompr.obj \
$(TMP_DIR)\zutil.obj
ZLIBOBJS = $(TMP_DIR)\miniz.obj
#ZLIBOBJS = \
# $(TMP_DIR)\adler32.obj \
# $(TMP_DIR)\compress.obj \
# $(TMP_DIR)\crc32.obj \
# $(TMP_DIR)\deflate.obj \
# $(TMP_DIR)\infback.obj \
# $(TMP_DIR)\inffast.obj \
# $(TMP_DIR)\inflate.obj \
# $(TMP_DIR)\inftrees.obj \
# $(TMP_DIR)\trees.obj \
# $(TMP_DIR)\uncompr.obj \
# $(TMP_DIR)\zutil.obj
TOMMATHOBJS = \
$(TMP_DIR)\bncore.obj \
@@ -1056,6 +1058,11 @@ $<
$<
<<
{$(COMPATDIR)\miniz}.c{$(TMP_DIR)}.obj::
$(cc32) $(TCL_CFLAGS) -DBUILD_tcl -Fo$(TMP_DIR)\ @<<
$<
<<
{$(WINDIR)}.rc{$(TMP_DIR)}.res:
$(rc32) -fo $@ -r -i "$(GENERICDIR)" -i "$(TMP_DIR)" \
-d DEBUG=$(DEBUG) -d UNCHECKED=$(UNCHECKED) \