Fossil SCM

Update the built-in zlib to version 1.2.13, released on October 13, 2022.

florian 2022-11-20 08:41 trunk merge
Commit a9e589ca28a28665c7eb5f8b9ac7e89f3709533586e7b32540438f7579ffb615
108 files changed +2 +3 -39 +18 -6 +22 +5 -408 +8 -12 +2 -2 +3 -3 +46 -51 +1 -1 -452 -51 -357 +1 -1 +1 -1 +2 -2 +1 -1 -1157 -1368 -2 -553 -186 -396 -28 -2 -1080 -479 -24 +1 -1 +1 -1 +11 -11 +1 -1 +5 +1 -1 +3 -3 +3 -1 +1 -6 +1 -1 +1 -1 +2 -2 +1 -1 +1 -4 +1 -1 +1 -1 +8 -16 +1 -4 +1 -1 +3 -3 +13 -37 -3 +17 -41 -3 +8 -16 +3 -3 +13 -21 +17 -41 +8 -16 +3 -3 +13 -21 +17 -41 +8 -16 +3 -3 +13 -21 +17 -41 +1 -1 +1 -1 +5 -61 +1 -1 +3 -3 +11 -65 +13 -69 +21 -12 +114 -108 +2 -2 +1 -1 +2 -2 +1 -1 +2 -2 +1 -1 +1 -1 +1 -1 +3 -5 +1 -1 +10 -7 +5 -2 +2 -2 +1 -1 +2 -2 +3 -3 +8 +3 -3 +5 -5 +2 -1 +1 -1 +2 -2 +61 -62 +2 -2 +2 -2 +1 -1 +18 -5 +16 -3 +16 -3 +2 -2 +10 -10 +2 -2 +9 -7 +1
~ .fossil-settings/ignore-glob ~ compat/zlib/CMakeLists.txt ~ compat/zlib/ChangeLog ~ compat/zlib/LICENSE ~ compat/zlib/Makefile ~ compat/zlib/Makefile.in ~ compat/zlib/README ~ compat/zlib/compress.c ~ compat/zlib/configure ~ compat/zlib/contrib/README.contrib - compat/zlib/contrib/amd64/amd64-match.S - compat/zlib/contrib/asm686/README.686 - compat/zlib/contrib/asm686/match.S ~ compat/zlib/contrib/delphi/ZLib.pas ~ compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs ~ compat/zlib/contrib/infback9/inftree9.c ~ compat/zlib/contrib/infback9/inftree9.h - compat/zlib/contrib/inflate86/inffas86.c - compat/zlib/contrib/inflate86/inffast.S - compat/zlib/contrib/masmx64/bld_ml64.bat - compat/zlib/contrib/masmx64/gvmat64.asm - compat/zlib/contrib/masmx64/inffas8664.c - compat/zlib/contrib/masmx64/inffasx64.asm - compat/zlib/contrib/masmx64/readme.txt - compat/zlib/contrib/masmx86/bld_ml32.bat - compat/zlib/contrib/masmx86/inffas32.asm - compat/zlib/contrib/masmx86/match686.asm - compat/zlib/contrib/masmx86/readme.txt ~ compat/zlib/contrib/minizip/configure.ac ~ compat/zlib/contrib/minizip/crypt.h ~ compat/zlib/contrib/minizip/ioapi.c ~ compat/zlib/contrib/minizip/ioapi.h ~ compat/zlib/contrib/minizip/iowin32.c ~ compat/zlib/contrib/minizip/miniunz.c ~ compat/zlib/contrib/minizip/minizip.c ~ compat/zlib/contrib/minizip/unzip.c ~ compat/zlib/contrib/minizip/zip.c ~ compat/zlib/contrib/pascal/zlibpas.pas ~ compat/zlib/contrib/puff/README ~ compat/zlib/contrib/puff/puff.c ~ compat/zlib/contrib/puff/pufftest.c ~ compat/zlib/contrib/vstudio/readme.txt ~ compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters ~ compat/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters ~ compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj ~ compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters ~ compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters ~ compat/zlib/contrib/vstudio/vc10/zlib.rc ~ compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj ~ compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters ~ compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj ~ compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters ~ compat/zlib/contrib/vstudio/vc11/testzlib.vcxproj ~ compat/zlib/contrib/vstudio/vc11/zlib.rc ~ compat/zlib/contrib/vstudio/vc11/zlibstat.vcxproj ~ compat/zlib/contrib/vstudio/vc11/zlibvc.vcxproj ~ compat/zlib/contrib/vstudio/vc12/testzlib.vcxproj ~ compat/zlib/contrib/vstudio/vc12/zlib.rc ~ compat/zlib/contrib/vstudio/vc12/zlibstat.vcxproj ~ compat/zlib/contrib/vstudio/vc12/zlibvc.vcxproj ~ compat/zlib/contrib/vstudio/vc14/testzlib.vcxproj ~ compat/zlib/contrib/vstudio/vc14/zlib.rc ~ compat/zlib/contrib/vstudio/vc14/zlibstat.vcxproj ~ compat/zlib/contrib/vstudio/vc14/zlibvc.vcxproj ~ compat/zlib/contrib/vstudio/vc9/miniunz.vcproj ~ compat/zlib/contrib/vstudio/vc9/minizip.vcproj ~ compat/zlib/contrib/vstudio/vc9/testzlib.vcproj ~ compat/zlib/contrib/vstudio/vc9/testzlibdll.vcproj ~ compat/zlib/contrib/vstudio/vc9/zlib.rc ~ compat/zlib/contrib/vstudio/vc9/zlibstat.vcproj ~ compat/zlib/contrib/vstudio/vc9/zlibvc.vcproj ~ compat/zlib/crc32.c ~ compat/zlib/deflate.c ~ compat/zlib/deflate.h ~ compat/zlib/examples/enough.c ~ compat/zlib/examples/fitblk.c ~ compat/zlib/examples/gun.c ~ compat/zlib/examples/gzappend.c ~ compat/zlib/examples/gzlog.h ~ compat/zlib/examples/zran.c ~ compat/zlib/gzlib.c ~ compat/zlib/gzread.c ~ compat/zlib/gzwrite.c ~ compat/zlib/infback.c ~ compat/zlib/inflate.c ~ compat/zlib/inftrees.c ~ compat/zlib/inftrees.h ~ compat/zlib/make_vms.com ~ compat/zlib/os400/README400 ~ compat/zlib/os400/bndsrc ~ compat/zlib/os400/zlib.inc ~ compat/zlib/qnx/package.qpg ~ compat/zlib/test/example.c ~ compat/zlib/test/minigzip.c ~ compat/zlib/treebuild.xml ~ compat/zlib/trees.c ~ compat/zlib/uncompr.c ~ compat/zlib/win32/README-WIN32.txt ~ compat/zlib/win32/zlib1.rc ~ compat/zlib/zconf.h ~ compat/zlib/zconf.h.cmakein ~ compat/zlib/zconf.h.in ~ compat/zlib/zlib.3 ~ compat/zlib/zlib.3.pdf ~ compat/zlib/zlib.h ~ compat/zlib/zlib2ansi ~ compat/zlib/zutil.c ~ compat/zlib/zutil.h
--- .fossil-settings/ignore-glob
+++ .fossil-settings/ignore-glob
@@ -1,7 +1,9 @@
11
compat/openssl*
22
compat/tcl*
3
+compat/zlib/contrib/ada/*
4
+compat/zlib/doc/*
35
fossil
46
fossil.exe
57
win/fossil.exe
68
*shell-see.*
79
*sqlite3-see.*
810
--- .fossil-settings/ignore-glob
+++ .fossil-settings/ignore-glob
@@ -1,7 +1,9 @@
1 compat/openssl*
2 compat/tcl*
 
 
3 fossil
4 fossil.exe
5 win/fossil.exe
6 *shell-see.*
7 *sqlite3-see.*
8
--- .fossil-settings/ignore-glob
+++ .fossil-settings/ignore-glob
@@ -1,7 +1,9 @@
1 compat/openssl*
2 compat/tcl*
3 compat/zlib/contrib/ada/*
4 compat/zlib/doc/*
5 fossil
6 fossil.exe
7 win/fossil.exe
8 *shell-see.*
9 *sqlite3-see.*
10
--- compat/zlib/CMakeLists.txt
+++ compat/zlib/CMakeLists.txt
@@ -1,14 +1,11 @@
11
cmake_minimum_required(VERSION 2.4.4)
22
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
33
44
project(zlib C)
55
6
-set(VERSION "1.2.12")
7
-
8
-option(ASM686 "Enable building i686 assembly implementation")
9
-option(AMD64 "Enable building amd64 assembly implementation")
6
+set(VERSION "1.2.13")
107
118
set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
129
set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
1310
set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
1411
set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
@@ -127,43 +124,10 @@
127124
set(ZLIB_DLL_SRCS
128125
win32/zlib1.rc # If present will override custom build rule below.
129126
)
130127
endif()
131128
132
-if(CMAKE_COMPILER_IS_GNUCC)
133
- if(ASM686)
134
- set(ZLIB_ASMS contrib/asm686/match.S)
135
- elseif (AMD64)
136
- set(ZLIB_ASMS contrib/amd64/amd64-match.S)
137
- endif ()
138
-
139
- if(ZLIB_ASMS)
140
- add_definitions(-DASMV)
141
- set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
142
- endif()
143
-endif()
144
-
145
-if(MSVC)
146
- if(ASM686)
147
- ENABLE_LANGUAGE(ASM_MASM)
148
- set(ZLIB_ASMS
149
- contrib/masmx86/inffas32.asm
150
- contrib/masmx86/match686.asm
151
- )
152
- elseif (AMD64)
153
- ENABLE_LANGUAGE(ASM_MASM)
154
- set(ZLIB_ASMS
155
- contrib/masmx64/gvmat64.asm
156
- contrib/masmx64/inffasx64.asm
157
- )
158
- endif()
159
-
160
- if(ZLIB_ASMS)
161
- add_definitions(-DASMV -DASMINF)
162
- endif()
163
-endif()
164
-
165129
# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
166130
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
167131
string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
168132
"\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
169133
@@ -181,12 +145,12 @@
181145
-o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
182146
-i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
183147
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
184148
endif(MINGW)
185149
186
-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
187
-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
150
+add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
151
+add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
188152
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
189153
set_target_properties(zlib PROPERTIES SOVERSION 1)
190154
191155
if(NOT CYGWIN)
192156
# This property causes shared libraries on Linux to have the full version
193157
--- compat/zlib/CMakeLists.txt
+++ compat/zlib/CMakeLists.txt
@@ -1,14 +1,11 @@
1 cmake_minimum_required(VERSION 2.4.4)
2 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
3
4 project(zlib C)
5
6 set(VERSION "1.2.12")
7
8 option(ASM686 "Enable building i686 assembly implementation")
9 option(AMD64 "Enable building amd64 assembly implementation")
10
11 set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
12 set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
13 set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
14 set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
@@ -127,43 +124,10 @@
127 set(ZLIB_DLL_SRCS
128 win32/zlib1.rc # If present will override custom build rule below.
129 )
130 endif()
131
132 if(CMAKE_COMPILER_IS_GNUCC)
133 if(ASM686)
134 set(ZLIB_ASMS contrib/asm686/match.S)
135 elseif (AMD64)
136 set(ZLIB_ASMS contrib/amd64/amd64-match.S)
137 endif ()
138
139 if(ZLIB_ASMS)
140 add_definitions(-DASMV)
141 set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
142 endif()
143 endif()
144
145 if(MSVC)
146 if(ASM686)
147 ENABLE_LANGUAGE(ASM_MASM)
148 set(ZLIB_ASMS
149 contrib/masmx86/inffas32.asm
150 contrib/masmx86/match686.asm
151 )
152 elseif (AMD64)
153 ENABLE_LANGUAGE(ASM_MASM)
154 set(ZLIB_ASMS
155 contrib/masmx64/gvmat64.asm
156 contrib/masmx64/inffasx64.asm
157 )
158 endif()
159
160 if(ZLIB_ASMS)
161 add_definitions(-DASMV -DASMINF)
162 endif()
163 endif()
164
165 # parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
166 file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
167 string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
168 "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
169
@@ -181,12 +145,12 @@
181 -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
182 -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
183 set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
184 endif(MINGW)
185
186 add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
187 add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
188 set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
189 set_target_properties(zlib PROPERTIES SOVERSION 1)
190
191 if(NOT CYGWIN)
192 # This property causes shared libraries on Linux to have the full version
193
--- compat/zlib/CMakeLists.txt
+++ compat/zlib/CMakeLists.txt
@@ -1,14 +1,11 @@
1 cmake_minimum_required(VERSION 2.4.4)
2 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
3
4 project(zlib C)
5
6 set(VERSION "1.2.13")
 
 
 
7
8 set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
9 set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
10 set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
11 set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
@@ -127,43 +124,10 @@
124 set(ZLIB_DLL_SRCS
125 win32/zlib1.rc # If present will override custom build rule below.
126 )
127 endif()
128
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129 # parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
130 file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
131 string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
132 "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
133
@@ -181,12 +145,12 @@
145 -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
146 -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
147 set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
148 endif(MINGW)
149
150 add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
151 add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
152 set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
153 set_target_properties(zlib PROPERTIES SOVERSION 1)
154
155 if(NOT CYGWIN)
156 # This property causes shared libraries on Linux to have the full version
157
--- compat/zlib/ChangeLog
+++ compat/zlib/ChangeLog
@@ -1,8 +1,20 @@
11
22
ChangeLog file for zlib
33
4
+Changes in 1.2.13 (13 Oct 2022)
5
+- Fix configure issue that discarded provided CC definition
6
+- Correct incorrect inputs provided to the CRC functions
7
+- Repair prototypes and exporting of new CRC functions
8
+- Fix inflateBack to detect invalid input with distances too far
9
+- Have infback() deliver all of the available output up to any error
10
+- Fix a bug when getting a gzip header extra field with inflate()
11
+- Fix bug in block type selection when Z_FIXED used
12
+- Tighten deflateBound bounds
13
+- Remove deleted assembler code references
14
+- Various portability and appearance improvements
15
+
416
Changes in 1.2.12 (27 Mar 2022)
517
- Cygwin does not have _wopen(), so do not create gzopen_w() there
618
- Permit a deflateParams() parameter change as soon as possible
719
- Limit hash table inserts after switch from stored deflate
820
- Fix bug when window full in deflate_stored()
@@ -157,11 +169,11 @@
157169
- Don't specify --version-script on Apple platforms in CMakeLists.txt
158170
- Fix casting error in contrib/testzlib/testzlib.c
159171
- Fix types in contrib/minizip to match result of get_crc_table()
160172
- Simplify contrib/vstudio/vc10 with 'd' suffix
161173
- Add TOP support to win32/Makefile.msc
162
-- Suport i686 and amd64 assembler builds in CMakeLists.txt
174
+- Support i686 and amd64 assembler builds in CMakeLists.txt
163175
- Fix typos in the use of _LARGEFILE64_SOURCE in zconf.h
164176
- Add vc11 and vc12 build files to contrib/vstudio
165177
- Add gzvprintf() as an undocumented function in zlib
166178
- Fix configure for Sun shell
167179
- Remove runtime check in configure for four-byte integer type
@@ -357,18 +369,18 @@
357369
- Clarify the use of Z_FINISH with deflateBound() amount of space
358370
- Set binary for output file in puff.c
359371
- Use u4 type for crc_table to avoid conversion warnings
360372
- Apply casts in zlib.h to avoid conversion warnings
361373
- Add OF to prototypes for adler32_combine_ and crc32_combine_ [Miller]
362
-- Improve inflateSync() documentation to note indeterminancy
374
+- Improve inflateSync() documentation to note indeterminacy
363375
- Add deflatePending() function to return the amount of pending output
364376
- Correct the spelling of "specification" in FAQ [Randers-Pehrson]
365377
- Add a check in configure for stdarg.h, use for gzprintf()
366378
- Check that pointers fit in ints when gzprint() compiled old style
367379
- Add dummy name before $(SHAREDLIBV) in Makefile [Bar-Lev, Bowler]
368380
- Delete line in configure that adds -L. libz.a to LDFLAGS [Weigelt]
369
-- Add debug records in assmebler code [Londer]
381
+- Add debug records in assembler code [Londer]
370382
- Update RFC references to use http://tools.ietf.org/html/... [Li]
371383
- Add --archs option, use of libtool to configure for Mac OS X [Borstel]
372384
373385
Changes in 1.2.5 (19 Apr 2010)
374386
- Disable visibility attribute in win32/Makefile.gcc [Bar-Lev]
@@ -1031,11 +1043,11 @@
10311043
- Refine detection of Turbo C need for dummy returns
10321044
- Refine ZLIB_DLL compilation
10331045
- Include additional header file on VMS for off_t typedef
10341046
- Try to use _vsnprintf where it supplants vsprintf [Vollant]
10351047
- Add some casts in inffast.c
1036
-- Enchance comments in zlib.h on what happens if gzprintf() tries to
1048
+- Enhance comments in zlib.h on what happens if gzprintf() tries to
10371049
write more than 4095 bytes before compression
10381050
- Remove unused state from inflateBackEnd()
10391051
- Remove exit(0) from minigzip.c, example.c
10401052
- Get rid of all those darn tabs
10411053
- Add "check" target to Makefile.in that does the same thing as "test"
@@ -1209,11 +1221,11 @@
12091221
. Simplify Z_FINISH check in inflate()
12101222
12111223
- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8
12121224
- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi)
12131225
- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with
1214
- the declaration of FAR (Gilles VOllant)
1226
+ the declaration of FAR (Gilles Vollant)
12151227
- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann)
12161228
- read_buf buf parameter of type Bytef* instead of charf*
12171229
- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout)
12181230
- do not redeclare unlink in minigzip.c for WIN32 (John Bowler)
12191231
- fix check for presence of directories in "make install" (Ian Willis)
@@ -1565,14 +1577,14 @@
15651577
if compression method == 8
15661578
- added adler32 and crc32
15671579
- renamed deflateOptions as deflateInit2, call one or the other but not both
15681580
- added the method parameter for deflateInit2
15691581
- added inflateInit2
1570
-- simplied considerably deflateInit and inflateInit by not supporting
1582
+- simplified considerably deflateInit and inflateInit by not supporting
15711583
user-provided history buffer. This is supported only in deflateInit2
15721584
and inflateInit2
15731585
15741586
Changes in 0.3:
15751587
- prefix all macro names with Z_
15761588
- use Z_FINISH instead of deflateEnd to finish compression
15771589
- added Z_HUFFMAN_ONLY
15781590
- added gzerror()
15791591
15801592
ADDED compat/zlib/LICENSE
--- compat/zlib/ChangeLog
+++ compat/zlib/ChangeLog
@@ -1,8 +1,20 @@
1
2 ChangeLog file for zlib
3
 
 
 
 
 
 
 
 
 
 
 
 
4 Changes in 1.2.12 (27 Mar 2022)
5 - Cygwin does not have _wopen(), so do not create gzopen_w() there
6 - Permit a deflateParams() parameter change as soon as possible
7 - Limit hash table inserts after switch from stored deflate
8 - Fix bug when window full in deflate_stored()
@@ -157,11 +169,11 @@
157 - Don't specify --version-script on Apple platforms in CMakeLists.txt
158 - Fix casting error in contrib/testzlib/testzlib.c
159 - Fix types in contrib/minizip to match result of get_crc_table()
160 - Simplify contrib/vstudio/vc10 with 'd' suffix
161 - Add TOP support to win32/Makefile.msc
162 - Suport i686 and amd64 assembler builds in CMakeLists.txt
163 - Fix typos in the use of _LARGEFILE64_SOURCE in zconf.h
164 - Add vc11 and vc12 build files to contrib/vstudio
165 - Add gzvprintf() as an undocumented function in zlib
166 - Fix configure for Sun shell
167 - Remove runtime check in configure for four-byte integer type
@@ -357,18 +369,18 @@
357 - Clarify the use of Z_FINISH with deflateBound() amount of space
358 - Set binary for output file in puff.c
359 - Use u4 type for crc_table to avoid conversion warnings
360 - Apply casts in zlib.h to avoid conversion warnings
361 - Add OF to prototypes for adler32_combine_ and crc32_combine_ [Miller]
362 - Improve inflateSync() documentation to note indeterminancy
363 - Add deflatePending() function to return the amount of pending output
364 - Correct the spelling of "specification" in FAQ [Randers-Pehrson]
365 - Add a check in configure for stdarg.h, use for gzprintf()
366 - Check that pointers fit in ints when gzprint() compiled old style
367 - Add dummy name before $(SHAREDLIBV) in Makefile [Bar-Lev, Bowler]
368 - Delete line in configure that adds -L. libz.a to LDFLAGS [Weigelt]
369 - Add debug records in assmebler code [Londer]
370 - Update RFC references to use http://tools.ietf.org/html/... [Li]
371 - Add --archs option, use of libtool to configure for Mac OS X [Borstel]
372
373 Changes in 1.2.5 (19 Apr 2010)
374 - Disable visibility attribute in win32/Makefile.gcc [Bar-Lev]
@@ -1031,11 +1043,11 @@
1031 - Refine detection of Turbo C need for dummy returns
1032 - Refine ZLIB_DLL compilation
1033 - Include additional header file on VMS for off_t typedef
1034 - Try to use _vsnprintf where it supplants vsprintf [Vollant]
1035 - Add some casts in inffast.c
1036 - Enchance comments in zlib.h on what happens if gzprintf() tries to
1037 write more than 4095 bytes before compression
1038 - Remove unused state from inflateBackEnd()
1039 - Remove exit(0) from minigzip.c, example.c
1040 - Get rid of all those darn tabs
1041 - Add "check" target to Makefile.in that does the same thing as "test"
@@ -1209,11 +1221,11 @@
1209 . Simplify Z_FINISH check in inflate()
1210
1211 - Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8
1212 - in inftrees.c, avoid cc -O bug on HP (Farshid Elahi)
1213 - in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with
1214 the declaration of FAR (Gilles VOllant)
1215 - install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann)
1216 - read_buf buf parameter of type Bytef* instead of charf*
1217 - zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout)
1218 - do not redeclare unlink in minigzip.c for WIN32 (John Bowler)
1219 - fix check for presence of directories in "make install" (Ian Willis)
@@ -1565,14 +1577,14 @@
1565 if compression method == 8
1566 - added adler32 and crc32
1567 - renamed deflateOptions as deflateInit2, call one or the other but not both
1568 - added the method parameter for deflateInit2
1569 - added inflateInit2
1570 - simplied considerably deflateInit and inflateInit by not supporting
1571 user-provided history buffer. This is supported only in deflateInit2
1572 and inflateInit2
1573
1574 Changes in 0.3:
1575 - prefix all macro names with Z_
1576 - use Z_FINISH instead of deflateEnd to finish compression
1577 - added Z_HUFFMAN_ONLY
1578 - added gzerror()
1579
1580 DDED compat/zlib/LICENSE
--- compat/zlib/ChangeLog
+++ compat/zlib/ChangeLog
@@ -1,8 +1,20 @@
1
2 ChangeLog file for zlib
3
4 Changes in 1.2.13 (13 Oct 2022)
5 - Fix configure issue that discarded provided CC definition
6 - Correct incorrect inputs provided to the CRC functions
7 - Repair prototypes and exporting of new CRC functions
8 - Fix inflateBack to detect invalid input with distances too far
9 - Have infback() deliver all of the available output up to any error
10 - Fix a bug when getting a gzip header extra field with inflate()
11 - Fix bug in block type selection when Z_FIXED used
12 - Tighten deflateBound bounds
13 - Remove deleted assembler code references
14 - Various portability and appearance improvements
15
16 Changes in 1.2.12 (27 Mar 2022)
17 - Cygwin does not have _wopen(), so do not create gzopen_w() there
18 - Permit a deflateParams() parameter change as soon as possible
19 - Limit hash table inserts after switch from stored deflate
20 - Fix bug when window full in deflate_stored()
@@ -157,11 +169,11 @@
169 - Don't specify --version-script on Apple platforms in CMakeLists.txt
170 - Fix casting error in contrib/testzlib/testzlib.c
171 - Fix types in contrib/minizip to match result of get_crc_table()
172 - Simplify contrib/vstudio/vc10 with 'd' suffix
173 - Add TOP support to win32/Makefile.msc
174 - Support i686 and amd64 assembler builds in CMakeLists.txt
175 - Fix typos in the use of _LARGEFILE64_SOURCE in zconf.h
176 - Add vc11 and vc12 build files to contrib/vstudio
177 - Add gzvprintf() as an undocumented function in zlib
178 - Fix configure for Sun shell
179 - Remove runtime check in configure for four-byte integer type
@@ -357,18 +369,18 @@
369 - Clarify the use of Z_FINISH with deflateBound() amount of space
370 - Set binary for output file in puff.c
371 - Use u4 type for crc_table to avoid conversion warnings
372 - Apply casts in zlib.h to avoid conversion warnings
373 - Add OF to prototypes for adler32_combine_ and crc32_combine_ [Miller]
374 - Improve inflateSync() documentation to note indeterminacy
375 - Add deflatePending() function to return the amount of pending output
376 - Correct the spelling of "specification" in FAQ [Randers-Pehrson]
377 - Add a check in configure for stdarg.h, use for gzprintf()
378 - Check that pointers fit in ints when gzprint() compiled old style
379 - Add dummy name before $(SHAREDLIBV) in Makefile [Bar-Lev, Bowler]
380 - Delete line in configure that adds -L. libz.a to LDFLAGS [Weigelt]
381 - Add debug records in assembler code [Londer]
382 - Update RFC references to use http://tools.ietf.org/html/... [Li]
383 - Add --archs option, use of libtool to configure for Mac OS X [Borstel]
384
385 Changes in 1.2.5 (19 Apr 2010)
386 - Disable visibility attribute in win32/Makefile.gcc [Bar-Lev]
@@ -1031,11 +1043,11 @@
1043 - Refine detection of Turbo C need for dummy returns
1044 - Refine ZLIB_DLL compilation
1045 - Include additional header file on VMS for off_t typedef
1046 - Try to use _vsnprintf where it supplants vsprintf [Vollant]
1047 - Add some casts in inffast.c
1048 - Enhance comments in zlib.h on what happens if gzprintf() tries to
1049 write more than 4095 bytes before compression
1050 - Remove unused state from inflateBackEnd()
1051 - Remove exit(0) from minigzip.c, example.c
1052 - Get rid of all those darn tabs
1053 - Add "check" target to Makefile.in that does the same thing as "test"
@@ -1209,11 +1221,11 @@
1221 . Simplify Z_FINISH check in inflate()
1222
1223 - Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8
1224 - in inftrees.c, avoid cc -O bug on HP (Farshid Elahi)
1225 - in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with
1226 the declaration of FAR (Gilles Vollant)
1227 - install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann)
1228 - read_buf buf parameter of type Bytef* instead of charf*
1229 - zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout)
1230 - do not redeclare unlink in minigzip.c for WIN32 (John Bowler)
1231 - fix check for presence of directories in "make install" (Ian Willis)
@@ -1565,14 +1577,14 @@
1577 if compression method == 8
1578 - added adler32 and crc32
1579 - renamed deflateOptions as deflateInit2, call one or the other but not both
1580 - added the method parameter for deflateInit2
1581 - added inflateInit2
1582 - simplified considerably deflateInit and inflateInit by not supporting
1583 user-provided history buffer. This is supported only in deflateInit2
1584 and inflateInit2
1585
1586 Changes in 0.3:
1587 - prefix all macro names with Z_
1588 - use Z_FINISH instead of deflateEnd to finish compression
1589 - added Z_HUFFMAN_ONLY
1590 - added gzerror()
1591
1592 DDED compat/zlib/LICENSE
--- a/compat/zlib/LICENSE
+++ b/compat/zlib/LICENSE
@@ -0,0 +1,22 @@
1
+Copyright notice:
2
+
3
+ (C) 1995-2022 Jean-loup Gailly and Mark Adler
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would be
16
+ appreciated but is not required.
17
+ 2. Altered source versions must be plainly marked as such, and must not be
18
+ misrepresented as being the original software.
19
+ 3. This notice may not be removed or altered from any source distribution.
20
+
21
+ Jean-loup Gailly Mark Adler
22
+ [email protected]
--- a/compat/zlib/LICENSE
+++ b/compat/zlib/LICENSE
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/compat/zlib/LICENSE
+++ b/compat/zlib/LICENSE
@@ -0,0 +1,22 @@
1 Copyright notice:
2
3 (C) 1995-2022 Jean-loup Gailly and Mark Adler
4
5 This software is provided 'as-is', without any express or implied
6 warranty. In no event will the authors be held liable for any damages
7 arising from the use of this software.
8
9 Permission is granted to anyone to use this software for any purpose,
10 including commercial applications, and to alter it and redistribute it
11 freely, subject to the following restrictions:
12
13 1. The origin of this software must not be misrepresented; you must not
14 claim that you wrote the original software. If you use this software
15 in a product, an acknowledgment in the product documentation would be
16 appreciated but is not required.
17 2. Altered source versions must be plainly marked as such, and must not be
18 misrepresented as being the original software.
19 3. This notice may not be removed or altered from any source distribution.
20
21 Jean-loup Gailly Mark Adler
22 [email protected]
--- compat/zlib/Makefile
+++ compat/zlib/Makefile
@@ -1,408 +1,5 @@
1
-# Makefile for zlib
2
-# Copyright (C) 1995-2017 Jean-loup Gailly, Mark Adler
3
-# For conditions of distribution and use, see copyright notice in zlib.h
4
-
5
-# To compile and test, type:
6
-# ./configure; make test
7
-# Normally configure builds both a static and a shared library.
8
-# If you want to build just a static library, use: ./configure --static
9
-
10
-# To use the asm code, type:
11
-# cp contrib/asm?86/match.S ./match.S
12
-# make LOC=-DASMV OBJA=match.o
13
-
14
-# To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type:
15
-# make install
16
-# To install in $HOME instead of /usr/local, use:
17
-# make install prefix=$HOME
18
-
19
-CC=gcc
20
-
21
-CFLAGS=-O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN
22
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
23
-#CFLAGS=-g -DZLIB_DEBUG
24
-#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
25
-# -Wstrict-prototypes -Wmissing-prototypes
26
-
27
-SFLAGS=-O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN
28
-LDFLAGS=
29
-TEST_LDFLAGS=-L. libz.a
30
-LDSHARED=gcc
31
-CPP=gcc -E
32
-
33
-STATICLIB=libz.a
34
-SHAREDLIB=
35
-SHAREDLIBV=
36
-SHAREDLIBM=
37
-LIBS=$(STATICLIB) $(SHAREDLIBV)
38
-
39
-AR=ar
40
-ARFLAGS=rc
41
-RANLIB=ranlib
42
-LDCONFIG=ldconfig
43
-LDSHAREDLIBC=-lc
44
-TAR=tar
45
-SHELL=/bin/sh
46
-EXE=
47
-
48
-prefix =/usr/local
49
-exec_prefix =${prefix}
50
-libdir =${exec_prefix}/lib
51
-sharedlibdir =${libdir}
52
-includedir =${prefix}/include
53
-mandir =${prefix}/share/man
54
-man3dir = ${mandir}/man3
55
-pkgconfigdir = ${libdir}/pkgconfig
56
-SRCDIR=
57
-ZINC=
58
-ZINCOUT=-I.
59
-
60
-OBJZ = adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o
61
-OBJG = compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
62
-OBJC = $(OBJZ) $(OBJG)
63
-
64
-PIC_OBJZ = adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo
65
-PIC_OBJG = compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo
66
-PIC_OBJC = $(PIC_OBJZ) $(PIC_OBJG)
67
-
68
-# to use the asm code: make OBJA=match.o, PIC_OBJA=match.lo
69
-OBJA =
70
-PIC_OBJA =
71
-
72
-OBJS = $(OBJC) $(OBJA)
73
-
74
-PIC_OBJS = $(PIC_OBJC) $(PIC_OBJA)
75
-
76
-all: static all64
77
-
78
-static: example$(EXE) minigzip$(EXE)
79
-
80
-shared: examplesh$(EXE) minigzipsh$(EXE)
81
-
82
-all64: example64$(EXE) minigzip64$(EXE)
83
-
84
-check: test
85
-
86
-test: all teststatic test64
87
-
88
-teststatic: static
89
- @TMPST=tmpst_$$; \
90
- if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
91
- echo ' *** zlib test OK ***'; \
92
- else \
93
- echo ' *** zlib test FAILED ***'; false; \
94
- fi
95
- @rm -f tmpst_$$
96
-
97
-testshared: shared
98
- @LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
99
- LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
100
- DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
101
- SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
102
- TMPSH=tmpsh_$$; \
103
- if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh $$TMPSH; then \
104
- echo ' *** zlib shared test OK ***'; \
105
- else \
106
- echo ' *** zlib shared test FAILED ***'; false; \
107
- fi
108
- @rm -f tmpsh_$$
109
-
110
-test64: all64
111
- @TMP64=tmp64_$$; \
112
- if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
113
- echo ' *** zlib 64-bit test OK ***'; \
114
- else \
115
- echo ' *** zlib 64-bit test FAILED ***'; false; \
116
- fi
117
- @rm -f tmp64_$$
118
-
119
-infcover.o: $(SRCDIR)test/infcover.c $(SRCDIR)zlib.h zconf.h
120
- $(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/infcover.c
121
-
122
-infcover: infcover.o libz.a
123
- $(CC) $(CFLAGS) -o $@ infcover.o libz.a
124
-
125
-cover: infcover
126
- rm -f *.gcda
127
- ./infcover
128
- gcov inf*.c
129
-
130
-libz.a: $(OBJS)
131
- $(AR) $(ARFLAGS) $@ $(OBJS)
132
- -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
133
-
134
-match.o: match.S
135
- $(CPP) match.S > _match.s
136
- $(CC) -c _match.s
137
- mv _match.o match.o
138
- rm -f _match.s
139
-
140
-match.lo: match.S
141
- $(CPP) match.S > _match.s
142
- $(CC) -c -fPIC _match.s
143
- mv _match.o match.lo
144
- rm -f _match.s
145
-
146
-example.o: $(SRCDIR)test/example.c $(SRCDIR)zlib.h zconf.h
147
- $(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/example.c
148
-
149
-minigzip.o: $(SRCDIR)test/minigzip.c $(SRCDIR)zlib.h zconf.h
150
- $(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/minigzip.c
151
-
152
-example64.o: $(SRCDIR)test/example.c $(SRCDIR)zlib.h zconf.h
153
- $(CC) $(CFLAGS) $(ZINCOUT) -D_FILE_OFFSET_BITS=64 -c -o $@ $(SRCDIR)test/example.c
154
-
155
-minigzip64.o: $(SRCDIR)test/minigzip.c $(SRCDIR)zlib.h zconf.h
156
- $(CC) $(CFLAGS) $(ZINCOUT) -D_FILE_OFFSET_BITS=64 -c -o $@ $(SRCDIR)test/minigzip.c
157
-
158
-
159
-adler32.o: $(SRCDIR)adler32.c
160
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)adler32.c
161
-
162
-crc32.o: $(SRCDIR)crc32.c
163
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)crc32.c
164
-
165
-deflate.o: $(SRCDIR)deflate.c
166
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)deflate.c
167
-
168
-infback.o: $(SRCDIR)infback.c
169
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)infback.c
170
-
171
-inffast.o: $(SRCDIR)inffast.c
172
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inffast.c
173
-
174
-inflate.o: $(SRCDIR)inflate.c
175
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inflate.c
176
-
177
-inftrees.o: $(SRCDIR)inftrees.c
178
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inftrees.c
179
-
180
-trees.o: $(SRCDIR)trees.c
181
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)trees.c
182
-
183
-zutil.o: $(SRCDIR)zutil.c
184
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)zutil.c
185
-
186
-compress.o: $(SRCDIR)compress.c
187
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)compress.c
188
-
189
-uncompr.o: $(SRCDIR)uncompr.c
190
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)uncompr.c
191
-
192
-gzclose.o: $(SRCDIR)gzclose.c
193
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzclose.c
194
-
195
-gzlib.o: $(SRCDIR)gzlib.c
196
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzlib.c
197
-
198
-gzread.o: $(SRCDIR)gzread.c
199
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzread.c
200
-
201
-gzwrite.o: $(SRCDIR)gzwrite.c
202
- $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzwrite.c
203
-
204
-
205
-adler32.lo: $(SRCDIR)adler32.c
206
- -@mkdir objs 2>/dev/null || test -d objs
207
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/adler32.o $(SRCDIR)adler32.c
208
- -@mv objs/adler32.o $@
209
-
210
-crc32.lo: $(SRCDIR)crc32.c
211
- -@mkdir objs 2>/dev/null || test -d objs
212
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/crc32.o $(SRCDIR)crc32.c
213
- -@mv objs/crc32.o $@
214
-
215
-deflate.lo: $(SRCDIR)deflate.c
216
- -@mkdir objs 2>/dev/null || test -d objs
217
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/deflate.o $(SRCDIR)deflate.c
218
- -@mv objs/deflate.o $@
219
-
220
-infback.lo: $(SRCDIR)infback.c
221
- -@mkdir objs 2>/dev/null || test -d objs
222
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/infback.o $(SRCDIR)infback.c
223
- -@mv objs/infback.o $@
224
-
225
-inffast.lo: $(SRCDIR)inffast.c
226
- -@mkdir objs 2>/dev/null || test -d objs
227
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/inffast.o $(SRCDIR)inffast.c
228
- -@mv objs/inffast.o $@
229
-
230
-inflate.lo: $(SRCDIR)inflate.c
231
- -@mkdir objs 2>/dev/null || test -d objs
232
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/inflate.o $(SRCDIR)inflate.c
233
- -@mv objs/inflate.o $@
234
-
235
-inftrees.lo: $(SRCDIR)inftrees.c
236
- -@mkdir objs 2>/dev/null || test -d objs
237
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/inftrees.o $(SRCDIR)inftrees.c
238
- -@mv objs/inftrees.o $@
239
-
240
-trees.lo: $(SRCDIR)trees.c
241
- -@mkdir objs 2>/dev/null || test -d objs
242
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/trees.o $(SRCDIR)trees.c
243
- -@mv objs/trees.o $@
244
-
245
-zutil.lo: $(SRCDIR)zutil.c
246
- -@mkdir objs 2>/dev/null || test -d objs
247
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/zutil.o $(SRCDIR)zutil.c
248
- -@mv objs/zutil.o $@
249
-
250
-compress.lo: $(SRCDIR)compress.c
251
- -@mkdir objs 2>/dev/null || test -d objs
252
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/compress.o $(SRCDIR)compress.c
253
- -@mv objs/compress.o $@
254
-
255
-uncompr.lo: $(SRCDIR)uncompr.c
256
- -@mkdir objs 2>/dev/null || test -d objs
257
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/uncompr.o $(SRCDIR)uncompr.c
258
- -@mv objs/uncompr.o $@
259
-
260
-gzclose.lo: $(SRCDIR)gzclose.c
261
- -@mkdir objs 2>/dev/null || test -d objs
262
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/gzclose.o $(SRCDIR)gzclose.c
263
- -@mv objs/gzclose.o $@
264
-
265
-gzlib.lo: $(SRCDIR)gzlib.c
266
- -@mkdir objs 2>/dev/null || test -d objs
267
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/gzlib.o $(SRCDIR)gzlib.c
268
- -@mv objs/gzlib.o $@
269
-
270
-gzread.lo: $(SRCDIR)gzread.c
271
- -@mkdir objs 2>/dev/null || test -d objs
272
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/gzread.o $(SRCDIR)gzread.c
273
- -@mv objs/gzread.o $@
274
-
275
-gzwrite.lo: $(SRCDIR)gzwrite.c
276
- -@mkdir objs 2>/dev/null || test -d objs
277
- $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/gzwrite.o $(SRCDIR)gzwrite.c
278
- -@mv objs/gzwrite.o $@
279
-
280
-
281
-placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a
282
- $(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
283
- rm -f $(SHAREDLIB) $(SHAREDLIBM)
284
- ln -s $@ $(SHAREDLIB)
285
- ln -s $@ $(SHAREDLIBM)
286
- -@rmdir objs
287
-
288
-example$(EXE): example.o $(STATICLIB)
289
- $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
290
-
291
-minigzip$(EXE): minigzip.o $(STATICLIB)
292
- $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
293
-
294
-examplesh$(EXE): example.o $(SHAREDLIBV)
295
- $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
296
-
297
-minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
298
- $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
299
-
300
-example64$(EXE): example64.o $(STATICLIB)
301
- $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
302
-
303
-minigzip64$(EXE): minigzip64.o $(STATICLIB)
304
- $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
305
-
306
-install-libs: $(LIBS)
307
- -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
308
- -@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi
309
- -@if [ ! -d $(DESTDIR)$(sharedlibdir) ]; then mkdir -p $(DESTDIR)$(sharedlibdir); fi
310
- -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
311
- -@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
312
- rm -f $(DESTDIR)$(libdir)/$(STATICLIB)
313
- cp $(STATICLIB) $(DESTDIR)$(libdir)
314
- chmod 644 $(DESTDIR)$(libdir)/$(STATICLIB)
315
- -@($(RANLIB) $(DESTDIR)$(libdir)/libz.a || true) >/dev/null 2>&1
316
- -@if test -n "$(SHAREDLIBV)"; then \
317
- rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
318
- cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \
319
- echo "cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)"; \
320
- chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
321
- echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV)"; \
322
- rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
323
- ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); \
324
- ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
325
- ($(LDCONFIG) || true) >/dev/null 2>&1; \
326
- fi
327
- rm -f $(DESTDIR)$(man3dir)/zlib.3
328
- cp $(SRCDIR)zlib.3 $(DESTDIR)$(man3dir)
329
- chmod 644 $(DESTDIR)$(man3dir)/zlib.3
330
- rm -f $(DESTDIR)$(pkgconfigdir)/zlib.pc
331
- cp zlib.pc $(DESTDIR)$(pkgconfigdir)
332
- chmod 644 $(DESTDIR)$(pkgconfigdir)/zlib.pc
333
-# The ranlib in install is needed on NeXTSTEP which checks file times
334
-# ldconfig is for Linux
335
-
336
-install: install-libs
337
- -@if [ ! -d $(DESTDIR)$(includedir) ]; then mkdir -p $(DESTDIR)$(includedir); fi
338
- rm -f $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
339
- cp $(SRCDIR)zlib.h zconf.h $(DESTDIR)$(includedir)
340
- chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
341
-
342
-uninstall:
343
- cd $(DESTDIR)$(includedir) && rm -f zlib.h zconf.h
344
- cd $(DESTDIR)$(libdir) && rm -f libz.a; \
345
- if test -n "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \
346
- rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
347
- fi
348
- cd $(DESTDIR)$(man3dir) && rm -f zlib.3
349
- cd $(DESTDIR)$(pkgconfigdir) && rm -f zlib.pc
350
-
351
-docs: zlib.3.pdf
352
-
353
-zlib.3.pdf: $(SRCDIR)zlib.3
354
- groff -mandoc -f H -T ps $(SRCDIR)zlib.3 | ps2pdf - $@
355
-
356
-zconf.h.cmakein: $(SRCDIR)zconf.h.in
357
- -@ TEMPFILE=zconfh_$$; \
358
- echo "/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" >> $$TEMPFILE &&\
359
- sed -f $$TEMPFILE $(SRCDIR)zconf.h.in > $@ &&\
360
- touch -r $(SRCDIR)zconf.h.in $@ &&\
361
- rm $$TEMPFILE
362
-
363
-zconf: $(SRCDIR)zconf.h.in
364
- cp -p $(SRCDIR)zconf.h.in zconf.h
365
-
366
-mostlyclean: clean
367
-clean:
368
- rm -f *.o *.lo *~ \
369
- example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
370
- example64$(EXE) minigzip64$(EXE) \
371
- infcover \
372
- libz.* foo.gz so_locations \
373
- _match.s maketree contrib/infback9/*.o
374
- rm -rf objs
375
- rm -f *.gcda *.gcno *.gcov
376
- rm -f contrib/infback9/*.gcda contrib/infback9/*.gcno contrib/infback9/*.gcov
377
-
378
-maintainer-clean: distclean
379
-distclean: clean zconf zconf.h.cmakein
380
- rm -f Makefile zlib.pc configure.log
381
- -@rm -f .DS_Store
382
- @if [ -f Makefile.in ]; then \
383
- printf 'all:\n\t-@echo "Please use ./configure first. Thank you."\n' > Makefile ; \
384
- printf '\ndistclean:\n\tmake -f Makefile.in distclean\n' >> Makefile ; \
385
- touch -r $(SRCDIR)Makefile.in Makefile ; fi
386
-
387
-tags:
388
- etags $(SRCDIR)*.[ch]
389
-
390
-adler32.o zutil.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
391
-gzclose.o gzlib.o gzread.o gzwrite.o: $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h
392
-compress.o example.o minigzip.o uncompr.o: $(SRCDIR)zlib.h zconf.h
393
-crc32.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)crc32.h
394
-deflate.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
395
-infback.o inflate.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h $(SRCDIR)inffixed.h
396
-inffast.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h
397
-inftrees.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h
398
-trees.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h
399
-
400
-adler32.lo zutil.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
401
-gzclose.lo gzlib.lo gzread.lo gzwrite.lo: $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h
402
-compress.lo example.lo minigzip.lo uncompr.lo: $(SRCDIR)zlib.h zconf.h
403
-crc32.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)crc32.h
404
-deflate.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
405
-infback.lo inflate.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h $(SRCDIR)inffixed.h
406
-inffast.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h
407
-inftrees.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h
408
-trees.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h
1
+all:
2
+ -@echo "Please use ./configure first. Thank you."
3
+
4
+distclean:
5
+ make -f Makefile.in distclean
4096
--- compat/zlib/Makefile
+++ compat/zlib/Makefile
@@ -1,408 +1,5 @@
1 # Makefile for zlib
2 # Copyright (C) 1995-2017 Jean-loup Gailly, Mark Adler
3 # For conditions of distribution and use, see copyright notice in zlib.h
4
5 # To compile and test, type:
6 # ./configure; make test
7 # Normally configure builds both a static and a shared library.
8 # If you want to build just a static library, use: ./configure --static
9
10 # To use the asm code, type:
11 # cp contrib/asm?86/match.S ./match.S
12 # make LOC=-DASMV OBJA=match.o
13
14 # To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type:
15 # make install
16 # To install in $HOME instead of /usr/local, use:
17 # make install prefix=$HOME
18
19 CC=gcc
20
21 CFLAGS=-O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN
22 #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
23 #CFLAGS=-g -DZLIB_DEBUG
24 #CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
25 # -Wstrict-prototypes -Wmissing-prototypes
26
27 SFLAGS=-O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN
28 LDFLAGS=
29 TEST_LDFLAGS=-L. libz.a
30 LDSHARED=gcc
31 CPP=gcc -E
32
33 STATICLIB=libz.a
34 SHAREDLIB=
35 SHAREDLIBV=
36 SHAREDLIBM=
37 LIBS=$(STATICLIB) $(SHAREDLIBV)
38
39 AR=ar
40 ARFLAGS=rc
41 RANLIB=ranlib
42 LDCONFIG=ldconfig
43 LDSHAREDLIBC=-lc
44 TAR=tar
45 SHELL=/bin/sh
46 EXE=
47
48 prefix =/usr/local
49 exec_prefix =${prefix}
50 libdir =${exec_prefix}/lib
51 sharedlibdir =${libdir}
52 includedir =${prefix}/include
53 mandir =${prefix}/share/man
54 man3dir = ${mandir}/man3
55 pkgconfigdir = ${libdir}/pkgconfig
56 SRCDIR=
57 ZINC=
58 ZINCOUT=-I.
59
60 OBJZ = adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o
61 OBJG = compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
62 OBJC = $(OBJZ) $(OBJG)
63
64 PIC_OBJZ = adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo
65 PIC_OBJG = compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo
66 PIC_OBJC = $(PIC_OBJZ) $(PIC_OBJG)
67
68 # to use the asm code: make OBJA=match.o, PIC_OBJA=match.lo
69 OBJA =
70 PIC_OBJA =
71
72 OBJS = $(OBJC) $(OBJA)
73
74 PIC_OBJS = $(PIC_OBJC) $(PIC_OBJA)
75
76 all: static all64
77
78 static: example$(EXE) minigzip$(EXE)
79
80 shared: examplesh$(EXE) minigzipsh$(EXE)
81
82 all64: example64$(EXE) minigzip64$(EXE)
83
84 check: test
85
86 test: all teststatic test64
87
88 teststatic: static
89 @TMPST=tmpst_$$; \
90 if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
91 echo ' *** zlib test OK ***'; \
92 else \
93 echo ' *** zlib test FAILED ***'; false; \
94 fi
95 @rm -f tmpst_$$
96
97 testshared: shared
98 @LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
99 LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
100 DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
101 SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
102 TMPSH=tmpsh_$$; \
103 if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh $$TMPSH; then \
104 echo ' *** zlib shared test OK ***'; \
105 else \
106 echo ' *** zlib shared test FAILED ***'; false; \
107 fi
108 @rm -f tmpsh_$$
109
110 test64: all64
111 @TMP64=tmp64_$$; \
112 if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
113 echo ' *** zlib 64-bit test OK ***'; \
114 else \
115 echo ' *** zlib 64-bit test FAILED ***'; false; \
116 fi
117 @rm -f tmp64_$$
118
119 infcover.o: $(SRCDIR)test/infcover.c $(SRCDIR)zlib.h zconf.h
120 $(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/infcover.c
121
122 infcover: infcover.o libz.a
123 $(CC) $(CFLAGS) -o $@ infcover.o libz.a
124
125 cover: infcover
126 rm -f *.gcda
127 ./infcover
128 gcov inf*.c
129
130 libz.a: $(OBJS)
131 $(AR) $(ARFLAGS) $@ $(OBJS)
132 -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
133
134 match.o: match.S
135 $(CPP) match.S > _match.s
136 $(CC) -c _match.s
137 mv _match.o match.o
138 rm -f _match.s
139
140 match.lo: match.S
141 $(CPP) match.S > _match.s
142 $(CC) -c -fPIC _match.s
143 mv _match.o match.lo
144 rm -f _match.s
145
146 example.o: $(SRCDIR)test/example.c $(SRCDIR)zlib.h zconf.h
147 $(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/example.c
148
149 minigzip.o: $(SRCDIR)test/minigzip.c $(SRCDIR)zlib.h zconf.h
150 $(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/minigzip.c
151
152 example64.o: $(SRCDIR)test/example.c $(SRCDIR)zlib.h zconf.h
153 $(CC) $(CFLAGS) $(ZINCOUT) -D_FILE_OFFSET_BITS=64 -c -o $@ $(SRCDIR)test/example.c
154
155 minigzip64.o: $(SRCDIR)test/minigzip.c $(SRCDIR)zlib.h zconf.h
156 $(CC) $(CFLAGS) $(ZINCOUT) -D_FILE_OFFSET_BITS=64 -c -o $@ $(SRCDIR)test/minigzip.c
157
158
159 adler32.o: $(SRCDIR)adler32.c
160 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)adler32.c
161
162 crc32.o: $(SRCDIR)crc32.c
163 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)crc32.c
164
165 deflate.o: $(SRCDIR)deflate.c
166 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)deflate.c
167
168 infback.o: $(SRCDIR)infback.c
169 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)infback.c
170
171 inffast.o: $(SRCDIR)inffast.c
172 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inffast.c
173
174 inflate.o: $(SRCDIR)inflate.c
175 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inflate.c
176
177 inftrees.o: $(SRCDIR)inftrees.c
178 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)inftrees.c
179
180 trees.o: $(SRCDIR)trees.c
181 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)trees.c
182
183 zutil.o: $(SRCDIR)zutil.c
184 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)zutil.c
185
186 compress.o: $(SRCDIR)compress.c
187 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)compress.c
188
189 uncompr.o: $(SRCDIR)uncompr.c
190 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)uncompr.c
191
192 gzclose.o: $(SRCDIR)gzclose.c
193 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzclose.c
194
195 gzlib.o: $(SRCDIR)gzlib.c
196 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzlib.c
197
198 gzread.o: $(SRCDIR)gzread.c
199 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzread.c
200
201 gzwrite.o: $(SRCDIR)gzwrite.c
202 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)gzwrite.c
203
204
205 adler32.lo: $(SRCDIR)adler32.c
206 -@mkdir objs 2>/dev/null || test -d objs
207 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/adler32.o $(SRCDIR)adler32.c
208 -@mv objs/adler32.o $@
209
210 crc32.lo: $(SRCDIR)crc32.c
211 -@mkdir objs 2>/dev/null || test -d objs
212 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/crc32.o $(SRCDIR)crc32.c
213 -@mv objs/crc32.o $@
214
215 deflate.lo: $(SRCDIR)deflate.c
216 -@mkdir objs 2>/dev/null || test -d objs
217 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/deflate.o $(SRCDIR)deflate.c
218 -@mv objs/deflate.o $@
219
220 infback.lo: $(SRCDIR)infback.c
221 -@mkdir objs 2>/dev/null || test -d objs
222 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/infback.o $(SRCDIR)infback.c
223 -@mv objs/infback.o $@
224
225 inffast.lo: $(SRCDIR)inffast.c
226 -@mkdir objs 2>/dev/null || test -d objs
227 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/inffast.o $(SRCDIR)inffast.c
228 -@mv objs/inffast.o $@
229
230 inflate.lo: $(SRCDIR)inflate.c
231 -@mkdir objs 2>/dev/null || test -d objs
232 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/inflate.o $(SRCDIR)inflate.c
233 -@mv objs/inflate.o $@
234
235 inftrees.lo: $(SRCDIR)inftrees.c
236 -@mkdir objs 2>/dev/null || test -d objs
237 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/inftrees.o $(SRCDIR)inftrees.c
238 -@mv objs/inftrees.o $@
239
240 trees.lo: $(SRCDIR)trees.c
241 -@mkdir objs 2>/dev/null || test -d objs
242 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/trees.o $(SRCDIR)trees.c
243 -@mv objs/trees.o $@
244
245 zutil.lo: $(SRCDIR)zutil.c
246 -@mkdir objs 2>/dev/null || test -d objs
247 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/zutil.o $(SRCDIR)zutil.c
248 -@mv objs/zutil.o $@
249
250 compress.lo: $(SRCDIR)compress.c
251 -@mkdir objs 2>/dev/null || test -d objs
252 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/compress.o $(SRCDIR)compress.c
253 -@mv objs/compress.o $@
254
255 uncompr.lo: $(SRCDIR)uncompr.c
256 -@mkdir objs 2>/dev/null || test -d objs
257 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/uncompr.o $(SRCDIR)uncompr.c
258 -@mv objs/uncompr.o $@
259
260 gzclose.lo: $(SRCDIR)gzclose.c
261 -@mkdir objs 2>/dev/null || test -d objs
262 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/gzclose.o $(SRCDIR)gzclose.c
263 -@mv objs/gzclose.o $@
264
265 gzlib.lo: $(SRCDIR)gzlib.c
266 -@mkdir objs 2>/dev/null || test -d objs
267 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/gzlib.o $(SRCDIR)gzlib.c
268 -@mv objs/gzlib.o $@
269
270 gzread.lo: $(SRCDIR)gzread.c
271 -@mkdir objs 2>/dev/null || test -d objs
272 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/gzread.o $(SRCDIR)gzread.c
273 -@mv objs/gzread.o $@
274
275 gzwrite.lo: $(SRCDIR)gzwrite.c
276 -@mkdir objs 2>/dev/null || test -d objs
277 $(CC) $(SFLAGS) $(ZINC) -fPIC -c -o objs/gzwrite.o $(SRCDIR)gzwrite.c
278 -@mv objs/gzwrite.o $@
279
280
281 placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a
282 $(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
283 rm -f $(SHAREDLIB) $(SHAREDLIBM)
284 ln -s $@ $(SHAREDLIB)
285 ln -s $@ $(SHAREDLIBM)
286 -@rmdir objs
287
288 example$(EXE): example.o $(STATICLIB)
289 $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
290
291 minigzip$(EXE): minigzip.o $(STATICLIB)
292 $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
293
294 examplesh$(EXE): example.o $(SHAREDLIBV)
295 $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
296
297 minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
298 $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
299
300 example64$(EXE): example64.o $(STATICLIB)
301 $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
302
303 minigzip64$(EXE): minigzip64.o $(STATICLIB)
304 $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
305
306 install-libs: $(LIBS)
307 -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
308 -@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi
309 -@if [ ! -d $(DESTDIR)$(sharedlibdir) ]; then mkdir -p $(DESTDIR)$(sharedlibdir); fi
310 -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
311 -@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
312 rm -f $(DESTDIR)$(libdir)/$(STATICLIB)
313 cp $(STATICLIB) $(DESTDIR)$(libdir)
314 chmod 644 $(DESTDIR)$(libdir)/$(STATICLIB)
315 -@($(RANLIB) $(DESTDIR)$(libdir)/libz.a || true) >/dev/null 2>&1
316 -@if test -n "$(SHAREDLIBV)"; then \
317 rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
318 cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \
319 echo "cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)"; \
320 chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
321 echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV)"; \
322 rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
323 ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); \
324 ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
325 ($(LDCONFIG) || true) >/dev/null 2>&1; \
326 fi
327 rm -f $(DESTDIR)$(man3dir)/zlib.3
328 cp $(SRCDIR)zlib.3 $(DESTDIR)$(man3dir)
329 chmod 644 $(DESTDIR)$(man3dir)/zlib.3
330 rm -f $(DESTDIR)$(pkgconfigdir)/zlib.pc
331 cp zlib.pc $(DESTDIR)$(pkgconfigdir)
332 chmod 644 $(DESTDIR)$(pkgconfigdir)/zlib.pc
333 # The ranlib in install is needed on NeXTSTEP which checks file times
334 # ldconfig is for Linux
335
336 install: install-libs
337 -@if [ ! -d $(DESTDIR)$(includedir) ]; then mkdir -p $(DESTDIR)$(includedir); fi
338 rm -f $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
339 cp $(SRCDIR)zlib.h zconf.h $(DESTDIR)$(includedir)
340 chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
341
342 uninstall:
343 cd $(DESTDIR)$(includedir) && rm -f zlib.h zconf.h
344 cd $(DESTDIR)$(libdir) && rm -f libz.a; \
345 if test -n "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \
346 rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
347 fi
348 cd $(DESTDIR)$(man3dir) && rm -f zlib.3
349 cd $(DESTDIR)$(pkgconfigdir) && rm -f zlib.pc
350
351 docs: zlib.3.pdf
352
353 zlib.3.pdf: $(SRCDIR)zlib.3
354 groff -mandoc -f H -T ps $(SRCDIR)zlib.3 | ps2pdf - $@
355
356 zconf.h.cmakein: $(SRCDIR)zconf.h.in
357 -@ TEMPFILE=zconfh_$$; \
358 echo "/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" >> $$TEMPFILE &&\
359 sed -f $$TEMPFILE $(SRCDIR)zconf.h.in > $@ &&\
360 touch -r $(SRCDIR)zconf.h.in $@ &&\
361 rm $$TEMPFILE
362
363 zconf: $(SRCDIR)zconf.h.in
364 cp -p $(SRCDIR)zconf.h.in zconf.h
365
366 mostlyclean: clean
367 clean:
368 rm -f *.o *.lo *~ \
369 example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
370 example64$(EXE) minigzip64$(EXE) \
371 infcover \
372 libz.* foo.gz so_locations \
373 _match.s maketree contrib/infback9/*.o
374 rm -rf objs
375 rm -f *.gcda *.gcno *.gcov
376 rm -f contrib/infback9/*.gcda contrib/infback9/*.gcno contrib/infback9/*.gcov
377
378 maintainer-clean: distclean
379 distclean: clean zconf zconf.h.cmakein
380 rm -f Makefile zlib.pc configure.log
381 -@rm -f .DS_Store
382 @if [ -f Makefile.in ]; then \
383 printf 'all:\n\t-@echo "Please use ./configure first. Thank you."\n' > Makefile ; \
384 printf '\ndistclean:\n\tmake -f Makefile.in distclean\n' >> Makefile ; \
385 touch -r $(SRCDIR)Makefile.in Makefile ; fi
386
387 tags:
388 etags $(SRCDIR)*.[ch]
389
390 adler32.o zutil.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
391 gzclose.o gzlib.o gzread.o gzwrite.o: $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h
392 compress.o example.o minigzip.o uncompr.o: $(SRCDIR)zlib.h zconf.h
393 crc32.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)crc32.h
394 deflate.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
395 infback.o inflate.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h $(SRCDIR)inffixed.h
396 inffast.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h
397 inftrees.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h
398 trees.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h
399
400 adler32.lo zutil.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
401 gzclose.lo gzlib.lo gzread.lo gzwrite.lo: $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h
402 compress.lo example.lo minigzip.lo uncompr.lo: $(SRCDIR)zlib.h zconf.h
403 crc32.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)crc32.h
404 deflate.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
405 infback.lo inflate.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h $(SRCDIR)inffixed.h
406 inffast.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h
407 inftrees.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h
408 trees.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h
409
--- compat/zlib/Makefile
+++ compat/zlib/Makefile
@@ -1,408 +1,5 @@
1 all:
2 -@echo "Please use ./configure first. Thank you."
3
4 distclean:
5 make -f Makefile.in distclean
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
--- compat/zlib/Makefile.in
+++ compat/zlib/Makefile.in
@@ -5,14 +5,10 @@
55
# To compile and test, type:
66
# ./configure; make test
77
# Normally configure builds both a static and a shared library.
88
# If you want to build just a static library, use: ./configure --static
99
10
-# To use the asm code, type:
11
-# cp contrib/asm?86/match.S ./match.S
12
-# make LOC=-DASMV OBJA=match.o
13
-
1410
# To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type:
1511
# make install
1612
# To install in $HOME instead of /usr/local, use:
1713
# make install prefix=$HOME
1814
@@ -24,17 +20,17 @@
2420
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
2521
# -Wstrict-prototypes -Wmissing-prototypes
2622
2723
SFLAGS=-O
2824
LDFLAGS=
29
-TEST_LDFLAGS=-L. libz.a
25
+TEST_LDFLAGS=$(LDFLAGS) -L. libz.a
3026
LDSHARED=$(CC)
3127
CPP=$(CC) -E
3228
3329
STATICLIB=libz.a
3430
SHAREDLIB=libz.so
35
-SHAREDLIBV=libz.so.1.2.12
31
+SHAREDLIBV=libz.so.1.2.13
3632
SHAREDLIBM=libz.so.1
3733
LIBS=$(STATICLIB) $(SHAREDLIBV)
3834
3935
AR=ar
4036
ARFLAGS=rc
@@ -85,11 +81,11 @@
8581
8682
test: all teststatic testshared
8783
8884
teststatic: static
8985
@TMPST=tmpst_$$; \
90
- if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
86
+ if echo hello world | ${QEMU_RUN} ./minigzip | ${QEMU_RUN} ./minigzip -d && ${QEMU_RUN} ./example $$TMPST ; then \
9187
echo ' *** zlib test OK ***'; \
9288
else \
9389
echo ' *** zlib test FAILED ***'; false; \
9490
fi
9591
@rm -f tmpst_$$
@@ -98,20 +94,20 @@
9894
@LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
9995
LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
10096
DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
10197
SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
10298
TMPSH=tmpsh_$$; \
103
- if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh $$TMPSH; then \
99
+ if echo hello world | ${QEMU_RUN} ./minigzipsh | ${QEMU_RUN} ./minigzipsh -d && ${QEMU_RUN} ./examplesh $$TMPSH; then \
104100
echo ' *** zlib shared test OK ***'; \
105101
else \
106102
echo ' *** zlib shared test FAILED ***'; false; \
107103
fi
108104
@rm -f tmpsh_$$
109105
110106
test64: all64
111107
@TMP64=tmp64_$$; \
112
- if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
108
+ if echo hello world | ${QEMU_RUN} ./minigzip64 | ${QEMU_RUN} ./minigzip64 -d && ${QEMU_RUN} ./example64 $$TMP64; then \
113109
echo ' *** zlib 64-bit test OK ***'; \
114110
else \
115111
echo ' *** zlib 64-bit test FAILED ***'; false; \
116112
fi
117113
@rm -f tmp64_$$
@@ -122,11 +118,11 @@
122118
infcover: infcover.o libz.a
123119
$(CC) $(CFLAGS) -o $@ infcover.o libz.a
124120
125121
cover: infcover
126122
rm -f *.gcda
127
- ./infcover
123
+ ${QEMU_RUN} ./infcover
128124
gcov inf*.c
129125
130126
libz.a: $(OBJS)
131127
$(AR) $(ARFLAGS) $@ $(OBJS)
132128
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
@@ -290,14 +286,14 @@
290286
291287
minigzip$(EXE): minigzip.o $(STATICLIB)
292288
$(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
293289
294290
examplesh$(EXE): example.o $(SHAREDLIBV)
295
- $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
291
+ $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) -L. $(SHAREDLIBV)
296292
297293
minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
298
- $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
294
+ $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) -L. $(SHAREDLIBV)
299295
300296
example64$(EXE): example64.o $(STATICLIB)
301297
$(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
302298
303299
minigzip64$(EXE): minigzip64.o $(STATICLIB)
304300
--- compat/zlib/Makefile.in
+++ compat/zlib/Makefile.in
@@ -5,14 +5,10 @@
5 # To compile and test, type:
6 # ./configure; make test
7 # Normally configure builds both a static and a shared library.
8 # If you want to build just a static library, use: ./configure --static
9
10 # To use the asm code, type:
11 # cp contrib/asm?86/match.S ./match.S
12 # make LOC=-DASMV OBJA=match.o
13
14 # To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type:
15 # make install
16 # To install in $HOME instead of /usr/local, use:
17 # make install prefix=$HOME
18
@@ -24,17 +20,17 @@
24 #CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
25 # -Wstrict-prototypes -Wmissing-prototypes
26
27 SFLAGS=-O
28 LDFLAGS=
29 TEST_LDFLAGS=-L. libz.a
30 LDSHARED=$(CC)
31 CPP=$(CC) -E
32
33 STATICLIB=libz.a
34 SHAREDLIB=libz.so
35 SHAREDLIBV=libz.so.1.2.12
36 SHAREDLIBM=libz.so.1
37 LIBS=$(STATICLIB) $(SHAREDLIBV)
38
39 AR=ar
40 ARFLAGS=rc
@@ -85,11 +81,11 @@
85
86 test: all teststatic testshared
87
88 teststatic: static
89 @TMPST=tmpst_$$; \
90 if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
91 echo ' *** zlib test OK ***'; \
92 else \
93 echo ' *** zlib test FAILED ***'; false; \
94 fi
95 @rm -f tmpst_$$
@@ -98,20 +94,20 @@
98 @LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
99 LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
100 DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
101 SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
102 TMPSH=tmpsh_$$; \
103 if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh $$TMPSH; then \
104 echo ' *** zlib shared test OK ***'; \
105 else \
106 echo ' *** zlib shared test FAILED ***'; false; \
107 fi
108 @rm -f tmpsh_$$
109
110 test64: all64
111 @TMP64=tmp64_$$; \
112 if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
113 echo ' *** zlib 64-bit test OK ***'; \
114 else \
115 echo ' *** zlib 64-bit test FAILED ***'; false; \
116 fi
117 @rm -f tmp64_$$
@@ -122,11 +118,11 @@
122 infcover: infcover.o libz.a
123 $(CC) $(CFLAGS) -o $@ infcover.o libz.a
124
125 cover: infcover
126 rm -f *.gcda
127 ./infcover
128 gcov inf*.c
129
130 libz.a: $(OBJS)
131 $(AR) $(ARFLAGS) $@ $(OBJS)
132 -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
@@ -290,14 +286,14 @@
290
291 minigzip$(EXE): minigzip.o $(STATICLIB)
292 $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
293
294 examplesh$(EXE): example.o $(SHAREDLIBV)
295 $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
296
297 minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
298 $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
299
300 example64$(EXE): example64.o $(STATICLIB)
301 $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
302
303 minigzip64$(EXE): minigzip64.o $(STATICLIB)
304
--- compat/zlib/Makefile.in
+++ compat/zlib/Makefile.in
@@ -5,14 +5,10 @@
5 # To compile and test, type:
6 # ./configure; make test
7 # Normally configure builds both a static and a shared library.
8 # If you want to build just a static library, use: ./configure --static
9
 
 
 
 
10 # To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type:
11 # make install
12 # To install in $HOME instead of /usr/local, use:
13 # make install prefix=$HOME
14
@@ -24,17 +20,17 @@
20 #CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
21 # -Wstrict-prototypes -Wmissing-prototypes
22
23 SFLAGS=-O
24 LDFLAGS=
25 TEST_LDFLAGS=$(LDFLAGS) -L. libz.a
26 LDSHARED=$(CC)
27 CPP=$(CC) -E
28
29 STATICLIB=libz.a
30 SHAREDLIB=libz.so
31 SHAREDLIBV=libz.so.1.2.13
32 SHAREDLIBM=libz.so.1
33 LIBS=$(STATICLIB) $(SHAREDLIBV)
34
35 AR=ar
36 ARFLAGS=rc
@@ -85,11 +81,11 @@
81
82 test: all teststatic testshared
83
84 teststatic: static
85 @TMPST=tmpst_$$; \
86 if echo hello world | ${QEMU_RUN} ./minigzip | ${QEMU_RUN} ./minigzip -d && ${QEMU_RUN} ./example $$TMPST ; then \
87 echo ' *** zlib test OK ***'; \
88 else \
89 echo ' *** zlib test FAILED ***'; false; \
90 fi
91 @rm -f tmpst_$$
@@ -98,20 +94,20 @@
94 @LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
95 LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
96 DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
97 SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
98 TMPSH=tmpsh_$$; \
99 if echo hello world | ${QEMU_RUN} ./minigzipsh | ${QEMU_RUN} ./minigzipsh -d && ${QEMU_RUN} ./examplesh $$TMPSH; then \
100 echo ' *** zlib shared test OK ***'; \
101 else \
102 echo ' *** zlib shared test FAILED ***'; false; \
103 fi
104 @rm -f tmpsh_$$
105
106 test64: all64
107 @TMP64=tmp64_$$; \
108 if echo hello world | ${QEMU_RUN} ./minigzip64 | ${QEMU_RUN} ./minigzip64 -d && ${QEMU_RUN} ./example64 $$TMP64; then \
109 echo ' *** zlib 64-bit test OK ***'; \
110 else \
111 echo ' *** zlib 64-bit test FAILED ***'; false; \
112 fi
113 @rm -f tmp64_$$
@@ -122,11 +118,11 @@
118 infcover: infcover.o libz.a
119 $(CC) $(CFLAGS) -o $@ infcover.o libz.a
120
121 cover: infcover
122 rm -f *.gcda
123 ${QEMU_RUN} ./infcover
124 gcov inf*.c
125
126 libz.a: $(OBJS)
127 $(AR) $(ARFLAGS) $@ $(OBJS)
128 -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
@@ -290,14 +286,14 @@
286
287 minigzip$(EXE): minigzip.o $(STATICLIB)
288 $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
289
290 examplesh$(EXE): example.o $(SHAREDLIBV)
291 $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) -L. $(SHAREDLIBV)
292
293 minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
294 $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) -L. $(SHAREDLIBV)
295
296 example64$(EXE): example64.o $(STATICLIB)
297 $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
298
299 minigzip64$(EXE): minigzip64.o $(STATICLIB)
300
--- compat/zlib/README
+++ compat/zlib/README
@@ -1,8 +1,8 @@
11
ZLIB DATA COMPRESSION LIBRARY
22
3
-zlib 1.2.12 is a general purpose data compression library. All the code is
3
+zlib 1.2.13 is a general purpose data compression library. All the code is
44
thread safe. The data format used by the zlib library is described by RFCs
55
(Request for Comments) 1950 to 1952 in the files
66
http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
77
rfc1952 (gzip format).
88
@@ -29,11 +29,11 @@
2929
3030
Mark Nelson <[email protected]> wrote an article about zlib for the Jan. 1997
3131
issue of Dr. Dobb's Journal; a copy of the article is available at
3232
http://marknelson.us/1997/01/01/zlib-engine/ .
3333
34
-The changes made in version 1.2.12 are documented in the file ChangeLog.
34
+The changes made in version 1.2.13 are documented in the file ChangeLog.
3535
3636
Unsupported third party contributions are provided in directory contrib/ .
3737
3838
zlib is available in Java using the java.util.zip package, documented at
3939
http://java.sun.com/developer/technicalArticles/Programming/compression/ .
4040
--- compat/zlib/README
+++ compat/zlib/README
@@ -1,8 +1,8 @@
1 ZLIB DATA COMPRESSION LIBRARY
2
3 zlib 1.2.12 is a general purpose data compression library. All the code is
4 thread safe. The data format used by the zlib library is described by RFCs
5 (Request for Comments) 1950 to 1952 in the files
6 http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
7 rfc1952 (gzip format).
8
@@ -29,11 +29,11 @@
29
30 Mark Nelson <[email protected]> wrote an article about zlib for the Jan. 1997
31 issue of Dr. Dobb's Journal; a copy of the article is available at
32 http://marknelson.us/1997/01/01/zlib-engine/ .
33
34 The changes made in version 1.2.12 are documented in the file ChangeLog.
35
36 Unsupported third party contributions are provided in directory contrib/ .
37
38 zlib is available in Java using the java.util.zip package, documented at
39 http://java.sun.com/developer/technicalArticles/Programming/compression/ .
40
--- compat/zlib/README
+++ compat/zlib/README
@@ -1,8 +1,8 @@
1 ZLIB DATA COMPRESSION LIBRARY
2
3 zlib 1.2.13 is a general purpose data compression library. All the code is
4 thread safe. The data format used by the zlib library is described by RFCs
5 (Request for Comments) 1950 to 1952 in the files
6 http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
7 rfc1952 (gzip format).
8
@@ -29,11 +29,11 @@
29
30 Mark Nelson <[email protected]> wrote an article about zlib for the Jan. 1997
31 issue of Dr. Dobb's Journal; a copy of the article is available at
32 http://marknelson.us/1997/01/01/zlib-engine/ .
33
34 The changes made in version 1.2.13 are documented in the file ChangeLog.
35
36 Unsupported third party contributions are provided in directory contrib/ .
37
38 zlib is available in Java using the java.util.zip package, documented at
39 http://java.sun.com/developer/technicalArticles/Programming/compression/ .
40
--- compat/zlib/compress.c
+++ compat/zlib/compress.c
@@ -17,11 +17,11 @@
1717
1818
compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
1919
memory, Z_BUF_ERROR if there was not enough room in the output buffer,
2020
Z_STREAM_ERROR if the level parameter is invalid.
2121
*/
22
-int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
22
+int ZEXPORT compress2(dest, destLen, source, sourceLen, level)
2323
Bytef *dest;
2424
uLongf *destLen;
2525
const Bytef *source;
2626
uLong sourceLen;
2727
int level;
@@ -63,11 +63,11 @@
6363
return err == Z_STREAM_END ? Z_OK : err;
6464
}
6565
6666
/* ===========================================================================
6767
*/
68
-int ZEXPORT compress (dest, destLen, source, sourceLen)
68
+int ZEXPORT compress(dest, destLen, source, sourceLen)
6969
Bytef *dest;
7070
uLongf *destLen;
7171
const Bytef *source;
7272
uLong sourceLen;
7373
{
@@ -76,11 +76,11 @@
7676
7777
/* ===========================================================================
7878
If the default memLevel or windowBits for deflateInit() is changed, then
7979
this function needs to be updated.
8080
*/
81
-uLong ZEXPORT compressBound (sourceLen)
81
+uLong ZEXPORT compressBound(sourceLen)
8282
uLong sourceLen;
8383
{
8484
return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
8585
(sourceLen >> 25) + 13;
8686
}
8787
--- compat/zlib/compress.c
+++ compat/zlib/compress.c
@@ -17,11 +17,11 @@
17
18 compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
19 memory, Z_BUF_ERROR if there was not enough room in the output buffer,
20 Z_STREAM_ERROR if the level parameter is invalid.
21 */
22 int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
23 Bytef *dest;
24 uLongf *destLen;
25 const Bytef *source;
26 uLong sourceLen;
27 int level;
@@ -63,11 +63,11 @@
63 return err == Z_STREAM_END ? Z_OK : err;
64 }
65
66 /* ===========================================================================
67 */
68 int ZEXPORT compress (dest, destLen, source, sourceLen)
69 Bytef *dest;
70 uLongf *destLen;
71 const Bytef *source;
72 uLong sourceLen;
73 {
@@ -76,11 +76,11 @@
76
77 /* ===========================================================================
78 If the default memLevel or windowBits for deflateInit() is changed, then
79 this function needs to be updated.
80 */
81 uLong ZEXPORT compressBound (sourceLen)
82 uLong sourceLen;
83 {
84 return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
85 (sourceLen >> 25) + 13;
86 }
87
--- compat/zlib/compress.c
+++ compat/zlib/compress.c
@@ -17,11 +17,11 @@
17
18 compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
19 memory, Z_BUF_ERROR if there was not enough room in the output buffer,
20 Z_STREAM_ERROR if the level parameter is invalid.
21 */
22 int ZEXPORT compress2(dest, destLen, source, sourceLen, level)
23 Bytef *dest;
24 uLongf *destLen;
25 const Bytef *source;
26 uLong sourceLen;
27 int level;
@@ -63,11 +63,11 @@
63 return err == Z_STREAM_END ? Z_OK : err;
64 }
65
66 /* ===========================================================================
67 */
68 int ZEXPORT compress(dest, destLen, source, sourceLen)
69 Bytef *dest;
70 uLongf *destLen;
71 const Bytef *source;
72 uLong sourceLen;
73 {
@@ -76,11 +76,11 @@
76
77 /* ===========================================================================
78 If the default memLevel or windowBits for deflateInit() is changed, then
79 this function needs to be updated.
80 */
81 uLong ZEXPORT compressBound(sourceLen)
82 uLong sourceLen;
83 {
84 return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
85 (sourceLen >> 25) + 13;
86 }
87
--- compat/zlib/configure
+++ compat/zlib/configure
@@ -30,12 +30,15 @@
3030
SRCDIR="$SRCDIR/"
3131
fi
3232
3333
# set command prefix for cross-compilation
3434
if [ -n "${CHOST}" ]; then
35
- uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`"
35
+ uname=${CHOST}
36
+ mname=${CHOST}
3637
CROSS_PREFIX="${CHOST}-"
38
+else
39
+ mname=`(uname -a || echo unknown) 2>/dev/null`
3740
fi
3841
3942
# destination name for static library
4043
STATICLIB=libz.a
4144
@@ -172,13 +175,14 @@
172175
if ${CROSS_PREFIX}gcc -v >/dev/null 2>&1; then
173176
cc=${CROSS_PREFIX}gcc
174177
else
175178
cc=${CROSS_PREFIX}cc
176179
fi
180
+else
181
+ cc=${CC}
177182
fi
178
-cflags=${CFLAGS-"-O3"}
179
-# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
183
+
180184
case "$cc" in
181185
*gcc*) gcc=1 ;;
182186
*clang*) gcc=1 ;;
183187
esac
184188
case `$cc -v 2>&1` in
@@ -200,67 +204,72 @@
200204
CFLAGS="${CFLAGS} -m64"
201205
SFLAGS="${SFLAGS} -m64"
202206
fi
203207
if test "$warn" -eq 1; then
204208
if test "$zconst" -eq 1; then
205
- CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual -pedantic -DZLIB_CONST"
209
+ CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual -DZLIB_CONST"
206210
else
207
- CFLAGS="${CFLAGS} -Wall -Wextra -pedantic"
211
+ CFLAGS="${CFLAGS} -Wall -Wextra"
208212
fi
209213
fi
210214
if test $sanitize -eq 1; then
211
- CFLAGS="${CFLAGS} -fsanitize=address"
215
+ CFLAGS="${CFLAGS} -g -fsanitize=address"
212216
fi
213217
if test $debug -eq 1; then
214218
CFLAGS="${CFLAGS} -DZLIB_DEBUG"
215219
SFLAGS="${SFLAGS} -DZLIB_DEBUG"
216220
fi
217221
if test -z "$uname"; then
218222
uname=`(uname -s || echo unknown) 2>/dev/null`
219223
fi
220224
case "$uname" in
221
- Linux* | linux* | GNU | GNU/* | solaris*)
225
+ Linux* | linux* | *-linux* | GNU | GNU/* | solaris*)
226
+ case "$mname" in
227
+ *sparc*)
228
+ LDFLAGS="${LDFLAGS} -Wl,--no-warn-rwx-segments" ;;
229
+ esac
222230
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}zlib.map"} ;;
223231
*BSD | *bsd* | DragonFly)
224232
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}zlib.map"}
225233
LDCONFIG="ldconfig -m" ;;
226
- CYGWIN* | Cygwin* | cygwin* | OS/2*)
234
+ CYGWIN* | Cygwin* | cygwin* | *-cygwin* | OS/2*)
227235
EXE='.exe' ;;
228
- MINGW* | mingw*)
229
-# temporary bypass
236
+ MINGW* | mingw* | *-mingw*)
230237
rm -f $test.[co] $test $test$shared_ext
231
- echo "Please use win32/Makefile.gcc instead." | tee -a configure.log
232
- leave 1
238
+ echo "If this doesn't work for you, try win32/Makefile.gcc." | tee -a configure.log
233239
LDSHARED=${LDSHARED-"$cc -shared"}
234240
LDSHAREDLIBC=""
235241
EXE='.exe' ;;
236
- QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
237
- # ([email protected])
238
- LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"} ;;
242
+ QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
243
+ # ([email protected])
244
+ LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"} ;;
239245
HP-UX*)
240
- LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
241
- case `(uname -m || echo unknown) 2>/dev/null` in
242
- ia64)
243
- shared_ext='.so'
244
- SHAREDLIB='libz.so' ;;
245
- *)
246
- shared_ext='.sl'
247
- SHAREDLIB='libz.sl' ;;
248
- esac ;;
249
- Darwin* | darwin*)
250
- shared_ext='.dylib'
251
- SHAREDLIB=libz$shared_ext
252
- SHAREDLIBV=libz.$VER$shared_ext
253
- SHAREDLIBM=libz.$VER1$shared_ext
254
- LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"}
255
- if libtool -V 2>&1 | grep Apple > /dev/null; then
256
- AR="libtool"
257
- else
258
- AR="/usr/bin/libtool"
259
- fi
260
- ARFLAGS="-o" ;;
261
- *) LDSHARED=${LDSHARED-"$cc -shared"} ;;
246
+ LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
247
+ case `(uname -m || echo unknown) 2>/dev/null` in
248
+ ia64)
249
+ shared_ext='.so'
250
+ SHAREDLIB='libz.so' ;;
251
+ *)
252
+ shared_ext='.sl'
253
+ SHAREDLIB='libz.sl' ;;
254
+ esac ;;
255
+ AIX*)
256
+ LDFLAGS="${LDFLAGS} -Wl,-brtl" ;;
257
+ Darwin* | darwin* | *-darwin*)
258
+ shared_ext='.dylib'
259
+ SHAREDLIB=libz$shared_ext
260
+ SHAREDLIBV=libz.$VER$shared_ext
261
+ SHAREDLIBM=libz.$VER1$shared_ext
262
+ LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"}
263
+ if libtool -V 2>&1 | grep Apple > /dev/null; then
264
+ AR="libtool"
265
+ else
266
+ AR="/usr/bin/libtool"
267
+ fi
268
+ ARFLAGS="-o" ;;
269
+ *)
270
+ LDSHARED=${LDSHARED-"$cc -shared"} ;;
262271
esac
263272
else
264273
# find system name and corresponding cc options
265274
CC=${CC-cc}
266275
gcc=0
@@ -448,24 +457,10 @@
448457
else
449458
ALL="static shared"
450459
TEST="all teststatic testshared"
451460
fi
452461
453
-# check for underscores in external names for use by assembler code
454
-CPP=${CPP-"$CC -E"}
455
-case $CFLAGS in
456
- *ASMV*)
457
- echo >> configure.log
458
- show "$NM $test.o | grep _hello"
459
- if test "`$NM $test.o | grep _hello | tee -a configure.log`" = ""; then
460
- CPP="$CPP -DNO_UNDERLINE"
461
- echo Checking for underline in external names... No. | tee -a configure.log
462
- else
463
- echo Checking for underline in external names... Yes. | tee -a configure.log
464
- fi ;;
465
-esac
466
-
467462
echo >> configure.log
468463
469464
# check for size_t
470465
cat > $test.c <<EOF
471466
#include <stdio.h>
472467
--- compat/zlib/configure
+++ compat/zlib/configure
@@ -30,12 +30,15 @@
30 SRCDIR="$SRCDIR/"
31 fi
32
33 # set command prefix for cross-compilation
34 if [ -n "${CHOST}" ]; then
35 uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`"
 
36 CROSS_PREFIX="${CHOST}-"
 
 
37 fi
38
39 # destination name for static library
40 STATICLIB=libz.a
41
@@ -172,13 +175,14 @@
172 if ${CROSS_PREFIX}gcc -v >/dev/null 2>&1; then
173 cc=${CROSS_PREFIX}gcc
174 else
175 cc=${CROSS_PREFIX}cc
176 fi
 
 
177 fi
178 cflags=${CFLAGS-"-O3"}
179 # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
180 case "$cc" in
181 *gcc*) gcc=1 ;;
182 *clang*) gcc=1 ;;
183 esac
184 case `$cc -v 2>&1` in
@@ -200,67 +204,72 @@
200 CFLAGS="${CFLAGS} -m64"
201 SFLAGS="${SFLAGS} -m64"
202 fi
203 if test "$warn" -eq 1; then
204 if test "$zconst" -eq 1; then
205 CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual -pedantic -DZLIB_CONST"
206 else
207 CFLAGS="${CFLAGS} -Wall -Wextra -pedantic"
208 fi
209 fi
210 if test $sanitize -eq 1; then
211 CFLAGS="${CFLAGS} -fsanitize=address"
212 fi
213 if test $debug -eq 1; then
214 CFLAGS="${CFLAGS} -DZLIB_DEBUG"
215 SFLAGS="${SFLAGS} -DZLIB_DEBUG"
216 fi
217 if test -z "$uname"; then
218 uname=`(uname -s || echo unknown) 2>/dev/null`
219 fi
220 case "$uname" in
221 Linux* | linux* | GNU | GNU/* | solaris*)
 
 
 
 
222 LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}zlib.map"} ;;
223 *BSD | *bsd* | DragonFly)
224 LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}zlib.map"}
225 LDCONFIG="ldconfig -m" ;;
226 CYGWIN* | Cygwin* | cygwin* | OS/2*)
227 EXE='.exe' ;;
228 MINGW* | mingw*)
229 # temporary bypass
230 rm -f $test.[co] $test $test$shared_ext
231 echo "Please use win32/Makefile.gcc instead." | tee -a configure.log
232 leave 1
233 LDSHARED=${LDSHARED-"$cc -shared"}
234 LDSHAREDLIBC=""
235 EXE='.exe' ;;
236 QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
237 # ([email protected])
238 LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"} ;;
239 HP-UX*)
240 LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
241 case `(uname -m || echo unknown) 2>/dev/null` in
242 ia64)
243 shared_ext='.so'
244 SHAREDLIB='libz.so' ;;
245 *)
246 shared_ext='.sl'
247 SHAREDLIB='libz.sl' ;;
248 esac ;;
249 Darwin* | darwin*)
250 shared_ext='.dylib'
251 SHAREDLIB=libz$shared_ext
252 SHAREDLIBV=libz.$VER$shared_ext
253 SHAREDLIBM=libz.$VER1$shared_ext
254 LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"}
255 if libtool -V 2>&1 | grep Apple > /dev/null; then
256 AR="libtool"
257 else
258 AR="/usr/bin/libtool"
259 fi
260 ARFLAGS="-o" ;;
261 *) LDSHARED=${LDSHARED-"$cc -shared"} ;;
 
 
 
262 esac
263 else
264 # find system name and corresponding cc options
265 CC=${CC-cc}
266 gcc=0
@@ -448,24 +457,10 @@
448 else
449 ALL="static shared"
450 TEST="all teststatic testshared"
451 fi
452
453 # check for underscores in external names for use by assembler code
454 CPP=${CPP-"$CC -E"}
455 case $CFLAGS in
456 *ASMV*)
457 echo >> configure.log
458 show "$NM $test.o | grep _hello"
459 if test "`$NM $test.o | grep _hello | tee -a configure.log`" = ""; then
460 CPP="$CPP -DNO_UNDERLINE"
461 echo Checking for underline in external names... No. | tee -a configure.log
462 else
463 echo Checking for underline in external names... Yes. | tee -a configure.log
464 fi ;;
465 esac
466
467 echo >> configure.log
468
469 # check for size_t
470 cat > $test.c <<EOF
471 #include <stdio.h>
472
--- compat/zlib/configure
+++ compat/zlib/configure
@@ -30,12 +30,15 @@
30 SRCDIR="$SRCDIR/"
31 fi
32
33 # set command prefix for cross-compilation
34 if [ -n "${CHOST}" ]; then
35 uname=${CHOST}
36 mname=${CHOST}
37 CROSS_PREFIX="${CHOST}-"
38 else
39 mname=`(uname -a || echo unknown) 2>/dev/null`
40 fi
41
42 # destination name for static library
43 STATICLIB=libz.a
44
@@ -172,13 +175,14 @@
175 if ${CROSS_PREFIX}gcc -v >/dev/null 2>&1; then
176 cc=${CROSS_PREFIX}gcc
177 else
178 cc=${CROSS_PREFIX}cc
179 fi
180 else
181 cc=${CC}
182 fi
183
 
184 case "$cc" in
185 *gcc*) gcc=1 ;;
186 *clang*) gcc=1 ;;
187 esac
188 case `$cc -v 2>&1` in
@@ -200,67 +204,72 @@
204 CFLAGS="${CFLAGS} -m64"
205 SFLAGS="${SFLAGS} -m64"
206 fi
207 if test "$warn" -eq 1; then
208 if test "$zconst" -eq 1; then
209 CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual -DZLIB_CONST"
210 else
211 CFLAGS="${CFLAGS} -Wall -Wextra"
212 fi
213 fi
214 if test $sanitize -eq 1; then
215 CFLAGS="${CFLAGS} -g -fsanitize=address"
216 fi
217 if test $debug -eq 1; then
218 CFLAGS="${CFLAGS} -DZLIB_DEBUG"
219 SFLAGS="${SFLAGS} -DZLIB_DEBUG"
220 fi
221 if test -z "$uname"; then
222 uname=`(uname -s || echo unknown) 2>/dev/null`
223 fi
224 case "$uname" in
225 Linux* | linux* | *-linux* | GNU | GNU/* | solaris*)
226 case "$mname" in
227 *sparc*)
228 LDFLAGS="${LDFLAGS} -Wl,--no-warn-rwx-segments" ;;
229 esac
230 LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}zlib.map"} ;;
231 *BSD | *bsd* | DragonFly)
232 LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}zlib.map"}
233 LDCONFIG="ldconfig -m" ;;
234 CYGWIN* | Cygwin* | cygwin* | *-cygwin* | OS/2*)
235 EXE='.exe' ;;
236 MINGW* | mingw* | *-mingw*)
 
237 rm -f $test.[co] $test $test$shared_ext
238 echo "If this doesn't work for you, try win32/Makefile.gcc." | tee -a configure.log
 
239 LDSHARED=${LDSHARED-"$cc -shared"}
240 LDSHAREDLIBC=""
241 EXE='.exe' ;;
242 QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
243 # ([email protected])
244 LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"} ;;
245 HP-UX*)
246 LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
247 case `(uname -m || echo unknown) 2>/dev/null` in
248 ia64)
249 shared_ext='.so'
250 SHAREDLIB='libz.so' ;;
251 *)
252 shared_ext='.sl'
253 SHAREDLIB='libz.sl' ;;
254 esac ;;
255 AIX*)
256 LDFLAGS="${LDFLAGS} -Wl,-brtl" ;;
257 Darwin* | darwin* | *-darwin*)
258 shared_ext='.dylib'
259 SHAREDLIB=libz$shared_ext
260 SHAREDLIBV=libz.$VER$shared_ext
261 SHAREDLIBM=libz.$VER1$shared_ext
262 LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"}
263 if libtool -V 2>&1 | grep Apple > /dev/null; then
264 AR="libtool"
265 else
266 AR="/usr/bin/libtool"
267 fi
268 ARFLAGS="-o" ;;
269 *)
270 LDSHARED=${LDSHARED-"$cc -shared"} ;;
271 esac
272 else
273 # find system name and corresponding cc options
274 CC=${CC-cc}
275 gcc=0
@@ -448,24 +457,10 @@
457 else
458 ALL="static shared"
459 TEST="all teststatic testshared"
460 fi
461
 
 
 
 
 
 
 
 
 
 
 
 
 
 
462 echo >> configure.log
463
464 # check for size_t
465 cat > $test.c <<EOF
466 #include <stdio.h>
467
--- compat/zlib/contrib/README.contrib
+++ compat/zlib/contrib/README.contrib
@@ -1,6 +1,6 @@
1
-All files under this contrib directory are UNSUPPORTED. There were
1
+All files under this contrib directory are UNSUPPORTED. They were
22
provided by users of zlib and were not tested by the authors of zlib.
33
Use at your own risk. Please contact the authors of the contributions
44
for help about these, not the zlib authors. Thanks.
55
66
77
88
DELETED compat/zlib/contrib/amd64/amd64-match.S
99
DELETED compat/zlib/contrib/asm686/README.686
1010
DELETED compat/zlib/contrib/asm686/match.S
--- compat/zlib/contrib/README.contrib
+++ compat/zlib/contrib/README.contrib
@@ -1,6 +1,6 @@
1 All files under this contrib directory are UNSUPPORTED. There were
2 provided by users of zlib and were not tested by the authors of zlib.
3 Use at your own risk. Please contact the authors of the contributions
4 for help about these, not the zlib authors. Thanks.
5
6
7
8 ELETED compat/zlib/contrib/amd64/amd64-match.S
9 ELETED compat/zlib/contrib/asm686/README.686
10 ELETED compat/zlib/contrib/asm686/match.S
--- compat/zlib/contrib/README.contrib
+++ compat/zlib/contrib/README.contrib
@@ -1,6 +1,6 @@
1 All files under this contrib directory are UNSUPPORTED. They were
2 provided by users of zlib and were not tested by the authors of zlib.
3 Use at your own risk. Please contact the authors of the contributions
4 for help about these, not the zlib authors. Thanks.
5
6
7
8 ELETED compat/zlib/contrib/amd64/amd64-match.S
9 ELETED compat/zlib/contrib/asm686/README.686
10 ELETED compat/zlib/contrib/asm686/match.S
D compat/zlib/contrib/amd64/amd64-match.S
-452
--- a/compat/zlib/contrib/amd64/amd64-match.S
+++ b/compat/zlib/contrib/amd64/amd64-match.S
@@ -1,452 +0,0 @@
1
-/*
2
- * match.S -- optimized version of longest_match()
3
- * based on the similar work by Gilles Vollant, and Brian Raiter, written 1998
4
- *
5
- * This is free software; you can redistribute it and/or modify it
6
- * under the terms of the BSD License. Use by owners of Che Guevarra
7
- * parafernalia is prohibited, where possible, and highly discouraged
8
- * elsewhere.
9
- */
10
-
11
-#ifndef NO_UNDERLINE
12
-# define match_init _match_init
13
-# define longest_match _longest_match
14
-#endif
15
-
16
-#define scanend ebx
17
-#define scanendw bx
18
-#define chainlenwmask edx /* high word: current chain len low word: s->wmask */
19
-#define curmatch rsi
20
-#define curmatchd esi
21
-#define windowbestlen r8
22
-#define scanalign r9
23
-#define scanalignd r9d
24
-#define window r10
25
-#define bestlen r11
26
-#define bestlend r11d
27
-#define scanstart r12d
28
-#define scanstartw r12w
29
-#define scan r13
30
-#define nicematch r14d
31
-#define limit r15
32
-#define limitd r15d
33
-#define prev rcx
34
-
35
-/*
36
- * The 258 is a "magic number, not a parameter -- changing it
37
- * breaks the hell loose
38
- */
39
-#define MAX_MATCH (258)
40
-#define MIN_MATCH (3)
41
-#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1)
42
-#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7)
43
-
44
-/* stack frame offsets */
45
-#define LocalVarsSize (112)
46
-#define _chainlenwmask ( 8-LocalVarsSize)(%rsp)
47
-#define _windowbestlen (16-LocalVarsSize)(%rsp)
48
-#define save_r14 (24-LocalVarsSize)(%rsp)
49
-#define save_rsi (32-LocalVarsSize)(%rsp)
50
-#define save_rbx (40-LocalVarsSize)(%rsp)
51
-#define save_r12 (56-LocalVarsSize)(%rsp)
52
-#define save_r13 (64-LocalVarsSize)(%rsp)
53
-#define save_r15 (80-LocalVarsSize)(%rsp)
54
-
55
-
56
-.globl match_init, longest_match
57
-
58
-/*
59
- * On AMD64 the first argument of a function (in our case -- the pointer to
60
- * deflate_state structure) is passed in %rdi, hence our offsets below are
61
- * all off of that.
62
- */
63
-
64
-/* you can check the structure offset by running
65
-
66
-#include <stdlib.h>
67
-#include <stdio.h>
68
-#include "deflate.h"
69
-
70
-void print_depl()
71
-{
72
-deflate_state ds;
73
-deflate_state *s=&ds;
74
-printf("size pointer=%u\n",(int)sizeof(void*));
75
-
76
-printf("#define dsWSize (%3u)(%%rdi)\n",(int)(((char*)&(s->w_size))-((char*)s)));
77
-printf("#define dsWMask (%3u)(%%rdi)\n",(int)(((char*)&(s->w_mask))-((char*)s)));
78
-printf("#define dsWindow (%3u)(%%rdi)\n",(int)(((char*)&(s->window))-((char*)s)));
79
-printf("#define dsPrev (%3u)(%%rdi)\n",(int)(((char*)&(s->prev))-((char*)s)));
80
-printf("#define dsMatchLen (%3u)(%%rdi)\n",(int)(((char*)&(s->match_length))-((char*)s)));
81
-printf("#define dsPrevMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_match))-((char*)s)));
82
-printf("#define dsStrStart (%3u)(%%rdi)\n",(int)(((char*)&(s->strstart))-((char*)s)));
83
-printf("#define dsMatchStart (%3u)(%%rdi)\n",(int)(((char*)&(s->match_start))-((char*)s)));
84
-printf("#define dsLookahead (%3u)(%%rdi)\n",(int)(((char*)&(s->lookahead))-((char*)s)));
85
-printf("#define dsPrevLen (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_length))-((char*)s)));
86
-printf("#define dsMaxChainLen (%3u)(%%rdi)\n",(int)(((char*)&(s->max_chain_length))-((char*)s)));
87
-printf("#define dsGoodMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->good_match))-((char*)s)));
88
-printf("#define dsNiceMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->nice_match))-((char*)s)));
89
-}
90
-
91
-*/
92
-
93
-
94
-/*
95
- to compile for XCode 3.2 on MacOSX x86_64
96
- - run "gcc -g -c -DXCODE_MAC_X64_STRUCTURE amd64-match.S"
97
- */
98
-
99
-
100
-#ifndef CURRENT_LINX_XCODE_MAC_X64_STRUCTURE
101
-#define dsWSize ( 68)(%rdi)
102
-#define dsWMask ( 76)(%rdi)
103
-#define dsWindow ( 80)(%rdi)
104
-#define dsPrev ( 96)(%rdi)
105
-#define dsMatchLen (144)(%rdi)
106
-#define dsPrevMatch (148)(%rdi)
107
-#define dsStrStart (156)(%rdi)
108
-#define dsMatchStart (160)(%rdi)
109
-#define dsLookahead (164)(%rdi)
110
-#define dsPrevLen (168)(%rdi)
111
-#define dsMaxChainLen (172)(%rdi)
112
-#define dsGoodMatch (188)(%rdi)
113
-#define dsNiceMatch (192)(%rdi)
114
-
115
-#else
116
-
117
-#ifndef STRUCT_OFFSET
118
-# define STRUCT_OFFSET (0)
119
-#endif
120
-
121
-
122
-#define dsWSize ( 56 + STRUCT_OFFSET)(%rdi)
123
-#define dsWMask ( 64 + STRUCT_OFFSET)(%rdi)
124
-#define dsWindow ( 72 + STRUCT_OFFSET)(%rdi)
125
-#define dsPrev ( 88 + STRUCT_OFFSET)(%rdi)
126
-#define dsMatchLen (136 + STRUCT_OFFSET)(%rdi)
127
-#define dsPrevMatch (140 + STRUCT_OFFSET)(%rdi)
128
-#define dsStrStart (148 + STRUCT_OFFSET)(%rdi)
129
-#define dsMatchStart (152 + STRUCT_OFFSET)(%rdi)
130
-#define dsLookahead (156 + STRUCT_OFFSET)(%rdi)
131
-#define dsPrevLen (160 + STRUCT_OFFSET)(%rdi)
132
-#define dsMaxChainLen (164 + STRUCT_OFFSET)(%rdi)
133
-#define dsGoodMatch (180 + STRUCT_OFFSET)(%rdi)
134
-#define dsNiceMatch (184 + STRUCT_OFFSET)(%rdi)
135
-
136
-#endif
137
-
138
-
139
-
140
-
141
-.text
142
-
143
-/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
144
-
145
-longest_match:
146
-/*
147
- * Retrieve the function arguments. %curmatch will hold cur_match
148
- * throughout the entire function (passed via rsi on amd64).
149
- * rdi will hold the pointer to the deflate_state (first arg on amd64)
150
- */
151
- mov %rsi, save_rsi
152
- mov %rbx, save_rbx
153
- mov %r12, save_r12
154
- mov %r13, save_r13
155
- mov %r14, save_r14
156
- mov %r15, save_r15
157
-
158
-/* uInt wmask = s->w_mask; */
159
-/* unsigned chain_length = s->max_chain_length; */
160
-/* if (s->prev_length >= s->good_match) { */
161
-/* chain_length >>= 2; */
162
-/* } */
163
-
164
- movl dsPrevLen, %eax
165
- movl dsGoodMatch, %ebx
166
- cmpl %ebx, %eax
167
- movl dsWMask, %eax
168
- movl dsMaxChainLen, %chainlenwmask
169
- jl LastMatchGood
170
- shrl $2, %chainlenwmask
171
-LastMatchGood:
172
-
173
-/* chainlen is decremented once beforehand so that the function can */
174
-/* use the sign flag instead of the zero flag for the exit test. */
175
-/* It is then shifted into the high word, to make room for the wmask */
176
-/* value, which it will always accompany. */
177
-
178
- decl %chainlenwmask
179
- shll $16, %chainlenwmask
180
- orl %eax, %chainlenwmask
181
-
182
-/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */
183
-
184
- movl dsNiceMatch, %eax
185
- movl dsLookahead, %ebx
186
- cmpl %eax, %ebx
187
- jl LookaheadLess
188
- movl %eax, %ebx
189
-LookaheadLess: movl %ebx, %nicematch
190
-
191
-/* register Bytef *scan = s->window + s->strstart; */
192
-
193
- mov dsWindow, %window
194
- movl dsStrStart, %limitd
195
- lea (%limit, %window), %scan
196
-
197
-/* Determine how many bytes the scan ptr is off from being */
198
-/* dword-aligned. */
199
-
200
- mov %scan, %scanalign
201
- negl %scanalignd
202
- andl $3, %scanalignd
203
-
204
-/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */
205
-/* s->strstart - (IPos)MAX_DIST(s) : NIL; */
206
-
207
- movl dsWSize, %eax
208
- subl $MIN_LOOKAHEAD, %eax
209
- xorl %ecx, %ecx
210
- subl %eax, %limitd
211
- cmovng %ecx, %limitd
212
-
213
-/* int best_len = s->prev_length; */
214
-
215
- movl dsPrevLen, %bestlend
216
-
217
-/* Store the sum of s->window + best_len in %windowbestlen locally, and in memory. */
218
-
219
- lea (%window, %bestlen), %windowbestlen
220
- mov %windowbestlen, _windowbestlen
221
-
222
-/* register ush scan_start = *(ushf*)scan; */
223
-/* register ush scan_end = *(ushf*)(scan+best_len-1); */
224
-/* Posf *prev = s->prev; */
225
-
226
- movzwl (%scan), %scanstart
227
- movzwl -1(%scan, %bestlen), %scanend
228
- mov dsPrev, %prev
229
-
230
-/* Jump into the main loop. */
231
-
232
- movl %chainlenwmask, _chainlenwmask
233
- jmp LoopEntry
234
-
235
-.balign 16
236
-
237
-/* do {
238
- * match = s->window + cur_match;
239
- * if (*(ushf*)(match+best_len-1) != scan_end ||
240
- * *(ushf*)match != scan_start) continue;
241
- * [...]
242
- * } while ((cur_match = prev[cur_match & wmask]) > limit
243
- * && --chain_length != 0);
244
- *
245
- * Here is the inner loop of the function. The function will spend the
246
- * majority of its time in this loop, and majority of that time will
247
- * be spent in the first ten instructions.
248
- */
249
-LookupLoop:
250
- andl %chainlenwmask, %curmatchd
251
- movzwl (%prev, %curmatch, 2), %curmatchd
252
- cmpl %limitd, %curmatchd
253
- jbe LeaveNow
254
- subl $0x00010000, %chainlenwmask
255
- js LeaveNow
256
-LoopEntry: cmpw -1(%windowbestlen, %curmatch), %scanendw
257
- jne LookupLoop
258
- cmpw %scanstartw, (%window, %curmatch)
259
- jne LookupLoop
260
-
261
-/* Store the current value of chainlen. */
262
- movl %chainlenwmask, _chainlenwmask
263
-
264
-/* %scan is the string under scrutiny, and %prev to the string we */
265
-/* are hoping to match it up with. In actuality, %esi and %edi are */
266
-/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */
267
-/* initialized to -(MAX_MATCH_8 - scanalign). */
268
-
269
- mov $(-MAX_MATCH_8), %rdx
270
- lea (%curmatch, %window), %windowbestlen
271
- lea MAX_MATCH_8(%windowbestlen, %scanalign), %windowbestlen
272
- lea MAX_MATCH_8(%scan, %scanalign), %prev
273
-
274
-/* the prefetching below makes very little difference... */
275
- prefetcht1 (%windowbestlen, %rdx)
276
- prefetcht1 (%prev, %rdx)
277
-
278
-/*
279
- * Test the strings for equality, 8 bytes at a time. At the end,
280
- * adjust %rdx so that it is offset to the exact byte that mismatched.
281
- *
282
- * It should be confessed that this loop usually does not represent
283
- * much of the total running time. Replacing it with a more
284
- * straightforward "rep cmpsb" would not drastically degrade
285
- * performance -- unrolling it, for example, makes no difference.
286
- */
287
-
288
-#undef USE_SSE /* works, but is 6-7% slower, than non-SSE... */
289
-
290
-LoopCmps:
291
-#ifdef USE_SSE
292
- /* Preload the SSE registers */
293
- movdqu (%windowbestlen, %rdx), %xmm1
294
- movdqu (%prev, %rdx), %xmm2
295
- pcmpeqb %xmm2, %xmm1
296
- movdqu 16(%windowbestlen, %rdx), %xmm3
297
- movdqu 16(%prev, %rdx), %xmm4
298
- pcmpeqb %xmm4, %xmm3
299
- movdqu 32(%windowbestlen, %rdx), %xmm5
300
- movdqu 32(%prev, %rdx), %xmm6
301
- pcmpeqb %xmm6, %xmm5
302
- movdqu 48(%windowbestlen, %rdx), %xmm7
303
- movdqu 48(%prev, %rdx), %xmm8
304
- pcmpeqb %xmm8, %xmm7
305
-
306
- /* Check the comparisions' results */
307
- pmovmskb %xmm1, %rax
308
- notw %ax
309
- bsfw %ax, %ax
310
- jnz LeaveLoopCmps
311
-
312
- /* this is the only iteration of the loop with a possibility of having
313
- incremented rdx by 0x108 (each loop iteration add 16*4 = 0x40
314
- and (0x40*4)+8=0x108 */
315
- add $8, %rdx
316
- jz LenMaximum
317
- add $8, %rdx
318
-
319
-
320
- pmovmskb %xmm3, %rax
321
- notw %ax
322
- bsfw %ax, %ax
323
- jnz LeaveLoopCmps
324
-
325
-
326
- add $16, %rdx
327
-
328
-
329
- pmovmskb %xmm5, %rax
330
- notw %ax
331
- bsfw %ax, %ax
332
- jnz LeaveLoopCmps
333
-
334
- add $16, %rdx
335
-
336
-
337
- pmovmskb %xmm7, %rax
338
- notw %ax
339
- bsfw %ax, %ax
340
- jnz LeaveLoopCmps
341
-
342
- add $16, %rdx
343
-
344
- jmp LoopCmps
345
-LeaveLoopCmps: add %rax, %rdx
346
-#else
347
- mov (%windowbestlen, %rdx), %rax
348
- xor (%prev, %rdx), %rax
349
- jnz LeaveLoopCmps
350
-
351
- mov 8(%windowbestlen, %rdx), %rax
352
- xor 8(%prev, %rdx), %rax
353
- jnz LeaveLoopCmps8
354
-
355
- mov 16(%windowbestlen, %rdx), %rax
356
- xor 16(%prev, %rdx), %rax
357
- jnz LeaveLoopCmps16
358
-
359
- add $24, %rdx
360
- jnz LoopCmps
361
- jmp LenMaximum
362
-# if 0
363
-/*
364
- * This three-liner is tantalizingly simple, but bsf is a slow instruction,
365
- * and the complicated alternative down below is quite a bit faster. Sad...
366
- */
367
-
368
-LeaveLoopCmps: bsf %rax, %rax /* find the first non-zero bit */
369
- shrl $3, %eax /* divide by 8 to get the byte */
370
- add %rax, %rdx
371
-# else
372
-LeaveLoopCmps16:
373
- add $8, %rdx
374
-LeaveLoopCmps8:
375
- add $8, %rdx
376
-LeaveLoopCmps: testl $0xFFFFFFFF, %eax /* Check the first 4 bytes */
377
- jnz Check16
378
- add $4, %rdx
379
- shr $32, %rax
380
-Check16: testw $0xFFFF, %ax
381
- jnz LenLower
382
- add $2, %rdx
383
- shrl $16, %eax
384
-LenLower: subb $1, %al
385
- adc $0, %rdx
386
-# endif
387
-#endif
388
-
389
-/* Calculate the length of the match. If it is longer than MAX_MATCH, */
390
-/* then automatically accept it as the best possible match and leave. */
391
-
392
- lea (%prev, %rdx), %rax
393
- sub %scan, %rax
394
- cmpl $MAX_MATCH, %eax
395
- jge LenMaximum
396
-
397
-/* If the length of the match is not longer than the best match we */
398
-/* have so far, then forget it and return to the lookup loop. */
399
-
400
- cmpl %bestlend, %eax
401
- jg LongerMatch
402
- mov _windowbestlen, %windowbestlen
403
- mov dsPrev, %prev
404
- movl _chainlenwmask, %edx
405
- jmp LookupLoop
406
-
407
-/* s->match_start = cur_match; */
408
-/* best_len = len; */
409
-/* if (len >= nice_match) break; */
410
-/* scan_end = *(ushf*)(scan+best_len-1); */
411
-
412
-LongerMatch:
413
- movl %eax, %bestlend
414
- movl %curmatchd, dsMatchStart
415
- cmpl %nicematch, %eax
416
- jge LeaveNow
417
-
418
- lea (%window, %bestlen), %windowbestlen
419
- mov %windowbestlen, _windowbestlen
420
-
421
- movzwl -1(%scan, %rax), %scanend
422
- mov dsPrev, %prev
423
- movl _chainlenwmask, %chainlenwmask
424
- jmp LookupLoop
425
-
426
-/* Accept the current string, with the maximum possible length. */
427
-
428
-LenMaximum:
429
- movl $MAX_MATCH, %bestlend
430
- movl %curmatchd, dsMatchStart
431
-
432
-/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */
433
-/* return s->lookahead; */
434
-
435
-LeaveNow:
436
- movl dsLookahead, %eax
437
- cmpl %eax, %bestlend
438
- cmovngl %bestlend, %eax
439
-LookaheadRet:
440
-
441
-/* Restore the registers and return from whence we came. */
442
-
443
- mov save_rsi, %rsi
444
- mov save_rbx, %rbx
445
- mov save_r12, %r12
446
- mov save_r13, %r13
447
- mov save_r14, %r14
448
- mov save_r15, %r15
449
-
450
- ret
451
-
452
-match_init: ret
--- a/compat/zlib/contrib/amd64/amd64-match.S
+++ b/compat/zlib/contrib/amd64/amd64-match.S
@@ -1,452 +0,0 @@
1 /*
2 * match.S -- optimized version of longest_match()
3 * based on the similar work by Gilles Vollant, and Brian Raiter, written 1998
4 *
5 * This is free software; you can redistribute it and/or modify it
6 * under the terms of the BSD License. Use by owners of Che Guevarra
7 * parafernalia is prohibited, where possible, and highly discouraged
8 * elsewhere.
9 */
10
11 #ifndef NO_UNDERLINE
12 # define match_init _match_init
13 # define longest_match _longest_match
14 #endif
15
16 #define scanend ebx
17 #define scanendw bx
18 #define chainlenwmask edx /* high word: current chain len low word: s->wmask */
19 #define curmatch rsi
20 #define curmatchd esi
21 #define windowbestlen r8
22 #define scanalign r9
23 #define scanalignd r9d
24 #define window r10
25 #define bestlen r11
26 #define bestlend r11d
27 #define scanstart r12d
28 #define scanstartw r12w
29 #define scan r13
30 #define nicematch r14d
31 #define limit r15
32 #define limitd r15d
33 #define prev rcx
34
35 /*
36 * The 258 is a "magic number, not a parameter -- changing it
37 * breaks the hell loose
38 */
39 #define MAX_MATCH (258)
40 #define MIN_MATCH (3)
41 #define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1)
42 #define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7)
43
44 /* stack frame offsets */
45 #define LocalVarsSize (112)
46 #define _chainlenwmask ( 8-LocalVarsSize)(%rsp)
47 #define _windowbestlen (16-LocalVarsSize)(%rsp)
48 #define save_r14 (24-LocalVarsSize)(%rsp)
49 #define save_rsi (32-LocalVarsSize)(%rsp)
50 #define save_rbx (40-LocalVarsSize)(%rsp)
51 #define save_r12 (56-LocalVarsSize)(%rsp)
52 #define save_r13 (64-LocalVarsSize)(%rsp)
53 #define save_r15 (80-LocalVarsSize)(%rsp)
54
55
56 .globl match_init, longest_match
57
58 /*
59 * On AMD64 the first argument of a function (in our case -- the pointer to
60 * deflate_state structure) is passed in %rdi, hence our offsets below are
61 * all off of that.
62 */
63
64 /* you can check the structure offset by running
65
66 #include <stdlib.h>
67 #include <stdio.h>
68 #include "deflate.h"
69
70 void print_depl()
71 {
72 deflate_state ds;
73 deflate_state *s=&ds;
74 printf("size pointer=%u\n",(int)sizeof(void*));
75
76 printf("#define dsWSize (%3u)(%%rdi)\n",(int)(((char*)&(s->w_size))-((char*)s)));
77 printf("#define dsWMask (%3u)(%%rdi)\n",(int)(((char*)&(s->w_mask))-((char*)s)));
78 printf("#define dsWindow (%3u)(%%rdi)\n",(int)(((char*)&(s->window))-((char*)s)));
79 printf("#define dsPrev (%3u)(%%rdi)\n",(int)(((char*)&(s->prev))-((char*)s)));
80 printf("#define dsMatchLen (%3u)(%%rdi)\n",(int)(((char*)&(s->match_length))-((char*)s)));
81 printf("#define dsPrevMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_match))-((char*)s)));
82 printf("#define dsStrStart (%3u)(%%rdi)\n",(int)(((char*)&(s->strstart))-((char*)s)));
83 printf("#define dsMatchStart (%3u)(%%rdi)\n",(int)(((char*)&(s->match_start))-((char*)s)));
84 printf("#define dsLookahead (%3u)(%%rdi)\n",(int)(((char*)&(s->lookahead))-((char*)s)));
85 printf("#define dsPrevLen (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_length))-((char*)s)));
86 printf("#define dsMaxChainLen (%3u)(%%rdi)\n",(int)(((char*)&(s->max_chain_length))-((char*)s)));
87 printf("#define dsGoodMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->good_match))-((char*)s)));
88 printf("#define dsNiceMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->nice_match))-((char*)s)));
89 }
90
91 */
92
93
94 /*
95 to compile for XCode 3.2 on MacOSX x86_64
96 - run "gcc -g -c -DXCODE_MAC_X64_STRUCTURE amd64-match.S"
97 */
98
99
100 #ifndef CURRENT_LINX_XCODE_MAC_X64_STRUCTURE
101 #define dsWSize ( 68)(%rdi)
102 #define dsWMask ( 76)(%rdi)
103 #define dsWindow ( 80)(%rdi)
104 #define dsPrev ( 96)(%rdi)
105 #define dsMatchLen (144)(%rdi)
106 #define dsPrevMatch (148)(%rdi)
107 #define dsStrStart (156)(%rdi)
108 #define dsMatchStart (160)(%rdi)
109 #define dsLookahead (164)(%rdi)
110 #define dsPrevLen (168)(%rdi)
111 #define dsMaxChainLen (172)(%rdi)
112 #define dsGoodMatch (188)(%rdi)
113 #define dsNiceMatch (192)(%rdi)
114
115 #else
116
117 #ifndef STRUCT_OFFSET
118 # define STRUCT_OFFSET (0)
119 #endif
120
121
122 #define dsWSize ( 56 + STRUCT_OFFSET)(%rdi)
123 #define dsWMask ( 64 + STRUCT_OFFSET)(%rdi)
124 #define dsWindow ( 72 + STRUCT_OFFSET)(%rdi)
125 #define dsPrev ( 88 + STRUCT_OFFSET)(%rdi)
126 #define dsMatchLen (136 + STRUCT_OFFSET)(%rdi)
127 #define dsPrevMatch (140 + STRUCT_OFFSET)(%rdi)
128 #define dsStrStart (148 + STRUCT_OFFSET)(%rdi)
129 #define dsMatchStart (152 + STRUCT_OFFSET)(%rdi)
130 #define dsLookahead (156 + STRUCT_OFFSET)(%rdi)
131 #define dsPrevLen (160 + STRUCT_OFFSET)(%rdi)
132 #define dsMaxChainLen (164 + STRUCT_OFFSET)(%rdi)
133 #define dsGoodMatch (180 + STRUCT_OFFSET)(%rdi)
134 #define dsNiceMatch (184 + STRUCT_OFFSET)(%rdi)
135
136 #endif
137
138
139
140
141 .text
142
143 /* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
144
145 longest_match:
146 /*
147 * Retrieve the function arguments. %curmatch will hold cur_match
148 * throughout the entire function (passed via rsi on amd64).
149 * rdi will hold the pointer to the deflate_state (first arg on amd64)
150 */
151 mov %rsi, save_rsi
152 mov %rbx, save_rbx
153 mov %r12, save_r12
154 mov %r13, save_r13
155 mov %r14, save_r14
156 mov %r15, save_r15
157
158 /* uInt wmask = s->w_mask; */
159 /* unsigned chain_length = s->max_chain_length; */
160 /* if (s->prev_length >= s->good_match) { */
161 /* chain_length >>= 2; */
162 /* } */
163
164 movl dsPrevLen, %eax
165 movl dsGoodMatch, %ebx
166 cmpl %ebx, %eax
167 movl dsWMask, %eax
168 movl dsMaxChainLen, %chainlenwmask
169 jl LastMatchGood
170 shrl $2, %chainlenwmask
171 LastMatchGood:
172
173 /* chainlen is decremented once beforehand so that the function can */
174 /* use the sign flag instead of the zero flag for the exit test. */
175 /* It is then shifted into the high word, to make room for the wmask */
176 /* value, which it will always accompany. */
177
178 decl %chainlenwmask
179 shll $16, %chainlenwmask
180 orl %eax, %chainlenwmask
181
182 /* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */
183
184 movl dsNiceMatch, %eax
185 movl dsLookahead, %ebx
186 cmpl %eax, %ebx
187 jl LookaheadLess
188 movl %eax, %ebx
189 LookaheadLess: movl %ebx, %nicematch
190
191 /* register Bytef *scan = s->window + s->strstart; */
192
193 mov dsWindow, %window
194 movl dsStrStart, %limitd
195 lea (%limit, %window), %scan
196
197 /* Determine how many bytes the scan ptr is off from being */
198 /* dword-aligned. */
199
200 mov %scan, %scanalign
201 negl %scanalignd
202 andl $3, %scanalignd
203
204 /* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */
205 /* s->strstart - (IPos)MAX_DIST(s) : NIL; */
206
207 movl dsWSize, %eax
208 subl $MIN_LOOKAHEAD, %eax
209 xorl %ecx, %ecx
210 subl %eax, %limitd
211 cmovng %ecx, %limitd
212
213 /* int best_len = s->prev_length; */
214
215 movl dsPrevLen, %bestlend
216
217 /* Store the sum of s->window + best_len in %windowbestlen locally, and in memory. */
218
219 lea (%window, %bestlen), %windowbestlen
220 mov %windowbestlen, _windowbestlen
221
222 /* register ush scan_start = *(ushf*)scan; */
223 /* register ush scan_end = *(ushf*)(scan+best_len-1); */
224 /* Posf *prev = s->prev; */
225
226 movzwl (%scan), %scanstart
227 movzwl -1(%scan, %bestlen), %scanend
228 mov dsPrev, %prev
229
230 /* Jump into the main loop. */
231
232 movl %chainlenwmask, _chainlenwmask
233 jmp LoopEntry
234
235 .balign 16
236
237 /* do {
238 * match = s->window + cur_match;
239 * if (*(ushf*)(match+best_len-1) != scan_end ||
240 * *(ushf*)match != scan_start) continue;
241 * [...]
242 * } while ((cur_match = prev[cur_match & wmask]) > limit
243 * && --chain_length != 0);
244 *
245 * Here is the inner loop of the function. The function will spend the
246 * majority of its time in this loop, and majority of that time will
247 * be spent in the first ten instructions.
248 */
249 LookupLoop:
250 andl %chainlenwmask, %curmatchd
251 movzwl (%prev, %curmatch, 2), %curmatchd
252 cmpl %limitd, %curmatchd
253 jbe LeaveNow
254 subl $0x00010000, %chainlenwmask
255 js LeaveNow
256 LoopEntry: cmpw -1(%windowbestlen, %curmatch), %scanendw
257 jne LookupLoop
258 cmpw %scanstartw, (%window, %curmatch)
259 jne LookupLoop
260
261 /* Store the current value of chainlen. */
262 movl %chainlenwmask, _chainlenwmask
263
264 /* %scan is the string under scrutiny, and %prev to the string we */
265 /* are hoping to match it up with. In actuality, %esi and %edi are */
266 /* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */
267 /* initialized to -(MAX_MATCH_8 - scanalign). */
268
269 mov $(-MAX_MATCH_8), %rdx
270 lea (%curmatch, %window), %windowbestlen
271 lea MAX_MATCH_8(%windowbestlen, %scanalign), %windowbestlen
272 lea MAX_MATCH_8(%scan, %scanalign), %prev
273
274 /* the prefetching below makes very little difference... */
275 prefetcht1 (%windowbestlen, %rdx)
276 prefetcht1 (%prev, %rdx)
277
278 /*
279 * Test the strings for equality, 8 bytes at a time. At the end,
280 * adjust %rdx so that it is offset to the exact byte that mismatched.
281 *
282 * It should be confessed that this loop usually does not represent
283 * much of the total running time. Replacing it with a more
284 * straightforward "rep cmpsb" would not drastically degrade
285 * performance -- unrolling it, for example, makes no difference.
286 */
287
288 #undef USE_SSE /* works, but is 6-7% slower, than non-SSE... */
289
290 LoopCmps:
291 #ifdef USE_SSE
292 /* Preload the SSE registers */
293 movdqu (%windowbestlen, %rdx), %xmm1
294 movdqu (%prev, %rdx), %xmm2
295 pcmpeqb %xmm2, %xmm1
296 movdqu 16(%windowbestlen, %rdx), %xmm3
297 movdqu 16(%prev, %rdx), %xmm4
298 pcmpeqb %xmm4, %xmm3
299 movdqu 32(%windowbestlen, %rdx), %xmm5
300 movdqu 32(%prev, %rdx), %xmm6
301 pcmpeqb %xmm6, %xmm5
302 movdqu 48(%windowbestlen, %rdx), %xmm7
303 movdqu 48(%prev, %rdx), %xmm8
304 pcmpeqb %xmm8, %xmm7
305
306 /* Check the comparisions' results */
307 pmovmskb %xmm1, %rax
308 notw %ax
309 bsfw %ax, %ax
310 jnz LeaveLoopCmps
311
312 /* this is the only iteration of the loop with a possibility of having
313 incremented rdx by 0x108 (each loop iteration add 16*4 = 0x40
314 and (0x40*4)+8=0x108 */
315 add $8, %rdx
316 jz LenMaximum
317 add $8, %rdx
318
319
320 pmovmskb %xmm3, %rax
321 notw %ax
322 bsfw %ax, %ax
323 jnz LeaveLoopCmps
324
325
326 add $16, %rdx
327
328
329 pmovmskb %xmm5, %rax
330 notw %ax
331 bsfw %ax, %ax
332 jnz LeaveLoopCmps
333
334 add $16, %rdx
335
336
337 pmovmskb %xmm7, %rax
338 notw %ax
339 bsfw %ax, %ax
340 jnz LeaveLoopCmps
341
342 add $16, %rdx
343
344 jmp LoopCmps
345 LeaveLoopCmps: add %rax, %rdx
346 #else
347 mov (%windowbestlen, %rdx), %rax
348 xor (%prev, %rdx), %rax
349 jnz LeaveLoopCmps
350
351 mov 8(%windowbestlen, %rdx), %rax
352 xor 8(%prev, %rdx), %rax
353 jnz LeaveLoopCmps8
354
355 mov 16(%windowbestlen, %rdx), %rax
356 xor 16(%prev, %rdx), %rax
357 jnz LeaveLoopCmps16
358
359 add $24, %rdx
360 jnz LoopCmps
361 jmp LenMaximum
362 # if 0
363 /*
364 * This three-liner is tantalizingly simple, but bsf is a slow instruction,
365 * and the complicated alternative down below is quite a bit faster. Sad...
366 */
367
368 LeaveLoopCmps: bsf %rax, %rax /* find the first non-zero bit */
369 shrl $3, %eax /* divide by 8 to get the byte */
370 add %rax, %rdx
371 # else
372 LeaveLoopCmps16:
373 add $8, %rdx
374 LeaveLoopCmps8:
375 add $8, %rdx
376 LeaveLoopCmps: testl $0xFFFFFFFF, %eax /* Check the first 4 bytes */
377 jnz Check16
378 add $4, %rdx
379 shr $32, %rax
380 Check16: testw $0xFFFF, %ax
381 jnz LenLower
382 add $2, %rdx
383 shrl $16, %eax
384 LenLower: subb $1, %al
385 adc $0, %rdx
386 # endif
387 #endif
388
389 /* Calculate the length of the match. If it is longer than MAX_MATCH, */
390 /* then automatically accept it as the best possible match and leave. */
391
392 lea (%prev, %rdx), %rax
393 sub %scan, %rax
394 cmpl $MAX_MATCH, %eax
395 jge LenMaximum
396
397 /* If the length of the match is not longer than the best match we */
398 /* have so far, then forget it and return to the lookup loop. */
399
400 cmpl %bestlend, %eax
401 jg LongerMatch
402 mov _windowbestlen, %windowbestlen
403 mov dsPrev, %prev
404 movl _chainlenwmask, %edx
405 jmp LookupLoop
406
407 /* s->match_start = cur_match; */
408 /* best_len = len; */
409 /* if (len >= nice_match) break; */
410 /* scan_end = *(ushf*)(scan+best_len-1); */
411
412 LongerMatch:
413 movl %eax, %bestlend
414 movl %curmatchd, dsMatchStart
415 cmpl %nicematch, %eax
416 jge LeaveNow
417
418 lea (%window, %bestlen), %windowbestlen
419 mov %windowbestlen, _windowbestlen
420
421 movzwl -1(%scan, %rax), %scanend
422 mov dsPrev, %prev
423 movl _chainlenwmask, %chainlenwmask
424 jmp LookupLoop
425
426 /* Accept the current string, with the maximum possible length. */
427
428 LenMaximum:
429 movl $MAX_MATCH, %bestlend
430 movl %curmatchd, dsMatchStart
431
432 /* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */
433 /* return s->lookahead; */
434
435 LeaveNow:
436 movl dsLookahead, %eax
437 cmpl %eax, %bestlend
438 cmovngl %bestlend, %eax
439 LookaheadRet:
440
441 /* Restore the registers and return from whence we came. */
442
443 mov save_rsi, %rsi
444 mov save_rbx, %rbx
445 mov save_r12, %r12
446 mov save_r13, %r13
447 mov save_r14, %r14
448 mov save_r15, %r15
449
450 ret
451
452 match_init: ret
--- a/compat/zlib/contrib/amd64/amd64-match.S
+++ b/compat/zlib/contrib/amd64/amd64-match.S
@@ -1,452 +0,0 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
D compat/zlib/contrib/asm686/README.686
-51
--- a/compat/zlib/contrib/asm686/README.686
+++ b/compat/zlib/contrib/asm686/README.686
@@ -1,51 +0,0 @@
1
-This is a patched version of zlib, modified to use
2
-Pentium-Pro-optimized assembly code in the deflation algorithm. The
3
-files changed/added by this patch are:
4
-
5
-README.686
6
-match.S
7
-
8
-The speedup that this patch provides varies, depending on whether the
9
-compiler used to build the original version of zlib falls afoul of the
10
-PPro's speed traps. My own tests show a speedup of around 10-20% at
11
-the default compression level, and 20-30% using -9, against a version
12
-compiled using gcc 2.7.2.3. Your mileage may vary.
13
-
14
-Note that this code has been tailored for the PPro/PII in particular,
15
-and will not perform particuarly well on a Pentium.
16
-
17
-If you are using an assembler other than GNU as, you will have to
18
-translate match.S to use your assembler's syntax. (Have fun.)
19
-
20
-Brian Raiter
21
-[email protected]
22
-April, 1998
23
-
24
-
25
-Added for zlib 1.1.3:
26
-
27
-The patches come from
28
-http://www.muppetlabs.com/~breadbox/software/assembly.html
29
-
30
-To compile zlib with this asm file, copy match.S to the zlib directory
31
-then do:
32
-
33
-CFLAGS="-O3 -DASMV" ./configure
34
-make OBJA=match.o
35
-
36
-
37
-Update:
38
-
39
-I've been ignoring these assembly routines for years, believing that
40
-gcc's generated code had caught up with it sometime around gcc 2.95
41
-and the major rearchitecting of the Pentium 4. However, I recently
42
-learned that, despite what I believed, this code still has some life
43
-in it. On the Pentium 4 and AMD64 chips, it continues to run about 8%
44
-faster than the code produced by gcc 4.1.
45
-
46
-In acknowledgement of its continuing usefulness, I've altered the
47
-license to match that of the rest of zlib. Share and Enjoy!
48
-
49
-Brian Raiter
50
-[email protected]
51
-April, 2007
--- a/compat/zlib/contrib/asm686/README.686
+++ b/compat/zlib/contrib/asm686/README.686
@@ -1,51 +0,0 @@
1 This is a patched version of zlib, modified to use
2 Pentium-Pro-optimized assembly code in the deflation algorithm. The
3 files changed/added by this patch are:
4
5 README.686
6 match.S
7
8 The speedup that this patch provides varies, depending on whether the
9 compiler used to build the original version of zlib falls afoul of the
10 PPro's speed traps. My own tests show a speedup of around 10-20% at
11 the default compression level, and 20-30% using -9, against a version
12 compiled using gcc 2.7.2.3. Your mileage may vary.
13
14 Note that this code has been tailored for the PPro/PII in particular,
15 and will not perform particuarly well on a Pentium.
16
17 If you are using an assembler other than GNU as, you will have to
18 translate match.S to use your assembler's syntax. (Have fun.)
19
20 Brian Raiter
21 [email protected]
22 April, 1998
23
24
25 Added for zlib 1.1.3:
26
27 The patches come from
28 http://www.muppetlabs.com/~breadbox/software/assembly.html
29
30 To compile zlib with this asm file, copy match.S to the zlib directory
31 then do:
32
33 CFLAGS="-O3 -DASMV" ./configure
34 make OBJA=match.o
35
36
37 Update:
38
39 I've been ignoring these assembly routines for years, believing that
40 gcc's generated code had caught up with it sometime around gcc 2.95
41 and the major rearchitecting of the Pentium 4. However, I recently
42 learned that, despite what I believed, this code still has some life
43 in it. On the Pentium 4 and AMD64 chips, it continues to run about 8%
44 faster than the code produced by gcc 4.1.
45
46 In acknowledgement of its continuing usefulness, I've altered the
47 license to match that of the rest of zlib. Share and Enjoy!
48
49 Brian Raiter
50 [email protected]
51 April, 2007
--- a/compat/zlib/contrib/asm686/README.686
+++ b/compat/zlib/contrib/asm686/README.686
@@ -1,51 +0,0 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
D compat/zlib/contrib/asm686/match.S
-357
--- a/compat/zlib/contrib/asm686/match.S
+++ b/compat/zlib/contrib/asm686/match.S
@@ -1,357 +0,0 @@
1
-/* match.S -- x86 assembly version of the zlib longest_match() function.
2
- * Optimized for the Intel 686 chips (PPro and later).
3
- *
4
- * Copyright (C) 1998, 2007 Brian Raiter <[email protected]>
5
- *
6
- * This software is provided 'as-is', without any express or implied
7
- * warranty. In no event will the author be held liable for any damages
8
- * arising from the use of this software.
9
- *
10
- * Permission is granted to anyone to use this software for any purpose,
11
- * including commercial applications, and to alter it and redistribute it
12
- * freely, subject to the following restrictions:
13
- *
14
- * 1. The origin of this software must not be misrepresented; you must not
15
- * claim that you wrote the original software. If you use this software
16
- * in a product, an acknowledgment in the product documentation would be
17
- * appreciated but is not required.
18
- * 2. Altered source versions must be plainly marked as such, and must not be
19
- * misrepresented as being the original software.
20
- * 3. This notice may not be removed or altered from any source distribution.
21
- */
22
-
23
-#ifndef NO_UNDERLINE
24
-#define match_init _match_init
25
-#define longest_match _longest_match
26
-#endif
27
-
28
-#define MAX_MATCH (258)
29
-#define MIN_MATCH (3)
30
-#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1)
31
-#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7)
32
-
33
-/* stack frame offsets */
34
-
35
-#define chainlenwmask 0 /* high word: current chain len */
36
- /* low word: s->wmask */
37
-#define window 4 /* local copy of s->window */
38
-#define windowbestlen 8 /* s->window + bestlen */
39
-#define scanstart 16 /* first two bytes of string */
40
-#define scanend 12 /* last two bytes of string */
41
-#define scanalign 20 /* dword-misalignment of string */
42
-#define nicematch 24 /* a good enough match size */
43
-#define bestlen 28 /* size of best match so far */
44
-#define scan 32 /* ptr to string wanting match */
45
-
46
-#define LocalVarsSize (36)
47
-/* saved ebx 36 */
48
-/* saved edi 40 */
49
-/* saved esi 44 */
50
-/* saved ebp 48 */
51
-/* return address 52 */
52
-#define deflatestate 56 /* the function arguments */
53
-#define curmatch 60
54
-
55
-/* All the +zlib1222add offsets are due to the addition of fields
56
- * in zlib in the deflate_state structure since the asm code was first written
57
- * (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
58
- * (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
59
- * if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
60
- */
61
-
62
-#define zlib1222add (8)
63
-
64
-#define dsWSize (36+zlib1222add)
65
-#define dsWMask (44+zlib1222add)
66
-#define dsWindow (48+zlib1222add)
67
-#define dsPrev (56+zlib1222add)
68
-#define dsMatchLen (88+zlib1222add)
69
-#define dsPrevMatch (92+zlib1222add)
70
-#define dsStrStart (100+zlib1222add)
71
-#define dsMatchStart (104+zlib1222add)
72
-#define dsLookahead (108+zlib1222add)
73
-#define dsPrevLen (112+zlib1222add)
74
-#define dsMaxChainLen (116+zlib1222add)
75
-#define dsGoodMatch (132+zlib1222add)
76
-#define dsNiceMatch (136+zlib1222add)
77
-
78
-
79
-.file "match.S"
80
-
81
-.globl match_init, longest_match
82
-
83
-.text
84
-
85
-/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
86
-.cfi_sections .debug_frame
87
-
88
-longest_match:
89
-
90
-.cfi_startproc
91
-/* Save registers that the compiler may be using, and adjust %esp to */
92
-/* make room for our stack frame. */
93
-
94
- pushl %ebp
95
- .cfi_def_cfa_offset 8
96
- .cfi_offset ebp, -8
97
- pushl %edi
98
- .cfi_def_cfa_offset 12
99
- pushl %esi
100
- .cfi_def_cfa_offset 16
101
- pushl %ebx
102
- .cfi_def_cfa_offset 20
103
- subl $LocalVarsSize, %esp
104
- .cfi_def_cfa_offset LocalVarsSize+20
105
-
106
-/* Retrieve the function arguments. %ecx will hold cur_match */
107
-/* throughout the entire function. %edx will hold the pointer to the */
108
-/* deflate_state structure during the function's setup (before */
109
-/* entering the main loop). */
110
-
111
- movl deflatestate(%esp), %edx
112
- movl curmatch(%esp), %ecx
113
-
114
-/* uInt wmask = s->w_mask; */
115
-/* unsigned chain_length = s->max_chain_length; */
116
-/* if (s->prev_length >= s->good_match) { */
117
-/* chain_length >>= 2; */
118
-/* } */
119
-
120
- movl dsPrevLen(%edx), %eax
121
- movl dsGoodMatch(%edx), %ebx
122
- cmpl %ebx, %eax
123
- movl dsWMask(%edx), %eax
124
- movl dsMaxChainLen(%edx), %ebx
125
- jl LastMatchGood
126
- shrl $2, %ebx
127
-LastMatchGood:
128
-
129
-/* chainlen is decremented once beforehand so that the function can */
130
-/* use the sign flag instead of the zero flag for the exit test. */
131
-/* It is then shifted into the high word, to make room for the wmask */
132
-/* value, which it will always accompany. */
133
-
134
- decl %ebx
135
- shll $16, %ebx
136
- orl %eax, %ebx
137
- movl %ebx, chainlenwmask(%esp)
138
-
139
-/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */
140
-
141
- movl dsNiceMatch(%edx), %eax
142
- movl dsLookahead(%edx), %ebx
143
- cmpl %eax, %ebx
144
- jl LookaheadLess
145
- movl %eax, %ebx
146
-LookaheadLess: movl %ebx, nicematch(%esp)
147
-
148
-/* register Bytef *scan = s->window + s->strstart; */
149
-
150
- movl dsWindow(%edx), %esi
151
- movl %esi, window(%esp)
152
- movl dsStrStart(%edx), %ebp
153
- lea (%esi,%ebp), %edi
154
- movl %edi, scan(%esp)
155
-
156
-/* Determine how many bytes the scan ptr is off from being */
157
-/* dword-aligned. */
158
-
159
- movl %edi, %eax
160
- negl %eax
161
- andl $3, %eax
162
- movl %eax, scanalign(%esp)
163
-
164
-/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */
165
-/* s->strstart - (IPos)MAX_DIST(s) : NIL; */
166
-
167
- movl dsWSize(%edx), %eax
168
- subl $MIN_LOOKAHEAD, %eax
169
- subl %eax, %ebp
170
- jg LimitPositive
171
- xorl %ebp, %ebp
172
-LimitPositive:
173
-
174
-/* int best_len = s->prev_length; */
175
-
176
- movl dsPrevLen(%edx), %eax
177
- movl %eax, bestlen(%esp)
178
-
179
-/* Store the sum of s->window + best_len in %esi locally, and in %esi. */
180
-
181
- addl %eax, %esi
182
- movl %esi, windowbestlen(%esp)
183
-
184
-/* register ush scan_start = *(ushf*)scan; */
185
-/* register ush scan_end = *(ushf*)(scan+best_len-1); */
186
-/* Posf *prev = s->prev; */
187
-
188
- movzwl (%edi), %ebx
189
- movl %ebx, scanstart(%esp)
190
- movzwl -1(%edi,%eax), %ebx
191
- movl %ebx, scanend(%esp)
192
- movl dsPrev(%edx), %edi
193
-
194
-/* Jump into the main loop. */
195
-
196
- movl chainlenwmask(%esp), %edx
197
- jmp LoopEntry
198
-
199
-.balign 16
200
-
201
-/* do {
202
- * match = s->window + cur_match;
203
- * if (*(ushf*)(match+best_len-1) != scan_end ||
204
- * *(ushf*)match != scan_start) continue;
205
- * [...]
206
- * } while ((cur_match = prev[cur_match & wmask]) > limit
207
- * && --chain_length != 0);
208
- *
209
- * Here is the inner loop of the function. The function will spend the
210
- * majority of its time in this loop, and majority of that time will
211
- * be spent in the first ten instructions.
212
- *
213
- * Within this loop:
214
- * %ebx = scanend
215
- * %ecx = curmatch
216
- * %edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
217
- * %esi = windowbestlen - i.e., (window + bestlen)
218
- * %edi = prev
219
- * %ebp = limit
220
- */
221
-LookupLoop:
222
- andl %edx, %ecx
223
- movzwl (%edi,%ecx,2), %ecx
224
- cmpl %ebp, %ecx
225
- jbe LeaveNow
226
- subl $0x00010000, %edx
227
- js LeaveNow
228
-LoopEntry: movzwl -1(%esi,%ecx), %eax
229
- cmpl %ebx, %eax
230
- jnz LookupLoop
231
- movl window(%esp), %eax
232
- movzwl (%eax,%ecx), %eax
233
- cmpl scanstart(%esp), %eax
234
- jnz LookupLoop
235
-
236
-/* Store the current value of chainlen. */
237
-
238
- movl %edx, chainlenwmask(%esp)
239
-
240
-/* Point %edi to the string under scrutiny, and %esi to the string we */
241
-/* are hoping to match it up with. In actuality, %esi and %edi are */
242
-/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */
243
-/* initialized to -(MAX_MATCH_8 - scanalign). */
244
-
245
- movl window(%esp), %esi
246
- movl scan(%esp), %edi
247
- addl %ecx, %esi
248
- movl scanalign(%esp), %eax
249
- movl $(-MAX_MATCH_8), %edx
250
- lea MAX_MATCH_8(%edi,%eax), %edi
251
- lea MAX_MATCH_8(%esi,%eax), %esi
252
-
253
-/* Test the strings for equality, 8 bytes at a time. At the end,
254
- * adjust %edx so that it is offset to the exact byte that mismatched.
255
- *
256
- * We already know at this point that the first three bytes of the
257
- * strings match each other, and they can be safely passed over before
258
- * starting the compare loop. So what this code does is skip over 0-3
259
- * bytes, as much as necessary in order to dword-align the %edi
260
- * pointer. (%esi will still be misaligned three times out of four.)
261
- *
262
- * It should be confessed that this loop usually does not represent
263
- * much of the total running time. Replacing it with a more
264
- * straightforward "rep cmpsb" would not drastically degrade
265
- * performance.
266
- */
267
-LoopCmps:
268
- movl (%esi,%edx), %eax
269
- xorl (%edi,%edx), %eax
270
- jnz LeaveLoopCmps
271
- movl 4(%esi,%edx), %eax
272
- xorl 4(%edi,%edx), %eax
273
- jnz LeaveLoopCmps4
274
- addl $8, %edx
275
- jnz LoopCmps
276
- jmp LenMaximum
277
-LeaveLoopCmps4: addl $4, %edx
278
-LeaveLoopCmps: testl $0x0000FFFF, %eax
279
- jnz LenLower
280
- addl $2, %edx
281
- shrl $16, %eax
282
-LenLower: subb $1, %al
283
- adcl $0, %edx
284
-
285
-/* Calculate the length of the match. If it is longer than MAX_MATCH, */
286
-/* then automatically accept it as the best possible match and leave. */
287
-
288
- lea (%edi,%edx), %eax
289
- movl scan(%esp), %edi
290
- subl %edi, %eax
291
- cmpl $MAX_MATCH, %eax
292
- jge LenMaximum
293
-
294
-/* If the length of the match is not longer than the best match we */
295
-/* have so far, then forget it and return to the lookup loop. */
296
-
297
- movl deflatestate(%esp), %edx
298
- movl bestlen(%esp), %ebx
299
- cmpl %ebx, %eax
300
- jg LongerMatch
301
- movl windowbestlen(%esp), %esi
302
- movl dsPrev(%edx), %edi
303
- movl scanend(%esp), %ebx
304
- movl chainlenwmask(%esp), %edx
305
- jmp LookupLoop
306
-
307
-/* s->match_start = cur_match; */
308
-/* best_len = len; */
309
-/* if (len >= nice_match) break; */
310
-/* scan_end = *(ushf*)(scan+best_len-1); */
311
-
312
-LongerMatch: movl nicematch(%esp), %ebx
313
- movl %eax, bestlen(%esp)
314
- movl %ecx, dsMatchStart(%edx)
315
- cmpl %ebx, %eax
316
- jge LeaveNow
317
- movl window(%esp), %esi
318
- addl %eax, %esi
319
- movl %esi, windowbestlen(%esp)
320
- movzwl -1(%edi,%eax), %ebx
321
- movl dsPrev(%edx), %edi
322
- movl %ebx, scanend(%esp)
323
- movl chainlenwmask(%esp), %edx
324
- jmp LookupLoop
325
-
326
-/* Accept the current string, with the maximum possible length. */
327
-
328
-LenMaximum: movl deflatestate(%esp), %edx
329
- movl $MAX_MATCH, bestlen(%esp)
330
- movl %ecx, dsMatchStart(%edx)
331
-
332
-/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */
333
-/* return s->lookahead; */
334
-
335
-LeaveNow:
336
- movl deflatestate(%esp), %edx
337
- movl bestlen(%esp), %ebx
338
- movl dsLookahead(%edx), %eax
339
- cmpl %eax, %ebx
340
- jg LookaheadRet
341
- movl %ebx, %eax
342
-LookaheadRet:
343
-
344
-/* Restore the stack and return from whence we came. */
345
-
346
- addl $LocalVarsSize, %esp
347
- .cfi_def_cfa_offset 20
348
- popl %ebx
349
- .cfi_def_cfa_offset 16
350
- popl %esi
351
- .cfi_def_cfa_offset 12
352
- popl %edi
353
- .cfi_def_cfa_offset 8
354
- popl %ebp
355
- .cfi_def_cfa_offset 4
356
-.cfi_endproc
357
-match_init: ret
--- a/compat/zlib/contrib/asm686/match.S
+++ b/compat/zlib/contrib/asm686/match.S
@@ -1,357 +0,0 @@
1 /* match.S -- x86 assembly version of the zlib longest_match() function.
2 * Optimized for the Intel 686 chips (PPro and later).
3 *
4 * Copyright (C) 1998, 2007 Brian Raiter <[email protected]>
5 *
6 * This software is provided 'as-is', without any express or implied
7 * warranty. In no event will the author be held liable for any damages
8 * arising from the use of this software.
9 *
10 * Permission is granted to anyone to use this software for any purpose,
11 * including commercial applications, and to alter it and redistribute it
12 * freely, subject to the following restrictions:
13 *
14 * 1. The origin of this software must not be misrepresented; you must not
15 * claim that you wrote the original software. If you use this software
16 * in a product, an acknowledgment in the product documentation would be
17 * appreciated but is not required.
18 * 2. Altered source versions must be plainly marked as such, and must not be
19 * misrepresented as being the original software.
20 * 3. This notice may not be removed or altered from any source distribution.
21 */
22
23 #ifndef NO_UNDERLINE
24 #define match_init _match_init
25 #define longest_match _longest_match
26 #endif
27
28 #define MAX_MATCH (258)
29 #define MIN_MATCH (3)
30 #define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1)
31 #define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7)
32
33 /* stack frame offsets */
34
35 #define chainlenwmask 0 /* high word: current chain len */
36 /* low word: s->wmask */
37 #define window 4 /* local copy of s->window */
38 #define windowbestlen 8 /* s->window + bestlen */
39 #define scanstart 16 /* first two bytes of string */
40 #define scanend 12 /* last two bytes of string */
41 #define scanalign 20 /* dword-misalignment of string */
42 #define nicematch 24 /* a good enough match size */
43 #define bestlen 28 /* size of best match so far */
44 #define scan 32 /* ptr to string wanting match */
45
46 #define LocalVarsSize (36)
47 /* saved ebx 36 */
48 /* saved edi 40 */
49 /* saved esi 44 */
50 /* saved ebp 48 */
51 /* return address 52 */
52 #define deflatestate 56 /* the function arguments */
53 #define curmatch 60
54
55 /* All the +zlib1222add offsets are due to the addition of fields
56 * in zlib in the deflate_state structure since the asm code was first written
57 * (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
58 * (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
59 * if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
60 */
61
62 #define zlib1222add (8)
63
64 #define dsWSize (36+zlib1222add)
65 #define dsWMask (44+zlib1222add)
66 #define dsWindow (48+zlib1222add)
67 #define dsPrev (56+zlib1222add)
68 #define dsMatchLen (88+zlib1222add)
69 #define dsPrevMatch (92+zlib1222add)
70 #define dsStrStart (100+zlib1222add)
71 #define dsMatchStart (104+zlib1222add)
72 #define dsLookahead (108+zlib1222add)
73 #define dsPrevLen (112+zlib1222add)
74 #define dsMaxChainLen (116+zlib1222add)
75 #define dsGoodMatch (132+zlib1222add)
76 #define dsNiceMatch (136+zlib1222add)
77
78
79 .file "match.S"
80
81 .globl match_init, longest_match
82
83 .text
84
85 /* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
86 .cfi_sections .debug_frame
87
88 longest_match:
89
90 .cfi_startproc
91 /* Save registers that the compiler may be using, and adjust %esp to */
92 /* make room for our stack frame. */
93
94 pushl %ebp
95 .cfi_def_cfa_offset 8
96 .cfi_offset ebp, -8
97 pushl %edi
98 .cfi_def_cfa_offset 12
99 pushl %esi
100 .cfi_def_cfa_offset 16
101 pushl %ebx
102 .cfi_def_cfa_offset 20
103 subl $LocalVarsSize, %esp
104 .cfi_def_cfa_offset LocalVarsSize+20
105
106 /* Retrieve the function arguments. %ecx will hold cur_match */
107 /* throughout the entire function. %edx will hold the pointer to the */
108 /* deflate_state structure during the function's setup (before */
109 /* entering the main loop). */
110
111 movl deflatestate(%esp), %edx
112 movl curmatch(%esp), %ecx
113
114 /* uInt wmask = s->w_mask; */
115 /* unsigned chain_length = s->max_chain_length; */
116 /* if (s->prev_length >= s->good_match) { */
117 /* chain_length >>= 2; */
118 /* } */
119
120 movl dsPrevLen(%edx), %eax
121 movl dsGoodMatch(%edx), %ebx
122 cmpl %ebx, %eax
123 movl dsWMask(%edx), %eax
124 movl dsMaxChainLen(%edx), %ebx
125 jl LastMatchGood
126 shrl $2, %ebx
127 LastMatchGood:
128
129 /* chainlen is decremented once beforehand so that the function can */
130 /* use the sign flag instead of the zero flag for the exit test. */
131 /* It is then shifted into the high word, to make room for the wmask */
132 /* value, which it will always accompany. */
133
134 decl %ebx
135 shll $16, %ebx
136 orl %eax, %ebx
137 movl %ebx, chainlenwmask(%esp)
138
139 /* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */
140
141 movl dsNiceMatch(%edx), %eax
142 movl dsLookahead(%edx), %ebx
143 cmpl %eax, %ebx
144 jl LookaheadLess
145 movl %eax, %ebx
146 LookaheadLess: movl %ebx, nicematch(%esp)
147
148 /* register Bytef *scan = s->window + s->strstart; */
149
150 movl dsWindow(%edx), %esi
151 movl %esi, window(%esp)
152 movl dsStrStart(%edx), %ebp
153 lea (%esi,%ebp), %edi
154 movl %edi, scan(%esp)
155
156 /* Determine how many bytes the scan ptr is off from being */
157 /* dword-aligned. */
158
159 movl %edi, %eax
160 negl %eax
161 andl $3, %eax
162 movl %eax, scanalign(%esp)
163
164 /* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */
165 /* s->strstart - (IPos)MAX_DIST(s) : NIL; */
166
167 movl dsWSize(%edx), %eax
168 subl $MIN_LOOKAHEAD, %eax
169 subl %eax, %ebp
170 jg LimitPositive
171 xorl %ebp, %ebp
172 LimitPositive:
173
174 /* int best_len = s->prev_length; */
175
176 movl dsPrevLen(%edx), %eax
177 movl %eax, bestlen(%esp)
178
179 /* Store the sum of s->window + best_len in %esi locally, and in %esi. */
180
181 addl %eax, %esi
182 movl %esi, windowbestlen(%esp)
183
184 /* register ush scan_start = *(ushf*)scan; */
185 /* register ush scan_end = *(ushf*)(scan+best_len-1); */
186 /* Posf *prev = s->prev; */
187
188 movzwl (%edi), %ebx
189 movl %ebx, scanstart(%esp)
190 movzwl -1(%edi,%eax), %ebx
191 movl %ebx, scanend(%esp)
192 movl dsPrev(%edx), %edi
193
194 /* Jump into the main loop. */
195
196 movl chainlenwmask(%esp), %edx
197 jmp LoopEntry
198
199 .balign 16
200
201 /* do {
202 * match = s->window + cur_match;
203 * if (*(ushf*)(match+best_len-1) != scan_end ||
204 * *(ushf*)match != scan_start) continue;
205 * [...]
206 * } while ((cur_match = prev[cur_match & wmask]) > limit
207 * && --chain_length != 0);
208 *
209 * Here is the inner loop of the function. The function will spend the
210 * majority of its time in this loop, and majority of that time will
211 * be spent in the first ten instructions.
212 *
213 * Within this loop:
214 * %ebx = scanend
215 * %ecx = curmatch
216 * %edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
217 * %esi = windowbestlen - i.e., (window + bestlen)
218 * %edi = prev
219 * %ebp = limit
220 */
221 LookupLoop:
222 andl %edx, %ecx
223 movzwl (%edi,%ecx,2), %ecx
224 cmpl %ebp, %ecx
225 jbe LeaveNow
226 subl $0x00010000, %edx
227 js LeaveNow
228 LoopEntry: movzwl -1(%esi,%ecx), %eax
229 cmpl %ebx, %eax
230 jnz LookupLoop
231 movl window(%esp), %eax
232 movzwl (%eax,%ecx), %eax
233 cmpl scanstart(%esp), %eax
234 jnz LookupLoop
235
236 /* Store the current value of chainlen. */
237
238 movl %edx, chainlenwmask(%esp)
239
240 /* Point %edi to the string under scrutiny, and %esi to the string we */
241 /* are hoping to match it up with. In actuality, %esi and %edi are */
242 /* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */
243 /* initialized to -(MAX_MATCH_8 - scanalign). */
244
245 movl window(%esp), %esi
246 movl scan(%esp), %edi
247 addl %ecx, %esi
248 movl scanalign(%esp), %eax
249 movl $(-MAX_MATCH_8), %edx
250 lea MAX_MATCH_8(%edi,%eax), %edi
251 lea MAX_MATCH_8(%esi,%eax), %esi
252
253 /* Test the strings for equality, 8 bytes at a time. At the end,
254 * adjust %edx so that it is offset to the exact byte that mismatched.
255 *
256 * We already know at this point that the first three bytes of the
257 * strings match each other, and they can be safely passed over before
258 * starting the compare loop. So what this code does is skip over 0-3
259 * bytes, as much as necessary in order to dword-align the %edi
260 * pointer. (%esi will still be misaligned three times out of four.)
261 *
262 * It should be confessed that this loop usually does not represent
263 * much of the total running time. Replacing it with a more
264 * straightforward "rep cmpsb" would not drastically degrade
265 * performance.
266 */
267 LoopCmps:
268 movl (%esi,%edx), %eax
269 xorl (%edi,%edx), %eax
270 jnz LeaveLoopCmps
271 movl 4(%esi,%edx), %eax
272 xorl 4(%edi,%edx), %eax
273 jnz LeaveLoopCmps4
274 addl $8, %edx
275 jnz LoopCmps
276 jmp LenMaximum
277 LeaveLoopCmps4: addl $4, %edx
278 LeaveLoopCmps: testl $0x0000FFFF, %eax
279 jnz LenLower
280 addl $2, %edx
281 shrl $16, %eax
282 LenLower: subb $1, %al
283 adcl $0, %edx
284
285 /* Calculate the length of the match. If it is longer than MAX_MATCH, */
286 /* then automatically accept it as the best possible match and leave. */
287
288 lea (%edi,%edx), %eax
289 movl scan(%esp), %edi
290 subl %edi, %eax
291 cmpl $MAX_MATCH, %eax
292 jge LenMaximum
293
294 /* If the length of the match is not longer than the best match we */
295 /* have so far, then forget it and return to the lookup loop. */
296
297 movl deflatestate(%esp), %edx
298 movl bestlen(%esp), %ebx
299 cmpl %ebx, %eax
300 jg LongerMatch
301 movl windowbestlen(%esp), %esi
302 movl dsPrev(%edx), %edi
303 movl scanend(%esp), %ebx
304 movl chainlenwmask(%esp), %edx
305 jmp LookupLoop
306
307 /* s->match_start = cur_match; */
308 /* best_len = len; */
309 /* if (len >= nice_match) break; */
310 /* scan_end = *(ushf*)(scan+best_len-1); */
311
312 LongerMatch: movl nicematch(%esp), %ebx
313 movl %eax, bestlen(%esp)
314 movl %ecx, dsMatchStart(%edx)
315 cmpl %ebx, %eax
316 jge LeaveNow
317 movl window(%esp), %esi
318 addl %eax, %esi
319 movl %esi, windowbestlen(%esp)
320 movzwl -1(%edi,%eax), %ebx
321 movl dsPrev(%edx), %edi
322 movl %ebx, scanend(%esp)
323 movl chainlenwmask(%esp), %edx
324 jmp LookupLoop
325
326 /* Accept the current string, with the maximum possible length. */
327
328 LenMaximum: movl deflatestate(%esp), %edx
329 movl $MAX_MATCH, bestlen(%esp)
330 movl %ecx, dsMatchStart(%edx)
331
332 /* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */
333 /* return s->lookahead; */
334
335 LeaveNow:
336 movl deflatestate(%esp), %edx
337 movl bestlen(%esp), %ebx
338 movl dsLookahead(%edx), %eax
339 cmpl %eax, %ebx
340 jg LookaheadRet
341 movl %ebx, %eax
342 LookaheadRet:
343
344 /* Restore the stack and return from whence we came. */
345
346 addl $LocalVarsSize, %esp
347 .cfi_def_cfa_offset 20
348 popl %ebx
349 .cfi_def_cfa_offset 16
350 popl %esi
351 .cfi_def_cfa_offset 12
352 popl %edi
353 .cfi_def_cfa_offset 8
354 popl %ebp
355 .cfi_def_cfa_offset 4
356 .cfi_endproc
357 match_init: ret
--- a/compat/zlib/contrib/asm686/match.S
+++ b/compat/zlib/contrib/asm686/match.S
@@ -1,357 +0,0 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- compat/zlib/contrib/delphi/ZLib.pas
+++ compat/zlib/contrib/delphi/ZLib.pas
@@ -150,11 +150,11 @@
150150
BufSize = number of bytes in OutBuf }
151151
procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
152152
const OutBuf: Pointer; BufSize: Integer);
153153
154154
const
155
- zlib_version = '1.2.12';
155
+ zlib_version = '1.2.13';
156156
157157
type
158158
EZlibError = class(Exception);
159159
ECompressionError = class(EZlibError);
160160
EDecompressionError = class(EZlibError);
161161
--- compat/zlib/contrib/delphi/ZLib.pas
+++ compat/zlib/contrib/delphi/ZLib.pas
@@ -150,11 +150,11 @@
150 BufSize = number of bytes in OutBuf }
151 procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
152 const OutBuf: Pointer; BufSize: Integer);
153
154 const
155 zlib_version = '1.2.12';
156
157 type
158 EZlibError = class(Exception);
159 ECompressionError = class(EZlibError);
160 EDecompressionError = class(EZlibError);
161
--- compat/zlib/contrib/delphi/ZLib.pas
+++ compat/zlib/contrib/delphi/ZLib.pas
@@ -150,11 +150,11 @@
150 BufSize = number of bytes in OutBuf }
151 procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
152 const OutBuf: Pointer; BufSize: Integer);
153
154 const
155 zlib_version = '1.2.13';
156
157 type
158 EZlibError = class(Exception);
159 ECompressionError = class(EZlibError);
160 EDecompressionError = class(EZlibError);
161
--- compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
+++ compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
@@ -154,11 +154,11 @@
154154
#region Info tests
155155
[Test]
156156
public void Info_Version()
157157
{
158158
Info info = new Info();
159
- Assert.AreEqual("1.2.12", Info.Version);
159
+ Assert.AreEqual("1.2.13", Info.Version);
160160
Assert.AreEqual(32, info.SizeOfUInt);
161161
Assert.AreEqual(32, info.SizeOfULong);
162162
Assert.AreEqual(32, info.SizeOfPointer);
163163
Assert.AreEqual(32, info.SizeOfOffset);
164164
}
165165
--- compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
+++ compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
@@ -154,11 +154,11 @@
154 #region Info tests
155 [Test]
156 public void Info_Version()
157 {
158 Info info = new Info();
159 Assert.AreEqual("1.2.12", Info.Version);
160 Assert.AreEqual(32, info.SizeOfUInt);
161 Assert.AreEqual(32, info.SizeOfULong);
162 Assert.AreEqual(32, info.SizeOfPointer);
163 Assert.AreEqual(32, info.SizeOfOffset);
164 }
165
--- compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
+++ compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
@@ -154,11 +154,11 @@
154 #region Info tests
155 [Test]
156 public void Info_Version()
157 {
158 Info info = new Info();
159 Assert.AreEqual("1.2.13", Info.Version);
160 Assert.AreEqual(32, info.SizeOfUInt);
161 Assert.AreEqual(32, info.SizeOfULong);
162 Assert.AreEqual(32, info.SizeOfPointer);
163 Assert.AreEqual(32, info.SizeOfOffset);
164 }
165
--- compat/zlib/contrib/infback9/inftree9.c
+++ compat/zlib/contrib/infback9/inftree9.c
@@ -7,11 +7,11 @@
77
#include "inftree9.h"
88
99
#define MAXBITS 15
1010
1111
const char inflate9_copyright[] =
12
- " inflate9 1.2.12 Copyright 1995-2022 Mark Adler ";
12
+ " inflate9 1.2.13 Copyright 1995-2022 Mark Adler ";
1313
/*
1414
If you use the zlib library in a product, an acknowledgment is welcome
1515
in the documentation of your product. If for some reason you cannot
1616
include such an acknowledgment, I would appreciate that you keep this
1717
copyright string in the executable of your product.
@@ -62,11 +62,11 @@
6262
19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115,
6363
131, 163, 195, 227, 3, 0, 0};
6464
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
6565
128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
6666
130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
67
- 133, 133, 133, 133, 144, 199, 202};
67
+ 133, 133, 133, 133, 144, 194, 65};
6868
static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
6969
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
7070
65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
7171
4097, 6145, 8193, 12289, 16385, 24577, 32769, 49153};
7272
static const unsigned short dext[32] = { /* Distance codes 0..31 extra */
7373
--- compat/zlib/contrib/infback9/inftree9.c
+++ compat/zlib/contrib/infback9/inftree9.c
@@ -7,11 +7,11 @@
7 #include "inftree9.h"
8
9 #define MAXBITS 15
10
11 const char inflate9_copyright[] =
12 " inflate9 1.2.12 Copyright 1995-2022 Mark Adler ";
13 /*
14 If you use the zlib library in a product, an acknowledgment is welcome
15 in the documentation of your product. If for some reason you cannot
16 include such an acknowledgment, I would appreciate that you keep this
17 copyright string in the executable of your product.
@@ -62,11 +62,11 @@
62 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115,
63 131, 163, 195, 227, 3, 0, 0};
64 static const unsigned short lext[31] = { /* Length codes 257..285 extra */
65 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
66 130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
67 133, 133, 133, 133, 144, 199, 202};
68 static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
69 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
70 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
71 4097, 6145, 8193, 12289, 16385, 24577, 32769, 49153};
72 static const unsigned short dext[32] = { /* Distance codes 0..31 extra */
73
--- compat/zlib/contrib/infback9/inftree9.c
+++ compat/zlib/contrib/infback9/inftree9.c
@@ -7,11 +7,11 @@
7 #include "inftree9.h"
8
9 #define MAXBITS 15
10
11 const char inflate9_copyright[] =
12 " inflate9 1.2.13 Copyright 1995-2022 Mark Adler ";
13 /*
14 If you use the zlib library in a product, an acknowledgment is welcome
15 in the documentation of your product. If for some reason you cannot
16 include such an acknowledgment, I would appreciate that you keep this
17 copyright string in the executable of your product.
@@ -62,11 +62,11 @@
62 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115,
63 131, 163, 195, 227, 3, 0, 0};
64 static const unsigned short lext[31] = { /* Length codes 257..285 extra */
65 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
66 130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
67 133, 133, 133, 133, 144, 194, 65};
68 static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
69 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
70 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
71 4097, 6145, 8193, 12289, 16385, 24577, 32769, 49153};
72 static const unsigned short dext[32] = { /* Distance codes 0..31 extra */
73
--- compat/zlib/contrib/infback9/inftree9.h
+++ compat/zlib/contrib/infback9/inftree9.h
@@ -36,11 +36,11 @@
3636
*/
3737
3838
/* Maximum size of the dynamic table. The maximum number of code structures is
3939
1446, which is the sum of 852 for literal/length codes and 594 for distance
4040
codes. These values were found by exhaustive searches using the program
41
- examples/enough.c found in the zlib distribtution. The arguments to that
41
+ examples/enough.c found in the zlib distribution. The arguments to that
4242
program are the number of symbols, the initial root table size, and the
4343
maximum bit length of a code. "enough 286 9 15" for literal/length codes
4444
returns returns 852, and "enough 32 6 15" for distance codes returns 594.
4545
The initial root table size (9 or 6) is found in the fifth argument of the
4646
inflate_table() calls in infback9.c. If the root table size is changed,
4747
4848
DELETED compat/zlib/contrib/inflate86/inffas86.c
4949
DELETED compat/zlib/contrib/inflate86/inffast.S
5050
DELETED compat/zlib/contrib/masmx64/bld_ml64.bat
5151
DELETED compat/zlib/contrib/masmx64/gvmat64.asm
5252
DELETED compat/zlib/contrib/masmx64/inffas8664.c
5353
DELETED compat/zlib/contrib/masmx64/inffasx64.asm
5454
DELETED compat/zlib/contrib/masmx64/readme.txt
5555
DELETED compat/zlib/contrib/masmx86/bld_ml32.bat
5656
DELETED compat/zlib/contrib/masmx86/inffas32.asm
5757
DELETED compat/zlib/contrib/masmx86/match686.asm
5858
DELETED compat/zlib/contrib/masmx86/readme.txt
--- compat/zlib/contrib/infback9/inftree9.h
+++ compat/zlib/contrib/infback9/inftree9.h
@@ -36,11 +36,11 @@
36 */
37
38 /* Maximum size of the dynamic table. The maximum number of code structures is
39 1446, which is the sum of 852 for literal/length codes and 594 for distance
40 codes. These values were found by exhaustive searches using the program
41 examples/enough.c found in the zlib distribtution. The arguments to that
42 program are the number of symbols, the initial root table size, and the
43 maximum bit length of a code. "enough 286 9 15" for literal/length codes
44 returns returns 852, and "enough 32 6 15" for distance codes returns 594.
45 The initial root table size (9 or 6) is found in the fifth argument of the
46 inflate_table() calls in infback9.c. If the root table size is changed,
47
48 ELETED compat/zlib/contrib/inflate86/inffas86.c
49 ELETED compat/zlib/contrib/inflate86/inffast.S
50 ELETED compat/zlib/contrib/masmx64/bld_ml64.bat
51 ELETED compat/zlib/contrib/masmx64/gvmat64.asm
52 ELETED compat/zlib/contrib/masmx64/inffas8664.c
53 ELETED compat/zlib/contrib/masmx64/inffasx64.asm
54 ELETED compat/zlib/contrib/masmx64/readme.txt
55 ELETED compat/zlib/contrib/masmx86/bld_ml32.bat
56 ELETED compat/zlib/contrib/masmx86/inffas32.asm
57 ELETED compat/zlib/contrib/masmx86/match686.asm
58 ELETED compat/zlib/contrib/masmx86/readme.txt
--- compat/zlib/contrib/infback9/inftree9.h
+++ compat/zlib/contrib/infback9/inftree9.h
@@ -36,11 +36,11 @@
36 */
37
38 /* Maximum size of the dynamic table. The maximum number of code structures is
39 1446, which is the sum of 852 for literal/length codes and 594 for distance
40 codes. These values were found by exhaustive searches using the program
41 examples/enough.c found in the zlib distribution. The arguments to that
42 program are the number of symbols, the initial root table size, and the
43 maximum bit length of a code. "enough 286 9 15" for literal/length codes
44 returns returns 852, and "enough 32 6 15" for distance codes returns 594.
45 The initial root table size (9 or 6) is found in the fifth argument of the
46 inflate_table() calls in infback9.c. If the root table size is changed,
47
48 ELETED compat/zlib/contrib/inflate86/inffas86.c
49 ELETED compat/zlib/contrib/inflate86/inffast.S
50 ELETED compat/zlib/contrib/masmx64/bld_ml64.bat
51 ELETED compat/zlib/contrib/masmx64/gvmat64.asm
52 ELETED compat/zlib/contrib/masmx64/inffas8664.c
53 ELETED compat/zlib/contrib/masmx64/inffasx64.asm
54 ELETED compat/zlib/contrib/masmx64/readme.txt
55 ELETED compat/zlib/contrib/masmx86/bld_ml32.bat
56 ELETED compat/zlib/contrib/masmx86/inffas32.asm
57 ELETED compat/zlib/contrib/masmx86/match686.asm
58 ELETED compat/zlib/contrib/masmx86/readme.txt
D compat/zlib/contrib/inflate86/inffas86.c
-1157
--- a/compat/zlib/contrib/inflate86/inffas86.c
+++ b/compat/zlib/contrib/inflate86/inffas86.c
@@ -1,1157 +0,0 @@
1
-/* inffas86.c is a hand tuned assembler version of
2
- *
3
- * inffast.c -- fast decoding
4
- * Copyright (C) 1995-2003 Mark Adler
5
- * For conditions of distribution and use, see copyright notice in zlib.h
6
- *
7
- * Copyright (C) 2003 Chris Anderson <[email protected]>
8
- * Please use the copyright conditions above.
9
- *
10
- * Dec-29-2003 -- I added AMD64 inflate asm support. This version is also
11
- * slightly quicker on x86 systems because, instead of using rep movsb to copy
12
- * data, it uses rep movsw, which moves data in 2-byte chunks instead of single
13
- * bytes. I've tested the AMD64 code on a Fedora Core 1 + the x86_64 updates
14
- * from http://fedora.linux.duke.edu/fc1_x86_64
15
- * which is running on an Athlon 64 3000+ / Gigabyte GA-K8VT800M system with
16
- * 1GB ram. The 64-bit version is about 4% faster than the 32-bit version,
17
- * when decompressing mozilla-source-1.3.tar.gz.
18
- *
19
- * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from
20
- * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at
21
- * the moment. I have successfully compiled and tested this code with gcc2.96,
22
- * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S
23
- * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX
24
- * enabled. I will attempt to merge the MMX code into this version. Newer
25
- * versions of this and inffast.S can be found at
26
- * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/
27
- */
28
-
29
-#include "zutil.h"
30
-#include "inftrees.h"
31
-#include "inflate.h"
32
-#include "inffast.h"
33
-
34
-/* Mark Adler's comments from inffast.c: */
35
-
36
-/*
37
- Decode literal, length, and distance codes and write out the resulting
38
- literal and match bytes until either not enough input or output is
39
- available, an end-of-block is encountered, or a data error is encountered.
40
- When large enough input and output buffers are supplied to inflate(), for
41
- example, a 16K input buffer and a 64K output buffer, more than 95% of the
42
- inflate execution time is spent in this routine.
43
-
44
- Entry assumptions:
45
-
46
- state->mode == LEN
47
- strm->avail_in >= 6
48
- strm->avail_out >= 258
49
- start >= strm->avail_out
50
- state->bits < 8
51
-
52
- On return, state->mode is one of:
53
-
54
- LEN -- ran out of enough output space or enough available input
55
- TYPE -- reached end of block code, inflate() to interpret next block
56
- BAD -- error in block data
57
-
58
- Notes:
59
-
60
- - The maximum input bits used by a length/distance pair is 15 bits for the
61
- length code, 5 bits for the length extra, 15 bits for the distance code,
62
- and 13 bits for the distance extra. This totals 48 bits, or six bytes.
63
- Therefore if strm->avail_in >= 6, then there is enough input to avoid
64
- checking for available input while decoding.
65
-
66
- - The maximum bytes that a single length/distance pair can output is 258
67
- bytes, which is the maximum length that can be coded. inflate_fast()
68
- requires strm->avail_out >= 258 for each loop to avoid checking for
69
- output space.
70
- */
71
-void inflate_fast(strm, start)
72
-z_streamp strm;
73
-unsigned start; /* inflate()'s starting value for strm->avail_out */
74
-{
75
- struct inflate_state FAR *state;
76
- struct inffast_ar {
77
-/* 64 32 x86 x86_64 */
78
-/* ar offset register */
79
-/* 0 0 */ void *esp; /* esp save */
80
-/* 8 4 */ void *ebp; /* ebp save */
81
-/* 16 8 */ unsigned char FAR *in; /* esi rsi local strm->next_in */
82
-/* 24 12 */ unsigned char FAR *last; /* r9 while in < last */
83
-/* 32 16 */ unsigned char FAR *out; /* edi rdi local strm->next_out */
84
-/* 40 20 */ unsigned char FAR *beg; /* inflate()'s init next_out */
85
-/* 48 24 */ unsigned char FAR *end; /* r10 while out < end */
86
-/* 56 28 */ unsigned char FAR *window;/* size of window, wsize!=0 */
87
-/* 64 32 */ code const FAR *lcode; /* ebp rbp local strm->lencode */
88
-/* 72 36 */ code const FAR *dcode; /* r11 local strm->distcode */
89
-/* 80 40 */ unsigned long hold; /* edx rdx local strm->hold */
90
-/* 88 44 */ unsigned bits; /* ebx rbx local strm->bits */
91
-/* 92 48 */ unsigned wsize; /* window size */
92
-/* 96 52 */ unsigned write; /* window write index */
93
-/*100 56 */ unsigned lmask; /* r12 mask for lcode */
94
-/*104 60 */ unsigned dmask; /* r13 mask for dcode */
95
-/*108 64 */ unsigned len; /* r14 match length */
96
-/*112 68 */ unsigned dist; /* r15 match distance */
97
-/*116 72 */ unsigned status; /* set when state chng*/
98
- } ar;
99
-
100
-#if defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )
101
-#define PAD_AVAIL_IN 6
102
-#define PAD_AVAIL_OUT 258
103
-#else
104
-#define PAD_AVAIL_IN 5
105
-#define PAD_AVAIL_OUT 257
106
-#endif
107
-
108
- /* copy state to local variables */
109
- state = (struct inflate_state FAR *)strm->state;
110
- ar.in = strm->next_in;
111
- ar.last = ar.in + (strm->avail_in - PAD_AVAIL_IN);
112
- ar.out = strm->next_out;
113
- ar.beg = ar.out - (start - strm->avail_out);
114
- ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT);
115
- ar.wsize = state->wsize;
116
- ar.write = state->wnext;
117
- ar.window = state->window;
118
- ar.hold = state->hold;
119
- ar.bits = state->bits;
120
- ar.lcode = state->lencode;
121
- ar.dcode = state->distcode;
122
- ar.lmask = (1U << state->lenbits) - 1;
123
- ar.dmask = (1U << state->distbits) - 1;
124
-
125
- /* decode literals and length/distances until end-of-block or not enough
126
- input data or output space */
127
-
128
- /* align in on 1/2 hold size boundary */
129
- while (((unsigned long)(void *)ar.in & (sizeof(ar.hold) / 2 - 1)) != 0) {
130
- ar.hold += (unsigned long)*ar.in++ << ar.bits;
131
- ar.bits += 8;
132
- }
133
-
134
-#if defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )
135
- __asm__ __volatile__ (
136
-" leaq %0, %%rax\n"
137
-" movq %%rbp, 8(%%rax)\n" /* save regs rbp and rsp */
138
-" movq %%rsp, (%%rax)\n"
139
-" movq %%rax, %%rsp\n" /* make rsp point to &ar */
140
-" movq 16(%%rsp), %%rsi\n" /* rsi = in */
141
-" movq 32(%%rsp), %%rdi\n" /* rdi = out */
142
-" movq 24(%%rsp), %%r9\n" /* r9 = last */
143
-" movq 48(%%rsp), %%r10\n" /* r10 = end */
144
-" movq 64(%%rsp), %%rbp\n" /* rbp = lcode */
145
-" movq 72(%%rsp), %%r11\n" /* r11 = dcode */
146
-" movq 80(%%rsp), %%rdx\n" /* rdx = hold */
147
-" movl 88(%%rsp), %%ebx\n" /* ebx = bits */
148
-" movl 100(%%rsp), %%r12d\n" /* r12d = lmask */
149
-" movl 104(%%rsp), %%r13d\n" /* r13d = dmask */
150
- /* r14d = len */
151
- /* r15d = dist */
152
-" cld\n"
153
-" cmpq %%rdi, %%r10\n"
154
-" je .L_one_time\n" /* if only one decode left */
155
-" cmpq %%rsi, %%r9\n"
156
-" je .L_one_time\n"
157
-" jmp .L_do_loop\n"
158
-
159
-".L_one_time:\n"
160
-" movq %%r12, %%r8\n" /* r8 = lmask */
161
-" cmpb $32, %%bl\n"
162
-" ja .L_get_length_code_one_time\n"
163
-
164
-" lodsl\n" /* eax = *(uint *)in++ */
165
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
166
-" addb $32, %%bl\n" /* bits += 32 */
167
-" shlq %%cl, %%rax\n"
168
-" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */
169
-" jmp .L_get_length_code_one_time\n"
170
-
171
-".align 32,0x90\n"
172
-".L_while_test:\n"
173
-" cmpq %%rdi, %%r10\n"
174
-" jbe .L_break_loop\n"
175
-" cmpq %%rsi, %%r9\n"
176
-" jbe .L_break_loop\n"
177
-
178
-".L_do_loop:\n"
179
-" movq %%r12, %%r8\n" /* r8 = lmask */
180
-" cmpb $32, %%bl\n"
181
-" ja .L_get_length_code\n" /* if (32 < bits) */
182
-
183
-" lodsl\n" /* eax = *(uint *)in++ */
184
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
185
-" addb $32, %%bl\n" /* bits += 32 */
186
-" shlq %%cl, %%rax\n"
187
-" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */
188
-
189
-".L_get_length_code:\n"
190
-" andq %%rdx, %%r8\n" /* r8 &= hold */
191
-" movl (%%rbp,%%r8,4), %%eax\n" /* eax = lcode[hold & lmask] */
192
-
193
-" movb %%ah, %%cl\n" /* cl = this.bits */
194
-" subb %%ah, %%bl\n" /* bits -= this.bits */
195
-" shrq %%cl, %%rdx\n" /* hold >>= this.bits */
196
-
197
-" testb %%al, %%al\n"
198
-" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */
199
-
200
-" movq %%r12, %%r8\n" /* r8 = lmask */
201
-" shrl $16, %%eax\n" /* output this.val char */
202
-" stosb\n"
203
-
204
-".L_get_length_code_one_time:\n"
205
-" andq %%rdx, %%r8\n" /* r8 &= hold */
206
-" movl (%%rbp,%%r8,4), %%eax\n" /* eax = lcode[hold & lmask] */
207
-
208
-".L_dolen:\n"
209
-" movb %%ah, %%cl\n" /* cl = this.bits */
210
-" subb %%ah, %%bl\n" /* bits -= this.bits */
211
-" shrq %%cl, %%rdx\n" /* hold >>= this.bits */
212
-
213
-" testb %%al, %%al\n"
214
-" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */
215
-
216
-" shrl $16, %%eax\n" /* output this.val char */
217
-" stosb\n"
218
-" jmp .L_while_test\n"
219
-
220
-".align 32,0x90\n"
221
-".L_test_for_length_base:\n"
222
-" movl %%eax, %%r14d\n" /* len = this */
223
-" shrl $16, %%r14d\n" /* len = this.val */
224
-" movb %%al, %%cl\n"
225
-
226
-" testb $16, %%al\n"
227
-" jz .L_test_for_second_level_length\n" /* if ((op & 16) == 0) 8% */
228
-" andb $15, %%cl\n" /* op &= 15 */
229
-" jz .L_decode_distance\n" /* if (!op) */
230
-
231
-".L_add_bits_to_len:\n"
232
-" subb %%cl, %%bl\n"
233
-" xorl %%eax, %%eax\n"
234
-" incl %%eax\n"
235
-" shll %%cl, %%eax\n"
236
-" decl %%eax\n"
237
-" andl %%edx, %%eax\n" /* eax &= hold */
238
-" shrq %%cl, %%rdx\n"
239
-" addl %%eax, %%r14d\n" /* len += hold & mask[op] */
240
-
241
-".L_decode_distance:\n"
242
-" movq %%r13, %%r8\n" /* r8 = dmask */
243
-" cmpb $32, %%bl\n"
244
-" ja .L_get_distance_code\n" /* if (32 < bits) */
245
-
246
-" lodsl\n" /* eax = *(uint *)in++ */
247
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
248
-" addb $32, %%bl\n" /* bits += 32 */
249
-" shlq %%cl, %%rax\n"
250
-" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */
251
-
252
-".L_get_distance_code:\n"
253
-" andq %%rdx, %%r8\n" /* r8 &= hold */
254
-" movl (%%r11,%%r8,4), %%eax\n" /* eax = dcode[hold & dmask] */
255
-
256
-".L_dodist:\n"
257
-" movl %%eax, %%r15d\n" /* dist = this */
258
-" shrl $16, %%r15d\n" /* dist = this.val */
259
-" movb %%ah, %%cl\n"
260
-" subb %%ah, %%bl\n" /* bits -= this.bits */
261
-" shrq %%cl, %%rdx\n" /* hold >>= this.bits */
262
-" movb %%al, %%cl\n" /* cl = this.op */
263
-
264
-" testb $16, %%al\n" /* if ((op & 16) == 0) */
265
-" jz .L_test_for_second_level_dist\n"
266
-" andb $15, %%cl\n" /* op &= 15 */
267
-" jz .L_check_dist_one\n"
268
-
269
-".L_add_bits_to_dist:\n"
270
-" subb %%cl, %%bl\n"
271
-" xorl %%eax, %%eax\n"
272
-" incl %%eax\n"
273
-" shll %%cl, %%eax\n"
274
-" decl %%eax\n" /* (1 << op) - 1 */
275
-" andl %%edx, %%eax\n" /* eax &= hold */
276
-" shrq %%cl, %%rdx\n"
277
-" addl %%eax, %%r15d\n" /* dist += hold & ((1 << op) - 1) */
278
-
279
-".L_check_window:\n"
280
-" movq %%rsi, %%r8\n" /* save in so from can use it's reg */
281
-" movq %%rdi, %%rax\n"
282
-" subq 40(%%rsp), %%rax\n" /* nbytes = out - beg */
283
-
284
-" cmpl %%r15d, %%eax\n"
285
-" jb .L_clip_window\n" /* if (dist > nbytes) 4.2% */
286
-
287
-" movl %%r14d, %%ecx\n" /* ecx = len */
288
-" movq %%rdi, %%rsi\n"
289
-" subq %%r15, %%rsi\n" /* from = out - dist */
290
-
291
-" sarl %%ecx\n"
292
-" jnc .L_copy_two\n" /* if len % 2 == 0 */
293
-
294
-" rep movsw\n"
295
-" movb (%%rsi), %%al\n"
296
-" movb %%al, (%%rdi)\n"
297
-" incq %%rdi\n"
298
-
299
-" movq %%r8, %%rsi\n" /* move in back to %rsi, toss from */
300
-" jmp .L_while_test\n"
301
-
302
-".L_copy_two:\n"
303
-" rep movsw\n"
304
-" movq %%r8, %%rsi\n" /* move in back to %rsi, toss from */
305
-" jmp .L_while_test\n"
306
-
307
-".align 32,0x90\n"
308
-".L_check_dist_one:\n"
309
-" cmpl $1, %%r15d\n" /* if dist 1, is a memset */
310
-" jne .L_check_window\n"
311
-" cmpq %%rdi, 40(%%rsp)\n" /* if out == beg, outside window */
312
-" je .L_check_window\n"
313
-
314
-" movl %%r14d, %%ecx\n" /* ecx = len */
315
-" movb -1(%%rdi), %%al\n"
316
-" movb %%al, %%ah\n"
317
-
318
-" sarl %%ecx\n"
319
-" jnc .L_set_two\n"
320
-" movb %%al, (%%rdi)\n"
321
-" incq %%rdi\n"
322
-
323
-".L_set_two:\n"
324
-" rep stosw\n"
325
-" jmp .L_while_test\n"
326
-
327
-".align 32,0x90\n"
328
-".L_test_for_second_level_length:\n"
329
-" testb $64, %%al\n"
330
-" jnz .L_test_for_end_of_block\n" /* if ((op & 64) != 0) */
331
-
332
-" xorl %%eax, %%eax\n"
333
-" incl %%eax\n"
334
-" shll %%cl, %%eax\n"
335
-" decl %%eax\n"
336
-" andl %%edx, %%eax\n" /* eax &= hold */
337
-" addl %%r14d, %%eax\n" /* eax += len */
338
-" movl (%%rbp,%%rax,4), %%eax\n" /* eax = lcode[val+(hold&mask[op])]*/
339
-" jmp .L_dolen\n"
340
-
341
-".align 32,0x90\n"
342
-".L_test_for_second_level_dist:\n"
343
-" testb $64, %%al\n"
344
-" jnz .L_invalid_distance_code\n" /* if ((op & 64) != 0) */
345
-
346
-" xorl %%eax, %%eax\n"
347
-" incl %%eax\n"
348
-" shll %%cl, %%eax\n"
349
-" decl %%eax\n"
350
-" andl %%edx, %%eax\n" /* eax &= hold */
351
-" addl %%r15d, %%eax\n" /* eax += dist */
352
-" movl (%%r11,%%rax,4), %%eax\n" /* eax = dcode[val+(hold&mask[op])]*/
353
-" jmp .L_dodist\n"
354
-
355
-".align 32,0x90\n"
356
-".L_clip_window:\n"
357
-" movl %%eax, %%ecx\n" /* ecx = nbytes */
358
-" movl 92(%%rsp), %%eax\n" /* eax = wsize, prepare for dist cmp */
359
-" negl %%ecx\n" /* nbytes = -nbytes */
360
-
361
-" cmpl %%r15d, %%eax\n"
362
-" jb .L_invalid_distance_too_far\n" /* if (dist > wsize) */
363
-
364
-" addl %%r15d, %%ecx\n" /* nbytes = dist - nbytes */
365
-" cmpl $0, 96(%%rsp)\n"
366
-" jne .L_wrap_around_window\n" /* if (write != 0) */
367
-
368
-" movq 56(%%rsp), %%rsi\n" /* from = window */
369
-" subl %%ecx, %%eax\n" /* eax -= nbytes */
370
-" addq %%rax, %%rsi\n" /* from += wsize - nbytes */
371
-
372
-" movl %%r14d, %%eax\n" /* eax = len */
373
-" cmpl %%ecx, %%r14d\n"
374
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
375
-
376
-" subl %%ecx, %%eax\n" /* eax -= nbytes */
377
-" rep movsb\n"
378
-" movq %%rdi, %%rsi\n"
379
-" subq %%r15, %%rsi\n" /* from = &out[ -dist ] */
380
-" jmp .L_do_copy\n"
381
-
382
-".align 32,0x90\n"
383
-".L_wrap_around_window:\n"
384
-" movl 96(%%rsp), %%eax\n" /* eax = write */
385
-" cmpl %%eax, %%ecx\n"
386
-" jbe .L_contiguous_in_window\n" /* if (write >= nbytes) */
387
-
388
-" movl 92(%%rsp), %%esi\n" /* from = wsize */
389
-" addq 56(%%rsp), %%rsi\n" /* from += window */
390
-" addq %%rax, %%rsi\n" /* from += write */
391
-" subq %%rcx, %%rsi\n" /* from -= nbytes */
392
-" subl %%eax, %%ecx\n" /* nbytes -= write */
393
-
394
-" movl %%r14d, %%eax\n" /* eax = len */
395
-" cmpl %%ecx, %%eax\n"
396
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
397
-
398
-" subl %%ecx, %%eax\n" /* len -= nbytes */
399
-" rep movsb\n"
400
-" movq 56(%%rsp), %%rsi\n" /* from = window */
401
-" movl 96(%%rsp), %%ecx\n" /* nbytes = write */
402
-" cmpl %%ecx, %%eax\n"
403
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
404
-
405
-" subl %%ecx, %%eax\n" /* len -= nbytes */
406
-" rep movsb\n"
407
-" movq %%rdi, %%rsi\n"
408
-" subq %%r15, %%rsi\n" /* from = out - dist */
409
-" jmp .L_do_copy\n"
410
-
411
-".align 32,0x90\n"
412
-".L_contiguous_in_window:\n"
413
-" movq 56(%%rsp), %%rsi\n" /* rsi = window */
414
-" addq %%rax, %%rsi\n"
415
-" subq %%rcx, %%rsi\n" /* from += write - nbytes */
416
-
417
-" movl %%r14d, %%eax\n" /* eax = len */
418
-" cmpl %%ecx, %%eax\n"
419
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
420
-
421
-" subl %%ecx, %%eax\n" /* len -= nbytes */
422
-" rep movsb\n"
423
-" movq %%rdi, %%rsi\n"
424
-" subq %%r15, %%rsi\n" /* from = out - dist */
425
-" jmp .L_do_copy\n" /* if (nbytes >= len) */
426
-
427
-".align 32,0x90\n"
428
-".L_do_copy:\n"
429
-" movl %%eax, %%ecx\n" /* ecx = len */
430
-" rep movsb\n"
431
-
432
-" movq %%r8, %%rsi\n" /* move in back to %esi, toss from */
433
-" jmp .L_while_test\n"
434
-
435
-".L_test_for_end_of_block:\n"
436
-" testb $32, %%al\n"
437
-" jz .L_invalid_literal_length_code\n"
438
-" movl $1, 116(%%rsp)\n"
439
-" jmp .L_break_loop_with_status\n"
440
-
441
-".L_invalid_literal_length_code:\n"
442
-" movl $2, 116(%%rsp)\n"
443
-" jmp .L_break_loop_with_status\n"
444
-
445
-".L_invalid_distance_code:\n"
446
-" movl $3, 116(%%rsp)\n"
447
-" jmp .L_break_loop_with_status\n"
448
-
449
-".L_invalid_distance_too_far:\n"
450
-" movl $4, 116(%%rsp)\n"
451
-" jmp .L_break_loop_with_status\n"
452
-
453
-".L_break_loop:\n"
454
-" movl $0, 116(%%rsp)\n"
455
-
456
-".L_break_loop_with_status:\n"
457
-/* put in, out, bits, and hold back into ar and pop esp */
458
-" movq %%rsi, 16(%%rsp)\n" /* in */
459
-" movq %%rdi, 32(%%rsp)\n" /* out */
460
-" movl %%ebx, 88(%%rsp)\n" /* bits */
461
-" movq %%rdx, 80(%%rsp)\n" /* hold */
462
-" movq (%%rsp), %%rax\n" /* restore rbp and rsp */
463
-" movq 8(%%rsp), %%rbp\n"
464
-" movq %%rax, %%rsp\n"
465
- :
466
- : "m" (ar)
467
- : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi",
468
- "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15"
469
- );
470
-#elif ( defined( __GNUC__ ) || defined( __ICC ) ) && defined( __i386 )
471
- __asm__ __volatile__ (
472
-" leal %0, %%eax\n"
473
-" movl %%esp, (%%eax)\n" /* save esp, ebp */
474
-" movl %%ebp, 4(%%eax)\n"
475
-" movl %%eax, %%esp\n"
476
-" movl 8(%%esp), %%esi\n" /* esi = in */
477
-" movl 16(%%esp), %%edi\n" /* edi = out */
478
-" movl 40(%%esp), %%edx\n" /* edx = hold */
479
-" movl 44(%%esp), %%ebx\n" /* ebx = bits */
480
-" movl 32(%%esp), %%ebp\n" /* ebp = lcode */
481
-
482
-" cld\n"
483
-" jmp .L_do_loop\n"
484
-
485
-".align 32,0x90\n"
486
-".L_while_test:\n"
487
-" cmpl %%edi, 24(%%esp)\n" /* out < end */
488
-" jbe .L_break_loop\n"
489
-" cmpl %%esi, 12(%%esp)\n" /* in < last */
490
-" jbe .L_break_loop\n"
491
-
492
-".L_do_loop:\n"
493
-" cmpb $15, %%bl\n"
494
-" ja .L_get_length_code\n" /* if (15 < bits) */
495
-
496
-" xorl %%eax, %%eax\n"
497
-" lodsw\n" /* al = *(ushort *)in++ */
498
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
499
-" addb $16, %%bl\n" /* bits += 16 */
500
-" shll %%cl, %%eax\n"
501
-" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
502
-
503
-".L_get_length_code:\n"
504
-" movl 56(%%esp), %%eax\n" /* eax = lmask */
505
-" andl %%edx, %%eax\n" /* eax &= hold */
506
-" movl (%%ebp,%%eax,4), %%eax\n" /* eax = lcode[hold & lmask] */
507
-
508
-".L_dolen:\n"
509
-" movb %%ah, %%cl\n" /* cl = this.bits */
510
-" subb %%ah, %%bl\n" /* bits -= this.bits */
511
-" shrl %%cl, %%edx\n" /* hold >>= this.bits */
512
-
513
-" testb %%al, %%al\n"
514
-" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */
515
-
516
-" shrl $16, %%eax\n" /* output this.val char */
517
-" stosb\n"
518
-" jmp .L_while_test\n"
519
-
520
-".align 32,0x90\n"
521
-".L_test_for_length_base:\n"
522
-" movl %%eax, %%ecx\n" /* len = this */
523
-" shrl $16, %%ecx\n" /* len = this.val */
524
-" movl %%ecx, 64(%%esp)\n" /* save len */
525
-" movb %%al, %%cl\n"
526
-
527
-" testb $16, %%al\n"
528
-" jz .L_test_for_second_level_length\n" /* if ((op & 16) == 0) 8% */
529
-" andb $15, %%cl\n" /* op &= 15 */
530
-" jz .L_decode_distance\n" /* if (!op) */
531
-" cmpb %%cl, %%bl\n"
532
-" jae .L_add_bits_to_len\n" /* if (op <= bits) */
533
-
534
-" movb %%cl, %%ch\n" /* stash op in ch, freeing cl */
535
-" xorl %%eax, %%eax\n"
536
-" lodsw\n" /* al = *(ushort *)in++ */
537
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
538
-" addb $16, %%bl\n" /* bits += 16 */
539
-" shll %%cl, %%eax\n"
540
-" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
541
-" movb %%ch, %%cl\n" /* move op back to ecx */
542
-
543
-".L_add_bits_to_len:\n"
544
-" subb %%cl, %%bl\n"
545
-" xorl %%eax, %%eax\n"
546
-" incl %%eax\n"
547
-" shll %%cl, %%eax\n"
548
-" decl %%eax\n"
549
-" andl %%edx, %%eax\n" /* eax &= hold */
550
-" shrl %%cl, %%edx\n"
551
-" addl %%eax, 64(%%esp)\n" /* len += hold & mask[op] */
552
-
553
-".L_decode_distance:\n"
554
-" cmpb $15, %%bl\n"
555
-" ja .L_get_distance_code\n" /* if (15 < bits) */
556
-
557
-" xorl %%eax, %%eax\n"
558
-" lodsw\n" /* al = *(ushort *)in++ */
559
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
560
-" addb $16, %%bl\n" /* bits += 16 */
561
-" shll %%cl, %%eax\n"
562
-" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
563
-
564
-".L_get_distance_code:\n"
565
-" movl 60(%%esp), %%eax\n" /* eax = dmask */
566
-" movl 36(%%esp), %%ecx\n" /* ecx = dcode */
567
-" andl %%edx, %%eax\n" /* eax &= hold */
568
-" movl (%%ecx,%%eax,4), %%eax\n"/* eax = dcode[hold & dmask] */
569
-
570
-".L_dodist:\n"
571
-" movl %%eax, %%ebp\n" /* dist = this */
572
-" shrl $16, %%ebp\n" /* dist = this.val */
573
-" movb %%ah, %%cl\n"
574
-" subb %%ah, %%bl\n" /* bits -= this.bits */
575
-" shrl %%cl, %%edx\n" /* hold >>= this.bits */
576
-" movb %%al, %%cl\n" /* cl = this.op */
577
-
578
-" testb $16, %%al\n" /* if ((op & 16) == 0) */
579
-" jz .L_test_for_second_level_dist\n"
580
-" andb $15, %%cl\n" /* op &= 15 */
581
-" jz .L_check_dist_one\n"
582
-" cmpb %%cl, %%bl\n"
583
-" jae .L_add_bits_to_dist\n" /* if (op <= bits) 97.6% */
584
-
585
-" movb %%cl, %%ch\n" /* stash op in ch, freeing cl */
586
-" xorl %%eax, %%eax\n"
587
-" lodsw\n" /* al = *(ushort *)in++ */
588
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
589
-" addb $16, %%bl\n" /* bits += 16 */
590
-" shll %%cl, %%eax\n"
591
-" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
592
-" movb %%ch, %%cl\n" /* move op back to ecx */
593
-
594
-".L_add_bits_to_dist:\n"
595
-" subb %%cl, %%bl\n"
596
-" xorl %%eax, %%eax\n"
597
-" incl %%eax\n"
598
-" shll %%cl, %%eax\n"
599
-" decl %%eax\n" /* (1 << op) - 1 */
600
-" andl %%edx, %%eax\n" /* eax &= hold */
601
-" shrl %%cl, %%edx\n"
602
-" addl %%eax, %%ebp\n" /* dist += hold & ((1 << op) - 1) */
603
-
604
-".L_check_window:\n"
605
-" movl %%esi, 8(%%esp)\n" /* save in so from can use it's reg */
606
-" movl %%edi, %%eax\n"
607
-" subl 20(%%esp), %%eax\n" /* nbytes = out - beg */
608
-
609
-" cmpl %%ebp, %%eax\n"
610
-" jb .L_clip_window\n" /* if (dist > nbytes) 4.2% */
611
-
612
-" movl 64(%%esp), %%ecx\n" /* ecx = len */
613
-" movl %%edi, %%esi\n"
614
-" subl %%ebp, %%esi\n" /* from = out - dist */
615
-
616
-" sarl %%ecx\n"
617
-" jnc .L_copy_two\n" /* if len % 2 == 0 */
618
-
619
-" rep movsw\n"
620
-" movb (%%esi), %%al\n"
621
-" movb %%al, (%%edi)\n"
622
-" incl %%edi\n"
623
-
624
-" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */
625
-" movl 32(%%esp), %%ebp\n" /* ebp = lcode */
626
-" jmp .L_while_test\n"
627
-
628
-".L_copy_two:\n"
629
-" rep movsw\n"
630
-" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */
631
-" movl 32(%%esp), %%ebp\n" /* ebp = lcode */
632
-" jmp .L_while_test\n"
633
-
634
-".align 32,0x90\n"
635
-".L_check_dist_one:\n"
636
-" cmpl $1, %%ebp\n" /* if dist 1, is a memset */
637
-" jne .L_check_window\n"
638
-" cmpl %%edi, 20(%%esp)\n"
639
-" je .L_check_window\n" /* out == beg, if outside window */
640
-
641
-" movl 64(%%esp), %%ecx\n" /* ecx = len */
642
-" movb -1(%%edi), %%al\n"
643
-" movb %%al, %%ah\n"
644
-
645
-" sarl %%ecx\n"
646
-" jnc .L_set_two\n"
647
-" movb %%al, (%%edi)\n"
648
-" incl %%edi\n"
649
-
650
-".L_set_two:\n"
651
-" rep stosw\n"
652
-" movl 32(%%esp), %%ebp\n" /* ebp = lcode */
653
-" jmp .L_while_test\n"
654
-
655
-".align 32,0x90\n"
656
-".L_test_for_second_level_length:\n"
657
-" testb $64, %%al\n"
658
-" jnz .L_test_for_end_of_block\n" /* if ((op & 64) != 0) */
659
-
660
-" xorl %%eax, %%eax\n"
661
-" incl %%eax\n"
662
-" shll %%cl, %%eax\n"
663
-" decl %%eax\n"
664
-" andl %%edx, %%eax\n" /* eax &= hold */
665
-" addl 64(%%esp), %%eax\n" /* eax += len */
666
-" movl (%%ebp,%%eax,4), %%eax\n" /* eax = lcode[val+(hold&mask[op])]*/
667
-" jmp .L_dolen\n"
668
-
669
-".align 32,0x90\n"
670
-".L_test_for_second_level_dist:\n"
671
-" testb $64, %%al\n"
672
-" jnz .L_invalid_distance_code\n" /* if ((op & 64) != 0) */
673
-
674
-" xorl %%eax, %%eax\n"
675
-" incl %%eax\n"
676
-" shll %%cl, %%eax\n"
677
-" decl %%eax\n"
678
-" andl %%edx, %%eax\n" /* eax &= hold */
679
-" addl %%ebp, %%eax\n" /* eax += dist */
680
-" movl 36(%%esp), %%ecx\n" /* ecx = dcode */
681
-" movl (%%ecx,%%eax,4), %%eax\n" /* eax = dcode[val+(hold&mask[op])]*/
682
-" jmp .L_dodist\n"
683
-
684
-".align 32,0x90\n"
685
-".L_clip_window:\n"
686
-" movl %%eax, %%ecx\n"
687
-" movl 48(%%esp), %%eax\n" /* eax = wsize */
688
-" negl %%ecx\n" /* nbytes = -nbytes */
689
-" movl 28(%%esp), %%esi\n" /* from = window */
690
-
691
-" cmpl %%ebp, %%eax\n"
692
-" jb .L_invalid_distance_too_far\n" /* if (dist > wsize) */
693
-
694
-" addl %%ebp, %%ecx\n" /* nbytes = dist - nbytes */
695
-" cmpl $0, 52(%%esp)\n"
696
-" jne .L_wrap_around_window\n" /* if (write != 0) */
697
-
698
-" subl %%ecx, %%eax\n"
699
-" addl %%eax, %%esi\n" /* from += wsize - nbytes */
700
-
701
-" movl 64(%%esp), %%eax\n" /* eax = len */
702
-" cmpl %%ecx, %%eax\n"
703
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
704
-
705
-" subl %%ecx, %%eax\n" /* len -= nbytes */
706
-" rep movsb\n"
707
-" movl %%edi, %%esi\n"
708
-" subl %%ebp, %%esi\n" /* from = out - dist */
709
-" jmp .L_do_copy\n"
710
-
711
-".align 32,0x90\n"
712
-".L_wrap_around_window:\n"
713
-" movl 52(%%esp), %%eax\n" /* eax = write */
714
-" cmpl %%eax, %%ecx\n"
715
-" jbe .L_contiguous_in_window\n" /* if (write >= nbytes) */
716
-
717
-" addl 48(%%esp), %%esi\n" /* from += wsize */
718
-" addl %%eax, %%esi\n" /* from += write */
719
-" subl %%ecx, %%esi\n" /* from -= nbytes */
720
-" subl %%eax, %%ecx\n" /* nbytes -= write */
721
-
722
-" movl 64(%%esp), %%eax\n" /* eax = len */
723
-" cmpl %%ecx, %%eax\n"
724
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
725
-
726
-" subl %%ecx, %%eax\n" /* len -= nbytes */
727
-" rep movsb\n"
728
-" movl 28(%%esp), %%esi\n" /* from = window */
729
-" movl 52(%%esp), %%ecx\n" /* nbytes = write */
730
-" cmpl %%ecx, %%eax\n"
731
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
732
-
733
-" subl %%ecx, %%eax\n" /* len -= nbytes */
734
-" rep movsb\n"
735
-" movl %%edi, %%esi\n"
736
-" subl %%ebp, %%esi\n" /* from = out - dist */
737
-" jmp .L_do_copy\n"
738
-
739
-".align 32,0x90\n"
740
-".L_contiguous_in_window:\n"
741
-" addl %%eax, %%esi\n"
742
-" subl %%ecx, %%esi\n" /* from += write - nbytes */
743
-
744
-" movl 64(%%esp), %%eax\n" /* eax = len */
745
-" cmpl %%ecx, %%eax\n"
746
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
747
-
748
-" subl %%ecx, %%eax\n" /* len -= nbytes */
749
-" rep movsb\n"
750
-" movl %%edi, %%esi\n"
751
-" subl %%ebp, %%esi\n" /* from = out - dist */
752
-" jmp .L_do_copy\n" /* if (nbytes >= len) */
753
-
754
-".align 32,0x90\n"
755
-".L_do_copy:\n"
756
-" movl %%eax, %%ecx\n"
757
-" rep movsb\n"
758
-
759
-" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */
760
-" movl 32(%%esp), %%ebp\n" /* ebp = lcode */
761
-" jmp .L_while_test\n"
762
-
763
-".L_test_for_end_of_block:\n"
764
-" testb $32, %%al\n"
765
-" jz .L_invalid_literal_length_code\n"
766
-" movl $1, 72(%%esp)\n"
767
-" jmp .L_break_loop_with_status\n"
768
-
769
-".L_invalid_literal_length_code:\n"
770
-" movl $2, 72(%%esp)\n"
771
-" jmp .L_break_loop_with_status\n"
772
-
773
-".L_invalid_distance_code:\n"
774
-" movl $3, 72(%%esp)\n"
775
-" jmp .L_break_loop_with_status\n"
776
-
777
-".L_invalid_distance_too_far:\n"
778
-" movl 8(%%esp), %%esi\n"
779
-" movl $4, 72(%%esp)\n"
780
-" jmp .L_break_loop_with_status\n"
781
-
782
-".L_break_loop:\n"
783
-" movl $0, 72(%%esp)\n"
784
-
785
-".L_break_loop_with_status:\n"
786
-/* put in, out, bits, and hold back into ar and pop esp */
787
-" movl %%esi, 8(%%esp)\n" /* save in */
788
-" movl %%edi, 16(%%esp)\n" /* save out */
789
-" movl %%ebx, 44(%%esp)\n" /* save bits */
790
-" movl %%edx, 40(%%esp)\n" /* save hold */
791
-" movl 4(%%esp), %%ebp\n" /* restore esp, ebp */
792
-" movl (%%esp), %%esp\n"
793
- :
794
- : "m" (ar)
795
- : "memory", "%eax", "%ebx", "%ecx", "%edx", "%esi", "%edi"
796
- );
797
-#elif defined( _MSC_VER ) && ! defined( _M_AMD64 )
798
- __asm {
799
- lea eax, ar
800
- mov [eax], esp /* save esp, ebp */
801
- mov [eax+4], ebp
802
- mov esp, eax
803
- mov esi, [esp+8] /* esi = in */
804
- mov edi, [esp+16] /* edi = out */
805
- mov edx, [esp+40] /* edx = hold */
806
- mov ebx, [esp+44] /* ebx = bits */
807
- mov ebp, [esp+32] /* ebp = lcode */
808
-
809
- cld
810
- jmp L_do_loop
811
-
812
-ALIGN 4
813
-L_while_test:
814
- cmp [esp+24], edi
815
- jbe L_break_loop
816
- cmp [esp+12], esi
817
- jbe L_break_loop
818
-
819
-L_do_loop:
820
- cmp bl, 15
821
- ja L_get_length_code /* if (15 < bits) */
822
-
823
- xor eax, eax
824
- lodsw /* al = *(ushort *)in++ */
825
- mov cl, bl /* cl = bits, needs it for shifting */
826
- add bl, 16 /* bits += 16 */
827
- shl eax, cl
828
- or edx, eax /* hold |= *((ushort *)in)++ << bits */
829
-
830
-L_get_length_code:
831
- mov eax, [esp+56] /* eax = lmask */
832
- and eax, edx /* eax &= hold */
833
- mov eax, [ebp+eax*4] /* eax = lcode[hold & lmask] */
834
-
835
-L_dolen:
836
- mov cl, ah /* cl = this.bits */
837
- sub bl, ah /* bits -= this.bits */
838
- shr edx, cl /* hold >>= this.bits */
839
-
840
- test al, al
841
- jnz L_test_for_length_base /* if (op != 0) 45.7% */
842
-
843
- shr eax, 16 /* output this.val char */
844
- stosb
845
- jmp L_while_test
846
-
847
-ALIGN 4
848
-L_test_for_length_base:
849
- mov ecx, eax /* len = this */
850
- shr ecx, 16 /* len = this.val */
851
- mov [esp+64], ecx /* save len */
852
- mov cl, al
853
-
854
- test al, 16
855
- jz L_test_for_second_level_length /* if ((op & 16) == 0) 8% */
856
- and cl, 15 /* op &= 15 */
857
- jz L_decode_distance /* if (!op) */
858
- cmp bl, cl
859
- jae L_add_bits_to_len /* if (op <= bits) */
860
-
861
- mov ch, cl /* stash op in ch, freeing cl */
862
- xor eax, eax
863
- lodsw /* al = *(ushort *)in++ */
864
- mov cl, bl /* cl = bits, needs it for shifting */
865
- add bl, 16 /* bits += 16 */
866
- shl eax, cl
867
- or edx, eax /* hold |= *((ushort *)in)++ << bits */
868
- mov cl, ch /* move op back to ecx */
869
-
870
-L_add_bits_to_len:
871
- sub bl, cl
872
- xor eax, eax
873
- inc eax
874
- shl eax, cl
875
- dec eax
876
- and eax, edx /* eax &= hold */
877
- shr edx, cl
878
- add [esp+64], eax /* len += hold & mask[op] */
879
-
880
-L_decode_distance:
881
- cmp bl, 15
882
- ja L_get_distance_code /* if (15 < bits) */
883
-
884
- xor eax, eax
885
- lodsw /* al = *(ushort *)in++ */
886
- mov cl, bl /* cl = bits, needs it for shifting */
887
- add bl, 16 /* bits += 16 */
888
- shl eax, cl
889
- or edx, eax /* hold |= *((ushort *)in)++ << bits */
890
-
891
-L_get_distance_code:
892
- mov eax, [esp+60] /* eax = dmask */
893
- mov ecx, [esp+36] /* ecx = dcode */
894
- and eax, edx /* eax &= hold */
895
- mov eax, [ecx+eax*4]/* eax = dcode[hold & dmask] */
896
-
897
-L_dodist:
898
- mov ebp, eax /* dist = this */
899
- shr ebp, 16 /* dist = this.val */
900
- mov cl, ah
901
- sub bl, ah /* bits -= this.bits */
902
- shr edx, cl /* hold >>= this.bits */
903
- mov cl, al /* cl = this.op */
904
-
905
- test al, 16 /* if ((op & 16) == 0) */
906
- jz L_test_for_second_level_dist
907
- and cl, 15 /* op &= 15 */
908
- jz L_check_dist_one
909
- cmp bl, cl
910
- jae L_add_bits_to_dist /* if (op <= bits) 97.6% */
911
-
912
- mov ch, cl /* stash op in ch, freeing cl */
913
- xor eax, eax
914
- lodsw /* al = *(ushort *)in++ */
915
- mov cl, bl /* cl = bits, needs it for shifting */
916
- add bl, 16 /* bits += 16 */
917
- shl eax, cl
918
- or edx, eax /* hold |= *((ushort *)in)++ << bits */
919
- mov cl, ch /* move op back to ecx */
920
-
921
-L_add_bits_to_dist:
922
- sub bl, cl
923
- xor eax, eax
924
- inc eax
925
- shl eax, cl
926
- dec eax /* (1 << op) - 1 */
927
- and eax, edx /* eax &= hold */
928
- shr edx, cl
929
- add ebp, eax /* dist += hold & ((1 << op) - 1) */
930
-
931
-L_check_window:
932
- mov [esp+8], esi /* save in so from can use it's reg */
933
- mov eax, edi
934
- sub eax, [esp+20] /* nbytes = out - beg */
935
-
936
- cmp eax, ebp
937
- jb L_clip_window /* if (dist > nbytes) 4.2% */
938
-
939
- mov ecx, [esp+64] /* ecx = len */
940
- mov esi, edi
941
- sub esi, ebp /* from = out - dist */
942
-
943
- sar ecx, 1
944
- jnc L_copy_two
945
-
946
- rep movsw
947
- mov al, [esi]
948
- mov [edi], al
949
- inc edi
950
-
951
- mov esi, [esp+8] /* move in back to %esi, toss from */
952
- mov ebp, [esp+32] /* ebp = lcode */
953
- jmp L_while_test
954
-
955
-L_copy_two:
956
- rep movsw
957
- mov esi, [esp+8] /* move in back to %esi, toss from */
958
- mov ebp, [esp+32] /* ebp = lcode */
959
- jmp L_while_test
960
-
961
-ALIGN 4
962
-L_check_dist_one:
963
- cmp ebp, 1 /* if dist 1, is a memset */
964
- jne L_check_window
965
- cmp [esp+20], edi
966
- je L_check_window /* out == beg, if outside window */
967
-
968
- mov ecx, [esp+64] /* ecx = len */
969
- mov al, [edi-1]
970
- mov ah, al
971
-
972
- sar ecx, 1
973
- jnc L_set_two
974
- mov [edi], al /* memset out with from[-1] */
975
- inc edi
976
-
977
-L_set_two:
978
- rep stosw
979
- mov ebp, [esp+32] /* ebp = lcode */
980
- jmp L_while_test
981
-
982
-ALIGN 4
983
-L_test_for_second_level_length:
984
- test al, 64
985
- jnz L_test_for_end_of_block /* if ((op & 64) != 0) */
986
-
987
- xor eax, eax
988
- inc eax
989
- shl eax, cl
990
- dec eax
991
- and eax, edx /* eax &= hold */
992
- add eax, [esp+64] /* eax += len */
993
- mov eax, [ebp+eax*4] /* eax = lcode[val+(hold&mask[op])]*/
994
- jmp L_dolen
995
-
996
-ALIGN 4
997
-L_test_for_second_level_dist:
998
- test al, 64
999
- jnz L_invalid_distance_code /* if ((op & 64) != 0) */
1000
-
1001
- xor eax, eax
1002
- inc eax
1003
- shl eax, cl
1004
- dec eax
1005
- and eax, edx /* eax &= hold */
1006
- add eax, ebp /* eax += dist */
1007
- mov ecx, [esp+36] /* ecx = dcode */
1008
- mov eax, [ecx+eax*4] /* eax = dcode[val+(hold&mask[op])]*/
1009
- jmp L_dodist
1010
-
1011
-ALIGN 4
1012
-L_clip_window:
1013
- mov ecx, eax
1014
- mov eax, [esp+48] /* eax = wsize */
1015
- neg ecx /* nbytes = -nbytes */
1016
- mov esi, [esp+28] /* from = window */
1017
-
1018
- cmp eax, ebp
1019
- jb L_invalid_distance_too_far /* if (dist > wsize) */
1020
-
1021
- add ecx, ebp /* nbytes = dist - nbytes */
1022
- cmp dword ptr [esp+52], 0
1023
- jne L_wrap_around_window /* if (write != 0) */
1024
-
1025
- sub eax, ecx
1026
- add esi, eax /* from += wsize - nbytes */
1027
-
1028
- mov eax, [esp+64] /* eax = len */
1029
- cmp eax, ecx
1030
- jbe L_do_copy /* if (nbytes >= len) */
1031
-
1032
- sub eax, ecx /* len -= nbytes */
1033
- rep movsb
1034
- mov esi, edi
1035
- sub esi, ebp /* from = out - dist */
1036
- jmp L_do_copy
1037
-
1038
-ALIGN 4
1039
-L_wrap_around_window:
1040
- mov eax, [esp+52] /* eax = write */
1041
- cmp ecx, eax
1042
- jbe L_contiguous_in_window /* if (write >= nbytes) */
1043
-
1044
- add esi, [esp+48] /* from += wsize */
1045
- add esi, eax /* from += write */
1046
- sub esi, ecx /* from -= nbytes */
1047
- sub ecx, eax /* nbytes -= write */
1048
-
1049
- mov eax, [esp+64] /* eax = len */
1050
- cmp eax, ecx
1051
- jbe L_do_copy /* if (nbytes >= len) */
1052
-
1053
- sub eax, ecx /* len -= nbytes */
1054
- rep movsb
1055
- mov esi, [esp+28] /* from = window */
1056
- mov ecx, [esp+52] /* nbytes = write */
1057
- cmp eax, ecx
1058
- jbe L_do_copy /* if (nbytes >= len) */
1059
-
1060
- sub eax, ecx /* len -= nbytes */
1061
- rep movsb
1062
- mov esi, edi
1063
- sub esi, ebp /* from = out - dist */
1064
- jmp L_do_copy
1065
-
1066
-ALIGN 4
1067
-L_contiguous_in_window:
1068
- add esi, eax
1069
- sub esi, ecx /* from += write - nbytes */
1070
-
1071
- mov eax, [esp+64] /* eax = len */
1072
- cmp eax, ecx
1073
- jbe L_do_copy /* if (nbytes >= len) */
1074
-
1075
- sub eax, ecx /* len -= nbytes */
1076
- rep movsb
1077
- mov esi, edi
1078
- sub esi, ebp /* from = out - dist */
1079
- jmp L_do_copy
1080
-
1081
-ALIGN 4
1082
-L_do_copy:
1083
- mov ecx, eax
1084
- rep movsb
1085
-
1086
- mov esi, [esp+8] /* move in back to %esi, toss from */
1087
- mov ebp, [esp+32] /* ebp = lcode */
1088
- jmp L_while_test
1089
-
1090
-L_test_for_end_of_block:
1091
- test al, 32
1092
- jz L_invalid_literal_length_code
1093
- mov dword ptr [esp+72], 1
1094
- jmp L_break_loop_with_status
1095
-
1096
-L_invalid_literal_length_code:
1097
- mov dword ptr [esp+72], 2
1098
- jmp L_break_loop_with_status
1099
-
1100
-L_invalid_distance_code:
1101
- mov dword ptr [esp+72], 3
1102
- jmp L_break_loop_with_status
1103
-
1104
-L_invalid_distance_too_far:
1105
- mov esi, [esp+4]
1106
- mov dword ptr [esp+72], 4
1107
- jmp L_break_loop_with_status
1108
-
1109
-L_break_loop:
1110
- mov dword ptr [esp+72], 0
1111
-
1112
-L_break_loop_with_status:
1113
-/* put in, out, bits, and hold back into ar and pop esp */
1114
- mov [esp+8], esi /* save in */
1115
- mov [esp+16], edi /* save out */
1116
- mov [esp+44], ebx /* save bits */
1117
- mov [esp+40], edx /* save hold */
1118
- mov ebp, [esp+4] /* restore esp, ebp */
1119
- mov esp, [esp]
1120
- }
1121
-#else
1122
-#error "x86 architecture not defined"
1123
-#endif
1124
-
1125
- if (ar.status > 1) {
1126
- if (ar.status == 2)
1127
- strm->msg = "invalid literal/length code";
1128
- else if (ar.status == 3)
1129
- strm->msg = "invalid distance code";
1130
- else
1131
- strm->msg = "invalid distance too far back";
1132
- state->mode = BAD;
1133
- }
1134
- else if ( ar.status == 1 ) {
1135
- state->mode = TYPE;
1136
- }
1137
-
1138
- /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
1139
- ar.len = ar.bits >> 3;
1140
- ar.in -= ar.len;
1141
- ar.bits -= ar.len << 3;
1142
- ar.hold &= (1U << ar.bits) - 1;
1143
-
1144
- /* update state and return */
1145
- strm->next_in = ar.in;
1146
- strm->next_out = ar.out;
1147
- strm->avail_in = (unsigned)(ar.in < ar.last ?
1148
- PAD_AVAIL_IN + (ar.last - ar.in) :
1149
- PAD_AVAIL_IN - (ar.in - ar.last));
1150
- strm->avail_out = (unsigned)(ar.out < ar.end ?
1151
- PAD_AVAIL_OUT + (ar.end - ar.out) :
1152
- PAD_AVAIL_OUT - (ar.out - ar.end));
1153
- state->hold = ar.hold;
1154
- state->bits = ar.bits;
1155
- return;
1156
-}
1157
-
--- a/compat/zlib/contrib/inflate86/inffas86.c
+++ b/compat/zlib/contrib/inflate86/inffas86.c
@@ -1,1157 +0,0 @@
1 /* inffas86.c is a hand tuned assembler version of
2 *
3 * inffast.c -- fast decoding
4 * Copyright (C) 1995-2003 Mark Adler
5 * For conditions of distribution and use, see copyright notice in zlib.h
6 *
7 * Copyright (C) 2003 Chris Anderson <[email protected]>
8 * Please use the copyright conditions above.
9 *
10 * Dec-29-2003 -- I added AMD64 inflate asm support. This version is also
11 * slightly quicker on x86 systems because, instead of using rep movsb to copy
12 * data, it uses rep movsw, which moves data in 2-byte chunks instead of single
13 * bytes. I've tested the AMD64 code on a Fedora Core 1 + the x86_64 updates
14 * from http://fedora.linux.duke.edu/fc1_x86_64
15 * which is running on an Athlon 64 3000+ / Gigabyte GA-K8VT800M system with
16 * 1GB ram. The 64-bit version is about 4% faster than the 32-bit version,
17 * when decompressing mozilla-source-1.3.tar.gz.
18 *
19 * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from
20 * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at
21 * the moment. I have successfully compiled and tested this code with gcc2.96,
22 * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S
23 * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX
24 * enabled. I will attempt to merge the MMX code into this version. Newer
25 * versions of this and inffast.S can be found at
26 * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/
27 */
28
29 #include "zutil.h"
30 #include "inftrees.h"
31 #include "inflate.h"
32 #include "inffast.h"
33
34 /* Mark Adler's comments from inffast.c: */
35
36 /*
37 Decode literal, length, and distance codes and write out the resulting
38 literal and match bytes until either not enough input or output is
39 available, an end-of-block is encountered, or a data error is encountered.
40 When large enough input and output buffers are supplied to inflate(), for
41 example, a 16K input buffer and a 64K output buffer, more than 95% of the
42 inflate execution time is spent in this routine.
43
44 Entry assumptions:
45
46 state->mode == LEN
47 strm->avail_in >= 6
48 strm->avail_out >= 258
49 start >= strm->avail_out
50 state->bits < 8
51
52 On return, state->mode is one of:
53
54 LEN -- ran out of enough output space or enough available input
55 TYPE -- reached end of block code, inflate() to interpret next block
56 BAD -- error in block data
57
58 Notes:
59
60 - The maximum input bits used by a length/distance pair is 15 bits for the
61 length code, 5 bits for the length extra, 15 bits for the distance code,
62 and 13 bits for the distance extra. This totals 48 bits, or six bytes.
63 Therefore if strm->avail_in >= 6, then there is enough input to avoid
64 checking for available input while decoding.
65
66 - The maximum bytes that a single length/distance pair can output is 258
67 bytes, which is the maximum length that can be coded. inflate_fast()
68 requires strm->avail_out >= 258 for each loop to avoid checking for
69 output space.
70 */
71 void inflate_fast(strm, start)
72 z_streamp strm;
73 unsigned start; /* inflate()'s starting value for strm->avail_out */
74 {
75 struct inflate_state FAR *state;
76 struct inffast_ar {
77 /* 64 32 x86 x86_64 */
78 /* ar offset register */
79 /* 0 0 */ void *esp; /* esp save */
80 /* 8 4 */ void *ebp; /* ebp save */
81 /* 16 8 */ unsigned char FAR *in; /* esi rsi local strm->next_in */
82 /* 24 12 */ unsigned char FAR *last; /* r9 while in < last */
83 /* 32 16 */ unsigned char FAR *out; /* edi rdi local strm->next_out */
84 /* 40 20 */ unsigned char FAR *beg; /* inflate()'s init next_out */
85 /* 48 24 */ unsigned char FAR *end; /* r10 while out < end */
86 /* 56 28 */ unsigned char FAR *window;/* size of window, wsize!=0 */
87 /* 64 32 */ code const FAR *lcode; /* ebp rbp local strm->lencode */
88 /* 72 36 */ code const FAR *dcode; /* r11 local strm->distcode */
89 /* 80 40 */ unsigned long hold; /* edx rdx local strm->hold */
90 /* 88 44 */ unsigned bits; /* ebx rbx local strm->bits */
91 /* 92 48 */ unsigned wsize; /* window size */
92 /* 96 52 */ unsigned write; /* window write index */
93 /*100 56 */ unsigned lmask; /* r12 mask for lcode */
94 /*104 60 */ unsigned dmask; /* r13 mask for dcode */
95 /*108 64 */ unsigned len; /* r14 match length */
96 /*112 68 */ unsigned dist; /* r15 match distance */
97 /*116 72 */ unsigned status; /* set when state chng*/
98 } ar;
99
100 #if defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )
101 #define PAD_AVAIL_IN 6
102 #define PAD_AVAIL_OUT 258
103 #else
104 #define PAD_AVAIL_IN 5
105 #define PAD_AVAIL_OUT 257
106 #endif
107
108 /* copy state to local variables */
109 state = (struct inflate_state FAR *)strm->state;
110 ar.in = strm->next_in;
111 ar.last = ar.in + (strm->avail_in - PAD_AVAIL_IN);
112 ar.out = strm->next_out;
113 ar.beg = ar.out - (start - strm->avail_out);
114 ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT);
115 ar.wsize = state->wsize;
116 ar.write = state->wnext;
117 ar.window = state->window;
118 ar.hold = state->hold;
119 ar.bits = state->bits;
120 ar.lcode = state->lencode;
121 ar.dcode = state->distcode;
122 ar.lmask = (1U << state->lenbits) - 1;
123 ar.dmask = (1U << state->distbits) - 1;
124
125 /* decode literals and length/distances until end-of-block or not enough
126 input data or output space */
127
128 /* align in on 1/2 hold size boundary */
129 while (((unsigned long)(void *)ar.in & (sizeof(ar.hold) / 2 - 1)) != 0) {
130 ar.hold += (unsigned long)*ar.in++ << ar.bits;
131 ar.bits += 8;
132 }
133
134 #if defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )
135 __asm__ __volatile__ (
136 " leaq %0, %%rax\n"
137 " movq %%rbp, 8(%%rax)\n" /* save regs rbp and rsp */
138 " movq %%rsp, (%%rax)\n"
139 " movq %%rax, %%rsp\n" /* make rsp point to &ar */
140 " movq 16(%%rsp), %%rsi\n" /* rsi = in */
141 " movq 32(%%rsp), %%rdi\n" /* rdi = out */
142 " movq 24(%%rsp), %%r9\n" /* r9 = last */
143 " movq 48(%%rsp), %%r10\n" /* r10 = end */
144 " movq 64(%%rsp), %%rbp\n" /* rbp = lcode */
145 " movq 72(%%rsp), %%r11\n" /* r11 = dcode */
146 " movq 80(%%rsp), %%rdx\n" /* rdx = hold */
147 " movl 88(%%rsp), %%ebx\n" /* ebx = bits */
148 " movl 100(%%rsp), %%r12d\n" /* r12d = lmask */
149 " movl 104(%%rsp), %%r13d\n" /* r13d = dmask */
150 /* r14d = len */
151 /* r15d = dist */
152 " cld\n"
153 " cmpq %%rdi, %%r10\n"
154 " je .L_one_time\n" /* if only one decode left */
155 " cmpq %%rsi, %%r9\n"
156 " je .L_one_time\n"
157 " jmp .L_do_loop\n"
158
159 ".L_one_time:\n"
160 " movq %%r12, %%r8\n" /* r8 = lmask */
161 " cmpb $32, %%bl\n"
162 " ja .L_get_length_code_one_time\n"
163
164 " lodsl\n" /* eax = *(uint *)in++ */
165 " movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
166 " addb $32, %%bl\n" /* bits += 32 */
167 " shlq %%cl, %%rax\n"
168 " orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */
169 " jmp .L_get_length_code_one_time\n"
170
171 ".align 32,0x90\n"
172 ".L_while_test:\n"
173 " cmpq %%rdi, %%r10\n"
174 " jbe .L_break_loop\n"
175 " cmpq %%rsi, %%r9\n"
176 " jbe .L_break_loop\n"
177
178 ".L_do_loop:\n"
179 " movq %%r12, %%r8\n" /* r8 = lmask */
180 " cmpb $32, %%bl\n"
181 " ja .L_get_length_code\n" /* if (32 < bits) */
182
183 " lodsl\n" /* eax = *(uint *)in++ */
184 " movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
185 " addb $32, %%bl\n" /* bits += 32 */
186 " shlq %%cl, %%rax\n"
187 " orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */
188
189 ".L_get_length_code:\n"
190 " andq %%rdx, %%r8\n" /* r8 &= hold */
191 " movl (%%rbp,%%r8,4), %%eax\n" /* eax = lcode[hold & lmask] */
192
193 " movb %%ah, %%cl\n" /* cl = this.bits */
194 " subb %%ah, %%bl\n" /* bits -= this.bits */
195 " shrq %%cl, %%rdx\n" /* hold >>= this.bits */
196
197 " testb %%al, %%al\n"
198 " jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */
199
200 " movq %%r12, %%r8\n" /* r8 = lmask */
201 " shrl $16, %%eax\n" /* output this.val char */
202 " stosb\n"
203
204 ".L_get_length_code_one_time:\n"
205 " andq %%rdx, %%r8\n" /* r8 &= hold */
206 " movl (%%rbp,%%r8,4), %%eax\n" /* eax = lcode[hold & lmask] */
207
208 ".L_dolen:\n"
209 " movb %%ah, %%cl\n" /* cl = this.bits */
210 " subb %%ah, %%bl\n" /* bits -= this.bits */
211 " shrq %%cl, %%rdx\n" /* hold >>= this.bits */
212
213 " testb %%al, %%al\n"
214 " jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */
215
216 " shrl $16, %%eax\n" /* output this.val char */
217 " stosb\n"
218 " jmp .L_while_test\n"
219
220 ".align 32,0x90\n"
221 ".L_test_for_length_base:\n"
222 " movl %%eax, %%r14d\n" /* len = this */
223 " shrl $16, %%r14d\n" /* len = this.val */
224 " movb %%al, %%cl\n"
225
226 " testb $16, %%al\n"
227 " jz .L_test_for_second_level_length\n" /* if ((op & 16) == 0) 8% */
228 " andb $15, %%cl\n" /* op &= 15 */
229 " jz .L_decode_distance\n" /* if (!op) */
230
231 ".L_add_bits_to_len:\n"
232 " subb %%cl, %%bl\n"
233 " xorl %%eax, %%eax\n"
234 " incl %%eax\n"
235 " shll %%cl, %%eax\n"
236 " decl %%eax\n"
237 " andl %%edx, %%eax\n" /* eax &= hold */
238 " shrq %%cl, %%rdx\n"
239 " addl %%eax, %%r14d\n" /* len += hold & mask[op] */
240
241 ".L_decode_distance:\n"
242 " movq %%r13, %%r8\n" /* r8 = dmask */
243 " cmpb $32, %%bl\n"
244 " ja .L_get_distance_code\n" /* if (32 < bits) */
245
246 " lodsl\n" /* eax = *(uint *)in++ */
247 " movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
248 " addb $32, %%bl\n" /* bits += 32 */
249 " shlq %%cl, %%rax\n"
250 " orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */
251
252 ".L_get_distance_code:\n"
253 " andq %%rdx, %%r8\n" /* r8 &= hold */
254 " movl (%%r11,%%r8,4), %%eax\n" /* eax = dcode[hold & dmask] */
255
256 ".L_dodist:\n"
257 " movl %%eax, %%r15d\n" /* dist = this */
258 " shrl $16, %%r15d\n" /* dist = this.val */
259 " movb %%ah, %%cl\n"
260 " subb %%ah, %%bl\n" /* bits -= this.bits */
261 " shrq %%cl, %%rdx\n" /* hold >>= this.bits */
262 " movb %%al, %%cl\n" /* cl = this.op */
263
264 " testb $16, %%al\n" /* if ((op & 16) == 0) */
265 " jz .L_test_for_second_level_dist\n"
266 " andb $15, %%cl\n" /* op &= 15 */
267 " jz .L_check_dist_one\n"
268
269 ".L_add_bits_to_dist:\n"
270 " subb %%cl, %%bl\n"
271 " xorl %%eax, %%eax\n"
272 " incl %%eax\n"
273 " shll %%cl, %%eax\n"
274 " decl %%eax\n" /* (1 << op) - 1 */
275 " andl %%edx, %%eax\n" /* eax &= hold */
276 " shrq %%cl, %%rdx\n"
277 " addl %%eax, %%r15d\n" /* dist += hold & ((1 << op) - 1) */
278
279 ".L_check_window:\n"
280 " movq %%rsi, %%r8\n" /* save in so from can use it's reg */
281 " movq %%rdi, %%rax\n"
282 " subq 40(%%rsp), %%rax\n" /* nbytes = out - beg */
283
284 " cmpl %%r15d, %%eax\n"
285 " jb .L_clip_window\n" /* if (dist > nbytes) 4.2% */
286
287 " movl %%r14d, %%ecx\n" /* ecx = len */
288 " movq %%rdi, %%rsi\n"
289 " subq %%r15, %%rsi\n" /* from = out - dist */
290
291 " sarl %%ecx\n"
292 " jnc .L_copy_two\n" /* if len % 2 == 0 */
293
294 " rep movsw\n"
295 " movb (%%rsi), %%al\n"
296 " movb %%al, (%%rdi)\n"
297 " incq %%rdi\n"
298
299 " movq %%r8, %%rsi\n" /* move in back to %rsi, toss from */
300 " jmp .L_while_test\n"
301
302 ".L_copy_two:\n"
303 " rep movsw\n"
304 " movq %%r8, %%rsi\n" /* move in back to %rsi, toss from */
305 " jmp .L_while_test\n"
306
307 ".align 32,0x90\n"
308 ".L_check_dist_one:\n"
309 " cmpl $1, %%r15d\n" /* if dist 1, is a memset */
310 " jne .L_check_window\n"
311 " cmpq %%rdi, 40(%%rsp)\n" /* if out == beg, outside window */
312 " je .L_check_window\n"
313
314 " movl %%r14d, %%ecx\n" /* ecx = len */
315 " movb -1(%%rdi), %%al\n"
316 " movb %%al, %%ah\n"
317
318 " sarl %%ecx\n"
319 " jnc .L_set_two\n"
320 " movb %%al, (%%rdi)\n"
321 " incq %%rdi\n"
322
323 ".L_set_two:\n"
324 " rep stosw\n"
325 " jmp .L_while_test\n"
326
327 ".align 32,0x90\n"
328 ".L_test_for_second_level_length:\n"
329 " testb $64, %%al\n"
330 " jnz .L_test_for_end_of_block\n" /* if ((op & 64) != 0) */
331
332 " xorl %%eax, %%eax\n"
333 " incl %%eax\n"
334 " shll %%cl, %%eax\n"
335 " decl %%eax\n"
336 " andl %%edx, %%eax\n" /* eax &= hold */
337 " addl %%r14d, %%eax\n" /* eax += len */
338 " movl (%%rbp,%%rax,4), %%eax\n" /* eax = lcode[val+(hold&mask[op])]*/
339 " jmp .L_dolen\n"
340
341 ".align 32,0x90\n"
342 ".L_test_for_second_level_dist:\n"
343 " testb $64, %%al\n"
344 " jnz .L_invalid_distance_code\n" /* if ((op & 64) != 0) */
345
346 " xorl %%eax, %%eax\n"
347 " incl %%eax\n"
348 " shll %%cl, %%eax\n"
349 " decl %%eax\n"
350 " andl %%edx, %%eax\n" /* eax &= hold */
351 " addl %%r15d, %%eax\n" /* eax += dist */
352 " movl (%%r11,%%rax,4), %%eax\n" /* eax = dcode[val+(hold&mask[op])]*/
353 " jmp .L_dodist\n"
354
355 ".align 32,0x90\n"
356 ".L_clip_window:\n"
357 " movl %%eax, %%ecx\n" /* ecx = nbytes */
358 " movl 92(%%rsp), %%eax\n" /* eax = wsize, prepare for dist cmp */
359 " negl %%ecx\n" /* nbytes = -nbytes */
360
361 " cmpl %%r15d, %%eax\n"
362 " jb .L_invalid_distance_too_far\n" /* if (dist > wsize) */
363
364 " addl %%r15d, %%ecx\n" /* nbytes = dist - nbytes */
365 " cmpl $0, 96(%%rsp)\n"
366 " jne .L_wrap_around_window\n" /* if (write != 0) */
367
368 " movq 56(%%rsp), %%rsi\n" /* from = window */
369 " subl %%ecx, %%eax\n" /* eax -= nbytes */
370 " addq %%rax, %%rsi\n" /* from += wsize - nbytes */
371
372 " movl %%r14d, %%eax\n" /* eax = len */
373 " cmpl %%ecx, %%r14d\n"
374 " jbe .L_do_copy\n" /* if (nbytes >= len) */
375
376 " subl %%ecx, %%eax\n" /* eax -= nbytes */
377 " rep movsb\n"
378 " movq %%rdi, %%rsi\n"
379 " subq %%r15, %%rsi\n" /* from = &out[ -dist ] */
380 " jmp .L_do_copy\n"
381
382 ".align 32,0x90\n"
383 ".L_wrap_around_window:\n"
384 " movl 96(%%rsp), %%eax\n" /* eax = write */
385 " cmpl %%eax, %%ecx\n"
386 " jbe .L_contiguous_in_window\n" /* if (write >= nbytes) */
387
388 " movl 92(%%rsp), %%esi\n" /* from = wsize */
389 " addq 56(%%rsp), %%rsi\n" /* from += window */
390 " addq %%rax, %%rsi\n" /* from += write */
391 " subq %%rcx, %%rsi\n" /* from -= nbytes */
392 " subl %%eax, %%ecx\n" /* nbytes -= write */
393
394 " movl %%r14d, %%eax\n" /* eax = len */
395 " cmpl %%ecx, %%eax\n"
396 " jbe .L_do_copy\n" /* if (nbytes >= len) */
397
398 " subl %%ecx, %%eax\n" /* len -= nbytes */
399 " rep movsb\n"
400 " movq 56(%%rsp), %%rsi\n" /* from = window */
401 " movl 96(%%rsp), %%ecx\n" /* nbytes = write */
402 " cmpl %%ecx, %%eax\n"
403 " jbe .L_do_copy\n" /* if (nbytes >= len) */
404
405 " subl %%ecx, %%eax\n" /* len -= nbytes */
406 " rep movsb\n"
407 " movq %%rdi, %%rsi\n"
408 " subq %%r15, %%rsi\n" /* from = out - dist */
409 " jmp .L_do_copy\n"
410
411 ".align 32,0x90\n"
412 ".L_contiguous_in_window:\n"
413 " movq 56(%%rsp), %%rsi\n" /* rsi = window */
414 " addq %%rax, %%rsi\n"
415 " subq %%rcx, %%rsi\n" /* from += write - nbytes */
416
417 " movl %%r14d, %%eax\n" /* eax = len */
418 " cmpl %%ecx, %%eax\n"
419 " jbe .L_do_copy\n" /* if (nbytes >= len) */
420
421 " subl %%ecx, %%eax\n" /* len -= nbytes */
422 " rep movsb\n"
423 " movq %%rdi, %%rsi\n"
424 " subq %%r15, %%rsi\n" /* from = out - dist */
425 " jmp .L_do_copy\n" /* if (nbytes >= len) */
426
427 ".align 32,0x90\n"
428 ".L_do_copy:\n"
429 " movl %%eax, %%ecx\n" /* ecx = len */
430 " rep movsb\n"
431
432 " movq %%r8, %%rsi\n" /* move in back to %esi, toss from */
433 " jmp .L_while_test\n"
434
435 ".L_test_for_end_of_block:\n"
436 " testb $32, %%al\n"
437 " jz .L_invalid_literal_length_code\n"
438 " movl $1, 116(%%rsp)\n"
439 " jmp .L_break_loop_with_status\n"
440
441 ".L_invalid_literal_length_code:\n"
442 " movl $2, 116(%%rsp)\n"
443 " jmp .L_break_loop_with_status\n"
444
445 ".L_invalid_distance_code:\n"
446 " movl $3, 116(%%rsp)\n"
447 " jmp .L_break_loop_with_status\n"
448
449 ".L_invalid_distance_too_far:\n"
450 " movl $4, 116(%%rsp)\n"
451 " jmp .L_break_loop_with_status\n"
452
453 ".L_break_loop:\n"
454 " movl $0, 116(%%rsp)\n"
455
456 ".L_break_loop_with_status:\n"
457 /* put in, out, bits, and hold back into ar and pop esp */
458 " movq %%rsi, 16(%%rsp)\n" /* in */
459 " movq %%rdi, 32(%%rsp)\n" /* out */
460 " movl %%ebx, 88(%%rsp)\n" /* bits */
461 " movq %%rdx, 80(%%rsp)\n" /* hold */
462 " movq (%%rsp), %%rax\n" /* restore rbp and rsp */
463 " movq 8(%%rsp), %%rbp\n"
464 " movq %%rax, %%rsp\n"
465 :
466 : "m" (ar)
467 : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi",
468 "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15"
469 );
470 #elif ( defined( __GNUC__ ) || defined( __ICC ) ) && defined( __i386 )
471 __asm__ __volatile__ (
472 " leal %0, %%eax\n"
473 " movl %%esp, (%%eax)\n" /* save esp, ebp */
474 " movl %%ebp, 4(%%eax)\n"
475 " movl %%eax, %%esp\n"
476 " movl 8(%%esp), %%esi\n" /* esi = in */
477 " movl 16(%%esp), %%edi\n" /* edi = out */
478 " movl 40(%%esp), %%edx\n" /* edx = hold */
479 " movl 44(%%esp), %%ebx\n" /* ebx = bits */
480 " movl 32(%%esp), %%ebp\n" /* ebp = lcode */
481
482 " cld\n"
483 " jmp .L_do_loop\n"
484
485 ".align 32,0x90\n"
486 ".L_while_test:\n"
487 " cmpl %%edi, 24(%%esp)\n" /* out < end */
488 " jbe .L_break_loop\n"
489 " cmpl %%esi, 12(%%esp)\n" /* in < last */
490 " jbe .L_break_loop\n"
491
492 ".L_do_loop:\n"
493 " cmpb $15, %%bl\n"
494 " ja .L_get_length_code\n" /* if (15 < bits) */
495
496 " xorl %%eax, %%eax\n"
497 " lodsw\n" /* al = *(ushort *)in++ */
498 " movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
499 " addb $16, %%bl\n" /* bits += 16 */
500 " shll %%cl, %%eax\n"
501 " orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
502
503 ".L_get_length_code:\n"
504 " movl 56(%%esp), %%eax\n" /* eax = lmask */
505 " andl %%edx, %%eax\n" /* eax &= hold */
506 " movl (%%ebp,%%eax,4), %%eax\n" /* eax = lcode[hold & lmask] */
507
508 ".L_dolen:\n"
509 " movb %%ah, %%cl\n" /* cl = this.bits */
510 " subb %%ah, %%bl\n" /* bits -= this.bits */
511 " shrl %%cl, %%edx\n" /* hold >>= this.bits */
512
513 " testb %%al, %%al\n"
514 " jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */
515
516 " shrl $16, %%eax\n" /* output this.val char */
517 " stosb\n"
518 " jmp .L_while_test\n"
519
520 ".align 32,0x90\n"
521 ".L_test_for_length_base:\n"
522 " movl %%eax, %%ecx\n" /* len = this */
523 " shrl $16, %%ecx\n" /* len = this.val */
524 " movl %%ecx, 64(%%esp)\n" /* save len */
525 " movb %%al, %%cl\n"
526
527 " testb $16, %%al\n"
528 " jz .L_test_for_second_level_length\n" /* if ((op & 16) == 0) 8% */
529 " andb $15, %%cl\n" /* op &= 15 */
530 " jz .L_decode_distance\n" /* if (!op) */
531 " cmpb %%cl, %%bl\n"
532 " jae .L_add_bits_to_len\n" /* if (op <= bits) */
533
534 " movb %%cl, %%ch\n" /* stash op in ch, freeing cl */
535 " xorl %%eax, %%eax\n"
536 " lodsw\n" /* al = *(ushort *)in++ */
537 " movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
538 " addb $16, %%bl\n" /* bits += 16 */
539 " shll %%cl, %%eax\n"
540 " orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
541 " movb %%ch, %%cl\n" /* move op back to ecx */
542
543 ".L_add_bits_to_len:\n"
544 " subb %%cl, %%bl\n"
545 " xorl %%eax, %%eax\n"
546 " incl %%eax\n"
547 " shll %%cl, %%eax\n"
548 " decl %%eax\n"
549 " andl %%edx, %%eax\n" /* eax &= hold */
550 " shrl %%cl, %%edx\n"
551 " addl %%eax, 64(%%esp)\n" /* len += hold & mask[op] */
552
553 ".L_decode_distance:\n"
554 " cmpb $15, %%bl\n"
555 " ja .L_get_distance_code\n" /* if (15 < bits) */
556
557 " xorl %%eax, %%eax\n"
558 " lodsw\n" /* al = *(ushort *)in++ */
559 " movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
560 " addb $16, %%bl\n" /* bits += 16 */
561 " shll %%cl, %%eax\n"
562 " orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
563
564 ".L_get_distance_code:\n"
565 " movl 60(%%esp), %%eax\n" /* eax = dmask */
566 " movl 36(%%esp), %%ecx\n" /* ecx = dcode */
567 " andl %%edx, %%eax\n" /* eax &= hold */
568 " movl (%%ecx,%%eax,4), %%eax\n"/* eax = dcode[hold & dmask] */
569
570 ".L_dodist:\n"
571 " movl %%eax, %%ebp\n" /* dist = this */
572 " shrl $16, %%ebp\n" /* dist = this.val */
573 " movb %%ah, %%cl\n"
574 " subb %%ah, %%bl\n" /* bits -= this.bits */
575 " shrl %%cl, %%edx\n" /* hold >>= this.bits */
576 " movb %%al, %%cl\n" /* cl = this.op */
577
578 " testb $16, %%al\n" /* if ((op & 16) == 0) */
579 " jz .L_test_for_second_level_dist\n"
580 " andb $15, %%cl\n" /* op &= 15 */
581 " jz .L_check_dist_one\n"
582 " cmpb %%cl, %%bl\n"
583 " jae .L_add_bits_to_dist\n" /* if (op <= bits) 97.6% */
584
585 " movb %%cl, %%ch\n" /* stash op in ch, freeing cl */
586 " xorl %%eax, %%eax\n"
587 " lodsw\n" /* al = *(ushort *)in++ */
588 " movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
589 " addb $16, %%bl\n" /* bits += 16 */
590 " shll %%cl, %%eax\n"
591 " orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
592 " movb %%ch, %%cl\n" /* move op back to ecx */
593
594 ".L_add_bits_to_dist:\n"
595 " subb %%cl, %%bl\n"
596 " xorl %%eax, %%eax\n"
597 " incl %%eax\n"
598 " shll %%cl, %%eax\n"
599 " decl %%eax\n" /* (1 << op) - 1 */
600 " andl %%edx, %%eax\n" /* eax &= hold */
601 " shrl %%cl, %%edx\n"
602 " addl %%eax, %%ebp\n" /* dist += hold & ((1 << op) - 1) */
603
604 ".L_check_window:\n"
605 " movl %%esi, 8(%%esp)\n" /* save in so from can use it's reg */
606 " movl %%edi, %%eax\n"
607 " subl 20(%%esp), %%eax\n" /* nbytes = out - beg */
608
609 " cmpl %%ebp, %%eax\n"
610 " jb .L_clip_window\n" /* if (dist > nbytes) 4.2% */
611
612 " movl 64(%%esp), %%ecx\n" /* ecx = len */
613 " movl %%edi, %%esi\n"
614 " subl %%ebp, %%esi\n" /* from = out - dist */
615
616 " sarl %%ecx\n"
617 " jnc .L_copy_two\n" /* if len % 2 == 0 */
618
619 " rep movsw\n"
620 " movb (%%esi), %%al\n"
621 " movb %%al, (%%edi)\n"
622 " incl %%edi\n"
623
624 " movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */
625 " movl 32(%%esp), %%ebp\n" /* ebp = lcode */
626 " jmp .L_while_test\n"
627
628 ".L_copy_two:\n"
629 " rep movsw\n"
630 " movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */
631 " movl 32(%%esp), %%ebp\n" /* ebp = lcode */
632 " jmp .L_while_test\n"
633
634 ".align 32,0x90\n"
635 ".L_check_dist_one:\n"
636 " cmpl $1, %%ebp\n" /* if dist 1, is a memset */
637 " jne .L_check_window\n"
638 " cmpl %%edi, 20(%%esp)\n"
639 " je .L_check_window\n" /* out == beg, if outside window */
640
641 " movl 64(%%esp), %%ecx\n" /* ecx = len */
642 " movb -1(%%edi), %%al\n"
643 " movb %%al, %%ah\n"
644
645 " sarl %%ecx\n"
646 " jnc .L_set_two\n"
647 " movb %%al, (%%edi)\n"
648 " incl %%edi\n"
649
650 ".L_set_two:\n"
651 " rep stosw\n"
652 " movl 32(%%esp), %%ebp\n" /* ebp = lcode */
653 " jmp .L_while_test\n"
654
655 ".align 32,0x90\n"
656 ".L_test_for_second_level_length:\n"
657 " testb $64, %%al\n"
658 " jnz .L_test_for_end_of_block\n" /* if ((op & 64) != 0) */
659
660 " xorl %%eax, %%eax\n"
661 " incl %%eax\n"
662 " shll %%cl, %%eax\n"
663 " decl %%eax\n"
664 " andl %%edx, %%eax\n" /* eax &= hold */
665 " addl 64(%%esp), %%eax\n" /* eax += len */
666 " movl (%%ebp,%%eax,4), %%eax\n" /* eax = lcode[val+(hold&mask[op])]*/
667 " jmp .L_dolen\n"
668
669 ".align 32,0x90\n"
670 ".L_test_for_second_level_dist:\n"
671 " testb $64, %%al\n"
672 " jnz .L_invalid_distance_code\n" /* if ((op & 64) != 0) */
673
674 " xorl %%eax, %%eax\n"
675 " incl %%eax\n"
676 " shll %%cl, %%eax\n"
677 " decl %%eax\n"
678 " andl %%edx, %%eax\n" /* eax &= hold */
679 " addl %%ebp, %%eax\n" /* eax += dist */
680 " movl 36(%%esp), %%ecx\n" /* ecx = dcode */
681 " movl (%%ecx,%%eax,4), %%eax\n" /* eax = dcode[val+(hold&mask[op])]*/
682 " jmp .L_dodist\n"
683
684 ".align 32,0x90\n"
685 ".L_clip_window:\n"
686 " movl %%eax, %%ecx\n"
687 " movl 48(%%esp), %%eax\n" /* eax = wsize */
688 " negl %%ecx\n" /* nbytes = -nbytes */
689 " movl 28(%%esp), %%esi\n" /* from = window */
690
691 " cmpl %%ebp, %%eax\n"
692 " jb .L_invalid_distance_too_far\n" /* if (dist > wsize) */
693
694 " addl %%ebp, %%ecx\n" /* nbytes = dist - nbytes */
695 " cmpl $0, 52(%%esp)\n"
696 " jne .L_wrap_around_window\n" /* if (write != 0) */
697
698 " subl %%ecx, %%eax\n"
699 " addl %%eax, %%esi\n" /* from += wsize - nbytes */
700
701 " movl 64(%%esp), %%eax\n" /* eax = len */
702 " cmpl %%ecx, %%eax\n"
703 " jbe .L_do_copy\n" /* if (nbytes >= len) */
704
705 " subl %%ecx, %%eax\n" /* len -= nbytes */
706 " rep movsb\n"
707 " movl %%edi, %%esi\n"
708 " subl %%ebp, %%esi\n" /* from = out - dist */
709 " jmp .L_do_copy\n"
710
711 ".align 32,0x90\n"
712 ".L_wrap_around_window:\n"
713 " movl 52(%%esp), %%eax\n" /* eax = write */
714 " cmpl %%eax, %%ecx\n"
715 " jbe .L_contiguous_in_window\n" /* if (write >= nbytes) */
716
717 " addl 48(%%esp), %%esi\n" /* from += wsize */
718 " addl %%eax, %%esi\n" /* from += write */
719 " subl %%ecx, %%esi\n" /* from -= nbytes */
720 " subl %%eax, %%ecx\n" /* nbytes -= write */
721
722 " movl 64(%%esp), %%eax\n" /* eax = len */
723 " cmpl %%ecx, %%eax\n"
724 " jbe .L_do_copy\n" /* if (nbytes >= len) */
725
726 " subl %%ecx, %%eax\n" /* len -= nbytes */
727 " rep movsb\n"
728 " movl 28(%%esp), %%esi\n" /* from = window */
729 " movl 52(%%esp), %%ecx\n" /* nbytes = write */
730 " cmpl %%ecx, %%eax\n"
731 " jbe .L_do_copy\n" /* if (nbytes >= len) */
732
733 " subl %%ecx, %%eax\n" /* len -= nbytes */
734 " rep movsb\n"
735 " movl %%edi, %%esi\n"
736 " subl %%ebp, %%esi\n" /* from = out - dist */
737 " jmp .L_do_copy\n"
738
739 ".align 32,0x90\n"
740 ".L_contiguous_in_window:\n"
741 " addl %%eax, %%esi\n"
742 " subl %%ecx, %%esi\n" /* from += write - nbytes */
743
744 " movl 64(%%esp), %%eax\n" /* eax = len */
745 " cmpl %%ecx, %%eax\n"
746 " jbe .L_do_copy\n" /* if (nbytes >= len) */
747
748 " subl %%ecx, %%eax\n" /* len -= nbytes */
749 " rep movsb\n"
750 " movl %%edi, %%esi\n"
751 " subl %%ebp, %%esi\n" /* from = out - dist */
752 " jmp .L_do_copy\n" /* if (nbytes >= len) */
753
754 ".align 32,0x90\n"
755 ".L_do_copy:\n"
756 " movl %%eax, %%ecx\n"
757 " rep movsb\n"
758
759 " movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */
760 " movl 32(%%esp), %%ebp\n" /* ebp = lcode */
761 " jmp .L_while_test\n"
762
763 ".L_test_for_end_of_block:\n"
764 " testb $32, %%al\n"
765 " jz .L_invalid_literal_length_code\n"
766 " movl $1, 72(%%esp)\n"
767 " jmp .L_break_loop_with_status\n"
768
769 ".L_invalid_literal_length_code:\n"
770 " movl $2, 72(%%esp)\n"
771 " jmp .L_break_loop_with_status\n"
772
773 ".L_invalid_distance_code:\n"
774 " movl $3, 72(%%esp)\n"
775 " jmp .L_break_loop_with_status\n"
776
777 ".L_invalid_distance_too_far:\n"
778 " movl 8(%%esp), %%esi\n"
779 " movl $4, 72(%%esp)\n"
780 " jmp .L_break_loop_with_status\n"
781
782 ".L_break_loop:\n"
783 " movl $0, 72(%%esp)\n"
784
785 ".L_break_loop_with_status:\n"
786 /* put in, out, bits, and hold back into ar and pop esp */
787 " movl %%esi, 8(%%esp)\n" /* save in */
788 " movl %%edi, 16(%%esp)\n" /* save out */
789 " movl %%ebx, 44(%%esp)\n" /* save bits */
790 " movl %%edx, 40(%%esp)\n" /* save hold */
791 " movl 4(%%esp), %%ebp\n" /* restore esp, ebp */
792 " movl (%%esp), %%esp\n"
793 :
794 : "m" (ar)
795 : "memory", "%eax", "%ebx", "%ecx", "%edx", "%esi", "%edi"
796 );
797 #elif defined( _MSC_VER ) && ! defined( _M_AMD64 )
798 __asm {
799 lea eax, ar
800 mov [eax], esp /* save esp, ebp */
801 mov [eax+4], ebp
802 mov esp, eax
803 mov esi, [esp+8] /* esi = in */
804 mov edi, [esp+16] /* edi = out */
805 mov edx, [esp+40] /* edx = hold */
806 mov ebx, [esp+44] /* ebx = bits */
807 mov ebp, [esp+32] /* ebp = lcode */
808
809 cld
810 jmp L_do_loop
811
812 ALIGN 4
813 L_while_test:
814 cmp [esp+24], edi
815 jbe L_break_loop
816 cmp [esp+12], esi
817 jbe L_break_loop
818
819 L_do_loop:
820 cmp bl, 15
821 ja L_get_length_code /* if (15 < bits) */
822
823 xor eax, eax
824 lodsw /* al = *(ushort *)in++ */
825 mov cl, bl /* cl = bits, needs it for shifting */
826 add bl, 16 /* bits += 16 */
827 shl eax, cl
828 or edx, eax /* hold |= *((ushort *)in)++ << bits */
829
830 L_get_length_code:
831 mov eax, [esp+56] /* eax = lmask */
832 and eax, edx /* eax &= hold */
833 mov eax, [ebp+eax*4] /* eax = lcode[hold & lmask] */
834
835 L_dolen:
836 mov cl, ah /* cl = this.bits */
837 sub bl, ah /* bits -= this.bits */
838 shr edx, cl /* hold >>= this.bits */
839
840 test al, al
841 jnz L_test_for_length_base /* if (op != 0) 45.7% */
842
843 shr eax, 16 /* output this.val char */
844 stosb
845 jmp L_while_test
846
847 ALIGN 4
848 L_test_for_length_base:
849 mov ecx, eax /* len = this */
850 shr ecx, 16 /* len = this.val */
851 mov [esp+64], ecx /* save len */
852 mov cl, al
853
854 test al, 16
855 jz L_test_for_second_level_length /* if ((op & 16) == 0) 8% */
856 and cl, 15 /* op &= 15 */
857 jz L_decode_distance /* if (!op) */
858 cmp bl, cl
859 jae L_add_bits_to_len /* if (op <= bits) */
860
861 mov ch, cl /* stash op in ch, freeing cl */
862 xor eax, eax
863 lodsw /* al = *(ushort *)in++ */
864 mov cl, bl /* cl = bits, needs it for shifting */
865 add bl, 16 /* bits += 16 */
866 shl eax, cl
867 or edx, eax /* hold |= *((ushort *)in)++ << bits */
868 mov cl, ch /* move op back to ecx */
869
870 L_add_bits_to_len:
871 sub bl, cl
872 xor eax, eax
873 inc eax
874 shl eax, cl
875 dec eax
876 and eax, edx /* eax &= hold */
877 shr edx, cl
878 add [esp+64], eax /* len += hold & mask[op] */
879
880 L_decode_distance:
881 cmp bl, 15
882 ja L_get_distance_code /* if (15 < bits) */
883
884 xor eax, eax
885 lodsw /* al = *(ushort *)in++ */
886 mov cl, bl /* cl = bits, needs it for shifting */
887 add bl, 16 /* bits += 16 */
888 shl eax, cl
889 or edx, eax /* hold |= *((ushort *)in)++ << bits */
890
891 L_get_distance_code:
892 mov eax, [esp+60] /* eax = dmask */
893 mov ecx, [esp+36] /* ecx = dcode */
894 and eax, edx /* eax &= hold */
895 mov eax, [ecx+eax*4]/* eax = dcode[hold & dmask] */
896
897 L_dodist:
898 mov ebp, eax /* dist = this */
899 shr ebp, 16 /* dist = this.val */
900 mov cl, ah
901 sub bl, ah /* bits -= this.bits */
902 shr edx, cl /* hold >>= this.bits */
903 mov cl, al /* cl = this.op */
904
905 test al, 16 /* if ((op & 16) == 0) */
906 jz L_test_for_second_level_dist
907 and cl, 15 /* op &= 15 */
908 jz L_check_dist_one
909 cmp bl, cl
910 jae L_add_bits_to_dist /* if (op <= bits) 97.6% */
911
912 mov ch, cl /* stash op in ch, freeing cl */
913 xor eax, eax
914 lodsw /* al = *(ushort *)in++ */
915 mov cl, bl /* cl = bits, needs it for shifting */
916 add bl, 16 /* bits += 16 */
917 shl eax, cl
918 or edx, eax /* hold |= *((ushort *)in)++ << bits */
919 mov cl, ch /* move op back to ecx */
920
921 L_add_bits_to_dist:
922 sub bl, cl
923 xor eax, eax
924 inc eax
925 shl eax, cl
926 dec eax /* (1 << op) - 1 */
927 and eax, edx /* eax &= hold */
928 shr edx, cl
929 add ebp, eax /* dist += hold & ((1 << op) - 1) */
930
931 L_check_window:
932 mov [esp+8], esi /* save in so from can use it's reg */
933 mov eax, edi
934 sub eax, [esp+20] /* nbytes = out - beg */
935
936 cmp eax, ebp
937 jb L_clip_window /* if (dist > nbytes) 4.2% */
938
939 mov ecx, [esp+64] /* ecx = len */
940 mov esi, edi
941 sub esi, ebp /* from = out - dist */
942
943 sar ecx, 1
944 jnc L_copy_two
945
946 rep movsw
947 mov al, [esi]
948 mov [edi], al
949 inc edi
950
951 mov esi, [esp+8] /* move in back to %esi, toss from */
952 mov ebp, [esp+32] /* ebp = lcode */
953 jmp L_while_test
954
955 L_copy_two:
956 rep movsw
957 mov esi, [esp+8] /* move in back to %esi, toss from */
958 mov ebp, [esp+32] /* ebp = lcode */
959 jmp L_while_test
960
961 ALIGN 4
962 L_check_dist_one:
963 cmp ebp, 1 /* if dist 1, is a memset */
964 jne L_check_window
965 cmp [esp+20], edi
966 je L_check_window /* out == beg, if outside window */
967
968 mov ecx, [esp+64] /* ecx = len */
969 mov al, [edi-1]
970 mov ah, al
971
972 sar ecx, 1
973 jnc L_set_two
974 mov [edi], al /* memset out with from[-1] */
975 inc edi
976
977 L_set_two:
978 rep stosw
979 mov ebp, [esp+32] /* ebp = lcode */
980 jmp L_while_test
981
982 ALIGN 4
983 L_test_for_second_level_length:
984 test al, 64
985 jnz L_test_for_end_of_block /* if ((op & 64) != 0) */
986
987 xor eax, eax
988 inc eax
989 shl eax, cl
990 dec eax
991 and eax, edx /* eax &= hold */
992 add eax, [esp+64] /* eax += len */
993 mov eax, [ebp+eax*4] /* eax = lcode[val+(hold&mask[op])]*/
994 jmp L_dolen
995
996 ALIGN 4
997 L_test_for_second_level_dist:
998 test al, 64
999 jnz L_invalid_distance_code /* if ((op & 64) != 0) */
1000
1001 xor eax, eax
1002 inc eax
1003 shl eax, cl
1004 dec eax
1005 and eax, edx /* eax &= hold */
1006 add eax, ebp /* eax += dist */
1007 mov ecx, [esp+36] /* ecx = dcode */
1008 mov eax, [ecx+eax*4] /* eax = dcode[val+(hold&mask[op])]*/
1009 jmp L_dodist
1010
1011 ALIGN 4
1012 L_clip_window:
1013 mov ecx, eax
1014 mov eax, [esp+48] /* eax = wsize */
1015 neg ecx /* nbytes = -nbytes */
1016 mov esi, [esp+28] /* from = window */
1017
1018 cmp eax, ebp
1019 jb L_invalid_distance_too_far /* if (dist > wsize) */
1020
1021 add ecx, ebp /* nbytes = dist - nbytes */
1022 cmp dword ptr [esp+52], 0
1023 jne L_wrap_around_window /* if (write != 0) */
1024
1025 sub eax, ecx
1026 add esi, eax /* from += wsize - nbytes */
1027
1028 mov eax, [esp+64] /* eax = len */
1029 cmp eax, ecx
1030 jbe L_do_copy /* if (nbytes >= len) */
1031
1032 sub eax, ecx /* len -= nbytes */
1033 rep movsb
1034 mov esi, edi
1035 sub esi, ebp /* from = out - dist */
1036 jmp L_do_copy
1037
1038 ALIGN 4
1039 L_wrap_around_window:
1040 mov eax, [esp+52] /* eax = write */
1041 cmp ecx, eax
1042 jbe L_contiguous_in_window /* if (write >= nbytes) */
1043
1044 add esi, [esp+48] /* from += wsize */
1045 add esi, eax /* from += write */
1046 sub esi, ecx /* from -= nbytes */
1047 sub ecx, eax /* nbytes -= write */
1048
1049 mov eax, [esp+64] /* eax = len */
1050 cmp eax, ecx
1051 jbe L_do_copy /* if (nbytes >= len) */
1052
1053 sub eax, ecx /* len -= nbytes */
1054 rep movsb
1055 mov esi, [esp+28] /* from = window */
1056 mov ecx, [esp+52] /* nbytes = write */
1057 cmp eax, ecx
1058 jbe L_do_copy /* if (nbytes >= len) */
1059
1060 sub eax, ecx /* len -= nbytes */
1061 rep movsb
1062 mov esi, edi
1063 sub esi, ebp /* from = out - dist */
1064 jmp L_do_copy
1065
1066 ALIGN 4
1067 L_contiguous_in_window:
1068 add esi, eax
1069 sub esi, ecx /* from += write - nbytes */
1070
1071 mov eax, [esp+64] /* eax = len */
1072 cmp eax, ecx
1073 jbe L_do_copy /* if (nbytes >= len) */
1074
1075 sub eax, ecx /* len -= nbytes */
1076 rep movsb
1077 mov esi, edi
1078 sub esi, ebp /* from = out - dist */
1079 jmp L_do_copy
1080
1081 ALIGN 4
1082 L_do_copy:
1083 mov ecx, eax
1084 rep movsb
1085
1086 mov esi, [esp+8] /* move in back to %esi, toss from */
1087 mov ebp, [esp+32] /* ebp = lcode */
1088 jmp L_while_test
1089
1090 L_test_for_end_of_block:
1091 test al, 32
1092 jz L_invalid_literal_length_code
1093 mov dword ptr [esp+72], 1
1094 jmp L_break_loop_with_status
1095
1096 L_invalid_literal_length_code:
1097 mov dword ptr [esp+72], 2
1098 jmp L_break_loop_with_status
1099
1100 L_invalid_distance_code:
1101 mov dword ptr [esp+72], 3
1102 jmp L_break_loop_with_status
1103
1104 L_invalid_distance_too_far:
1105 mov esi, [esp+4]
1106 mov dword ptr [esp+72], 4
1107 jmp L_break_loop_with_status
1108
1109 L_break_loop:
1110 mov dword ptr [esp+72], 0
1111
1112 L_break_loop_with_status:
1113 /* put in, out, bits, and hold back into ar and pop esp */
1114 mov [esp+8], esi /* save in */
1115 mov [esp+16], edi /* save out */
1116 mov [esp+44], ebx /* save bits */
1117 mov [esp+40], edx /* save hold */
1118 mov ebp, [esp+4] /* restore esp, ebp */
1119 mov esp, [esp]
1120 }
1121 #else
1122 #error "x86 architecture not defined"
1123 #endif
1124
1125 if (ar.status > 1) {
1126 if (ar.status == 2)
1127 strm->msg = "invalid literal/length code";
1128 else if (ar.status == 3)
1129 strm->msg = "invalid distance code";
1130 else
1131 strm->msg = "invalid distance too far back";
1132 state->mode = BAD;
1133 }
1134 else if ( ar.status == 1 ) {
1135 state->mode = TYPE;
1136 }
1137
1138 /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
1139 ar.len = ar.bits >> 3;
1140 ar.in -= ar.len;
1141 ar.bits -= ar.len << 3;
1142 ar.hold &= (1U << ar.bits) - 1;
1143
1144 /* update state and return */
1145 strm->next_in = ar.in;
1146 strm->next_out = ar.out;
1147 strm->avail_in = (unsigned)(ar.in < ar.last ?
1148 PAD_AVAIL_IN + (ar.last - ar.in) :
1149 PAD_AVAIL_IN - (ar.in - ar.last));
1150 strm->avail_out = (unsigned)(ar.out < ar.end ?
1151 PAD_AVAIL_OUT + (ar.end - ar.out) :
1152 PAD_AVAIL_OUT - (ar.out - ar.end));
1153 state->hold = ar.hold;
1154 state->bits = ar.bits;
1155 return;
1156 }
1157
--- a/compat/zlib/contrib/inflate86/inffas86.c
+++ b/compat/zlib/contrib/inflate86/inffas86.c
@@ -1,1157 +0,0 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
D compat/zlib/contrib/inflate86/inffast.S
-1368
--- a/compat/zlib/contrib/inflate86/inffast.S
+++ b/compat/zlib/contrib/inflate86/inffast.S
@@ -1,1368 +0,0 @@
1
-/*
2
- * inffast.S is a hand tuned assembler version of:
3
- *
4
- * inffast.c -- fast decoding
5
- * Copyright (C) 1995-2003 Mark Adler
6
- * For conditions of distribution and use, see copyright notice in zlib.h
7
- *
8
- * Copyright (C) 2003 Chris Anderson <[email protected]>
9
- * Please use the copyright conditions above.
10
- *
11
- * This version (Jan-23-2003) of inflate_fast was coded and tested under
12
- * GNU/Linux on a pentium 3, using the gcc-3.2 compiler distribution. On that
13
- * machine, I found that gzip style archives decompressed about 20% faster than
14
- * the gcc-3.2 -O3 -fomit-frame-pointer compiled version. Your results will
15
- * depend on how large of a buffer is used for z_stream.next_in & next_out
16
- * (8K-32K worked best for my 256K cpu cache) and how much overhead there is in
17
- * stream processing I/O and crc32/addler32. In my case, this routine used
18
- * 70% of the cpu time and crc32 used 20%.
19
- *
20
- * I am confident that this version will work in the general case, but I have
21
- * not tested a wide variety of datasets or a wide variety of platforms.
22
- *
23
- * Jan-24-2003 -- Added -DUSE_MMX define for slightly faster inflating.
24
- * It should be a runtime flag instead of compile time flag...
25
- *
26
- * Jan-26-2003 -- Added runtime check for MMX support with cpuid instruction.
27
- * With -DUSE_MMX, only MMX code is compiled. With -DNO_MMX, only non-MMX code
28
- * is compiled. Without either option, runtime detection is enabled. Runtime
29
- * detection should work on all modern cpus and the recomended algorithm (flip
30
- * ID bit on eflags and then use the cpuid instruction) is used in many
31
- * multimedia applications. Tested under win2k with gcc-2.95 and gas-2.12
32
- * distributed with cygwin3. Compiling with gcc-2.95 -c inffast.S -o
33
- * inffast.obj generates a COFF object which can then be linked with MSVC++
34
- * compiled code. Tested under FreeBSD 4.7 with gcc-2.95.
35
- *
36
- * Jan-28-2003 -- Tested Athlon XP... MMX mode is slower than no MMX (and
37
- * slower than compiler generated code). Adjusted cpuid check to use the MMX
38
- * code only for Pentiums < P4 until I have more data on the P4. Speed
39
- * improvment is only about 15% on the Athlon when compared with code generated
40
- * with MSVC++. Not sure yet, but I think the P4 will also be slower using the
41
- * MMX mode because many of it's x86 ALU instructions execute in .5 cycles and
42
- * have less latency than MMX ops. Added code to buffer the last 11 bytes of
43
- * the input stream since the MMX code grabs bits in chunks of 32, which
44
- * differs from the inffast.c algorithm. I don't think there would have been
45
- * read overruns where a page boundary was crossed (a segfault), but there
46
- * could have been overruns when next_in ends on unaligned memory (uninitialized
47
- * memory read).
48
- *
49
- * Mar-13-2003 -- P4 MMX is slightly slower than P4 NO_MMX. I created a C
50
- * version of the non-MMX code so that it doesn't depend on zstrm and zstate
51
- * structure offsets which are hard coded in this file. This was last tested
52
- * with zlib-1.2.0 which is currently in beta testing, newer versions of this
53
- * and inffas86.c can be found at http://www.eetbeetee.com/zlib/ and
54
- * http://www.charm.net/~christop/zlib/
55
- */
56
-
57
-
58
-/*
59
- * if you have underscore linking problems (_inflate_fast undefined), try
60
- * using -DGAS_COFF
61
- */
62
-#if ! defined( GAS_COFF ) && ! defined( GAS_ELF )
63
-
64
-#if defined( WIN32 ) || defined( __CYGWIN__ )
65
-#define GAS_COFF /* windows object format */
66
-#else
67
-#define GAS_ELF
68
-#endif
69
-
70
-#endif /* ! GAS_COFF && ! GAS_ELF */
71
-
72
-
73
-#if defined( GAS_COFF )
74
-
75
-/* coff externals have underscores */
76
-#define inflate_fast _inflate_fast
77
-#define inflate_fast_use_mmx _inflate_fast_use_mmx
78
-
79
-#endif /* GAS_COFF */
80
-
81
-
82
-.file "inffast.S"
83
-
84
-.globl inflate_fast
85
-
86
-.text
87
-.align 4,0
88
-.L_invalid_literal_length_code_msg:
89
-.string "invalid literal/length code"
90
-
91
-.align 4,0
92
-.L_invalid_distance_code_msg:
93
-.string "invalid distance code"
94
-
95
-.align 4,0
96
-.L_invalid_distance_too_far_msg:
97
-.string "invalid distance too far back"
98
-
99
-#if ! defined( NO_MMX )
100
-.align 4,0
101
-.L_mask: /* mask[N] = ( 1 << N ) - 1 */
102
-.long 0
103
-.long 1
104
-.long 3
105
-.long 7
106
-.long 15
107
-.long 31
108
-.long 63
109
-.long 127
110
-.long 255
111
-.long 511
112
-.long 1023
113
-.long 2047
114
-.long 4095
115
-.long 8191
116
-.long 16383
117
-.long 32767
118
-.long 65535
119
-.long 131071
120
-.long 262143
121
-.long 524287
122
-.long 1048575
123
-.long 2097151
124
-.long 4194303
125
-.long 8388607
126
-.long 16777215
127
-.long 33554431
128
-.long 67108863
129
-.long 134217727
130
-.long 268435455
131
-.long 536870911
132
-.long 1073741823
133
-.long 2147483647
134
-.long 4294967295
135
-#endif /* NO_MMX */
136
-
137
-.text
138
-
139
-/*
140
- * struct z_stream offsets, in zlib.h
141
- */
142
-#define next_in_strm 0 /* strm->next_in */
143
-#define avail_in_strm 4 /* strm->avail_in */
144
-#define next_out_strm 12 /* strm->next_out */
145
-#define avail_out_strm 16 /* strm->avail_out */
146
-#define msg_strm 24 /* strm->msg */
147
-#define state_strm 28 /* strm->state */
148
-
149
-/*
150
- * struct inflate_state offsets, in inflate.h
151
- */
152
-#define mode_state 0 /* state->mode */
153
-#define wsize_state 32 /* state->wsize */
154
-#define write_state 40 /* state->write */
155
-#define window_state 44 /* state->window */
156
-#define hold_state 48 /* state->hold */
157
-#define bits_state 52 /* state->bits */
158
-#define lencode_state 68 /* state->lencode */
159
-#define distcode_state 72 /* state->distcode */
160
-#define lenbits_state 76 /* state->lenbits */
161
-#define distbits_state 80 /* state->distbits */
162
-
163
-/*
164
- * inflate_fast's activation record
165
- */
166
-#define local_var_size 64 /* how much local space for vars */
167
-#define strm_sp 88 /* first arg: z_stream * (local_var_size + 24) */
168
-#define start_sp 92 /* second arg: unsigned int (local_var_size + 28) */
169
-
170
-/*
171
- * offsets for local vars on stack
172
- */
173
-#define out 60 /* unsigned char* */
174
-#define window 56 /* unsigned char* */
175
-#define wsize 52 /* unsigned int */
176
-#define write 48 /* unsigned int */
177
-#define in 44 /* unsigned char* */
178
-#define beg 40 /* unsigned char* */
179
-#define buf 28 /* char[ 12 ] */
180
-#define len 24 /* unsigned int */
181
-#define last 20 /* unsigned char* */
182
-#define end 16 /* unsigned char* */
183
-#define dcode 12 /* code* */
184
-#define lcode 8 /* code* */
185
-#define dmask 4 /* unsigned int */
186
-#define lmask 0 /* unsigned int */
187
-
188
-/*
189
- * typedef enum inflate_mode consts, in inflate.h
190
- */
191
-#define INFLATE_MODE_TYPE 11 /* state->mode flags enum-ed in inflate.h */
192
-#define INFLATE_MODE_BAD 26
193
-
194
-
195
-#if ! defined( USE_MMX ) && ! defined( NO_MMX )
196
-
197
-#define RUN_TIME_MMX
198
-
199
-#define CHECK_MMX 1
200
-#define DO_USE_MMX 2
201
-#define DONT_USE_MMX 3
202
-
203
-.globl inflate_fast_use_mmx
204
-
205
-.data
206
-
207
-.align 4,0
208
-inflate_fast_use_mmx: /* integer flag for run time control 1=check,2=mmx,3=no */
209
-.long CHECK_MMX
210
-
211
-#if defined( GAS_ELF )
212
-/* elf info */
213
-.type inflate_fast_use_mmx,@object
214
-.size inflate_fast_use_mmx,4
215
-#endif
216
-
217
-#endif /* RUN_TIME_MMX */
218
-
219
-#if defined( GAS_COFF )
220
-/* coff info: scl 2 = extern, type 32 = function */
221
-.def inflate_fast; .scl 2; .type 32; .endef
222
-#endif
223
-
224
-.text
225
-
226
-.align 32,0x90
227
-inflate_fast:
228
- pushl %edi
229
- pushl %esi
230
- pushl %ebp
231
- pushl %ebx
232
- pushf /* save eflags (strm_sp, state_sp assumes this is 32 bits) */
233
- subl $local_var_size, %esp
234
- cld
235
-
236
-#define strm_r %esi
237
-#define state_r %edi
238
-
239
- movl strm_sp(%esp), strm_r
240
- movl state_strm(strm_r), state_r
241
-
242
- /* in = strm->next_in;
243
- * out = strm->next_out;
244
- * last = in + strm->avail_in - 11;
245
- * beg = out - (start - strm->avail_out);
246
- * end = out + (strm->avail_out - 257);
247
- */
248
- movl avail_in_strm(strm_r), %edx
249
- movl next_in_strm(strm_r), %eax
250
-
251
- addl %eax, %edx /* avail_in += next_in */
252
- subl $11, %edx /* avail_in -= 11 */
253
-
254
- movl %eax, in(%esp)
255
- movl %edx, last(%esp)
256
-
257
- movl start_sp(%esp), %ebp
258
- movl avail_out_strm(strm_r), %ecx
259
- movl next_out_strm(strm_r), %ebx
260
-
261
- subl %ecx, %ebp /* start -= avail_out */
262
- negl %ebp /* start = -start */
263
- addl %ebx, %ebp /* start += next_out */
264
-
265
- subl $257, %ecx /* avail_out -= 257 */
266
- addl %ebx, %ecx /* avail_out += out */
267
-
268
- movl %ebx, out(%esp)
269
- movl %ebp, beg(%esp)
270
- movl %ecx, end(%esp)
271
-
272
- /* wsize = state->wsize;
273
- * write = state->write;
274
- * window = state->window;
275
- * hold = state->hold;
276
- * bits = state->bits;
277
- * lcode = state->lencode;
278
- * dcode = state->distcode;
279
- * lmask = ( 1 << state->lenbits ) - 1;
280
- * dmask = ( 1 << state->distbits ) - 1;
281
- */
282
-
283
- movl lencode_state(state_r), %eax
284
- movl distcode_state(state_r), %ecx
285
-
286
- movl %eax, lcode(%esp)
287
- movl %ecx, dcode(%esp)
288
-
289
- movl $1, %eax
290
- movl lenbits_state(state_r), %ecx
291
- shll %cl, %eax
292
- decl %eax
293
- movl %eax, lmask(%esp)
294
-
295
- movl $1, %eax
296
- movl distbits_state(state_r), %ecx
297
- shll %cl, %eax
298
- decl %eax
299
- movl %eax, dmask(%esp)
300
-
301
- movl wsize_state(state_r), %eax
302
- movl write_state(state_r), %ecx
303
- movl window_state(state_r), %edx
304
-
305
- movl %eax, wsize(%esp)
306
- movl %ecx, write(%esp)
307
- movl %edx, window(%esp)
308
-
309
- movl hold_state(state_r), %ebp
310
- movl bits_state(state_r), %ebx
311
-
312
-#undef strm_r
313
-#undef state_r
314
-
315
-#define in_r %esi
316
-#define from_r %esi
317
-#define out_r %edi
318
-
319
- movl in(%esp), in_r
320
- movl last(%esp), %ecx
321
- cmpl in_r, %ecx
322
- ja .L_align_long /* if in < last */
323
-
324
- addl $11, %ecx /* ecx = &in[ avail_in ] */
325
- subl in_r, %ecx /* ecx = avail_in */
326
- movl $12, %eax
327
- subl %ecx, %eax /* eax = 12 - avail_in */
328
- leal buf(%esp), %edi
329
- rep movsb /* memcpy( buf, in, avail_in ) */
330
- movl %eax, %ecx
331
- xorl %eax, %eax
332
- rep stosb /* memset( &buf[ avail_in ], 0, 12 - avail_in ) */
333
- leal buf(%esp), in_r /* in = buf */
334
- movl in_r, last(%esp) /* last = in, do just one iteration */
335
- jmp .L_is_aligned
336
-
337
- /* align in_r on long boundary */
338
-.L_align_long:
339
- testl $3, in_r
340
- jz .L_is_aligned
341
- xorl %eax, %eax
342
- movb (in_r), %al
343
- incl in_r
344
- movl %ebx, %ecx
345
- addl $8, %ebx
346
- shll %cl, %eax
347
- orl %eax, %ebp
348
- jmp .L_align_long
349
-
350
-.L_is_aligned:
351
- movl out(%esp), out_r
352
-
353
-#if defined( NO_MMX )
354
- jmp .L_do_loop
355
-#endif
356
-
357
-#if defined( USE_MMX )
358
- jmp .L_init_mmx
359
-#endif
360
-
361
-/*** Runtime MMX check ***/
362
-
363
-#if defined( RUN_TIME_MMX )
364
-.L_check_mmx:
365
- cmpl $DO_USE_MMX, inflate_fast_use_mmx
366
- je .L_init_mmx
367
- ja .L_do_loop /* > 2 */
368
-
369
- pushl %eax
370
- pushl %ebx
371
- pushl %ecx
372
- pushl %edx
373
- pushf
374
- movl (%esp), %eax /* copy eflags to eax */
375
- xorl $0x200000, (%esp) /* try toggling ID bit of eflags (bit 21)
376
- * to see if cpu supports cpuid...
377
- * ID bit method not supported by NexGen but
378
- * bios may load a cpuid instruction and
379
- * cpuid may be disabled on Cyrix 5-6x86 */
380
- popf
381
- pushf
382
- popl %edx /* copy new eflags to edx */
383
- xorl %eax, %edx /* test if ID bit is flipped */
384
- jz .L_dont_use_mmx /* not flipped if zero */
385
- xorl %eax, %eax
386
- cpuid
387
- cmpl $0x756e6547, %ebx /* check for GenuineIntel in ebx,ecx,edx */
388
- jne .L_dont_use_mmx
389
- cmpl $0x6c65746e, %ecx
390
- jne .L_dont_use_mmx
391
- cmpl $0x49656e69, %edx
392
- jne .L_dont_use_mmx
393
- movl $1, %eax
394
- cpuid /* get cpu features */
395
- shrl $8, %eax
396
- andl $15, %eax
397
- cmpl $6, %eax /* check for Pentium family, is 0xf for P4 */
398
- jne .L_dont_use_mmx
399
- testl $0x800000, %edx /* test if MMX feature is set (bit 23) */
400
- jnz .L_use_mmx
401
- jmp .L_dont_use_mmx
402
-.L_use_mmx:
403
- movl $DO_USE_MMX, inflate_fast_use_mmx
404
- jmp .L_check_mmx_pop
405
-.L_dont_use_mmx:
406
- movl $DONT_USE_MMX, inflate_fast_use_mmx
407
-.L_check_mmx_pop:
408
- popl %edx
409
- popl %ecx
410
- popl %ebx
411
- popl %eax
412
- jmp .L_check_mmx
413
-#endif
414
-
415
-
416
-/*** Non-MMX code ***/
417
-
418
-#if defined ( NO_MMX ) || defined( RUN_TIME_MMX )
419
-
420
-#define hold_r %ebp
421
-#define bits_r %bl
422
-#define bitslong_r %ebx
423
-
424
-.align 32,0x90
425
-.L_while_test:
426
- /* while (in < last && out < end)
427
- */
428
- cmpl out_r, end(%esp)
429
- jbe .L_break_loop /* if (out >= end) */
430
-
431
- cmpl in_r, last(%esp)
432
- jbe .L_break_loop
433
-
434
-.L_do_loop:
435
- /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out
436
- *
437
- * do {
438
- * if (bits < 15) {
439
- * hold |= *((unsigned short *)in)++ << bits;
440
- * bits += 16
441
- * }
442
- * this = lcode[hold & lmask]
443
- */
444
- cmpb $15, bits_r
445
- ja .L_get_length_code /* if (15 < bits) */
446
-
447
- xorl %eax, %eax
448
- lodsw /* al = *(ushort *)in++ */
449
- movb bits_r, %cl /* cl = bits, needs it for shifting */
450
- addb $16, bits_r /* bits += 16 */
451
- shll %cl, %eax
452
- orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
453
-
454
-.L_get_length_code:
455
- movl lmask(%esp), %edx /* edx = lmask */
456
- movl lcode(%esp), %ecx /* ecx = lcode */
457
- andl hold_r, %edx /* edx &= hold */
458
- movl (%ecx,%edx,4), %eax /* eax = lcode[hold & lmask] */
459
-
460
-.L_dolen:
461
- /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out
462
- *
463
- * dolen:
464
- * bits -= this.bits;
465
- * hold >>= this.bits
466
- */
467
- movb %ah, %cl /* cl = this.bits */
468
- subb %ah, bits_r /* bits -= this.bits */
469
- shrl %cl, hold_r /* hold >>= this.bits */
470
-
471
- /* check if op is a literal
472
- * if (op == 0) {
473
- * PUP(out) = this.val;
474
- * }
475
- */
476
- testb %al, %al
477
- jnz .L_test_for_length_base /* if (op != 0) 45.7% */
478
-
479
- shrl $16, %eax /* output this.val char */
480
- stosb
481
- jmp .L_while_test
482
-
483
-.L_test_for_length_base:
484
- /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out, %edx = len
485
- *
486
- * else if (op & 16) {
487
- * len = this.val
488
- * op &= 15
489
- * if (op) {
490
- * if (op > bits) {
491
- * hold |= *((unsigned short *)in)++ << bits;
492
- * bits += 16
493
- * }
494
- * len += hold & mask[op];
495
- * bits -= op;
496
- * hold >>= op;
497
- * }
498
- */
499
-#define len_r %edx
500
- movl %eax, len_r /* len = this */
501
- shrl $16, len_r /* len = this.val */
502
- movb %al, %cl
503
-
504
- testb $16, %al
505
- jz .L_test_for_second_level_length /* if ((op & 16) == 0) 8% */
506
- andb $15, %cl /* op &= 15 */
507
- jz .L_save_len /* if (!op) */
508
- cmpb %cl, bits_r
509
- jae .L_add_bits_to_len /* if (op <= bits) */
510
-
511
- movb %cl, %ch /* stash op in ch, freeing cl */
512
- xorl %eax, %eax
513
- lodsw /* al = *(ushort *)in++ */
514
- movb bits_r, %cl /* cl = bits, needs it for shifting */
515
- addb $16, bits_r /* bits += 16 */
516
- shll %cl, %eax
517
- orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
518
- movb %ch, %cl /* move op back to ecx */
519
-
520
-.L_add_bits_to_len:
521
- movl $1, %eax
522
- shll %cl, %eax
523
- decl %eax
524
- subb %cl, bits_r
525
- andl hold_r, %eax /* eax &= hold */
526
- shrl %cl, hold_r
527
- addl %eax, len_r /* len += hold & mask[op] */
528
-
529
-.L_save_len:
530
- movl len_r, len(%esp) /* save len */
531
-#undef len_r
532
-
533
-.L_decode_distance:
534
- /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out, %edx = dist
535
- *
536
- * if (bits < 15) {
537
- * hold |= *((unsigned short *)in)++ << bits;
538
- * bits += 16
539
- * }
540
- * this = dcode[hold & dmask];
541
- * dodist:
542
- * bits -= this.bits;
543
- * hold >>= this.bits;
544
- * op = this.op;
545
- */
546
-
547
- cmpb $15, bits_r
548
- ja .L_get_distance_code /* if (15 < bits) */
549
-
550
- xorl %eax, %eax
551
- lodsw /* al = *(ushort *)in++ */
552
- movb bits_r, %cl /* cl = bits, needs it for shifting */
553
- addb $16, bits_r /* bits += 16 */
554
- shll %cl, %eax
555
- orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
556
-
557
-.L_get_distance_code:
558
- movl dmask(%esp), %edx /* edx = dmask */
559
- movl dcode(%esp), %ecx /* ecx = dcode */
560
- andl hold_r, %edx /* edx &= hold */
561
- movl (%ecx,%edx,4), %eax /* eax = dcode[hold & dmask] */
562
-
563
-#define dist_r %edx
564
-.L_dodist:
565
- movl %eax, dist_r /* dist = this */
566
- shrl $16, dist_r /* dist = this.val */
567
- movb %ah, %cl
568
- subb %ah, bits_r /* bits -= this.bits */
569
- shrl %cl, hold_r /* hold >>= this.bits */
570
-
571
- /* if (op & 16) {
572
- * dist = this.val
573
- * op &= 15
574
- * if (op > bits) {
575
- * hold |= *((unsigned short *)in)++ << bits;
576
- * bits += 16
577
- * }
578
- * dist += hold & mask[op];
579
- * bits -= op;
580
- * hold >>= op;
581
- */
582
- movb %al, %cl /* cl = this.op */
583
-
584
- testb $16, %al /* if ((op & 16) == 0) */
585
- jz .L_test_for_second_level_dist
586
- andb $15, %cl /* op &= 15 */
587
- jz .L_check_dist_one
588
- cmpb %cl, bits_r
589
- jae .L_add_bits_to_dist /* if (op <= bits) 97.6% */
590
-
591
- movb %cl, %ch /* stash op in ch, freeing cl */
592
- xorl %eax, %eax
593
- lodsw /* al = *(ushort *)in++ */
594
- movb bits_r, %cl /* cl = bits, needs it for shifting */
595
- addb $16, bits_r /* bits += 16 */
596
- shll %cl, %eax
597
- orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
598
- movb %ch, %cl /* move op back to ecx */
599
-
600
-.L_add_bits_to_dist:
601
- movl $1, %eax
602
- shll %cl, %eax
603
- decl %eax /* (1 << op) - 1 */
604
- subb %cl, bits_r
605
- andl hold_r, %eax /* eax &= hold */
606
- shrl %cl, hold_r
607
- addl %eax, dist_r /* dist += hold & ((1 << op) - 1) */
608
- jmp .L_check_window
609
-
610
-.L_check_window:
611
- /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
612
- * %ecx = nbytes
613
- *
614
- * nbytes = out - beg;
615
- * if (dist <= nbytes) {
616
- * from = out - dist;
617
- * do {
618
- * PUP(out) = PUP(from);
619
- * } while (--len > 0) {
620
- * }
621
- */
622
-
623
- movl in_r, in(%esp) /* save in so from can use it's reg */
624
- movl out_r, %eax
625
- subl beg(%esp), %eax /* nbytes = out - beg */
626
-
627
- cmpl dist_r, %eax
628
- jb .L_clip_window /* if (dist > nbytes) 4.2% */
629
-
630
- movl len(%esp), %ecx
631
- movl out_r, from_r
632
- subl dist_r, from_r /* from = out - dist */
633
-
634
- subl $3, %ecx
635
- movb (from_r), %al
636
- movb %al, (out_r)
637
- movb 1(from_r), %al
638
- movb 2(from_r), %dl
639
- addl $3, from_r
640
- movb %al, 1(out_r)
641
- movb %dl, 2(out_r)
642
- addl $3, out_r
643
- rep movsb
644
-
645
- movl in(%esp), in_r /* move in back to %esi, toss from */
646
- jmp .L_while_test
647
-
648
-.align 16,0x90
649
-.L_check_dist_one:
650
- cmpl $1, dist_r
651
- jne .L_check_window
652
- cmpl out_r, beg(%esp)
653
- je .L_check_window
654
-
655
- decl out_r
656
- movl len(%esp), %ecx
657
- movb (out_r), %al
658
- subl $3, %ecx
659
-
660
- movb %al, 1(out_r)
661
- movb %al, 2(out_r)
662
- movb %al, 3(out_r)
663
- addl $4, out_r
664
- rep stosb
665
-
666
- jmp .L_while_test
667
-
668
-.align 16,0x90
669
-.L_test_for_second_level_length:
670
- /* else if ((op & 64) == 0) {
671
- * this = lcode[this.val + (hold & mask[op])];
672
- * }
673
- */
674
- testb $64, %al
675
- jnz .L_test_for_end_of_block /* if ((op & 64) != 0) */
676
-
677
- movl $1, %eax
678
- shll %cl, %eax
679
- decl %eax
680
- andl hold_r, %eax /* eax &= hold */
681
- addl %edx, %eax /* eax += this.val */
682
- movl lcode(%esp), %edx /* edx = lcode */
683
- movl (%edx,%eax,4), %eax /* eax = lcode[val + (hold&mask[op])] */
684
- jmp .L_dolen
685
-
686
-.align 16,0x90
687
-.L_test_for_second_level_dist:
688
- /* else if ((op & 64) == 0) {
689
- * this = dcode[this.val + (hold & mask[op])];
690
- * }
691
- */
692
- testb $64, %al
693
- jnz .L_invalid_distance_code /* if ((op & 64) != 0) */
694
-
695
- movl $1, %eax
696
- shll %cl, %eax
697
- decl %eax
698
- andl hold_r, %eax /* eax &= hold */
699
- addl %edx, %eax /* eax += this.val */
700
- movl dcode(%esp), %edx /* edx = dcode */
701
- movl (%edx,%eax,4), %eax /* eax = dcode[val + (hold&mask[op])] */
702
- jmp .L_dodist
703
-
704
-.align 16,0x90
705
-.L_clip_window:
706
- /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
707
- * %ecx = nbytes
708
- *
709
- * else {
710
- * if (dist > wsize) {
711
- * invalid distance
712
- * }
713
- * from = window;
714
- * nbytes = dist - nbytes;
715
- * if (write == 0) {
716
- * from += wsize - nbytes;
717
- */
718
-#define nbytes_r %ecx
719
- movl %eax, nbytes_r
720
- movl wsize(%esp), %eax /* prepare for dist compare */
721
- negl nbytes_r /* nbytes = -nbytes */
722
- movl window(%esp), from_r /* from = window */
723
-
724
- cmpl dist_r, %eax
725
- jb .L_invalid_distance_too_far /* if (dist > wsize) */
726
-
727
- addl dist_r, nbytes_r /* nbytes = dist - nbytes */
728
- cmpl $0, write(%esp)
729
- jne .L_wrap_around_window /* if (write != 0) */
730
-
731
- subl nbytes_r, %eax
732
- addl %eax, from_r /* from += wsize - nbytes */
733
-
734
- /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
735
- * %ecx = nbytes, %eax = len
736
- *
737
- * if (nbytes < len) {
738
- * len -= nbytes;
739
- * do {
740
- * PUP(out) = PUP(from);
741
- * } while (--nbytes);
742
- * from = out - dist;
743
- * }
744
- * }
745
- */
746
-#define len_r %eax
747
- movl len(%esp), len_r
748
- cmpl nbytes_r, len_r
749
- jbe .L_do_copy1 /* if (nbytes >= len) */
750
-
751
- subl nbytes_r, len_r /* len -= nbytes */
752
- rep movsb
753
- movl out_r, from_r
754
- subl dist_r, from_r /* from = out - dist */
755
- jmp .L_do_copy1
756
-
757
- cmpl nbytes_r, len_r
758
- jbe .L_do_copy1 /* if (nbytes >= len) */
759
-
760
- subl nbytes_r, len_r /* len -= nbytes */
761
- rep movsb
762
- movl out_r, from_r
763
- subl dist_r, from_r /* from = out - dist */
764
- jmp .L_do_copy1
765
-
766
-.L_wrap_around_window:
767
- /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
768
- * %ecx = nbytes, %eax = write, %eax = len
769
- *
770
- * else if (write < nbytes) {
771
- * from += wsize + write - nbytes;
772
- * nbytes -= write;
773
- * if (nbytes < len) {
774
- * len -= nbytes;
775
- * do {
776
- * PUP(out) = PUP(from);
777
- * } while (--nbytes);
778
- * from = window;
779
- * nbytes = write;
780
- * if (nbytes < len) {
781
- * len -= nbytes;
782
- * do {
783
- * PUP(out) = PUP(from);
784
- * } while(--nbytes);
785
- * from = out - dist;
786
- * }
787
- * }
788
- * }
789
- */
790
-#define write_r %eax
791
- movl write(%esp), write_r
792
- cmpl write_r, nbytes_r
793
- jbe .L_contiguous_in_window /* if (write >= nbytes) */
794
-
795
- addl wsize(%esp), from_r
796
- addl write_r, from_r
797
- subl nbytes_r, from_r /* from += wsize + write - nbytes */
798
- subl write_r, nbytes_r /* nbytes -= write */
799
-#undef write_r
800
-
801
- movl len(%esp), len_r
802
- cmpl nbytes_r, len_r
803
- jbe .L_do_copy1 /* if (nbytes >= len) */
804
-
805
- subl nbytes_r, len_r /* len -= nbytes */
806
- rep movsb
807
- movl window(%esp), from_r /* from = window */
808
- movl write(%esp), nbytes_r /* nbytes = write */
809
- cmpl nbytes_r, len_r
810
- jbe .L_do_copy1 /* if (nbytes >= len) */
811
-
812
- subl nbytes_r, len_r /* len -= nbytes */
813
- rep movsb
814
- movl out_r, from_r
815
- subl dist_r, from_r /* from = out - dist */
816
- jmp .L_do_copy1
817
-
818
-.L_contiguous_in_window:
819
- /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
820
- * %ecx = nbytes, %eax = write, %eax = len
821
- *
822
- * else {
823
- * from += write - nbytes;
824
- * if (nbytes < len) {
825
- * len -= nbytes;
826
- * do {
827
- * PUP(out) = PUP(from);
828
- * } while (--nbytes);
829
- * from = out - dist;
830
- * }
831
- * }
832
- */
833
-#define write_r %eax
834
- addl write_r, from_r
835
- subl nbytes_r, from_r /* from += write - nbytes */
836
-#undef write_r
837
-
838
- movl len(%esp), len_r
839
- cmpl nbytes_r, len_r
840
- jbe .L_do_copy1 /* if (nbytes >= len) */
841
-
842
- subl nbytes_r, len_r /* len -= nbytes */
843
- rep movsb
844
- movl out_r, from_r
845
- subl dist_r, from_r /* from = out - dist */
846
-
847
-.L_do_copy1:
848
- /* regs: %esi = from, %esi = in, %ebp = hold, %bl = bits, %edi = out
849
- * %eax = len
850
- *
851
- * while (len > 0) {
852
- * PUP(out) = PUP(from);
853
- * len--;
854
- * }
855
- * }
856
- * } while (in < last && out < end);
857
- */
858
-#undef nbytes_r
859
-#define in_r %esi
860
- movl len_r, %ecx
861
- rep movsb
862
-
863
- movl in(%esp), in_r /* move in back to %esi, toss from */
864
- jmp .L_while_test
865
-
866
-#undef len_r
867
-#undef dist_r
868
-
869
-#endif /* NO_MMX || RUN_TIME_MMX */
870
-
871
-
872
-/*** MMX code ***/
873
-
874
-#if defined( USE_MMX ) || defined( RUN_TIME_MMX )
875
-
876
-.align 32,0x90
877
-.L_init_mmx:
878
- emms
879
-
880
-#undef bits_r
881
-#undef bitslong_r
882
-#define bitslong_r %ebp
883
-#define hold_mm %mm0
884
- movd %ebp, hold_mm
885
- movl %ebx, bitslong_r
886
-
887
-#define used_mm %mm1
888
-#define dmask2_mm %mm2
889
-#define lmask2_mm %mm3
890
-#define lmask_mm %mm4
891
-#define dmask_mm %mm5
892
-#define tmp_mm %mm6
893
-
894
- movd lmask(%esp), lmask_mm
895
- movq lmask_mm, lmask2_mm
896
- movd dmask(%esp), dmask_mm
897
- movq dmask_mm, dmask2_mm
898
- pxor used_mm, used_mm
899
- movl lcode(%esp), %ebx /* ebx = lcode */
900
- jmp .L_do_loop_mmx
901
-
902
-.align 32,0x90
903
-.L_while_test_mmx:
904
- /* while (in < last && out < end)
905
- */
906
- cmpl out_r, end(%esp)
907
- jbe .L_break_loop /* if (out >= end) */
908
-
909
- cmpl in_r, last(%esp)
910
- jbe .L_break_loop
911
-
912
-.L_do_loop_mmx:
913
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
914
-
915
- cmpl $32, bitslong_r
916
- ja .L_get_length_code_mmx /* if (32 < bits) */
917
-
918
- movd bitslong_r, tmp_mm
919
- movd (in_r), %mm7
920
- addl $4, in_r
921
- psllq tmp_mm, %mm7
922
- addl $32, bitslong_r
923
- por %mm7, hold_mm /* hold_mm |= *((uint *)in)++ << bits */
924
-
925
-.L_get_length_code_mmx:
926
- pand hold_mm, lmask_mm
927
- movd lmask_mm, %eax
928
- movq lmask2_mm, lmask_mm
929
- movl (%ebx,%eax,4), %eax /* eax = lcode[hold & lmask] */
930
-
931
-.L_dolen_mmx:
932
- movzbl %ah, %ecx /* ecx = this.bits */
933
- movd %ecx, used_mm
934
- subl %ecx, bitslong_r /* bits -= this.bits */
935
-
936
- testb %al, %al
937
- jnz .L_test_for_length_base_mmx /* if (op != 0) 45.7% */
938
-
939
- shrl $16, %eax /* output this.val char */
940
- stosb
941
- jmp .L_while_test_mmx
942
-
943
-.L_test_for_length_base_mmx:
944
-#define len_r %edx
945
- movl %eax, len_r /* len = this */
946
- shrl $16, len_r /* len = this.val */
947
-
948
- testb $16, %al
949
- jz .L_test_for_second_level_length_mmx /* if ((op & 16) == 0) 8% */
950
- andl $15, %eax /* op &= 15 */
951
- jz .L_decode_distance_mmx /* if (!op) */
952
-
953
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
954
- movd %eax, used_mm
955
- movd hold_mm, %ecx
956
- subl %eax, bitslong_r
957
- andl .L_mask(,%eax,4), %ecx
958
- addl %ecx, len_r /* len += hold & mask[op] */
959
-
960
-.L_decode_distance_mmx:
961
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
962
-
963
- cmpl $32, bitslong_r
964
- ja .L_get_dist_code_mmx /* if (32 < bits) */
965
-
966
- movd bitslong_r, tmp_mm
967
- movd (in_r), %mm7
968
- addl $4, in_r
969
- psllq tmp_mm, %mm7
970
- addl $32, bitslong_r
971
- por %mm7, hold_mm /* hold_mm |= *((uint *)in)++ << bits */
972
-
973
-.L_get_dist_code_mmx:
974
- movl dcode(%esp), %ebx /* ebx = dcode */
975
- pand hold_mm, dmask_mm
976
- movd dmask_mm, %eax
977
- movq dmask2_mm, dmask_mm
978
- movl (%ebx,%eax,4), %eax /* eax = dcode[hold & lmask] */
979
-
980
-.L_dodist_mmx:
981
-#define dist_r %ebx
982
- movzbl %ah, %ecx /* ecx = this.bits */
983
- movl %eax, dist_r
984
- shrl $16, dist_r /* dist = this.val */
985
- subl %ecx, bitslong_r /* bits -= this.bits */
986
- movd %ecx, used_mm
987
-
988
- testb $16, %al /* if ((op & 16) == 0) */
989
- jz .L_test_for_second_level_dist_mmx
990
- andl $15, %eax /* op &= 15 */
991
- jz .L_check_dist_one_mmx
992
-
993
-.L_add_bits_to_dist_mmx:
994
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
995
- movd %eax, used_mm /* save bit length of current op */
996
- movd hold_mm, %ecx /* get the next bits on input stream */
997
- subl %eax, bitslong_r /* bits -= op bits */
998
- andl .L_mask(,%eax,4), %ecx /* ecx = hold & mask[op] */
999
- addl %ecx, dist_r /* dist += hold & mask[op] */
1000
-
1001
-.L_check_window_mmx:
1002
- movl in_r, in(%esp) /* save in so from can use it's reg */
1003
- movl out_r, %eax
1004
- subl beg(%esp), %eax /* nbytes = out - beg */
1005
-
1006
- cmpl dist_r, %eax
1007
- jb .L_clip_window_mmx /* if (dist > nbytes) 4.2% */
1008
-
1009
- movl len_r, %ecx
1010
- movl out_r, from_r
1011
- subl dist_r, from_r /* from = out - dist */
1012
-
1013
- subl $3, %ecx
1014
- movb (from_r), %al
1015
- movb %al, (out_r)
1016
- movb 1(from_r), %al
1017
- movb 2(from_r), %dl
1018
- addl $3, from_r
1019
- movb %al, 1(out_r)
1020
- movb %dl, 2(out_r)
1021
- addl $3, out_r
1022
- rep movsb
1023
-
1024
- movl in(%esp), in_r /* move in back to %esi, toss from */
1025
- movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */
1026
- jmp .L_while_test_mmx
1027
-
1028
-.align 16,0x90
1029
-.L_check_dist_one_mmx:
1030
- cmpl $1, dist_r
1031
- jne .L_check_window_mmx
1032
- cmpl out_r, beg(%esp)
1033
- je .L_check_window_mmx
1034
-
1035
- decl out_r
1036
- movl len_r, %ecx
1037
- movb (out_r), %al
1038
- subl $3, %ecx
1039
-
1040
- movb %al, 1(out_r)
1041
- movb %al, 2(out_r)
1042
- movb %al, 3(out_r)
1043
- addl $4, out_r
1044
- rep stosb
1045
-
1046
- movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */
1047
- jmp .L_while_test_mmx
1048
-
1049
-.align 16,0x90
1050
-.L_test_for_second_level_length_mmx:
1051
- testb $64, %al
1052
- jnz .L_test_for_end_of_block /* if ((op & 64) != 0) */
1053
-
1054
- andl $15, %eax
1055
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
1056
- movd hold_mm, %ecx
1057
- andl .L_mask(,%eax,4), %ecx
1058
- addl len_r, %ecx
1059
- movl (%ebx,%ecx,4), %eax /* eax = lcode[hold & lmask] */
1060
- jmp .L_dolen_mmx
1061
-
1062
-.align 16,0x90
1063
-.L_test_for_second_level_dist_mmx:
1064
- testb $64, %al
1065
- jnz .L_invalid_distance_code /* if ((op & 64) != 0) */
1066
-
1067
- andl $15, %eax
1068
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
1069
- movd hold_mm, %ecx
1070
- andl .L_mask(,%eax,4), %ecx
1071
- movl dcode(%esp), %eax /* ecx = dcode */
1072
- addl dist_r, %ecx
1073
- movl (%eax,%ecx,4), %eax /* eax = lcode[hold & lmask] */
1074
- jmp .L_dodist_mmx
1075
-
1076
-.align 16,0x90
1077
-.L_clip_window_mmx:
1078
-#define nbytes_r %ecx
1079
- movl %eax, nbytes_r
1080
- movl wsize(%esp), %eax /* prepare for dist compare */
1081
- negl nbytes_r /* nbytes = -nbytes */
1082
- movl window(%esp), from_r /* from = window */
1083
-
1084
- cmpl dist_r, %eax
1085
- jb .L_invalid_distance_too_far /* if (dist > wsize) */
1086
-
1087
- addl dist_r, nbytes_r /* nbytes = dist - nbytes */
1088
- cmpl $0, write(%esp)
1089
- jne .L_wrap_around_window_mmx /* if (write != 0) */
1090
-
1091
- subl nbytes_r, %eax
1092
- addl %eax, from_r /* from += wsize - nbytes */
1093
-
1094
- cmpl nbytes_r, len_r
1095
- jbe .L_do_copy1_mmx /* if (nbytes >= len) */
1096
-
1097
- subl nbytes_r, len_r /* len -= nbytes */
1098
- rep movsb
1099
- movl out_r, from_r
1100
- subl dist_r, from_r /* from = out - dist */
1101
- jmp .L_do_copy1_mmx
1102
-
1103
- cmpl nbytes_r, len_r
1104
- jbe .L_do_copy1_mmx /* if (nbytes >= len) */
1105
-
1106
- subl nbytes_r, len_r /* len -= nbytes */
1107
- rep movsb
1108
- movl out_r, from_r
1109
- subl dist_r, from_r /* from = out - dist */
1110
- jmp .L_do_copy1_mmx
1111
-
1112
-.L_wrap_around_window_mmx:
1113
-#define write_r %eax
1114
- movl write(%esp), write_r
1115
- cmpl write_r, nbytes_r
1116
- jbe .L_contiguous_in_window_mmx /* if (write >= nbytes) */
1117
-
1118
- addl wsize(%esp), from_r
1119
- addl write_r, from_r
1120
- subl nbytes_r, from_r /* from += wsize + write - nbytes */
1121
- subl write_r, nbytes_r /* nbytes -= write */
1122
-#undef write_r
1123
-
1124
- cmpl nbytes_r, len_r
1125
- jbe .L_do_copy1_mmx /* if (nbytes >= len) */
1126
-
1127
- subl nbytes_r, len_r /* len -= nbytes */
1128
- rep movsb
1129
- movl window(%esp), from_r /* from = window */
1130
- movl write(%esp), nbytes_r /* nbytes = write */
1131
- cmpl nbytes_r, len_r
1132
- jbe .L_do_copy1_mmx /* if (nbytes >= len) */
1133
-
1134
- subl nbytes_r, len_r /* len -= nbytes */
1135
- rep movsb
1136
- movl out_r, from_r
1137
- subl dist_r, from_r /* from = out - dist */
1138
- jmp .L_do_copy1_mmx
1139
-
1140
-.L_contiguous_in_window_mmx:
1141
-#define write_r %eax
1142
- addl write_r, from_r
1143
- subl nbytes_r, from_r /* from += write - nbytes */
1144
-#undef write_r
1145
-
1146
- cmpl nbytes_r, len_r
1147
- jbe .L_do_copy1_mmx /* if (nbytes >= len) */
1148
-
1149
- subl nbytes_r, len_r /* len -= nbytes */
1150
- rep movsb
1151
- movl out_r, from_r
1152
- subl dist_r, from_r /* from = out - dist */
1153
-
1154
-.L_do_copy1_mmx:
1155
-#undef nbytes_r
1156
-#define in_r %esi
1157
- movl len_r, %ecx
1158
- rep movsb
1159
-
1160
- movl in(%esp), in_r /* move in back to %esi, toss from */
1161
- movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */
1162
- jmp .L_while_test_mmx
1163
-
1164
-#undef hold_r
1165
-#undef bitslong_r
1166
-
1167
-#endif /* USE_MMX || RUN_TIME_MMX */
1168
-
1169
-
1170
-/*** USE_MMX, NO_MMX, and RUNTIME_MMX from here on ***/
1171
-
1172
-.L_invalid_distance_code:
1173
- /* else {
1174
- * strm->msg = "invalid distance code";
1175
- * state->mode = BAD;
1176
- * }
1177
- */
1178
- movl $.L_invalid_distance_code_msg, %ecx
1179
- movl $INFLATE_MODE_BAD, %edx
1180
- jmp .L_update_stream_state
1181
-
1182
-.L_test_for_end_of_block:
1183
- /* else if (op & 32) {
1184
- * state->mode = TYPE;
1185
- * break;
1186
- * }
1187
- */
1188
- testb $32, %al
1189
- jz .L_invalid_literal_length_code /* if ((op & 32) == 0) */
1190
-
1191
- movl $0, %ecx
1192
- movl $INFLATE_MODE_TYPE, %edx
1193
- jmp .L_update_stream_state
1194
-
1195
-.L_invalid_literal_length_code:
1196
- /* else {
1197
- * strm->msg = "invalid literal/length code";
1198
- * state->mode = BAD;
1199
- * }
1200
- */
1201
- movl $.L_invalid_literal_length_code_msg, %ecx
1202
- movl $INFLATE_MODE_BAD, %edx
1203
- jmp .L_update_stream_state
1204
-
1205
-.L_invalid_distance_too_far:
1206
- /* strm->msg = "invalid distance too far back";
1207
- * state->mode = BAD;
1208
- */
1209
- movl in(%esp), in_r /* from_r has in's reg, put in back */
1210
- movl $.L_invalid_distance_too_far_msg, %ecx
1211
- movl $INFLATE_MODE_BAD, %edx
1212
- jmp .L_update_stream_state
1213
-
1214
-.L_update_stream_state:
1215
- /* set strm->msg = %ecx, strm->state->mode = %edx */
1216
- movl strm_sp(%esp), %eax
1217
- testl %ecx, %ecx /* if (msg != NULL) */
1218
- jz .L_skip_msg
1219
- movl %ecx, msg_strm(%eax) /* strm->msg = msg */
1220
-.L_skip_msg:
1221
- movl state_strm(%eax), %eax /* state = strm->state */
1222
- movl %edx, mode_state(%eax) /* state->mode = edx (BAD | TYPE) */
1223
- jmp .L_break_loop
1224
-
1225
-.align 32,0x90
1226
-.L_break_loop:
1227
-
1228
-/*
1229
- * Regs:
1230
- *
1231
- * bits = %ebp when mmx, and in %ebx when non-mmx
1232
- * hold = %hold_mm when mmx, and in %ebp when non-mmx
1233
- * in = %esi
1234
- * out = %edi
1235
- */
1236
-
1237
-#if defined( USE_MMX ) || defined( RUN_TIME_MMX )
1238
-
1239
-#if defined( RUN_TIME_MMX )
1240
-
1241
- cmpl $DO_USE_MMX, inflate_fast_use_mmx
1242
- jne .L_update_next_in
1243
-
1244
-#endif /* RUN_TIME_MMX */
1245
-
1246
- movl %ebp, %ebx
1247
-
1248
-.L_update_next_in:
1249
-
1250
-#endif
1251
-
1252
-#define strm_r %eax
1253
-#define state_r %edx
1254
-
1255
- /* len = bits >> 3;
1256
- * in -= len;
1257
- * bits -= len << 3;
1258
- * hold &= (1U << bits) - 1;
1259
- * state->hold = hold;
1260
- * state->bits = bits;
1261
- * strm->next_in = in;
1262
- * strm->next_out = out;
1263
- */
1264
- movl strm_sp(%esp), strm_r
1265
- movl %ebx, %ecx
1266
- movl state_strm(strm_r), state_r
1267
- shrl $3, %ecx
1268
- subl %ecx, in_r
1269
- shll $3, %ecx
1270
- subl %ecx, %ebx
1271
- movl out_r, next_out_strm(strm_r)
1272
- movl %ebx, bits_state(state_r)
1273
- movl %ebx, %ecx
1274
-
1275
- leal buf(%esp), %ebx
1276
- cmpl %ebx, last(%esp)
1277
- jne .L_buf_not_used /* if buf != last */
1278
-
1279
- subl %ebx, in_r /* in -= buf */
1280
- movl next_in_strm(strm_r), %ebx
1281
- movl %ebx, last(%esp) /* last = strm->next_in */
1282
- addl %ebx, in_r /* in += strm->next_in */
1283
- movl avail_in_strm(strm_r), %ebx
1284
- subl $11, %ebx
1285
- addl %ebx, last(%esp) /* last = &strm->next_in[ avail_in - 11 ] */
1286
-
1287
-.L_buf_not_used:
1288
- movl in_r, next_in_strm(strm_r)
1289
-
1290
- movl $1, %ebx
1291
- shll %cl, %ebx
1292
- decl %ebx
1293
-
1294
-#if defined( USE_MMX ) || defined( RUN_TIME_MMX )
1295
-
1296
-#if defined( RUN_TIME_MMX )
1297
-
1298
- cmpl $DO_USE_MMX, inflate_fast_use_mmx
1299
- jne .L_update_hold
1300
-
1301
-#endif /* RUN_TIME_MMX */
1302
-
1303
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
1304
- movd hold_mm, %ebp
1305
-
1306
- emms
1307
-
1308
-.L_update_hold:
1309
-
1310
-#endif /* USE_MMX || RUN_TIME_MMX */
1311
-
1312
- andl %ebx, %ebp
1313
- movl %ebp, hold_state(state_r)
1314
-
1315
-#define last_r %ebx
1316
-
1317
- /* strm->avail_in = in < last ? 11 + (last - in) : 11 - (in - last) */
1318
- movl last(%esp), last_r
1319
- cmpl in_r, last_r
1320
- jbe .L_last_is_smaller /* if (in >= last) */
1321
-
1322
- subl in_r, last_r /* last -= in */
1323
- addl $11, last_r /* last += 11 */
1324
- movl last_r, avail_in_strm(strm_r)
1325
- jmp .L_fixup_out
1326
-.L_last_is_smaller:
1327
- subl last_r, in_r /* in -= last */
1328
- negl in_r /* in = -in */
1329
- addl $11, in_r /* in += 11 */
1330
- movl in_r, avail_in_strm(strm_r)
1331
-
1332
-#undef last_r
1333
-#define end_r %ebx
1334
-
1335
-.L_fixup_out:
1336
- /* strm->avail_out = out < end ? 257 + (end - out) : 257 - (out - end)*/
1337
- movl end(%esp), end_r
1338
- cmpl out_r, end_r
1339
- jbe .L_end_is_smaller /* if (out >= end) */
1340
-
1341
- subl out_r, end_r /* end -= out */
1342
- addl $257, end_r /* end += 257 */
1343
- movl end_r, avail_out_strm(strm_r)
1344
- jmp .L_done
1345
-.L_end_is_smaller:
1346
- subl end_r, out_r /* out -= end */
1347
- negl out_r /* out = -out */
1348
- addl $257, out_r /* out += 257 */
1349
- movl out_r, avail_out_strm(strm_r)
1350
-
1351
-#undef end_r
1352
-#undef strm_r
1353
-#undef state_r
1354
-
1355
-.L_done:
1356
- addl $local_var_size, %esp
1357
- popf
1358
- popl %ebx
1359
- popl %ebp
1360
- popl %esi
1361
- popl %edi
1362
- ret
1363
-
1364
-#if defined( GAS_ELF )
1365
-/* elf info */
1366
-.type inflate_fast,@function
1367
-.size inflate_fast,.-inflate_fast
1368
-#endif
--- a/compat/zlib/contrib/inflate86/inffast.S
+++ b/compat/zlib/contrib/inflate86/inffast.S
@@ -1,1368 +0,0 @@
1 /*
2 * inffast.S is a hand tuned assembler version of:
3 *
4 * inffast.c -- fast decoding
5 * Copyright (C) 1995-2003 Mark Adler
6 * For conditions of distribution and use, see copyright notice in zlib.h
7 *
8 * Copyright (C) 2003 Chris Anderson <[email protected]>
9 * Please use the copyright conditions above.
10 *
11 * This version (Jan-23-2003) of inflate_fast was coded and tested under
12 * GNU/Linux on a pentium 3, using the gcc-3.2 compiler distribution. On that
13 * machine, I found that gzip style archives decompressed about 20% faster than
14 * the gcc-3.2 -O3 -fomit-frame-pointer compiled version. Your results will
15 * depend on how large of a buffer is used for z_stream.next_in & next_out
16 * (8K-32K worked best for my 256K cpu cache) and how much overhead there is in
17 * stream processing I/O and crc32/addler32. In my case, this routine used
18 * 70% of the cpu time and crc32 used 20%.
19 *
20 * I am confident that this version will work in the general case, but I have
21 * not tested a wide variety of datasets or a wide variety of platforms.
22 *
23 * Jan-24-2003 -- Added -DUSE_MMX define for slightly faster inflating.
24 * It should be a runtime flag instead of compile time flag...
25 *
26 * Jan-26-2003 -- Added runtime check for MMX support with cpuid instruction.
27 * With -DUSE_MMX, only MMX code is compiled. With -DNO_MMX, only non-MMX code
28 * is compiled. Without either option, runtime detection is enabled. Runtime
29 * detection should work on all modern cpus and the recomended algorithm (flip
30 * ID bit on eflags and then use the cpuid instruction) is used in many
31 * multimedia applications. Tested under win2k with gcc-2.95 and gas-2.12
32 * distributed with cygwin3. Compiling with gcc-2.95 -c inffast.S -o
33 * inffast.obj generates a COFF object which can then be linked with MSVC++
34 * compiled code. Tested under FreeBSD 4.7 with gcc-2.95.
35 *
36 * Jan-28-2003 -- Tested Athlon XP... MMX mode is slower than no MMX (and
37 * slower than compiler generated code). Adjusted cpuid check to use the MMX
38 * code only for Pentiums < P4 until I have more data on the P4. Speed
39 * improvment is only about 15% on the Athlon when compared with code generated
40 * with MSVC++. Not sure yet, but I think the P4 will also be slower using the
41 * MMX mode because many of it's x86 ALU instructions execute in .5 cycles and
42 * have less latency than MMX ops. Added code to buffer the last 11 bytes of
43 * the input stream since the MMX code grabs bits in chunks of 32, which
44 * differs from the inffast.c algorithm. I don't think there would have been
45 * read overruns where a page boundary was crossed (a segfault), but there
46 * could have been overruns when next_in ends on unaligned memory (uninitialized
47 * memory read).
48 *
49 * Mar-13-2003 -- P4 MMX is slightly slower than P4 NO_MMX. I created a C
50 * version of the non-MMX code so that it doesn't depend on zstrm and zstate
51 * structure offsets which are hard coded in this file. This was last tested
52 * with zlib-1.2.0 which is currently in beta testing, newer versions of this
53 * and inffas86.c can be found at http://www.eetbeetee.com/zlib/ and
54 * http://www.charm.net/~christop/zlib/
55 */
56
57
58 /*
59 * if you have underscore linking problems (_inflate_fast undefined), try
60 * using -DGAS_COFF
61 */
62 #if ! defined( GAS_COFF ) && ! defined( GAS_ELF )
63
64 #if defined( WIN32 ) || defined( __CYGWIN__ )
65 #define GAS_COFF /* windows object format */
66 #else
67 #define GAS_ELF
68 #endif
69
70 #endif /* ! GAS_COFF && ! GAS_ELF */
71
72
73 #if defined( GAS_COFF )
74
75 /* coff externals have underscores */
76 #define inflate_fast _inflate_fast
77 #define inflate_fast_use_mmx _inflate_fast_use_mmx
78
79 #endif /* GAS_COFF */
80
81
82 .file "inffast.S"
83
84 .globl inflate_fast
85
86 .text
87 .align 4,0
88 .L_invalid_literal_length_code_msg:
89 .string "invalid literal/length code"
90
91 .align 4,0
92 .L_invalid_distance_code_msg:
93 .string "invalid distance code"
94
95 .align 4,0
96 .L_invalid_distance_too_far_msg:
97 .string "invalid distance too far back"
98
99 #if ! defined( NO_MMX )
100 .align 4,0
101 .L_mask: /* mask[N] = ( 1 << N ) - 1 */
102 .long 0
103 .long 1
104 .long 3
105 .long 7
106 .long 15
107 .long 31
108 .long 63
109 .long 127
110 .long 255
111 .long 511
112 .long 1023
113 .long 2047
114 .long 4095
115 .long 8191
116 .long 16383
117 .long 32767
118 .long 65535
119 .long 131071
120 .long 262143
121 .long 524287
122 .long 1048575
123 .long 2097151
124 .long 4194303
125 .long 8388607
126 .long 16777215
127 .long 33554431
128 .long 67108863
129 .long 134217727
130 .long 268435455
131 .long 536870911
132 .long 1073741823
133 .long 2147483647
134 .long 4294967295
135 #endif /* NO_MMX */
136
137 .text
138
139 /*
140 * struct z_stream offsets, in zlib.h
141 */
142 #define next_in_strm 0 /* strm->next_in */
143 #define avail_in_strm 4 /* strm->avail_in */
144 #define next_out_strm 12 /* strm->next_out */
145 #define avail_out_strm 16 /* strm->avail_out */
146 #define msg_strm 24 /* strm->msg */
147 #define state_strm 28 /* strm->state */
148
149 /*
150 * struct inflate_state offsets, in inflate.h
151 */
152 #define mode_state 0 /* state->mode */
153 #define wsize_state 32 /* state->wsize */
154 #define write_state 40 /* state->write */
155 #define window_state 44 /* state->window */
156 #define hold_state 48 /* state->hold */
157 #define bits_state 52 /* state->bits */
158 #define lencode_state 68 /* state->lencode */
159 #define distcode_state 72 /* state->distcode */
160 #define lenbits_state 76 /* state->lenbits */
161 #define distbits_state 80 /* state->distbits */
162
163 /*
164 * inflate_fast's activation record
165 */
166 #define local_var_size 64 /* how much local space for vars */
167 #define strm_sp 88 /* first arg: z_stream * (local_var_size + 24) */
168 #define start_sp 92 /* second arg: unsigned int (local_var_size + 28) */
169
170 /*
171 * offsets for local vars on stack
172 */
173 #define out 60 /* unsigned char* */
174 #define window 56 /* unsigned char* */
175 #define wsize 52 /* unsigned int */
176 #define write 48 /* unsigned int */
177 #define in 44 /* unsigned char* */
178 #define beg 40 /* unsigned char* */
179 #define buf 28 /* char[ 12 ] */
180 #define len 24 /* unsigned int */
181 #define last 20 /* unsigned char* */
182 #define end 16 /* unsigned char* */
183 #define dcode 12 /* code* */
184 #define lcode 8 /* code* */
185 #define dmask 4 /* unsigned int */
186 #define lmask 0 /* unsigned int */
187
188 /*
189 * typedef enum inflate_mode consts, in inflate.h
190 */
191 #define INFLATE_MODE_TYPE 11 /* state->mode flags enum-ed in inflate.h */
192 #define INFLATE_MODE_BAD 26
193
194
195 #if ! defined( USE_MMX ) && ! defined( NO_MMX )
196
197 #define RUN_TIME_MMX
198
199 #define CHECK_MMX 1
200 #define DO_USE_MMX 2
201 #define DONT_USE_MMX 3
202
203 .globl inflate_fast_use_mmx
204
205 .data
206
207 .align 4,0
208 inflate_fast_use_mmx: /* integer flag for run time control 1=check,2=mmx,3=no */
209 .long CHECK_MMX
210
211 #if defined( GAS_ELF )
212 /* elf info */
213 .type inflate_fast_use_mmx,@object
214 .size inflate_fast_use_mmx,4
215 #endif
216
217 #endif /* RUN_TIME_MMX */
218
219 #if defined( GAS_COFF )
220 /* coff info: scl 2 = extern, type 32 = function */
221 .def inflate_fast; .scl 2; .type 32; .endef
222 #endif
223
224 .text
225
226 .align 32,0x90
227 inflate_fast:
228 pushl %edi
229 pushl %esi
230 pushl %ebp
231 pushl %ebx
232 pushf /* save eflags (strm_sp, state_sp assumes this is 32 bits) */
233 subl $local_var_size, %esp
234 cld
235
236 #define strm_r %esi
237 #define state_r %edi
238
239 movl strm_sp(%esp), strm_r
240 movl state_strm(strm_r), state_r
241
242 /* in = strm->next_in;
243 * out = strm->next_out;
244 * last = in + strm->avail_in - 11;
245 * beg = out - (start - strm->avail_out);
246 * end = out + (strm->avail_out - 257);
247 */
248 movl avail_in_strm(strm_r), %edx
249 movl next_in_strm(strm_r), %eax
250
251 addl %eax, %edx /* avail_in += next_in */
252 subl $11, %edx /* avail_in -= 11 */
253
254 movl %eax, in(%esp)
255 movl %edx, last(%esp)
256
257 movl start_sp(%esp), %ebp
258 movl avail_out_strm(strm_r), %ecx
259 movl next_out_strm(strm_r), %ebx
260
261 subl %ecx, %ebp /* start -= avail_out */
262 negl %ebp /* start = -start */
263 addl %ebx, %ebp /* start += next_out */
264
265 subl $257, %ecx /* avail_out -= 257 */
266 addl %ebx, %ecx /* avail_out += out */
267
268 movl %ebx, out(%esp)
269 movl %ebp, beg(%esp)
270 movl %ecx, end(%esp)
271
272 /* wsize = state->wsize;
273 * write = state->write;
274 * window = state->window;
275 * hold = state->hold;
276 * bits = state->bits;
277 * lcode = state->lencode;
278 * dcode = state->distcode;
279 * lmask = ( 1 << state->lenbits ) - 1;
280 * dmask = ( 1 << state->distbits ) - 1;
281 */
282
283 movl lencode_state(state_r), %eax
284 movl distcode_state(state_r), %ecx
285
286 movl %eax, lcode(%esp)
287 movl %ecx, dcode(%esp)
288
289 movl $1, %eax
290 movl lenbits_state(state_r), %ecx
291 shll %cl, %eax
292 decl %eax
293 movl %eax, lmask(%esp)
294
295 movl $1, %eax
296 movl distbits_state(state_r), %ecx
297 shll %cl, %eax
298 decl %eax
299 movl %eax, dmask(%esp)
300
301 movl wsize_state(state_r), %eax
302 movl write_state(state_r), %ecx
303 movl window_state(state_r), %edx
304
305 movl %eax, wsize(%esp)
306 movl %ecx, write(%esp)
307 movl %edx, window(%esp)
308
309 movl hold_state(state_r), %ebp
310 movl bits_state(state_r), %ebx
311
312 #undef strm_r
313 #undef state_r
314
315 #define in_r %esi
316 #define from_r %esi
317 #define out_r %edi
318
319 movl in(%esp), in_r
320 movl last(%esp), %ecx
321 cmpl in_r, %ecx
322 ja .L_align_long /* if in < last */
323
324 addl $11, %ecx /* ecx = &in[ avail_in ] */
325 subl in_r, %ecx /* ecx = avail_in */
326 movl $12, %eax
327 subl %ecx, %eax /* eax = 12 - avail_in */
328 leal buf(%esp), %edi
329 rep movsb /* memcpy( buf, in, avail_in ) */
330 movl %eax, %ecx
331 xorl %eax, %eax
332 rep stosb /* memset( &buf[ avail_in ], 0, 12 - avail_in ) */
333 leal buf(%esp), in_r /* in = buf */
334 movl in_r, last(%esp) /* last = in, do just one iteration */
335 jmp .L_is_aligned
336
337 /* align in_r on long boundary */
338 .L_align_long:
339 testl $3, in_r
340 jz .L_is_aligned
341 xorl %eax, %eax
342 movb (in_r), %al
343 incl in_r
344 movl %ebx, %ecx
345 addl $8, %ebx
346 shll %cl, %eax
347 orl %eax, %ebp
348 jmp .L_align_long
349
350 .L_is_aligned:
351 movl out(%esp), out_r
352
353 #if defined( NO_MMX )
354 jmp .L_do_loop
355 #endif
356
357 #if defined( USE_MMX )
358 jmp .L_init_mmx
359 #endif
360
361 /*** Runtime MMX check ***/
362
363 #if defined( RUN_TIME_MMX )
364 .L_check_mmx:
365 cmpl $DO_USE_MMX, inflate_fast_use_mmx
366 je .L_init_mmx
367 ja .L_do_loop /* > 2 */
368
369 pushl %eax
370 pushl %ebx
371 pushl %ecx
372 pushl %edx
373 pushf
374 movl (%esp), %eax /* copy eflags to eax */
375 xorl $0x200000, (%esp) /* try toggling ID bit of eflags (bit 21)
376 * to see if cpu supports cpuid...
377 * ID bit method not supported by NexGen but
378 * bios may load a cpuid instruction and
379 * cpuid may be disabled on Cyrix 5-6x86 */
380 popf
381 pushf
382 popl %edx /* copy new eflags to edx */
383 xorl %eax, %edx /* test if ID bit is flipped */
384 jz .L_dont_use_mmx /* not flipped if zero */
385 xorl %eax, %eax
386 cpuid
387 cmpl $0x756e6547, %ebx /* check for GenuineIntel in ebx,ecx,edx */
388 jne .L_dont_use_mmx
389 cmpl $0x6c65746e, %ecx
390 jne .L_dont_use_mmx
391 cmpl $0x49656e69, %edx
392 jne .L_dont_use_mmx
393 movl $1, %eax
394 cpuid /* get cpu features */
395 shrl $8, %eax
396 andl $15, %eax
397 cmpl $6, %eax /* check for Pentium family, is 0xf for P4 */
398 jne .L_dont_use_mmx
399 testl $0x800000, %edx /* test if MMX feature is set (bit 23) */
400 jnz .L_use_mmx
401 jmp .L_dont_use_mmx
402 .L_use_mmx:
403 movl $DO_USE_MMX, inflate_fast_use_mmx
404 jmp .L_check_mmx_pop
405 .L_dont_use_mmx:
406 movl $DONT_USE_MMX, inflate_fast_use_mmx
407 .L_check_mmx_pop:
408 popl %edx
409 popl %ecx
410 popl %ebx
411 popl %eax
412 jmp .L_check_mmx
413 #endif
414
415
416 /*** Non-MMX code ***/
417
418 #if defined ( NO_MMX ) || defined( RUN_TIME_MMX )
419
420 #define hold_r %ebp
421 #define bits_r %bl
422 #define bitslong_r %ebx
423
424 .align 32,0x90
425 .L_while_test:
426 /* while (in < last && out < end)
427 */
428 cmpl out_r, end(%esp)
429 jbe .L_break_loop /* if (out >= end) */
430
431 cmpl in_r, last(%esp)
432 jbe .L_break_loop
433
434 .L_do_loop:
435 /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out
436 *
437 * do {
438 * if (bits < 15) {
439 * hold |= *((unsigned short *)in)++ << bits;
440 * bits += 16
441 * }
442 * this = lcode[hold & lmask]
443 */
444 cmpb $15, bits_r
445 ja .L_get_length_code /* if (15 < bits) */
446
447 xorl %eax, %eax
448 lodsw /* al = *(ushort *)in++ */
449 movb bits_r, %cl /* cl = bits, needs it for shifting */
450 addb $16, bits_r /* bits += 16 */
451 shll %cl, %eax
452 orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
453
454 .L_get_length_code:
455 movl lmask(%esp), %edx /* edx = lmask */
456 movl lcode(%esp), %ecx /* ecx = lcode */
457 andl hold_r, %edx /* edx &= hold */
458 movl (%ecx,%edx,4), %eax /* eax = lcode[hold & lmask] */
459
460 .L_dolen:
461 /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out
462 *
463 * dolen:
464 * bits -= this.bits;
465 * hold >>= this.bits
466 */
467 movb %ah, %cl /* cl = this.bits */
468 subb %ah, bits_r /* bits -= this.bits */
469 shrl %cl, hold_r /* hold >>= this.bits */
470
471 /* check if op is a literal
472 * if (op == 0) {
473 * PUP(out) = this.val;
474 * }
475 */
476 testb %al, %al
477 jnz .L_test_for_length_base /* if (op != 0) 45.7% */
478
479 shrl $16, %eax /* output this.val char */
480 stosb
481 jmp .L_while_test
482
483 .L_test_for_length_base:
484 /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out, %edx = len
485 *
486 * else if (op & 16) {
487 * len = this.val
488 * op &= 15
489 * if (op) {
490 * if (op > bits) {
491 * hold |= *((unsigned short *)in)++ << bits;
492 * bits += 16
493 * }
494 * len += hold & mask[op];
495 * bits -= op;
496 * hold >>= op;
497 * }
498 */
499 #define len_r %edx
500 movl %eax, len_r /* len = this */
501 shrl $16, len_r /* len = this.val */
502 movb %al, %cl
503
504 testb $16, %al
505 jz .L_test_for_second_level_length /* if ((op & 16) == 0) 8% */
506 andb $15, %cl /* op &= 15 */
507 jz .L_save_len /* if (!op) */
508 cmpb %cl, bits_r
509 jae .L_add_bits_to_len /* if (op <= bits) */
510
511 movb %cl, %ch /* stash op in ch, freeing cl */
512 xorl %eax, %eax
513 lodsw /* al = *(ushort *)in++ */
514 movb bits_r, %cl /* cl = bits, needs it for shifting */
515 addb $16, bits_r /* bits += 16 */
516 shll %cl, %eax
517 orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
518 movb %ch, %cl /* move op back to ecx */
519
520 .L_add_bits_to_len:
521 movl $1, %eax
522 shll %cl, %eax
523 decl %eax
524 subb %cl, bits_r
525 andl hold_r, %eax /* eax &= hold */
526 shrl %cl, hold_r
527 addl %eax, len_r /* len += hold & mask[op] */
528
529 .L_save_len:
530 movl len_r, len(%esp) /* save len */
531 #undef len_r
532
533 .L_decode_distance:
534 /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out, %edx = dist
535 *
536 * if (bits < 15) {
537 * hold |= *((unsigned short *)in)++ << bits;
538 * bits += 16
539 * }
540 * this = dcode[hold & dmask];
541 * dodist:
542 * bits -= this.bits;
543 * hold >>= this.bits;
544 * op = this.op;
545 */
546
547 cmpb $15, bits_r
548 ja .L_get_distance_code /* if (15 < bits) */
549
550 xorl %eax, %eax
551 lodsw /* al = *(ushort *)in++ */
552 movb bits_r, %cl /* cl = bits, needs it for shifting */
553 addb $16, bits_r /* bits += 16 */
554 shll %cl, %eax
555 orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
556
557 .L_get_distance_code:
558 movl dmask(%esp), %edx /* edx = dmask */
559 movl dcode(%esp), %ecx /* ecx = dcode */
560 andl hold_r, %edx /* edx &= hold */
561 movl (%ecx,%edx,4), %eax /* eax = dcode[hold & dmask] */
562
563 #define dist_r %edx
564 .L_dodist:
565 movl %eax, dist_r /* dist = this */
566 shrl $16, dist_r /* dist = this.val */
567 movb %ah, %cl
568 subb %ah, bits_r /* bits -= this.bits */
569 shrl %cl, hold_r /* hold >>= this.bits */
570
571 /* if (op & 16) {
572 * dist = this.val
573 * op &= 15
574 * if (op > bits) {
575 * hold |= *((unsigned short *)in)++ << bits;
576 * bits += 16
577 * }
578 * dist += hold & mask[op];
579 * bits -= op;
580 * hold >>= op;
581 */
582 movb %al, %cl /* cl = this.op */
583
584 testb $16, %al /* if ((op & 16) == 0) */
585 jz .L_test_for_second_level_dist
586 andb $15, %cl /* op &= 15 */
587 jz .L_check_dist_one
588 cmpb %cl, bits_r
589 jae .L_add_bits_to_dist /* if (op <= bits) 97.6% */
590
591 movb %cl, %ch /* stash op in ch, freeing cl */
592 xorl %eax, %eax
593 lodsw /* al = *(ushort *)in++ */
594 movb bits_r, %cl /* cl = bits, needs it for shifting */
595 addb $16, bits_r /* bits += 16 */
596 shll %cl, %eax
597 orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
598 movb %ch, %cl /* move op back to ecx */
599
600 .L_add_bits_to_dist:
601 movl $1, %eax
602 shll %cl, %eax
603 decl %eax /* (1 << op) - 1 */
604 subb %cl, bits_r
605 andl hold_r, %eax /* eax &= hold */
606 shrl %cl, hold_r
607 addl %eax, dist_r /* dist += hold & ((1 << op) - 1) */
608 jmp .L_check_window
609
610 .L_check_window:
611 /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
612 * %ecx = nbytes
613 *
614 * nbytes = out - beg;
615 * if (dist <= nbytes) {
616 * from = out - dist;
617 * do {
618 * PUP(out) = PUP(from);
619 * } while (--len > 0) {
620 * }
621 */
622
623 movl in_r, in(%esp) /* save in so from can use it's reg */
624 movl out_r, %eax
625 subl beg(%esp), %eax /* nbytes = out - beg */
626
627 cmpl dist_r, %eax
628 jb .L_clip_window /* if (dist > nbytes) 4.2% */
629
630 movl len(%esp), %ecx
631 movl out_r, from_r
632 subl dist_r, from_r /* from = out - dist */
633
634 subl $3, %ecx
635 movb (from_r), %al
636 movb %al, (out_r)
637 movb 1(from_r), %al
638 movb 2(from_r), %dl
639 addl $3, from_r
640 movb %al, 1(out_r)
641 movb %dl, 2(out_r)
642 addl $3, out_r
643 rep movsb
644
645 movl in(%esp), in_r /* move in back to %esi, toss from */
646 jmp .L_while_test
647
648 .align 16,0x90
649 .L_check_dist_one:
650 cmpl $1, dist_r
651 jne .L_check_window
652 cmpl out_r, beg(%esp)
653 je .L_check_window
654
655 decl out_r
656 movl len(%esp), %ecx
657 movb (out_r), %al
658 subl $3, %ecx
659
660 movb %al, 1(out_r)
661 movb %al, 2(out_r)
662 movb %al, 3(out_r)
663 addl $4, out_r
664 rep stosb
665
666 jmp .L_while_test
667
668 .align 16,0x90
669 .L_test_for_second_level_length:
670 /* else if ((op & 64) == 0) {
671 * this = lcode[this.val + (hold & mask[op])];
672 * }
673 */
674 testb $64, %al
675 jnz .L_test_for_end_of_block /* if ((op & 64) != 0) */
676
677 movl $1, %eax
678 shll %cl, %eax
679 decl %eax
680 andl hold_r, %eax /* eax &= hold */
681 addl %edx, %eax /* eax += this.val */
682 movl lcode(%esp), %edx /* edx = lcode */
683 movl (%edx,%eax,4), %eax /* eax = lcode[val + (hold&mask[op])] */
684 jmp .L_dolen
685
686 .align 16,0x90
687 .L_test_for_second_level_dist:
688 /* else if ((op & 64) == 0) {
689 * this = dcode[this.val + (hold & mask[op])];
690 * }
691 */
692 testb $64, %al
693 jnz .L_invalid_distance_code /* if ((op & 64) != 0) */
694
695 movl $1, %eax
696 shll %cl, %eax
697 decl %eax
698 andl hold_r, %eax /* eax &= hold */
699 addl %edx, %eax /* eax += this.val */
700 movl dcode(%esp), %edx /* edx = dcode */
701 movl (%edx,%eax,4), %eax /* eax = dcode[val + (hold&mask[op])] */
702 jmp .L_dodist
703
704 .align 16,0x90
705 .L_clip_window:
706 /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
707 * %ecx = nbytes
708 *
709 * else {
710 * if (dist > wsize) {
711 * invalid distance
712 * }
713 * from = window;
714 * nbytes = dist - nbytes;
715 * if (write == 0) {
716 * from += wsize - nbytes;
717 */
718 #define nbytes_r %ecx
719 movl %eax, nbytes_r
720 movl wsize(%esp), %eax /* prepare for dist compare */
721 negl nbytes_r /* nbytes = -nbytes */
722 movl window(%esp), from_r /* from = window */
723
724 cmpl dist_r, %eax
725 jb .L_invalid_distance_too_far /* if (dist > wsize) */
726
727 addl dist_r, nbytes_r /* nbytes = dist - nbytes */
728 cmpl $0, write(%esp)
729 jne .L_wrap_around_window /* if (write != 0) */
730
731 subl nbytes_r, %eax
732 addl %eax, from_r /* from += wsize - nbytes */
733
734 /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
735 * %ecx = nbytes, %eax = len
736 *
737 * if (nbytes < len) {
738 * len -= nbytes;
739 * do {
740 * PUP(out) = PUP(from);
741 * } while (--nbytes);
742 * from = out - dist;
743 * }
744 * }
745 */
746 #define len_r %eax
747 movl len(%esp), len_r
748 cmpl nbytes_r, len_r
749 jbe .L_do_copy1 /* if (nbytes >= len) */
750
751 subl nbytes_r, len_r /* len -= nbytes */
752 rep movsb
753 movl out_r, from_r
754 subl dist_r, from_r /* from = out - dist */
755 jmp .L_do_copy1
756
757 cmpl nbytes_r, len_r
758 jbe .L_do_copy1 /* if (nbytes >= len) */
759
760 subl nbytes_r, len_r /* len -= nbytes */
761 rep movsb
762 movl out_r, from_r
763 subl dist_r, from_r /* from = out - dist */
764 jmp .L_do_copy1
765
766 .L_wrap_around_window:
767 /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
768 * %ecx = nbytes, %eax = write, %eax = len
769 *
770 * else if (write < nbytes) {
771 * from += wsize + write - nbytes;
772 * nbytes -= write;
773 * if (nbytes < len) {
774 * len -= nbytes;
775 * do {
776 * PUP(out) = PUP(from);
777 * } while (--nbytes);
778 * from = window;
779 * nbytes = write;
780 * if (nbytes < len) {
781 * len -= nbytes;
782 * do {
783 * PUP(out) = PUP(from);
784 * } while(--nbytes);
785 * from = out - dist;
786 * }
787 * }
788 * }
789 */
790 #define write_r %eax
791 movl write(%esp), write_r
792 cmpl write_r, nbytes_r
793 jbe .L_contiguous_in_window /* if (write >= nbytes) */
794
795 addl wsize(%esp), from_r
796 addl write_r, from_r
797 subl nbytes_r, from_r /* from += wsize + write - nbytes */
798 subl write_r, nbytes_r /* nbytes -= write */
799 #undef write_r
800
801 movl len(%esp), len_r
802 cmpl nbytes_r, len_r
803 jbe .L_do_copy1 /* if (nbytes >= len) */
804
805 subl nbytes_r, len_r /* len -= nbytes */
806 rep movsb
807 movl window(%esp), from_r /* from = window */
808 movl write(%esp), nbytes_r /* nbytes = write */
809 cmpl nbytes_r, len_r
810 jbe .L_do_copy1 /* if (nbytes >= len) */
811
812 subl nbytes_r, len_r /* len -= nbytes */
813 rep movsb
814 movl out_r, from_r
815 subl dist_r, from_r /* from = out - dist */
816 jmp .L_do_copy1
817
818 .L_contiguous_in_window:
819 /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
820 * %ecx = nbytes, %eax = write, %eax = len
821 *
822 * else {
823 * from += write - nbytes;
824 * if (nbytes < len) {
825 * len -= nbytes;
826 * do {
827 * PUP(out) = PUP(from);
828 * } while (--nbytes);
829 * from = out - dist;
830 * }
831 * }
832 */
833 #define write_r %eax
834 addl write_r, from_r
835 subl nbytes_r, from_r /* from += write - nbytes */
836 #undef write_r
837
838 movl len(%esp), len_r
839 cmpl nbytes_r, len_r
840 jbe .L_do_copy1 /* if (nbytes >= len) */
841
842 subl nbytes_r, len_r /* len -= nbytes */
843 rep movsb
844 movl out_r, from_r
845 subl dist_r, from_r /* from = out - dist */
846
847 .L_do_copy1:
848 /* regs: %esi = from, %esi = in, %ebp = hold, %bl = bits, %edi = out
849 * %eax = len
850 *
851 * while (len > 0) {
852 * PUP(out) = PUP(from);
853 * len--;
854 * }
855 * }
856 * } while (in < last && out < end);
857 */
858 #undef nbytes_r
859 #define in_r %esi
860 movl len_r, %ecx
861 rep movsb
862
863 movl in(%esp), in_r /* move in back to %esi, toss from */
864 jmp .L_while_test
865
866 #undef len_r
867 #undef dist_r
868
869 #endif /* NO_MMX || RUN_TIME_MMX */
870
871
872 /*** MMX code ***/
873
874 #if defined( USE_MMX ) || defined( RUN_TIME_MMX )
875
876 .align 32,0x90
877 .L_init_mmx:
878 emms
879
880 #undef bits_r
881 #undef bitslong_r
882 #define bitslong_r %ebp
883 #define hold_mm %mm0
884 movd %ebp, hold_mm
885 movl %ebx, bitslong_r
886
887 #define used_mm %mm1
888 #define dmask2_mm %mm2
889 #define lmask2_mm %mm3
890 #define lmask_mm %mm4
891 #define dmask_mm %mm5
892 #define tmp_mm %mm6
893
894 movd lmask(%esp), lmask_mm
895 movq lmask_mm, lmask2_mm
896 movd dmask(%esp), dmask_mm
897 movq dmask_mm, dmask2_mm
898 pxor used_mm, used_mm
899 movl lcode(%esp), %ebx /* ebx = lcode */
900 jmp .L_do_loop_mmx
901
902 .align 32,0x90
903 .L_while_test_mmx:
904 /* while (in < last && out < end)
905 */
906 cmpl out_r, end(%esp)
907 jbe .L_break_loop /* if (out >= end) */
908
909 cmpl in_r, last(%esp)
910 jbe .L_break_loop
911
912 .L_do_loop_mmx:
913 psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
914
915 cmpl $32, bitslong_r
916 ja .L_get_length_code_mmx /* if (32 < bits) */
917
918 movd bitslong_r, tmp_mm
919 movd (in_r), %mm7
920 addl $4, in_r
921 psllq tmp_mm, %mm7
922 addl $32, bitslong_r
923 por %mm7, hold_mm /* hold_mm |= *((uint *)in)++ << bits */
924
925 .L_get_length_code_mmx:
926 pand hold_mm, lmask_mm
927 movd lmask_mm, %eax
928 movq lmask2_mm, lmask_mm
929 movl (%ebx,%eax,4), %eax /* eax = lcode[hold & lmask] */
930
931 .L_dolen_mmx:
932 movzbl %ah, %ecx /* ecx = this.bits */
933 movd %ecx, used_mm
934 subl %ecx, bitslong_r /* bits -= this.bits */
935
936 testb %al, %al
937 jnz .L_test_for_length_base_mmx /* if (op != 0) 45.7% */
938
939 shrl $16, %eax /* output this.val char */
940 stosb
941 jmp .L_while_test_mmx
942
943 .L_test_for_length_base_mmx:
944 #define len_r %edx
945 movl %eax, len_r /* len = this */
946 shrl $16, len_r /* len = this.val */
947
948 testb $16, %al
949 jz .L_test_for_second_level_length_mmx /* if ((op & 16) == 0) 8% */
950 andl $15, %eax /* op &= 15 */
951 jz .L_decode_distance_mmx /* if (!op) */
952
953 psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
954 movd %eax, used_mm
955 movd hold_mm, %ecx
956 subl %eax, bitslong_r
957 andl .L_mask(,%eax,4), %ecx
958 addl %ecx, len_r /* len += hold & mask[op] */
959
960 .L_decode_distance_mmx:
961 psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
962
963 cmpl $32, bitslong_r
964 ja .L_get_dist_code_mmx /* if (32 < bits) */
965
966 movd bitslong_r, tmp_mm
967 movd (in_r), %mm7
968 addl $4, in_r
969 psllq tmp_mm, %mm7
970 addl $32, bitslong_r
971 por %mm7, hold_mm /* hold_mm |= *((uint *)in)++ << bits */
972
973 .L_get_dist_code_mmx:
974 movl dcode(%esp), %ebx /* ebx = dcode */
975 pand hold_mm, dmask_mm
976 movd dmask_mm, %eax
977 movq dmask2_mm, dmask_mm
978 movl (%ebx,%eax,4), %eax /* eax = dcode[hold & lmask] */
979
980 .L_dodist_mmx:
981 #define dist_r %ebx
982 movzbl %ah, %ecx /* ecx = this.bits */
983 movl %eax, dist_r
984 shrl $16, dist_r /* dist = this.val */
985 subl %ecx, bitslong_r /* bits -= this.bits */
986 movd %ecx, used_mm
987
988 testb $16, %al /* if ((op & 16) == 0) */
989 jz .L_test_for_second_level_dist_mmx
990 andl $15, %eax /* op &= 15 */
991 jz .L_check_dist_one_mmx
992
993 .L_add_bits_to_dist_mmx:
994 psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
995 movd %eax, used_mm /* save bit length of current op */
996 movd hold_mm, %ecx /* get the next bits on input stream */
997 subl %eax, bitslong_r /* bits -= op bits */
998 andl .L_mask(,%eax,4), %ecx /* ecx = hold & mask[op] */
999 addl %ecx, dist_r /* dist += hold & mask[op] */
1000
1001 .L_check_window_mmx:
1002 movl in_r, in(%esp) /* save in so from can use it's reg */
1003 movl out_r, %eax
1004 subl beg(%esp), %eax /* nbytes = out - beg */
1005
1006 cmpl dist_r, %eax
1007 jb .L_clip_window_mmx /* if (dist > nbytes) 4.2% */
1008
1009 movl len_r, %ecx
1010 movl out_r, from_r
1011 subl dist_r, from_r /* from = out - dist */
1012
1013 subl $3, %ecx
1014 movb (from_r), %al
1015 movb %al, (out_r)
1016 movb 1(from_r), %al
1017 movb 2(from_r), %dl
1018 addl $3, from_r
1019 movb %al, 1(out_r)
1020 movb %dl, 2(out_r)
1021 addl $3, out_r
1022 rep movsb
1023
1024 movl in(%esp), in_r /* move in back to %esi, toss from */
1025 movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */
1026 jmp .L_while_test_mmx
1027
1028 .align 16,0x90
1029 .L_check_dist_one_mmx:
1030 cmpl $1, dist_r
1031 jne .L_check_window_mmx
1032 cmpl out_r, beg(%esp)
1033 je .L_check_window_mmx
1034
1035 decl out_r
1036 movl len_r, %ecx
1037 movb (out_r), %al
1038 subl $3, %ecx
1039
1040 movb %al, 1(out_r)
1041 movb %al, 2(out_r)
1042 movb %al, 3(out_r)
1043 addl $4, out_r
1044 rep stosb
1045
1046 movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */
1047 jmp .L_while_test_mmx
1048
1049 .align 16,0x90
1050 .L_test_for_second_level_length_mmx:
1051 testb $64, %al
1052 jnz .L_test_for_end_of_block /* if ((op & 64) != 0) */
1053
1054 andl $15, %eax
1055 psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
1056 movd hold_mm, %ecx
1057 andl .L_mask(,%eax,4), %ecx
1058 addl len_r, %ecx
1059 movl (%ebx,%ecx,4), %eax /* eax = lcode[hold & lmask] */
1060 jmp .L_dolen_mmx
1061
1062 .align 16,0x90
1063 .L_test_for_second_level_dist_mmx:
1064 testb $64, %al
1065 jnz .L_invalid_distance_code /* if ((op & 64) != 0) */
1066
1067 andl $15, %eax
1068 psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
1069 movd hold_mm, %ecx
1070 andl .L_mask(,%eax,4), %ecx
1071 movl dcode(%esp), %eax /* ecx = dcode */
1072 addl dist_r, %ecx
1073 movl (%eax,%ecx,4), %eax /* eax = lcode[hold & lmask] */
1074 jmp .L_dodist_mmx
1075
1076 .align 16,0x90
1077 .L_clip_window_mmx:
1078 #define nbytes_r %ecx
1079 movl %eax, nbytes_r
1080 movl wsize(%esp), %eax /* prepare for dist compare */
1081 negl nbytes_r /* nbytes = -nbytes */
1082 movl window(%esp), from_r /* from = window */
1083
1084 cmpl dist_r, %eax
1085 jb .L_invalid_distance_too_far /* if (dist > wsize) */
1086
1087 addl dist_r, nbytes_r /* nbytes = dist - nbytes */
1088 cmpl $0, write(%esp)
1089 jne .L_wrap_around_window_mmx /* if (write != 0) */
1090
1091 subl nbytes_r, %eax
1092 addl %eax, from_r /* from += wsize - nbytes */
1093
1094 cmpl nbytes_r, len_r
1095 jbe .L_do_copy1_mmx /* if (nbytes >= len) */
1096
1097 subl nbytes_r, len_r /* len -= nbytes */
1098 rep movsb
1099 movl out_r, from_r
1100 subl dist_r, from_r /* from = out - dist */
1101 jmp .L_do_copy1_mmx
1102
1103 cmpl nbytes_r, len_r
1104 jbe .L_do_copy1_mmx /* if (nbytes >= len) */
1105
1106 subl nbytes_r, len_r /* len -= nbytes */
1107 rep movsb
1108 movl out_r, from_r
1109 subl dist_r, from_r /* from = out - dist */
1110 jmp .L_do_copy1_mmx
1111
1112 .L_wrap_around_window_mmx:
1113 #define write_r %eax
1114 movl write(%esp), write_r
1115 cmpl write_r, nbytes_r
1116 jbe .L_contiguous_in_window_mmx /* if (write >= nbytes) */
1117
1118 addl wsize(%esp), from_r
1119 addl write_r, from_r
1120 subl nbytes_r, from_r /* from += wsize + write - nbytes */
1121 subl write_r, nbytes_r /* nbytes -= write */
1122 #undef write_r
1123
1124 cmpl nbytes_r, len_r
1125 jbe .L_do_copy1_mmx /* if (nbytes >= len) */
1126
1127 subl nbytes_r, len_r /* len -= nbytes */
1128 rep movsb
1129 movl window(%esp), from_r /* from = window */
1130 movl write(%esp), nbytes_r /* nbytes = write */
1131 cmpl nbytes_r, len_r
1132 jbe .L_do_copy1_mmx /* if (nbytes >= len) */
1133
1134 subl nbytes_r, len_r /* len -= nbytes */
1135 rep movsb
1136 movl out_r, from_r
1137 subl dist_r, from_r /* from = out - dist */
1138 jmp .L_do_copy1_mmx
1139
1140 .L_contiguous_in_window_mmx:
1141 #define write_r %eax
1142 addl write_r, from_r
1143 subl nbytes_r, from_r /* from += write - nbytes */
1144 #undef write_r
1145
1146 cmpl nbytes_r, len_r
1147 jbe .L_do_copy1_mmx /* if (nbytes >= len) */
1148
1149 subl nbytes_r, len_r /* len -= nbytes */
1150 rep movsb
1151 movl out_r, from_r
1152 subl dist_r, from_r /* from = out - dist */
1153
1154 .L_do_copy1_mmx:
1155 #undef nbytes_r
1156 #define in_r %esi
1157 movl len_r, %ecx
1158 rep movsb
1159
1160 movl in(%esp), in_r /* move in back to %esi, toss from */
1161 movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */
1162 jmp .L_while_test_mmx
1163
1164 #undef hold_r
1165 #undef bitslong_r
1166
1167 #endif /* USE_MMX || RUN_TIME_MMX */
1168
1169
1170 /*** USE_MMX, NO_MMX, and RUNTIME_MMX from here on ***/
1171
1172 .L_invalid_distance_code:
1173 /* else {
1174 * strm->msg = "invalid distance code";
1175 * state->mode = BAD;
1176 * }
1177 */
1178 movl $.L_invalid_distance_code_msg, %ecx
1179 movl $INFLATE_MODE_BAD, %edx
1180 jmp .L_update_stream_state
1181
1182 .L_test_for_end_of_block:
1183 /* else if (op & 32) {
1184 * state->mode = TYPE;
1185 * break;
1186 * }
1187 */
1188 testb $32, %al
1189 jz .L_invalid_literal_length_code /* if ((op & 32) == 0) */
1190
1191 movl $0, %ecx
1192 movl $INFLATE_MODE_TYPE, %edx
1193 jmp .L_update_stream_state
1194
1195 .L_invalid_literal_length_code:
1196 /* else {
1197 * strm->msg = "invalid literal/length code";
1198 * state->mode = BAD;
1199 * }
1200 */
1201 movl $.L_invalid_literal_length_code_msg, %ecx
1202 movl $INFLATE_MODE_BAD, %edx
1203 jmp .L_update_stream_state
1204
1205 .L_invalid_distance_too_far:
1206 /* strm->msg = "invalid distance too far back";
1207 * state->mode = BAD;
1208 */
1209 movl in(%esp), in_r /* from_r has in's reg, put in back */
1210 movl $.L_invalid_distance_too_far_msg, %ecx
1211 movl $INFLATE_MODE_BAD, %edx
1212 jmp .L_update_stream_state
1213
1214 .L_update_stream_state:
1215 /* set strm->msg = %ecx, strm->state->mode = %edx */
1216 movl strm_sp(%esp), %eax
1217 testl %ecx, %ecx /* if (msg != NULL) */
1218 jz .L_skip_msg
1219 movl %ecx, msg_strm(%eax) /* strm->msg = msg */
1220 .L_skip_msg:
1221 movl state_strm(%eax), %eax /* state = strm->state */
1222 movl %edx, mode_state(%eax) /* state->mode = edx (BAD | TYPE) */
1223 jmp .L_break_loop
1224
1225 .align 32,0x90
1226 .L_break_loop:
1227
1228 /*
1229 * Regs:
1230 *
1231 * bits = %ebp when mmx, and in %ebx when non-mmx
1232 * hold = %hold_mm when mmx, and in %ebp when non-mmx
1233 * in = %esi
1234 * out = %edi
1235 */
1236
1237 #if defined( USE_MMX ) || defined( RUN_TIME_MMX )
1238
1239 #if defined( RUN_TIME_MMX )
1240
1241 cmpl $DO_USE_MMX, inflate_fast_use_mmx
1242 jne .L_update_next_in
1243
1244 #endif /* RUN_TIME_MMX */
1245
1246 movl %ebp, %ebx
1247
1248 .L_update_next_in:
1249
1250 #endif
1251
1252 #define strm_r %eax
1253 #define state_r %edx
1254
1255 /* len = bits >> 3;
1256 * in -= len;
1257 * bits -= len << 3;
1258 * hold &= (1U << bits) - 1;
1259 * state->hold = hold;
1260 * state->bits = bits;
1261 * strm->next_in = in;
1262 * strm->next_out = out;
1263 */
1264 movl strm_sp(%esp), strm_r
1265 movl %ebx, %ecx
1266 movl state_strm(strm_r), state_r
1267 shrl $3, %ecx
1268 subl %ecx, in_r
1269 shll $3, %ecx
1270 subl %ecx, %ebx
1271 movl out_r, next_out_strm(strm_r)
1272 movl %ebx, bits_state(state_r)
1273 movl %ebx, %ecx
1274
1275 leal buf(%esp), %ebx
1276 cmpl %ebx, last(%esp)
1277 jne .L_buf_not_used /* if buf != last */
1278
1279 subl %ebx, in_r /* in -= buf */
1280 movl next_in_strm(strm_r), %ebx
1281 movl %ebx, last(%esp) /* last = strm->next_in */
1282 addl %ebx, in_r /* in += strm->next_in */
1283 movl avail_in_strm(strm_r), %ebx
1284 subl $11, %ebx
1285 addl %ebx, last(%esp) /* last = &strm->next_in[ avail_in - 11 ] */
1286
1287 .L_buf_not_used:
1288 movl in_r, next_in_strm(strm_r)
1289
1290 movl $1, %ebx
1291 shll %cl, %ebx
1292 decl %ebx
1293
1294 #if defined( USE_MMX ) || defined( RUN_TIME_MMX )
1295
1296 #if defined( RUN_TIME_MMX )
1297
1298 cmpl $DO_USE_MMX, inflate_fast_use_mmx
1299 jne .L_update_hold
1300
1301 #endif /* RUN_TIME_MMX */
1302
1303 psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
1304 movd hold_mm, %ebp
1305
1306 emms
1307
1308 .L_update_hold:
1309
1310 #endif /* USE_MMX || RUN_TIME_MMX */
1311
1312 andl %ebx, %ebp
1313 movl %ebp, hold_state(state_r)
1314
1315 #define last_r %ebx
1316
1317 /* strm->avail_in = in < last ? 11 + (last - in) : 11 - (in - last) */
1318 movl last(%esp), last_r
1319 cmpl in_r, last_r
1320 jbe .L_last_is_smaller /* if (in >= last) */
1321
1322 subl in_r, last_r /* last -= in */
1323 addl $11, last_r /* last += 11 */
1324 movl last_r, avail_in_strm(strm_r)
1325 jmp .L_fixup_out
1326 .L_last_is_smaller:
1327 subl last_r, in_r /* in -= last */
1328 negl in_r /* in = -in */
1329 addl $11, in_r /* in += 11 */
1330 movl in_r, avail_in_strm(strm_r)
1331
1332 #undef last_r
1333 #define end_r %ebx
1334
1335 .L_fixup_out:
1336 /* strm->avail_out = out < end ? 257 + (end - out) : 257 - (out - end)*/
1337 movl end(%esp), end_r
1338 cmpl out_r, end_r
1339 jbe .L_end_is_smaller /* if (out >= end) */
1340
1341 subl out_r, end_r /* end -= out */
1342 addl $257, end_r /* end += 257 */
1343 movl end_r, avail_out_strm(strm_r)
1344 jmp .L_done
1345 .L_end_is_smaller:
1346 subl end_r, out_r /* out -= end */
1347 negl out_r /* out = -out */
1348 addl $257, out_r /* out += 257 */
1349 movl out_r, avail_out_strm(strm_r)
1350
1351 #undef end_r
1352 #undef strm_r
1353 #undef state_r
1354
1355 .L_done:
1356 addl $local_var_size, %esp
1357 popf
1358 popl %ebx
1359 popl %ebp
1360 popl %esi
1361 popl %edi
1362 ret
1363
1364 #if defined( GAS_ELF )
1365 /* elf info */
1366 .type inflate_fast,@function
1367 .size inflate_fast,.-inflate_fast
1368 #endif
--- a/compat/zlib/contrib/inflate86/inffast.S
+++ b/compat/zlib/contrib/inflate86/inffast.S
@@ -1,1368 +0,0 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
D compat/zlib/contrib/masmx64/bld_ml64.bat
-2
--- a/compat/zlib/contrib/masmx64/bld_ml64.bat
+++ b/compat/zlib/contrib/masmx64/bld_ml64.bat
@@ -1,2 +0,0 @@
1
-ml64.exe /Flinffasx64 /c /Zi inffasx64.asm
2
-ml64.exe /Flgvmat64 /c /Zi gvmat64.asm
--- a/compat/zlib/contrib/masmx64/bld_ml64.bat
+++ b/compat/zlib/contrib/masmx64/bld_ml64.bat
@@ -1,2 +0,0 @@
1 ml64.exe /Flinffasx64 /c /Zi inffasx64.asm
2 ml64.exe /Flgvmat64 /c /Zi gvmat64.asm
--- a/compat/zlib/contrib/masmx64/bld_ml64.bat
+++ b/compat/zlib/contrib/masmx64/bld_ml64.bat
@@ -1,2 +0,0 @@
 
 
D compat/zlib/contrib/masmx64/gvmat64.asm
-553
--- a/compat/zlib/contrib/masmx64/gvmat64.asm
+++ b/compat/zlib/contrib/masmx64/gvmat64.asm
@@ -1,553 +0,0 @@
1
-;uInt longest_match_x64(
2
-; deflate_state *s,
3
-; IPos cur_match); /* current match */
4
-
5
-; gvmat64.asm -- Asm portion of the optimized longest_match for 32 bits x86_64
6
-; (AMD64 on Athlon 64, Opteron, Phenom
7
-; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7)
8
-; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
9
-;
10
-; File written by Gilles Vollant, by converting to assembly the longest_match
11
-; from Jean-loup Gailly in deflate.c of zLib and infoZip zip.
12
-;
13
-; and by taking inspiration on asm686 with masm, optimised assembly code
14
-; from Brian Raiter, written 1998
15
-;
16
-; This software is provided 'as-is', without any express or implied
17
-; warranty. In no event will the authors be held liable for any damages
18
-; arising from the use of this software.
19
-;
20
-; Permission is granted to anyone to use this software for any purpose,
21
-; including commercial applications, and to alter it and redistribute it
22
-; freely, subject to the following restrictions:
23
-;
24
-; 1. The origin of this software must not be misrepresented; you must not
25
-; claim that you wrote the original software. If you use this software
26
-; in a product, an acknowledgment in the product documentation would be
27
-; appreciated but is not required.
28
-; 2. Altered source versions must be plainly marked as such, and must not be
29
-; misrepresented as being the original software
30
-; 3. This notice may not be removed or altered from any source distribution.
31
-;
32
-;
33
-;
34
-; http://www.zlib.net
35
-; http://www.winimage.com/zLibDll
36
-; http://www.muppetlabs.com/~breadbox/software/assembly.html
37
-;
38
-; to compile this file for infozip Zip, I use option:
39
-; ml64.exe /Flgvmat64 /c /Zi /DINFOZIP gvmat64.asm
40
-;
41
-; to compile this file for zLib, I use option:
42
-; ml64.exe /Flgvmat64 /c /Zi gvmat64.asm
43
-; Be carrefull to adapt zlib1222add below to your version of zLib
44
-; (if you use a version of zLib before 1.0.4 or after 1.2.2.2, change
45
-; value of zlib1222add later)
46
-;
47
-; This file compile with Microsoft Macro Assembler (x64) for AMD64
48
-;
49
-; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK
50
-;
51
-; (you can get Windows WDK with ml64 for AMD64 from
52
-; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price)
53
-;
54
-
55
-
56
-;uInt longest_match(s, cur_match)
57
-; deflate_state *s;
58
-; IPos cur_match; /* current match */
59
-.code
60
-longest_match PROC
61
-
62
-
63
-;LocalVarsSize equ 88
64
- LocalVarsSize equ 72
65
-
66
-; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12
67
-; free register : r14,r15
68
-; register can be saved : rsp
69
-
70
- chainlenwmask equ rsp + 8 - LocalVarsSize ; high word: current chain len
71
- ; low word: s->wmask
72
-;window equ rsp + xx - LocalVarsSize ; local copy of s->window ; stored in r10
73
-;windowbestlen equ rsp + xx - LocalVarsSize ; s->window + bestlen , use r10+r11
74
-;scanstart equ rsp + xx - LocalVarsSize ; first two bytes of string ; stored in r12w
75
-;scanend equ rsp + xx - LocalVarsSize ; last two bytes of string use ebx
76
-;scanalign equ rsp + xx - LocalVarsSize ; dword-misalignment of string r13
77
-;bestlen equ rsp + xx - LocalVarsSize ; size of best match so far -> r11d
78
-;scan equ rsp + xx - LocalVarsSize ; ptr to string wanting match -> r9
79
-IFDEF INFOZIP
80
-ELSE
81
- nicematch equ (rsp + 16 - LocalVarsSize) ; a good enough match size
82
-ENDIF
83
-
84
-save_rdi equ rsp + 24 - LocalVarsSize
85
-save_rsi equ rsp + 32 - LocalVarsSize
86
-save_rbx equ rsp + 40 - LocalVarsSize
87
-save_rbp equ rsp + 48 - LocalVarsSize
88
-save_r12 equ rsp + 56 - LocalVarsSize
89
-save_r13 equ rsp + 64 - LocalVarsSize
90
-;save_r14 equ rsp + 72 - LocalVarsSize
91
-;save_r15 equ rsp + 80 - LocalVarsSize
92
-
93
-
94
-; summary of register usage
95
-; scanend ebx
96
-; scanendw bx
97
-; chainlenwmask edx
98
-; curmatch rsi
99
-; curmatchd esi
100
-; windowbestlen r8
101
-; scanalign r9
102
-; scanalignd r9d
103
-; window r10
104
-; bestlen r11
105
-; bestlend r11d
106
-; scanstart r12d
107
-; scanstartw r12w
108
-; scan r13
109
-; nicematch r14d
110
-; limit r15
111
-; limitd r15d
112
-; prev rcx
113
-
114
-; all the +4 offsets are due to the addition of pending_buf_size (in zlib
115
-; in the deflate_state structure since the asm code was first written
116
-; (if you compile with zlib 1.0.4 or older, remove the +4).
117
-; Note : these value are good with a 8 bytes boundary pack structure
118
-
119
-
120
- MAX_MATCH equ 258
121
- MIN_MATCH equ 3
122
- MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
123
-
124
-
125
-;;; Offsets for fields in the deflate_state structure. These numbers
126
-;;; are calculated from the definition of deflate_state, with the
127
-;;; assumption that the compiler will dword-align the fields. (Thus,
128
-;;; changing the definition of deflate_state could easily cause this
129
-;;; program to crash horribly, without so much as a warning at
130
-;;; compile time. Sigh.)
131
-
132
-; all the +zlib1222add offsets are due to the addition of fields
133
-; in zlib in the deflate_state structure since the asm code was first written
134
-; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
135
-; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
136
-; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
137
-
138
-
139
-IFDEF INFOZIP
140
-
141
-_DATA SEGMENT
142
-COMM window_size:DWORD
143
-; WMask ; 7fff
144
-COMM window:BYTE:010040H
145
-COMM prev:WORD:08000H
146
-; MatchLen : unused
147
-; PrevMatch : unused
148
-COMM strstart:DWORD
149
-COMM match_start:DWORD
150
-; Lookahead : ignore
151
-COMM prev_length:DWORD ; PrevLen
152
-COMM max_chain_length:DWORD
153
-COMM good_match:DWORD
154
-COMM nice_match:DWORD
155
-prev_ad equ OFFSET prev
156
-window_ad equ OFFSET window
157
-nicematch equ nice_match
158
-_DATA ENDS
159
-WMask equ 07fffh
160
-
161
-ELSE
162
-
163
- IFNDEF zlib1222add
164
- zlib1222add equ 8
165
- ENDIF
166
-dsWSize equ 56+zlib1222add+(zlib1222add/2)
167
-dsWMask equ 64+zlib1222add+(zlib1222add/2)
168
-dsWindow equ 72+zlib1222add
169
-dsPrev equ 88+zlib1222add
170
-dsMatchLen equ 128+zlib1222add
171
-dsPrevMatch equ 132+zlib1222add
172
-dsStrStart equ 140+zlib1222add
173
-dsMatchStart equ 144+zlib1222add
174
-dsLookahead equ 148+zlib1222add
175
-dsPrevLen equ 152+zlib1222add
176
-dsMaxChainLen equ 156+zlib1222add
177
-dsGoodMatch equ 172+zlib1222add
178
-dsNiceMatch equ 176+zlib1222add
179
-
180
-window_size equ [ rcx + dsWSize]
181
-WMask equ [ rcx + dsWMask]
182
-window_ad equ [ rcx + dsWindow]
183
-prev_ad equ [ rcx + dsPrev]
184
-strstart equ [ rcx + dsStrStart]
185
-match_start equ [ rcx + dsMatchStart]
186
-Lookahead equ [ rcx + dsLookahead] ; 0ffffffffh on infozip
187
-prev_length equ [ rcx + dsPrevLen]
188
-max_chain_length equ [ rcx + dsMaxChainLen]
189
-good_match equ [ rcx + dsGoodMatch]
190
-nice_match equ [ rcx + dsNiceMatch]
191
-ENDIF
192
-
193
-; parameter 1 in r8(deflate state s), param 2 in rdx (cur match)
194
-
195
-; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and
196
-; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
197
-;
198
-; All registers must be preserved across the call, except for
199
-; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch.
200
-
201
-
202
-
203
-;;; Save registers that the compiler may be using, and adjust esp to
204
-;;; make room for our stack frame.
205
-
206
-
207
-;;; Retrieve the function arguments. r8d will hold cur_match
208
-;;; throughout the entire function. edx will hold the pointer to the
209
-;;; deflate_state structure during the function's setup (before
210
-;;; entering the main loop.
211
-
212
-; parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match)
213
-
214
-; this clear high 32 bits of r8, which can be garbage in both r8 and rdx
215
-
216
- mov [save_rdi],rdi
217
- mov [save_rsi],rsi
218
- mov [save_rbx],rbx
219
- mov [save_rbp],rbp
220
-IFDEF INFOZIP
221
- mov r8d,ecx
222
-ELSE
223
- mov r8d,edx
224
-ENDIF
225
- mov [save_r12],r12
226
- mov [save_r13],r13
227
-; mov [save_r14],r14
228
-; mov [save_r15],r15
229
-
230
-
231
-;;; uInt wmask = s->w_mask;
232
-;;; unsigned chain_length = s->max_chain_length;
233
-;;; if (s->prev_length >= s->good_match) {
234
-;;; chain_length >>= 2;
235
-;;; }
236
-
237
- mov edi, prev_length
238
- mov esi, good_match
239
- mov eax, WMask
240
- mov ebx, max_chain_length
241
- cmp edi, esi
242
- jl LastMatchGood
243
- shr ebx, 2
244
-LastMatchGood:
245
-
246
-;;; chainlen is decremented once beforehand so that the function can
247
-;;; use the sign flag instead of the zero flag for the exit test.
248
-;;; It is then shifted into the high word, to make room for the wmask
249
-;;; value, which it will always accompany.
250
-
251
- dec ebx
252
- shl ebx, 16
253
- or ebx, eax
254
-
255
-;;; on zlib only
256
-;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
257
-
258
-IFDEF INFOZIP
259
- mov [chainlenwmask], ebx
260
-; on infozip nice_match = [nice_match]
261
-ELSE
262
- mov eax, nice_match
263
- mov [chainlenwmask], ebx
264
- mov r10d, Lookahead
265
- cmp r10d, eax
266
- cmovnl r10d, eax
267
- mov [nicematch],r10d
268
-ENDIF
269
-
270
-;;; register Bytef *scan = s->window + s->strstart;
271
- mov r10, window_ad
272
- mov ebp, strstart
273
- lea r13, [r10 + rbp]
274
-
275
-;;; Determine how many bytes the scan ptr is off from being
276
-;;; dword-aligned.
277
-
278
- mov r9,r13
279
- neg r13
280
- and r13,3
281
-
282
-;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
283
-;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
284
-IFDEF INFOZIP
285
- mov eax,07efah ; MAX_DIST = (WSIZE-MIN_LOOKAHEAD) (0x8000-(3+8+1))
286
-ELSE
287
- mov eax, window_size
288
- sub eax, MIN_LOOKAHEAD
289
-ENDIF
290
- xor edi,edi
291
- sub ebp, eax
292
-
293
- mov r11d, prev_length
294
-
295
- cmovng ebp,edi
296
-
297
-;;; int best_len = s->prev_length;
298
-
299
-
300
-;;; Store the sum of s->window + best_len in esi locally, and in esi.
301
-
302
- lea rsi,[r10+r11]
303
-
304
-;;; register ush scan_start = *(ushf*)scan;
305
-;;; register ush scan_end = *(ushf*)(scan+best_len-1);
306
-;;; Posf *prev = s->prev;
307
-
308
- movzx r12d,word ptr [r9]
309
- movzx ebx, word ptr [r9 + r11 - 1]
310
-
311
- mov rdi, prev_ad
312
-
313
-;;; Jump into the main loop.
314
-
315
- mov edx, [chainlenwmask]
316
-
317
- cmp bx,word ptr [rsi + r8 - 1]
318
- jz LookupLoopIsZero
319
-
320
-LookupLoop1:
321
- and r8d, edx
322
-
323
- movzx r8d, word ptr [rdi + r8*2]
324
- cmp r8d, ebp
325
- jbe LeaveNow
326
- sub edx, 00010000h
327
- js LeaveNow
328
-
329
-LoopEntry1:
330
- cmp bx,word ptr [rsi + r8 - 1]
331
- jz LookupLoopIsZero
332
-
333
-LookupLoop2:
334
- and r8d, edx
335
-
336
- movzx r8d, word ptr [rdi + r8*2]
337
- cmp r8d, ebp
338
- jbe LeaveNow
339
- sub edx, 00010000h
340
- js LeaveNow
341
-
342
-LoopEntry2:
343
- cmp bx,word ptr [rsi + r8 - 1]
344
- jz LookupLoopIsZero
345
-
346
-LookupLoop4:
347
- and r8d, edx
348
-
349
- movzx r8d, word ptr [rdi + r8*2]
350
- cmp r8d, ebp
351
- jbe LeaveNow
352
- sub edx, 00010000h
353
- js LeaveNow
354
-
355
-LoopEntry4:
356
-
357
- cmp bx,word ptr [rsi + r8 - 1]
358
- jnz LookupLoop1
359
- jmp LookupLoopIsZero
360
-
361
-
362
-;;; do {
363
-;;; match = s->window + cur_match;
364
-;;; if (*(ushf*)(match+best_len-1) != scan_end ||
365
-;;; *(ushf*)match != scan_start) continue;
366
-;;; [...]
367
-;;; } while ((cur_match = prev[cur_match & wmask]) > limit
368
-;;; && --chain_length != 0);
369
-;;;
370
-;;; Here is the inner loop of the function. The function will spend the
371
-;;; majority of its time in this loop, and majority of that time will
372
-;;; be spent in the first ten instructions.
373
-;;;
374
-;;; Within this loop:
375
-;;; ebx = scanend
376
-;;; r8d = curmatch
377
-;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
378
-;;; esi = windowbestlen - i.e., (window + bestlen)
379
-;;; edi = prev
380
-;;; ebp = limit
381
-
382
-LookupLoop:
383
- and r8d, edx
384
-
385
- movzx r8d, word ptr [rdi + r8*2]
386
- cmp r8d, ebp
387
- jbe LeaveNow
388
- sub edx, 00010000h
389
- js LeaveNow
390
-
391
-LoopEntry:
392
-
393
- cmp bx,word ptr [rsi + r8 - 1]
394
- jnz LookupLoop1
395
-LookupLoopIsZero:
396
- cmp r12w, word ptr [r10 + r8]
397
- jnz LookupLoop1
398
-
399
-
400
-;;; Store the current value of chainlen.
401
- mov [chainlenwmask], edx
402
-
403
-;;; Point edi to the string under scrutiny, and esi to the string we
404
-;;; are hoping to match it up with. In actuality, esi and edi are
405
-;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is
406
-;;; initialized to -(MAX_MATCH_8 - scanalign).
407
-
408
- lea rsi,[r8+r10]
409
- mov rdx, 0fffffffffffffef8h; -(MAX_MATCH_8)
410
- lea rsi, [rsi + r13 + 0108h] ;MAX_MATCH_8]
411
- lea rdi, [r9 + r13 + 0108h] ;MAX_MATCH_8]
412
-
413
- prefetcht1 [rsi+rdx]
414
- prefetcht1 [rdi+rdx]
415
-
416
-
417
-;;; Test the strings for equality, 8 bytes at a time. At the end,
418
-;;; adjust rdx so that it is offset to the exact byte that mismatched.
419
-;;;
420
-;;; We already know at this point that the first three bytes of the
421
-;;; strings match each other, and they can be safely passed over before
422
-;;; starting the compare loop. So what this code does is skip over 0-3
423
-;;; bytes, as much as necessary in order to dword-align the edi
424
-;;; pointer. (rsi will still be misaligned three times out of four.)
425
-;;;
426
-;;; It should be confessed that this loop usually does not represent
427
-;;; much of the total running time. Replacing it with a more
428
-;;; straightforward "rep cmpsb" would not drastically degrade
429
-;;; performance.
430
-
431
-
432
-LoopCmps:
433
- mov rax, [rsi + rdx]
434
- xor rax, [rdi + rdx]
435
- jnz LeaveLoopCmps
436
-
437
- mov rax, [rsi + rdx + 8]
438
- xor rax, [rdi + rdx + 8]
439
- jnz LeaveLoopCmps8
440
-
441
-
442
- mov rax, [rsi + rdx + 8+8]
443
- xor rax, [rdi + rdx + 8+8]
444
- jnz LeaveLoopCmps16
445
-
446
- add rdx,8+8+8
447
-
448
- jnz short LoopCmps
449
- jmp short LenMaximum
450
-LeaveLoopCmps16: add rdx,8
451
-LeaveLoopCmps8: add rdx,8
452
-LeaveLoopCmps:
453
-
454
- test eax, 0000FFFFh
455
- jnz LenLower
456
-
457
- test eax,0ffffffffh
458
-
459
- jnz LenLower32
460
-
461
- add rdx,4
462
- shr rax,32
463
- or ax,ax
464
- jnz LenLower
465
-
466
-LenLower32:
467
- shr eax,16
468
- add rdx,2
469
-LenLower: sub al, 1
470
- adc rdx, 0
471
-;;; Calculate the length of the match. If it is longer than MAX_MATCH,
472
-;;; then automatically accept it as the best possible match and leave.
473
-
474
- lea rax, [rdi + rdx]
475
- sub rax, r9
476
- cmp eax, MAX_MATCH
477
- jge LenMaximum
478
-
479
-;;; If the length of the match is not longer than the best match we
480
-;;; have so far, then forget it and return to the lookup loop.
481
-;///////////////////////////////////
482
-
483
- cmp eax, r11d
484
- jg LongerMatch
485
-
486
- lea rsi,[r10+r11]
487
-
488
- mov rdi, prev_ad
489
- mov edx, [chainlenwmask]
490
- jmp LookupLoop
491
-
492
-;;; s->match_start = cur_match;
493
-;;; best_len = len;
494
-;;; if (len >= nice_match) break;
495
-;;; scan_end = *(ushf*)(scan+best_len-1);
496
-
497
-LongerMatch:
498
- mov r11d, eax
499
- mov match_start, r8d
500
- cmp eax, [nicematch]
501
- jge LeaveNow
502
-
503
- lea rsi,[r10+rax]
504
-
505
- movzx ebx, word ptr [r9 + rax - 1]
506
- mov rdi, prev_ad
507
- mov edx, [chainlenwmask]
508
- jmp LookupLoop
509
-
510
-;;; Accept the current string, with the maximum possible length.
511
-
512
-LenMaximum:
513
- mov r11d,MAX_MATCH
514
- mov match_start, r8d
515
-
516
-;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
517
-;;; return s->lookahead;
518
-
519
-LeaveNow:
520
-IFDEF INFOZIP
521
- mov eax,r11d
522
-ELSE
523
- mov eax, Lookahead
524
- cmp r11d, eax
525
- cmovng eax, r11d
526
-ENDIF
527
-
528
-;;; Restore the stack and return from whence we came.
529
-
530
-
531
- mov rsi,[save_rsi]
532
- mov rdi,[save_rdi]
533
- mov rbx,[save_rbx]
534
- mov rbp,[save_rbp]
535
- mov r12,[save_r12]
536
- mov r13,[save_r13]
537
-; mov r14,[save_r14]
538
-; mov r15,[save_r15]
539
-
540
-
541
- ret 0
542
-; please don't remove this string !
543
-; Your can freely use gvmat64 in any free or commercial app
544
-; but it is far better don't remove the string in the binary!
545
- db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0
546
-longest_match ENDP
547
-
548
-match_init PROC
549
- ret 0
550
-match_init ENDP
551
-
552
-
553
-END
--- a/compat/zlib/contrib/masmx64/gvmat64.asm
+++ b/compat/zlib/contrib/masmx64/gvmat64.asm
@@ -1,553 +0,0 @@
1 ;uInt longest_match_x64(
2 ; deflate_state *s,
3 ; IPos cur_match); /* current match */
4
5 ; gvmat64.asm -- Asm portion of the optimized longest_match for 32 bits x86_64
6 ; (AMD64 on Athlon 64, Opteron, Phenom
7 ; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7)
8 ; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
9 ;
10 ; File written by Gilles Vollant, by converting to assembly the longest_match
11 ; from Jean-loup Gailly in deflate.c of zLib and infoZip zip.
12 ;
13 ; and by taking inspiration on asm686 with masm, optimised assembly code
14 ; from Brian Raiter, written 1998
15 ;
16 ; This software is provided 'as-is', without any express or implied
17 ; warranty. In no event will the authors be held liable for any damages
18 ; arising from the use of this software.
19 ;
20 ; Permission is granted to anyone to use this software for any purpose,
21 ; including commercial applications, and to alter it and redistribute it
22 ; freely, subject to the following restrictions:
23 ;
24 ; 1. The origin of this software must not be misrepresented; you must not
25 ; claim that you wrote the original software. If you use this software
26 ; in a product, an acknowledgment in the product documentation would be
27 ; appreciated but is not required.
28 ; 2. Altered source versions must be plainly marked as such, and must not be
29 ; misrepresented as being the original software
30 ; 3. This notice may not be removed or altered from any source distribution.
31 ;
32 ;
33 ;
34 ; http://www.zlib.net
35 ; http://www.winimage.com/zLibDll
36 ; http://www.muppetlabs.com/~breadbox/software/assembly.html
37 ;
38 ; to compile this file for infozip Zip, I use option:
39 ; ml64.exe /Flgvmat64 /c /Zi /DINFOZIP gvmat64.asm
40 ;
41 ; to compile this file for zLib, I use option:
42 ; ml64.exe /Flgvmat64 /c /Zi gvmat64.asm
43 ; Be carrefull to adapt zlib1222add below to your version of zLib
44 ; (if you use a version of zLib before 1.0.4 or after 1.2.2.2, change
45 ; value of zlib1222add later)
46 ;
47 ; This file compile with Microsoft Macro Assembler (x64) for AMD64
48 ;
49 ; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK
50 ;
51 ; (you can get Windows WDK with ml64 for AMD64 from
52 ; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price)
53 ;
54
55
56 ;uInt longest_match(s, cur_match)
57 ; deflate_state *s;
58 ; IPos cur_match; /* current match */
59 .code
60 longest_match PROC
61
62
63 ;LocalVarsSize equ 88
64 LocalVarsSize equ 72
65
66 ; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12
67 ; free register : r14,r15
68 ; register can be saved : rsp
69
70 chainlenwmask equ rsp + 8 - LocalVarsSize ; high word: current chain len
71 ; low word: s->wmask
72 ;window equ rsp + xx - LocalVarsSize ; local copy of s->window ; stored in r10
73 ;windowbestlen equ rsp + xx - LocalVarsSize ; s->window + bestlen , use r10+r11
74 ;scanstart equ rsp + xx - LocalVarsSize ; first two bytes of string ; stored in r12w
75 ;scanend equ rsp + xx - LocalVarsSize ; last two bytes of string use ebx
76 ;scanalign equ rsp + xx - LocalVarsSize ; dword-misalignment of string r13
77 ;bestlen equ rsp + xx - LocalVarsSize ; size of best match so far -> r11d
78 ;scan equ rsp + xx - LocalVarsSize ; ptr to string wanting match -> r9
79 IFDEF INFOZIP
80 ELSE
81 nicematch equ (rsp + 16 - LocalVarsSize) ; a good enough match size
82 ENDIF
83
84 save_rdi equ rsp + 24 - LocalVarsSize
85 save_rsi equ rsp + 32 - LocalVarsSize
86 save_rbx equ rsp + 40 - LocalVarsSize
87 save_rbp equ rsp + 48 - LocalVarsSize
88 save_r12 equ rsp + 56 - LocalVarsSize
89 save_r13 equ rsp + 64 - LocalVarsSize
90 ;save_r14 equ rsp + 72 - LocalVarsSize
91 ;save_r15 equ rsp + 80 - LocalVarsSize
92
93
94 ; summary of register usage
95 ; scanend ebx
96 ; scanendw bx
97 ; chainlenwmask edx
98 ; curmatch rsi
99 ; curmatchd esi
100 ; windowbestlen r8
101 ; scanalign r9
102 ; scanalignd r9d
103 ; window r10
104 ; bestlen r11
105 ; bestlend r11d
106 ; scanstart r12d
107 ; scanstartw r12w
108 ; scan r13
109 ; nicematch r14d
110 ; limit r15
111 ; limitd r15d
112 ; prev rcx
113
114 ; all the +4 offsets are due to the addition of pending_buf_size (in zlib
115 ; in the deflate_state structure since the asm code was first written
116 ; (if you compile with zlib 1.0.4 or older, remove the +4).
117 ; Note : these value are good with a 8 bytes boundary pack structure
118
119
120 MAX_MATCH equ 258
121 MIN_MATCH equ 3
122 MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
123
124
125 ;;; Offsets for fields in the deflate_state structure. These numbers
126 ;;; are calculated from the definition of deflate_state, with the
127 ;;; assumption that the compiler will dword-align the fields. (Thus,
128 ;;; changing the definition of deflate_state could easily cause this
129 ;;; program to crash horribly, without so much as a warning at
130 ;;; compile time. Sigh.)
131
132 ; all the +zlib1222add offsets are due to the addition of fields
133 ; in zlib in the deflate_state structure since the asm code was first written
134 ; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
135 ; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
136 ; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
137
138
139 IFDEF INFOZIP
140
141 _DATA SEGMENT
142 COMM window_size:DWORD
143 ; WMask ; 7fff
144 COMM window:BYTE:010040H
145 COMM prev:WORD:08000H
146 ; MatchLen : unused
147 ; PrevMatch : unused
148 COMM strstart:DWORD
149 COMM match_start:DWORD
150 ; Lookahead : ignore
151 COMM prev_length:DWORD ; PrevLen
152 COMM max_chain_length:DWORD
153 COMM good_match:DWORD
154 COMM nice_match:DWORD
155 prev_ad equ OFFSET prev
156 window_ad equ OFFSET window
157 nicematch equ nice_match
158 _DATA ENDS
159 WMask equ 07fffh
160
161 ELSE
162
163 IFNDEF zlib1222add
164 zlib1222add equ 8
165 ENDIF
166 dsWSize equ 56+zlib1222add+(zlib1222add/2)
167 dsWMask equ 64+zlib1222add+(zlib1222add/2)
168 dsWindow equ 72+zlib1222add
169 dsPrev equ 88+zlib1222add
170 dsMatchLen equ 128+zlib1222add
171 dsPrevMatch equ 132+zlib1222add
172 dsStrStart equ 140+zlib1222add
173 dsMatchStart equ 144+zlib1222add
174 dsLookahead equ 148+zlib1222add
175 dsPrevLen equ 152+zlib1222add
176 dsMaxChainLen equ 156+zlib1222add
177 dsGoodMatch equ 172+zlib1222add
178 dsNiceMatch equ 176+zlib1222add
179
180 window_size equ [ rcx + dsWSize]
181 WMask equ [ rcx + dsWMask]
182 window_ad equ [ rcx + dsWindow]
183 prev_ad equ [ rcx + dsPrev]
184 strstart equ [ rcx + dsStrStart]
185 match_start equ [ rcx + dsMatchStart]
186 Lookahead equ [ rcx + dsLookahead] ; 0ffffffffh on infozip
187 prev_length equ [ rcx + dsPrevLen]
188 max_chain_length equ [ rcx + dsMaxChainLen]
189 good_match equ [ rcx + dsGoodMatch]
190 nice_match equ [ rcx + dsNiceMatch]
191 ENDIF
192
193 ; parameter 1 in r8(deflate state s), param 2 in rdx (cur match)
194
195 ; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and
196 ; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
197 ;
198 ; All registers must be preserved across the call, except for
199 ; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch.
200
201
202
203 ;;; Save registers that the compiler may be using, and adjust esp to
204 ;;; make room for our stack frame.
205
206
207 ;;; Retrieve the function arguments. r8d will hold cur_match
208 ;;; throughout the entire function. edx will hold the pointer to the
209 ;;; deflate_state structure during the function's setup (before
210 ;;; entering the main loop.
211
212 ; parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match)
213
214 ; this clear high 32 bits of r8, which can be garbage in both r8 and rdx
215
216 mov [save_rdi],rdi
217 mov [save_rsi],rsi
218 mov [save_rbx],rbx
219 mov [save_rbp],rbp
220 IFDEF INFOZIP
221 mov r8d,ecx
222 ELSE
223 mov r8d,edx
224 ENDIF
225 mov [save_r12],r12
226 mov [save_r13],r13
227 ; mov [save_r14],r14
228 ; mov [save_r15],r15
229
230
231 ;;; uInt wmask = s->w_mask;
232 ;;; unsigned chain_length = s->max_chain_length;
233 ;;; if (s->prev_length >= s->good_match) {
234 ;;; chain_length >>= 2;
235 ;;; }
236
237 mov edi, prev_length
238 mov esi, good_match
239 mov eax, WMask
240 mov ebx, max_chain_length
241 cmp edi, esi
242 jl LastMatchGood
243 shr ebx, 2
244 LastMatchGood:
245
246 ;;; chainlen is decremented once beforehand so that the function can
247 ;;; use the sign flag instead of the zero flag for the exit test.
248 ;;; It is then shifted into the high word, to make room for the wmask
249 ;;; value, which it will always accompany.
250
251 dec ebx
252 shl ebx, 16
253 or ebx, eax
254
255 ;;; on zlib only
256 ;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
257
258 IFDEF INFOZIP
259 mov [chainlenwmask], ebx
260 ; on infozip nice_match = [nice_match]
261 ELSE
262 mov eax, nice_match
263 mov [chainlenwmask], ebx
264 mov r10d, Lookahead
265 cmp r10d, eax
266 cmovnl r10d, eax
267 mov [nicematch],r10d
268 ENDIF
269
270 ;;; register Bytef *scan = s->window + s->strstart;
271 mov r10, window_ad
272 mov ebp, strstart
273 lea r13, [r10 + rbp]
274
275 ;;; Determine how many bytes the scan ptr is off from being
276 ;;; dword-aligned.
277
278 mov r9,r13
279 neg r13
280 and r13,3
281
282 ;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
283 ;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
284 IFDEF INFOZIP
285 mov eax,07efah ; MAX_DIST = (WSIZE-MIN_LOOKAHEAD) (0x8000-(3+8+1))
286 ELSE
287 mov eax, window_size
288 sub eax, MIN_LOOKAHEAD
289 ENDIF
290 xor edi,edi
291 sub ebp, eax
292
293 mov r11d, prev_length
294
295 cmovng ebp,edi
296
297 ;;; int best_len = s->prev_length;
298
299
300 ;;; Store the sum of s->window + best_len in esi locally, and in esi.
301
302 lea rsi,[r10+r11]
303
304 ;;; register ush scan_start = *(ushf*)scan;
305 ;;; register ush scan_end = *(ushf*)(scan+best_len-1);
306 ;;; Posf *prev = s->prev;
307
308 movzx r12d,word ptr [r9]
309 movzx ebx, word ptr [r9 + r11 - 1]
310
311 mov rdi, prev_ad
312
313 ;;; Jump into the main loop.
314
315 mov edx, [chainlenwmask]
316
317 cmp bx,word ptr [rsi + r8 - 1]
318 jz LookupLoopIsZero
319
320 LookupLoop1:
321 and r8d, edx
322
323 movzx r8d, word ptr [rdi + r8*2]
324 cmp r8d, ebp
325 jbe LeaveNow
326 sub edx, 00010000h
327 js LeaveNow
328
329 LoopEntry1:
330 cmp bx,word ptr [rsi + r8 - 1]
331 jz LookupLoopIsZero
332
333 LookupLoop2:
334 and r8d, edx
335
336 movzx r8d, word ptr [rdi + r8*2]
337 cmp r8d, ebp
338 jbe LeaveNow
339 sub edx, 00010000h
340 js LeaveNow
341
342 LoopEntry2:
343 cmp bx,word ptr [rsi + r8 - 1]
344 jz LookupLoopIsZero
345
346 LookupLoop4:
347 and r8d, edx
348
349 movzx r8d, word ptr [rdi + r8*2]
350 cmp r8d, ebp
351 jbe LeaveNow
352 sub edx, 00010000h
353 js LeaveNow
354
355 LoopEntry4:
356
357 cmp bx,word ptr [rsi + r8 - 1]
358 jnz LookupLoop1
359 jmp LookupLoopIsZero
360
361
362 ;;; do {
363 ;;; match = s->window + cur_match;
364 ;;; if (*(ushf*)(match+best_len-1) != scan_end ||
365 ;;; *(ushf*)match != scan_start) continue;
366 ;;; [...]
367 ;;; } while ((cur_match = prev[cur_match & wmask]) > limit
368 ;;; && --chain_length != 0);
369 ;;;
370 ;;; Here is the inner loop of the function. The function will spend the
371 ;;; majority of its time in this loop, and majority of that time will
372 ;;; be spent in the first ten instructions.
373 ;;;
374 ;;; Within this loop:
375 ;;; ebx = scanend
376 ;;; r8d = curmatch
377 ;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
378 ;;; esi = windowbestlen - i.e., (window + bestlen)
379 ;;; edi = prev
380 ;;; ebp = limit
381
382 LookupLoop:
383 and r8d, edx
384
385 movzx r8d, word ptr [rdi + r8*2]
386 cmp r8d, ebp
387 jbe LeaveNow
388 sub edx, 00010000h
389 js LeaveNow
390
391 LoopEntry:
392
393 cmp bx,word ptr [rsi + r8 - 1]
394 jnz LookupLoop1
395 LookupLoopIsZero:
396 cmp r12w, word ptr [r10 + r8]
397 jnz LookupLoop1
398
399
400 ;;; Store the current value of chainlen.
401 mov [chainlenwmask], edx
402
403 ;;; Point edi to the string under scrutiny, and esi to the string we
404 ;;; are hoping to match it up with. In actuality, esi and edi are
405 ;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is
406 ;;; initialized to -(MAX_MATCH_8 - scanalign).
407
408 lea rsi,[r8+r10]
409 mov rdx, 0fffffffffffffef8h; -(MAX_MATCH_8)
410 lea rsi, [rsi + r13 + 0108h] ;MAX_MATCH_8]
411 lea rdi, [r9 + r13 + 0108h] ;MAX_MATCH_8]
412
413 prefetcht1 [rsi+rdx]
414 prefetcht1 [rdi+rdx]
415
416
417 ;;; Test the strings for equality, 8 bytes at a time. At the end,
418 ;;; adjust rdx so that it is offset to the exact byte that mismatched.
419 ;;;
420 ;;; We already know at this point that the first three bytes of the
421 ;;; strings match each other, and they can be safely passed over before
422 ;;; starting the compare loop. So what this code does is skip over 0-3
423 ;;; bytes, as much as necessary in order to dword-align the edi
424 ;;; pointer. (rsi will still be misaligned three times out of four.)
425 ;;;
426 ;;; It should be confessed that this loop usually does not represent
427 ;;; much of the total running time. Replacing it with a more
428 ;;; straightforward "rep cmpsb" would not drastically degrade
429 ;;; performance.
430
431
432 LoopCmps:
433 mov rax, [rsi + rdx]
434 xor rax, [rdi + rdx]
435 jnz LeaveLoopCmps
436
437 mov rax, [rsi + rdx + 8]
438 xor rax, [rdi + rdx + 8]
439 jnz LeaveLoopCmps8
440
441
442 mov rax, [rsi + rdx + 8+8]
443 xor rax, [rdi + rdx + 8+8]
444 jnz LeaveLoopCmps16
445
446 add rdx,8+8+8
447
448 jnz short LoopCmps
449 jmp short LenMaximum
450 LeaveLoopCmps16: add rdx,8
451 LeaveLoopCmps8: add rdx,8
452 LeaveLoopCmps:
453
454 test eax, 0000FFFFh
455 jnz LenLower
456
457 test eax,0ffffffffh
458
459 jnz LenLower32
460
461 add rdx,4
462 shr rax,32
463 or ax,ax
464 jnz LenLower
465
466 LenLower32:
467 shr eax,16
468 add rdx,2
469 LenLower: sub al, 1
470 adc rdx, 0
471 ;;; Calculate the length of the match. If it is longer than MAX_MATCH,
472 ;;; then automatically accept it as the best possible match and leave.
473
474 lea rax, [rdi + rdx]
475 sub rax, r9
476 cmp eax, MAX_MATCH
477 jge LenMaximum
478
479 ;;; If the length of the match is not longer than the best match we
480 ;;; have so far, then forget it and return to the lookup loop.
481 ;///////////////////////////////////
482
483 cmp eax, r11d
484 jg LongerMatch
485
486 lea rsi,[r10+r11]
487
488 mov rdi, prev_ad
489 mov edx, [chainlenwmask]
490 jmp LookupLoop
491
492 ;;; s->match_start = cur_match;
493 ;;; best_len = len;
494 ;;; if (len >= nice_match) break;
495 ;;; scan_end = *(ushf*)(scan+best_len-1);
496
497 LongerMatch:
498 mov r11d, eax
499 mov match_start, r8d
500 cmp eax, [nicematch]
501 jge LeaveNow
502
503 lea rsi,[r10+rax]
504
505 movzx ebx, word ptr [r9 + rax - 1]
506 mov rdi, prev_ad
507 mov edx, [chainlenwmask]
508 jmp LookupLoop
509
510 ;;; Accept the current string, with the maximum possible length.
511
512 LenMaximum:
513 mov r11d,MAX_MATCH
514 mov match_start, r8d
515
516 ;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
517 ;;; return s->lookahead;
518
519 LeaveNow:
520 IFDEF INFOZIP
521 mov eax,r11d
522 ELSE
523 mov eax, Lookahead
524 cmp r11d, eax
525 cmovng eax, r11d
526 ENDIF
527
528 ;;; Restore the stack and return from whence we came.
529
530
531 mov rsi,[save_rsi]
532 mov rdi,[save_rdi]
533 mov rbx,[save_rbx]
534 mov rbp,[save_rbp]
535 mov r12,[save_r12]
536 mov r13,[save_r13]
537 ; mov r14,[save_r14]
538 ; mov r15,[save_r15]
539
540
541 ret 0
542 ; please don't remove this string !
543 ; Your can freely use gvmat64 in any free or commercial app
544 ; but it is far better don't remove the string in the binary!
545 db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0
546 longest_match ENDP
547
548 match_init PROC
549 ret 0
550 match_init ENDP
551
552
553 END
--- a/compat/zlib/contrib/masmx64/gvmat64.asm
+++ b/compat/zlib/contrib/masmx64/gvmat64.asm
@@ -1,553 +0,0 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
D compat/zlib/contrib/masmx64/inffas8664.c
-186
--- a/compat/zlib/contrib/masmx64/inffas8664.c
+++ b/compat/zlib/contrib/masmx64/inffas8664.c
@@ -1,186 +0,0 @@
1
-/* inffas8664.c is a hand tuned assembler version of inffast.c - fast decoding
2
- * version for AMD64 on Windows using Microsoft C compiler
3
- *
4
- * Copyright (C) 1995-2003 Mark Adler
5
- * For conditions of distribution and use, see copyright notice in zlib.h
6
- *
7
- * Copyright (C) 2003 Chris Anderson <[email protected]>
8
- * Please use the copyright conditions above.
9
- *
10
- * 2005 - Adaptation to Microsoft C Compiler for AMD64 by Gilles Vollant
11
- *
12
- * inffas8664.c call function inffas8664fnc in inffasx64.asm
13
- * inffasx64.asm is automatically convert from AMD64 portion of inffas86.c
14
- *
15
- * Dec-29-2003 -- I added AMD64 inflate asm support. This version is also
16
- * slightly quicker on x86 systems because, instead of using rep movsb to copy
17
- * data, it uses rep movsw, which moves data in 2-byte chunks instead of single
18
- * bytes. I've tested the AMD64 code on a Fedora Core 1 + the x86_64 updates
19
- * from http://fedora.linux.duke.edu/fc1_x86_64
20
- * which is running on an Athlon 64 3000+ / Gigabyte GA-K8VT800M system with
21
- * 1GB ram. The 64-bit version is about 4% faster than the 32-bit version,
22
- * when decompressing mozilla-source-1.3.tar.gz.
23
- *
24
- * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from
25
- * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at
26
- * the moment. I have successfully compiled and tested this code with gcc2.96,
27
- * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S
28
- * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX
29
- * enabled. I will attempt to merge the MMX code into this version. Newer
30
- * versions of this and inffast.S can be found at
31
- * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/
32
- *
33
- */
34
-
35
-#include <stdio.h>
36
-#include "zutil.h"
37
-#include "inftrees.h"
38
-#include "inflate.h"
39
-#include "inffast.h"
40
-
41
-/* Mark Adler's comments from inffast.c: */
42
-
43
-/*
44
- Decode literal, length, and distance codes and write out the resulting
45
- literal and match bytes until either not enough input or output is
46
- available, an end-of-block is encountered, or a data error is encountered.
47
- When large enough input and output buffers are supplied to inflate(), for
48
- example, a 16K input buffer and a 64K output buffer, more than 95% of the
49
- inflate execution time is spent in this routine.
50
-
51
- Entry assumptions:
52
-
53
- state->mode == LEN
54
- strm->avail_in >= 6
55
- strm->avail_out >= 258
56
- start >= strm->avail_out
57
- state->bits < 8
58
-
59
- On return, state->mode is one of:
60
-
61
- LEN -- ran out of enough output space or enough available input
62
- TYPE -- reached end of block code, inflate() to interpret next block
63
- BAD -- error in block data
64
-
65
- Notes:
66
-
67
- - The maximum input bits used by a length/distance pair is 15 bits for the
68
- length code, 5 bits for the length extra, 15 bits for the distance code,
69
- and 13 bits for the distance extra. This totals 48 bits, or six bytes.
70
- Therefore if strm->avail_in >= 6, then there is enough input to avoid
71
- checking for available input while decoding.
72
-
73
- - The maximum bytes that a single length/distance pair can output is 258
74
- bytes, which is the maximum length that can be coded. inflate_fast()
75
- requires strm->avail_out >= 258 for each loop to avoid checking for
76
- output space.
77
- */
78
-
79
-
80
-
81
- typedef struct inffast_ar {
82
-/* 64 32 x86 x86_64 */
83
-/* ar offset register */
84
-/* 0 0 */ void *esp; /* esp save */
85
-/* 8 4 */ void *ebp; /* ebp save */
86
-/* 16 8 */ unsigned char FAR *in; /* esi rsi local strm->next_in */
87
-/* 24 12 */ unsigned char FAR *last; /* r9 while in < last */
88
-/* 32 16 */ unsigned char FAR *out; /* edi rdi local strm->next_out */
89
-/* 40 20 */ unsigned char FAR *beg; /* inflate()'s init next_out */
90
-/* 48 24 */ unsigned char FAR *end; /* r10 while out < end */
91
-/* 56 28 */ unsigned char FAR *window;/* size of window, wsize!=0 */
92
-/* 64 32 */ code const FAR *lcode; /* ebp rbp local strm->lencode */
93
-/* 72 36 */ code const FAR *dcode; /* r11 local strm->distcode */
94
-/* 80 40 */ size_t /*unsigned long */hold; /* edx rdx local strm->hold */
95
-/* 88 44 */ unsigned bits; /* ebx rbx local strm->bits */
96
-/* 92 48 */ unsigned wsize; /* window size */
97
-/* 96 52 */ unsigned write; /* window write index */
98
-/*100 56 */ unsigned lmask; /* r12 mask for lcode */
99
-/*104 60 */ unsigned dmask; /* r13 mask for dcode */
100
-/*108 64 */ unsigned len; /* r14 match length */
101
-/*112 68 */ unsigned dist; /* r15 match distance */
102
-/*116 72 */ unsigned status; /* set when state chng*/
103
- } type_ar;
104
-#ifdef ASMINF
105
-
106
-void inflate_fast(strm, start)
107
-z_streamp strm;
108
-unsigned start; /* inflate()'s starting value for strm->avail_out */
109
-{
110
- struct inflate_state FAR *state;
111
- type_ar ar;
112
- void inffas8664fnc(struct inffast_ar * par);
113
-
114
-
115
-
116
-#if (defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )) || (defined(_MSC_VER) && defined(_M_AMD64))
117
-#define PAD_AVAIL_IN 6
118
-#define PAD_AVAIL_OUT 258
119
-#else
120
-#define PAD_AVAIL_IN 5
121
-#define PAD_AVAIL_OUT 257
122
-#endif
123
-
124
- /* copy state to local variables */
125
- state = (struct inflate_state FAR *)strm->state;
126
-
127
- ar.in = strm->next_in;
128
- ar.last = ar.in + (strm->avail_in - PAD_AVAIL_IN);
129
- ar.out = strm->next_out;
130
- ar.beg = ar.out - (start - strm->avail_out);
131
- ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT);
132
- ar.wsize = state->wsize;
133
- ar.write = state->wnext;
134
- ar.window = state->window;
135
- ar.hold = state->hold;
136
- ar.bits = state->bits;
137
- ar.lcode = state->lencode;
138
- ar.dcode = state->distcode;
139
- ar.lmask = (1U << state->lenbits) - 1;
140
- ar.dmask = (1U << state->distbits) - 1;
141
-
142
- /* decode literals and length/distances until end-of-block or not enough
143
- input data or output space */
144
-
145
- /* align in on 1/2 hold size boundary */
146
- while (((size_t)(void *)ar.in & (sizeof(ar.hold) / 2 - 1)) != 0) {
147
- ar.hold += (unsigned long)*ar.in++ << ar.bits;
148
- ar.bits += 8;
149
- }
150
-
151
- inffas8664fnc(&ar);
152
-
153
- if (ar.status > 1) {
154
- if (ar.status == 2)
155
- strm->msg = "invalid literal/length code";
156
- else if (ar.status == 3)
157
- strm->msg = "invalid distance code";
158
- else
159
- strm->msg = "invalid distance too far back";
160
- state->mode = BAD;
161
- }
162
- else if ( ar.status == 1 ) {
163
- state->mode = TYPE;
164
- }
165
-
166
- /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
167
- ar.len = ar.bits >> 3;
168
- ar.in -= ar.len;
169
- ar.bits -= ar.len << 3;
170
- ar.hold &= (1U << ar.bits) - 1;
171
-
172
- /* update state and return */
173
- strm->next_in = ar.in;
174
- strm->next_out = ar.out;
175
- strm->avail_in = (unsigned)(ar.in < ar.last ?
176
- PAD_AVAIL_IN + (ar.last - ar.in) :
177
- PAD_AVAIL_IN - (ar.in - ar.last));
178
- strm->avail_out = (unsigned)(ar.out < ar.end ?
179
- PAD_AVAIL_OUT + (ar.end - ar.out) :
180
- PAD_AVAIL_OUT - (ar.out - ar.end));
181
- state->hold = (unsigned long)ar.hold;
182
- state->bits = ar.bits;
183
- return;
184
-}
185
-
186
-#endif
--- a/compat/zlib/contrib/masmx64/inffas8664.c
+++ b/compat/zlib/contrib/masmx64/inffas8664.c
@@ -1,186 +0,0 @@
1 /* inffas8664.c is a hand tuned assembler version of inffast.c - fast decoding
2 * version for AMD64 on Windows using Microsoft C compiler
3 *
4 * Copyright (C) 1995-2003 Mark Adler
5 * For conditions of distribution and use, see copyright notice in zlib.h
6 *
7 * Copyright (C) 2003 Chris Anderson <[email protected]>
8 * Please use the copyright conditions above.
9 *
10 * 2005 - Adaptation to Microsoft C Compiler for AMD64 by Gilles Vollant
11 *
12 * inffas8664.c call function inffas8664fnc in inffasx64.asm
13 * inffasx64.asm is automatically convert from AMD64 portion of inffas86.c
14 *
15 * Dec-29-2003 -- I added AMD64 inflate asm support. This version is also
16 * slightly quicker on x86 systems because, instead of using rep movsb to copy
17 * data, it uses rep movsw, which moves data in 2-byte chunks instead of single
18 * bytes. I've tested the AMD64 code on a Fedora Core 1 + the x86_64 updates
19 * from http://fedora.linux.duke.edu/fc1_x86_64
20 * which is running on an Athlon 64 3000+ / Gigabyte GA-K8VT800M system with
21 * 1GB ram. The 64-bit version is about 4% faster than the 32-bit version,
22 * when decompressing mozilla-source-1.3.tar.gz.
23 *
24 * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from
25 * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at
26 * the moment. I have successfully compiled and tested this code with gcc2.96,
27 * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S
28 * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX
29 * enabled. I will attempt to merge the MMX code into this version. Newer
30 * versions of this and inffast.S can be found at
31 * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/
32 *
33 */
34
35 #include <stdio.h>
36 #include "zutil.h"
37 #include "inftrees.h"
38 #include "inflate.h"
39 #include "inffast.h"
40
41 /* Mark Adler's comments from inffast.c: */
42
43 /*
44 Decode literal, length, and distance codes and write out the resulting
45 literal and match bytes until either not enough input or output is
46 available, an end-of-block is encountered, or a data error is encountered.
47 When large enough input and output buffers are supplied to inflate(), for
48 example, a 16K input buffer and a 64K output buffer, more than 95% of the
49 inflate execution time is spent in this routine.
50
51 Entry assumptions:
52
53 state->mode == LEN
54 strm->avail_in >= 6
55 strm->avail_out >= 258
56 start >= strm->avail_out
57 state->bits < 8
58
59 On return, state->mode is one of:
60
61 LEN -- ran out of enough output space or enough available input
62 TYPE -- reached end of block code, inflate() to interpret next block
63 BAD -- error in block data
64
65 Notes:
66
67 - The maximum input bits used by a length/distance pair is 15 bits for the
68 length code, 5 bits for the length extra, 15 bits for the distance code,
69 and 13 bits for the distance extra. This totals 48 bits, or six bytes.
70 Therefore if strm->avail_in >= 6, then there is enough input to avoid
71 checking for available input while decoding.
72
73 - The maximum bytes that a single length/distance pair can output is 258
74 bytes, which is the maximum length that can be coded. inflate_fast()
75 requires strm->avail_out >= 258 for each loop to avoid checking for
76 output space.
77 */
78
79
80
81 typedef struct inffast_ar {
82 /* 64 32 x86 x86_64 */
83 /* ar offset register */
84 /* 0 0 */ void *esp; /* esp save */
85 /* 8 4 */ void *ebp; /* ebp save */
86 /* 16 8 */ unsigned char FAR *in; /* esi rsi local strm->next_in */
87 /* 24 12 */ unsigned char FAR *last; /* r9 while in < last */
88 /* 32 16 */ unsigned char FAR *out; /* edi rdi local strm->next_out */
89 /* 40 20 */ unsigned char FAR *beg; /* inflate()'s init next_out */
90 /* 48 24 */ unsigned char FAR *end; /* r10 while out < end */
91 /* 56 28 */ unsigned char FAR *window;/* size of window, wsize!=0 */
92 /* 64 32 */ code const FAR *lcode; /* ebp rbp local strm->lencode */
93 /* 72 36 */ code const FAR *dcode; /* r11 local strm->distcode */
94 /* 80 40 */ size_t /*unsigned long */hold; /* edx rdx local strm->hold */
95 /* 88 44 */ unsigned bits; /* ebx rbx local strm->bits */
96 /* 92 48 */ unsigned wsize; /* window size */
97 /* 96 52 */ unsigned write; /* window write index */
98 /*100 56 */ unsigned lmask; /* r12 mask for lcode */
99 /*104 60 */ unsigned dmask; /* r13 mask for dcode */
100 /*108 64 */ unsigned len; /* r14 match length */
101 /*112 68 */ unsigned dist; /* r15 match distance */
102 /*116 72 */ unsigned status; /* set when state chng*/
103 } type_ar;
104 #ifdef ASMINF
105
106 void inflate_fast(strm, start)
107 z_streamp strm;
108 unsigned start; /* inflate()'s starting value for strm->avail_out */
109 {
110 struct inflate_state FAR *state;
111 type_ar ar;
112 void inffas8664fnc(struct inffast_ar * par);
113
114
115
116 #if (defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )) || (defined(_MSC_VER) && defined(_M_AMD64))
117 #define PAD_AVAIL_IN 6
118 #define PAD_AVAIL_OUT 258
119 #else
120 #define PAD_AVAIL_IN 5
121 #define PAD_AVAIL_OUT 257
122 #endif
123
124 /* copy state to local variables */
125 state = (struct inflate_state FAR *)strm->state;
126
127 ar.in = strm->next_in;
128 ar.last = ar.in + (strm->avail_in - PAD_AVAIL_IN);
129 ar.out = strm->next_out;
130 ar.beg = ar.out - (start - strm->avail_out);
131 ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT);
132 ar.wsize = state->wsize;
133 ar.write = state->wnext;
134 ar.window = state->window;
135 ar.hold = state->hold;
136 ar.bits = state->bits;
137 ar.lcode = state->lencode;
138 ar.dcode = state->distcode;
139 ar.lmask = (1U << state->lenbits) - 1;
140 ar.dmask = (1U << state->distbits) - 1;
141
142 /* decode literals and length/distances until end-of-block or not enough
143 input data or output space */
144
145 /* align in on 1/2 hold size boundary */
146 while (((size_t)(void *)ar.in & (sizeof(ar.hold) / 2 - 1)) != 0) {
147 ar.hold += (unsigned long)*ar.in++ << ar.bits;
148 ar.bits += 8;
149 }
150
151 inffas8664fnc(&ar);
152
153 if (ar.status > 1) {
154 if (ar.status == 2)
155 strm->msg = "invalid literal/length code";
156 else if (ar.status == 3)
157 strm->msg = "invalid distance code";
158 else
159 strm->msg = "invalid distance too far back";
160 state->mode = BAD;
161 }
162 else if ( ar.status == 1 ) {
163 state->mode = TYPE;
164 }
165
166 /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
167 ar.len = ar.bits >> 3;
168 ar.in -= ar.len;
169 ar.bits -= ar.len << 3;
170 ar.hold &= (1U << ar.bits) - 1;
171
172 /* update state and return */
173 strm->next_in = ar.in;
174 strm->next_out = ar.out;
175 strm->avail_in = (unsigned)(ar.in < ar.last ?
176 PAD_AVAIL_IN + (ar.last - ar.in) :
177 PAD_AVAIL_IN - (ar.in - ar.last));
178 strm->avail_out = (unsigned)(ar.out < ar.end ?
179 PAD_AVAIL_OUT + (ar.end - ar.out) :
180 PAD_AVAIL_OUT - (ar.out - ar.end));
181 state->hold = (unsigned long)ar.hold;
182 state->bits = ar.bits;
183 return;
184 }
185
186 #endif
--- a/compat/zlib/contrib/masmx64/inffas8664.c
+++ b/compat/zlib/contrib/masmx64/inffas8664.c
@@ -1,186 +0,0 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
D compat/zlib/contrib/masmx64/inffasx64.asm
-396
--- a/compat/zlib/contrib/masmx64/inffasx64.asm
+++ b/compat/zlib/contrib/masmx64/inffasx64.asm
@@ -1,396 +0,0 @@
1
-; inffasx64.asm is a hand tuned assembler version of inffast.c - fast decoding
2
-; version for AMD64 on Windows using Microsoft C compiler
3
-;
4
-; inffasx64.asm is automatically convert from AMD64 portion of inffas86.c
5
-; inffasx64.asm is called by inffas8664.c, which contain more info.
6
-
7
-
8
-; to compile this file, I use option
9
-; ml64.exe /Flinffasx64 /c /Zi inffasx64.asm
10
-; with Microsoft Macro Assembler (x64) for AMD64
11
-;
12
-
13
-; This file compile with Microsoft Macro Assembler (x64) for AMD64
14
-;
15
-; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK
16
-;
17
-; (you can get Windows WDK with ml64 for AMD64 from
18
-; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price)
19
-;
20
-
21
-
22
-.code
23
-inffas8664fnc PROC
24
-
25
-; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and
26
-; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
27
-;
28
-; All registers must be preserved across the call, except for
29
-; rax, rcx, rdx, r8, r-9, r10, and r11, which are scratch.
30
-
31
-
32
- mov [rsp-8],rsi
33
- mov [rsp-16],rdi
34
- mov [rsp-24],r12
35
- mov [rsp-32],r13
36
- mov [rsp-40],r14
37
- mov [rsp-48],r15
38
- mov [rsp-56],rbx
39
-
40
- mov rax,rcx
41
-
42
- mov [rax+8], rbp ; /* save regs rbp and rsp */
43
- mov [rax], rsp
44
-
45
- mov rsp, rax ; /* make rsp point to &ar */
46
-
47
- mov rsi, [rsp+16] ; /* rsi = in */
48
- mov rdi, [rsp+32] ; /* rdi = out */
49
- mov r9, [rsp+24] ; /* r9 = last */
50
- mov r10, [rsp+48] ; /* r10 = end */
51
- mov rbp, [rsp+64] ; /* rbp = lcode */
52
- mov r11, [rsp+72] ; /* r11 = dcode */
53
- mov rdx, [rsp+80] ; /* rdx = hold */
54
- mov ebx, [rsp+88] ; /* ebx = bits */
55
- mov r12d, [rsp+100] ; /* r12d = lmask */
56
- mov r13d, [rsp+104] ; /* r13d = dmask */
57
- ; /* r14d = len */
58
- ; /* r15d = dist */
59
-
60
-
61
- cld
62
- cmp r10, rdi
63
- je L_one_time ; /* if only one decode left */
64
- cmp r9, rsi
65
-
66
- jne L_do_loop
67
-
68
-
69
-L_one_time:
70
- mov r8, r12 ; /* r8 = lmask */
71
- cmp bl, 32
72
- ja L_get_length_code_one_time
73
-
74
- lodsd ; /* eax = *(uint *)in++ */
75
- mov cl, bl ; /* cl = bits, needs it for shifting */
76
- add bl, 32 ; /* bits += 32 */
77
- shl rax, cl
78
- or rdx, rax ; /* hold |= *((uint *)in)++ << bits */
79
- jmp L_get_length_code_one_time
80
-
81
-ALIGN 4
82
-L_while_test:
83
- cmp r10, rdi
84
- jbe L_break_loop
85
- cmp r9, rsi
86
- jbe L_break_loop
87
-
88
-L_do_loop:
89
- mov r8, r12 ; /* r8 = lmask */
90
- cmp bl, 32
91
- ja L_get_length_code ; /* if (32 < bits) */
92
-
93
- lodsd ; /* eax = *(uint *)in++ */
94
- mov cl, bl ; /* cl = bits, needs it for shifting */
95
- add bl, 32 ; /* bits += 32 */
96
- shl rax, cl
97
- or rdx, rax ; /* hold |= *((uint *)in)++ << bits */
98
-
99
-L_get_length_code:
100
- and r8, rdx ; /* r8 &= hold */
101
- mov eax, [rbp+r8*4] ; /* eax = lcode[hold & lmask] */
102
-
103
- mov cl, ah ; /* cl = this.bits */
104
- sub bl, ah ; /* bits -= this.bits */
105
- shr rdx, cl ; /* hold >>= this.bits */
106
-
107
- test al, al
108
- jnz L_test_for_length_base ; /* if (op != 0) 45.7% */
109
-
110
- mov r8, r12 ; /* r8 = lmask */
111
- shr eax, 16 ; /* output this.val char */
112
- stosb
113
-
114
-L_get_length_code_one_time:
115
- and r8, rdx ; /* r8 &= hold */
116
- mov eax, [rbp+r8*4] ; /* eax = lcode[hold & lmask] */
117
-
118
-L_dolen:
119
- mov cl, ah ; /* cl = this.bits */
120
- sub bl, ah ; /* bits -= this.bits */
121
- shr rdx, cl ; /* hold >>= this.bits */
122
-
123
- test al, al
124
- jnz L_test_for_length_base ; /* if (op != 0) 45.7% */
125
-
126
- shr eax, 16 ; /* output this.val char */
127
- stosb
128
- jmp L_while_test
129
-
130
-ALIGN 4
131
-L_test_for_length_base:
132
- mov r14d, eax ; /* len = this */
133
- shr r14d, 16 ; /* len = this.val */
134
- mov cl, al
135
-
136
- test al, 16
137
- jz L_test_for_second_level_length ; /* if ((op & 16) == 0) 8% */
138
- and cl, 15 ; /* op &= 15 */
139
- jz L_decode_distance ; /* if (!op) */
140
-
141
-L_add_bits_to_len:
142
- sub bl, cl
143
- xor eax, eax
144
- inc eax
145
- shl eax, cl
146
- dec eax
147
- and eax, edx ; /* eax &= hold */
148
- shr rdx, cl
149
- add r14d, eax ; /* len += hold & mask[op] */
150
-
151
-L_decode_distance:
152
- mov r8, r13 ; /* r8 = dmask */
153
- cmp bl, 32
154
- ja L_get_distance_code ; /* if (32 < bits) */
155
-
156
- lodsd ; /* eax = *(uint *)in++ */
157
- mov cl, bl ; /* cl = bits, needs it for shifting */
158
- add bl, 32 ; /* bits += 32 */
159
- shl rax, cl
160
- or rdx, rax ; /* hold |= *((uint *)in)++ << bits */
161
-
162
-L_get_distance_code:
163
- and r8, rdx ; /* r8 &= hold */
164
- mov eax, [r11+r8*4] ; /* eax = dcode[hold & dmask] */
165
-
166
-L_dodist:
167
- mov r15d, eax ; /* dist = this */
168
- shr r15d, 16 ; /* dist = this.val */
169
- mov cl, ah
170
- sub bl, ah ; /* bits -= this.bits */
171
- shr rdx, cl ; /* hold >>= this.bits */
172
- mov cl, al ; /* cl = this.op */
173
-
174
- test al, 16 ; /* if ((op & 16) == 0) */
175
- jz L_test_for_second_level_dist
176
- and cl, 15 ; /* op &= 15 */
177
- jz L_check_dist_one
178
-
179
-L_add_bits_to_dist:
180
- sub bl, cl
181
- xor eax, eax
182
- inc eax
183
- shl eax, cl
184
- dec eax ; /* (1 << op) - 1 */
185
- and eax, edx ; /* eax &= hold */
186
- shr rdx, cl
187
- add r15d, eax ; /* dist += hold & ((1 << op) - 1) */
188
-
189
-L_check_window:
190
- mov r8, rsi ; /* save in so from can use it's reg */
191
- mov rax, rdi
192
- sub rax, [rsp+40] ; /* nbytes = out - beg */
193
-
194
- cmp eax, r15d
195
- jb L_clip_window ; /* if (dist > nbytes) 4.2% */
196
-
197
- mov ecx, r14d ; /* ecx = len */
198
- mov rsi, rdi
199
- sub rsi, r15 ; /* from = out - dist */
200
-
201
- sar ecx, 1
202
- jnc L_copy_two ; /* if len % 2 == 0 */
203
-
204
- rep movsw
205
- mov al, [rsi]
206
- mov [rdi], al
207
- inc rdi
208
-
209
- mov rsi, r8 ; /* move in back to %rsi, toss from */
210
- jmp L_while_test
211
-
212
-L_copy_two:
213
- rep movsw
214
- mov rsi, r8 ; /* move in back to %rsi, toss from */
215
- jmp L_while_test
216
-
217
-ALIGN 4
218
-L_check_dist_one:
219
- cmp r15d, 1 ; /* if dist 1, is a memset */
220
- jne L_check_window
221
- cmp [rsp+40], rdi ; /* if out == beg, outside window */
222
- je L_check_window
223
-
224
- mov ecx, r14d ; /* ecx = len */
225
- mov al, [rdi-1]
226
- mov ah, al
227
-
228
- sar ecx, 1
229
- jnc L_set_two
230
- mov [rdi], al
231
- inc rdi
232
-
233
-L_set_two:
234
- rep stosw
235
- jmp L_while_test
236
-
237
-ALIGN 4
238
-L_test_for_second_level_length:
239
- test al, 64
240
- jnz L_test_for_end_of_block ; /* if ((op & 64) != 0) */
241
-
242
- xor eax, eax
243
- inc eax
244
- shl eax, cl
245
- dec eax
246
- and eax, edx ; /* eax &= hold */
247
- add eax, r14d ; /* eax += len */
248
- mov eax, [rbp+rax*4] ; /* eax = lcode[val+(hold&mask[op])]*/
249
- jmp L_dolen
250
-
251
-ALIGN 4
252
-L_test_for_second_level_dist:
253
- test al, 64
254
- jnz L_invalid_distance_code ; /* if ((op & 64) != 0) */
255
-
256
- xor eax, eax
257
- inc eax
258
- shl eax, cl
259
- dec eax
260
- and eax, edx ; /* eax &= hold */
261
- add eax, r15d ; /* eax += dist */
262
- mov eax, [r11+rax*4] ; /* eax = dcode[val+(hold&mask[op])]*/
263
- jmp L_dodist
264
-
265
-ALIGN 4
266
-L_clip_window:
267
- mov ecx, eax ; /* ecx = nbytes */
268
- mov eax, [rsp+92] ; /* eax = wsize, prepare for dist cmp */
269
- neg ecx ; /* nbytes = -nbytes */
270
-
271
- cmp eax, r15d
272
- jb L_invalid_distance_too_far ; /* if (dist > wsize) */
273
-
274
- add ecx, r15d ; /* nbytes = dist - nbytes */
275
- cmp dword ptr [rsp+96], 0
276
- jne L_wrap_around_window ; /* if (write != 0) */
277
-
278
- mov rsi, [rsp+56] ; /* from = window */
279
- sub eax, ecx ; /* eax -= nbytes */
280
- add rsi, rax ; /* from += wsize - nbytes */
281
-
282
- mov eax, r14d ; /* eax = len */
283
- cmp r14d, ecx
284
- jbe L_do_copy ; /* if (nbytes >= len) */
285
-
286
- sub eax, ecx ; /* eax -= nbytes */
287
- rep movsb
288
- mov rsi, rdi
289
- sub rsi, r15 ; /* from = &out[ -dist ] */
290
- jmp L_do_copy
291
-
292
-ALIGN 4
293
-L_wrap_around_window:
294
- mov eax, [rsp+96] ; /* eax = write */
295
- cmp ecx, eax
296
- jbe L_contiguous_in_window ; /* if (write >= nbytes) */
297
-
298
- mov esi, [rsp+92] ; /* from = wsize */
299
- add rsi, [rsp+56] ; /* from += window */
300
- add rsi, rax ; /* from += write */
301
- sub rsi, rcx ; /* from -= nbytes */
302
- sub ecx, eax ; /* nbytes -= write */
303
-
304
- mov eax, r14d ; /* eax = len */
305
- cmp eax, ecx
306
- jbe L_do_copy ; /* if (nbytes >= len) */
307
-
308
- sub eax, ecx ; /* len -= nbytes */
309
- rep movsb
310
- mov rsi, [rsp+56] ; /* from = window */
311
- mov ecx, [rsp+96] ; /* nbytes = write */
312
- cmp eax, ecx
313
- jbe L_do_copy ; /* if (nbytes >= len) */
314
-
315
- sub eax, ecx ; /* len -= nbytes */
316
- rep movsb
317
- mov rsi, rdi
318
- sub rsi, r15 ; /* from = out - dist */
319
- jmp L_do_copy
320
-
321
-ALIGN 4
322
-L_contiguous_in_window:
323
- mov rsi, [rsp+56] ; /* rsi = window */
324
- add rsi, rax
325
- sub rsi, rcx ; /* from += write - nbytes */
326
-
327
- mov eax, r14d ; /* eax = len */
328
- cmp eax, ecx
329
- jbe L_do_copy ; /* if (nbytes >= len) */
330
-
331
- sub eax, ecx ; /* len -= nbytes */
332
- rep movsb
333
- mov rsi, rdi
334
- sub rsi, r15 ; /* from = out - dist */
335
- jmp L_do_copy ; /* if (nbytes >= len) */
336
-
337
-ALIGN 4
338
-L_do_copy:
339
- mov ecx, eax ; /* ecx = len */
340
- rep movsb
341
-
342
- mov rsi, r8 ; /* move in back to %esi, toss from */
343
- jmp L_while_test
344
-
345
-L_test_for_end_of_block:
346
- test al, 32
347
- jz L_invalid_literal_length_code
348
- mov dword ptr [rsp+116], 1
349
- jmp L_break_loop_with_status
350
-
351
-L_invalid_literal_length_code:
352
- mov dword ptr [rsp+116], 2
353
- jmp L_break_loop_with_status
354
-
355
-L_invalid_distance_code:
356
- mov dword ptr [rsp+116], 3
357
- jmp L_break_loop_with_status
358
-
359
-L_invalid_distance_too_far:
360
- mov dword ptr [rsp+116], 4
361
- jmp L_break_loop_with_status
362
-
363
-L_break_loop:
364
- mov dword ptr [rsp+116], 0
365
-
366
-L_break_loop_with_status:
367
-; /* put in, out, bits, and hold back into ar and pop esp */
368
- mov [rsp+16], rsi ; /* in */
369
- mov [rsp+32], rdi ; /* out */
370
- mov [rsp+88], ebx ; /* bits */
371
- mov [rsp+80], rdx ; /* hold */
372
-
373
- mov rax, [rsp] ; /* restore rbp and rsp */
374
- mov rbp, [rsp+8]
375
- mov rsp, rax
376
-
377
-
378
-
379
- mov rsi,[rsp-8]
380
- mov rdi,[rsp-16]
381
- mov r12,[rsp-24]
382
- mov r13,[rsp-32]
383
- mov r14,[rsp-40]
384
- mov r15,[rsp-48]
385
- mov rbx,[rsp-56]
386
-
387
- ret 0
388
-; :
389
-; : "m" (ar)
390
-; : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi",
391
-; "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15"
392
-; );
393
-
394
-inffas8664fnc ENDP
395
-;_TEXT ENDS
396
-END
--- a/compat/zlib/contrib/masmx64/inffasx64.asm
+++ b/compat/zlib/contrib/masmx64/inffasx64.asm
@@ -1,396 +0,0 @@
1 ; inffasx64.asm is a hand tuned assembler version of inffast.c - fast decoding
2 ; version for AMD64 on Windows using Microsoft C compiler
3 ;
4 ; inffasx64.asm is automatically convert from AMD64 portion of inffas86.c
5 ; inffasx64.asm is called by inffas8664.c, which contain more info.
6
7
8 ; to compile this file, I use option
9 ; ml64.exe /Flinffasx64 /c /Zi inffasx64.asm
10 ; with Microsoft Macro Assembler (x64) for AMD64
11 ;
12
13 ; This file compile with Microsoft Macro Assembler (x64) for AMD64
14 ;
15 ; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK
16 ;
17 ; (you can get Windows WDK with ml64 for AMD64 from
18 ; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price)
19 ;
20
21
22 .code
23 inffas8664fnc PROC
24
25 ; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and
26 ; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
27 ;
28 ; All registers must be preserved across the call, except for
29 ; rax, rcx, rdx, r8, r-9, r10, and r11, which are scratch.
30
31
32 mov [rsp-8],rsi
33 mov [rsp-16],rdi
34 mov [rsp-24],r12
35 mov [rsp-32],r13
36 mov [rsp-40],r14
37 mov [rsp-48],r15
38 mov [rsp-56],rbx
39
40 mov rax,rcx
41
42 mov [rax+8], rbp ; /* save regs rbp and rsp */
43 mov [rax], rsp
44
45 mov rsp, rax ; /* make rsp point to &ar */
46
47 mov rsi, [rsp+16] ; /* rsi = in */
48 mov rdi, [rsp+32] ; /* rdi = out */
49 mov r9, [rsp+24] ; /* r9 = last */
50 mov r10, [rsp+48] ; /* r10 = end */
51 mov rbp, [rsp+64] ; /* rbp = lcode */
52 mov r11, [rsp+72] ; /* r11 = dcode */
53 mov rdx, [rsp+80] ; /* rdx = hold */
54 mov ebx, [rsp+88] ; /* ebx = bits */
55 mov r12d, [rsp+100] ; /* r12d = lmask */
56 mov r13d, [rsp+104] ; /* r13d = dmask */
57 ; /* r14d = len */
58 ; /* r15d = dist */
59
60
61 cld
62 cmp r10, rdi
63 je L_one_time ; /* if only one decode left */
64 cmp r9, rsi
65
66 jne L_do_loop
67
68
69 L_one_time:
70 mov r8, r12 ; /* r8 = lmask */
71 cmp bl, 32
72 ja L_get_length_code_one_time
73
74 lodsd ; /* eax = *(uint *)in++ */
75 mov cl, bl ; /* cl = bits, needs it for shifting */
76 add bl, 32 ; /* bits += 32 */
77 shl rax, cl
78 or rdx, rax ; /* hold |= *((uint *)in)++ << bits */
79 jmp L_get_length_code_one_time
80
81 ALIGN 4
82 L_while_test:
83 cmp r10, rdi
84 jbe L_break_loop
85 cmp r9, rsi
86 jbe L_break_loop
87
88 L_do_loop:
89 mov r8, r12 ; /* r8 = lmask */
90 cmp bl, 32
91 ja L_get_length_code ; /* if (32 < bits) */
92
93 lodsd ; /* eax = *(uint *)in++ */
94 mov cl, bl ; /* cl = bits, needs it for shifting */
95 add bl, 32 ; /* bits += 32 */
96 shl rax, cl
97 or rdx, rax ; /* hold |= *((uint *)in)++ << bits */
98
99 L_get_length_code:
100 and r8, rdx ; /* r8 &= hold */
101 mov eax, [rbp+r8*4] ; /* eax = lcode[hold & lmask] */
102
103 mov cl, ah ; /* cl = this.bits */
104 sub bl, ah ; /* bits -= this.bits */
105 shr rdx, cl ; /* hold >>= this.bits */
106
107 test al, al
108 jnz L_test_for_length_base ; /* if (op != 0) 45.7% */
109
110 mov r8, r12 ; /* r8 = lmask */
111 shr eax, 16 ; /* output this.val char */
112 stosb
113
114 L_get_length_code_one_time:
115 and r8, rdx ; /* r8 &= hold */
116 mov eax, [rbp+r8*4] ; /* eax = lcode[hold & lmask] */
117
118 L_dolen:
119 mov cl, ah ; /* cl = this.bits */
120 sub bl, ah ; /* bits -= this.bits */
121 shr rdx, cl ; /* hold >>= this.bits */
122
123 test al, al
124 jnz L_test_for_length_base ; /* if (op != 0) 45.7% */
125
126 shr eax, 16 ; /* output this.val char */
127 stosb
128 jmp L_while_test
129
130 ALIGN 4
131 L_test_for_length_base:
132 mov r14d, eax ; /* len = this */
133 shr r14d, 16 ; /* len = this.val */
134 mov cl, al
135
136 test al, 16
137 jz L_test_for_second_level_length ; /* if ((op & 16) == 0) 8% */
138 and cl, 15 ; /* op &= 15 */
139 jz L_decode_distance ; /* if (!op) */
140
141 L_add_bits_to_len:
142 sub bl, cl
143 xor eax, eax
144 inc eax
145 shl eax, cl
146 dec eax
147 and eax, edx ; /* eax &= hold */
148 shr rdx, cl
149 add r14d, eax ; /* len += hold & mask[op] */
150
151 L_decode_distance:
152 mov r8, r13 ; /* r8 = dmask */
153 cmp bl, 32
154 ja L_get_distance_code ; /* if (32 < bits) */
155
156 lodsd ; /* eax = *(uint *)in++ */
157 mov cl, bl ; /* cl = bits, needs it for shifting */
158 add bl, 32 ; /* bits += 32 */
159 shl rax, cl
160 or rdx, rax ; /* hold |= *((uint *)in)++ << bits */
161
162 L_get_distance_code:
163 and r8, rdx ; /* r8 &= hold */
164 mov eax, [r11+r8*4] ; /* eax = dcode[hold & dmask] */
165
166 L_dodist:
167 mov r15d, eax ; /* dist = this */
168 shr r15d, 16 ; /* dist = this.val */
169 mov cl, ah
170 sub bl, ah ; /* bits -= this.bits */
171 shr rdx, cl ; /* hold >>= this.bits */
172 mov cl, al ; /* cl = this.op */
173
174 test al, 16 ; /* if ((op & 16) == 0) */
175 jz L_test_for_second_level_dist
176 and cl, 15 ; /* op &= 15 */
177 jz L_check_dist_one
178
179 L_add_bits_to_dist:
180 sub bl, cl
181 xor eax, eax
182 inc eax
183 shl eax, cl
184 dec eax ; /* (1 << op) - 1 */
185 and eax, edx ; /* eax &= hold */
186 shr rdx, cl
187 add r15d, eax ; /* dist += hold & ((1 << op) - 1) */
188
189 L_check_window:
190 mov r8, rsi ; /* save in so from can use it's reg */
191 mov rax, rdi
192 sub rax, [rsp+40] ; /* nbytes = out - beg */
193
194 cmp eax, r15d
195 jb L_clip_window ; /* if (dist > nbytes) 4.2% */
196
197 mov ecx, r14d ; /* ecx = len */
198 mov rsi, rdi
199 sub rsi, r15 ; /* from = out - dist */
200
201 sar ecx, 1
202 jnc L_copy_two ; /* if len % 2 == 0 */
203
204 rep movsw
205 mov al, [rsi]
206 mov [rdi], al
207 inc rdi
208
209 mov rsi, r8 ; /* move in back to %rsi, toss from */
210 jmp L_while_test
211
212 L_copy_two:
213 rep movsw
214 mov rsi, r8 ; /* move in back to %rsi, toss from */
215 jmp L_while_test
216
217 ALIGN 4
218 L_check_dist_one:
219 cmp r15d, 1 ; /* if dist 1, is a memset */
220 jne L_check_window
221 cmp [rsp+40], rdi ; /* if out == beg, outside window */
222 je L_check_window
223
224 mov ecx, r14d ; /* ecx = len */
225 mov al, [rdi-1]
226 mov ah, al
227
228 sar ecx, 1
229 jnc L_set_two
230 mov [rdi], al
231 inc rdi
232
233 L_set_two:
234 rep stosw
235 jmp L_while_test
236
237 ALIGN 4
238 L_test_for_second_level_length:
239 test al, 64
240 jnz L_test_for_end_of_block ; /* if ((op & 64) != 0) */
241
242 xor eax, eax
243 inc eax
244 shl eax, cl
245 dec eax
246 and eax, edx ; /* eax &= hold */
247 add eax, r14d ; /* eax += len */
248 mov eax, [rbp+rax*4] ; /* eax = lcode[val+(hold&mask[op])]*/
249 jmp L_dolen
250
251 ALIGN 4
252 L_test_for_second_level_dist:
253 test al, 64
254 jnz L_invalid_distance_code ; /* if ((op & 64) != 0) */
255
256 xor eax, eax
257 inc eax
258 shl eax, cl
259 dec eax
260 and eax, edx ; /* eax &= hold */
261 add eax, r15d ; /* eax += dist */
262 mov eax, [r11+rax*4] ; /* eax = dcode[val+(hold&mask[op])]*/
263 jmp L_dodist
264
265 ALIGN 4
266 L_clip_window:
267 mov ecx, eax ; /* ecx = nbytes */
268 mov eax, [rsp+92] ; /* eax = wsize, prepare for dist cmp */
269 neg ecx ; /* nbytes = -nbytes */
270
271 cmp eax, r15d
272 jb L_invalid_distance_too_far ; /* if (dist > wsize) */
273
274 add ecx, r15d ; /* nbytes = dist - nbytes */
275 cmp dword ptr [rsp+96], 0
276 jne L_wrap_around_window ; /* if (write != 0) */
277
278 mov rsi, [rsp+56] ; /* from = window */
279 sub eax, ecx ; /* eax -= nbytes */
280 add rsi, rax ; /* from += wsize - nbytes */
281
282 mov eax, r14d ; /* eax = len */
283 cmp r14d, ecx
284 jbe L_do_copy ; /* if (nbytes >= len) */
285
286 sub eax, ecx ; /* eax -= nbytes */
287 rep movsb
288 mov rsi, rdi
289 sub rsi, r15 ; /* from = &out[ -dist ] */
290 jmp L_do_copy
291
292 ALIGN 4
293 L_wrap_around_window:
294 mov eax, [rsp+96] ; /* eax = write */
295 cmp ecx, eax
296 jbe L_contiguous_in_window ; /* if (write >= nbytes) */
297
298 mov esi, [rsp+92] ; /* from = wsize */
299 add rsi, [rsp+56] ; /* from += window */
300 add rsi, rax ; /* from += write */
301 sub rsi, rcx ; /* from -= nbytes */
302 sub ecx, eax ; /* nbytes -= write */
303
304 mov eax, r14d ; /* eax = len */
305 cmp eax, ecx
306 jbe L_do_copy ; /* if (nbytes >= len) */
307
308 sub eax, ecx ; /* len -= nbytes */
309 rep movsb
310 mov rsi, [rsp+56] ; /* from = window */
311 mov ecx, [rsp+96] ; /* nbytes = write */
312 cmp eax, ecx
313 jbe L_do_copy ; /* if (nbytes >= len) */
314
315 sub eax, ecx ; /* len -= nbytes */
316 rep movsb
317 mov rsi, rdi
318 sub rsi, r15 ; /* from = out - dist */
319 jmp L_do_copy
320
321 ALIGN 4
322 L_contiguous_in_window:
323 mov rsi, [rsp+56] ; /* rsi = window */
324 add rsi, rax
325 sub rsi, rcx ; /* from += write - nbytes */
326
327 mov eax, r14d ; /* eax = len */
328 cmp eax, ecx
329 jbe L_do_copy ; /* if (nbytes >= len) */
330
331 sub eax, ecx ; /* len -= nbytes */
332 rep movsb
333 mov rsi, rdi
334 sub rsi, r15 ; /* from = out - dist */
335 jmp L_do_copy ; /* if (nbytes >= len) */
336
337 ALIGN 4
338 L_do_copy:
339 mov ecx, eax ; /* ecx = len */
340 rep movsb
341
342 mov rsi, r8 ; /* move in back to %esi, toss from */
343 jmp L_while_test
344
345 L_test_for_end_of_block:
346 test al, 32
347 jz L_invalid_literal_length_code
348 mov dword ptr [rsp+116], 1
349 jmp L_break_loop_with_status
350
351 L_invalid_literal_length_code:
352 mov dword ptr [rsp+116], 2
353 jmp L_break_loop_with_status
354
355 L_invalid_distance_code:
356 mov dword ptr [rsp+116], 3
357 jmp L_break_loop_with_status
358
359 L_invalid_distance_too_far:
360 mov dword ptr [rsp+116], 4
361 jmp L_break_loop_with_status
362
363 L_break_loop:
364 mov dword ptr [rsp+116], 0
365
366 L_break_loop_with_status:
367 ; /* put in, out, bits, and hold back into ar and pop esp */
368 mov [rsp+16], rsi ; /* in */
369 mov [rsp+32], rdi ; /* out */
370 mov [rsp+88], ebx ; /* bits */
371 mov [rsp+80], rdx ; /* hold */
372
373 mov rax, [rsp] ; /* restore rbp and rsp */
374 mov rbp, [rsp+8]
375 mov rsp, rax
376
377
378
379 mov rsi,[rsp-8]
380 mov rdi,[rsp-16]
381 mov r12,[rsp-24]
382 mov r13,[rsp-32]
383 mov r14,[rsp-40]
384 mov r15,[rsp-48]
385 mov rbx,[rsp-56]
386
387 ret 0
388 ; :
389 ; : "m" (ar)
390 ; : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi",
391 ; "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15"
392 ; );
393
394 inffas8664fnc ENDP
395 ;_TEXT ENDS
396 END
--- a/compat/zlib/contrib/masmx64/inffasx64.asm
+++ b/compat/zlib/contrib/masmx64/inffasx64.asm
@@ -1,396 +0,0 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
D compat/zlib/contrib/masmx64/readme.txt
-28
--- a/compat/zlib/contrib/masmx64/readme.txt
+++ b/compat/zlib/contrib/masmx64/readme.txt
@@ -1,31 +0,0 @@
1
-Summary
--------
2
-This directory contains ASM implementations of the functions
3
-longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t),
4
-for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits.
5
-
6
-gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits
7
- assembly optimized version from Jean-loup Gailly original longest_match function
8
-
9
-inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing
10
- original function from Mark Adler
11
-
12
-Use instructions
-----------------
13
-Assemble the .asm files using MASM and put the object files into the zlib source
14
-directory. You can also get object files here:
15
-
16
- http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
17
-
18
-define ASMV and ASMINF in your project. Include inffas8664.c in your source tree,
19
-and inffasx64.obj and gvmat64.obj as object to link.
20
-
21
-
22
-Build instructions
-------------------
23
-run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe)
24
-
25
-ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK
26
-
27
-You can get Windows 2003 server DDK with ml64 and cl for AMD64 from
28
- http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)
--- a/compat/zlib/contrib/masmx64/readme.txt
+++ b/compat/zlib/contrib/masmx64/readme.txt
@@ -1,31 +0,0 @@
1 Summary
--------
2 This directory contains ASM implementations of the functions
3 longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t),
4 for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits.
5
6 gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits
7 assembly optimized version from Jean-loup Gailly original longest_match function
8
9 inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing
10 original function from Mark Adler
11
12 Use instructions
-----------------
13 Assemble the .asm files using MASM and put the object files into the zlib source
14 directory. You can also get object files here:
15
16 http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
17
18 define ASMV and ASMINF in your project. Include inffas8664.c in your source tree,
19 and inffasx64.obj and gvmat64.obj as object to link.
20
21
22 Build instructions
-------------------
23 run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe)
24
25 ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK
26
27 You can get Windows 2003 server DDK with ml64 and cl for AMD64 from
28 http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)
--- a/compat/zlib/contrib/masmx64/readme.txt
+++ b/compat/zlib/contrib/masmx64/readme.txt
@@ -1,31 +0,0 @@
 
--------
 
 
 
 
 
 
 
 
 
 
 
-----------------
 
 
 
 
 
 
 
 
 
 
-------------------
 
 
 
 
 
 
D compat/zlib/contrib/masmx86/bld_ml32.bat
-2
--- a/compat/zlib/contrib/masmx86/bld_ml32.bat
+++ b/compat/zlib/contrib/masmx86/bld_ml32.bat
@@ -1,2 +0,0 @@
1
-ml /coff /Zi /c /Flmatch686.lst match686.asm
2
-ml /coff /Zi /c /Flinffas32.lst inffas32.asm
--- a/compat/zlib/contrib/masmx86/bld_ml32.bat
+++ b/compat/zlib/contrib/masmx86/bld_ml32.bat
@@ -1,2 +0,0 @@
1 ml /coff /Zi /c /Flmatch686.lst match686.asm
2 ml /coff /Zi /c /Flinffas32.lst inffas32.asm
--- a/compat/zlib/contrib/masmx86/bld_ml32.bat
+++ b/compat/zlib/contrib/masmx86/bld_ml32.bat
@@ -1,2 +0,0 @@
 
 
D compat/zlib/contrib/masmx86/inffas32.asm
-1080
--- a/compat/zlib/contrib/masmx86/inffas32.asm
+++ b/compat/zlib/contrib/masmx86/inffas32.asm
@@ -1,1080 +0,0 @@
1
-;/* inffas32.asm is a hand tuned assembler version of inffast.c -- fast decoding
2
-; *
3
-; * inffas32.asm is derivated from inffas86.c, with translation of assembly code
4
-; *
5
-; * Copyright (C) 1995-2003 Mark Adler
6
-; * For conditions of distribution and use, see copyright notice in zlib.h
7
-; *
8
-; * Copyright (C) 2003 Chris Anderson <[email protected]>
9
-; * Please use the copyright conditions above.
10
-; *
11
-; * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from
12
-; * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at
13
-; * the moment. I have successfully compiled and tested this code with gcc2.96,
14
-; * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S
15
-; * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX
16
-; * enabled. I will attempt to merge the MMX code into this version. Newer
17
-; * versions of this and inffast.S can be found at
18
-; * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/
19
-; *
20
-; * 2005 : modification by Gilles Vollant
21
-; */
22
-; For Visual C++ 4.x and higher and ML 6.x and higher
23
-; ml.exe is in directory \MASM611C of Win95 DDK
24
-; ml.exe is also distributed in http://www.masm32.com/masmdl.htm
25
-; and in VC++2003 toolkit at http://msdn.microsoft.com/visualc/vctoolkit2003/
26
-;
27
-;
28
-; compile with command line option
29
-; ml /coff /Zi /c /Flinffas32.lst inffas32.asm
30
-
31
-; if you define NO_GZIP (see inflate.h), compile with
32
-; ml /coff /Zi /c /Flinffas32.lst /DNO_GUNZIP inffas32.asm
33
-
34
-
35
-; zlib122sup is 0 fort zlib 1.2.2.1 and lower
36
-; zlib122sup is 8 fort zlib 1.2.2.2 and more (with addition of dmax and head
37
-; in inflate_state in inflate.h)
38
-zlib1222sup equ 8
39
-
40
-
41
-IFDEF GUNZIP
42
- INFLATE_MODE_TYPE equ 11
43
- INFLATE_MODE_BAD equ 26
44
-ELSE
45
- IFNDEF NO_GUNZIP
46
- INFLATE_MODE_TYPE equ 11
47
- INFLATE_MODE_BAD equ 26
48
- ELSE
49
- INFLATE_MODE_TYPE equ 3
50
- INFLATE_MODE_BAD equ 17
51
- ENDIF
52
-ENDIF
53
-
54
-
55
-; 75 "inffast.S"
56
-;FILE "inffast.S"
57
-
58
-;;;GLOBAL _inflate_fast
59
-
60
-;;;SECTION .text
61
-
62
-
63
-
64
- .586p
65
- .mmx
66
-
67
- name inflate_fast_x86
68
- .MODEL FLAT
69
-
70
-_DATA segment
71
-inflate_fast_use_mmx:
72
- dd 1
73
-
74
-
75
-_TEXT segment
76
-
77
-
78
-
79
-ALIGN 4
80
- db 'Fast decoding Code from Chris Anderson'
81
- db 0
82
-
83
-ALIGN 4
84
-invalid_literal_length_code_msg:
85
- db 'invalid literal/length code'
86
- db 0
87
-
88
-ALIGN 4
89
-invalid_distance_code_msg:
90
- db 'invalid distance code'
91
- db 0
92
-
93
-ALIGN 4
94
-invalid_distance_too_far_msg:
95
- db 'invalid distance too far back'
96
- db 0
97
-
98
-
99
-ALIGN 4
100
-inflate_fast_mask:
101
-dd 0
102
-dd 1
103
-dd 3
104
-dd 7
105
-dd 15
106
-dd 31
107
-dd 63
108
-dd 127
109
-dd 255
110
-dd 511
111
-dd 1023
112
-dd 2047
113
-dd 4095
114
-dd 8191
115
-dd 16383
116
-dd 32767
117
-dd 65535
118
-dd 131071
119
-dd 262143
120
-dd 524287
121
-dd 1048575
122
-dd 2097151
123
-dd 4194303
124
-dd 8388607
125
-dd 16777215
126
-dd 33554431
127
-dd 67108863
128
-dd 134217727
129
-dd 268435455
130
-dd 536870911
131
-dd 1073741823
132
-dd 2147483647
133
-dd 4294967295
134
-
135
-
136
-mode_state equ 0 ;/* state->mode */
137
-wsize_state equ (32+zlib1222sup) ;/* state->wsize */
138
-write_state equ (36+4+zlib1222sup) ;/* state->write */
139
-window_state equ (40+4+zlib1222sup) ;/* state->window */
140
-hold_state equ (44+4+zlib1222sup) ;/* state->hold */
141
-bits_state equ (48+4+zlib1222sup) ;/* state->bits */
142
-lencode_state equ (64+4+zlib1222sup) ;/* state->lencode */
143
-distcode_state equ (68+4+zlib1222sup) ;/* state->distcode */
144
-lenbits_state equ (72+4+zlib1222sup) ;/* state->lenbits */
145
-distbits_state equ (76+4+zlib1222sup) ;/* state->distbits */
146
-
147
-
148
-;;SECTION .text
149
-; 205 "inffast.S"
150
-;GLOBAL inflate_fast_use_mmx
151
-
152
-;SECTION .data
153
-
154
-
155
-; GLOBAL inflate_fast_use_mmx:object
156
-;.size inflate_fast_use_mmx, 4
157
-; 226 "inffast.S"
158
-;SECTION .text
159
-
160
-ALIGN 4
161
-_inflate_fast proc near
162
-.FPO (16, 4, 0, 0, 1, 0)
163
- push edi
164
- push esi
165
- push ebp
166
- push ebx
167
- pushfd
168
- sub esp,64
169
- cld
170
-
171
-
172
-
173
-
174
- mov esi, [esp+88]
175
- mov edi, [esi+28]
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
- mov edx, [esi+4]
184
- mov eax, [esi+0]
185
-
186
- add edx,eax
187
- sub edx,11
188
-
189
- mov [esp+44],eax
190
- mov [esp+20],edx
191
-
192
- mov ebp, [esp+92]
193
- mov ecx, [esi+16]
194
- mov ebx, [esi+12]
195
-
196
- sub ebp,ecx
197
- neg ebp
198
- add ebp,ebx
199
-
200
- sub ecx,257
201
- add ecx,ebx
202
-
203
- mov [esp+60],ebx
204
- mov [esp+40],ebp
205
- mov [esp+16],ecx
206
-; 285 "inffast.S"
207
- mov eax, [edi+lencode_state]
208
- mov ecx, [edi+distcode_state]
209
-
210
- mov [esp+8],eax
211
- mov [esp+12],ecx
212
-
213
- mov eax,1
214
- mov ecx, [edi+lenbits_state]
215
- shl eax,cl
216
- dec eax
217
- mov [esp+0],eax
218
-
219
- mov eax,1
220
- mov ecx, [edi+distbits_state]
221
- shl eax,cl
222
- dec eax
223
- mov [esp+4],eax
224
-
225
- mov eax, [edi+wsize_state]
226
- mov ecx, [edi+write_state]
227
- mov edx, [edi+window_state]
228
-
229
- mov [esp+52],eax
230
- mov [esp+48],ecx
231
- mov [esp+56],edx
232
-
233
- mov ebp, [edi+hold_state]
234
- mov ebx, [edi+bits_state]
235
-; 321 "inffast.S"
236
- mov esi, [esp+44]
237
- mov ecx, [esp+20]
238
- cmp ecx,esi
239
- ja L_align_long
240
-
241
- add ecx,11
242
- sub ecx,esi
243
- mov eax,12
244
- sub eax,ecx
245
- lea edi, [esp+28]
246
- rep movsb
247
- mov ecx,eax
248
- xor eax,eax
249
- rep stosb
250
- lea esi, [esp+28]
251
- mov [esp+20],esi
252
- jmp L_is_aligned
253
-
254
-
255
-L_align_long:
256
- test esi,3
257
- jz L_is_aligned
258
- xor eax,eax
259
- mov al, [esi]
260
- inc esi
261
- mov ecx,ebx
262
- add ebx,8
263
- shl eax,cl
264
- or ebp,eax
265
- jmp L_align_long
266
-
267
-L_is_aligned:
268
- mov edi, [esp+60]
269
-; 366 "inffast.S"
270
-L_check_mmx:
271
- cmp dword ptr [inflate_fast_use_mmx],2
272
- je L_init_mmx
273
- ja L_do_loop
274
-
275
- push eax
276
- push ebx
277
- push ecx
278
- push edx
279
- pushfd
280
- mov eax, [esp]
281
- xor dword ptr [esp],0200000h
282
-
283
-
284
-
285
-
286
- popfd
287
- pushfd
288
- pop edx
289
- xor edx,eax
290
- jz L_dont_use_mmx
291
- xor eax,eax
292
- cpuid
293
- cmp ebx,0756e6547h
294
- jne L_dont_use_mmx
295
- cmp ecx,06c65746eh
296
- jne L_dont_use_mmx
297
- cmp edx,049656e69h
298
- jne L_dont_use_mmx
299
- mov eax,1
300
- cpuid
301
- shr eax,8
302
- and eax,15
303
- cmp eax,6
304
- jne L_dont_use_mmx
305
- test edx,0800000h
306
- jnz L_use_mmx
307
- jmp L_dont_use_mmx
308
-L_use_mmx:
309
- mov dword ptr [inflate_fast_use_mmx],2
310
- jmp L_check_mmx_pop
311
-L_dont_use_mmx:
312
- mov dword ptr [inflate_fast_use_mmx],3
313
-L_check_mmx_pop:
314
- pop edx
315
- pop ecx
316
- pop ebx
317
- pop eax
318
- jmp L_check_mmx
319
-; 426 "inffast.S"
320
-ALIGN 4
321
-L_do_loop:
322
-; 437 "inffast.S"
323
- cmp bl,15
324
- ja L_get_length_code
325
-
326
- xor eax,eax
327
- lodsw
328
- mov cl,bl
329
- add bl,16
330
- shl eax,cl
331
- or ebp,eax
332
-
333
-L_get_length_code:
334
- mov edx, [esp+0]
335
- mov ecx, [esp+8]
336
- and edx,ebp
337
- mov eax, [ecx+edx*4]
338
-
339
-L_dolen:
340
-
341
-
342
-
343
-
344
-
345
-
346
- mov cl,ah
347
- sub bl,ah
348
- shr ebp,cl
349
-
350
-
351
-
352
-
353
-
354
-
355
- test al,al
356
- jnz L_test_for_length_base
357
-
358
- shr eax,16
359
- stosb
360
-
361
-L_while_test:
362
-
363
-
364
- cmp [esp+16],edi
365
- jbe L_break_loop
366
-
367
- cmp [esp+20],esi
368
- ja L_do_loop
369
- jmp L_break_loop
370
-
371
-L_test_for_length_base:
372
-; 502 "inffast.S"
373
- mov edx,eax
374
- shr edx,16
375
- mov cl,al
376
-
377
- test al,16
378
- jz L_test_for_second_level_length
379
- and cl,15
380
- jz L_save_len
381
- cmp bl,cl
382
- jae L_add_bits_to_len
383
-
384
- mov ch,cl
385
- xor eax,eax
386
- lodsw
387
- mov cl,bl
388
- add bl,16
389
- shl eax,cl
390
- or ebp,eax
391
- mov cl,ch
392
-
393
-L_add_bits_to_len:
394
- mov eax,1
395
- shl eax,cl
396
- dec eax
397
- sub bl,cl
398
- and eax,ebp
399
- shr ebp,cl
400
- add edx,eax
401
-
402
-L_save_len:
403
- mov [esp+24],edx
404
-
405
-
406
-L_decode_distance:
407
-; 549 "inffast.S"
408
- cmp bl,15
409
- ja L_get_distance_code
410
-
411
- xor eax,eax
412
- lodsw
413
- mov cl,bl
414
- add bl,16
415
- shl eax,cl
416
- or ebp,eax
417
-
418
-L_get_distance_code:
419
- mov edx, [esp+4]
420
- mov ecx, [esp+12]
421
- and edx,ebp
422
- mov eax, [ecx+edx*4]
423
-
424
-
425
-L_dodist:
426
- mov edx,eax
427
- shr edx,16
428
- mov cl,ah
429
- sub bl,ah
430
- shr ebp,cl
431
-; 584 "inffast.S"
432
- mov cl,al
433
-
434
- test al,16
435
- jz L_test_for_second_level_dist
436
- and cl,15
437
- jz L_check_dist_one
438
- cmp bl,cl
439
- jae L_add_bits_to_dist
440
-
441
- mov ch,cl
442
- xor eax,eax
443
- lodsw
444
- mov cl,bl
445
- add bl,16
446
- shl eax,cl
447
- or ebp,eax
448
- mov cl,ch
449
-
450
-L_add_bits_to_dist:
451
- mov eax,1
452
- shl eax,cl
453
- dec eax
454
- sub bl,cl
455
- and eax,ebp
456
- shr ebp,cl
457
- add edx,eax
458
- jmp L_check_window
459
-
460
-L_check_window:
461
-; 625 "inffast.S"
462
- mov [esp+44],esi
463
- mov eax,edi
464
- sub eax, [esp+40]
465
-
466
- cmp eax,edx
467
- jb L_clip_window
468
-
469
- mov ecx, [esp+24]
470
- mov esi,edi
471
- sub esi,edx
472
-
473
- sub ecx,3
474
- mov al, [esi]
475
- mov [edi],al
476
- mov al, [esi+1]
477
- mov dl, [esi+2]
478
- add esi,3
479
- mov [edi+1],al
480
- mov [edi+2],dl
481
- add edi,3
482
- rep movsb
483
-
484
- mov esi, [esp+44]
485
- jmp L_while_test
486
-
487
-ALIGN 4
488
-L_check_dist_one:
489
- cmp edx,1
490
- jne L_check_window
491
- cmp [esp+40],edi
492
- je L_check_window
493
-
494
- dec edi
495
- mov ecx, [esp+24]
496
- mov al, [edi]
497
- sub ecx,3
498
-
499
- mov [edi+1],al
500
- mov [edi+2],al
501
- mov [edi+3],al
502
- add edi,4
503
- rep stosb
504
-
505
- jmp L_while_test
506
-
507
-ALIGN 4
508
-L_test_for_second_level_length:
509
-
510
-
511
-
512
-
513
- test al,64
514
- jnz L_test_for_end_of_block
515
-
516
- mov eax,1
517
- shl eax,cl
518
- dec eax
519
- and eax,ebp
520
- add eax,edx
521
- mov edx, [esp+8]
522
- mov eax, [edx+eax*4]
523
- jmp L_dolen
524
-
525
-ALIGN 4
526
-L_test_for_second_level_dist:
527
-
528
-
529
-
530
-
531
- test al,64
532
- jnz L_invalid_distance_code
533
-
534
- mov eax,1
535
- shl eax,cl
536
- dec eax
537
- and eax,ebp
538
- add eax,edx
539
- mov edx, [esp+12]
540
- mov eax, [edx+eax*4]
541
- jmp L_dodist
542
-
543
-ALIGN 4
544
-L_clip_window:
545
-; 721 "inffast.S"
546
- mov ecx,eax
547
- mov eax, [esp+52]
548
- neg ecx
549
- mov esi, [esp+56]
550
-
551
- cmp eax,edx
552
- jb L_invalid_distance_too_far
553
-
554
- add ecx,edx
555
- cmp dword ptr [esp+48],0
556
- jne L_wrap_around_window
557
-
558
- sub eax,ecx
559
- add esi,eax
560
-; 749 "inffast.S"
561
- mov eax, [esp+24]
562
- cmp eax,ecx
563
- jbe L_do_copy1
564
-
565
- sub eax,ecx
566
- rep movsb
567
- mov esi,edi
568
- sub esi,edx
569
- jmp L_do_copy1
570
-
571
- cmp eax,ecx
572
- jbe L_do_copy1
573
-
574
- sub eax,ecx
575
- rep movsb
576
- mov esi,edi
577
- sub esi,edx
578
- jmp L_do_copy1
579
-
580
-L_wrap_around_window:
581
-; 793 "inffast.S"
582
- mov eax, [esp+48]
583
- cmp ecx,eax
584
- jbe L_contiguous_in_window
585
-
586
- add esi, [esp+52]
587
- add esi,eax
588
- sub esi,ecx
589
- sub ecx,eax
590
-
591
-
592
- mov eax, [esp+24]
593
- cmp eax,ecx
594
- jbe L_do_copy1
595
-
596
- sub eax,ecx
597
- rep movsb
598
- mov esi, [esp+56]
599
- mov ecx, [esp+48]
600
- cmp eax,ecx
601
- jbe L_do_copy1
602
-
603
- sub eax,ecx
604
- rep movsb
605
- mov esi,edi
606
- sub esi,edx
607
- jmp L_do_copy1
608
-
609
-L_contiguous_in_window:
610
-; 836 "inffast.S"
611
- add esi,eax
612
- sub esi,ecx
613
-
614
-
615
- mov eax, [esp+24]
616
- cmp eax,ecx
617
- jbe L_do_copy1
618
-
619
- sub eax,ecx
620
- rep movsb
621
- mov esi,edi
622
- sub esi,edx
623
-
624
-L_do_copy1:
625
-; 862 "inffast.S"
626
- mov ecx,eax
627
- rep movsb
628
-
629
- mov esi, [esp+44]
630
- jmp L_while_test
631
-; 878 "inffast.S"
632
-ALIGN 4
633
-L_init_mmx:
634
- emms
635
-
636
-
637
-
638
-
639
-
640
- movd mm0,ebp
641
- mov ebp,ebx
642
-; 896 "inffast.S"
643
- movd mm4,dword ptr [esp+0]
644
- movq mm3,mm4
645
- movd mm5,dword ptr [esp+4]
646
- movq mm2,mm5
647
- pxor mm1,mm1
648
- mov ebx, [esp+8]
649
- jmp L_do_loop_mmx
650
-
651
-ALIGN 4
652
-L_do_loop_mmx:
653
- psrlq mm0,mm1
654
-
655
- cmp ebp,32
656
- ja L_get_length_code_mmx
657
-
658
- movd mm6,ebp
659
- movd mm7,dword ptr [esi]
660
- add esi,4
661
- psllq mm7,mm6
662
- add ebp,32
663
- por mm0,mm7
664
-
665
-L_get_length_code_mmx:
666
- pand mm4,mm0
667
- movd eax,mm4
668
- movq mm4,mm3
669
- mov eax, [ebx+eax*4]
670
-
671
-L_dolen_mmx:
672
- movzx ecx,ah
673
- movd mm1,ecx
674
- sub ebp,ecx
675
-
676
- test al,al
677
- jnz L_test_for_length_base_mmx
678
-
679
- shr eax,16
680
- stosb
681
-
682
-L_while_test_mmx:
683
-
684
-
685
- cmp [esp+16],edi
686
- jbe L_break_loop
687
-
688
- cmp [esp+20],esi
689
- ja L_do_loop_mmx
690
- jmp L_break_loop
691
-
692
-L_test_for_length_base_mmx:
693
-
694
- mov edx,eax
695
- shr edx,16
696
-
697
- test al,16
698
- jz L_test_for_second_level_length_mmx
699
- and eax,15
700
- jz L_decode_distance_mmx
701
-
702
- psrlq mm0,mm1
703
- movd mm1,eax
704
- movd ecx,mm0
705
- sub ebp,eax
706
- and ecx, [inflate_fast_mask+eax*4]
707
- add edx,ecx
708
-
709
-L_decode_distance_mmx:
710
- psrlq mm0,mm1
711
-
712
- cmp ebp,32
713
- ja L_get_dist_code_mmx
714
-
715
- movd mm6,ebp
716
- movd mm7,dword ptr [esi]
717
- add esi,4
718
- psllq mm7,mm6
719
- add ebp,32
720
- por mm0,mm7
721
-
722
-L_get_dist_code_mmx:
723
- mov ebx, [esp+12]
724
- pand mm5,mm0
725
- movd eax,mm5
726
- movq mm5,mm2
727
- mov eax, [ebx+eax*4]
728
-
729
-L_dodist_mmx:
730
-
731
- movzx ecx,ah
732
- mov ebx,eax
733
- shr ebx,16
734
- sub ebp,ecx
735
- movd mm1,ecx
736
-
737
- test al,16
738
- jz L_test_for_second_level_dist_mmx
739
- and eax,15
740
- jz L_check_dist_one_mmx
741
-
742
-L_add_bits_to_dist_mmx:
743
- psrlq mm0,mm1
744
- movd mm1,eax
745
- movd ecx,mm0
746
- sub ebp,eax
747
- and ecx, [inflate_fast_mask+eax*4]
748
- add ebx,ecx
749
-
750
-L_check_window_mmx:
751
- mov [esp+44],esi
752
- mov eax,edi
753
- sub eax, [esp+40]
754
-
755
- cmp eax,ebx
756
- jb L_clip_window_mmx
757
-
758
- mov ecx,edx
759
- mov esi,edi
760
- sub esi,ebx
761
-
762
- sub ecx,3
763
- mov al, [esi]
764
- mov [edi],al
765
- mov al, [esi+1]
766
- mov dl, [esi+2]
767
- add esi,3
768
- mov [edi+1],al
769
- mov [edi+2],dl
770
- add edi,3
771
- rep movsb
772
-
773
- mov esi, [esp+44]
774
- mov ebx, [esp+8]
775
- jmp L_while_test_mmx
776
-
777
-ALIGN 4
778
-L_check_dist_one_mmx:
779
- cmp ebx,1
780
- jne L_check_window_mmx
781
- cmp [esp+40],edi
782
- je L_check_window_mmx
783
-
784
- dec edi
785
- mov ecx,edx
786
- mov al, [edi]
787
- sub ecx,3
788
-
789
- mov [edi+1],al
790
- mov [edi+2],al
791
- mov [edi+3],al
792
- add edi,4
793
- rep stosb
794
-
795
- mov ebx, [esp+8]
796
- jmp L_while_test_mmx
797
-
798
-ALIGN 4
799
-L_test_for_second_level_length_mmx:
800
- test al,64
801
- jnz L_test_for_end_of_block
802
-
803
- and eax,15
804
- psrlq mm0,mm1
805
- movd ecx,mm0
806
- and ecx, [inflate_fast_mask+eax*4]
807
- add ecx,edx
808
- mov eax, [ebx+ecx*4]
809
- jmp L_dolen_mmx
810
-
811
-ALIGN 4
812
-L_test_for_second_level_dist_mmx:
813
- test al,64
814
- jnz L_invalid_distance_code
815
-
816
- and eax,15
817
- psrlq mm0,mm1
818
- movd ecx,mm0
819
- and ecx, [inflate_fast_mask+eax*4]
820
- mov eax, [esp+12]
821
- add ecx,ebx
822
- mov eax, [eax+ecx*4]
823
- jmp L_dodist_mmx
824
-
825
-ALIGN 4
826
-L_clip_window_mmx:
827
-
828
- mov ecx,eax
829
- mov eax, [esp+52]
830
- neg ecx
831
- mov esi, [esp+56]
832
-
833
- cmp eax,ebx
834
- jb L_invalid_distance_too_far
835
-
836
- add ecx,ebx
837
- cmp dword ptr [esp+48],0
838
- jne L_wrap_around_window_mmx
839
-
840
- sub eax,ecx
841
- add esi,eax
842
-
843
- cmp edx,ecx
844
- jbe L_do_copy1_mmx
845
-
846
- sub edx,ecx
847
- rep movsb
848
- mov esi,edi
849
- sub esi,ebx
850
- jmp L_do_copy1_mmx
851
-
852
- cmp edx,ecx
853
- jbe L_do_copy1_mmx
854
-
855
- sub edx,ecx
856
- rep movsb
857
- mov esi,edi
858
- sub esi,ebx
859
- jmp L_do_copy1_mmx
860
-
861
-L_wrap_around_window_mmx:
862
-
863
- mov eax, [esp+48]
864
- cmp ecx,eax
865
- jbe L_contiguous_in_window_mmx
866
-
867
- add esi, [esp+52]
868
- add esi,eax
869
- sub esi,ecx
870
- sub ecx,eax
871
-
872
-
873
- cmp edx,ecx
874
- jbe L_do_copy1_mmx
875
-
876
- sub edx,ecx
877
- rep movsb
878
- mov esi, [esp+56]
879
- mov ecx, [esp+48]
880
- cmp edx,ecx
881
- jbe L_do_copy1_mmx
882
-
883
- sub edx,ecx
884
- rep movsb
885
- mov esi,edi
886
- sub esi,ebx
887
- jmp L_do_copy1_mmx
888
-
889
-L_contiguous_in_window_mmx:
890
-
891
- add esi,eax
892
- sub esi,ecx
893
-
894
-
895
- cmp edx,ecx
896
- jbe L_do_copy1_mmx
897
-
898
- sub edx,ecx
899
- rep movsb
900
- mov esi,edi
901
- sub esi,ebx
902
-
903
-L_do_copy1_mmx:
904
-
905
-
906
- mov ecx,edx
907
- rep movsb
908
-
909
- mov esi, [esp+44]
910
- mov ebx, [esp+8]
911
- jmp L_while_test_mmx
912
-; 1174 "inffast.S"
913
-L_invalid_distance_code:
914
-
915
-
916
-
917
-
918
-
919
- mov ecx, invalid_distance_code_msg
920
- mov edx,INFLATE_MODE_BAD
921
- jmp L_update_stream_state
922
-
923
-L_test_for_end_of_block:
924
-
925
-
926
-
927
-
928
-
929
- test al,32
930
- jz L_invalid_literal_length_code
931
-
932
- mov ecx,0
933
- mov edx,INFLATE_MODE_TYPE
934
- jmp L_update_stream_state
935
-
936
-L_invalid_literal_length_code:
937
-
938
-
939
-
940
-
941
-
942
- mov ecx, invalid_literal_length_code_msg
943
- mov edx,INFLATE_MODE_BAD
944
- jmp L_update_stream_state
945
-
946
-L_invalid_distance_too_far:
947
-
948
-
949
-
950
- mov esi, [esp+44]
951
- mov ecx, invalid_distance_too_far_msg
952
- mov edx,INFLATE_MODE_BAD
953
- jmp L_update_stream_state
954
-
955
-L_update_stream_state:
956
-
957
- mov eax, [esp+88]
958
- test ecx,ecx
959
- jz L_skip_msg
960
- mov [eax+24],ecx
961
-L_skip_msg:
962
- mov eax, [eax+28]
963
- mov [eax+mode_state],edx
964
- jmp L_break_loop
965
-
966
-ALIGN 4
967
-L_break_loop:
968
-; 1243 "inffast.S"
969
- cmp dword ptr [inflate_fast_use_mmx],2
970
- jne L_update_next_in
971
-
972
-
973
-
974
- mov ebx,ebp
975
-
976
-L_update_next_in:
977
-; 1266 "inffast.S"
978
- mov eax, [esp+88]
979
- mov ecx,ebx
980
- mov edx, [eax+28]
981
- shr ecx,3
982
- sub esi,ecx
983
- shl ecx,3
984
- sub ebx,ecx
985
- mov [eax+12],edi
986
- mov [edx+bits_state],ebx
987
- mov ecx,ebx
988
-
989
- lea ebx, [esp+28]
990
- cmp [esp+20],ebx
991
- jne L_buf_not_used
992
-
993
- sub esi,ebx
994
- mov ebx, [eax+0]
995
- mov [esp+20],ebx
996
- add esi,ebx
997
- mov ebx, [eax+4]
998
- sub ebx,11
999
- add [esp+20],ebx
1000
-
1001
-L_buf_not_used:
1002
- mov [eax+0],esi
1003
-
1004
- mov ebx,1
1005
- shl ebx,cl
1006
- dec ebx
1007
-
1008
-
1009
-
1010
-
1011
-
1012
- cmp dword ptr [inflate_fast_use_mmx],2
1013
- jne L_update_hold
1014
-
1015
-
1016
-
1017
- psrlq mm0,mm1
1018
- movd ebp,mm0
1019
-
1020
- emms
1021
-
1022
-L_update_hold:
1023
-
1024
-
1025
-
1026
- and ebp,ebx
1027
- mov [edx+hold_state],ebp
1028
-
1029
-
1030
-
1031
-
1032
- mov ebx, [esp+20]
1033
- cmp ebx,esi
1034
- jbe L_last_is_smaller
1035
-
1036
- sub ebx,esi
1037
- add ebx,11
1038
- mov [eax+4],ebx
1039
- jmp L_fixup_out
1040
-L_last_is_smaller:
1041
- sub esi,ebx
1042
- neg esi
1043
- add esi,11
1044
- mov [eax+4],esi
1045
-
1046
-
1047
-
1048
-
1049
-L_fixup_out:
1050
-
1051
- mov ebx, [esp+16]
1052
- cmp ebx,edi
1053
- jbe L_end_is_smaller
1054
-
1055
- sub ebx,edi
1056
- add ebx,257
1057
- mov [eax+16],ebx
1058
- jmp L_done
1059
-L_end_is_smaller:
1060
- sub edi,ebx
1061
- neg edi
1062
- add edi,257
1063
- mov [eax+16],edi
1064
-
1065
-
1066
-
1067
-
1068
-
1069
-L_done:
1070
- add esp,64
1071
- popfd
1072
- pop ebx
1073
- pop ebp
1074
- pop esi
1075
- pop edi
1076
- ret
1077
-_inflate_fast endp
1078
-
1079
-_TEXT ends
1080
-end
--- a/compat/zlib/contrib/masmx86/inffas32.asm
+++ b/compat/zlib/contrib/masmx86/inffas32.asm
@@ -1,1080 +0,0 @@
1 ;/* inffas32.asm is a hand tuned assembler version of inffast.c -- fast decoding
2 ; *
3 ; * inffas32.asm is derivated from inffas86.c, with translation of assembly code
4 ; *
5 ; * Copyright (C) 1995-2003 Mark Adler
6 ; * For conditions of distribution and use, see copyright notice in zlib.h
7 ; *
8 ; * Copyright (C) 2003 Chris Anderson <[email protected]>
9 ; * Please use the copyright conditions above.
10 ; *
11 ; * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from
12 ; * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at
13 ; * the moment. I have successfully compiled and tested this code with gcc2.96,
14 ; * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S
15 ; * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX
16 ; * enabled. I will attempt to merge the MMX code into this version. Newer
17 ; * versions of this and inffast.S can be found at
18 ; * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/
19 ; *
20 ; * 2005 : modification by Gilles Vollant
21 ; */
22 ; For Visual C++ 4.x and higher and ML 6.x and higher
23 ; ml.exe is in directory \MASM611C of Win95 DDK
24 ; ml.exe is also distributed in http://www.masm32.com/masmdl.htm
25 ; and in VC++2003 toolkit at http://msdn.microsoft.com/visualc/vctoolkit2003/
26 ;
27 ;
28 ; compile with command line option
29 ; ml /coff /Zi /c /Flinffas32.lst inffas32.asm
30
31 ; if you define NO_GZIP (see inflate.h), compile with
32 ; ml /coff /Zi /c /Flinffas32.lst /DNO_GUNZIP inffas32.asm
33
34
35 ; zlib122sup is 0 fort zlib 1.2.2.1 and lower
36 ; zlib122sup is 8 fort zlib 1.2.2.2 and more (with addition of dmax and head
37 ; in inflate_state in inflate.h)
38 zlib1222sup equ 8
39
40
41 IFDEF GUNZIP
42 INFLATE_MODE_TYPE equ 11
43 INFLATE_MODE_BAD equ 26
44 ELSE
45 IFNDEF NO_GUNZIP
46 INFLATE_MODE_TYPE equ 11
47 INFLATE_MODE_BAD equ 26
48 ELSE
49 INFLATE_MODE_TYPE equ 3
50 INFLATE_MODE_BAD equ 17
51 ENDIF
52 ENDIF
53
54
55 ; 75 "inffast.S"
56 ;FILE "inffast.S"
57
58 ;;;GLOBAL _inflate_fast
59
60 ;;;SECTION .text
61
62
63
64 .586p
65 .mmx
66
67 name inflate_fast_x86
68 .MODEL FLAT
69
70 _DATA segment
71 inflate_fast_use_mmx:
72 dd 1
73
74
75 _TEXT segment
76
77
78
79 ALIGN 4
80 db 'Fast decoding Code from Chris Anderson'
81 db 0
82
83 ALIGN 4
84 invalid_literal_length_code_msg:
85 db 'invalid literal/length code'
86 db 0
87
88 ALIGN 4
89 invalid_distance_code_msg:
90 db 'invalid distance code'
91 db 0
92
93 ALIGN 4
94 invalid_distance_too_far_msg:
95 db 'invalid distance too far back'
96 db 0
97
98
99 ALIGN 4
100 inflate_fast_mask:
101 dd 0
102 dd 1
103 dd 3
104 dd 7
105 dd 15
106 dd 31
107 dd 63
108 dd 127
109 dd 255
110 dd 511
111 dd 1023
112 dd 2047
113 dd 4095
114 dd 8191
115 dd 16383
116 dd 32767
117 dd 65535
118 dd 131071
119 dd 262143
120 dd 524287
121 dd 1048575
122 dd 2097151
123 dd 4194303
124 dd 8388607
125 dd 16777215
126 dd 33554431
127 dd 67108863
128 dd 134217727
129 dd 268435455
130 dd 536870911
131 dd 1073741823
132 dd 2147483647
133 dd 4294967295
134
135
136 mode_state equ 0 ;/* state->mode */
137 wsize_state equ (32+zlib1222sup) ;/* state->wsize */
138 write_state equ (36+4+zlib1222sup) ;/* state->write */
139 window_state equ (40+4+zlib1222sup) ;/* state->window */
140 hold_state equ (44+4+zlib1222sup) ;/* state->hold */
141 bits_state equ (48+4+zlib1222sup) ;/* state->bits */
142 lencode_state equ (64+4+zlib1222sup) ;/* state->lencode */
143 distcode_state equ (68+4+zlib1222sup) ;/* state->distcode */
144 lenbits_state equ (72+4+zlib1222sup) ;/* state->lenbits */
145 distbits_state equ (76+4+zlib1222sup) ;/* state->distbits */
146
147
148 ;;SECTION .text
149 ; 205 "inffast.S"
150 ;GLOBAL inflate_fast_use_mmx
151
152 ;SECTION .data
153
154
155 ; GLOBAL inflate_fast_use_mmx:object
156 ;.size inflate_fast_use_mmx, 4
157 ; 226 "inffast.S"
158 ;SECTION .text
159
160 ALIGN 4
161 _inflate_fast proc near
162 .FPO (16, 4, 0, 0, 1, 0)
163 push edi
164 push esi
165 push ebp
166 push ebx
167 pushfd
168 sub esp,64
169 cld
170
171
172
173
174 mov esi, [esp+88]
175 mov edi, [esi+28]
176
177
178
179
180
181
182
183 mov edx, [esi+4]
184 mov eax, [esi+0]
185
186 add edx,eax
187 sub edx,11
188
189 mov [esp+44],eax
190 mov [esp+20],edx
191
192 mov ebp, [esp+92]
193 mov ecx, [esi+16]
194 mov ebx, [esi+12]
195
196 sub ebp,ecx
197 neg ebp
198 add ebp,ebx
199
200 sub ecx,257
201 add ecx,ebx
202
203 mov [esp+60],ebx
204 mov [esp+40],ebp
205 mov [esp+16],ecx
206 ; 285 "inffast.S"
207 mov eax, [edi+lencode_state]
208 mov ecx, [edi+distcode_state]
209
210 mov [esp+8],eax
211 mov [esp+12],ecx
212
213 mov eax,1
214 mov ecx, [edi+lenbits_state]
215 shl eax,cl
216 dec eax
217 mov [esp+0],eax
218
219 mov eax,1
220 mov ecx, [edi+distbits_state]
221 shl eax,cl
222 dec eax
223 mov [esp+4],eax
224
225 mov eax, [edi+wsize_state]
226 mov ecx, [edi+write_state]
227 mov edx, [edi+window_state]
228
229 mov [esp+52],eax
230 mov [esp+48],ecx
231 mov [esp+56],edx
232
233 mov ebp, [edi+hold_state]
234 mov ebx, [edi+bits_state]
235 ; 321 "inffast.S"
236 mov esi, [esp+44]
237 mov ecx, [esp+20]
238 cmp ecx,esi
239 ja L_align_long
240
241 add ecx,11
242 sub ecx,esi
243 mov eax,12
244 sub eax,ecx
245 lea edi, [esp+28]
246 rep movsb
247 mov ecx,eax
248 xor eax,eax
249 rep stosb
250 lea esi, [esp+28]
251 mov [esp+20],esi
252 jmp L_is_aligned
253
254
255 L_align_long:
256 test esi,3
257 jz L_is_aligned
258 xor eax,eax
259 mov al, [esi]
260 inc esi
261 mov ecx,ebx
262 add ebx,8
263 shl eax,cl
264 or ebp,eax
265 jmp L_align_long
266
267 L_is_aligned:
268 mov edi, [esp+60]
269 ; 366 "inffast.S"
270 L_check_mmx:
271 cmp dword ptr [inflate_fast_use_mmx],2
272 je L_init_mmx
273 ja L_do_loop
274
275 push eax
276 push ebx
277 push ecx
278 push edx
279 pushfd
280 mov eax, [esp]
281 xor dword ptr [esp],0200000h
282
283
284
285
286 popfd
287 pushfd
288 pop edx
289 xor edx,eax
290 jz L_dont_use_mmx
291 xor eax,eax
292 cpuid
293 cmp ebx,0756e6547h
294 jne L_dont_use_mmx
295 cmp ecx,06c65746eh
296 jne L_dont_use_mmx
297 cmp edx,049656e69h
298 jne L_dont_use_mmx
299 mov eax,1
300 cpuid
301 shr eax,8
302 and eax,15
303 cmp eax,6
304 jne L_dont_use_mmx
305 test edx,0800000h
306 jnz L_use_mmx
307 jmp L_dont_use_mmx
308 L_use_mmx:
309 mov dword ptr [inflate_fast_use_mmx],2
310 jmp L_check_mmx_pop
311 L_dont_use_mmx:
312 mov dword ptr [inflate_fast_use_mmx],3
313 L_check_mmx_pop:
314 pop edx
315 pop ecx
316 pop ebx
317 pop eax
318 jmp L_check_mmx
319 ; 426 "inffast.S"
320 ALIGN 4
321 L_do_loop:
322 ; 437 "inffast.S"
323 cmp bl,15
324 ja L_get_length_code
325
326 xor eax,eax
327 lodsw
328 mov cl,bl
329 add bl,16
330 shl eax,cl
331 or ebp,eax
332
333 L_get_length_code:
334 mov edx, [esp+0]
335 mov ecx, [esp+8]
336 and edx,ebp
337 mov eax, [ecx+edx*4]
338
339 L_dolen:
340
341
342
343
344
345
346 mov cl,ah
347 sub bl,ah
348 shr ebp,cl
349
350
351
352
353
354
355 test al,al
356 jnz L_test_for_length_base
357
358 shr eax,16
359 stosb
360
361 L_while_test:
362
363
364 cmp [esp+16],edi
365 jbe L_break_loop
366
367 cmp [esp+20],esi
368 ja L_do_loop
369 jmp L_break_loop
370
371 L_test_for_length_base:
372 ; 502 "inffast.S"
373 mov edx,eax
374 shr edx,16
375 mov cl,al
376
377 test al,16
378 jz L_test_for_second_level_length
379 and cl,15
380 jz L_save_len
381 cmp bl,cl
382 jae L_add_bits_to_len
383
384 mov ch,cl
385 xor eax,eax
386 lodsw
387 mov cl,bl
388 add bl,16
389 shl eax,cl
390 or ebp,eax
391 mov cl,ch
392
393 L_add_bits_to_len:
394 mov eax,1
395 shl eax,cl
396 dec eax
397 sub bl,cl
398 and eax,ebp
399 shr ebp,cl
400 add edx,eax
401
402 L_save_len:
403 mov [esp+24],edx
404
405
406 L_decode_distance:
407 ; 549 "inffast.S"
408 cmp bl,15
409 ja L_get_distance_code
410
411 xor eax,eax
412 lodsw
413 mov cl,bl
414 add bl,16
415 shl eax,cl
416 or ebp,eax
417
418 L_get_distance_code:
419 mov edx, [esp+4]
420 mov ecx, [esp+12]
421 and edx,ebp
422 mov eax, [ecx+edx*4]
423
424
425 L_dodist:
426 mov edx,eax
427 shr edx,16
428 mov cl,ah
429 sub bl,ah
430 shr ebp,cl
431 ; 584 "inffast.S"
432 mov cl,al
433
434 test al,16
435 jz L_test_for_second_level_dist
436 and cl,15
437 jz L_check_dist_one
438 cmp bl,cl
439 jae L_add_bits_to_dist
440
441 mov ch,cl
442 xor eax,eax
443 lodsw
444 mov cl,bl
445 add bl,16
446 shl eax,cl
447 or ebp,eax
448 mov cl,ch
449
450 L_add_bits_to_dist:
451 mov eax,1
452 shl eax,cl
453 dec eax
454 sub bl,cl
455 and eax,ebp
456 shr ebp,cl
457 add edx,eax
458 jmp L_check_window
459
460 L_check_window:
461 ; 625 "inffast.S"
462 mov [esp+44],esi
463 mov eax,edi
464 sub eax, [esp+40]
465
466 cmp eax,edx
467 jb L_clip_window
468
469 mov ecx, [esp+24]
470 mov esi,edi
471 sub esi,edx
472
473 sub ecx,3
474 mov al, [esi]
475 mov [edi],al
476 mov al, [esi+1]
477 mov dl, [esi+2]
478 add esi,3
479 mov [edi+1],al
480 mov [edi+2],dl
481 add edi,3
482 rep movsb
483
484 mov esi, [esp+44]
485 jmp L_while_test
486
487 ALIGN 4
488 L_check_dist_one:
489 cmp edx,1
490 jne L_check_window
491 cmp [esp+40],edi
492 je L_check_window
493
494 dec edi
495 mov ecx, [esp+24]
496 mov al, [edi]
497 sub ecx,3
498
499 mov [edi+1],al
500 mov [edi+2],al
501 mov [edi+3],al
502 add edi,4
503 rep stosb
504
505 jmp L_while_test
506
507 ALIGN 4
508 L_test_for_second_level_length:
509
510
511
512
513 test al,64
514 jnz L_test_for_end_of_block
515
516 mov eax,1
517 shl eax,cl
518 dec eax
519 and eax,ebp
520 add eax,edx
521 mov edx, [esp+8]
522 mov eax, [edx+eax*4]
523 jmp L_dolen
524
525 ALIGN 4
526 L_test_for_second_level_dist:
527
528
529
530
531 test al,64
532 jnz L_invalid_distance_code
533
534 mov eax,1
535 shl eax,cl
536 dec eax
537 and eax,ebp
538 add eax,edx
539 mov edx, [esp+12]
540 mov eax, [edx+eax*4]
541 jmp L_dodist
542
543 ALIGN 4
544 L_clip_window:
545 ; 721 "inffast.S"
546 mov ecx,eax
547 mov eax, [esp+52]
548 neg ecx
549 mov esi, [esp+56]
550
551 cmp eax,edx
552 jb L_invalid_distance_too_far
553
554 add ecx,edx
555 cmp dword ptr [esp+48],0
556 jne L_wrap_around_window
557
558 sub eax,ecx
559 add esi,eax
560 ; 749 "inffast.S"
561 mov eax, [esp+24]
562 cmp eax,ecx
563 jbe L_do_copy1
564
565 sub eax,ecx
566 rep movsb
567 mov esi,edi
568 sub esi,edx
569 jmp L_do_copy1
570
571 cmp eax,ecx
572 jbe L_do_copy1
573
574 sub eax,ecx
575 rep movsb
576 mov esi,edi
577 sub esi,edx
578 jmp L_do_copy1
579
580 L_wrap_around_window:
581 ; 793 "inffast.S"
582 mov eax, [esp+48]
583 cmp ecx,eax
584 jbe L_contiguous_in_window
585
586 add esi, [esp+52]
587 add esi,eax
588 sub esi,ecx
589 sub ecx,eax
590
591
592 mov eax, [esp+24]
593 cmp eax,ecx
594 jbe L_do_copy1
595
596 sub eax,ecx
597 rep movsb
598 mov esi, [esp+56]
599 mov ecx, [esp+48]
600 cmp eax,ecx
601 jbe L_do_copy1
602
603 sub eax,ecx
604 rep movsb
605 mov esi,edi
606 sub esi,edx
607 jmp L_do_copy1
608
609 L_contiguous_in_window:
610 ; 836 "inffast.S"
611 add esi,eax
612 sub esi,ecx
613
614
615 mov eax, [esp+24]
616 cmp eax,ecx
617 jbe L_do_copy1
618
619 sub eax,ecx
620 rep movsb
621 mov esi,edi
622 sub esi,edx
623
624 L_do_copy1:
625 ; 862 "inffast.S"
626 mov ecx,eax
627 rep movsb
628
629 mov esi, [esp+44]
630 jmp L_while_test
631 ; 878 "inffast.S"
632 ALIGN 4
633 L_init_mmx:
634 emms
635
636
637
638
639
640 movd mm0,ebp
641 mov ebp,ebx
642 ; 896 "inffast.S"
643 movd mm4,dword ptr [esp+0]
644 movq mm3,mm4
645 movd mm5,dword ptr [esp+4]
646 movq mm2,mm5
647 pxor mm1,mm1
648 mov ebx, [esp+8]
649 jmp L_do_loop_mmx
650
651 ALIGN 4
652 L_do_loop_mmx:
653 psrlq mm0,mm1
654
655 cmp ebp,32
656 ja L_get_length_code_mmx
657
658 movd mm6,ebp
659 movd mm7,dword ptr [esi]
660 add esi,4
661 psllq mm7,mm6
662 add ebp,32
663 por mm0,mm7
664
665 L_get_length_code_mmx:
666 pand mm4,mm0
667 movd eax,mm4
668 movq mm4,mm3
669 mov eax, [ebx+eax*4]
670
671 L_dolen_mmx:
672 movzx ecx,ah
673 movd mm1,ecx
674 sub ebp,ecx
675
676 test al,al
677 jnz L_test_for_length_base_mmx
678
679 shr eax,16
680 stosb
681
682 L_while_test_mmx:
683
684
685 cmp [esp+16],edi
686 jbe L_break_loop
687
688 cmp [esp+20],esi
689 ja L_do_loop_mmx
690 jmp L_break_loop
691
692 L_test_for_length_base_mmx:
693
694 mov edx,eax
695 shr edx,16
696
697 test al,16
698 jz L_test_for_second_level_length_mmx
699 and eax,15
700 jz L_decode_distance_mmx
701
702 psrlq mm0,mm1
703 movd mm1,eax
704 movd ecx,mm0
705 sub ebp,eax
706 and ecx, [inflate_fast_mask+eax*4]
707 add edx,ecx
708
709 L_decode_distance_mmx:
710 psrlq mm0,mm1
711
712 cmp ebp,32
713 ja L_get_dist_code_mmx
714
715 movd mm6,ebp
716 movd mm7,dword ptr [esi]
717 add esi,4
718 psllq mm7,mm6
719 add ebp,32
720 por mm0,mm7
721
722 L_get_dist_code_mmx:
723 mov ebx, [esp+12]
724 pand mm5,mm0
725 movd eax,mm5
726 movq mm5,mm2
727 mov eax, [ebx+eax*4]
728
729 L_dodist_mmx:
730
731 movzx ecx,ah
732 mov ebx,eax
733 shr ebx,16
734 sub ebp,ecx
735 movd mm1,ecx
736
737 test al,16
738 jz L_test_for_second_level_dist_mmx
739 and eax,15
740 jz L_check_dist_one_mmx
741
742 L_add_bits_to_dist_mmx:
743 psrlq mm0,mm1
744 movd mm1,eax
745 movd ecx,mm0
746 sub ebp,eax
747 and ecx, [inflate_fast_mask+eax*4]
748 add ebx,ecx
749
750 L_check_window_mmx:
751 mov [esp+44],esi
752 mov eax,edi
753 sub eax, [esp+40]
754
755 cmp eax,ebx
756 jb L_clip_window_mmx
757
758 mov ecx,edx
759 mov esi,edi
760 sub esi,ebx
761
762 sub ecx,3
763 mov al, [esi]
764 mov [edi],al
765 mov al, [esi+1]
766 mov dl, [esi+2]
767 add esi,3
768 mov [edi+1],al
769 mov [edi+2],dl
770 add edi,3
771 rep movsb
772
773 mov esi, [esp+44]
774 mov ebx, [esp+8]
775 jmp L_while_test_mmx
776
777 ALIGN 4
778 L_check_dist_one_mmx:
779 cmp ebx,1
780 jne L_check_window_mmx
781 cmp [esp+40],edi
782 je L_check_window_mmx
783
784 dec edi
785 mov ecx,edx
786 mov al, [edi]
787 sub ecx,3
788
789 mov [edi+1],al
790 mov [edi+2],al
791 mov [edi+3],al
792 add edi,4
793 rep stosb
794
795 mov ebx, [esp+8]
796 jmp L_while_test_mmx
797
798 ALIGN 4
799 L_test_for_second_level_length_mmx:
800 test al,64
801 jnz L_test_for_end_of_block
802
803 and eax,15
804 psrlq mm0,mm1
805 movd ecx,mm0
806 and ecx, [inflate_fast_mask+eax*4]
807 add ecx,edx
808 mov eax, [ebx+ecx*4]
809 jmp L_dolen_mmx
810
811 ALIGN 4
812 L_test_for_second_level_dist_mmx:
813 test al,64
814 jnz L_invalid_distance_code
815
816 and eax,15
817 psrlq mm0,mm1
818 movd ecx,mm0
819 and ecx, [inflate_fast_mask+eax*4]
820 mov eax, [esp+12]
821 add ecx,ebx
822 mov eax, [eax+ecx*4]
823 jmp L_dodist_mmx
824
825 ALIGN 4
826 L_clip_window_mmx:
827
828 mov ecx,eax
829 mov eax, [esp+52]
830 neg ecx
831 mov esi, [esp+56]
832
833 cmp eax,ebx
834 jb L_invalid_distance_too_far
835
836 add ecx,ebx
837 cmp dword ptr [esp+48],0
838 jne L_wrap_around_window_mmx
839
840 sub eax,ecx
841 add esi,eax
842
843 cmp edx,ecx
844 jbe L_do_copy1_mmx
845
846 sub edx,ecx
847 rep movsb
848 mov esi,edi
849 sub esi,ebx
850 jmp L_do_copy1_mmx
851
852 cmp edx,ecx
853 jbe L_do_copy1_mmx
854
855 sub edx,ecx
856 rep movsb
857 mov esi,edi
858 sub esi,ebx
859 jmp L_do_copy1_mmx
860
861 L_wrap_around_window_mmx:
862
863 mov eax, [esp+48]
864 cmp ecx,eax
865 jbe L_contiguous_in_window_mmx
866
867 add esi, [esp+52]
868 add esi,eax
869 sub esi,ecx
870 sub ecx,eax
871
872
873 cmp edx,ecx
874 jbe L_do_copy1_mmx
875
876 sub edx,ecx
877 rep movsb
878 mov esi, [esp+56]
879 mov ecx, [esp+48]
880 cmp edx,ecx
881 jbe L_do_copy1_mmx
882
883 sub edx,ecx
884 rep movsb
885 mov esi,edi
886 sub esi,ebx
887 jmp L_do_copy1_mmx
888
889 L_contiguous_in_window_mmx:
890
891 add esi,eax
892 sub esi,ecx
893
894
895 cmp edx,ecx
896 jbe L_do_copy1_mmx
897
898 sub edx,ecx
899 rep movsb
900 mov esi,edi
901 sub esi,ebx
902
903 L_do_copy1_mmx:
904
905
906 mov ecx,edx
907 rep movsb
908
909 mov esi, [esp+44]
910 mov ebx, [esp+8]
911 jmp L_while_test_mmx
912 ; 1174 "inffast.S"
913 L_invalid_distance_code:
914
915
916
917
918
919 mov ecx, invalid_distance_code_msg
920 mov edx,INFLATE_MODE_BAD
921 jmp L_update_stream_state
922
923 L_test_for_end_of_block:
924
925
926
927
928
929 test al,32
930 jz L_invalid_literal_length_code
931
932 mov ecx,0
933 mov edx,INFLATE_MODE_TYPE
934 jmp L_update_stream_state
935
936 L_invalid_literal_length_code:
937
938
939
940
941
942 mov ecx, invalid_literal_length_code_msg
943 mov edx,INFLATE_MODE_BAD
944 jmp L_update_stream_state
945
946 L_invalid_distance_too_far:
947
948
949
950 mov esi, [esp+44]
951 mov ecx, invalid_distance_too_far_msg
952 mov edx,INFLATE_MODE_BAD
953 jmp L_update_stream_state
954
955 L_update_stream_state:
956
957 mov eax, [esp+88]
958 test ecx,ecx
959 jz L_skip_msg
960 mov [eax+24],ecx
961 L_skip_msg:
962 mov eax, [eax+28]
963 mov [eax+mode_state],edx
964 jmp L_break_loop
965
966 ALIGN 4
967 L_break_loop:
968 ; 1243 "inffast.S"
969 cmp dword ptr [inflate_fast_use_mmx],2
970 jne L_update_next_in
971
972
973
974 mov ebx,ebp
975
976 L_update_next_in:
977 ; 1266 "inffast.S"
978 mov eax, [esp+88]
979 mov ecx,ebx
980 mov edx, [eax+28]
981 shr ecx,3
982 sub esi,ecx
983 shl ecx,3
984 sub ebx,ecx
985 mov [eax+12],edi
986 mov [edx+bits_state],ebx
987 mov ecx,ebx
988
989 lea ebx, [esp+28]
990 cmp [esp+20],ebx
991 jne L_buf_not_used
992
993 sub esi,ebx
994 mov ebx, [eax+0]
995 mov [esp+20],ebx
996 add esi,ebx
997 mov ebx, [eax+4]
998 sub ebx,11
999 add [esp+20],ebx
1000
1001 L_buf_not_used:
1002 mov [eax+0],esi
1003
1004 mov ebx,1
1005 shl ebx,cl
1006 dec ebx
1007
1008
1009
1010
1011
1012 cmp dword ptr [inflate_fast_use_mmx],2
1013 jne L_update_hold
1014
1015
1016
1017 psrlq mm0,mm1
1018 movd ebp,mm0
1019
1020 emms
1021
1022 L_update_hold:
1023
1024
1025
1026 and ebp,ebx
1027 mov [edx+hold_state],ebp
1028
1029
1030
1031
1032 mov ebx, [esp+20]
1033 cmp ebx,esi
1034 jbe L_last_is_smaller
1035
1036 sub ebx,esi
1037 add ebx,11
1038 mov [eax+4],ebx
1039 jmp L_fixup_out
1040 L_last_is_smaller:
1041 sub esi,ebx
1042 neg esi
1043 add esi,11
1044 mov [eax+4],esi
1045
1046
1047
1048
1049 L_fixup_out:
1050
1051 mov ebx, [esp+16]
1052 cmp ebx,edi
1053 jbe L_end_is_smaller
1054
1055 sub ebx,edi
1056 add ebx,257
1057 mov [eax+16],ebx
1058 jmp L_done
1059 L_end_is_smaller:
1060 sub edi,ebx
1061 neg edi
1062 add edi,257
1063 mov [eax+16],edi
1064
1065
1066
1067
1068
1069 L_done:
1070 add esp,64
1071 popfd
1072 pop ebx
1073 pop ebp
1074 pop esi
1075 pop edi
1076 ret
1077 _inflate_fast endp
1078
1079 _TEXT ends
1080 end
--- a/compat/zlib/contrib/masmx86/inffas32.asm
+++ b/compat/zlib/contrib/masmx86/inffas32.asm
@@ -1,1080 +0,0 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
D compat/zlib/contrib/masmx86/match686.asm
-479
--- a/compat/zlib/contrib/masmx86/match686.asm
+++ b/compat/zlib/contrib/masmx86/match686.asm
@@ -1,479 +0,0 @@
1
-; match686.asm -- Asm portion of the optimized longest_match for 32 bits x86
2
-; Copyright (C) 1995-1996 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
3
-; File written by Gilles Vollant, by converting match686.S from Brian Raiter
4
-; for MASM. This is as assembly version of longest_match
5
-; from Jean-loup Gailly in deflate.c
6
-;
7
-; http://www.zlib.net
8
-; http://www.winimage.com/zLibDll
9
-; http://www.muppetlabs.com/~breadbox/software/assembly.html
10
-;
11
-; For Visual C++ 4.x and higher and ML 6.x and higher
12
-; ml.exe is distributed in
13
-; http://www.microsoft.com/downloads/details.aspx?FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
14
-;
15
-; this file contain two implementation of longest_match
16
-;
17
-; this longest_match was written by Brian raiter (1998), optimized for Pentium Pro
18
-; (and the faster known version of match_init on modern Core 2 Duo and AMD Phenom)
19
-;
20
-; for using an assembly version of longest_match, you need define ASMV in project
21
-;
22
-; compile the asm file running
23
-; ml /coff /Zi /c /Flmatch686.lst match686.asm
24
-; and do not include match686.obj in your project
25
-;
26
-; note: contrib of zLib 1.2.3 and earlier contained both a deprecated version for
27
-; Pentium (prior Pentium Pro) and this version for Pentium Pro and modern processor
28
-; with autoselect (with cpu detection code)
29
-; if you want support the old pentium optimization, you can still use these version
30
-;
31
-; this file is not optimized for old pentium, but it compatible with all x86 32 bits
32
-; processor (starting 80386)
33
-;
34
-;
35
-; see below : zlib1222add must be adjuster if you use a zlib version < 1.2.2.2
36
-
37
-;uInt longest_match(s, cur_match)
38
-; deflate_state *s;
39
-; IPos cur_match; /* current match */
40
-
41
- NbStack equ 76
42
- cur_match equ dword ptr[esp+NbStack-0]
43
- str_s equ dword ptr[esp+NbStack-4]
44
-; 5 dword on top (ret,ebp,esi,edi,ebx)
45
- adrret equ dword ptr[esp+NbStack-8]
46
- pushebp equ dword ptr[esp+NbStack-12]
47
- pushedi equ dword ptr[esp+NbStack-16]
48
- pushesi equ dword ptr[esp+NbStack-20]
49
- pushebx equ dword ptr[esp+NbStack-24]
50
-
51
- chain_length equ dword ptr [esp+NbStack-28]
52
- limit equ dword ptr [esp+NbStack-32]
53
- best_len equ dword ptr [esp+NbStack-36]
54
- window equ dword ptr [esp+NbStack-40]
55
- prev equ dword ptr [esp+NbStack-44]
56
- scan_start equ word ptr [esp+NbStack-48]
57
- wmask equ dword ptr [esp+NbStack-52]
58
- match_start_ptr equ dword ptr [esp+NbStack-56]
59
- nice_match equ dword ptr [esp+NbStack-60]
60
- scan equ dword ptr [esp+NbStack-64]
61
-
62
- windowlen equ dword ptr [esp+NbStack-68]
63
- match_start equ dword ptr [esp+NbStack-72]
64
- strend equ dword ptr [esp+NbStack-76]
65
- NbStackAdd equ (NbStack-24)
66
-
67
- .386p
68
-
69
- name gvmatch
70
- .MODEL FLAT
71
-
72
-
73
-
74
-; all the +zlib1222add offsets are due to the addition of fields
75
-; in zlib in the deflate_state structure since the asm code was first written
76
-; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
77
-; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
78
-; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
79
-
80
- zlib1222add equ 8
81
-
82
-; Note : these value are good with a 8 bytes boundary pack structure
83
- dep_chain_length equ 74h+zlib1222add
84
- dep_window equ 30h+zlib1222add
85
- dep_strstart equ 64h+zlib1222add
86
- dep_prev_length equ 70h+zlib1222add
87
- dep_nice_match equ 88h+zlib1222add
88
- dep_w_size equ 24h+zlib1222add
89
- dep_prev equ 38h+zlib1222add
90
- dep_w_mask equ 2ch+zlib1222add
91
- dep_good_match equ 84h+zlib1222add
92
- dep_match_start equ 68h+zlib1222add
93
- dep_lookahead equ 6ch+zlib1222add
94
-
95
-
96
-_TEXT segment
97
-
98
-IFDEF NOUNDERLINE
99
- public longest_match
100
- public match_init
101
-ELSE
102
- public _longest_match
103
- public _match_init
104
-ENDIF
105
-
106
- MAX_MATCH equ 258
107
- MIN_MATCH equ 3
108
- MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
109
-
110
-
111
-
112
-MAX_MATCH equ 258
113
-MIN_MATCH equ 3
114
-MIN_LOOKAHEAD equ (MAX_MATCH + MIN_MATCH + 1)
115
-MAX_MATCH_8_ equ ((MAX_MATCH + 7) AND 0FFF0h)
116
-
117
-
118
-;;; stack frame offsets
119
-
120
-chainlenwmask equ esp + 0 ; high word: current chain len
121
- ; low word: s->wmask
122
-window equ esp + 4 ; local copy of s->window
123
-windowbestlen equ esp + 8 ; s->window + bestlen
124
-scanstart equ esp + 16 ; first two bytes of string
125
-scanend equ esp + 12 ; last two bytes of string
126
-scanalign equ esp + 20 ; dword-misalignment of string
127
-nicematch equ esp + 24 ; a good enough match size
128
-bestlen equ esp + 28 ; size of best match so far
129
-scan equ esp + 32 ; ptr to string wanting match
130
-
131
-LocalVarsSize equ 36
132
-; saved ebx byte esp + 36
133
-; saved edi byte esp + 40
134
-; saved esi byte esp + 44
135
-; saved ebp byte esp + 48
136
-; return address byte esp + 52
137
-deflatestate equ esp + 56 ; the function arguments
138
-curmatch equ esp + 60
139
-
140
-;;; Offsets for fields in the deflate_state structure. These numbers
141
-;;; are calculated from the definition of deflate_state, with the
142
-;;; assumption that the compiler will dword-align the fields. (Thus,
143
-;;; changing the definition of deflate_state could easily cause this
144
-;;; program to crash horribly, without so much as a warning at
145
-;;; compile time. Sigh.)
146
-
147
-dsWSize equ 36+zlib1222add
148
-dsWMask equ 44+zlib1222add
149
-dsWindow equ 48+zlib1222add
150
-dsPrev equ 56+zlib1222add
151
-dsMatchLen equ 88+zlib1222add
152
-dsPrevMatch equ 92+zlib1222add
153
-dsStrStart equ 100+zlib1222add
154
-dsMatchStart equ 104+zlib1222add
155
-dsLookahead equ 108+zlib1222add
156
-dsPrevLen equ 112+zlib1222add
157
-dsMaxChainLen equ 116+zlib1222add
158
-dsGoodMatch equ 132+zlib1222add
159
-dsNiceMatch equ 136+zlib1222add
160
-
161
-
162
-;;; match686.asm -- Pentium-Pro-optimized version of longest_match()
163
-;;; Written for zlib 1.1.2
164
-;;; Copyright (C) 1998 Brian Raiter <[email protected]>
165
-;;; You can look at http://www.muppetlabs.com/~breadbox/software/assembly.html
166
-;;;
167
-;;
168
-;; This software is provided 'as-is', without any express or implied
169
-;; warranty. In no event will the authors be held liable for any damages
170
-;; arising from the use of this software.
171
-;;
172
-;; Permission is granted to anyone to use this software for any purpose,
173
-;; including commercial applications, and to alter it and redistribute it
174
-;; freely, subject to the following restrictions:
175
-;;
176
-;; 1. The origin of this software must not be misrepresented; you must not
177
-;; claim that you wrote the original software. If you use this software
178
-;; in a product, an acknowledgment in the product documentation would be
179
-;; appreciated but is not required.
180
-;; 2. Altered source versions must be plainly marked as such, and must not be
181
-;; misrepresented as being the original software
182
-;; 3. This notice may not be removed or altered from any source distribution.
183
-;;
184
-
185
-;GLOBAL _longest_match, _match_init
186
-
187
-
188
-;SECTION .text
189
-
190
-;;; uInt longest_match(deflate_state *deflatestate, IPos curmatch)
191
-
192
-;_longest_match:
193
- IFDEF NOUNDERLINE
194
- longest_match proc near
195
- ELSE
196
- _longest_match proc near
197
- ENDIF
198
-.FPO (9, 4, 0, 0, 1, 0)
199
-
200
-;;; Save registers that the compiler may be using, and adjust esp to
201
-;;; make room for our stack frame.
202
-
203
- push ebp
204
- push edi
205
- push esi
206
- push ebx
207
- sub esp, LocalVarsSize
208
-
209
-;;; Retrieve the function arguments. ecx will hold cur_match
210
-;;; throughout the entire function. edx will hold the pointer to the
211
-;;; deflate_state structure during the function's setup (before
212
-;;; entering the main loop.
213
-
214
- mov edx, [deflatestate]
215
- mov ecx, [curmatch]
216
-
217
-;;; uInt wmask = s->w_mask;
218
-;;; unsigned chain_length = s->max_chain_length;
219
-;;; if (s->prev_length >= s->good_match) {
220
-;;; chain_length >>= 2;
221
-;;; }
222
-
223
- mov eax, [edx + dsPrevLen]
224
- mov ebx, [edx + dsGoodMatch]
225
- cmp eax, ebx
226
- mov eax, [edx + dsWMask]
227
- mov ebx, [edx + dsMaxChainLen]
228
- jl LastMatchGood
229
- shr ebx, 2
230
-LastMatchGood:
231
-
232
-;;; chainlen is decremented once beforehand so that the function can
233
-;;; use the sign flag instead of the zero flag for the exit test.
234
-;;; It is then shifted into the high word, to make room for the wmask
235
-;;; value, which it will always accompany.
236
-
237
- dec ebx
238
- shl ebx, 16
239
- or ebx, eax
240
- mov [chainlenwmask], ebx
241
-
242
-;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
243
-
244
- mov eax, [edx + dsNiceMatch]
245
- mov ebx, [edx + dsLookahead]
246
- cmp ebx, eax
247
- jl LookaheadLess
248
- mov ebx, eax
249
-LookaheadLess: mov [nicematch], ebx
250
-
251
-;;; register Bytef *scan = s->window + s->strstart;
252
-
253
- mov esi, [edx + dsWindow]
254
- mov [window], esi
255
- mov ebp, [edx + dsStrStart]
256
- lea edi, [esi + ebp]
257
- mov [scan], edi
258
-
259
-;;; Determine how many bytes the scan ptr is off from being
260
-;;; dword-aligned.
261
-
262
- mov eax, edi
263
- neg eax
264
- and eax, 3
265
- mov [scanalign], eax
266
-
267
-;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
268
-;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
269
-
270
- mov eax, [edx + dsWSize]
271
- sub eax, MIN_LOOKAHEAD
272
- sub ebp, eax
273
- jg LimitPositive
274
- xor ebp, ebp
275
-LimitPositive:
276
-
277
-;;; int best_len = s->prev_length;
278
-
279
- mov eax, [edx + dsPrevLen]
280
- mov [bestlen], eax
281
-
282
-;;; Store the sum of s->window + best_len in esi locally, and in esi.
283
-
284
- add esi, eax
285
- mov [windowbestlen], esi
286
-
287
-;;; register ush scan_start = *(ushf*)scan;
288
-;;; register ush scan_end = *(ushf*)(scan+best_len-1);
289
-;;; Posf *prev = s->prev;
290
-
291
- movzx ebx, word ptr [edi]
292
- mov [scanstart], ebx
293
- movzx ebx, word ptr [edi + eax - 1]
294
- mov [scanend], ebx
295
- mov edi, [edx + dsPrev]
296
-
297
-;;; Jump into the main loop.
298
-
299
- mov edx, [chainlenwmask]
300
- jmp short LoopEntry
301
-
302
-align 4
303
-
304
-;;; do {
305
-;;; match = s->window + cur_match;
306
-;;; if (*(ushf*)(match+best_len-1) != scan_end ||
307
-;;; *(ushf*)match != scan_start) continue;
308
-;;; [...]
309
-;;; } while ((cur_match = prev[cur_match & wmask]) > limit
310
-;;; && --chain_length != 0);
311
-;;;
312
-;;; Here is the inner loop of the function. The function will spend the
313
-;;; majority of its time in this loop, and majority of that time will
314
-;;; be spent in the first ten instructions.
315
-;;;
316
-;;; Within this loop:
317
-;;; ebx = scanend
318
-;;; ecx = curmatch
319
-;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
320
-;;; esi = windowbestlen - i.e., (window + bestlen)
321
-;;; edi = prev
322
-;;; ebp = limit
323
-
324
-LookupLoop:
325
- and ecx, edx
326
- movzx ecx, word ptr [edi + ecx*2]
327
- cmp ecx, ebp
328
- jbe LeaveNow
329
- sub edx, 00010000h
330
- js LeaveNow
331
-LoopEntry: movzx eax, word ptr [esi + ecx - 1]
332
- cmp eax, ebx
333
- jnz LookupLoop
334
- mov eax, [window]
335
- movzx eax, word ptr [eax + ecx]
336
- cmp eax, [scanstart]
337
- jnz LookupLoop
338
-
339
-;;; Store the current value of chainlen.
340
-
341
- mov [chainlenwmask], edx
342
-
343
-;;; Point edi to the string under scrutiny, and esi to the string we
344
-;;; are hoping to match it up with. In actuality, esi and edi are
345
-;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is
346
-;;; initialized to -(MAX_MATCH_8 - scanalign).
347
-
348
- mov esi, [window]
349
- mov edi, [scan]
350
- add esi, ecx
351
- mov eax, [scanalign]
352
- mov edx, 0fffffef8h; -(MAX_MATCH_8)
353
- lea edi, [edi + eax + 0108h] ;MAX_MATCH_8]
354
- lea esi, [esi + eax + 0108h] ;MAX_MATCH_8]
355
-
356
-;;; Test the strings for equality, 8 bytes at a time. At the end,
357
-;;; adjust edx so that it is offset to the exact byte that mismatched.
358
-;;;
359
-;;; We already know at this point that the first three bytes of the
360
-;;; strings match each other, and they can be safely passed over before
361
-;;; starting the compare loop. So what this code does is skip over 0-3
362
-;;; bytes, as much as necessary in order to dword-align the edi
363
-;;; pointer. (esi will still be misaligned three times out of four.)
364
-;;;
365
-;;; It should be confessed that this loop usually does not represent
366
-;;; much of the total running time. Replacing it with a more
367
-;;; straightforward "rep cmpsb" would not drastically degrade
368
-;;; performance.
369
-
370
-LoopCmps:
371
- mov eax, [esi + edx]
372
- xor eax, [edi + edx]
373
- jnz LeaveLoopCmps
374
- mov eax, [esi + edx + 4]
375
- xor eax, [edi + edx + 4]
376
- jnz LeaveLoopCmps4
377
- add edx, 8
378
- jnz LoopCmps
379
- jmp short LenMaximum
380
-LeaveLoopCmps4: add edx, 4
381
-LeaveLoopCmps: test eax, 0000FFFFh
382
- jnz LenLower
383
- add edx, 2
384
- shr eax, 16
385
-LenLower: sub al, 1
386
- adc edx, 0
387
-
388
-;;; Calculate the length of the match. If it is longer than MAX_MATCH,
389
-;;; then automatically accept it as the best possible match and leave.
390
-
391
- lea eax, [edi + edx]
392
- mov edi, [scan]
393
- sub eax, edi
394
- cmp eax, MAX_MATCH
395
- jge LenMaximum
396
-
397
-;;; If the length of the match is not longer than the best match we
398
-;;; have so far, then forget it and return to the lookup loop.
399
-
400
- mov edx, [deflatestate]
401
- mov ebx, [bestlen]
402
- cmp eax, ebx
403
- jg LongerMatch
404
- mov esi, [windowbestlen]
405
- mov edi, [edx + dsPrev]
406
- mov ebx, [scanend]
407
- mov edx, [chainlenwmask]
408
- jmp LookupLoop
409
-
410
-;;; s->match_start = cur_match;
411
-;;; best_len = len;
412
-;;; if (len >= nice_match) break;
413
-;;; scan_end = *(ushf*)(scan+best_len-1);
414
-
415
-LongerMatch: mov ebx, [nicematch]
416
- mov [bestlen], eax
417
- mov [edx + dsMatchStart], ecx
418
- cmp eax, ebx
419
- jge LeaveNow
420
- mov esi, [window]
421
- add esi, eax
422
- mov [windowbestlen], esi
423
- movzx ebx, word ptr [edi + eax - 1]
424
- mov edi, [edx + dsPrev]
425
- mov [scanend], ebx
426
- mov edx, [chainlenwmask]
427
- jmp LookupLoop
428
-
429
-;;; Accept the current string, with the maximum possible length.
430
-
431
-LenMaximum: mov edx, [deflatestate]
432
- mov dword ptr [bestlen], MAX_MATCH
433
- mov [edx + dsMatchStart], ecx
434
-
435
-;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
436
-;;; return s->lookahead;
437
-
438
-LeaveNow:
439
- mov edx, [deflatestate]
440
- mov ebx, [bestlen]
441
- mov eax, [edx + dsLookahead]
442
- cmp ebx, eax
443
- jg LookaheadRet
444
- mov eax, ebx
445
-LookaheadRet:
446
-
447
-;;; Restore the stack and return from whence we came.
448
-
449
- add esp, LocalVarsSize
450
- pop ebx
451
- pop esi
452
- pop edi
453
- pop ebp
454
-
455
- ret
456
-; please don't remove this string !
457
-; Your can freely use match686 in any free or commercial app if you don't remove the string in the binary!
458
- db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998",0dh,0ah
459
-
460
-
461
- IFDEF NOUNDERLINE
462
- longest_match endp
463
- ELSE
464
- _longest_match endp
465
- ENDIF
466
-
467
- IFDEF NOUNDERLINE
468
- match_init proc near
469
- ret
470
- match_init endp
471
- ELSE
472
- _match_init proc near
473
- ret
474
- _match_init endp
475
- ENDIF
476
-
477
-
478
-_TEXT ends
479
-end
--- a/compat/zlib/contrib/masmx86/match686.asm
+++ b/compat/zlib/contrib/masmx86/match686.asm
@@ -1,479 +0,0 @@
1 ; match686.asm -- Asm portion of the optimized longest_match for 32 bits x86
2 ; Copyright (C) 1995-1996 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
3 ; File written by Gilles Vollant, by converting match686.S from Brian Raiter
4 ; for MASM. This is as assembly version of longest_match
5 ; from Jean-loup Gailly in deflate.c
6 ;
7 ; http://www.zlib.net
8 ; http://www.winimage.com/zLibDll
9 ; http://www.muppetlabs.com/~breadbox/software/assembly.html
10 ;
11 ; For Visual C++ 4.x and higher and ML 6.x and higher
12 ; ml.exe is distributed in
13 ; http://www.microsoft.com/downloads/details.aspx?FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
14 ;
15 ; this file contain two implementation of longest_match
16 ;
17 ; this longest_match was written by Brian raiter (1998), optimized for Pentium Pro
18 ; (and the faster known version of match_init on modern Core 2 Duo and AMD Phenom)
19 ;
20 ; for using an assembly version of longest_match, you need define ASMV in project
21 ;
22 ; compile the asm file running
23 ; ml /coff /Zi /c /Flmatch686.lst match686.asm
24 ; and do not include match686.obj in your project
25 ;
26 ; note: contrib of zLib 1.2.3 and earlier contained both a deprecated version for
27 ; Pentium (prior Pentium Pro) and this version for Pentium Pro and modern processor
28 ; with autoselect (with cpu detection code)
29 ; if you want support the old pentium optimization, you can still use these version
30 ;
31 ; this file is not optimized for old pentium, but it compatible with all x86 32 bits
32 ; processor (starting 80386)
33 ;
34 ;
35 ; see below : zlib1222add must be adjuster if you use a zlib version < 1.2.2.2
36
37 ;uInt longest_match(s, cur_match)
38 ; deflate_state *s;
39 ; IPos cur_match; /* current match */
40
41 NbStack equ 76
42 cur_match equ dword ptr[esp+NbStack-0]
43 str_s equ dword ptr[esp+NbStack-4]
44 ; 5 dword on top (ret,ebp,esi,edi,ebx)
45 adrret equ dword ptr[esp+NbStack-8]
46 pushebp equ dword ptr[esp+NbStack-12]
47 pushedi equ dword ptr[esp+NbStack-16]
48 pushesi equ dword ptr[esp+NbStack-20]
49 pushebx equ dword ptr[esp+NbStack-24]
50
51 chain_length equ dword ptr [esp+NbStack-28]
52 limit equ dword ptr [esp+NbStack-32]
53 best_len equ dword ptr [esp+NbStack-36]
54 window equ dword ptr [esp+NbStack-40]
55 prev equ dword ptr [esp+NbStack-44]
56 scan_start equ word ptr [esp+NbStack-48]
57 wmask equ dword ptr [esp+NbStack-52]
58 match_start_ptr equ dword ptr [esp+NbStack-56]
59 nice_match equ dword ptr [esp+NbStack-60]
60 scan equ dword ptr [esp+NbStack-64]
61
62 windowlen equ dword ptr [esp+NbStack-68]
63 match_start equ dword ptr [esp+NbStack-72]
64 strend equ dword ptr [esp+NbStack-76]
65 NbStackAdd equ (NbStack-24)
66
67 .386p
68
69 name gvmatch
70 .MODEL FLAT
71
72
73
74 ; all the +zlib1222add offsets are due to the addition of fields
75 ; in zlib in the deflate_state structure since the asm code was first written
76 ; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
77 ; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
78 ; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
79
80 zlib1222add equ 8
81
82 ; Note : these value are good with a 8 bytes boundary pack structure
83 dep_chain_length equ 74h+zlib1222add
84 dep_window equ 30h+zlib1222add
85 dep_strstart equ 64h+zlib1222add
86 dep_prev_length equ 70h+zlib1222add
87 dep_nice_match equ 88h+zlib1222add
88 dep_w_size equ 24h+zlib1222add
89 dep_prev equ 38h+zlib1222add
90 dep_w_mask equ 2ch+zlib1222add
91 dep_good_match equ 84h+zlib1222add
92 dep_match_start equ 68h+zlib1222add
93 dep_lookahead equ 6ch+zlib1222add
94
95
96 _TEXT segment
97
98 IFDEF NOUNDERLINE
99 public longest_match
100 public match_init
101 ELSE
102 public _longest_match
103 public _match_init
104 ENDIF
105
106 MAX_MATCH equ 258
107 MIN_MATCH equ 3
108 MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
109
110
111
112 MAX_MATCH equ 258
113 MIN_MATCH equ 3
114 MIN_LOOKAHEAD equ (MAX_MATCH + MIN_MATCH + 1)
115 MAX_MATCH_8_ equ ((MAX_MATCH + 7) AND 0FFF0h)
116
117
118 ;;; stack frame offsets
119
120 chainlenwmask equ esp + 0 ; high word: current chain len
121 ; low word: s->wmask
122 window equ esp + 4 ; local copy of s->window
123 windowbestlen equ esp + 8 ; s->window + bestlen
124 scanstart equ esp + 16 ; first two bytes of string
125 scanend equ esp + 12 ; last two bytes of string
126 scanalign equ esp + 20 ; dword-misalignment of string
127 nicematch equ esp + 24 ; a good enough match size
128 bestlen equ esp + 28 ; size of best match so far
129 scan equ esp + 32 ; ptr to string wanting match
130
131 LocalVarsSize equ 36
132 ; saved ebx byte esp + 36
133 ; saved edi byte esp + 40
134 ; saved esi byte esp + 44
135 ; saved ebp byte esp + 48
136 ; return address byte esp + 52
137 deflatestate equ esp + 56 ; the function arguments
138 curmatch equ esp + 60
139
140 ;;; Offsets for fields in the deflate_state structure. These numbers
141 ;;; are calculated from the definition of deflate_state, with the
142 ;;; assumption that the compiler will dword-align the fields. (Thus,
143 ;;; changing the definition of deflate_state could easily cause this
144 ;;; program to crash horribly, without so much as a warning at
145 ;;; compile time. Sigh.)
146
147 dsWSize equ 36+zlib1222add
148 dsWMask equ 44+zlib1222add
149 dsWindow equ 48+zlib1222add
150 dsPrev equ 56+zlib1222add
151 dsMatchLen equ 88+zlib1222add
152 dsPrevMatch equ 92+zlib1222add
153 dsStrStart equ 100+zlib1222add
154 dsMatchStart equ 104+zlib1222add
155 dsLookahead equ 108+zlib1222add
156 dsPrevLen equ 112+zlib1222add
157 dsMaxChainLen equ 116+zlib1222add
158 dsGoodMatch equ 132+zlib1222add
159 dsNiceMatch equ 136+zlib1222add
160
161
162 ;;; match686.asm -- Pentium-Pro-optimized version of longest_match()
163 ;;; Written for zlib 1.1.2
164 ;;; Copyright (C) 1998 Brian Raiter <[email protected]>
165 ;;; You can look at http://www.muppetlabs.com/~breadbox/software/assembly.html
166 ;;;
167 ;;
168 ;; This software is provided 'as-is', without any express or implied
169 ;; warranty. In no event will the authors be held liable for any damages
170 ;; arising from the use of this software.
171 ;;
172 ;; Permission is granted to anyone to use this software for any purpose,
173 ;; including commercial applications, and to alter it and redistribute it
174 ;; freely, subject to the following restrictions:
175 ;;
176 ;; 1. The origin of this software must not be misrepresented; you must not
177 ;; claim that you wrote the original software. If you use this software
178 ;; in a product, an acknowledgment in the product documentation would be
179 ;; appreciated but is not required.
180 ;; 2. Altered source versions must be plainly marked as such, and must not be
181 ;; misrepresented as being the original software
182 ;; 3. This notice may not be removed or altered from any source distribution.
183 ;;
184
185 ;GLOBAL _longest_match, _match_init
186
187
188 ;SECTION .text
189
190 ;;; uInt longest_match(deflate_state *deflatestate, IPos curmatch)
191
192 ;_longest_match:
193 IFDEF NOUNDERLINE
194 longest_match proc near
195 ELSE
196 _longest_match proc near
197 ENDIF
198 .FPO (9, 4, 0, 0, 1, 0)
199
200 ;;; Save registers that the compiler may be using, and adjust esp to
201 ;;; make room for our stack frame.
202
203 push ebp
204 push edi
205 push esi
206 push ebx
207 sub esp, LocalVarsSize
208
209 ;;; Retrieve the function arguments. ecx will hold cur_match
210 ;;; throughout the entire function. edx will hold the pointer to the
211 ;;; deflate_state structure during the function's setup (before
212 ;;; entering the main loop.
213
214 mov edx, [deflatestate]
215 mov ecx, [curmatch]
216
217 ;;; uInt wmask = s->w_mask;
218 ;;; unsigned chain_length = s->max_chain_length;
219 ;;; if (s->prev_length >= s->good_match) {
220 ;;; chain_length >>= 2;
221 ;;; }
222
223 mov eax, [edx + dsPrevLen]
224 mov ebx, [edx + dsGoodMatch]
225 cmp eax, ebx
226 mov eax, [edx + dsWMask]
227 mov ebx, [edx + dsMaxChainLen]
228 jl LastMatchGood
229 shr ebx, 2
230 LastMatchGood:
231
232 ;;; chainlen is decremented once beforehand so that the function can
233 ;;; use the sign flag instead of the zero flag for the exit test.
234 ;;; It is then shifted into the high word, to make room for the wmask
235 ;;; value, which it will always accompany.
236
237 dec ebx
238 shl ebx, 16
239 or ebx, eax
240 mov [chainlenwmask], ebx
241
242 ;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
243
244 mov eax, [edx + dsNiceMatch]
245 mov ebx, [edx + dsLookahead]
246 cmp ebx, eax
247 jl LookaheadLess
248 mov ebx, eax
249 LookaheadLess: mov [nicematch], ebx
250
251 ;;; register Bytef *scan = s->window + s->strstart;
252
253 mov esi, [edx + dsWindow]
254 mov [window], esi
255 mov ebp, [edx + dsStrStart]
256 lea edi, [esi + ebp]
257 mov [scan], edi
258
259 ;;; Determine how many bytes the scan ptr is off from being
260 ;;; dword-aligned.
261
262 mov eax, edi
263 neg eax
264 and eax, 3
265 mov [scanalign], eax
266
267 ;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
268 ;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
269
270 mov eax, [edx + dsWSize]
271 sub eax, MIN_LOOKAHEAD
272 sub ebp, eax
273 jg LimitPositive
274 xor ebp, ebp
275 LimitPositive:
276
277 ;;; int best_len = s->prev_length;
278
279 mov eax, [edx + dsPrevLen]
280 mov [bestlen], eax
281
282 ;;; Store the sum of s->window + best_len in esi locally, and in esi.
283
284 add esi, eax
285 mov [windowbestlen], esi
286
287 ;;; register ush scan_start = *(ushf*)scan;
288 ;;; register ush scan_end = *(ushf*)(scan+best_len-1);
289 ;;; Posf *prev = s->prev;
290
291 movzx ebx, word ptr [edi]
292 mov [scanstart], ebx
293 movzx ebx, word ptr [edi + eax - 1]
294 mov [scanend], ebx
295 mov edi, [edx + dsPrev]
296
297 ;;; Jump into the main loop.
298
299 mov edx, [chainlenwmask]
300 jmp short LoopEntry
301
302 align 4
303
304 ;;; do {
305 ;;; match = s->window + cur_match;
306 ;;; if (*(ushf*)(match+best_len-1) != scan_end ||
307 ;;; *(ushf*)match != scan_start) continue;
308 ;;; [...]
309 ;;; } while ((cur_match = prev[cur_match & wmask]) > limit
310 ;;; && --chain_length != 0);
311 ;;;
312 ;;; Here is the inner loop of the function. The function will spend the
313 ;;; majority of its time in this loop, and majority of that time will
314 ;;; be spent in the first ten instructions.
315 ;;;
316 ;;; Within this loop:
317 ;;; ebx = scanend
318 ;;; ecx = curmatch
319 ;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
320 ;;; esi = windowbestlen - i.e., (window + bestlen)
321 ;;; edi = prev
322 ;;; ebp = limit
323
324 LookupLoop:
325 and ecx, edx
326 movzx ecx, word ptr [edi + ecx*2]
327 cmp ecx, ebp
328 jbe LeaveNow
329 sub edx, 00010000h
330 js LeaveNow
331 LoopEntry: movzx eax, word ptr [esi + ecx - 1]
332 cmp eax, ebx
333 jnz LookupLoop
334 mov eax, [window]
335 movzx eax, word ptr [eax + ecx]
336 cmp eax, [scanstart]
337 jnz LookupLoop
338
339 ;;; Store the current value of chainlen.
340
341 mov [chainlenwmask], edx
342
343 ;;; Point edi to the string under scrutiny, and esi to the string we
344 ;;; are hoping to match it up with. In actuality, esi and edi are
345 ;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is
346 ;;; initialized to -(MAX_MATCH_8 - scanalign).
347
348 mov esi, [window]
349 mov edi, [scan]
350 add esi, ecx
351 mov eax, [scanalign]
352 mov edx, 0fffffef8h; -(MAX_MATCH_8)
353 lea edi, [edi + eax + 0108h] ;MAX_MATCH_8]
354 lea esi, [esi + eax + 0108h] ;MAX_MATCH_8]
355
356 ;;; Test the strings for equality, 8 bytes at a time. At the end,
357 ;;; adjust edx so that it is offset to the exact byte that mismatched.
358 ;;;
359 ;;; We already know at this point that the first three bytes of the
360 ;;; strings match each other, and they can be safely passed over before
361 ;;; starting the compare loop. So what this code does is skip over 0-3
362 ;;; bytes, as much as necessary in order to dword-align the edi
363 ;;; pointer. (esi will still be misaligned three times out of four.)
364 ;;;
365 ;;; It should be confessed that this loop usually does not represent
366 ;;; much of the total running time. Replacing it with a more
367 ;;; straightforward "rep cmpsb" would not drastically degrade
368 ;;; performance.
369
370 LoopCmps:
371 mov eax, [esi + edx]
372 xor eax, [edi + edx]
373 jnz LeaveLoopCmps
374 mov eax, [esi + edx + 4]
375 xor eax, [edi + edx + 4]
376 jnz LeaveLoopCmps4
377 add edx, 8
378 jnz LoopCmps
379 jmp short LenMaximum
380 LeaveLoopCmps4: add edx, 4
381 LeaveLoopCmps: test eax, 0000FFFFh
382 jnz LenLower
383 add edx, 2
384 shr eax, 16
385 LenLower: sub al, 1
386 adc edx, 0
387
388 ;;; Calculate the length of the match. If it is longer than MAX_MATCH,
389 ;;; then automatically accept it as the best possible match and leave.
390
391 lea eax, [edi + edx]
392 mov edi, [scan]
393 sub eax, edi
394 cmp eax, MAX_MATCH
395 jge LenMaximum
396
397 ;;; If the length of the match is not longer than the best match we
398 ;;; have so far, then forget it and return to the lookup loop.
399
400 mov edx, [deflatestate]
401 mov ebx, [bestlen]
402 cmp eax, ebx
403 jg LongerMatch
404 mov esi, [windowbestlen]
405 mov edi, [edx + dsPrev]
406 mov ebx, [scanend]
407 mov edx, [chainlenwmask]
408 jmp LookupLoop
409
410 ;;; s->match_start = cur_match;
411 ;;; best_len = len;
412 ;;; if (len >= nice_match) break;
413 ;;; scan_end = *(ushf*)(scan+best_len-1);
414
415 LongerMatch: mov ebx, [nicematch]
416 mov [bestlen], eax
417 mov [edx + dsMatchStart], ecx
418 cmp eax, ebx
419 jge LeaveNow
420 mov esi, [window]
421 add esi, eax
422 mov [windowbestlen], esi
423 movzx ebx, word ptr [edi + eax - 1]
424 mov edi, [edx + dsPrev]
425 mov [scanend], ebx
426 mov edx, [chainlenwmask]
427 jmp LookupLoop
428
429 ;;; Accept the current string, with the maximum possible length.
430
431 LenMaximum: mov edx, [deflatestate]
432 mov dword ptr [bestlen], MAX_MATCH
433 mov [edx + dsMatchStart], ecx
434
435 ;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
436 ;;; return s->lookahead;
437
438 LeaveNow:
439 mov edx, [deflatestate]
440 mov ebx, [bestlen]
441 mov eax, [edx + dsLookahead]
442 cmp ebx, eax
443 jg LookaheadRet
444 mov eax, ebx
445 LookaheadRet:
446
447 ;;; Restore the stack and return from whence we came.
448
449 add esp, LocalVarsSize
450 pop ebx
451 pop esi
452 pop edi
453 pop ebp
454
455 ret
456 ; please don't remove this string !
457 ; Your can freely use match686 in any free or commercial app if you don't remove the string in the binary!
458 db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998",0dh,0ah
459
460
461 IFDEF NOUNDERLINE
462 longest_match endp
463 ELSE
464 _longest_match endp
465 ENDIF
466
467 IFDEF NOUNDERLINE
468 match_init proc near
469 ret
470 match_init endp
471 ELSE
472 _match_init proc near
473 ret
474 _match_init endp
475 ENDIF
476
477
478 _TEXT ends
479 end
--- a/compat/zlib/contrib/masmx86/match686.asm
+++ b/compat/zlib/contrib/masmx86/match686.asm
@@ -1,479 +0,0 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
D compat/zlib/contrib/masmx86/readme.txt
-24
--- a/compat/zlib/contrib/masmx86/readme.txt
+++ b/compat/zlib/contrib/masmx86/readme.txt
@@ -1,27 +0,0 @@
1
-
2
-Summary
--------
3
-This directory contains ASM implementations of the functions
4
-longest_match() and inflate_fast().
5
-
6
-
7
-Use instructions
-----------------
8
-Assemble using MASM, and copy the object files into the zlib source
9
-directory, then run the appropriate makefile, as suggested below. You can
10
-donwload MASM from here:
11
-
12
- http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
13
-
14
-You can also get objects files here:
15
-
16
- http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
17
-
18
-Build instructions
-------------------
19
-* With Microsoft C and MASM:
20
-nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj"
21
-
22
-* With Borland C and TASM:
23
-make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj"
24
-
--- a/compat/zlib/contrib/masmx86/readme.txt
+++ b/compat/zlib/contrib/masmx86/readme.txt
@@ -1,27 +0,0 @@
1
2 Summary
--------
3 This directory contains ASM implementations of the functions
4 longest_match() and inflate_fast().
5
6
7 Use instructions
-----------------
8 Assemble using MASM, and copy the object files into the zlib source
9 directory, then run the appropriate makefile, as suggested below. You can
10 donwload MASM from here:
11
12 http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
13
14 You can also get objects files here:
15
16 http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
17
18 Build instructions
-------------------
19 * With Microsoft C and MASM:
20 nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj"
21
22 * With Borland C and TASM:
23 make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj"
24
--- a/compat/zlib/contrib/masmx86/readme.txt
+++ b/compat/zlib/contrib/masmx86/readme.txt
@@ -1,27 +0,0 @@
 
 
--------
 
 
 
 
 
-----------------
 
 
 
 
 
 
 
 
 
 
 
-------------------
 
 
 
 
 
 
--- compat/zlib/contrib/minizip/configure.ac
+++ compat/zlib/contrib/minizip/configure.ac
@@ -1,9 +1,9 @@
11
# -*- Autoconf -*-
22
# Process this file with autoconf to produce a configure script.
33
4
-AC_INIT([minizip], [1.2.12], [bugzilla.redhat.com])
4
+AC_INIT([minizip], [1.2.13], [bugzilla.redhat.com])
55
AC_CONFIG_SRCDIR([minizip.c])
66
AM_INIT_AUTOMAKE([foreign])
77
LT_INIT
88
99
AC_MSG_CHECKING([whether to build example programs])
1010
--- compat/zlib/contrib/minizip/configure.ac
+++ compat/zlib/contrib/minizip/configure.ac
@@ -1,9 +1,9 @@
1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_INIT([minizip], [1.2.12], [bugzilla.redhat.com])
5 AC_CONFIG_SRCDIR([minizip.c])
6 AM_INIT_AUTOMAKE([foreign])
7 LT_INIT
8
9 AC_MSG_CHECKING([whether to build example programs])
10
--- compat/zlib/contrib/minizip/configure.ac
+++ compat/zlib/contrib/minizip/configure.ac
@@ -1,9 +1,9 @@
1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_INIT([minizip], [1.2.13], [bugzilla.redhat.com])
5 AC_CONFIG_SRCDIR([minizip.c])
6 AM_INIT_AUTOMAKE([foreign])
7 LT_INIT
8
9 AC_MSG_CHECKING([whether to build example programs])
10
--- compat/zlib/contrib/minizip/crypt.h
+++ compat/zlib/contrib/minizip/crypt.h
@@ -83,11 +83,11 @@
8383
#ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED
8484
8585
#define RAND_HEAD_LEN 12
8686
/* "last resort" source for second part of crypt seed pattern */
8787
# ifndef ZCR_SEED2
88
-# define ZCR_SEED2 3141592654L /* use PI as default pattern */
88
+# define ZCR_SEED2 3141592654UL /* use PI as default pattern */
8989
# endif
9090
9191
static unsigned crypthead(const char* passwd, /* password string */
9292
unsigned char* buf, /* where to write header */
9393
int bufSize,
9494
--- compat/zlib/contrib/minizip/crypt.h
+++ compat/zlib/contrib/minizip/crypt.h
@@ -83,11 +83,11 @@
83 #ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED
84
85 #define RAND_HEAD_LEN 12
86 /* "last resort" source for second part of crypt seed pattern */
87 # ifndef ZCR_SEED2
88 # define ZCR_SEED2 3141592654L /* use PI as default pattern */
89 # endif
90
91 static unsigned crypthead(const char* passwd, /* password string */
92 unsigned char* buf, /* where to write header */
93 int bufSize,
94
--- compat/zlib/contrib/minizip/crypt.h
+++ compat/zlib/contrib/minizip/crypt.h
@@ -83,11 +83,11 @@
83 #ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED
84
85 #define RAND_HEAD_LEN 12
86 /* "last resort" source for second part of crypt seed pattern */
87 # ifndef ZCR_SEED2
88 # define ZCR_SEED2 3141592654UL /* use PI as default pattern */
89 # endif
90
91 static unsigned crypthead(const char* passwd, /* password string */
92 unsigned char* buf, /* where to write header */
93 int bufSize,
94
--- compat/zlib/contrib/minizip/ioapi.c
+++ compat/zlib/contrib/minizip/ioapi.c
@@ -92,13 +92,13 @@
9292
static int ZCALLBACK fclose_file_func OF((voidpf opaque, voidpf stream));
9393
static int ZCALLBACK ferror_file_func OF((voidpf opaque, voidpf stream));
9494
9595
static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode)
9696
{
97
- (void)opaque;
9897
FILE* file = NULL;
9998
const char* mode_fopen = NULL;
99
+ (void)opaque;
100100
if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
101101
mode_fopen = "rb";
102102
else
103103
if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
104104
mode_fopen = "r+b";
@@ -111,13 +111,13 @@
111111
return file;
112112
}
113113
114114
static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode)
115115
{
116
- (void)opaque;
117116
FILE* file = NULL;
118117
const char* mode_fopen = NULL;
118
+ (void)opaque;
119119
if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
120120
mode_fopen = "rb";
121121
else
122122
if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
123123
mode_fopen = "r+b";
@@ -131,46 +131,46 @@
131131
}
132132
133133
134134
static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size)
135135
{
136
- (void)opaque;
137136
uLong ret;
137
+ (void)opaque;
138138
ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
139139
return ret;
140140
}
141141
142142
static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size)
143143
{
144
- (void)opaque;
145144
uLong ret;
145
+ (void)opaque;
146146
ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
147147
return ret;
148148
}
149149
150150
static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
151151
{
152
- (void)opaque;
153152
long ret;
153
+ (void)opaque;
154154
ret = ftell((FILE *)stream);
155155
return ret;
156156
}
157157
158158
159159
static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
160160
{
161
- (void)opaque;
162161
ZPOS64_T ret;
162
+ (void)opaque;
163163
ret = (ZPOS64_T)FTELLO_FUNC((FILE *)stream);
164164
return ret;
165165
}
166166
167167
static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin)
168168
{
169
- (void)opaque;
170169
int fseek_origin=0;
171170
long ret;
171
+ (void)opaque;
172172
switch (origin)
173173
{
174174
case ZLIB_FILEFUNC_SEEK_CUR :
175175
fseek_origin = SEEK_CUR;
176176
break;
@@ -188,13 +188,13 @@
188188
return ret;
189189
}
190190
191191
static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)
192192
{
193
- (void)opaque;
194193
int fseek_origin=0;
195194
long ret;
195
+ (void)opaque;
196196
switch (origin)
197197
{
198198
case ZLIB_FILEFUNC_SEEK_CUR :
199199
fseek_origin = SEEK_CUR;
200200
break;
@@ -206,29 +206,29 @@
206206
break;
207207
default: return -1;
208208
}
209209
ret = 0;
210210
211
- if(FSEEKO_FUNC((FILE *)stream, (long)offset, fseek_origin) != 0)
211
+ if(FSEEKO_FUNC((FILE *)stream, (z_off_t)offset, fseek_origin) != 0)
212212
ret = -1;
213213
214214
return ret;
215215
}
216216
217217
218218
static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream)
219219
{
220
- (void)opaque;
221220
int ret;
221
+ (void)opaque;
222222
ret = fclose((FILE *)stream);
223223
return ret;
224224
}
225225
226226
static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
227227
{
228
- (void)opaque;
229228
int ret;
229
+ (void)opaque;
230230
ret = ferror((FILE *)stream);
231231
return ret;
232232
}
233233
234234
void fill_fopen_filefunc (pzlib_filefunc_def)
235235
--- compat/zlib/contrib/minizip/ioapi.c
+++ compat/zlib/contrib/minizip/ioapi.c
@@ -92,13 +92,13 @@
92 static int ZCALLBACK fclose_file_func OF((voidpf opaque, voidpf stream));
93 static int ZCALLBACK ferror_file_func OF((voidpf opaque, voidpf stream));
94
95 static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode)
96 {
97 (void)opaque;
98 FILE* file = NULL;
99 const char* mode_fopen = NULL;
 
100 if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
101 mode_fopen = "rb";
102 else
103 if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
104 mode_fopen = "r+b";
@@ -111,13 +111,13 @@
111 return file;
112 }
113
114 static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode)
115 {
116 (void)opaque;
117 FILE* file = NULL;
118 const char* mode_fopen = NULL;
 
119 if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
120 mode_fopen = "rb";
121 else
122 if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
123 mode_fopen = "r+b";
@@ -131,46 +131,46 @@
131 }
132
133
134 static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size)
135 {
136 (void)opaque;
137 uLong ret;
 
138 ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
139 return ret;
140 }
141
142 static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size)
143 {
144 (void)opaque;
145 uLong ret;
 
146 ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
147 return ret;
148 }
149
150 static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
151 {
152 (void)opaque;
153 long ret;
 
154 ret = ftell((FILE *)stream);
155 return ret;
156 }
157
158
159 static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
160 {
161 (void)opaque;
162 ZPOS64_T ret;
 
163 ret = (ZPOS64_T)FTELLO_FUNC((FILE *)stream);
164 return ret;
165 }
166
167 static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin)
168 {
169 (void)opaque;
170 int fseek_origin=0;
171 long ret;
 
172 switch (origin)
173 {
174 case ZLIB_FILEFUNC_SEEK_CUR :
175 fseek_origin = SEEK_CUR;
176 break;
@@ -188,13 +188,13 @@
188 return ret;
189 }
190
191 static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)
192 {
193 (void)opaque;
194 int fseek_origin=0;
195 long ret;
 
196 switch (origin)
197 {
198 case ZLIB_FILEFUNC_SEEK_CUR :
199 fseek_origin = SEEK_CUR;
200 break;
@@ -206,29 +206,29 @@
206 break;
207 default: return -1;
208 }
209 ret = 0;
210
211 if(FSEEKO_FUNC((FILE *)stream, (long)offset, fseek_origin) != 0)
212 ret = -1;
213
214 return ret;
215 }
216
217
218 static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream)
219 {
220 (void)opaque;
221 int ret;
 
222 ret = fclose((FILE *)stream);
223 return ret;
224 }
225
226 static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
227 {
228 (void)opaque;
229 int ret;
 
230 ret = ferror((FILE *)stream);
231 return ret;
232 }
233
234 void fill_fopen_filefunc (pzlib_filefunc_def)
235
--- compat/zlib/contrib/minizip/ioapi.c
+++ compat/zlib/contrib/minizip/ioapi.c
@@ -92,13 +92,13 @@
92 static int ZCALLBACK fclose_file_func OF((voidpf opaque, voidpf stream));
93 static int ZCALLBACK ferror_file_func OF((voidpf opaque, voidpf stream));
94
95 static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode)
96 {
 
97 FILE* file = NULL;
98 const char* mode_fopen = NULL;
99 (void)opaque;
100 if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
101 mode_fopen = "rb";
102 else
103 if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
104 mode_fopen = "r+b";
@@ -111,13 +111,13 @@
111 return file;
112 }
113
114 static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode)
115 {
 
116 FILE* file = NULL;
117 const char* mode_fopen = NULL;
118 (void)opaque;
119 if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
120 mode_fopen = "rb";
121 else
122 if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
123 mode_fopen = "r+b";
@@ -131,46 +131,46 @@
131 }
132
133
134 static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size)
135 {
 
136 uLong ret;
137 (void)opaque;
138 ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
139 return ret;
140 }
141
142 static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size)
143 {
 
144 uLong ret;
145 (void)opaque;
146 ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
147 return ret;
148 }
149
150 static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
151 {
 
152 long ret;
153 (void)opaque;
154 ret = ftell((FILE *)stream);
155 return ret;
156 }
157
158
159 static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
160 {
 
161 ZPOS64_T ret;
162 (void)opaque;
163 ret = (ZPOS64_T)FTELLO_FUNC((FILE *)stream);
164 return ret;
165 }
166
167 static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin)
168 {
 
169 int fseek_origin=0;
170 long ret;
171 (void)opaque;
172 switch (origin)
173 {
174 case ZLIB_FILEFUNC_SEEK_CUR :
175 fseek_origin = SEEK_CUR;
176 break;
@@ -188,13 +188,13 @@
188 return ret;
189 }
190
191 static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)
192 {
 
193 int fseek_origin=0;
194 long ret;
195 (void)opaque;
196 switch (origin)
197 {
198 case ZLIB_FILEFUNC_SEEK_CUR :
199 fseek_origin = SEEK_CUR;
200 break;
@@ -206,29 +206,29 @@
206 break;
207 default: return -1;
208 }
209 ret = 0;
210
211 if(FSEEKO_FUNC((FILE *)stream, (z_off_t)offset, fseek_origin) != 0)
212 ret = -1;
213
214 return ret;
215 }
216
217
218 static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream)
219 {
 
220 int ret;
221 (void)opaque;
222 ret = fclose((FILE *)stream);
223 return ret;
224 }
225
226 static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
227 {
 
228 int ret;
229 (void)opaque;
230 ret = ferror((FILE *)stream);
231 return ret;
232 }
233
234 void fill_fopen_filefunc (pzlib_filefunc_def)
235
--- compat/zlib/contrib/minizip/ioapi.h
+++ compat/zlib/contrib/minizip/ioapi.h
@@ -48,11 +48,11 @@
4848
#if defined(USE_FILE32API)
4949
#define fopen64 fopen
5050
#define ftello64 ftell
5151
#define fseeko64 fseek
5252
#else
53
-#ifdef __FreeBSD__
53
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
5454
#define fopen64 fopen
5555
#define ftello64 ftello
5656
#define fseeko64 fseeko
5757
#endif
5858
#ifdef _MSC_VER
5959
--- compat/zlib/contrib/minizip/ioapi.h
+++ compat/zlib/contrib/minizip/ioapi.h
@@ -48,11 +48,11 @@
48 #if defined(USE_FILE32API)
49 #define fopen64 fopen
50 #define ftello64 ftell
51 #define fseeko64 fseek
52 #else
53 #ifdef __FreeBSD__
54 #define fopen64 fopen
55 #define ftello64 ftello
56 #define fseeko64 fseeko
57 #endif
58 #ifdef _MSC_VER
59
--- compat/zlib/contrib/minizip/ioapi.h
+++ compat/zlib/contrib/minizip/ioapi.h
@@ -48,11 +48,11 @@
48 #if defined(USE_FILE32API)
49 #define fopen64 fopen
50 #define ftello64 ftell
51 #define fseeko64 fseek
52 #else
53 #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
54 #define fopen64 fopen
55 #define ftello64 ftello
56 #define fseeko64 fseeko
57 #endif
58 #ifdef _MSC_VER
59
--- compat/zlib/contrib/minizip/iowin32.c
+++ compat/zlib/contrib/minizip/iowin32.c
@@ -26,10 +26,15 @@
2626
#endif
2727
2828
2929
// see Include/shared/winapifamily.h in the Windows Kit
3030
#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
31
+
32
+#if !defined(WINAPI_FAMILY_ONE_PARTITION)
33
+#define WINAPI_FAMILY_ONE_PARTITION(PartitionSet, Partition) ((WINAPI_FAMILY & PartitionSet) == Partition)
34
+#endif
35
+
3136
#if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP)
3237
#define IOWIN32_USING_WINRT_API 1
3338
#endif
3439
#endif
3540
3641
--- compat/zlib/contrib/minizip/iowin32.c
+++ compat/zlib/contrib/minizip/iowin32.c
@@ -26,10 +26,15 @@
26 #endif
27
28
29 // see Include/shared/winapifamily.h in the Windows Kit
30 #if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
 
 
 
 
 
31 #if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP)
32 #define IOWIN32_USING_WINRT_API 1
33 #endif
34 #endif
35
36
--- compat/zlib/contrib/minizip/iowin32.c
+++ compat/zlib/contrib/minizip/iowin32.c
@@ -26,10 +26,15 @@
26 #endif
27
28
29 // see Include/shared/winapifamily.h in the Windows Kit
30 #if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
31
32 #if !defined(WINAPI_FAMILY_ONE_PARTITION)
33 #define WINAPI_FAMILY_ONE_PARTITION(PartitionSet, Partition) ((WINAPI_FAMILY & PartitionSet) == Partition)
34 #endif
35
36 #if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP)
37 #define IOWIN32_USING_WINRT_API 1
38 #endif
39 #endif
40
41
--- compat/zlib/contrib/minizip/miniunz.c
+++ compat/zlib/contrib/minizip/miniunz.c
@@ -562,11 +562,11 @@
562562
{
563563
const char *p=argv[i]+1;
564564
565565
while ((*p)!='\0')
566566
{
567
- char c=*(p++);;
567
+ char c=*(p++);
568568
if ((c=='l') || (c=='L'))
569569
opt_do_list = 1;
570570
if ((c=='v') || (c=='V'))
571571
opt_do_list = 1;
572572
if ((c=='x') || (c=='X'))
573573
--- compat/zlib/contrib/minizip/miniunz.c
+++ compat/zlib/contrib/minizip/miniunz.c
@@ -562,11 +562,11 @@
562 {
563 const char *p=argv[i]+1;
564
565 while ((*p)!='\0')
566 {
567 char c=*(p++);;
568 if ((c=='l') || (c=='L'))
569 opt_do_list = 1;
570 if ((c=='v') || (c=='V'))
571 opt_do_list = 1;
572 if ((c=='x') || (c=='X'))
573
--- compat/zlib/contrib/minizip/miniunz.c
+++ compat/zlib/contrib/minizip/miniunz.c
@@ -562,11 +562,11 @@
562 {
563 const char *p=argv[i]+1;
564
565 while ((*p)!='\0')
566 {
567 char c=*(p++);
568 if ((c=='l') || (c=='L'))
569 opt_do_list = 1;
570 if ((c=='v') || (c=='V'))
571 opt_do_list = 1;
572 if ((c=='x') || (c=='X'))
573
--- compat/zlib/contrib/minizip/minizip.c
+++ compat/zlib/contrib/minizip/minizip.c
@@ -188,11 +188,11 @@
188188
unsigned long calculate_crc=0;
189189
int err=ZIP_OK;
190190
FILE * fin = FOPEN_FUNC(filenameinzip,"rb");
191191
192192
unsigned long size_read = 0;
193
- unsigned long total_read = 0;
193
+ /* unsigned long total_read = 0; */
194194
if (fin==NULL)
195195
{
196196
err = ZIP_ERRNO;
197197
}
198198
@@ -208,11 +208,11 @@
208208
err = ZIP_ERRNO;
209209
}
210210
211211
if (size_read>0)
212212
calculate_crc = crc32_z(calculate_crc,buf,size_read);
213
- total_read += size_read;
213
+ /* total_read += size_read; */
214214
215215
} while ((err == ZIP_OK) && (size_read>0));
216216
217217
if (fin)
218218
fclose(fin);
@@ -275,11 +275,11 @@
275275
{
276276
const char *p=argv[i]+1;
277277
278278
while ((*p)!='\0')
279279
{
280
- char c=*(p++);;
280
+ char c=*(p++);
281281
if ((c=='o') || (c=='O'))
282282
opt_overwrite = 1;
283283
if ((c=='a') || (c=='A'))
284284
opt_overwrite = 2;
285285
if ((c>='0') && (c<='9'))
286286
--- compat/zlib/contrib/minizip/minizip.c
+++ compat/zlib/contrib/minizip/minizip.c
@@ -188,11 +188,11 @@
188 unsigned long calculate_crc=0;
189 int err=ZIP_OK;
190 FILE * fin = FOPEN_FUNC(filenameinzip,"rb");
191
192 unsigned long size_read = 0;
193 unsigned long total_read = 0;
194 if (fin==NULL)
195 {
196 err = ZIP_ERRNO;
197 }
198
@@ -208,11 +208,11 @@
208 err = ZIP_ERRNO;
209 }
210
211 if (size_read>0)
212 calculate_crc = crc32_z(calculate_crc,buf,size_read);
213 total_read += size_read;
214
215 } while ((err == ZIP_OK) && (size_read>0));
216
217 if (fin)
218 fclose(fin);
@@ -275,11 +275,11 @@
275 {
276 const char *p=argv[i]+1;
277
278 while ((*p)!='\0')
279 {
280 char c=*(p++);;
281 if ((c=='o') || (c=='O'))
282 opt_overwrite = 1;
283 if ((c=='a') || (c=='A'))
284 opt_overwrite = 2;
285 if ((c>='0') && (c<='9'))
286
--- compat/zlib/contrib/minizip/minizip.c
+++ compat/zlib/contrib/minizip/minizip.c
@@ -188,11 +188,11 @@
188 unsigned long calculate_crc=0;
189 int err=ZIP_OK;
190 FILE * fin = FOPEN_FUNC(filenameinzip,"rb");
191
192 unsigned long size_read = 0;
193 /* unsigned long total_read = 0; */
194 if (fin==NULL)
195 {
196 err = ZIP_ERRNO;
197 }
198
@@ -208,11 +208,11 @@
208 err = ZIP_ERRNO;
209 }
210
211 if (size_read>0)
212 calculate_crc = crc32_z(calculate_crc,buf,size_read);
213 /* total_read += size_read; */
214
215 } while ((err == ZIP_OK) && (size_read>0));
216
217 if (fin)
218 fclose(fin);
@@ -275,11 +275,11 @@
275 {
276 const char *p=argv[i]+1;
277
278 while ((*p)!='\0')
279 {
280 char c=*(p++);
281 if ((c=='o') || (c=='O'))
282 opt_overwrite = 1;
283 if ((c=='a') || (c=='A'))
284 opt_overwrite = 2;
285 if ((c>='0') && (c<='9'))
286
--- compat/zlib/contrib/minizip/unzip.c
+++ compat/zlib/contrib/minizip/unzip.c
@@ -110,11 +110,11 @@
110110
111111
#ifndef ALLOC
112112
# define ALLOC(size) (malloc(size))
113113
#endif
114114
#ifndef TRYFREE
115
-# define TRYFREE(p) {if (p) free(p);}
115
+# define TRYFREE(p) { free(p);}
116116
#endif
117117
118118
#define SIZECENTRALDIRITEM (0x2e)
119119
#define SIZEZIPLOCALHEADER (0x1e)
120120
@@ -1564,10 +1564,11 @@
15641564
err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0);
15651565
if (err == Z_OK)
15661566
pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED;
15671567
else
15681568
{
1569
+ TRYFREE(pfile_in_zip_read_info->read_buffer);
15691570
TRYFREE(pfile_in_zip_read_info);
15701571
return err;
15711572
}
15721573
#else
15731574
pfile_in_zip_read_info->raw=1;
@@ -1584,10 +1585,11 @@
15841585
err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);
15851586
if (err == Z_OK)
15861587
pfile_in_zip_read_info->stream_initialised=Z_DEFLATED;
15871588
else
15881589
{
1590
+ TRYFREE(pfile_in_zip_read_info->read_buffer);
15891591
TRYFREE(pfile_in_zip_read_info);
15901592
return err;
15911593
}
15921594
/* windowBits is passed < 0 to tell that there is no zlib header.
15931595
* Note that in this case inflate *requires* an extra "dummy" byte
15941596
--- compat/zlib/contrib/minizip/unzip.c
+++ compat/zlib/contrib/minizip/unzip.c
@@ -110,11 +110,11 @@
110
111 #ifndef ALLOC
112 # define ALLOC(size) (malloc(size))
113 #endif
114 #ifndef TRYFREE
115 # define TRYFREE(p) {if (p) free(p);}
116 #endif
117
118 #define SIZECENTRALDIRITEM (0x2e)
119 #define SIZEZIPLOCALHEADER (0x1e)
120
@@ -1564,10 +1564,11 @@
1564 err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0);
1565 if (err == Z_OK)
1566 pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED;
1567 else
1568 {
 
1569 TRYFREE(pfile_in_zip_read_info);
1570 return err;
1571 }
1572 #else
1573 pfile_in_zip_read_info->raw=1;
@@ -1584,10 +1585,11 @@
1584 err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);
1585 if (err == Z_OK)
1586 pfile_in_zip_read_info->stream_initialised=Z_DEFLATED;
1587 else
1588 {
 
1589 TRYFREE(pfile_in_zip_read_info);
1590 return err;
1591 }
1592 /* windowBits is passed < 0 to tell that there is no zlib header.
1593 * Note that in this case inflate *requires* an extra "dummy" byte
1594
--- compat/zlib/contrib/minizip/unzip.c
+++ compat/zlib/contrib/minizip/unzip.c
@@ -110,11 +110,11 @@
110
111 #ifndef ALLOC
112 # define ALLOC(size) (malloc(size))
113 #endif
114 #ifndef TRYFREE
115 # define TRYFREE(p) { free(p);}
116 #endif
117
118 #define SIZECENTRALDIRITEM (0x2e)
119 #define SIZEZIPLOCALHEADER (0x1e)
120
@@ -1564,10 +1564,11 @@
1564 err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0);
1565 if (err == Z_OK)
1566 pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED;
1567 else
1568 {
1569 TRYFREE(pfile_in_zip_read_info->read_buffer);
1570 TRYFREE(pfile_in_zip_read_info);
1571 return err;
1572 }
1573 #else
1574 pfile_in_zip_read_info->raw=1;
@@ -1584,10 +1585,11 @@
1585 err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);
1586 if (err == Z_OK)
1587 pfile_in_zip_read_info->stream_initialised=Z_DEFLATED;
1588 else
1589 {
1590 TRYFREE(pfile_in_zip_read_info->read_buffer);
1591 TRYFREE(pfile_in_zip_read_info);
1592 return err;
1593 }
1594 /* windowBits is passed < 0 to tell that there is no zlib header.
1595 * Note that in this case inflate *requires* an extra "dummy" byte
1596
--- compat/zlib/contrib/minizip/zip.c
+++ compat/zlib/contrib/minizip/zip.c
@@ -1469,15 +1469,10 @@
14691469
14701470
if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
14711471
{
14721472
uLong uTotalOutBefore = zi->ci.stream.total_out;
14731473
err=deflate(&zi->ci.stream, Z_NO_FLUSH);
1474
- if(uTotalOutBefore > zi->ci.stream.total_out)
1475
- {
1476
- int bBreak = 0;
1477
- bBreak++;
1478
- }
14791474
14801475
zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
14811476
}
14821477
else
14831478
{
@@ -1957,11 +1952,11 @@
19571952
short header;
19581953
short dataSize;
19591954
19601955
int retVal = ZIP_OK;
19611956
1962
- if(pData == NULL || *dataLen < 4)
1957
+ if(pData == NULL || dataLen == NULL || *dataLen < 4)
19631958
return ZIP_PARAMERROR;
19641959
19651960
pNewHeader = (char*)ALLOC((unsigned)*dataLen);
19661961
pTmp = pNewHeader;
19671962
19681963
--- compat/zlib/contrib/minizip/zip.c
+++ compat/zlib/contrib/minizip/zip.c
@@ -1469,15 +1469,10 @@
1469
1470 if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
1471 {
1472 uLong uTotalOutBefore = zi->ci.stream.total_out;
1473 err=deflate(&zi->ci.stream, Z_NO_FLUSH);
1474 if(uTotalOutBefore > zi->ci.stream.total_out)
1475 {
1476 int bBreak = 0;
1477 bBreak++;
1478 }
1479
1480 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
1481 }
1482 else
1483 {
@@ -1957,11 +1952,11 @@
1957 short header;
1958 short dataSize;
1959
1960 int retVal = ZIP_OK;
1961
1962 if(pData == NULL || *dataLen < 4)
1963 return ZIP_PARAMERROR;
1964
1965 pNewHeader = (char*)ALLOC((unsigned)*dataLen);
1966 pTmp = pNewHeader;
1967
1968
--- compat/zlib/contrib/minizip/zip.c
+++ compat/zlib/contrib/minizip/zip.c
@@ -1469,15 +1469,10 @@
1469
1470 if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
1471 {
1472 uLong uTotalOutBefore = zi->ci.stream.total_out;
1473 err=deflate(&zi->ci.stream, Z_NO_FLUSH);
 
 
 
 
 
1474
1475 zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
1476 }
1477 else
1478 {
@@ -1957,11 +1952,11 @@
1952 short header;
1953 short dataSize;
1954
1955 int retVal = ZIP_OK;
1956
1957 if(pData == NULL || dataLen == NULL || *dataLen < 4)
1958 return ZIP_PARAMERROR;
1959
1960 pNewHeader = (char*)ALLOC((unsigned)*dataLen);
1961 pTmp = pNewHeader;
1962
1963
--- compat/zlib/contrib/pascal/zlibpas.pas
+++ compat/zlib/contrib/pascal/zlibpas.pas
@@ -8,11 +8,11 @@
88
unit zlibpas;
99
1010
interface
1111
1212
const
13
- ZLIB_VERSION = '1.2.12';
13
+ ZLIB_VERSION = '1.2.13';
1414
ZLIB_VERNUM = $12a0;
1515
1616
type
1717
alloc_func = function(opaque: Pointer; items, size: Integer): Pointer;
1818
cdecl;
1919
--- compat/zlib/contrib/pascal/zlibpas.pas
+++ compat/zlib/contrib/pascal/zlibpas.pas
@@ -8,11 +8,11 @@
8 unit zlibpas;
9
10 interface
11
12 const
13 ZLIB_VERSION = '1.2.12';
14 ZLIB_VERNUM = $12a0;
15
16 type
17 alloc_func = function(opaque: Pointer; items, size: Integer): Pointer;
18 cdecl;
19
--- compat/zlib/contrib/pascal/zlibpas.pas
+++ compat/zlib/contrib/pascal/zlibpas.pas
@@ -8,11 +8,11 @@
8 unit zlibpas;
9
10 interface
11
12 const
13 ZLIB_VERSION = '1.2.13';
14 ZLIB_VERNUM = $12a0;
15
16 type
17 alloc_func = function(opaque: Pointer; items, size: Integer): Pointer;
18 cdecl;
19
--- compat/zlib/contrib/puff/README
+++ compat/zlib/contrib/puff/README
@@ -36,11 +36,11 @@
3636
3737
Then you can call puff() to decompress a deflate stream that is in memory in
3838
its entirety at source, to a sufficiently sized block of memory for the
3939
decompressed data at dest. puff() is the only external symbol in puff.c The
4040
only C library functions that puff.c needs are setjmp() and longjmp(), which
41
-are used to simplify error checking in the code to improve readabilty. puff.c
41
+are used to simplify error checking in the code to improve readability. puff.c
4242
does no memory allocation, and uses less than 2K bytes off of the stack.
4343
4444
If destlen is not enough space for the uncompressed data, then inflate will
4545
return an error without writing more than destlen bytes. Note that this means
4646
that in order to decompress the deflate data successfully, you need to know
4747
--- compat/zlib/contrib/puff/README
+++ compat/zlib/contrib/puff/README
@@ -36,11 +36,11 @@
36
37 Then you can call puff() to decompress a deflate stream that is in memory in
38 its entirety at source, to a sufficiently sized block of memory for the
39 decompressed data at dest. puff() is the only external symbol in puff.c The
40 only C library functions that puff.c needs are setjmp() and longjmp(), which
41 are used to simplify error checking in the code to improve readabilty. puff.c
42 does no memory allocation, and uses less than 2K bytes off of the stack.
43
44 If destlen is not enough space for the uncompressed data, then inflate will
45 return an error without writing more than destlen bytes. Note that this means
46 that in order to decompress the deflate data successfully, you need to know
47
--- compat/zlib/contrib/puff/README
+++ compat/zlib/contrib/puff/README
@@ -36,11 +36,11 @@
36
37 Then you can call puff() to decompress a deflate stream that is in memory in
38 its entirety at source, to a sufficiently sized block of memory for the
39 decompressed data at dest. puff() is the only external symbol in puff.c The
40 only C library functions that puff.c needs are setjmp() and longjmp(), which
41 are used to simplify error checking in the code to improve readability. puff.c
42 does no memory allocation, and uses less than 2K bytes off of the stack.
43
44 If destlen is not enough space for the uncompressed data, then inflate will
45 return an error without writing more than destlen bytes. Note that this means
46 that in order to decompress the deflate data successfully, you need to know
47
--- compat/zlib/contrib/puff/puff.c
+++ compat/zlib/contrib/puff/puff.c
@@ -41,11 +41,11 @@
4141
* maintain easy readability
4242
* - Use short data type for large arrays
4343
* - Use pointers instead of long to specify source and
4444
* destination sizes to avoid arbitrary 4 GB limits
4545
* 1.2 17 Mar 2002 - Add faster version of decode(), doubles speed (!),
46
- * but leave simple version for readabilty
46
+ * but leave simple version for readability
4747
* - Make sure invalid distances detected if pointers
4848
* are 16 bits
4949
* - Fix fixed codes table error
5050
* - Provide a scanning mode for determining size of
5151
* uncompressed data
@@ -622,11 +622,11 @@
622622
*
623623
* - The list of up to 286 length/literal lengths and up to 30 distance lengths
624624
* are themselves compressed using Huffman codes and run-length encoding. In
625625
* the list of code lengths, a 0 symbol means no code, a 1..15 symbol means
626626
* that length, and the symbols 16, 17, and 18 are run-length instructions.
627
- * Each of 16, 17, and 18 are follwed by extra bits to define the length of
627
+ * Each of 16, 17, and 18 are followed by extra bits to define the length of
628628
* the run. 16 copies the last length 3 to 6 times. 17 represents 3 to 10
629629
* zero lengths, and 18 represents 11 to 138 zero lengths. Unused symbols
630630
* are common, hence the special coding for zero lengths.
631631
*
632632
* - The symbols for 0..18 are Huffman coded, and so that code must be
633633
--- compat/zlib/contrib/puff/puff.c
+++ compat/zlib/contrib/puff/puff.c
@@ -41,11 +41,11 @@
41 * maintain easy readability
42 * - Use short data type for large arrays
43 * - Use pointers instead of long to specify source and
44 * destination sizes to avoid arbitrary 4 GB limits
45 * 1.2 17 Mar 2002 - Add faster version of decode(), doubles speed (!),
46 * but leave simple version for readabilty
47 * - Make sure invalid distances detected if pointers
48 * are 16 bits
49 * - Fix fixed codes table error
50 * - Provide a scanning mode for determining size of
51 * uncompressed data
@@ -622,11 +622,11 @@
622 *
623 * - The list of up to 286 length/literal lengths and up to 30 distance lengths
624 * are themselves compressed using Huffman codes and run-length encoding. In
625 * the list of code lengths, a 0 symbol means no code, a 1..15 symbol means
626 * that length, and the symbols 16, 17, and 18 are run-length instructions.
627 * Each of 16, 17, and 18 are follwed by extra bits to define the length of
628 * the run. 16 copies the last length 3 to 6 times. 17 represents 3 to 10
629 * zero lengths, and 18 represents 11 to 138 zero lengths. Unused symbols
630 * are common, hence the special coding for zero lengths.
631 *
632 * - The symbols for 0..18 are Huffman coded, and so that code must be
633
--- compat/zlib/contrib/puff/puff.c
+++ compat/zlib/contrib/puff/puff.c
@@ -41,11 +41,11 @@
41 * maintain easy readability
42 * - Use short data type for large arrays
43 * - Use pointers instead of long to specify source and
44 * destination sizes to avoid arbitrary 4 GB limits
45 * 1.2 17 Mar 2002 - Add faster version of decode(), doubles speed (!),
46 * but leave simple version for readability
47 * - Make sure invalid distances detected if pointers
48 * are 16 bits
49 * - Fix fixed codes table error
50 * - Provide a scanning mode for determining size of
51 * uncompressed data
@@ -622,11 +622,11 @@
622 *
623 * - The list of up to 286 length/literal lengths and up to 30 distance lengths
624 * are themselves compressed using Huffman codes and run-length encoding. In
625 * the list of code lengths, a 0 symbol means no code, a 1..15 symbol means
626 * that length, and the symbols 16, 17, and 18 are run-length instructions.
627 * Each of 16, 17, and 18 are followed by extra bits to define the length of
628 * the run. 16 copies the last length 3 to 6 times. 17 represents 3 to 10
629 * zero lengths, and 18 represents 11 to 138 zero lengths. Unused symbols
630 * are common, hence the special coding for zero lengths.
631 *
632 * - The symbols for 0..18 are Huffman coded, and so that code must be
633
--- compat/zlib/contrib/puff/pufftest.c
+++ compat/zlib/contrib/puff/pufftest.c
@@ -141,11 +141,11 @@
141141
fprintf(stderr, "puff() succeeded uncompressing %lu bytes\n", destlen);
142142
if (sourcelen < len) fprintf(stderr, "%lu compressed bytes unused\n",
143143
len - sourcelen);
144144
}
145145
146
- /* if requested, inflate again and write decompressd data to stdout */
146
+ /* if requested, inflate again and write decompressed data to stdout */
147147
if (put && ret == 0) {
148148
if (fail)
149149
destlen >>= 1;
150150
dest = malloc(destlen);
151151
if (dest == NULL) {
152152
--- compat/zlib/contrib/puff/pufftest.c
+++ compat/zlib/contrib/puff/pufftest.c
@@ -141,11 +141,11 @@
141 fprintf(stderr, "puff() succeeded uncompressing %lu bytes\n", destlen);
142 if (sourcelen < len) fprintf(stderr, "%lu compressed bytes unused\n",
143 len - sourcelen);
144 }
145
146 /* if requested, inflate again and write decompressd data to stdout */
147 if (put && ret == 0) {
148 if (fail)
149 destlen >>= 1;
150 dest = malloc(destlen);
151 if (dest == NULL) {
152
--- compat/zlib/contrib/puff/pufftest.c
+++ compat/zlib/contrib/puff/pufftest.c
@@ -141,11 +141,11 @@
141 fprintf(stderr, "puff() succeeded uncompressing %lu bytes\n", destlen);
142 if (sourcelen < len) fprintf(stderr, "%lu compressed bytes unused\n",
143 len - sourcelen);
144 }
145
146 /* if requested, inflate again and write decompressed data to stdout */
147 if (put && ret == 0) {
148 if (fail)
149 destlen >>= 1;
150 dest = malloc(destlen);
151 if (dest == NULL) {
152
--- compat/zlib/contrib/vstudio/readme.txt
+++ compat/zlib/contrib/vstudio/readme.txt
@@ -1,6 +1,6 @@
1
-Building instructions for the DLL versions of Zlib 1.2.12
1
+Building instructions for the DLL versions of Zlib 1.2.13
22
========================================================
33
44
This directory contains projects that build zlib and minizip using
55
Microsoft Visual C++ 9.0/10.0.
66
@@ -15,13 +15,10 @@
1515
1616
1717
Build instructions for Visual Studio 2008 (32 bits or 64 bits)
1818
--------------------------------------------------------------
1919
- Decompress current zlib, including all contrib/* files
20
-- Compile assembly code (with Visual Studio Command Prompt) by running:
21
- bld_ml64.bat (in contrib\masmx64)
22
- bld_ml32.bat (in contrib\masmx86)
2320
- Open contrib\vstudio\vc9\zlibvc.sln with Microsoft Visual C++ 2008
2421
- Or run: vcbuild /rebuild contrib\vstudio\vc9\zlibvc.sln "Release|Win32"
2522
2623
Build instructions for Visual Studio 2010 (32 bits or 64 bits)
2724
--------------------------------------------------------------
2825
--- compat/zlib/contrib/vstudio/readme.txt
+++ compat/zlib/contrib/vstudio/readme.txt
@@ -1,6 +1,6 @@
1 Building instructions for the DLL versions of Zlib 1.2.12
2 ========================================================
3
4 This directory contains projects that build zlib and minizip using
5 Microsoft Visual C++ 9.0/10.0.
6
@@ -15,13 +15,10 @@
15
16
17 Build instructions for Visual Studio 2008 (32 bits or 64 bits)
18 --------------------------------------------------------------
19 - Decompress current zlib, including all contrib/* files
20 - Compile assembly code (with Visual Studio Command Prompt) by running:
21 bld_ml64.bat (in contrib\masmx64)
22 bld_ml32.bat (in contrib\masmx86)
23 - Open contrib\vstudio\vc9\zlibvc.sln with Microsoft Visual C++ 2008
24 - Or run: vcbuild /rebuild contrib\vstudio\vc9\zlibvc.sln "Release|Win32"
25
26 Build instructions for Visual Studio 2010 (32 bits or 64 bits)
27 --------------------------------------------------------------
28
--- compat/zlib/contrib/vstudio/readme.txt
+++ compat/zlib/contrib/vstudio/readme.txt
@@ -1,6 +1,6 @@
1 Building instructions for the DLL versions of Zlib 1.2.13
2 ========================================================
3
4 This directory contains projects that build zlib and minizip using
5 Microsoft Visual C++ 9.0/10.0.
6
@@ -15,13 +15,10 @@
15
16
17 Build instructions for Visual Studio 2008 (32 bits or 64 bits)
18 --------------------------------------------------------------
19 - Decompress current zlib, including all contrib/* files
 
 
 
20 - Open contrib\vstudio\vc9\zlibvc.sln with Microsoft Visual C++ 2008
21 - Or run: vcbuild /rebuild contrib\vstudio\vc9\zlibvc.sln "Release|Win32"
22
23 Build instructions for Visual Studio 2010 (32 bits or 64 bits)
24 --------------------------------------------------------------
25
--- compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters
@@ -1,11 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup>
44
<Filter Include="Source Files">
55
<UniqueIdentifier>{048af943-022b-4db6-beeb-a54c34774ee2}</UniqueIdentifier>
6
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
6
+ <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat</Extensions>
77
</Filter>
88
<Filter Include="Header Files">
99
<UniqueIdentifier>{c1d600d2-888f-4aea-b73e-8b0dd9befa0c}</UniqueIdentifier>
1010
<Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
1111
</Filter>
1212
--- compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters
@@ -1,11 +1,11 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup>
4 <Filter Include="Source Files">
5 <UniqueIdentifier>{048af943-022b-4db6-beeb-a54c34774ee2}</UniqueIdentifier>
6 <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
7 </Filter>
8 <Filter Include="Header Files">
9 <UniqueIdentifier>{c1d600d2-888f-4aea-b73e-8b0dd9befa0c}</UniqueIdentifier>
10 <Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
11 </Filter>
12
--- compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters
@@ -1,11 +1,11 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup>
4 <Filter Include="Source Files">
5 <UniqueIdentifier>{048af943-022b-4db6-beeb-a54c34774ee2}</UniqueIdentifier>
6 <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat</Extensions>
7 </Filter>
8 <Filter Include="Header Files">
9 <UniqueIdentifier>{c1d600d2-888f-4aea-b73e-8b0dd9befa0c}</UniqueIdentifier>
10 <Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
11 </Filter>
12
--- compat/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters
@@ -1,11 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup>
44
<Filter Include="Source Files">
55
<UniqueIdentifier>{c0419b40-bf50-40da-b153-ff74215b79de}</UniqueIdentifier>
6
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
6
+ <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat</Extensions>
77
</Filter>
88
<Filter Include="Header Files">
99
<UniqueIdentifier>{bb87b070-735b-478e-92ce-7383abb2f36c}</UniqueIdentifier>
1010
<Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
1111
</Filter>
1212
--- compat/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters
@@ -1,11 +1,11 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup>
4 <Filter Include="Source Files">
5 <UniqueIdentifier>{c0419b40-bf50-40da-b153-ff74215b79de}</UniqueIdentifier>
6 <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
7 </Filter>
8 <Filter Include="Header Files">
9 <UniqueIdentifier>{bb87b070-735b-478e-92ce-7383abb2f36c}</UniqueIdentifier>
10 <Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
11 </Filter>
12
--- compat/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters
@@ -1,11 +1,11 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup>
4 <Filter Include="Source Files">
5 <UniqueIdentifier>{c0419b40-bf50-40da-b153-ff74215b79de}</UniqueIdentifier>
6 <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat</Extensions>
7 </Filter>
8 <Filter Include="Header Files">
9 <UniqueIdentifier>{bb87b070-735b-478e-92ce-7383abb2f36c}</UniqueIdentifier>
10 <Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
11 </Filter>
12
--- compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj
@@ -179,11 +179,11 @@
179179
</PropertyGroup>
180180
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
181181
<ClCompile>
182182
<Optimization>Disabled</Optimization>
183183
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
184
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
184
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
185185
<MinimalRebuild>true</MinimalRebuild>
186186
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
187187
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
188188
<BufferSecurityCheck>false</BufferSecurityCheck>
189189
<PrecompiledHeader>
@@ -192,11 +192,11 @@
192192
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
193193
<WarningLevel>Level3</WarningLevel>
194194
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
195195
</ClCompile>
196196
<Link>
197
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
197
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
198198
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
199199
<GenerateDebugInformation>true</GenerateDebugInformation>
200200
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
201201
<SubSystem>Console</SubSystem>
202202
<RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -239,11 +239,11 @@
239239
<ClCompile>
240240
<Optimization>MaxSpeed</Optimization>
241241
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
242242
<OmitFramePointers>true</OmitFramePointers>
243243
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
244
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
244
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
245245
<StringPooling>true</StringPooling>
246246
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
247247
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
248248
<BufferSecurityCheck>false</BufferSecurityCheck>
249249
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -252,11 +252,11 @@
252252
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
253253
<WarningLevel>Level3</WarningLevel>
254254
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
255255
</ClCompile>
256256
<Link>
257
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
257
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
258258
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
259259
<GenerateDebugInformation>true</GenerateDebugInformation>
260260
<SubSystem>Console</SubSystem>
261261
<OptimizeReferences>true</OptimizeReferences>
262262
<EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -267,18 +267,18 @@
267267
</Link>
268268
</ItemDefinitionGroup>
269269
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
270270
<ClCompile>
271271
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
272
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
272
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
273273
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
274274
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
275275
<BufferSecurityCheck>false</BufferSecurityCheck>
276276
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
277277
</ClCompile>
278278
<Link>
279
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
279
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
280280
</Link>
281281
</ItemDefinitionGroup>
282282
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
283283
<Midl>
284284
<TargetEnvironment>Itanium</TargetEnvironment>
@@ -350,18 +350,18 @@
350350
</Link>
351351
</ItemDefinitionGroup>
352352
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
353353
<ClCompile>
354354
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
355
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
355
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
356356
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
357357
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
358358
<BufferSecurityCheck>false</BufferSecurityCheck>
359359
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
360360
</ClCompile>
361361
<Link>
362
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
362
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
363363
</Link>
364364
</ItemDefinitionGroup>
365365
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
366366
<Midl>
367367
<TargetEnvironment>Itanium</TargetEnvironment>
@@ -396,18 +396,10 @@
396396
<ClCompile Include="..\..\..\adler32.c" />
397397
<ClCompile Include="..\..\..\compress.c" />
398398
<ClCompile Include="..\..\..\crc32.c" />
399399
<ClCompile Include="..\..\..\deflate.c" />
400400
<ClCompile Include="..\..\..\infback.c" />
401
- <ClCompile Include="..\..\masmx64\inffas8664.c">
402
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
403
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
404
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
405
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
406
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
407
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
408
- </ClCompile>
409401
<ClCompile Include="..\..\..\inffast.c" />
410402
<ClCompile Include="..\..\..\inflate.c" />
411403
<ClCompile Include="..\..\..\inftrees.c" />
412404
<ClCompile Include="..\..\testzlib\testzlib.c" />
413405
<ClCompile Include="..\..\..\trees.c" />
414406
--- compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj
@@ -179,11 +179,11 @@
179 </PropertyGroup>
180 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
181 <ClCompile>
182 <Optimization>Disabled</Optimization>
183 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
184 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
185 <MinimalRebuild>true</MinimalRebuild>
186 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
187 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
188 <BufferSecurityCheck>false</BufferSecurityCheck>
189 <PrecompiledHeader>
@@ -192,11 +192,11 @@
192 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
193 <WarningLevel>Level3</WarningLevel>
194 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
195 </ClCompile>
196 <Link>
197 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
198 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
199 <GenerateDebugInformation>true</GenerateDebugInformation>
200 <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
201 <SubSystem>Console</SubSystem>
202 <RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -239,11 +239,11 @@
239 <ClCompile>
240 <Optimization>MaxSpeed</Optimization>
241 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
242 <OmitFramePointers>true</OmitFramePointers>
243 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
244 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
245 <StringPooling>true</StringPooling>
246 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
247 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
248 <BufferSecurityCheck>false</BufferSecurityCheck>
249 <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -252,11 +252,11 @@
252 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
253 <WarningLevel>Level3</WarningLevel>
254 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
255 </ClCompile>
256 <Link>
257 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
258 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
259 <GenerateDebugInformation>true</GenerateDebugInformation>
260 <SubSystem>Console</SubSystem>
261 <OptimizeReferences>true</OptimizeReferences>
262 <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -267,18 +267,18 @@
267 </Link>
268 </ItemDefinitionGroup>
269 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
270 <ClCompile>
271 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
272 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
273 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
274 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
275 <BufferSecurityCheck>false</BufferSecurityCheck>
276 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
277 </ClCompile>
278 <Link>
279 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
280 </Link>
281 </ItemDefinitionGroup>
282 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
283 <Midl>
284 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -350,18 +350,18 @@
350 </Link>
351 </ItemDefinitionGroup>
352 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
353 <ClCompile>
354 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
355 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
356 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
357 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
358 <BufferSecurityCheck>false</BufferSecurityCheck>
359 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
360 </ClCompile>
361 <Link>
362 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
363 </Link>
364 </ItemDefinitionGroup>
365 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
366 <Midl>
367 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -396,18 +396,10 @@
396 <ClCompile Include="..\..\..\adler32.c" />
397 <ClCompile Include="..\..\..\compress.c" />
398 <ClCompile Include="..\..\..\crc32.c" />
399 <ClCompile Include="..\..\..\deflate.c" />
400 <ClCompile Include="..\..\..\infback.c" />
401 <ClCompile Include="..\..\masmx64\inffas8664.c">
402 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
403 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
404 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
405 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
406 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
407 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
408 </ClCompile>
409 <ClCompile Include="..\..\..\inffast.c" />
410 <ClCompile Include="..\..\..\inflate.c" />
411 <ClCompile Include="..\..\..\inftrees.c" />
412 <ClCompile Include="..\..\testzlib\testzlib.c" />
413 <ClCompile Include="..\..\..\trees.c" />
414
--- compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj
@@ -179,11 +179,11 @@
179 </PropertyGroup>
180 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
181 <ClCompile>
182 <Optimization>Disabled</Optimization>
183 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
184 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
185 <MinimalRebuild>true</MinimalRebuild>
186 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
187 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
188 <BufferSecurityCheck>false</BufferSecurityCheck>
189 <PrecompiledHeader>
@@ -192,11 +192,11 @@
192 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
193 <WarningLevel>Level3</WarningLevel>
194 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
195 </ClCompile>
196 <Link>
197 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
198 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
199 <GenerateDebugInformation>true</GenerateDebugInformation>
200 <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
201 <SubSystem>Console</SubSystem>
202 <RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -239,11 +239,11 @@
239 <ClCompile>
240 <Optimization>MaxSpeed</Optimization>
241 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
242 <OmitFramePointers>true</OmitFramePointers>
243 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
244 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
245 <StringPooling>true</StringPooling>
246 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
247 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
248 <BufferSecurityCheck>false</BufferSecurityCheck>
249 <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -252,11 +252,11 @@
252 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
253 <WarningLevel>Level3</WarningLevel>
254 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
255 </ClCompile>
256 <Link>
257 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
258 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
259 <GenerateDebugInformation>true</GenerateDebugInformation>
260 <SubSystem>Console</SubSystem>
261 <OptimizeReferences>true</OptimizeReferences>
262 <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -267,18 +267,18 @@
267 </Link>
268 </ItemDefinitionGroup>
269 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
270 <ClCompile>
271 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
272 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
273 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
274 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
275 <BufferSecurityCheck>false</BufferSecurityCheck>
276 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
277 </ClCompile>
278 <Link>
279 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
280 </Link>
281 </ItemDefinitionGroup>
282 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
283 <Midl>
284 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -350,18 +350,18 @@
350 </Link>
351 </ItemDefinitionGroup>
352 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
353 <ClCompile>
354 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
355 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
356 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
357 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
358 <BufferSecurityCheck>false</BufferSecurityCheck>
359 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
360 </ClCompile>
361 <Link>
362 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
363 </Link>
364 </ItemDefinitionGroup>
365 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
366 <Midl>
367 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -396,18 +396,10 @@
396 <ClCompile Include="..\..\..\adler32.c" />
397 <ClCompile Include="..\..\..\compress.c" />
398 <ClCompile Include="..\..\..\crc32.c" />
399 <ClCompile Include="..\..\..\deflate.c" />
400 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
401 <ClCompile Include="..\..\..\inffast.c" />
402 <ClCompile Include="..\..\..\inflate.c" />
403 <ClCompile Include="..\..\..\inftrees.c" />
404 <ClCompile Include="..\..\testzlib\testzlib.c" />
405 <ClCompile Include="..\..\..\trees.c" />
406
--- compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters
@@ -1,11 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup>
44
<Filter Include="Source Files">
55
<UniqueIdentifier>{c1f6a2e3-5da5-4955-8653-310d3efe05a9}</UniqueIdentifier>
6
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
6
+ <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat</Extensions>
77
</Filter>
88
<Filter Include="Header Files">
99
<UniqueIdentifier>{c2aaffdc-2c95-4d6f-8466-4bec5890af2c}</UniqueIdentifier>
1010
<Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
1111
</Filter>
@@ -28,13 +28,10 @@
2828
<Filter>Source Files</Filter>
2929
</ClCompile>
3030
<ClCompile Include="..\..\..\infback.c">
3131
<Filter>Source Files</Filter>
3232
</ClCompile>
33
- <ClCompile Include="..\..\masmx64\inffas8664.c">
34
- <Filter>Source Files</Filter>
35
- </ClCompile>
3633
<ClCompile Include="..\..\..\inffast.c">
3734
<Filter>Source Files</Filter>
3835
</ClCompile>
3936
<ClCompile Include="..\..\..\inflate.c">
4037
<Filter>Source Files</Filter>
4138
--- compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters
@@ -1,11 +1,11 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup>
4 <Filter Include="Source Files">
5 <UniqueIdentifier>{c1f6a2e3-5da5-4955-8653-310d3efe05a9}</UniqueIdentifier>
6 <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
7 </Filter>
8 <Filter Include="Header Files">
9 <UniqueIdentifier>{c2aaffdc-2c95-4d6f-8466-4bec5890af2c}</UniqueIdentifier>
10 <Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
11 </Filter>
@@ -28,13 +28,10 @@
28 <Filter>Source Files</Filter>
29 </ClCompile>
30 <ClCompile Include="..\..\..\infback.c">
31 <Filter>Source Files</Filter>
32 </ClCompile>
33 <ClCompile Include="..\..\masmx64\inffas8664.c">
34 <Filter>Source Files</Filter>
35 </ClCompile>
36 <ClCompile Include="..\..\..\inffast.c">
37 <Filter>Source Files</Filter>
38 </ClCompile>
39 <ClCompile Include="..\..\..\inflate.c">
40 <Filter>Source Files</Filter>
41
--- compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters
@@ -1,11 +1,11 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup>
4 <Filter Include="Source Files">
5 <UniqueIdentifier>{c1f6a2e3-5da5-4955-8653-310d3efe05a9}</UniqueIdentifier>
6 <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat</Extensions>
7 </Filter>
8 <Filter Include="Header Files">
9 <UniqueIdentifier>{c2aaffdc-2c95-4d6f-8466-4bec5890af2c}</UniqueIdentifier>
10 <Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
11 </Filter>
@@ -28,13 +28,10 @@
28 <Filter>Source Files</Filter>
29 </ClCompile>
30 <ClCompile Include="..\..\..\infback.c">
31 <Filter>Source Files</Filter>
32 </ClCompile>
 
 
 
33 <ClCompile Include="..\..\..\inffast.c">
34 <Filter>Source Files</Filter>
35 </ClCompile>
36 <ClCompile Include="..\..\..\inflate.c">
37 <Filter>Source Files</Filter>
38
--- compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters
@@ -1,11 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup>
44
<Filter Include="Source Files">
55
<UniqueIdentifier>{fa61a89f-93fc-4c89-b29e-36224b7592f4}</UniqueIdentifier>
6
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
6
+ <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat</Extensions>
77
</Filter>
88
<Filter Include="Header Files">
99
<UniqueIdentifier>{d4b85da0-2ba2-4934-b57f-e2584e3848ee}</UniqueIdentifier>
1010
<Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
1111
</Filter>
1212
--- compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters
@@ -1,11 +1,11 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup>
4 <Filter Include="Source Files">
5 <UniqueIdentifier>{fa61a89f-93fc-4c89-b29e-36224b7592f4}</UniqueIdentifier>
6 <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
7 </Filter>
8 <Filter Include="Header Files">
9 <UniqueIdentifier>{d4b85da0-2ba2-4934-b57f-e2584e3848ee}</UniqueIdentifier>
10 <Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
11 </Filter>
12
--- compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters
@@ -1,11 +1,11 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup>
4 <Filter Include="Source Files">
5 <UniqueIdentifier>{fa61a89f-93fc-4c89-b29e-36224b7592f4}</UniqueIdentifier>
6 <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat</Extensions>
7 </Filter>
8 <Filter Include="Header Files">
9 <UniqueIdentifier>{d4b85da0-2ba2-4934-b57f-e2584e3848ee}</UniqueIdentifier>
10 <Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
11 </Filter>
12
--- compat/zlib/contrib/vstudio/vc10/zlib.rc
+++ compat/zlib/contrib/vstudio/vc10/zlib.rc
@@ -1,11 +1,11 @@
11
#include <windows.h>
22
33
#define IDR_VERSION1 1
44
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5
- FILEVERSION 1, 2, 12, 0
6
- PRODUCTVERSION 1, 2, 12, 0
5
+ FILEVERSION 1, 2, 13, 0
6
+ PRODUCTVERSION 1, 2, 13, 0
77
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
88
FILEFLAGS 0
99
FILEOS VOS_DOS_WINDOWS32
1010
FILETYPE VFT_DLL
1111
FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
1515
BLOCK "040904E4"
1616
//language ID = U.S. English, char set = Windows, Multilingual
1717
1818
BEGIN
1919
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20
- VALUE "FileVersion", "1.2.12\0"
20
+ VALUE "FileVersion", "1.2.13\0"
2121
VALUE "InternalName", "zlib\0"
2222
VALUE "OriginalFilename", "zlibwapi.dll\0"
2323
VALUE "ProductName", "ZLib.DLL\0"
2424
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
2525
VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
2626
--- compat/zlib/contrib/vstudio/vc10/zlib.rc
+++ compat/zlib/contrib/vstudio/vc10/zlib.rc
@@ -1,11 +1,11 @@
1 #include <windows.h>
2
3 #define IDR_VERSION1 1
4 IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1, 2, 12, 0
6 PRODUCTVERSION 1, 2, 12, 0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 VALUE "FileVersion", "1.2.12\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlibwapi.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
26
--- compat/zlib/contrib/vstudio/vc10/zlib.rc
+++ compat/zlib/contrib/vstudio/vc10/zlib.rc
@@ -1,11 +1,11 @@
1 #include <windows.h>
2
3 #define IDR_VERSION1 1
4 IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1, 2, 13, 0
6 PRODUCTVERSION 1, 2, 13, 0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 VALUE "FileVersion", "1.2.13\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlibwapi.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
26
--- compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj
@@ -158,11 +158,11 @@
158158
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
159159
</PropertyGroup>
160160
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
161161
<ClCompile>
162162
<Optimization>Disabled</Optimization>
163
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
163
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
164164
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
165165
<ExceptionHandling>
166166
</ExceptionHandling>
167167
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
168168
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -180,20 +180,16 @@
180180
<Lib>
181181
<AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
182182
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
183183
<SuppressStartupBanner>true</SuppressStartupBanner>
184184
</Lib>
185
- <PreBuildEvent>
186
- <Command>cd ..\..\masmx86
187
-bld_ml32.bat</Command>
188
- </PreBuildEvent>
189185
</ItemDefinitionGroup>
190186
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
191187
<ClCompile>
192188
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
193
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
194
- <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
189
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
190
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
195191
<StringPooling>true</StringPooling>
196192
<ExceptionHandling>
197193
</ExceptionHandling>
198194
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
199195
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -208,23 +204,19 @@
208204
<ResourceCompile>
209205
<Culture>0x040c</Culture>
210206
</ResourceCompile>
211207
<Lib>
212208
<AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
213
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
209
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
214210
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
215211
<SuppressStartupBanner>true</SuppressStartupBanner>
216212
</Lib>
217
- <PreBuildEvent>
218
- <Command>cd ..\..\masmx86
219
-bld_ml32.bat</Command>
220
- </PreBuildEvent>
221213
</ItemDefinitionGroup>
222214
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
223215
<ClCompile>
224216
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
225
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
217
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
226218
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
227219
<StringPooling>true</StringPooling>
228220
<ExceptionHandling>
229221
</ExceptionHandling>
230222
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -250,11 +242,11 @@
250242
<Midl>
251243
<TargetEnvironment>X64</TargetEnvironment>
252244
</Midl>
253245
<ClCompile>
254246
<Optimization>Disabled</Optimization>
255
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
247
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
256248
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
257249
<ExceptionHandling>
258250
</ExceptionHandling>
259251
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
260252
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -272,22 +264,18 @@
272264
<Lib>
273265
<AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
274266
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
275267
<SuppressStartupBanner>true</SuppressStartupBanner>
276268
</Lib>
277
- <PreBuildEvent>
278
- <Command>cd ..\..\masmx64
279
-bld_ml64.bat</Command>
280
- </PreBuildEvent>
281269
</ItemDefinitionGroup>
282270
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
283271
<Midl>
284272
<TargetEnvironment>Itanium</TargetEnvironment>
285273
</Midl>
286274
<ClCompile>
287275
<Optimization>Disabled</Optimization>
288
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
276
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
289277
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
290278
<ExceptionHandling>
291279
</ExceptionHandling>
292280
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
293281
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -312,12 +300,12 @@
312300
<Midl>
313301
<TargetEnvironment>X64</TargetEnvironment>
314302
</Midl>
315303
<ClCompile>
316304
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
317
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
318
- <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
305
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
306
+ <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
319307
<StringPooling>true</StringPooling>
320308
<ExceptionHandling>
321309
</ExceptionHandling>
322310
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
323311
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -332,26 +320,22 @@
332320
<ResourceCompile>
333321
<Culture>0x040c</Culture>
334322
</ResourceCompile>
335323
<Lib>
336324
<AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
337
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
325
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
338326
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
339327
<SuppressStartupBanner>true</SuppressStartupBanner>
340328
</Lib>
341
- <PreBuildEvent>
342
- <Command>cd ..\..\masmx64
343
-bld_ml64.bat</Command>
344
- </PreBuildEvent>
345329
</ItemDefinitionGroup>
346330
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
347331
<Midl>
348332
<TargetEnvironment>Itanium</TargetEnvironment>
349333
</Midl>
350334
<ClCompile>
351335
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
352
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
336
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
353337
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
354338
<StringPooling>true</StringPooling>
355339
<ExceptionHandling>
356340
</ExceptionHandling>
357341
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -377,11 +361,11 @@
377361
<Midl>
378362
<TargetEnvironment>X64</TargetEnvironment>
379363
</Midl>
380364
<ClCompile>
381365
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
382
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
366
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
383367
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
384368
<StringPooling>true</StringPooling>
385369
<ExceptionHandling>
386370
</ExceptionHandling>
387371
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -407,11 +391,11 @@
407391
<Midl>
408392
<TargetEnvironment>Itanium</TargetEnvironment>
409393
</Midl>
410394
<ClCompile>
411395
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
412
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
396
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
413397
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
414398
<StringPooling>true</StringPooling>
415399
<ExceptionHandling>
416400
</ExceptionHandling>
417401
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -441,18 +425,10 @@
441425
<ClCompile Include="..\..\..\gzclose.c" />
442426
<ClCompile Include="..\..\..\gzlib.c" />
443427
<ClCompile Include="..\..\..\gzread.c" />
444428
<ClCompile Include="..\..\..\gzwrite.c" />
445429
<ClCompile Include="..\..\..\infback.c" />
446
- <ClCompile Include="..\..\masmx64\inffas8664.c">
447
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
448
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
449
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
450
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
451
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
452
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
453
- </ClCompile>
454430
<ClCompile Include="..\..\..\inffast.c" />
455431
<ClCompile Include="..\..\..\inflate.c" />
456432
<ClCompile Include="..\..\..\inftrees.c" />
457433
<ClCompile Include="..\..\minizip\ioapi.c" />
458434
<ClCompile Include="..\..\..\trees.c" />
459435
--- compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj
@@ -158,11 +158,11 @@
158 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
159 </PropertyGroup>
160 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
161 <ClCompile>
162 <Optimization>Disabled</Optimization>
163 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
164 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
165 <ExceptionHandling>
166 </ExceptionHandling>
167 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
168 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -180,20 +180,16 @@
180 <Lib>
181 <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
182 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
183 <SuppressStartupBanner>true</SuppressStartupBanner>
184 </Lib>
185 <PreBuildEvent>
186 <Command>cd ..\..\masmx86
187 bld_ml32.bat</Command>
188 </PreBuildEvent>
189 </ItemDefinitionGroup>
190 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
191 <ClCompile>
192 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
193 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
194 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
195 <StringPooling>true</StringPooling>
196 <ExceptionHandling>
197 </ExceptionHandling>
198 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
199 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -208,23 +204,19 @@
208 <ResourceCompile>
209 <Culture>0x040c</Culture>
210 </ResourceCompile>
211 <Lib>
212 <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
213 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
214 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
215 <SuppressStartupBanner>true</SuppressStartupBanner>
216 </Lib>
217 <PreBuildEvent>
218 <Command>cd ..\..\masmx86
219 bld_ml32.bat</Command>
220 </PreBuildEvent>
221 </ItemDefinitionGroup>
222 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
223 <ClCompile>
224 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
225 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
226 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
227 <StringPooling>true</StringPooling>
228 <ExceptionHandling>
229 </ExceptionHandling>
230 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -250,11 +242,11 @@
250 <Midl>
251 <TargetEnvironment>X64</TargetEnvironment>
252 </Midl>
253 <ClCompile>
254 <Optimization>Disabled</Optimization>
255 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
256 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
257 <ExceptionHandling>
258 </ExceptionHandling>
259 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
260 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -272,22 +264,18 @@
272 <Lib>
273 <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
274 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
275 <SuppressStartupBanner>true</SuppressStartupBanner>
276 </Lib>
277 <PreBuildEvent>
278 <Command>cd ..\..\masmx64
279 bld_ml64.bat</Command>
280 </PreBuildEvent>
281 </ItemDefinitionGroup>
282 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
283 <Midl>
284 <TargetEnvironment>Itanium</TargetEnvironment>
285 </Midl>
286 <ClCompile>
287 <Optimization>Disabled</Optimization>
288 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
289 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
290 <ExceptionHandling>
291 </ExceptionHandling>
292 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
293 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -312,12 +300,12 @@
312 <Midl>
313 <TargetEnvironment>X64</TargetEnvironment>
314 </Midl>
315 <ClCompile>
316 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
317 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
318 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
319 <StringPooling>true</StringPooling>
320 <ExceptionHandling>
321 </ExceptionHandling>
322 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
323 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -332,26 +320,22 @@
332 <ResourceCompile>
333 <Culture>0x040c</Culture>
334 </ResourceCompile>
335 <Lib>
336 <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
337 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
338 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
339 <SuppressStartupBanner>true</SuppressStartupBanner>
340 </Lib>
341 <PreBuildEvent>
342 <Command>cd ..\..\masmx64
343 bld_ml64.bat</Command>
344 </PreBuildEvent>
345 </ItemDefinitionGroup>
346 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
347 <Midl>
348 <TargetEnvironment>Itanium</TargetEnvironment>
349 </Midl>
350 <ClCompile>
351 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
352 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
353 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
354 <StringPooling>true</StringPooling>
355 <ExceptionHandling>
356 </ExceptionHandling>
357 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -377,11 +361,11 @@
377 <Midl>
378 <TargetEnvironment>X64</TargetEnvironment>
379 </Midl>
380 <ClCompile>
381 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
382 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
383 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
384 <StringPooling>true</StringPooling>
385 <ExceptionHandling>
386 </ExceptionHandling>
387 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -407,11 +391,11 @@
407 <Midl>
408 <TargetEnvironment>Itanium</TargetEnvironment>
409 </Midl>
410 <ClCompile>
411 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
412 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
413 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
414 <StringPooling>true</StringPooling>
415 <ExceptionHandling>
416 </ExceptionHandling>
417 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -441,18 +425,10 @@
441 <ClCompile Include="..\..\..\gzclose.c" />
442 <ClCompile Include="..\..\..\gzlib.c" />
443 <ClCompile Include="..\..\..\gzread.c" />
444 <ClCompile Include="..\..\..\gzwrite.c" />
445 <ClCompile Include="..\..\..\infback.c" />
446 <ClCompile Include="..\..\masmx64\inffas8664.c">
447 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
448 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
449 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
450 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
451 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
452 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
453 </ClCompile>
454 <ClCompile Include="..\..\..\inffast.c" />
455 <ClCompile Include="..\..\..\inflate.c" />
456 <ClCompile Include="..\..\..\inftrees.c" />
457 <ClCompile Include="..\..\minizip\ioapi.c" />
458 <ClCompile Include="..\..\..\trees.c" />
459
--- compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj
@@ -158,11 +158,11 @@
158 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
159 </PropertyGroup>
160 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
161 <ClCompile>
162 <Optimization>Disabled</Optimization>
163 <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
164 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
165 <ExceptionHandling>
166 </ExceptionHandling>
167 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
168 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -180,20 +180,16 @@
180 <Lib>
181 <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
182 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
183 <SuppressStartupBanner>true</SuppressStartupBanner>
184 </Lib>
 
 
 
 
185 </ItemDefinitionGroup>
186 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
187 <ClCompile>
188 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
189 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
190 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
191 <StringPooling>true</StringPooling>
192 <ExceptionHandling>
193 </ExceptionHandling>
194 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
195 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -208,23 +204,19 @@
204 <ResourceCompile>
205 <Culture>0x040c</Culture>
206 </ResourceCompile>
207 <Lib>
208 <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
209 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
210 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
211 <SuppressStartupBanner>true</SuppressStartupBanner>
212 </Lib>
 
 
 
 
213 </ItemDefinitionGroup>
214 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
215 <ClCompile>
216 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
217 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
218 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
219 <StringPooling>true</StringPooling>
220 <ExceptionHandling>
221 </ExceptionHandling>
222 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -250,11 +242,11 @@
242 <Midl>
243 <TargetEnvironment>X64</TargetEnvironment>
244 </Midl>
245 <ClCompile>
246 <Optimization>Disabled</Optimization>
247 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
248 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
249 <ExceptionHandling>
250 </ExceptionHandling>
251 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
252 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -272,22 +264,18 @@
264 <Lib>
265 <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
266 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
267 <SuppressStartupBanner>true</SuppressStartupBanner>
268 </Lib>
 
 
 
 
269 </ItemDefinitionGroup>
270 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
271 <Midl>
272 <TargetEnvironment>Itanium</TargetEnvironment>
273 </Midl>
274 <ClCompile>
275 <Optimization>Disabled</Optimization>
276 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
277 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
278 <ExceptionHandling>
279 </ExceptionHandling>
280 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
281 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -312,12 +300,12 @@
300 <Midl>
301 <TargetEnvironment>X64</TargetEnvironment>
302 </Midl>
303 <ClCompile>
304 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
305 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
306 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
307 <StringPooling>true</StringPooling>
308 <ExceptionHandling>
309 </ExceptionHandling>
310 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
311 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -332,26 +320,22 @@
320 <ResourceCompile>
321 <Culture>0x040c</Culture>
322 </ResourceCompile>
323 <Lib>
324 <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
325 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
326 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
327 <SuppressStartupBanner>true</SuppressStartupBanner>
328 </Lib>
 
 
 
 
329 </ItemDefinitionGroup>
330 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
331 <Midl>
332 <TargetEnvironment>Itanium</TargetEnvironment>
333 </Midl>
334 <ClCompile>
335 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
336 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
337 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
338 <StringPooling>true</StringPooling>
339 <ExceptionHandling>
340 </ExceptionHandling>
341 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -377,11 +361,11 @@
361 <Midl>
362 <TargetEnvironment>X64</TargetEnvironment>
363 </Midl>
364 <ClCompile>
365 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
366 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
367 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
368 <StringPooling>true</StringPooling>
369 <ExceptionHandling>
370 </ExceptionHandling>
371 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -407,11 +391,11 @@
391 <Midl>
392 <TargetEnvironment>Itanium</TargetEnvironment>
393 </Midl>
394 <ClCompile>
395 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
396 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
397 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
398 <StringPooling>true</StringPooling>
399 <ExceptionHandling>
400 </ExceptionHandling>
401 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -441,18 +425,10 @@
425 <ClCompile Include="..\..\..\gzclose.c" />
426 <ClCompile Include="..\..\..\gzlib.c" />
427 <ClCompile Include="..\..\..\gzread.c" />
428 <ClCompile Include="..\..\..\gzwrite.c" />
429 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
430 <ClCompile Include="..\..\..\inffast.c" />
431 <ClCompile Include="..\..\..\inflate.c" />
432 <ClCompile Include="..\..\..\inftrees.c" />
433 <ClCompile Include="..\..\minizip\ioapi.c" />
434 <ClCompile Include="..\..\..\trees.c" />
435
--- compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters
@@ -31,13 +31,10 @@
3131
<Filter>Source Files</Filter>
3232
</ClCompile>
3333
<ClCompile Include="..\..\..\infback.c">
3434
<Filter>Source Files</Filter>
3535
</ClCompile>
36
- <ClCompile Include="..\..\masmx64\inffas8664.c">
37
- <Filter>Source Files</Filter>
38
- </ClCompile>
3936
<ClCompile Include="..\..\..\inffast.c">
4037
<Filter>Source Files</Filter>
4138
</ClCompile>
4239
<ClCompile Include="..\..\..\inflate.c">
4340
<Filter>Source Files</Filter>
4441
--- compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters
@@ -31,13 +31,10 @@
31 <Filter>Source Files</Filter>
32 </ClCompile>
33 <ClCompile Include="..\..\..\infback.c">
34 <Filter>Source Files</Filter>
35 </ClCompile>
36 <ClCompile Include="..\..\masmx64\inffas8664.c">
37 <Filter>Source Files</Filter>
38 </ClCompile>
39 <ClCompile Include="..\..\..\inffast.c">
40 <Filter>Source Files</Filter>
41 </ClCompile>
42 <ClCompile Include="..\..\..\inflate.c">
43 <Filter>Source Files</Filter>
44
--- compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters
@@ -31,13 +31,10 @@
31 <Filter>Source Files</Filter>
32 </ClCompile>
33 <ClCompile Include="..\..\..\infback.c">
34 <Filter>Source Files</Filter>
35 </ClCompile>
 
 
 
36 <ClCompile Include="..\..\..\inffast.c">
37 <Filter>Source Files</Filter>
38 </ClCompile>
39 <ClCompile Include="..\..\..\inflate.c">
40 <Filter>Source Files</Filter>
41
--- compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj
@@ -195,12 +195,12 @@
195195
<TargetEnvironment>Win32</TargetEnvironment>
196196
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
197197
</Midl>
198198
<ClCompile>
199199
<Optimization>Disabled</Optimization>
200
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
201
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
200
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
201
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
202202
<ExceptionHandling>
203203
</ExceptionHandling>
204204
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
205205
<BufferSecurityCheck>false</BufferSecurityCheck>
206206
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -217,24 +217,20 @@
217217
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
218218
<Culture>0x040c</Culture>
219219
</ResourceCompile>
220220
<Link>
221221
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
222
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
222
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
223223
<SuppressStartupBanner>true</SuppressStartupBanner>
224224
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
225225
<GenerateDebugInformation>true</GenerateDebugInformation>
226226
<GenerateMapFile>true</GenerateMapFile>
227227
<SubSystem>Windows</SubSystem>
228228
<RandomizedBaseAddress>false</RandomizedBaseAddress>
229229
<DataExecutionPrevention>
230230
</DataExecutionPrevention>
231231
</Link>
232
- <PreBuildEvent>
233
- <Command>cd ..\..\masmx86
234
-bld_ml32.bat</Command>
235
- </PreBuildEvent>
236232
</ItemDefinitionGroup>
237233
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
238234
<Midl>
239235
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
240236
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -242,11 +238,11 @@
242238
<TargetEnvironment>Win32</TargetEnvironment>
243239
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
244240
</Midl>
245241
<ClCompile>
246242
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
247
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
243
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
248244
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
249245
<StringPooling>true</StringPooling>
250246
<ExceptionHandling>
251247
</ExceptionHandling>
252248
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -286,12 +282,12 @@
286282
<TargetEnvironment>Win32</TargetEnvironment>
287283
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
288284
</Midl>
289285
<ClCompile>
290286
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
291
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
292
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
287
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
288
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
293289
<StringPooling>true</StringPooling>
294290
<ExceptionHandling>
295291
</ExceptionHandling>
296292
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
297293
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -310,24 +306,20 @@
310306
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
311307
<Culture>0x040c</Culture>
312308
</ResourceCompile>
313309
<Link>
314310
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
315
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
311
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
316312
<SuppressStartupBanner>true</SuppressStartupBanner>
317313
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
318314
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
319315
<GenerateMapFile>true</GenerateMapFile>
320316
<SubSystem>Windows</SubSystem>
321317
<RandomizedBaseAddress>false</RandomizedBaseAddress>
322318
<DataExecutionPrevention>
323319
</DataExecutionPrevention>
324320
</Link>
325
- <PreBuildEvent>
326
- <Command>cd ..\..\masmx86
327
-bld_ml32.bat</Command>
328
- </PreBuildEvent>
329321
</ItemDefinitionGroup>
330322
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
331323
<Midl>
332324
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
333325
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -335,12 +327,12 @@
335327
<TargetEnvironment>X64</TargetEnvironment>
336328
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
337329
</Midl>
338330
<ClCompile>
339331
<Optimization>Disabled</Optimization>
340
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
341
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
332
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
333
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
342334
<ExceptionHandling>
343335
</ExceptionHandling>
344336
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
345337
<BufferSecurityCheck>false</BufferSecurityCheck>
346338
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -356,22 +348,18 @@
356348
<ResourceCompile>
357349
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
358350
<Culture>0x040c</Culture>
359351
</ResourceCompile>
360352
<Link>
361
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
353
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
362354
<SuppressStartupBanner>true</SuppressStartupBanner>
363355
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
364356
<GenerateDebugInformation>true</GenerateDebugInformation>
365357
<GenerateMapFile>true</GenerateMapFile>
366358
<SubSystem>Windows</SubSystem>
367359
<TargetMachine>MachineX64</TargetMachine>
368360
</Link>
369
- <PreBuildEvent>
370
- <Command>cd ..\..\masmx64
371
-bld_ml64.bat</Command>
372
- </PreBuildEvent>
373361
</ItemDefinitionGroup>
374362
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
375363
<Midl>
376364
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
377365
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -379,11 +367,11 @@
379367
<TargetEnvironment>Itanium</TargetEnvironment>
380368
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
381369
</Midl>
382370
<ClCompile>
383371
<Optimization>Disabled</Optimization>
384
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
372
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
385373
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
386374
<ExceptionHandling>
387375
</ExceptionHandling>
388376
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
389377
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -422,11 +410,11 @@
422410
<TargetEnvironment>X64</TargetEnvironment>
423411
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
424412
</Midl>
425413
<ClCompile>
426414
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
427
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
415
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
428416
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
429417
<StringPooling>true</StringPooling>
430418
<ExceptionHandling>
431419
</ExceptionHandling>
432420
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -463,11 +451,11 @@
463451
<TargetEnvironment>Itanium</TargetEnvironment>
464452
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
465453
</Midl>
466454
<ClCompile>
467455
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
468
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
456
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
469457
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
470458
<StringPooling>true</StringPooling>
471459
<ExceptionHandling>
472460
</ExceptionHandling>
473461
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -508,12 +496,12 @@
508496
<TargetEnvironment>X64</TargetEnvironment>
509497
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
510498
</Midl>
511499
<ClCompile>
512500
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
513
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
514
- <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
501
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
502
+ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
515503
<StringPooling>true</StringPooling>
516504
<ExceptionHandling>
517505
</ExceptionHandling>
518506
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
519507
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -531,22 +519,18 @@
531519
<ResourceCompile>
532520
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
533521
<Culture>0x040c</Culture>
534522
</ResourceCompile>
535523
<Link>
536
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
524
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
537525
<SuppressStartupBanner>true</SuppressStartupBanner>
538526
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
539527
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
540528
<GenerateMapFile>true</GenerateMapFile>
541529
<SubSystem>Windows</SubSystem>
542530
<TargetMachine>MachineX64</TargetMachine>
543531
</Link>
544
- <PreBuildEvent>
545
- <Command>cd ..\..\masmx64
546
-bld_ml64.bat</Command>
547
- </PreBuildEvent>
548532
</ItemDefinitionGroup>
549533
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
550534
<Midl>
551535
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
552536
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -554,11 +538,11 @@
554538
<TargetEnvironment>Itanium</TargetEnvironment>
555539
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
556540
</Midl>
557541
<ClCompile>
558542
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
559
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
543
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
560544
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
561545
<StringPooling>true</StringPooling>
562546
<ExceptionHandling>
563547
</ExceptionHandling>
564548
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -599,18 +583,10 @@
599583
<ClCompile Include="..\..\..\gzclose.c" />
600584
<ClCompile Include="..\..\..\gzlib.c" />
601585
<ClCompile Include="..\..\..\gzread.c" />
602586
<ClCompile Include="..\..\..\gzwrite.c" />
603587
<ClCompile Include="..\..\..\infback.c" />
604
- <ClCompile Include="..\..\masmx64\inffas8664.c">
605
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
606
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
607
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
608
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
609
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
610
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
611
- </ClCompile>
612588
<ClCompile Include="..\..\..\inffast.c" />
613589
<ClCompile Include="..\..\..\inflate.c" />
614590
<ClCompile Include="..\..\..\inftrees.c" />
615591
<ClCompile Include="..\..\minizip\ioapi.c" />
616592
<ClCompile Include="..\..\minizip\iowin32.c" />
617593
--- compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj
@@ -195,12 +195,12 @@
195 <TargetEnvironment>Win32</TargetEnvironment>
196 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
197 </Midl>
198 <ClCompile>
199 <Optimization>Disabled</Optimization>
200 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
201 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
202 <ExceptionHandling>
203 </ExceptionHandling>
204 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
205 <BufferSecurityCheck>false</BufferSecurityCheck>
206 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -217,24 +217,20 @@
217 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
218 <Culture>0x040c</Culture>
219 </ResourceCompile>
220 <Link>
221 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
222 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
223 <SuppressStartupBanner>true</SuppressStartupBanner>
224 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
225 <GenerateDebugInformation>true</GenerateDebugInformation>
226 <GenerateMapFile>true</GenerateMapFile>
227 <SubSystem>Windows</SubSystem>
228 <RandomizedBaseAddress>false</RandomizedBaseAddress>
229 <DataExecutionPrevention>
230 </DataExecutionPrevention>
231 </Link>
232 <PreBuildEvent>
233 <Command>cd ..\..\masmx86
234 bld_ml32.bat</Command>
235 </PreBuildEvent>
236 </ItemDefinitionGroup>
237 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
238 <Midl>
239 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
240 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -242,11 +238,11 @@
242 <TargetEnvironment>Win32</TargetEnvironment>
243 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
244 </Midl>
245 <ClCompile>
246 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
247 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
248 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
249 <StringPooling>true</StringPooling>
250 <ExceptionHandling>
251 </ExceptionHandling>
252 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -286,12 +282,12 @@
286 <TargetEnvironment>Win32</TargetEnvironment>
287 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
288 </Midl>
289 <ClCompile>
290 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
291 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
292 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
293 <StringPooling>true</StringPooling>
294 <ExceptionHandling>
295 </ExceptionHandling>
296 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
297 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -310,24 +306,20 @@
310 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
311 <Culture>0x040c</Culture>
312 </ResourceCompile>
313 <Link>
314 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
315 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
316 <SuppressStartupBanner>true</SuppressStartupBanner>
317 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
318 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
319 <GenerateMapFile>true</GenerateMapFile>
320 <SubSystem>Windows</SubSystem>
321 <RandomizedBaseAddress>false</RandomizedBaseAddress>
322 <DataExecutionPrevention>
323 </DataExecutionPrevention>
324 </Link>
325 <PreBuildEvent>
326 <Command>cd ..\..\masmx86
327 bld_ml32.bat</Command>
328 </PreBuildEvent>
329 </ItemDefinitionGroup>
330 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
331 <Midl>
332 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
333 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -335,12 +327,12 @@
335 <TargetEnvironment>X64</TargetEnvironment>
336 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
337 </Midl>
338 <ClCompile>
339 <Optimization>Disabled</Optimization>
340 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
341 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
342 <ExceptionHandling>
343 </ExceptionHandling>
344 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
345 <BufferSecurityCheck>false</BufferSecurityCheck>
346 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -356,22 +348,18 @@
356 <ResourceCompile>
357 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
358 <Culture>0x040c</Culture>
359 </ResourceCompile>
360 <Link>
361 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
362 <SuppressStartupBanner>true</SuppressStartupBanner>
363 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
364 <GenerateDebugInformation>true</GenerateDebugInformation>
365 <GenerateMapFile>true</GenerateMapFile>
366 <SubSystem>Windows</SubSystem>
367 <TargetMachine>MachineX64</TargetMachine>
368 </Link>
369 <PreBuildEvent>
370 <Command>cd ..\..\masmx64
371 bld_ml64.bat</Command>
372 </PreBuildEvent>
373 </ItemDefinitionGroup>
374 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
375 <Midl>
376 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
377 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -379,11 +367,11 @@
379 <TargetEnvironment>Itanium</TargetEnvironment>
380 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
381 </Midl>
382 <ClCompile>
383 <Optimization>Disabled</Optimization>
384 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
385 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
386 <ExceptionHandling>
387 </ExceptionHandling>
388 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
389 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -422,11 +410,11 @@
422 <TargetEnvironment>X64</TargetEnvironment>
423 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
424 </Midl>
425 <ClCompile>
426 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
427 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
428 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
429 <StringPooling>true</StringPooling>
430 <ExceptionHandling>
431 </ExceptionHandling>
432 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -463,11 +451,11 @@
463 <TargetEnvironment>Itanium</TargetEnvironment>
464 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
465 </Midl>
466 <ClCompile>
467 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
468 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
469 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
470 <StringPooling>true</StringPooling>
471 <ExceptionHandling>
472 </ExceptionHandling>
473 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -508,12 +496,12 @@
508 <TargetEnvironment>X64</TargetEnvironment>
509 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
510 </Midl>
511 <ClCompile>
512 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
513 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
514 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
515 <StringPooling>true</StringPooling>
516 <ExceptionHandling>
517 </ExceptionHandling>
518 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
519 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -531,22 +519,18 @@
531 <ResourceCompile>
532 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
533 <Culture>0x040c</Culture>
534 </ResourceCompile>
535 <Link>
536 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
537 <SuppressStartupBanner>true</SuppressStartupBanner>
538 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
539 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
540 <GenerateMapFile>true</GenerateMapFile>
541 <SubSystem>Windows</SubSystem>
542 <TargetMachine>MachineX64</TargetMachine>
543 </Link>
544 <PreBuildEvent>
545 <Command>cd ..\..\masmx64
546 bld_ml64.bat</Command>
547 </PreBuildEvent>
548 </ItemDefinitionGroup>
549 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
550 <Midl>
551 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
552 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -554,11 +538,11 @@
554 <TargetEnvironment>Itanium</TargetEnvironment>
555 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
556 </Midl>
557 <ClCompile>
558 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
559 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
560 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
561 <StringPooling>true</StringPooling>
562 <ExceptionHandling>
563 </ExceptionHandling>
564 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -599,18 +583,10 @@
599 <ClCompile Include="..\..\..\gzclose.c" />
600 <ClCompile Include="..\..\..\gzlib.c" />
601 <ClCompile Include="..\..\..\gzread.c" />
602 <ClCompile Include="..\..\..\gzwrite.c" />
603 <ClCompile Include="..\..\..\infback.c" />
604 <ClCompile Include="..\..\masmx64\inffas8664.c">
605 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
606 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
607 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
608 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
609 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
610 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
611 </ClCompile>
612 <ClCompile Include="..\..\..\inffast.c" />
613 <ClCompile Include="..\..\..\inflate.c" />
614 <ClCompile Include="..\..\..\inftrees.c" />
615 <ClCompile Include="..\..\minizip\ioapi.c" />
616 <ClCompile Include="..\..\minizip\iowin32.c" />
617
--- compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj
@@ -195,12 +195,12 @@
195 <TargetEnvironment>Win32</TargetEnvironment>
196 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
197 </Midl>
198 <ClCompile>
199 <Optimization>Disabled</Optimization>
200 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
201 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
202 <ExceptionHandling>
203 </ExceptionHandling>
204 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
205 <BufferSecurityCheck>false</BufferSecurityCheck>
206 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -217,24 +217,20 @@
217 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
218 <Culture>0x040c</Culture>
219 </ResourceCompile>
220 <Link>
221 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
222 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
223 <SuppressStartupBanner>true</SuppressStartupBanner>
224 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
225 <GenerateDebugInformation>true</GenerateDebugInformation>
226 <GenerateMapFile>true</GenerateMapFile>
227 <SubSystem>Windows</SubSystem>
228 <RandomizedBaseAddress>false</RandomizedBaseAddress>
229 <DataExecutionPrevention>
230 </DataExecutionPrevention>
231 </Link>
 
 
 
 
232 </ItemDefinitionGroup>
233 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
234 <Midl>
235 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
236 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -242,11 +238,11 @@
238 <TargetEnvironment>Win32</TargetEnvironment>
239 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
240 </Midl>
241 <ClCompile>
242 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
243 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
244 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
245 <StringPooling>true</StringPooling>
246 <ExceptionHandling>
247 </ExceptionHandling>
248 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -286,12 +282,12 @@
282 <TargetEnvironment>Win32</TargetEnvironment>
283 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
284 </Midl>
285 <ClCompile>
286 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
287 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
288 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
289 <StringPooling>true</StringPooling>
290 <ExceptionHandling>
291 </ExceptionHandling>
292 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
293 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -310,24 +306,20 @@
306 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
307 <Culture>0x040c</Culture>
308 </ResourceCompile>
309 <Link>
310 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
311 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
312 <SuppressStartupBanner>true</SuppressStartupBanner>
313 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
314 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
315 <GenerateMapFile>true</GenerateMapFile>
316 <SubSystem>Windows</SubSystem>
317 <RandomizedBaseAddress>false</RandomizedBaseAddress>
318 <DataExecutionPrevention>
319 </DataExecutionPrevention>
320 </Link>
 
 
 
 
321 </ItemDefinitionGroup>
322 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
323 <Midl>
324 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
325 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -335,12 +327,12 @@
327 <TargetEnvironment>X64</TargetEnvironment>
328 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
329 </Midl>
330 <ClCompile>
331 <Optimization>Disabled</Optimization>
332 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
333 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
334 <ExceptionHandling>
335 </ExceptionHandling>
336 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
337 <BufferSecurityCheck>false</BufferSecurityCheck>
338 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -356,22 +348,18 @@
348 <ResourceCompile>
349 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
350 <Culture>0x040c</Culture>
351 </ResourceCompile>
352 <Link>
353 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
354 <SuppressStartupBanner>true</SuppressStartupBanner>
355 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
356 <GenerateDebugInformation>true</GenerateDebugInformation>
357 <GenerateMapFile>true</GenerateMapFile>
358 <SubSystem>Windows</SubSystem>
359 <TargetMachine>MachineX64</TargetMachine>
360 </Link>
 
 
 
 
361 </ItemDefinitionGroup>
362 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
363 <Midl>
364 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
365 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -379,11 +367,11 @@
367 <TargetEnvironment>Itanium</TargetEnvironment>
368 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
369 </Midl>
370 <ClCompile>
371 <Optimization>Disabled</Optimization>
372 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
373 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
374 <ExceptionHandling>
375 </ExceptionHandling>
376 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
377 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -422,11 +410,11 @@
410 <TargetEnvironment>X64</TargetEnvironment>
411 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
412 </Midl>
413 <ClCompile>
414 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
415 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
416 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
417 <StringPooling>true</StringPooling>
418 <ExceptionHandling>
419 </ExceptionHandling>
420 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -463,11 +451,11 @@
451 <TargetEnvironment>Itanium</TargetEnvironment>
452 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
453 </Midl>
454 <ClCompile>
455 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
456 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
457 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
458 <StringPooling>true</StringPooling>
459 <ExceptionHandling>
460 </ExceptionHandling>
461 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -508,12 +496,12 @@
496 <TargetEnvironment>X64</TargetEnvironment>
497 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
498 </Midl>
499 <ClCompile>
500 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
501 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
502 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
503 <StringPooling>true</StringPooling>
504 <ExceptionHandling>
505 </ExceptionHandling>
506 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
507 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -531,22 +519,18 @@
519 <ResourceCompile>
520 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
521 <Culture>0x040c</Culture>
522 </ResourceCompile>
523 <Link>
524 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
525 <SuppressStartupBanner>true</SuppressStartupBanner>
526 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
527 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
528 <GenerateMapFile>true</GenerateMapFile>
529 <SubSystem>Windows</SubSystem>
530 <TargetMachine>MachineX64</TargetMachine>
531 </Link>
 
 
 
 
532 </ItemDefinitionGroup>
533 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
534 <Midl>
535 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
536 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -554,11 +538,11 @@
538 <TargetEnvironment>Itanium</TargetEnvironment>
539 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
540 </Midl>
541 <ClCompile>
542 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
543 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
544 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
545 <StringPooling>true</StringPooling>
546 <ExceptionHandling>
547 </ExceptionHandling>
548 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -599,18 +583,10 @@
583 <ClCompile Include="..\..\..\gzclose.c" />
584 <ClCompile Include="..\..\..\gzlib.c" />
585 <ClCompile Include="..\..\..\gzread.c" />
586 <ClCompile Include="..\..\..\gzwrite.c" />
587 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
588 <ClCompile Include="..\..\..\inffast.c" />
589 <ClCompile Include="..\..\..\inflate.c" />
590 <ClCompile Include="..\..\..\inftrees.c" />
591 <ClCompile Include="..\..\minizip\ioapi.c" />
592 <ClCompile Include="..\..\minizip\iowin32.c" />
593
--- compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters
@@ -40,13 +40,10 @@
4040
<Filter>Source Files</Filter>
4141
</ClCompile>
4242
<ClCompile Include="..\..\..\infback.c">
4343
<Filter>Source Files</Filter>
4444
</ClCompile>
45
- <ClCompile Include="..\..\masmx64\inffas8664.c">
46
- <Filter>Source Files</Filter>
47
- </ClCompile>
4845
<ClCompile Include="..\..\..\inffast.c">
4946
<Filter>Source Files</Filter>
5047
</ClCompile>
5148
<ClCompile Include="..\..\..\inflate.c">
5249
<Filter>Source Files</Filter>
5350
--- compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters
@@ -40,13 +40,10 @@
40 <Filter>Source Files</Filter>
41 </ClCompile>
42 <ClCompile Include="..\..\..\infback.c">
43 <Filter>Source Files</Filter>
44 </ClCompile>
45 <ClCompile Include="..\..\masmx64\inffas8664.c">
46 <Filter>Source Files</Filter>
47 </ClCompile>
48 <ClCompile Include="..\..\..\inffast.c">
49 <Filter>Source Files</Filter>
50 </ClCompile>
51 <ClCompile Include="..\..\..\inflate.c">
52 <Filter>Source Files</Filter>
53
--- compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters
+++ compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters
@@ -40,13 +40,10 @@
40 <Filter>Source Files</Filter>
41 </ClCompile>
42 <ClCompile Include="..\..\..\infback.c">
43 <Filter>Source Files</Filter>
44 </ClCompile>
 
 
 
45 <ClCompile Include="..\..\..\inffast.c">
46 <Filter>Source Files</Filter>
47 </ClCompile>
48 <ClCompile Include="..\..\..\inflate.c">
49 <Filter>Source Files</Filter>
50
--- compat/zlib/contrib/vstudio/vc11/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc11/testzlib.vcxproj
@@ -185,11 +185,11 @@
185185
</PropertyGroup>
186186
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
187187
<ClCompile>
188188
<Optimization>Disabled</Optimization>
189189
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
190
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
190
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
191191
<MinimalRebuild>true</MinimalRebuild>
192192
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
193193
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
194194
<BufferSecurityCheck>false</BufferSecurityCheck>
195195
<PrecompiledHeader>
@@ -198,11 +198,11 @@
198198
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
199199
<WarningLevel>Level3</WarningLevel>
200200
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
201201
</ClCompile>
202202
<Link>
203
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
203
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
204204
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
205205
<GenerateDebugInformation>true</GenerateDebugInformation>
206206
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
207207
<SubSystem>Console</SubSystem>
208208
<RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -245,11 +245,11 @@
245245
<ClCompile>
246246
<Optimization>MaxSpeed</Optimization>
247247
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
248248
<OmitFramePointers>true</OmitFramePointers>
249249
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
250
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
250
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
251251
<StringPooling>true</StringPooling>
252252
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
253253
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
254254
<BufferSecurityCheck>false</BufferSecurityCheck>
255255
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -258,11 +258,11 @@
258258
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
259259
<WarningLevel>Level3</WarningLevel>
260260
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
261261
</ClCompile>
262262
<Link>
263
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
263
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
264264
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
265265
<GenerateDebugInformation>true</GenerateDebugInformation>
266266
<SubSystem>Console</SubSystem>
267267
<OptimizeReferences>true</OptimizeReferences>
268268
<EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -273,18 +273,18 @@
273273
</Link>
274274
</ItemDefinitionGroup>
275275
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
276276
<ClCompile>
277277
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
278
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
278
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
279279
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
280280
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
281281
<BufferSecurityCheck>false</BufferSecurityCheck>
282282
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
283283
</ClCompile>
284284
<Link>
285
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
285
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
286286
</Link>
287287
</ItemDefinitionGroup>
288288
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
289289
<Midl>
290290
<TargetEnvironment>Itanium</TargetEnvironment>
@@ -356,18 +356,18 @@
356356
</Link>
357357
</ItemDefinitionGroup>
358358
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
359359
<ClCompile>
360360
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
361
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
361
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
362362
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
363363
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
364364
<BufferSecurityCheck>false</BufferSecurityCheck>
365365
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
366366
</ClCompile>
367367
<Link>
368
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
368
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
369369
</Link>
370370
</ItemDefinitionGroup>
371371
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
372372
<Midl>
373373
<TargetEnvironment>Itanium</TargetEnvironment>
@@ -402,18 +402,10 @@
402402
<ClCompile Include="..\..\..\adler32.c" />
403403
<ClCompile Include="..\..\..\compress.c" />
404404
<ClCompile Include="..\..\..\crc32.c" />
405405
<ClCompile Include="..\..\..\deflate.c" />
406406
<ClCompile Include="..\..\..\infback.c" />
407
- <ClCompile Include="..\..\masmx64\inffas8664.c">
408
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
409
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
410
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
411
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
412
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
413
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
414
- </ClCompile>
415407
<ClCompile Include="..\..\..\inffast.c" />
416408
<ClCompile Include="..\..\..\inflate.c" />
417409
<ClCompile Include="..\..\..\inftrees.c" />
418410
<ClCompile Include="..\..\testzlib\testzlib.c" />
419411
<ClCompile Include="..\..\..\trees.c" />
420412
--- compat/zlib/contrib/vstudio/vc11/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc11/testzlib.vcxproj
@@ -185,11 +185,11 @@
185 </PropertyGroup>
186 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
187 <ClCompile>
188 <Optimization>Disabled</Optimization>
189 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
190 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
191 <MinimalRebuild>true</MinimalRebuild>
192 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
193 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
194 <BufferSecurityCheck>false</BufferSecurityCheck>
195 <PrecompiledHeader>
@@ -198,11 +198,11 @@
198 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
199 <WarningLevel>Level3</WarningLevel>
200 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
201 </ClCompile>
202 <Link>
203 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
204 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
205 <GenerateDebugInformation>true</GenerateDebugInformation>
206 <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
207 <SubSystem>Console</SubSystem>
208 <RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -245,11 +245,11 @@
245 <ClCompile>
246 <Optimization>MaxSpeed</Optimization>
247 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
248 <OmitFramePointers>true</OmitFramePointers>
249 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
250 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
251 <StringPooling>true</StringPooling>
252 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
253 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
254 <BufferSecurityCheck>false</BufferSecurityCheck>
255 <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -258,11 +258,11 @@
258 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
259 <WarningLevel>Level3</WarningLevel>
260 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
261 </ClCompile>
262 <Link>
263 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
264 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
265 <GenerateDebugInformation>true</GenerateDebugInformation>
266 <SubSystem>Console</SubSystem>
267 <OptimizeReferences>true</OptimizeReferences>
268 <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -273,18 +273,18 @@
273 </Link>
274 </ItemDefinitionGroup>
275 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
276 <ClCompile>
277 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
278 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
279 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
280 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
281 <BufferSecurityCheck>false</BufferSecurityCheck>
282 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
283 </ClCompile>
284 <Link>
285 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
286 </Link>
287 </ItemDefinitionGroup>
288 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
289 <Midl>
290 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -356,18 +356,18 @@
356 </Link>
357 </ItemDefinitionGroup>
358 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
359 <ClCompile>
360 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
361 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
362 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
363 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
364 <BufferSecurityCheck>false</BufferSecurityCheck>
365 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
366 </ClCompile>
367 <Link>
368 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
369 </Link>
370 </ItemDefinitionGroup>
371 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
372 <Midl>
373 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -402,18 +402,10 @@
402 <ClCompile Include="..\..\..\adler32.c" />
403 <ClCompile Include="..\..\..\compress.c" />
404 <ClCompile Include="..\..\..\crc32.c" />
405 <ClCompile Include="..\..\..\deflate.c" />
406 <ClCompile Include="..\..\..\infback.c" />
407 <ClCompile Include="..\..\masmx64\inffas8664.c">
408 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
409 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
410 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
411 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
412 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
413 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
414 </ClCompile>
415 <ClCompile Include="..\..\..\inffast.c" />
416 <ClCompile Include="..\..\..\inflate.c" />
417 <ClCompile Include="..\..\..\inftrees.c" />
418 <ClCompile Include="..\..\testzlib\testzlib.c" />
419 <ClCompile Include="..\..\..\trees.c" />
420
--- compat/zlib/contrib/vstudio/vc11/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc11/testzlib.vcxproj
@@ -185,11 +185,11 @@
185 </PropertyGroup>
186 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
187 <ClCompile>
188 <Optimization>Disabled</Optimization>
189 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
190 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
191 <MinimalRebuild>true</MinimalRebuild>
192 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
193 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
194 <BufferSecurityCheck>false</BufferSecurityCheck>
195 <PrecompiledHeader>
@@ -198,11 +198,11 @@
198 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
199 <WarningLevel>Level3</WarningLevel>
200 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
201 </ClCompile>
202 <Link>
203 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
204 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
205 <GenerateDebugInformation>true</GenerateDebugInformation>
206 <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
207 <SubSystem>Console</SubSystem>
208 <RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -245,11 +245,11 @@
245 <ClCompile>
246 <Optimization>MaxSpeed</Optimization>
247 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
248 <OmitFramePointers>true</OmitFramePointers>
249 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
250 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
251 <StringPooling>true</StringPooling>
252 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
253 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
254 <BufferSecurityCheck>false</BufferSecurityCheck>
255 <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -258,11 +258,11 @@
258 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
259 <WarningLevel>Level3</WarningLevel>
260 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
261 </ClCompile>
262 <Link>
263 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
264 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
265 <GenerateDebugInformation>true</GenerateDebugInformation>
266 <SubSystem>Console</SubSystem>
267 <OptimizeReferences>true</OptimizeReferences>
268 <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -273,18 +273,18 @@
273 </Link>
274 </ItemDefinitionGroup>
275 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
276 <ClCompile>
277 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
278 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
279 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
280 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
281 <BufferSecurityCheck>false</BufferSecurityCheck>
282 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
283 </ClCompile>
284 <Link>
285 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
286 </Link>
287 </ItemDefinitionGroup>
288 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
289 <Midl>
290 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -356,18 +356,18 @@
356 </Link>
357 </ItemDefinitionGroup>
358 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
359 <ClCompile>
360 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
361 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
362 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
363 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
364 <BufferSecurityCheck>false</BufferSecurityCheck>
365 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
366 </ClCompile>
367 <Link>
368 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
369 </Link>
370 </ItemDefinitionGroup>
371 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
372 <Midl>
373 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -402,18 +402,10 @@
402 <ClCompile Include="..\..\..\adler32.c" />
403 <ClCompile Include="..\..\..\compress.c" />
404 <ClCompile Include="..\..\..\crc32.c" />
405 <ClCompile Include="..\..\..\deflate.c" />
406 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
407 <ClCompile Include="..\..\..\inffast.c" />
408 <ClCompile Include="..\..\..\inflate.c" />
409 <ClCompile Include="..\..\..\inftrees.c" />
410 <ClCompile Include="..\..\testzlib\testzlib.c" />
411 <ClCompile Include="..\..\..\trees.c" />
412
--- compat/zlib/contrib/vstudio/vc11/zlib.rc
+++ compat/zlib/contrib/vstudio/vc11/zlib.rc
@@ -1,11 +1,11 @@
11
#include <windows.h>
22
33
#define IDR_VERSION1 1
44
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5
- FILEVERSION 1, 2, 12, 0
6
- PRODUCTVERSION 1, 2, 12, 0
5
+ FILEVERSION 1, 2, 13, 0
6
+ PRODUCTVERSION 1, 2, 13, 0
77
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
88
FILEFLAGS 0
99
FILEOS VOS_DOS_WINDOWS32
1010
FILETYPE VFT_DLL
1111
FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
1515
BLOCK "040904E4"
1616
//language ID = U.S. English, char set = Windows, Multilingual
1717
1818
BEGIN
1919
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20
- VALUE "FileVersion", "1.2.12\0"
20
+ VALUE "FileVersion", "1.2.13\0"
2121
VALUE "InternalName", "zlib\0"
2222
VALUE "OriginalFilename", "zlibwapi.dll\0"
2323
VALUE "ProductName", "ZLib.DLL\0"
2424
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
2525
VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
2626
--- compat/zlib/contrib/vstudio/vc11/zlib.rc
+++ compat/zlib/contrib/vstudio/vc11/zlib.rc
@@ -1,11 +1,11 @@
1 #include <windows.h>
2
3 #define IDR_VERSION1 1
4 IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1, 2, 12, 0
6 PRODUCTVERSION 1, 2, 12, 0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 VALUE "FileVersion", "1.2.12\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlibwapi.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
26
--- compat/zlib/contrib/vstudio/vc11/zlib.rc
+++ compat/zlib/contrib/vstudio/vc11/zlib.rc
@@ -1,11 +1,11 @@
1 #include <windows.h>
2
3 #define IDR_VERSION1 1
4 IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1, 2, 13, 0
6 PRODUCTVERSION 1, 2, 13, 0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 VALUE "FileVersion", "1.2.13\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlibwapi.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
26
--- compat/zlib/contrib/vstudio/vc11/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc11/zlibstat.vcxproj
@@ -165,11 +165,11 @@
165165
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
166166
</PropertyGroup>
167167
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
168168
<ClCompile>
169169
<Optimization>Disabled</Optimization>
170
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
170
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
171171
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
172172
<ExceptionHandling>
173173
</ExceptionHandling>
174174
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
175175
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -191,12 +191,12 @@
191191
</Lib>
192192
</ItemDefinitionGroup>
193193
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
194194
<ClCompile>
195195
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
196
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
197
- <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
196
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
197
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
198198
<StringPooling>true</StringPooling>
199199
<ExceptionHandling>
200200
</ExceptionHandling>
201201
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
202202
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -211,19 +211,19 @@
211211
<ResourceCompile>
212212
<Culture>0x040c</Culture>
213213
</ResourceCompile>
214214
<Lib>
215215
<AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
216
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
216
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
217217
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
218218
<SuppressStartupBanner>true</SuppressStartupBanner>
219219
</Lib>
220220
</ItemDefinitionGroup>
221221
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
222222
<ClCompile>
223223
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
224
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
224
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
225225
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
226226
<StringPooling>true</StringPooling>
227227
<ExceptionHandling>
228228
</ExceptionHandling>
229229
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -249,11 +249,11 @@
249249
<Midl>
250250
<TargetEnvironment>X64</TargetEnvironment>
251251
</Midl>
252252
<ClCompile>
253253
<Optimization>Disabled</Optimization>
254
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
254
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
255255
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
256256
<ExceptionHandling>
257257
</ExceptionHandling>
258258
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
259259
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -278,11 +278,11 @@
278278
<Midl>
279279
<TargetEnvironment>Itanium</TargetEnvironment>
280280
</Midl>
281281
<ClCompile>
282282
<Optimization>Disabled</Optimization>
283
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
283
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
284284
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
285285
<ExceptionHandling>
286286
</ExceptionHandling>
287287
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
288288
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -307,12 +307,12 @@
307307
<Midl>
308308
<TargetEnvironment>X64</TargetEnvironment>
309309
</Midl>
310310
<ClCompile>
311311
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
312
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
313
- <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
312
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
313
+ <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
314314
<StringPooling>true</StringPooling>
315315
<ExceptionHandling>
316316
</ExceptionHandling>
317317
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
318318
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -327,11 +327,11 @@
327327
<ResourceCompile>
328328
<Culture>0x040c</Culture>
329329
</ResourceCompile>
330330
<Lib>
331331
<AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
332
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
332
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
333333
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
334334
<SuppressStartupBanner>true</SuppressStartupBanner>
335335
</Lib>
336336
</ItemDefinitionGroup>
337337
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
@@ -338,11 +338,11 @@
338338
<Midl>
339339
<TargetEnvironment>Itanium</TargetEnvironment>
340340
</Midl>
341341
<ClCompile>
342342
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
343
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
343
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
344344
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
345345
<StringPooling>true</StringPooling>
346346
<ExceptionHandling>
347347
</ExceptionHandling>
348348
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -368,11 +368,11 @@
368368
<Midl>
369369
<TargetEnvironment>X64</TargetEnvironment>
370370
</Midl>
371371
<ClCompile>
372372
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
373
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
373
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
374374
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
375375
<StringPooling>true</StringPooling>
376376
<ExceptionHandling>
377377
</ExceptionHandling>
378378
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -398,11 +398,11 @@
398398
<Midl>
399399
<TargetEnvironment>Itanium</TargetEnvironment>
400400
</Midl>
401401
<ClCompile>
402402
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
403
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
403
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
404404
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
405405
<StringPooling>true</StringPooling>
406406
<ExceptionHandling>
407407
</ExceptionHandling>
408408
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -432,18 +432,10 @@
432432
<ClCompile Include="..\..\..\gzclose.c" />
433433
<ClCompile Include="..\..\..\gzlib.c" />
434434
<ClCompile Include="..\..\..\gzread.c" />
435435
<ClCompile Include="..\..\..\gzwrite.c" />
436436
<ClCompile Include="..\..\..\infback.c" />
437
- <ClCompile Include="..\..\masmx64\inffas8664.c">
438
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
439
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
440
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
441
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
442
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
443
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
444
- </ClCompile>
445437
<ClCompile Include="..\..\..\inffast.c" />
446438
<ClCompile Include="..\..\..\inflate.c" />
447439
<ClCompile Include="..\..\..\inftrees.c" />
448440
<ClCompile Include="..\..\minizip\ioapi.c" />
449441
<ClCompile Include="..\..\..\trees.c" />
450442
--- compat/zlib/contrib/vstudio/vc11/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc11/zlibstat.vcxproj
@@ -165,11 +165,11 @@
165 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
166 </PropertyGroup>
167 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
168 <ClCompile>
169 <Optimization>Disabled</Optimization>
170 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
171 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
172 <ExceptionHandling>
173 </ExceptionHandling>
174 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
175 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -191,12 +191,12 @@
191 </Lib>
192 </ItemDefinitionGroup>
193 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
194 <ClCompile>
195 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
196 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
197 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
198 <StringPooling>true</StringPooling>
199 <ExceptionHandling>
200 </ExceptionHandling>
201 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
202 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -211,19 +211,19 @@
211 <ResourceCompile>
212 <Culture>0x040c</Culture>
213 </ResourceCompile>
214 <Lib>
215 <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
216 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
217 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
218 <SuppressStartupBanner>true</SuppressStartupBanner>
219 </Lib>
220 </ItemDefinitionGroup>
221 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
222 <ClCompile>
223 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
224 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
225 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
226 <StringPooling>true</StringPooling>
227 <ExceptionHandling>
228 </ExceptionHandling>
229 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -249,11 +249,11 @@
249 <Midl>
250 <TargetEnvironment>X64</TargetEnvironment>
251 </Midl>
252 <ClCompile>
253 <Optimization>Disabled</Optimization>
254 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
255 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
256 <ExceptionHandling>
257 </ExceptionHandling>
258 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
259 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -278,11 +278,11 @@
278 <Midl>
279 <TargetEnvironment>Itanium</TargetEnvironment>
280 </Midl>
281 <ClCompile>
282 <Optimization>Disabled</Optimization>
283 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
284 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
285 <ExceptionHandling>
286 </ExceptionHandling>
287 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
288 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -307,12 +307,12 @@
307 <Midl>
308 <TargetEnvironment>X64</TargetEnvironment>
309 </Midl>
310 <ClCompile>
311 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
312 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
313 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
314 <StringPooling>true</StringPooling>
315 <ExceptionHandling>
316 </ExceptionHandling>
317 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
318 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -327,11 +327,11 @@
327 <ResourceCompile>
328 <Culture>0x040c</Culture>
329 </ResourceCompile>
330 <Lib>
331 <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
332 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
333 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
334 <SuppressStartupBanner>true</SuppressStartupBanner>
335 </Lib>
336 </ItemDefinitionGroup>
337 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
@@ -338,11 +338,11 @@
338 <Midl>
339 <TargetEnvironment>Itanium</TargetEnvironment>
340 </Midl>
341 <ClCompile>
342 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
343 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
344 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
345 <StringPooling>true</StringPooling>
346 <ExceptionHandling>
347 </ExceptionHandling>
348 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -368,11 +368,11 @@
368 <Midl>
369 <TargetEnvironment>X64</TargetEnvironment>
370 </Midl>
371 <ClCompile>
372 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
373 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
374 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
375 <StringPooling>true</StringPooling>
376 <ExceptionHandling>
377 </ExceptionHandling>
378 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -398,11 +398,11 @@
398 <Midl>
399 <TargetEnvironment>Itanium</TargetEnvironment>
400 </Midl>
401 <ClCompile>
402 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
403 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
404 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
405 <StringPooling>true</StringPooling>
406 <ExceptionHandling>
407 </ExceptionHandling>
408 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -432,18 +432,10 @@
432 <ClCompile Include="..\..\..\gzclose.c" />
433 <ClCompile Include="..\..\..\gzlib.c" />
434 <ClCompile Include="..\..\..\gzread.c" />
435 <ClCompile Include="..\..\..\gzwrite.c" />
436 <ClCompile Include="..\..\..\infback.c" />
437 <ClCompile Include="..\..\masmx64\inffas8664.c">
438 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
439 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
440 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
441 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
442 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
443 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
444 </ClCompile>
445 <ClCompile Include="..\..\..\inffast.c" />
446 <ClCompile Include="..\..\..\inflate.c" />
447 <ClCompile Include="..\..\..\inftrees.c" />
448 <ClCompile Include="..\..\minizip\ioapi.c" />
449 <ClCompile Include="..\..\..\trees.c" />
450
--- compat/zlib/contrib/vstudio/vc11/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc11/zlibstat.vcxproj
@@ -165,11 +165,11 @@
165 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
166 </PropertyGroup>
167 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
168 <ClCompile>
169 <Optimization>Disabled</Optimization>
170 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
171 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
172 <ExceptionHandling>
173 </ExceptionHandling>
174 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
175 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -191,12 +191,12 @@
191 </Lib>
192 </ItemDefinitionGroup>
193 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
194 <ClCompile>
195 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
196 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
197 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
198 <StringPooling>true</StringPooling>
199 <ExceptionHandling>
200 </ExceptionHandling>
201 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
202 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -211,19 +211,19 @@
211 <ResourceCompile>
212 <Culture>0x040c</Culture>
213 </ResourceCompile>
214 <Lib>
215 <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
216 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
217 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
218 <SuppressStartupBanner>true</SuppressStartupBanner>
219 </Lib>
220 </ItemDefinitionGroup>
221 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
222 <ClCompile>
223 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
224 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
225 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
226 <StringPooling>true</StringPooling>
227 <ExceptionHandling>
228 </ExceptionHandling>
229 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -249,11 +249,11 @@
249 <Midl>
250 <TargetEnvironment>X64</TargetEnvironment>
251 </Midl>
252 <ClCompile>
253 <Optimization>Disabled</Optimization>
254 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
255 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
256 <ExceptionHandling>
257 </ExceptionHandling>
258 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
259 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -278,11 +278,11 @@
278 <Midl>
279 <TargetEnvironment>Itanium</TargetEnvironment>
280 </Midl>
281 <ClCompile>
282 <Optimization>Disabled</Optimization>
283 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
284 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
285 <ExceptionHandling>
286 </ExceptionHandling>
287 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
288 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -307,12 +307,12 @@
307 <Midl>
308 <TargetEnvironment>X64</TargetEnvironment>
309 </Midl>
310 <ClCompile>
311 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
312 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
313 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
314 <StringPooling>true</StringPooling>
315 <ExceptionHandling>
316 </ExceptionHandling>
317 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
318 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -327,11 +327,11 @@
327 <ResourceCompile>
328 <Culture>0x040c</Culture>
329 </ResourceCompile>
330 <Lib>
331 <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
332 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
333 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
334 <SuppressStartupBanner>true</SuppressStartupBanner>
335 </Lib>
336 </ItemDefinitionGroup>
337 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
@@ -338,11 +338,11 @@
338 <Midl>
339 <TargetEnvironment>Itanium</TargetEnvironment>
340 </Midl>
341 <ClCompile>
342 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
343 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
344 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
345 <StringPooling>true</StringPooling>
346 <ExceptionHandling>
347 </ExceptionHandling>
348 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -368,11 +368,11 @@
368 <Midl>
369 <TargetEnvironment>X64</TargetEnvironment>
370 </Midl>
371 <ClCompile>
372 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
373 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
374 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
375 <StringPooling>true</StringPooling>
376 <ExceptionHandling>
377 </ExceptionHandling>
378 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -398,11 +398,11 @@
398 <Midl>
399 <TargetEnvironment>Itanium</TargetEnvironment>
400 </Midl>
401 <ClCompile>
402 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
403 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
404 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
405 <StringPooling>true</StringPooling>
406 <ExceptionHandling>
407 </ExceptionHandling>
408 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -432,18 +432,10 @@
432 <ClCompile Include="..\..\..\gzclose.c" />
433 <ClCompile Include="..\..\..\gzlib.c" />
434 <ClCompile Include="..\..\..\gzread.c" />
435 <ClCompile Include="..\..\..\gzwrite.c" />
436 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
437 <ClCompile Include="..\..\..\inffast.c" />
438 <ClCompile Include="..\..\..\inflate.c" />
439 <ClCompile Include="..\..\..\inftrees.c" />
440 <ClCompile Include="..\..\minizip\ioapi.c" />
441 <ClCompile Include="..\..\..\trees.c" />
442
--- compat/zlib/contrib/vstudio/vc11/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc11/zlibvc.vcxproj
@@ -202,12 +202,12 @@
202202
<TargetEnvironment>Win32</TargetEnvironment>
203203
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
204204
</Midl>
205205
<ClCompile>
206206
<Optimization>Disabled</Optimization>
207
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
208
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
207
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
208
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
209209
<ExceptionHandling>
210210
</ExceptionHandling>
211211
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
212212
<BufferSecurityCheck>false</BufferSecurityCheck>
213213
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -224,11 +224,11 @@
224224
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
225225
<Culture>0x040c</Culture>
226226
</ResourceCompile>
227227
<Link>
228228
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
229
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
229
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
230230
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
231231
<SuppressStartupBanner>true</SuppressStartupBanner>
232232
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
233233
<GenerateDebugInformation>true</GenerateDebugInformation>
234234
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -238,14 +238,10 @@
238238
<RandomizedBaseAddress>false</RandomizedBaseAddress>
239239
<DataExecutionPrevention>
240240
</DataExecutionPrevention>
241241
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
242242
</Link>
243
- <PreBuildEvent>
244
- <Command>cd ..\..\masmx86
245
-bld_ml32.bat</Command>
246
- </PreBuildEvent>
247243
</ItemDefinitionGroup>
248244
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
249245
<Midl>
250246
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
251247
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -253,11 +249,11 @@
253249
<TargetEnvironment>Win32</TargetEnvironment>
254250
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
255251
</Midl>
256252
<ClCompile>
257253
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
258
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
254
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
259255
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
260256
<StringPooling>true</StringPooling>
261257
<ExceptionHandling>
262258
</ExceptionHandling>
263259
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -301,12 +297,12 @@
301297
<TargetEnvironment>Win32</TargetEnvironment>
302298
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
303299
</Midl>
304300
<ClCompile>
305301
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
306
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
307
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
302
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
303
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
308304
<StringPooling>true</StringPooling>
309305
<ExceptionHandling>
310306
</ExceptionHandling>
311307
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
312308
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -325,11 +321,11 @@
325321
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
326322
<Culture>0x040c</Culture>
327323
</ResourceCompile>
328324
<Link>
329325
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
330
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
326
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
331327
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
332328
<SuppressStartupBanner>true</SuppressStartupBanner>
333329
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
334330
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
335331
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -339,14 +335,10 @@
339335
<RandomizedBaseAddress>false</RandomizedBaseAddress>
340336
<DataExecutionPrevention>
341337
</DataExecutionPrevention>
342338
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
343339
</Link>
344
- <PreBuildEvent>
345
- <Command>cd ..\..\masmx86
346
-bld_ml32.bat</Command>
347
- </PreBuildEvent>
348340
</ItemDefinitionGroup>
349341
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
350342
<Midl>
351343
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
352344
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -354,12 +346,12 @@
354346
<TargetEnvironment>X64</TargetEnvironment>
355347
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
356348
</Midl>
357349
<ClCompile>
358350
<Optimization>Disabled</Optimization>
359
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
360
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
351
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
352
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
361353
<ExceptionHandling>
362354
</ExceptionHandling>
363355
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
364356
<BufferSecurityCheck>false</BufferSecurityCheck>
365357
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -375,11 +367,11 @@
375367
<ResourceCompile>
376368
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
377369
<Culture>0x040c</Culture>
378370
</ResourceCompile>
379371
<Link>
380
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
372
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
381373
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
382374
<SuppressStartupBanner>true</SuppressStartupBanner>
383375
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
384376
<GenerateDebugInformation>true</GenerateDebugInformation>
385377
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -387,14 +379,10 @@
387379
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
388380
<SubSystem>Windows</SubSystem>
389381
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
390382
<TargetMachine>MachineX64</TargetMachine>
391383
</Link>
392
- <PreBuildEvent>
393
- <Command>cd ..\..\contrib\masmx64
394
-bld_ml64.bat</Command>
395
- </PreBuildEvent>
396384
</ItemDefinitionGroup>
397385
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
398386
<Midl>
399387
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
400388
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -402,11 +390,11 @@
402390
<TargetEnvironment>Itanium</TargetEnvironment>
403391
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
404392
</Midl>
405393
<ClCompile>
406394
<Optimization>Disabled</Optimization>
407
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
395
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
408396
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
409397
<ExceptionHandling>
410398
</ExceptionHandling>
411399
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
412400
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -445,11 +433,11 @@
445433
<TargetEnvironment>X64</TargetEnvironment>
446434
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
447435
</Midl>
448436
<ClCompile>
449437
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
450
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
438
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
451439
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
452440
<StringPooling>true</StringPooling>
453441
<ExceptionHandling>
454442
</ExceptionHandling>
455443
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -490,11 +478,11 @@
490478
<TargetEnvironment>Itanium</TargetEnvironment>
491479
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
492480
</Midl>
493481
<ClCompile>
494482
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
495
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
483
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
496484
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
497485
<StringPooling>true</StringPooling>
498486
<ExceptionHandling>
499487
</ExceptionHandling>
500488
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -535,12 +523,12 @@
535523
<TargetEnvironment>X64</TargetEnvironment>
536524
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
537525
</Midl>
538526
<ClCompile>
539527
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
540
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
541
- <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
528
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
529
+ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
542530
<StringPooling>true</StringPooling>
543531
<ExceptionHandling>
544532
</ExceptionHandling>
545533
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
546534
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -558,11 +546,11 @@
558546
<ResourceCompile>
559547
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
560548
<Culture>0x040c</Culture>
561549
</ResourceCompile>
562550
<Link>
563
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
551
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
564552
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
565553
<SuppressStartupBanner>true</SuppressStartupBanner>
566554
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
567555
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
568556
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -570,14 +558,10 @@
570558
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
571559
<SubSystem>Windows</SubSystem>
572560
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
573561
<TargetMachine>MachineX64</TargetMachine>
574562
</Link>
575
- <PreBuildEvent>
576
- <Command>cd ..\..\masmx64
577
-bld_ml64.bat</Command>
578
- </PreBuildEvent>
579563
</ItemDefinitionGroup>
580564
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
581565
<Midl>
582566
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
583567
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -585,11 +569,11 @@
585569
<TargetEnvironment>Itanium</TargetEnvironment>
586570
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
587571
</Midl>
588572
<ClCompile>
589573
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
590
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
574
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
591575
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
592576
<StringPooling>true</StringPooling>
593577
<ExceptionHandling>
594578
</ExceptionHandling>
595579
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -630,18 +614,10 @@
630614
<ClCompile Include="..\..\..\gzclose.c" />
631615
<ClCompile Include="..\..\..\gzlib.c" />
632616
<ClCompile Include="..\..\..\gzread.c" />
633617
<ClCompile Include="..\..\..\gzwrite.c" />
634618
<ClCompile Include="..\..\..\infback.c" />
635
- <ClCompile Include="..\..\masmx64\inffas8664.c">
636
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
637
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
638
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
639
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
640
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
641
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
642
- </ClCompile>
643619
<ClCompile Include="..\..\..\inffast.c" />
644620
<ClCompile Include="..\..\..\inflate.c" />
645621
<ClCompile Include="..\..\..\inftrees.c" />
646622
<ClCompile Include="..\..\minizip\ioapi.c" />
647623
<ClCompile Include="..\..\minizip\iowin32.c" />
648624
--- compat/zlib/contrib/vstudio/vc11/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc11/zlibvc.vcxproj
@@ -202,12 +202,12 @@
202 <TargetEnvironment>Win32</TargetEnvironment>
203 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
204 </Midl>
205 <ClCompile>
206 <Optimization>Disabled</Optimization>
207 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
208 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
209 <ExceptionHandling>
210 </ExceptionHandling>
211 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
212 <BufferSecurityCheck>false</BufferSecurityCheck>
213 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -224,11 +224,11 @@
224 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
225 <Culture>0x040c</Culture>
226 </ResourceCompile>
227 <Link>
228 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
229 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
230 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
231 <SuppressStartupBanner>true</SuppressStartupBanner>
232 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
233 <GenerateDebugInformation>true</GenerateDebugInformation>
234 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -238,14 +238,10 @@
238 <RandomizedBaseAddress>false</RandomizedBaseAddress>
239 <DataExecutionPrevention>
240 </DataExecutionPrevention>
241 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
242 </Link>
243 <PreBuildEvent>
244 <Command>cd ..\..\masmx86
245 bld_ml32.bat</Command>
246 </PreBuildEvent>
247 </ItemDefinitionGroup>
248 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
249 <Midl>
250 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
251 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -253,11 +249,11 @@
253 <TargetEnvironment>Win32</TargetEnvironment>
254 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
255 </Midl>
256 <ClCompile>
257 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
258 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
259 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
260 <StringPooling>true</StringPooling>
261 <ExceptionHandling>
262 </ExceptionHandling>
263 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -301,12 +297,12 @@
301 <TargetEnvironment>Win32</TargetEnvironment>
302 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
303 </Midl>
304 <ClCompile>
305 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
306 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
307 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
308 <StringPooling>true</StringPooling>
309 <ExceptionHandling>
310 </ExceptionHandling>
311 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
312 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -325,11 +321,11 @@
325 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
326 <Culture>0x040c</Culture>
327 </ResourceCompile>
328 <Link>
329 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
330 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
331 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
332 <SuppressStartupBanner>true</SuppressStartupBanner>
333 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
334 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
335 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -339,14 +335,10 @@
339 <RandomizedBaseAddress>false</RandomizedBaseAddress>
340 <DataExecutionPrevention>
341 </DataExecutionPrevention>
342 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
343 </Link>
344 <PreBuildEvent>
345 <Command>cd ..\..\masmx86
346 bld_ml32.bat</Command>
347 </PreBuildEvent>
348 </ItemDefinitionGroup>
349 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
350 <Midl>
351 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
352 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -354,12 +346,12 @@
354 <TargetEnvironment>X64</TargetEnvironment>
355 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
356 </Midl>
357 <ClCompile>
358 <Optimization>Disabled</Optimization>
359 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
360 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
361 <ExceptionHandling>
362 </ExceptionHandling>
363 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
364 <BufferSecurityCheck>false</BufferSecurityCheck>
365 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -375,11 +367,11 @@
375 <ResourceCompile>
376 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
377 <Culture>0x040c</Culture>
378 </ResourceCompile>
379 <Link>
380 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
381 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
382 <SuppressStartupBanner>true</SuppressStartupBanner>
383 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
384 <GenerateDebugInformation>true</GenerateDebugInformation>
385 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -387,14 +379,10 @@
387 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
388 <SubSystem>Windows</SubSystem>
389 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
390 <TargetMachine>MachineX64</TargetMachine>
391 </Link>
392 <PreBuildEvent>
393 <Command>cd ..\..\contrib\masmx64
394 bld_ml64.bat</Command>
395 </PreBuildEvent>
396 </ItemDefinitionGroup>
397 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
398 <Midl>
399 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
400 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -402,11 +390,11 @@
402 <TargetEnvironment>Itanium</TargetEnvironment>
403 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
404 </Midl>
405 <ClCompile>
406 <Optimization>Disabled</Optimization>
407 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
408 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
409 <ExceptionHandling>
410 </ExceptionHandling>
411 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
412 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -445,11 +433,11 @@
445 <TargetEnvironment>X64</TargetEnvironment>
446 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
447 </Midl>
448 <ClCompile>
449 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
450 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
451 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
452 <StringPooling>true</StringPooling>
453 <ExceptionHandling>
454 </ExceptionHandling>
455 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -490,11 +478,11 @@
490 <TargetEnvironment>Itanium</TargetEnvironment>
491 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
492 </Midl>
493 <ClCompile>
494 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
495 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
496 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
497 <StringPooling>true</StringPooling>
498 <ExceptionHandling>
499 </ExceptionHandling>
500 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -535,12 +523,12 @@
535 <TargetEnvironment>X64</TargetEnvironment>
536 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
537 </Midl>
538 <ClCompile>
539 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
540 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
541 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
542 <StringPooling>true</StringPooling>
543 <ExceptionHandling>
544 </ExceptionHandling>
545 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
546 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -558,11 +546,11 @@
558 <ResourceCompile>
559 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
560 <Culture>0x040c</Culture>
561 </ResourceCompile>
562 <Link>
563 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
564 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
565 <SuppressStartupBanner>true</SuppressStartupBanner>
566 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
567 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
568 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -570,14 +558,10 @@
570 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
571 <SubSystem>Windows</SubSystem>
572 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
573 <TargetMachine>MachineX64</TargetMachine>
574 </Link>
575 <PreBuildEvent>
576 <Command>cd ..\..\masmx64
577 bld_ml64.bat</Command>
578 </PreBuildEvent>
579 </ItemDefinitionGroup>
580 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
581 <Midl>
582 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
583 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -585,11 +569,11 @@
585 <TargetEnvironment>Itanium</TargetEnvironment>
586 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
587 </Midl>
588 <ClCompile>
589 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
590 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
591 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
592 <StringPooling>true</StringPooling>
593 <ExceptionHandling>
594 </ExceptionHandling>
595 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -630,18 +614,10 @@
630 <ClCompile Include="..\..\..\gzclose.c" />
631 <ClCompile Include="..\..\..\gzlib.c" />
632 <ClCompile Include="..\..\..\gzread.c" />
633 <ClCompile Include="..\..\..\gzwrite.c" />
634 <ClCompile Include="..\..\..\infback.c" />
635 <ClCompile Include="..\..\masmx64\inffas8664.c">
636 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
637 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
638 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
639 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
640 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
641 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
642 </ClCompile>
643 <ClCompile Include="..\..\..\inffast.c" />
644 <ClCompile Include="..\..\..\inflate.c" />
645 <ClCompile Include="..\..\..\inftrees.c" />
646 <ClCompile Include="..\..\minizip\ioapi.c" />
647 <ClCompile Include="..\..\minizip\iowin32.c" />
648
--- compat/zlib/contrib/vstudio/vc11/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc11/zlibvc.vcxproj
@@ -202,12 +202,12 @@
202 <TargetEnvironment>Win32</TargetEnvironment>
203 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
204 </Midl>
205 <ClCompile>
206 <Optimization>Disabled</Optimization>
207 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
208 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
209 <ExceptionHandling>
210 </ExceptionHandling>
211 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
212 <BufferSecurityCheck>false</BufferSecurityCheck>
213 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -224,11 +224,11 @@
224 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
225 <Culture>0x040c</Culture>
226 </ResourceCompile>
227 <Link>
228 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
229 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
230 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
231 <SuppressStartupBanner>true</SuppressStartupBanner>
232 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
233 <GenerateDebugInformation>true</GenerateDebugInformation>
234 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -238,14 +238,10 @@
238 <RandomizedBaseAddress>false</RandomizedBaseAddress>
239 <DataExecutionPrevention>
240 </DataExecutionPrevention>
241 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
242 </Link>
 
 
 
 
243 </ItemDefinitionGroup>
244 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
245 <Midl>
246 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
247 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -253,11 +249,11 @@
249 <TargetEnvironment>Win32</TargetEnvironment>
250 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
251 </Midl>
252 <ClCompile>
253 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
254 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
255 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
256 <StringPooling>true</StringPooling>
257 <ExceptionHandling>
258 </ExceptionHandling>
259 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -301,12 +297,12 @@
297 <TargetEnvironment>Win32</TargetEnvironment>
298 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
299 </Midl>
300 <ClCompile>
301 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
302 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
303 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
304 <StringPooling>true</StringPooling>
305 <ExceptionHandling>
306 </ExceptionHandling>
307 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
308 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -325,11 +321,11 @@
321 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
322 <Culture>0x040c</Culture>
323 </ResourceCompile>
324 <Link>
325 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
326 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
327 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
328 <SuppressStartupBanner>true</SuppressStartupBanner>
329 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
330 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
331 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -339,14 +335,10 @@
335 <RandomizedBaseAddress>false</RandomizedBaseAddress>
336 <DataExecutionPrevention>
337 </DataExecutionPrevention>
338 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
339 </Link>
 
 
 
 
340 </ItemDefinitionGroup>
341 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
342 <Midl>
343 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
344 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -354,12 +346,12 @@
346 <TargetEnvironment>X64</TargetEnvironment>
347 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
348 </Midl>
349 <ClCompile>
350 <Optimization>Disabled</Optimization>
351 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
352 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
353 <ExceptionHandling>
354 </ExceptionHandling>
355 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
356 <BufferSecurityCheck>false</BufferSecurityCheck>
357 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -375,11 +367,11 @@
367 <ResourceCompile>
368 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
369 <Culture>0x040c</Culture>
370 </ResourceCompile>
371 <Link>
372 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
373 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
374 <SuppressStartupBanner>true</SuppressStartupBanner>
375 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
376 <GenerateDebugInformation>true</GenerateDebugInformation>
377 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -387,14 +379,10 @@
379 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
380 <SubSystem>Windows</SubSystem>
381 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
382 <TargetMachine>MachineX64</TargetMachine>
383 </Link>
 
 
 
 
384 </ItemDefinitionGroup>
385 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
386 <Midl>
387 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
388 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -402,11 +390,11 @@
390 <TargetEnvironment>Itanium</TargetEnvironment>
391 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
392 </Midl>
393 <ClCompile>
394 <Optimization>Disabled</Optimization>
395 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
396 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
397 <ExceptionHandling>
398 </ExceptionHandling>
399 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
400 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -445,11 +433,11 @@
433 <TargetEnvironment>X64</TargetEnvironment>
434 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
435 </Midl>
436 <ClCompile>
437 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
438 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
439 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
440 <StringPooling>true</StringPooling>
441 <ExceptionHandling>
442 </ExceptionHandling>
443 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -490,11 +478,11 @@
478 <TargetEnvironment>Itanium</TargetEnvironment>
479 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
480 </Midl>
481 <ClCompile>
482 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
483 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
484 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
485 <StringPooling>true</StringPooling>
486 <ExceptionHandling>
487 </ExceptionHandling>
488 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -535,12 +523,12 @@
523 <TargetEnvironment>X64</TargetEnvironment>
524 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
525 </Midl>
526 <ClCompile>
527 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
528 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
529 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
530 <StringPooling>true</StringPooling>
531 <ExceptionHandling>
532 </ExceptionHandling>
533 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
534 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -558,11 +546,11 @@
546 <ResourceCompile>
547 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
548 <Culture>0x040c</Culture>
549 </ResourceCompile>
550 <Link>
551 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
552 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
553 <SuppressStartupBanner>true</SuppressStartupBanner>
554 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
555 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
556 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -570,14 +558,10 @@
558 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
559 <SubSystem>Windows</SubSystem>
560 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
561 <TargetMachine>MachineX64</TargetMachine>
562 </Link>
 
 
 
 
563 </ItemDefinitionGroup>
564 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
565 <Midl>
566 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
567 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -585,11 +569,11 @@
569 <TargetEnvironment>Itanium</TargetEnvironment>
570 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
571 </Midl>
572 <ClCompile>
573 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
574 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
575 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
576 <StringPooling>true</StringPooling>
577 <ExceptionHandling>
578 </ExceptionHandling>
579 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -630,18 +614,10 @@
614 <ClCompile Include="..\..\..\gzclose.c" />
615 <ClCompile Include="..\..\..\gzlib.c" />
616 <ClCompile Include="..\..\..\gzread.c" />
617 <ClCompile Include="..\..\..\gzwrite.c" />
618 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
619 <ClCompile Include="..\..\..\inffast.c" />
620 <ClCompile Include="..\..\..\inflate.c" />
621 <ClCompile Include="..\..\..\inftrees.c" />
622 <ClCompile Include="..\..\minizip\ioapi.c" />
623 <ClCompile Include="..\..\minizip\iowin32.c" />
624
--- compat/zlib/contrib/vstudio/vc12/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc12/testzlib.vcxproj
@@ -188,11 +188,11 @@
188188
</PropertyGroup>
189189
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
190190
<ClCompile>
191191
<Optimization>Disabled</Optimization>
192192
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
193
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
193
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
194194
<MinimalRebuild>true</MinimalRebuild>
195195
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
196196
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
197197
<BufferSecurityCheck>false</BufferSecurityCheck>
198198
<PrecompiledHeader>
@@ -201,11 +201,11 @@
201201
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
202202
<WarningLevel>Level3</WarningLevel>
203203
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
204204
</ClCompile>
205205
<Link>
206
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
206
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
207207
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
208208
<GenerateDebugInformation>true</GenerateDebugInformation>
209209
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
210210
<SubSystem>Console</SubSystem>
211211
<RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -248,11 +248,11 @@
248248
<ClCompile>
249249
<Optimization>MaxSpeed</Optimization>
250250
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
251251
<OmitFramePointers>true</OmitFramePointers>
252252
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
253
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
253
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254254
<StringPooling>true</StringPooling>
255255
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
256256
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
257257
<BufferSecurityCheck>false</BufferSecurityCheck>
258258
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -261,11 +261,11 @@
261261
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
262262
<WarningLevel>Level3</WarningLevel>
263263
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
264264
</ClCompile>
265265
<Link>
266
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
266
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
267267
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
268268
<GenerateDebugInformation>true</GenerateDebugInformation>
269269
<SubSystem>Console</SubSystem>
270270
<OptimizeReferences>true</OptimizeReferences>
271271
<EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -277,18 +277,18 @@
277277
</Link>
278278
</ItemDefinitionGroup>
279279
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
280280
<ClCompile>
281281
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
282
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
282
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
283283
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
284284
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
285285
<BufferSecurityCheck>false</BufferSecurityCheck>
286286
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
287287
</ClCompile>
288288
<Link>
289
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
289
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
290290
</Link>
291291
</ItemDefinitionGroup>
292292
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
293293
<Midl>
294294
<TargetEnvironment>Itanium</TargetEnvironment>
@@ -360,18 +360,18 @@
360360
</Link>
361361
</ItemDefinitionGroup>
362362
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
363363
<ClCompile>
364364
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
365
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
365
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
366366
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
367367
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
368368
<BufferSecurityCheck>false</BufferSecurityCheck>
369369
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
370370
</ClCompile>
371371
<Link>
372
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
372
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
373373
</Link>
374374
</ItemDefinitionGroup>
375375
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
376376
<Midl>
377377
<TargetEnvironment>Itanium</TargetEnvironment>
@@ -406,18 +406,10 @@
406406
<ClCompile Include="..\..\..\adler32.c" />
407407
<ClCompile Include="..\..\..\compress.c" />
408408
<ClCompile Include="..\..\..\crc32.c" />
409409
<ClCompile Include="..\..\..\deflate.c" />
410410
<ClCompile Include="..\..\..\infback.c" />
411
- <ClCompile Include="..\..\masmx64\inffas8664.c">
412
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
413
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
414
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
415
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
416
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
417
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
418
- </ClCompile>
419411
<ClCompile Include="..\..\..\inffast.c" />
420412
<ClCompile Include="..\..\..\inflate.c" />
421413
<ClCompile Include="..\..\..\inftrees.c" />
422414
<ClCompile Include="..\..\testzlib\testzlib.c" />
423415
<ClCompile Include="..\..\..\trees.c" />
424416
--- compat/zlib/contrib/vstudio/vc12/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc12/testzlib.vcxproj
@@ -188,11 +188,11 @@
188 </PropertyGroup>
189 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
190 <ClCompile>
191 <Optimization>Disabled</Optimization>
192 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
193 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
194 <MinimalRebuild>true</MinimalRebuild>
195 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
196 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
197 <BufferSecurityCheck>false</BufferSecurityCheck>
198 <PrecompiledHeader>
@@ -201,11 +201,11 @@
201 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
202 <WarningLevel>Level3</WarningLevel>
203 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
204 </ClCompile>
205 <Link>
206 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
207 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
208 <GenerateDebugInformation>true</GenerateDebugInformation>
209 <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
210 <SubSystem>Console</SubSystem>
211 <RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -248,11 +248,11 @@
248 <ClCompile>
249 <Optimization>MaxSpeed</Optimization>
250 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
251 <OmitFramePointers>true</OmitFramePointers>
252 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
253 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254 <StringPooling>true</StringPooling>
255 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
256 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
257 <BufferSecurityCheck>false</BufferSecurityCheck>
258 <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -261,11 +261,11 @@
261 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
262 <WarningLevel>Level3</WarningLevel>
263 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
264 </ClCompile>
265 <Link>
266 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
267 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
268 <GenerateDebugInformation>true</GenerateDebugInformation>
269 <SubSystem>Console</SubSystem>
270 <OptimizeReferences>true</OptimizeReferences>
271 <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -277,18 +277,18 @@
277 </Link>
278 </ItemDefinitionGroup>
279 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
280 <ClCompile>
281 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
282 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
283 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
284 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
285 <BufferSecurityCheck>false</BufferSecurityCheck>
286 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
287 </ClCompile>
288 <Link>
289 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
290 </Link>
291 </ItemDefinitionGroup>
292 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
293 <Midl>
294 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -360,18 +360,18 @@
360 </Link>
361 </ItemDefinitionGroup>
362 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
363 <ClCompile>
364 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
365 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
366 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
367 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
368 <BufferSecurityCheck>false</BufferSecurityCheck>
369 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
370 </ClCompile>
371 <Link>
372 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
373 </Link>
374 </ItemDefinitionGroup>
375 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
376 <Midl>
377 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -406,18 +406,10 @@
406 <ClCompile Include="..\..\..\adler32.c" />
407 <ClCompile Include="..\..\..\compress.c" />
408 <ClCompile Include="..\..\..\crc32.c" />
409 <ClCompile Include="..\..\..\deflate.c" />
410 <ClCompile Include="..\..\..\infback.c" />
411 <ClCompile Include="..\..\masmx64\inffas8664.c">
412 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
413 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
414 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
415 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
416 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
417 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
418 </ClCompile>
419 <ClCompile Include="..\..\..\inffast.c" />
420 <ClCompile Include="..\..\..\inflate.c" />
421 <ClCompile Include="..\..\..\inftrees.c" />
422 <ClCompile Include="..\..\testzlib\testzlib.c" />
423 <ClCompile Include="..\..\..\trees.c" />
424
--- compat/zlib/contrib/vstudio/vc12/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc12/testzlib.vcxproj
@@ -188,11 +188,11 @@
188 </PropertyGroup>
189 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
190 <ClCompile>
191 <Optimization>Disabled</Optimization>
192 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
193 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
194 <MinimalRebuild>true</MinimalRebuild>
195 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
196 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
197 <BufferSecurityCheck>false</BufferSecurityCheck>
198 <PrecompiledHeader>
@@ -201,11 +201,11 @@
201 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
202 <WarningLevel>Level3</WarningLevel>
203 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
204 </ClCompile>
205 <Link>
206 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
207 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
208 <GenerateDebugInformation>true</GenerateDebugInformation>
209 <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
210 <SubSystem>Console</SubSystem>
211 <RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -248,11 +248,11 @@
248 <ClCompile>
249 <Optimization>MaxSpeed</Optimization>
250 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
251 <OmitFramePointers>true</OmitFramePointers>
252 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
253 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254 <StringPooling>true</StringPooling>
255 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
256 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
257 <BufferSecurityCheck>false</BufferSecurityCheck>
258 <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -261,11 +261,11 @@
261 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
262 <WarningLevel>Level3</WarningLevel>
263 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
264 </ClCompile>
265 <Link>
266 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
267 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
268 <GenerateDebugInformation>true</GenerateDebugInformation>
269 <SubSystem>Console</SubSystem>
270 <OptimizeReferences>true</OptimizeReferences>
271 <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -277,18 +277,18 @@
277 </Link>
278 </ItemDefinitionGroup>
279 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
280 <ClCompile>
281 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
282 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
283 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
284 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
285 <BufferSecurityCheck>false</BufferSecurityCheck>
286 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
287 </ClCompile>
288 <Link>
289 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
290 </Link>
291 </ItemDefinitionGroup>
292 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
293 <Midl>
294 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -360,18 +360,18 @@
360 </Link>
361 </ItemDefinitionGroup>
362 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
363 <ClCompile>
364 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
365 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
366 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
367 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
368 <BufferSecurityCheck>false</BufferSecurityCheck>
369 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
370 </ClCompile>
371 <Link>
372 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
373 </Link>
374 </ItemDefinitionGroup>
375 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
376 <Midl>
377 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -406,18 +406,10 @@
406 <ClCompile Include="..\..\..\adler32.c" />
407 <ClCompile Include="..\..\..\compress.c" />
408 <ClCompile Include="..\..\..\crc32.c" />
409 <ClCompile Include="..\..\..\deflate.c" />
410 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
411 <ClCompile Include="..\..\..\inffast.c" />
412 <ClCompile Include="..\..\..\inflate.c" />
413 <ClCompile Include="..\..\..\inftrees.c" />
414 <ClCompile Include="..\..\testzlib\testzlib.c" />
415 <ClCompile Include="..\..\..\trees.c" />
416
--- compat/zlib/contrib/vstudio/vc12/zlib.rc
+++ compat/zlib/contrib/vstudio/vc12/zlib.rc
@@ -1,11 +1,11 @@
11
#include <windows.h>
22
33
#define IDR_VERSION1 1
44
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5
- FILEVERSION 1, 2, 12, 0
6
- PRODUCTVERSION 1, 2, 12, 0
5
+ FILEVERSION 1, 2, 13, 0
6
+ PRODUCTVERSION 1, 2, 13, 0
77
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
88
FILEFLAGS 0
99
FILEOS VOS_DOS_WINDOWS32
1010
FILETYPE VFT_DLL
1111
FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
1515
BLOCK "040904E4"
1616
//language ID = U.S. English, char set = Windows, Multilingual
1717
1818
BEGIN
1919
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20
- VALUE "FileVersion", "1.2.12\0"
20
+ VALUE "FileVersion", "1.2.13\0"
2121
VALUE "InternalName", "zlib\0"
2222
VALUE "OriginalFilename", "zlibwapi.dll\0"
2323
VALUE "ProductName", "ZLib.DLL\0"
2424
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
2525
VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
2626
--- compat/zlib/contrib/vstudio/vc12/zlib.rc
+++ compat/zlib/contrib/vstudio/vc12/zlib.rc
@@ -1,11 +1,11 @@
1 #include <windows.h>
2
3 #define IDR_VERSION1 1
4 IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1, 2, 12, 0
6 PRODUCTVERSION 1, 2, 12, 0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 VALUE "FileVersion", "1.2.12\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlibwapi.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
26
--- compat/zlib/contrib/vstudio/vc12/zlib.rc
+++ compat/zlib/contrib/vstudio/vc12/zlib.rc
@@ -1,11 +1,11 @@
1 #include <windows.h>
2
3 #define IDR_VERSION1 1
4 IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1, 2, 13, 0
6 PRODUCTVERSION 1, 2, 13, 0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 VALUE "FileVersion", "1.2.13\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlibwapi.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
26
--- compat/zlib/contrib/vstudio/vc12/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc12/zlibstat.vcxproj
@@ -168,11 +168,11 @@
168168
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
169169
</PropertyGroup>
170170
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
171171
<ClCompile>
172172
<Optimization>Disabled</Optimization>
173
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
173
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
174174
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
175175
<ExceptionHandling>
176176
</ExceptionHandling>
177177
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
178178
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -194,12 +194,12 @@
194194
</Lib>
195195
</ItemDefinitionGroup>
196196
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
197197
<ClCompile>
198198
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
199
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200
- <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
199
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
201201
<StringPooling>true</StringPooling>
202202
<ExceptionHandling>
203203
</ExceptionHandling>
204204
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
205205
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -214,19 +214,19 @@
214214
<ResourceCompile>
215215
<Culture>0x040c</Culture>
216216
</ResourceCompile>
217217
<Lib>
218218
<AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
219
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
219
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
220220
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
221221
<SuppressStartupBanner>true</SuppressStartupBanner>
222222
</Lib>
223223
</ItemDefinitionGroup>
224224
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
225225
<ClCompile>
226226
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
227
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
227
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
228228
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
229229
<StringPooling>true</StringPooling>
230230
<ExceptionHandling>
231231
</ExceptionHandling>
232232
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -252,11 +252,11 @@
252252
<Midl>
253253
<TargetEnvironment>X64</TargetEnvironment>
254254
</Midl>
255255
<ClCompile>
256256
<Optimization>Disabled</Optimization>
257
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
257
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
258258
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
259259
<ExceptionHandling>
260260
</ExceptionHandling>
261261
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
262262
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -281,11 +281,11 @@
281281
<Midl>
282282
<TargetEnvironment>Itanium</TargetEnvironment>
283283
</Midl>
284284
<ClCompile>
285285
<Optimization>Disabled</Optimization>
286
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
286
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
287287
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
288288
<ExceptionHandling>
289289
</ExceptionHandling>
290290
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
291291
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -310,12 +310,12 @@
310310
<Midl>
311311
<TargetEnvironment>X64</TargetEnvironment>
312312
</Midl>
313313
<ClCompile>
314314
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
315
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
316
- <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
315
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
316
+ <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
317317
<StringPooling>true</StringPooling>
318318
<ExceptionHandling>
319319
</ExceptionHandling>
320320
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
321321
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -330,11 +330,11 @@
330330
<ResourceCompile>
331331
<Culture>0x040c</Culture>
332332
</ResourceCompile>
333333
<Lib>
334334
<AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
335
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
335
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
336336
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
337337
<SuppressStartupBanner>true</SuppressStartupBanner>
338338
</Lib>
339339
</ItemDefinitionGroup>
340340
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
@@ -341,11 +341,11 @@
341341
<Midl>
342342
<TargetEnvironment>Itanium</TargetEnvironment>
343343
</Midl>
344344
<ClCompile>
345345
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
346
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
346
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
347347
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
348348
<StringPooling>true</StringPooling>
349349
<ExceptionHandling>
350350
</ExceptionHandling>
351351
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -371,11 +371,11 @@
371371
<Midl>
372372
<TargetEnvironment>X64</TargetEnvironment>
373373
</Midl>
374374
<ClCompile>
375375
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
376
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
376
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
377377
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
378378
<StringPooling>true</StringPooling>
379379
<ExceptionHandling>
380380
</ExceptionHandling>
381381
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -401,11 +401,11 @@
401401
<Midl>
402402
<TargetEnvironment>Itanium</TargetEnvironment>
403403
</Midl>
404404
<ClCompile>
405405
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
406
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
406
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
407407
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
408408
<StringPooling>true</StringPooling>
409409
<ExceptionHandling>
410410
</ExceptionHandling>
411411
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -435,18 +435,10 @@
435435
<ClCompile Include="..\..\..\gzclose.c" />
436436
<ClCompile Include="..\..\..\gzlib.c" />
437437
<ClCompile Include="..\..\..\gzread.c" />
438438
<ClCompile Include="..\..\..\gzwrite.c" />
439439
<ClCompile Include="..\..\..\infback.c" />
440
- <ClCompile Include="..\..\masmx64\inffas8664.c">
441
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
442
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
443
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
444
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
445
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
446
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
447
- </ClCompile>
448440
<ClCompile Include="..\..\..\inffast.c" />
449441
<ClCompile Include="..\..\..\inflate.c" />
450442
<ClCompile Include="..\..\..\inftrees.c" />
451443
<ClCompile Include="..\..\minizip\ioapi.c" />
452444
<ClCompile Include="..\..\..\trees.c" />
453445
--- compat/zlib/contrib/vstudio/vc12/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc12/zlibstat.vcxproj
@@ -168,11 +168,11 @@
168 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
169 </PropertyGroup>
170 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
171 <ClCompile>
172 <Optimization>Disabled</Optimization>
173 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
174 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
175 <ExceptionHandling>
176 </ExceptionHandling>
177 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
178 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -194,12 +194,12 @@
194 </Lib>
195 </ItemDefinitionGroup>
196 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
197 <ClCompile>
198 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
199 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
201 <StringPooling>true</StringPooling>
202 <ExceptionHandling>
203 </ExceptionHandling>
204 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
205 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -214,19 +214,19 @@
214 <ResourceCompile>
215 <Culture>0x040c</Culture>
216 </ResourceCompile>
217 <Lib>
218 <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
219 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
220 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
221 <SuppressStartupBanner>true</SuppressStartupBanner>
222 </Lib>
223 </ItemDefinitionGroup>
224 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
225 <ClCompile>
226 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
227 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
228 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
229 <StringPooling>true</StringPooling>
230 <ExceptionHandling>
231 </ExceptionHandling>
232 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -252,11 +252,11 @@
252 <Midl>
253 <TargetEnvironment>X64</TargetEnvironment>
254 </Midl>
255 <ClCompile>
256 <Optimization>Disabled</Optimization>
257 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
258 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
259 <ExceptionHandling>
260 </ExceptionHandling>
261 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
262 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -281,11 +281,11 @@
281 <Midl>
282 <TargetEnvironment>Itanium</TargetEnvironment>
283 </Midl>
284 <ClCompile>
285 <Optimization>Disabled</Optimization>
286 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
287 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
288 <ExceptionHandling>
289 </ExceptionHandling>
290 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
291 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -310,12 +310,12 @@
310 <Midl>
311 <TargetEnvironment>X64</TargetEnvironment>
312 </Midl>
313 <ClCompile>
314 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
315 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
316 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
317 <StringPooling>true</StringPooling>
318 <ExceptionHandling>
319 </ExceptionHandling>
320 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
321 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -330,11 +330,11 @@
330 <ResourceCompile>
331 <Culture>0x040c</Culture>
332 </ResourceCompile>
333 <Lib>
334 <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
335 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
336 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
337 <SuppressStartupBanner>true</SuppressStartupBanner>
338 </Lib>
339 </ItemDefinitionGroup>
340 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
@@ -341,11 +341,11 @@
341 <Midl>
342 <TargetEnvironment>Itanium</TargetEnvironment>
343 </Midl>
344 <ClCompile>
345 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
346 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
347 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
348 <StringPooling>true</StringPooling>
349 <ExceptionHandling>
350 </ExceptionHandling>
351 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -371,11 +371,11 @@
371 <Midl>
372 <TargetEnvironment>X64</TargetEnvironment>
373 </Midl>
374 <ClCompile>
375 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
376 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
377 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
378 <StringPooling>true</StringPooling>
379 <ExceptionHandling>
380 </ExceptionHandling>
381 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -401,11 +401,11 @@
401 <Midl>
402 <TargetEnvironment>Itanium</TargetEnvironment>
403 </Midl>
404 <ClCompile>
405 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
406 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
407 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
408 <StringPooling>true</StringPooling>
409 <ExceptionHandling>
410 </ExceptionHandling>
411 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -435,18 +435,10 @@
435 <ClCompile Include="..\..\..\gzclose.c" />
436 <ClCompile Include="..\..\..\gzlib.c" />
437 <ClCompile Include="..\..\..\gzread.c" />
438 <ClCompile Include="..\..\..\gzwrite.c" />
439 <ClCompile Include="..\..\..\infback.c" />
440 <ClCompile Include="..\..\masmx64\inffas8664.c">
441 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
442 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
443 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
444 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
445 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
446 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
447 </ClCompile>
448 <ClCompile Include="..\..\..\inffast.c" />
449 <ClCompile Include="..\..\..\inflate.c" />
450 <ClCompile Include="..\..\..\inftrees.c" />
451 <ClCompile Include="..\..\minizip\ioapi.c" />
452 <ClCompile Include="..\..\..\trees.c" />
453
--- compat/zlib/contrib/vstudio/vc12/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc12/zlibstat.vcxproj
@@ -168,11 +168,11 @@
168 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
169 </PropertyGroup>
170 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
171 <ClCompile>
172 <Optimization>Disabled</Optimization>
173 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
174 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
175 <ExceptionHandling>
176 </ExceptionHandling>
177 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
178 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -194,12 +194,12 @@
194 </Lib>
195 </ItemDefinitionGroup>
196 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
197 <ClCompile>
198 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
199 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
201 <StringPooling>true</StringPooling>
202 <ExceptionHandling>
203 </ExceptionHandling>
204 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
205 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -214,19 +214,19 @@
214 <ResourceCompile>
215 <Culture>0x040c</Culture>
216 </ResourceCompile>
217 <Lib>
218 <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
219 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
220 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
221 <SuppressStartupBanner>true</SuppressStartupBanner>
222 </Lib>
223 </ItemDefinitionGroup>
224 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
225 <ClCompile>
226 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
227 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
228 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
229 <StringPooling>true</StringPooling>
230 <ExceptionHandling>
231 </ExceptionHandling>
232 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -252,11 +252,11 @@
252 <Midl>
253 <TargetEnvironment>X64</TargetEnvironment>
254 </Midl>
255 <ClCompile>
256 <Optimization>Disabled</Optimization>
257 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
258 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
259 <ExceptionHandling>
260 </ExceptionHandling>
261 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
262 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -281,11 +281,11 @@
281 <Midl>
282 <TargetEnvironment>Itanium</TargetEnvironment>
283 </Midl>
284 <ClCompile>
285 <Optimization>Disabled</Optimization>
286 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
287 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
288 <ExceptionHandling>
289 </ExceptionHandling>
290 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
291 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -310,12 +310,12 @@
310 <Midl>
311 <TargetEnvironment>X64</TargetEnvironment>
312 </Midl>
313 <ClCompile>
314 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
315 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
316 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
317 <StringPooling>true</StringPooling>
318 <ExceptionHandling>
319 </ExceptionHandling>
320 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
321 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -330,11 +330,11 @@
330 <ResourceCompile>
331 <Culture>0x040c</Culture>
332 </ResourceCompile>
333 <Lib>
334 <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
335 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
336 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
337 <SuppressStartupBanner>true</SuppressStartupBanner>
338 </Lib>
339 </ItemDefinitionGroup>
340 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
@@ -341,11 +341,11 @@
341 <Midl>
342 <TargetEnvironment>Itanium</TargetEnvironment>
343 </Midl>
344 <ClCompile>
345 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
346 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
347 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
348 <StringPooling>true</StringPooling>
349 <ExceptionHandling>
350 </ExceptionHandling>
351 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -371,11 +371,11 @@
371 <Midl>
372 <TargetEnvironment>X64</TargetEnvironment>
373 </Midl>
374 <ClCompile>
375 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
376 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
377 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
378 <StringPooling>true</StringPooling>
379 <ExceptionHandling>
380 </ExceptionHandling>
381 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -401,11 +401,11 @@
401 <Midl>
402 <TargetEnvironment>Itanium</TargetEnvironment>
403 </Midl>
404 <ClCompile>
405 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
406 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
407 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
408 <StringPooling>true</StringPooling>
409 <ExceptionHandling>
410 </ExceptionHandling>
411 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -435,18 +435,10 @@
435 <ClCompile Include="..\..\..\gzclose.c" />
436 <ClCompile Include="..\..\..\gzlib.c" />
437 <ClCompile Include="..\..\..\gzread.c" />
438 <ClCompile Include="..\..\..\gzwrite.c" />
439 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
440 <ClCompile Include="..\..\..\inffast.c" />
441 <ClCompile Include="..\..\..\inflate.c" />
442 <ClCompile Include="..\..\..\inftrees.c" />
443 <ClCompile Include="..\..\minizip\ioapi.c" />
444 <ClCompile Include="..\..\..\trees.c" />
445
--- compat/zlib/contrib/vstudio/vc12/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc12/zlibvc.vcxproj
@@ -205,12 +205,12 @@
205205
<TargetEnvironment>Win32</TargetEnvironment>
206206
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
207207
</Midl>
208208
<ClCompile>
209209
<Optimization>Disabled</Optimization>
210
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
211
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
210
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
211
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
212212
<ExceptionHandling>
213213
</ExceptionHandling>
214214
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
215215
<BufferSecurityCheck>false</BufferSecurityCheck>
216216
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -227,11 +227,11 @@
227227
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
228228
<Culture>0x040c</Culture>
229229
</ResourceCompile>
230230
<Link>
231231
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
232
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
232
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
233233
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
234234
<SuppressStartupBanner>true</SuppressStartupBanner>
235235
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
236236
<GenerateDebugInformation>true</GenerateDebugInformation>
237237
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -241,14 +241,10 @@
241241
<RandomizedBaseAddress>false</RandomizedBaseAddress>
242242
<DataExecutionPrevention>
243243
</DataExecutionPrevention>
244244
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
245245
</Link>
246
- <PreBuildEvent>
247
- <Command>cd ..\..\masmx86
248
-bld_ml32.bat</Command>
249
- </PreBuildEvent>
250246
</ItemDefinitionGroup>
251247
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
252248
<Midl>
253249
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254250
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -256,11 +252,11 @@
256252
<TargetEnvironment>Win32</TargetEnvironment>
257253
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
258254
</Midl>
259255
<ClCompile>
260256
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
261
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
257
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
262258
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
263259
<StringPooling>true</StringPooling>
264260
<ExceptionHandling>
265261
</ExceptionHandling>
266262
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -304,12 +300,12 @@
304300
<TargetEnvironment>Win32</TargetEnvironment>
305301
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
306302
</Midl>
307303
<ClCompile>
308304
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
309
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
310
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
305
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
306
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
311307
<StringPooling>true</StringPooling>
312308
<ExceptionHandling>
313309
</ExceptionHandling>
314310
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
315311
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -328,11 +324,11 @@
328324
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
329325
<Culture>0x040c</Culture>
330326
</ResourceCompile>
331327
<Link>
332328
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
333
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
329
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
334330
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
335331
<SuppressStartupBanner>true</SuppressStartupBanner>
336332
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
337333
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
338334
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -343,14 +339,10 @@
343339
<DataExecutionPrevention>
344340
</DataExecutionPrevention>
345341
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
346342
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
347343
</Link>
348
- <PreBuildEvent>
349
- <Command>cd ..\..\masmx86
350
-bld_ml32.bat</Command>
351
- </PreBuildEvent>
352344
</ItemDefinitionGroup>
353345
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
354346
<Midl>
355347
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
356348
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -358,12 +350,12 @@
358350
<TargetEnvironment>X64</TargetEnvironment>
359351
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
360352
</Midl>
361353
<ClCompile>
362354
<Optimization>Disabled</Optimization>
363
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
364
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
355
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
356
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
365357
<ExceptionHandling>
366358
</ExceptionHandling>
367359
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
368360
<BufferSecurityCheck>false</BufferSecurityCheck>
369361
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -379,11 +371,11 @@
379371
<ResourceCompile>
380372
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
381373
<Culture>0x040c</Culture>
382374
</ResourceCompile>
383375
<Link>
384
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
376
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
385377
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
386378
<SuppressStartupBanner>true</SuppressStartupBanner>
387379
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
388380
<GenerateDebugInformation>true</GenerateDebugInformation>
389381
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -391,14 +383,10 @@
391383
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
392384
<SubSystem>Windows</SubSystem>
393385
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
394386
<TargetMachine>MachineX64</TargetMachine>
395387
</Link>
396
- <PreBuildEvent>
397
- <Command>cd ..\..\contrib\masmx64
398
-bld_ml64.bat</Command>
399
- </PreBuildEvent>
400388
</ItemDefinitionGroup>
401389
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
402390
<Midl>
403391
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
404392
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -406,11 +394,11 @@
406394
<TargetEnvironment>Itanium</TargetEnvironment>
407395
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
408396
</Midl>
409397
<ClCompile>
410398
<Optimization>Disabled</Optimization>
411
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
399
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
412400
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
413401
<ExceptionHandling>
414402
</ExceptionHandling>
415403
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
416404
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -449,11 +437,11 @@
449437
<TargetEnvironment>X64</TargetEnvironment>
450438
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
451439
</Midl>
452440
<ClCompile>
453441
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
454
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
442
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
455443
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
456444
<StringPooling>true</StringPooling>
457445
<ExceptionHandling>
458446
</ExceptionHandling>
459447
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -494,11 +482,11 @@
494482
<TargetEnvironment>Itanium</TargetEnvironment>
495483
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
496484
</Midl>
497485
<ClCompile>
498486
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
499
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
487
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
500488
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
501489
<StringPooling>true</StringPooling>
502490
<ExceptionHandling>
503491
</ExceptionHandling>
504492
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -539,12 +527,12 @@
539527
<TargetEnvironment>X64</TargetEnvironment>
540528
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
541529
</Midl>
542530
<ClCompile>
543531
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
544
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
545
- <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
532
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
533
+ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
546534
<StringPooling>true</StringPooling>
547535
<ExceptionHandling>
548536
</ExceptionHandling>
549537
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
550538
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -562,11 +550,11 @@
562550
<ResourceCompile>
563551
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
564552
<Culture>0x040c</Culture>
565553
</ResourceCompile>
566554
<Link>
567
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
555
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
568556
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
569557
<SuppressStartupBanner>true</SuppressStartupBanner>
570558
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
571559
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
572560
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -574,14 +562,10 @@
574562
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
575563
<SubSystem>Windows</SubSystem>
576564
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
577565
<TargetMachine>MachineX64</TargetMachine>
578566
</Link>
579
- <PreBuildEvent>
580
- <Command>cd ..\..\masmx64
581
-bld_ml64.bat</Command>
582
- </PreBuildEvent>
583567
</ItemDefinitionGroup>
584568
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
585569
<Midl>
586570
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
587571
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -589,11 +573,11 @@
589573
<TargetEnvironment>Itanium</TargetEnvironment>
590574
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
591575
</Midl>
592576
<ClCompile>
593577
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
594
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
578
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
595579
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
596580
<StringPooling>true</StringPooling>
597581
<ExceptionHandling>
598582
</ExceptionHandling>
599583
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -634,18 +618,10 @@
634618
<ClCompile Include="..\..\..\gzclose.c" />
635619
<ClCompile Include="..\..\..\gzlib.c" />
636620
<ClCompile Include="..\..\..\gzread.c" />
637621
<ClCompile Include="..\..\..\gzwrite.c" />
638622
<ClCompile Include="..\..\..\infback.c" />
639
- <ClCompile Include="..\..\masmx64\inffas8664.c">
640
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
641
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
642
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
643
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
644
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
645
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
646
- </ClCompile>
647623
<ClCompile Include="..\..\..\inffast.c" />
648624
<ClCompile Include="..\..\..\inflate.c" />
649625
<ClCompile Include="..\..\..\inftrees.c" />
650626
<ClCompile Include="..\..\minizip\ioapi.c" />
651627
<ClCompile Include="..\..\minizip\iowin32.c" />
652628
--- compat/zlib/contrib/vstudio/vc12/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc12/zlibvc.vcxproj
@@ -205,12 +205,12 @@
205 <TargetEnvironment>Win32</TargetEnvironment>
206 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
207 </Midl>
208 <ClCompile>
209 <Optimization>Disabled</Optimization>
210 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
211 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
212 <ExceptionHandling>
213 </ExceptionHandling>
214 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
215 <BufferSecurityCheck>false</BufferSecurityCheck>
216 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -227,11 +227,11 @@
227 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
228 <Culture>0x040c</Culture>
229 </ResourceCompile>
230 <Link>
231 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
232 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
233 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
234 <SuppressStartupBanner>true</SuppressStartupBanner>
235 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
236 <GenerateDebugInformation>true</GenerateDebugInformation>
237 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -241,14 +241,10 @@
241 <RandomizedBaseAddress>false</RandomizedBaseAddress>
242 <DataExecutionPrevention>
243 </DataExecutionPrevention>
244 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
245 </Link>
246 <PreBuildEvent>
247 <Command>cd ..\..\masmx86
248 bld_ml32.bat</Command>
249 </PreBuildEvent>
250 </ItemDefinitionGroup>
251 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
252 <Midl>
253 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -256,11 +252,11 @@
256 <TargetEnvironment>Win32</TargetEnvironment>
257 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
258 </Midl>
259 <ClCompile>
260 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
261 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
262 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
263 <StringPooling>true</StringPooling>
264 <ExceptionHandling>
265 </ExceptionHandling>
266 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -304,12 +300,12 @@
304 <TargetEnvironment>Win32</TargetEnvironment>
305 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
306 </Midl>
307 <ClCompile>
308 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
309 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
310 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
311 <StringPooling>true</StringPooling>
312 <ExceptionHandling>
313 </ExceptionHandling>
314 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
315 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -328,11 +324,11 @@
328 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
329 <Culture>0x040c</Culture>
330 </ResourceCompile>
331 <Link>
332 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
333 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
334 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
335 <SuppressStartupBanner>true</SuppressStartupBanner>
336 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
337 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
338 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -343,14 +339,10 @@
343 <DataExecutionPrevention>
344 </DataExecutionPrevention>
345 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
346 <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
347 </Link>
348 <PreBuildEvent>
349 <Command>cd ..\..\masmx86
350 bld_ml32.bat</Command>
351 </PreBuildEvent>
352 </ItemDefinitionGroup>
353 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
354 <Midl>
355 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
356 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -358,12 +350,12 @@
358 <TargetEnvironment>X64</TargetEnvironment>
359 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
360 </Midl>
361 <ClCompile>
362 <Optimization>Disabled</Optimization>
363 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
364 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
365 <ExceptionHandling>
366 </ExceptionHandling>
367 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
368 <BufferSecurityCheck>false</BufferSecurityCheck>
369 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -379,11 +371,11 @@
379 <ResourceCompile>
380 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
381 <Culture>0x040c</Culture>
382 </ResourceCompile>
383 <Link>
384 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
385 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
386 <SuppressStartupBanner>true</SuppressStartupBanner>
387 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
388 <GenerateDebugInformation>true</GenerateDebugInformation>
389 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -391,14 +383,10 @@
391 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
392 <SubSystem>Windows</SubSystem>
393 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
394 <TargetMachine>MachineX64</TargetMachine>
395 </Link>
396 <PreBuildEvent>
397 <Command>cd ..\..\contrib\masmx64
398 bld_ml64.bat</Command>
399 </PreBuildEvent>
400 </ItemDefinitionGroup>
401 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
402 <Midl>
403 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
404 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -406,11 +394,11 @@
406 <TargetEnvironment>Itanium</TargetEnvironment>
407 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
408 </Midl>
409 <ClCompile>
410 <Optimization>Disabled</Optimization>
411 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
412 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
413 <ExceptionHandling>
414 </ExceptionHandling>
415 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
416 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -449,11 +437,11 @@
449 <TargetEnvironment>X64</TargetEnvironment>
450 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
451 </Midl>
452 <ClCompile>
453 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
454 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
455 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
456 <StringPooling>true</StringPooling>
457 <ExceptionHandling>
458 </ExceptionHandling>
459 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -494,11 +482,11 @@
494 <TargetEnvironment>Itanium</TargetEnvironment>
495 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
496 </Midl>
497 <ClCompile>
498 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
499 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
500 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
501 <StringPooling>true</StringPooling>
502 <ExceptionHandling>
503 </ExceptionHandling>
504 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -539,12 +527,12 @@
539 <TargetEnvironment>X64</TargetEnvironment>
540 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
541 </Midl>
542 <ClCompile>
543 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
544 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
545 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
546 <StringPooling>true</StringPooling>
547 <ExceptionHandling>
548 </ExceptionHandling>
549 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
550 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -562,11 +550,11 @@
562 <ResourceCompile>
563 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
564 <Culture>0x040c</Culture>
565 </ResourceCompile>
566 <Link>
567 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
568 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
569 <SuppressStartupBanner>true</SuppressStartupBanner>
570 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
571 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
572 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -574,14 +562,10 @@
574 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
575 <SubSystem>Windows</SubSystem>
576 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
577 <TargetMachine>MachineX64</TargetMachine>
578 </Link>
579 <PreBuildEvent>
580 <Command>cd ..\..\masmx64
581 bld_ml64.bat</Command>
582 </PreBuildEvent>
583 </ItemDefinitionGroup>
584 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
585 <Midl>
586 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
587 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -589,11 +573,11 @@
589 <TargetEnvironment>Itanium</TargetEnvironment>
590 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
591 </Midl>
592 <ClCompile>
593 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
594 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
595 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
596 <StringPooling>true</StringPooling>
597 <ExceptionHandling>
598 </ExceptionHandling>
599 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -634,18 +618,10 @@
634 <ClCompile Include="..\..\..\gzclose.c" />
635 <ClCompile Include="..\..\..\gzlib.c" />
636 <ClCompile Include="..\..\..\gzread.c" />
637 <ClCompile Include="..\..\..\gzwrite.c" />
638 <ClCompile Include="..\..\..\infback.c" />
639 <ClCompile Include="..\..\masmx64\inffas8664.c">
640 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
641 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
642 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
643 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
644 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
645 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
646 </ClCompile>
647 <ClCompile Include="..\..\..\inffast.c" />
648 <ClCompile Include="..\..\..\inflate.c" />
649 <ClCompile Include="..\..\..\inftrees.c" />
650 <ClCompile Include="..\..\minizip\ioapi.c" />
651 <ClCompile Include="..\..\minizip\iowin32.c" />
652
--- compat/zlib/contrib/vstudio/vc12/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc12/zlibvc.vcxproj
@@ -205,12 +205,12 @@
205 <TargetEnvironment>Win32</TargetEnvironment>
206 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
207 </Midl>
208 <ClCompile>
209 <Optimization>Disabled</Optimization>
210 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
211 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
212 <ExceptionHandling>
213 </ExceptionHandling>
214 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
215 <BufferSecurityCheck>false</BufferSecurityCheck>
216 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -227,11 +227,11 @@
227 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
228 <Culture>0x040c</Culture>
229 </ResourceCompile>
230 <Link>
231 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
232 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
233 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
234 <SuppressStartupBanner>true</SuppressStartupBanner>
235 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
236 <GenerateDebugInformation>true</GenerateDebugInformation>
237 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -241,14 +241,10 @@
241 <RandomizedBaseAddress>false</RandomizedBaseAddress>
242 <DataExecutionPrevention>
243 </DataExecutionPrevention>
244 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
245 </Link>
 
 
 
 
246 </ItemDefinitionGroup>
247 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
248 <Midl>
249 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
250 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -256,11 +252,11 @@
252 <TargetEnvironment>Win32</TargetEnvironment>
253 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
254 </Midl>
255 <ClCompile>
256 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
257 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
258 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
259 <StringPooling>true</StringPooling>
260 <ExceptionHandling>
261 </ExceptionHandling>
262 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -304,12 +300,12 @@
300 <TargetEnvironment>Win32</TargetEnvironment>
301 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
302 </Midl>
303 <ClCompile>
304 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
305 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
306 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
307 <StringPooling>true</StringPooling>
308 <ExceptionHandling>
309 </ExceptionHandling>
310 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
311 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -328,11 +324,11 @@
324 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
325 <Culture>0x040c</Culture>
326 </ResourceCompile>
327 <Link>
328 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
329 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
330 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
331 <SuppressStartupBanner>true</SuppressStartupBanner>
332 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
333 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
334 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -343,14 +339,10 @@
339 <DataExecutionPrevention>
340 </DataExecutionPrevention>
341 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
342 <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
343 </Link>
 
 
 
 
344 </ItemDefinitionGroup>
345 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
346 <Midl>
347 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
348 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -358,12 +350,12 @@
350 <TargetEnvironment>X64</TargetEnvironment>
351 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
352 </Midl>
353 <ClCompile>
354 <Optimization>Disabled</Optimization>
355 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
356 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
357 <ExceptionHandling>
358 </ExceptionHandling>
359 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
360 <BufferSecurityCheck>false</BufferSecurityCheck>
361 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -379,11 +371,11 @@
371 <ResourceCompile>
372 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
373 <Culture>0x040c</Culture>
374 </ResourceCompile>
375 <Link>
376 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
377 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
378 <SuppressStartupBanner>true</SuppressStartupBanner>
379 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
380 <GenerateDebugInformation>true</GenerateDebugInformation>
381 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -391,14 +383,10 @@
383 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
384 <SubSystem>Windows</SubSystem>
385 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
386 <TargetMachine>MachineX64</TargetMachine>
387 </Link>
 
 
 
 
388 </ItemDefinitionGroup>
389 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
390 <Midl>
391 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
392 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -406,11 +394,11 @@
394 <TargetEnvironment>Itanium</TargetEnvironment>
395 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
396 </Midl>
397 <ClCompile>
398 <Optimization>Disabled</Optimization>
399 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
400 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
401 <ExceptionHandling>
402 </ExceptionHandling>
403 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
404 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -449,11 +437,11 @@
437 <TargetEnvironment>X64</TargetEnvironment>
438 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
439 </Midl>
440 <ClCompile>
441 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
442 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
443 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
444 <StringPooling>true</StringPooling>
445 <ExceptionHandling>
446 </ExceptionHandling>
447 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -494,11 +482,11 @@
482 <TargetEnvironment>Itanium</TargetEnvironment>
483 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
484 </Midl>
485 <ClCompile>
486 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
487 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
488 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
489 <StringPooling>true</StringPooling>
490 <ExceptionHandling>
491 </ExceptionHandling>
492 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -539,12 +527,12 @@
527 <TargetEnvironment>X64</TargetEnvironment>
528 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
529 </Midl>
530 <ClCompile>
531 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
532 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
533 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
534 <StringPooling>true</StringPooling>
535 <ExceptionHandling>
536 </ExceptionHandling>
537 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
538 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -562,11 +550,11 @@
550 <ResourceCompile>
551 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
552 <Culture>0x040c</Culture>
553 </ResourceCompile>
554 <Link>
555 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
556 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
557 <SuppressStartupBanner>true</SuppressStartupBanner>
558 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
559 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
560 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -574,14 +562,10 @@
562 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
563 <SubSystem>Windows</SubSystem>
564 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
565 <TargetMachine>MachineX64</TargetMachine>
566 </Link>
 
 
 
 
567 </ItemDefinitionGroup>
568 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
569 <Midl>
570 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
571 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -589,11 +573,11 @@
573 <TargetEnvironment>Itanium</TargetEnvironment>
574 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
575 </Midl>
576 <ClCompile>
577 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
578 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
579 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
580 <StringPooling>true</StringPooling>
581 <ExceptionHandling>
582 </ExceptionHandling>
583 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -634,18 +618,10 @@
618 <ClCompile Include="..\..\..\gzclose.c" />
619 <ClCompile Include="..\..\..\gzlib.c" />
620 <ClCompile Include="..\..\..\gzread.c" />
621 <ClCompile Include="..\..\..\gzwrite.c" />
622 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
623 <ClCompile Include="..\..\..\inffast.c" />
624 <ClCompile Include="..\..\..\inflate.c" />
625 <ClCompile Include="..\..\..\inftrees.c" />
626 <ClCompile Include="..\..\minizip\ioapi.c" />
627 <ClCompile Include="..\..\minizip\iowin32.c" />
628
--- compat/zlib/contrib/vstudio/vc14/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc14/testzlib.vcxproj
@@ -188,11 +188,11 @@
188188
</PropertyGroup>
189189
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
190190
<ClCompile>
191191
<Optimization>Disabled</Optimization>
192192
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
193
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
193
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
194194
<MinimalRebuild>true</MinimalRebuild>
195195
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
196196
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
197197
<BufferSecurityCheck>false</BufferSecurityCheck>
198198
<PrecompiledHeader>
@@ -201,11 +201,11 @@
201201
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
202202
<WarningLevel>Level3</WarningLevel>
203203
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
204204
</ClCompile>
205205
<Link>
206
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
206
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
207207
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
208208
<GenerateDebugInformation>true</GenerateDebugInformation>
209209
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
210210
<SubSystem>Console</SubSystem>
211211
<RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -248,11 +248,11 @@
248248
<ClCompile>
249249
<Optimization>MaxSpeed</Optimization>
250250
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
251251
<OmitFramePointers>true</OmitFramePointers>
252252
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
253
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
253
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254254
<StringPooling>true</StringPooling>
255255
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
256256
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
257257
<BufferSecurityCheck>false</BufferSecurityCheck>
258258
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -261,11 +261,11 @@
261261
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
262262
<WarningLevel>Level3</WarningLevel>
263263
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
264264
</ClCompile>
265265
<Link>
266
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
266
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
267267
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
268268
<GenerateDebugInformation>true</GenerateDebugInformation>
269269
<SubSystem>Console</SubSystem>
270270
<OptimizeReferences>true</OptimizeReferences>
271271
<EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -277,18 +277,18 @@
277277
</Link>
278278
</ItemDefinitionGroup>
279279
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
280280
<ClCompile>
281281
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
282
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
282
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
283283
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
284284
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
285285
<BufferSecurityCheck>false</BufferSecurityCheck>
286286
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
287287
</ClCompile>
288288
<Link>
289
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
289
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
290290
</Link>
291291
</ItemDefinitionGroup>
292292
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
293293
<Midl>
294294
<TargetEnvironment>Itanium</TargetEnvironment>
@@ -360,18 +360,18 @@
360360
</Link>
361361
</ItemDefinitionGroup>
362362
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
363363
<ClCompile>
364364
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
365
- <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
365
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
366366
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
367367
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
368368
<BufferSecurityCheck>false</BufferSecurityCheck>
369369
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
370370
</ClCompile>
371371
<Link>
372
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
372
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
373373
</Link>
374374
</ItemDefinitionGroup>
375375
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
376376
<Midl>
377377
<TargetEnvironment>Itanium</TargetEnvironment>
@@ -406,18 +406,10 @@
406406
<ClCompile Include="..\..\..\adler32.c" />
407407
<ClCompile Include="..\..\..\compress.c" />
408408
<ClCompile Include="..\..\..\crc32.c" />
409409
<ClCompile Include="..\..\..\deflate.c" />
410410
<ClCompile Include="..\..\..\infback.c" />
411
- <ClCompile Include="..\..\masmx64\inffas8664.c">
412
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
413
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
414
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
415
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
416
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
417
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
418
- </ClCompile>
419411
<ClCompile Include="..\..\..\inffast.c" />
420412
<ClCompile Include="..\..\..\inflate.c" />
421413
<ClCompile Include="..\..\..\inftrees.c" />
422414
<ClCompile Include="..\..\testzlib\testzlib.c" />
423415
<ClCompile Include="..\..\..\trees.c" />
424416
--- compat/zlib/contrib/vstudio/vc14/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc14/testzlib.vcxproj
@@ -188,11 +188,11 @@
188 </PropertyGroup>
189 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
190 <ClCompile>
191 <Optimization>Disabled</Optimization>
192 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
193 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
194 <MinimalRebuild>true</MinimalRebuild>
195 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
196 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
197 <BufferSecurityCheck>false</BufferSecurityCheck>
198 <PrecompiledHeader>
@@ -201,11 +201,11 @@
201 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
202 <WarningLevel>Level3</WarningLevel>
203 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
204 </ClCompile>
205 <Link>
206 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
207 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
208 <GenerateDebugInformation>true</GenerateDebugInformation>
209 <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
210 <SubSystem>Console</SubSystem>
211 <RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -248,11 +248,11 @@
248 <ClCompile>
249 <Optimization>MaxSpeed</Optimization>
250 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
251 <OmitFramePointers>true</OmitFramePointers>
252 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
253 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254 <StringPooling>true</StringPooling>
255 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
256 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
257 <BufferSecurityCheck>false</BufferSecurityCheck>
258 <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -261,11 +261,11 @@
261 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
262 <WarningLevel>Level3</WarningLevel>
263 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
264 </ClCompile>
265 <Link>
266 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
267 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
268 <GenerateDebugInformation>true</GenerateDebugInformation>
269 <SubSystem>Console</SubSystem>
270 <OptimizeReferences>true</OptimizeReferences>
271 <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -277,18 +277,18 @@
277 </Link>
278 </ItemDefinitionGroup>
279 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
280 <ClCompile>
281 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
282 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
283 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
284 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
285 <BufferSecurityCheck>false</BufferSecurityCheck>
286 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
287 </ClCompile>
288 <Link>
289 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
290 </Link>
291 </ItemDefinitionGroup>
292 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
293 <Midl>
294 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -360,18 +360,18 @@
360 </Link>
361 </ItemDefinitionGroup>
362 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
363 <ClCompile>
364 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
365 <PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
366 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
367 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
368 <BufferSecurityCheck>false</BufferSecurityCheck>
369 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
370 </ClCompile>
371 <Link>
372 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
373 </Link>
374 </ItemDefinitionGroup>
375 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
376 <Midl>
377 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -406,18 +406,10 @@
406 <ClCompile Include="..\..\..\adler32.c" />
407 <ClCompile Include="..\..\..\compress.c" />
408 <ClCompile Include="..\..\..\crc32.c" />
409 <ClCompile Include="..\..\..\deflate.c" />
410 <ClCompile Include="..\..\..\infback.c" />
411 <ClCompile Include="..\..\masmx64\inffas8664.c">
412 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
413 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
414 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
415 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
416 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
417 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
418 </ClCompile>
419 <ClCompile Include="..\..\..\inffast.c" />
420 <ClCompile Include="..\..\..\inflate.c" />
421 <ClCompile Include="..\..\..\inftrees.c" />
422 <ClCompile Include="..\..\testzlib\testzlib.c" />
423 <ClCompile Include="..\..\..\trees.c" />
424
--- compat/zlib/contrib/vstudio/vc14/testzlib.vcxproj
+++ compat/zlib/contrib/vstudio/vc14/testzlib.vcxproj
@@ -188,11 +188,11 @@
188 </PropertyGroup>
189 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
190 <ClCompile>
191 <Optimization>Disabled</Optimization>
192 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
193 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
194 <MinimalRebuild>true</MinimalRebuild>
195 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
196 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
197 <BufferSecurityCheck>false</BufferSecurityCheck>
198 <PrecompiledHeader>
@@ -201,11 +201,11 @@
201 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
202 <WarningLevel>Level3</WarningLevel>
203 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
204 </ClCompile>
205 <Link>
206 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
207 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
208 <GenerateDebugInformation>true</GenerateDebugInformation>
209 <ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
210 <SubSystem>Console</SubSystem>
211 <RandomizedBaseAddress>false</RandomizedBaseAddress>
@@ -248,11 +248,11 @@
248 <ClCompile>
249 <Optimization>MaxSpeed</Optimization>
250 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
251 <OmitFramePointers>true</OmitFramePointers>
252 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
253 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254 <StringPooling>true</StringPooling>
255 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
256 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
257 <BufferSecurityCheck>false</BufferSecurityCheck>
258 <FunctionLevelLinking>true</FunctionLevelLinking>
@@ -261,11 +261,11 @@
261 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
262 <WarningLevel>Level3</WarningLevel>
263 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
264 </ClCompile>
265 <Link>
266 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
267 <OutputFile>$(OutDir)testzlib.exe</OutputFile>
268 <GenerateDebugInformation>true</GenerateDebugInformation>
269 <SubSystem>Console</SubSystem>
270 <OptimizeReferences>true</OptimizeReferences>
271 <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -277,18 +277,18 @@
277 </Link>
278 </ItemDefinitionGroup>
279 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
280 <ClCompile>
281 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
282 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
283 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
284 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
285 <BufferSecurityCheck>false</BufferSecurityCheck>
286 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
287 </ClCompile>
288 <Link>
289 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
290 </Link>
291 </ItemDefinitionGroup>
292 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
293 <Midl>
294 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -360,18 +360,18 @@
360 </Link>
361 </ItemDefinitionGroup>
362 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
363 <ClCompile>
364 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
365 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
366 <BasicRuntimeChecks>Default</BasicRuntimeChecks>
367 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
368 <BufferSecurityCheck>false</BufferSecurityCheck>
369 <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
370 </ClCompile>
371 <Link>
372 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
373 </Link>
374 </ItemDefinitionGroup>
375 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
376 <Midl>
377 <TargetEnvironment>Itanium</TargetEnvironment>
@@ -406,18 +406,10 @@
406 <ClCompile Include="..\..\..\adler32.c" />
407 <ClCompile Include="..\..\..\compress.c" />
408 <ClCompile Include="..\..\..\crc32.c" />
409 <ClCompile Include="..\..\..\deflate.c" />
410 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
411 <ClCompile Include="..\..\..\inffast.c" />
412 <ClCompile Include="..\..\..\inflate.c" />
413 <ClCompile Include="..\..\..\inftrees.c" />
414 <ClCompile Include="..\..\testzlib\testzlib.c" />
415 <ClCompile Include="..\..\..\trees.c" />
416
--- compat/zlib/contrib/vstudio/vc14/zlib.rc
+++ compat/zlib/contrib/vstudio/vc14/zlib.rc
@@ -1,11 +1,11 @@
11
#include <windows.h>
22
33
#define IDR_VERSION1 1
44
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5
- FILEVERSION 1, 2, 12, 0
6
- PRODUCTVERSION 1, 2, 12, 0
5
+ FILEVERSION 1, 2, 13, 0
6
+ PRODUCTVERSION 1, 2, 13, 0
77
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
88
FILEFLAGS 0
99
FILEOS VOS_DOS_WINDOWS32
1010
FILETYPE VFT_DLL
1111
FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
1515
BLOCK "040904E4"
1616
//language ID = U.S. English, char set = Windows, Multilingual
1717
1818
BEGIN
1919
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20
- VALUE "FileVersion", "1.2.12\0"
20
+ VALUE "FileVersion", "1.2.13\0"
2121
VALUE "InternalName", "zlib\0"
2222
VALUE "OriginalFilename", "zlibwapi.dll\0"
2323
VALUE "ProductName", "ZLib.DLL\0"
2424
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
2525
VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
2626
--- compat/zlib/contrib/vstudio/vc14/zlib.rc
+++ compat/zlib/contrib/vstudio/vc14/zlib.rc
@@ -1,11 +1,11 @@
1 #include <windows.h>
2
3 #define IDR_VERSION1 1
4 IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1, 2, 12, 0
6 PRODUCTVERSION 1, 2, 12, 0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 VALUE "FileVersion", "1.2.12\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlibwapi.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
26
--- compat/zlib/contrib/vstudio/vc14/zlib.rc
+++ compat/zlib/contrib/vstudio/vc14/zlib.rc
@@ -1,11 +1,11 @@
1 #include <windows.h>
2
3 #define IDR_VERSION1 1
4 IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1, 2, 13, 0
6 PRODUCTVERSION 1, 2, 13, 0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 VALUE "FileVersion", "1.2.13\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlibwapi.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
26
--- compat/zlib/contrib/vstudio/vc14/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc14/zlibstat.vcxproj
@@ -168,11 +168,11 @@
168168
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
169169
</PropertyGroup>
170170
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
171171
<ClCompile>
172172
<Optimization>Disabled</Optimization>
173
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
173
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
174174
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
175175
<ExceptionHandling>
176176
</ExceptionHandling>
177177
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
178178
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -194,12 +194,12 @@
194194
</Lib>
195195
</ItemDefinitionGroup>
196196
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
197197
<ClCompile>
198198
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
199
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200
- <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
199
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200
+ <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
201201
<StringPooling>true</StringPooling>
202202
<ExceptionHandling>
203203
</ExceptionHandling>
204204
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
205205
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -214,19 +214,19 @@
214214
<ResourceCompile>
215215
<Culture>0x040c</Culture>
216216
</ResourceCompile>
217217
<Lib>
218218
<AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
219
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
219
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
220220
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
221221
<SuppressStartupBanner>true</SuppressStartupBanner>
222222
</Lib>
223223
</ItemDefinitionGroup>
224224
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
225225
<ClCompile>
226226
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
227
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
227
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
228228
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
229229
<StringPooling>true</StringPooling>
230230
<ExceptionHandling>
231231
</ExceptionHandling>
232232
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -252,11 +252,11 @@
252252
<Midl>
253253
<TargetEnvironment>X64</TargetEnvironment>
254254
</Midl>
255255
<ClCompile>
256256
<Optimization>Disabled</Optimization>
257
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
257
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
258258
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
259259
<ExceptionHandling>
260260
</ExceptionHandling>
261261
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
262262
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -281,11 +281,11 @@
281281
<Midl>
282282
<TargetEnvironment>Itanium</TargetEnvironment>
283283
</Midl>
284284
<ClCompile>
285285
<Optimization>Disabled</Optimization>
286
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
286
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
287287
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
288288
<ExceptionHandling>
289289
</ExceptionHandling>
290290
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
291291
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -310,12 +310,12 @@
310310
<Midl>
311311
<TargetEnvironment>X64</TargetEnvironment>
312312
</Midl>
313313
<ClCompile>
314314
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
315
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
316
- <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
315
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
316
+ <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
317317
<StringPooling>true</StringPooling>
318318
<ExceptionHandling>
319319
</ExceptionHandling>
320320
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
321321
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -330,11 +330,11 @@
330330
<ResourceCompile>
331331
<Culture>0x040c</Culture>
332332
</ResourceCompile>
333333
<Lib>
334334
<AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
335
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
335
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
336336
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
337337
<SuppressStartupBanner>true</SuppressStartupBanner>
338338
</Lib>
339339
</ItemDefinitionGroup>
340340
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
@@ -341,11 +341,11 @@
341341
<Midl>
342342
<TargetEnvironment>Itanium</TargetEnvironment>
343343
</Midl>
344344
<ClCompile>
345345
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
346
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
346
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
347347
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
348348
<StringPooling>true</StringPooling>
349349
<ExceptionHandling>
350350
</ExceptionHandling>
351351
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -371,11 +371,11 @@
371371
<Midl>
372372
<TargetEnvironment>X64</TargetEnvironment>
373373
</Midl>
374374
<ClCompile>
375375
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
376
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
376
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
377377
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
378378
<StringPooling>true</StringPooling>
379379
<ExceptionHandling>
380380
</ExceptionHandling>
381381
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -401,11 +401,11 @@
401401
<Midl>
402402
<TargetEnvironment>Itanium</TargetEnvironment>
403403
</Midl>
404404
<ClCompile>
405405
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
406
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
406
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
407407
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
408408
<StringPooling>true</StringPooling>
409409
<ExceptionHandling>
410410
</ExceptionHandling>
411411
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -435,18 +435,10 @@
435435
<ClCompile Include="..\..\..\gzclose.c" />
436436
<ClCompile Include="..\..\..\gzlib.c" />
437437
<ClCompile Include="..\..\..\gzread.c" />
438438
<ClCompile Include="..\..\..\gzwrite.c" />
439439
<ClCompile Include="..\..\..\infback.c" />
440
- <ClCompile Include="..\..\masmx64\inffas8664.c">
441
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
442
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
443
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
444
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
445
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
446
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
447
- </ClCompile>
448440
<ClCompile Include="..\..\..\inffast.c" />
449441
<ClCompile Include="..\..\..\inflate.c" />
450442
<ClCompile Include="..\..\..\inftrees.c" />
451443
<ClCompile Include="..\..\minizip\ioapi.c" />
452444
<ClCompile Include="..\..\..\trees.c" />
453445
--- compat/zlib/contrib/vstudio/vc14/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc14/zlibstat.vcxproj
@@ -168,11 +168,11 @@
168 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
169 </PropertyGroup>
170 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
171 <ClCompile>
172 <Optimization>Disabled</Optimization>
173 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
174 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
175 <ExceptionHandling>
176 </ExceptionHandling>
177 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
178 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -194,12 +194,12 @@
194 </Lib>
195 </ItemDefinitionGroup>
196 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
197 <ClCompile>
198 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
199 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
201 <StringPooling>true</StringPooling>
202 <ExceptionHandling>
203 </ExceptionHandling>
204 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
205 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -214,19 +214,19 @@
214 <ResourceCompile>
215 <Culture>0x040c</Culture>
216 </ResourceCompile>
217 <Lib>
218 <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
219 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
220 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
221 <SuppressStartupBanner>true</SuppressStartupBanner>
222 </Lib>
223 </ItemDefinitionGroup>
224 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
225 <ClCompile>
226 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
227 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
228 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
229 <StringPooling>true</StringPooling>
230 <ExceptionHandling>
231 </ExceptionHandling>
232 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -252,11 +252,11 @@
252 <Midl>
253 <TargetEnvironment>X64</TargetEnvironment>
254 </Midl>
255 <ClCompile>
256 <Optimization>Disabled</Optimization>
257 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
258 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
259 <ExceptionHandling>
260 </ExceptionHandling>
261 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
262 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -281,11 +281,11 @@
281 <Midl>
282 <TargetEnvironment>Itanium</TargetEnvironment>
283 </Midl>
284 <ClCompile>
285 <Optimization>Disabled</Optimization>
286 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
287 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
288 <ExceptionHandling>
289 </ExceptionHandling>
290 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
291 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -310,12 +310,12 @@
310 <Midl>
311 <TargetEnvironment>X64</TargetEnvironment>
312 </Midl>
313 <ClCompile>
314 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
315 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
316 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
317 <StringPooling>true</StringPooling>
318 <ExceptionHandling>
319 </ExceptionHandling>
320 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
321 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -330,11 +330,11 @@
330 <ResourceCompile>
331 <Culture>0x040c</Culture>
332 </ResourceCompile>
333 <Lib>
334 <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
335 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
336 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
337 <SuppressStartupBanner>true</SuppressStartupBanner>
338 </Lib>
339 </ItemDefinitionGroup>
340 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
@@ -341,11 +341,11 @@
341 <Midl>
342 <TargetEnvironment>Itanium</TargetEnvironment>
343 </Midl>
344 <ClCompile>
345 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
346 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
347 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
348 <StringPooling>true</StringPooling>
349 <ExceptionHandling>
350 </ExceptionHandling>
351 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -371,11 +371,11 @@
371 <Midl>
372 <TargetEnvironment>X64</TargetEnvironment>
373 </Midl>
374 <ClCompile>
375 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
376 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
377 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
378 <StringPooling>true</StringPooling>
379 <ExceptionHandling>
380 </ExceptionHandling>
381 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -401,11 +401,11 @@
401 <Midl>
402 <TargetEnvironment>Itanium</TargetEnvironment>
403 </Midl>
404 <ClCompile>
405 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
406 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
407 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
408 <StringPooling>true</StringPooling>
409 <ExceptionHandling>
410 </ExceptionHandling>
411 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -435,18 +435,10 @@
435 <ClCompile Include="..\..\..\gzclose.c" />
436 <ClCompile Include="..\..\..\gzlib.c" />
437 <ClCompile Include="..\..\..\gzread.c" />
438 <ClCompile Include="..\..\..\gzwrite.c" />
439 <ClCompile Include="..\..\..\infback.c" />
440 <ClCompile Include="..\..\masmx64\inffas8664.c">
441 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
442 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
443 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
444 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
445 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
446 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
447 </ClCompile>
448 <ClCompile Include="..\..\..\inffast.c" />
449 <ClCompile Include="..\..\..\inflate.c" />
450 <ClCompile Include="..\..\..\inftrees.c" />
451 <ClCompile Include="..\..\minizip\ioapi.c" />
452 <ClCompile Include="..\..\..\trees.c" />
453
--- compat/zlib/contrib/vstudio/vc14/zlibstat.vcxproj
+++ compat/zlib/contrib/vstudio/vc14/zlibstat.vcxproj
@@ -168,11 +168,11 @@
168 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
169 </PropertyGroup>
170 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
171 <ClCompile>
172 <Optimization>Disabled</Optimization>
173 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
174 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
175 <ExceptionHandling>
176 </ExceptionHandling>
177 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
178 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -194,12 +194,12 @@
194 </Lib>
195 </ItemDefinitionGroup>
196 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
197 <ClCompile>
198 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
199 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
201 <StringPooling>true</StringPooling>
202 <ExceptionHandling>
203 </ExceptionHandling>
204 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
205 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -214,19 +214,19 @@
214 <ResourceCompile>
215 <Culture>0x040c</Culture>
216 </ResourceCompile>
217 <Lib>
218 <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
219 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
220 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
221 <SuppressStartupBanner>true</SuppressStartupBanner>
222 </Lib>
223 </ItemDefinitionGroup>
224 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
225 <ClCompile>
226 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
227 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
228 <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
229 <StringPooling>true</StringPooling>
230 <ExceptionHandling>
231 </ExceptionHandling>
232 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -252,11 +252,11 @@
252 <Midl>
253 <TargetEnvironment>X64</TargetEnvironment>
254 </Midl>
255 <ClCompile>
256 <Optimization>Disabled</Optimization>
257 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
258 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
259 <ExceptionHandling>
260 </ExceptionHandling>
261 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
262 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -281,11 +281,11 @@
281 <Midl>
282 <TargetEnvironment>Itanium</TargetEnvironment>
283 </Midl>
284 <ClCompile>
285 <Optimization>Disabled</Optimization>
286 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
287 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
288 <ExceptionHandling>
289 </ExceptionHandling>
290 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
291 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -310,12 +310,12 @@
310 <Midl>
311 <TargetEnvironment>X64</TargetEnvironment>
312 </Midl>
313 <ClCompile>
314 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
315 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
316 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
317 <StringPooling>true</StringPooling>
318 <ExceptionHandling>
319 </ExceptionHandling>
320 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
321 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -330,11 +330,11 @@
330 <ResourceCompile>
331 <Culture>0x040c</Culture>
332 </ResourceCompile>
333 <Lib>
334 <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
335 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
336 <OutputFile>$(OutDir)zlibstat.lib</OutputFile>
337 <SuppressStartupBanner>true</SuppressStartupBanner>
338 </Lib>
339 </ItemDefinitionGroup>
340 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
@@ -341,11 +341,11 @@
341 <Midl>
342 <TargetEnvironment>Itanium</TargetEnvironment>
343 </Midl>
344 <ClCompile>
345 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
346 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
347 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
348 <StringPooling>true</StringPooling>
349 <ExceptionHandling>
350 </ExceptionHandling>
351 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -371,11 +371,11 @@
371 <Midl>
372 <TargetEnvironment>X64</TargetEnvironment>
373 </Midl>
374 <ClCompile>
375 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
376 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
377 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
378 <StringPooling>true</StringPooling>
379 <ExceptionHandling>
380 </ExceptionHandling>
381 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -401,11 +401,11 @@
401 <Midl>
402 <TargetEnvironment>Itanium</TargetEnvironment>
403 </Midl>
404 <ClCompile>
405 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
406 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
407 <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
408 <StringPooling>true</StringPooling>
409 <ExceptionHandling>
410 </ExceptionHandling>
411 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -435,18 +435,10 @@
435 <ClCompile Include="..\..\..\gzclose.c" />
436 <ClCompile Include="..\..\..\gzlib.c" />
437 <ClCompile Include="..\..\..\gzread.c" />
438 <ClCompile Include="..\..\..\gzwrite.c" />
439 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
440 <ClCompile Include="..\..\..\inffast.c" />
441 <ClCompile Include="..\..\..\inflate.c" />
442 <ClCompile Include="..\..\..\inftrees.c" />
443 <ClCompile Include="..\..\minizip\ioapi.c" />
444 <ClCompile Include="..\..\..\trees.c" />
445
--- compat/zlib/contrib/vstudio/vc14/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc14/zlibvc.vcxproj
@@ -205,12 +205,12 @@
205205
<TargetEnvironment>Win32</TargetEnvironment>
206206
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
207207
</Midl>
208208
<ClCompile>
209209
<Optimization>Disabled</Optimization>
210
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
211
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
210
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
211
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
212212
<ExceptionHandling>
213213
</ExceptionHandling>
214214
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
215215
<BufferSecurityCheck>false</BufferSecurityCheck>
216216
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -227,11 +227,11 @@
227227
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
228228
<Culture>0x040c</Culture>
229229
</ResourceCompile>
230230
<Link>
231231
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
232
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
232
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
233233
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
234234
<SuppressStartupBanner>true</SuppressStartupBanner>
235235
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
236236
<GenerateDebugInformation>true</GenerateDebugInformation>
237237
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -241,14 +241,10 @@
241241
<RandomizedBaseAddress>false</RandomizedBaseAddress>
242242
<DataExecutionPrevention>
243243
</DataExecutionPrevention>
244244
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
245245
</Link>
246
- <PreBuildEvent>
247
- <Command>cd ..\..\masmx86
248
-bld_ml32.bat</Command>
249
- </PreBuildEvent>
250246
</ItemDefinitionGroup>
251247
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
252248
<Midl>
253249
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254250
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -256,11 +252,11 @@
256252
<TargetEnvironment>Win32</TargetEnvironment>
257253
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
258254
</Midl>
259255
<ClCompile>
260256
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
261
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
257
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
262258
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
263259
<StringPooling>true</StringPooling>
264260
<ExceptionHandling>
265261
</ExceptionHandling>
266262
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -304,12 +300,12 @@
304300
<TargetEnvironment>Win32</TargetEnvironment>
305301
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
306302
</Midl>
307303
<ClCompile>
308304
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
309
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
310
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
305
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
306
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
311307
<StringPooling>true</StringPooling>
312308
<ExceptionHandling>
313309
</ExceptionHandling>
314310
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
315311
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -328,11 +324,11 @@
328324
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
329325
<Culture>0x040c</Culture>
330326
</ResourceCompile>
331327
<Link>
332328
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
333
- <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
329
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
334330
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
335331
<SuppressStartupBanner>true</SuppressStartupBanner>
336332
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
337333
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
338334
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -343,14 +339,10 @@
343339
<DataExecutionPrevention>
344340
</DataExecutionPrevention>
345341
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
346342
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
347343
</Link>
348
- <PreBuildEvent>
349
- <Command>cd ..\..\masmx86
350
-bld_ml32.bat</Command>
351
- </PreBuildEvent>
352344
</ItemDefinitionGroup>
353345
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
354346
<Midl>
355347
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
356348
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -358,12 +350,12 @@
358350
<TargetEnvironment>X64</TargetEnvironment>
359351
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
360352
</Midl>
361353
<ClCompile>
362354
<Optimization>Disabled</Optimization>
363
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
364
- <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
355
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
356
+ <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
365357
<ExceptionHandling>
366358
</ExceptionHandling>
367359
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
368360
<BufferSecurityCheck>false</BufferSecurityCheck>
369361
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -379,11 +371,11 @@
379371
<ResourceCompile>
380372
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
381373
<Culture>0x040c</Culture>
382374
</ResourceCompile>
383375
<Link>
384
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
376
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
385377
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
386378
<SuppressStartupBanner>true</SuppressStartupBanner>
387379
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
388380
<GenerateDebugInformation>true</GenerateDebugInformation>
389381
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -391,14 +383,10 @@
391383
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
392384
<SubSystem>Windows</SubSystem>
393385
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
394386
<TargetMachine>MachineX64</TargetMachine>
395387
</Link>
396
- <PreBuildEvent>
397
- <Command>cd ..\..\contrib\masmx64
398
-bld_ml64.bat</Command>
399
- </PreBuildEvent>
400388
</ItemDefinitionGroup>
401389
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
402390
<Midl>
403391
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
404392
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -406,11 +394,11 @@
406394
<TargetEnvironment>Itanium</TargetEnvironment>
407395
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
408396
</Midl>
409397
<ClCompile>
410398
<Optimization>Disabled</Optimization>
411
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
399
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
412400
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
413401
<ExceptionHandling>
414402
</ExceptionHandling>
415403
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
416404
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -449,11 +437,11 @@
449437
<TargetEnvironment>X64</TargetEnvironment>
450438
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
451439
</Midl>
452440
<ClCompile>
453441
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
454
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
442
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
455443
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
456444
<StringPooling>true</StringPooling>
457445
<ExceptionHandling>
458446
</ExceptionHandling>
459447
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -494,11 +482,11 @@
494482
<TargetEnvironment>Itanium</TargetEnvironment>
495483
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
496484
</Midl>
497485
<ClCompile>
498486
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
499
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
487
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
500488
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
501489
<StringPooling>true</StringPooling>
502490
<ExceptionHandling>
503491
</ExceptionHandling>
504492
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -539,12 +527,12 @@
539527
<TargetEnvironment>X64</TargetEnvironment>
540528
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
541529
</Midl>
542530
<ClCompile>
543531
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
544
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
545
- <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
532
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
533
+ <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
546534
<StringPooling>true</StringPooling>
547535
<ExceptionHandling>
548536
</ExceptionHandling>
549537
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
550538
<BufferSecurityCheck>false</BufferSecurityCheck>
@@ -562,11 +550,11 @@
562550
<ResourceCompile>
563551
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
564552
<Culture>0x040c</Culture>
565553
</ResourceCompile>
566554
<Link>
567
- <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
555
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
568556
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
569557
<SuppressStartupBanner>true</SuppressStartupBanner>
570558
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
571559
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
572560
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -574,14 +562,10 @@
574562
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
575563
<SubSystem>Windows</SubSystem>
576564
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
577565
<TargetMachine>MachineX64</TargetMachine>
578566
</Link>
579
- <PreBuildEvent>
580
- <Command>cd ..\..\masmx64
581
-bld_ml64.bat</Command>
582
- </PreBuildEvent>
583567
</ItemDefinitionGroup>
584568
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
585569
<Midl>
586570
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
587571
<MkTypLibCompatible>true</MkTypLibCompatible>
@@ -589,11 +573,11 @@
589573
<TargetEnvironment>Itanium</TargetEnvironment>
590574
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
591575
</Midl>
592576
<ClCompile>
593577
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
594
- <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
578
+ <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
595579
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
596580
<StringPooling>true</StringPooling>
597581
<ExceptionHandling>
598582
</ExceptionHandling>
599583
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -634,18 +618,10 @@
634618
<ClCompile Include="..\..\..\gzclose.c" />
635619
<ClCompile Include="..\..\..\gzlib.c" />
636620
<ClCompile Include="..\..\..\gzread.c" />
637621
<ClCompile Include="..\..\..\gzwrite.c" />
638622
<ClCompile Include="..\..\..\infback.c" />
639
- <ClCompile Include="..\..\masmx64\inffas8664.c">
640
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
641
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
642
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
643
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
644
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
645
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
646
- </ClCompile>
647623
<ClCompile Include="..\..\..\inffast.c" />
648624
<ClCompile Include="..\..\..\inflate.c" />
649625
<ClCompile Include="..\..\..\inftrees.c" />
650626
<ClCompile Include="..\..\minizip\ioapi.c" />
651627
<ClCompile Include="..\..\minizip\iowin32.c" />
652628
--- compat/zlib/contrib/vstudio/vc14/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc14/zlibvc.vcxproj
@@ -205,12 +205,12 @@
205 <TargetEnvironment>Win32</TargetEnvironment>
206 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
207 </Midl>
208 <ClCompile>
209 <Optimization>Disabled</Optimization>
210 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
211 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
212 <ExceptionHandling>
213 </ExceptionHandling>
214 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
215 <BufferSecurityCheck>false</BufferSecurityCheck>
216 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -227,11 +227,11 @@
227 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
228 <Culture>0x040c</Culture>
229 </ResourceCompile>
230 <Link>
231 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
232 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
233 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
234 <SuppressStartupBanner>true</SuppressStartupBanner>
235 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
236 <GenerateDebugInformation>true</GenerateDebugInformation>
237 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -241,14 +241,10 @@
241 <RandomizedBaseAddress>false</RandomizedBaseAddress>
242 <DataExecutionPrevention>
243 </DataExecutionPrevention>
244 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
245 </Link>
246 <PreBuildEvent>
247 <Command>cd ..\..\masmx86
248 bld_ml32.bat</Command>
249 </PreBuildEvent>
250 </ItemDefinitionGroup>
251 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
252 <Midl>
253 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
254 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -256,11 +252,11 @@
256 <TargetEnvironment>Win32</TargetEnvironment>
257 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
258 </Midl>
259 <ClCompile>
260 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
261 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
262 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
263 <StringPooling>true</StringPooling>
264 <ExceptionHandling>
265 </ExceptionHandling>
266 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -304,12 +300,12 @@
304 <TargetEnvironment>Win32</TargetEnvironment>
305 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
306 </Midl>
307 <ClCompile>
308 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
309 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
310 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
311 <StringPooling>true</StringPooling>
312 <ExceptionHandling>
313 </ExceptionHandling>
314 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
315 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -328,11 +324,11 @@
328 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
329 <Culture>0x040c</Culture>
330 </ResourceCompile>
331 <Link>
332 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
333 <AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
334 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
335 <SuppressStartupBanner>true</SuppressStartupBanner>
336 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
337 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
338 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -343,14 +339,10 @@
343 <DataExecutionPrevention>
344 </DataExecutionPrevention>
345 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
346 <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
347 </Link>
348 <PreBuildEvent>
349 <Command>cd ..\..\masmx86
350 bld_ml32.bat</Command>
351 </PreBuildEvent>
352 </ItemDefinitionGroup>
353 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
354 <Midl>
355 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
356 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -358,12 +350,12 @@
358 <TargetEnvironment>X64</TargetEnvironment>
359 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
360 </Midl>
361 <ClCompile>
362 <Optimization>Disabled</Optimization>
363 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
364 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
365 <ExceptionHandling>
366 </ExceptionHandling>
367 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
368 <BufferSecurityCheck>false</BufferSecurityCheck>
369 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -379,11 +371,11 @@
379 <ResourceCompile>
380 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
381 <Culture>0x040c</Culture>
382 </ResourceCompile>
383 <Link>
384 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
385 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
386 <SuppressStartupBanner>true</SuppressStartupBanner>
387 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
388 <GenerateDebugInformation>true</GenerateDebugInformation>
389 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -391,14 +383,10 @@
391 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
392 <SubSystem>Windows</SubSystem>
393 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
394 <TargetMachine>MachineX64</TargetMachine>
395 </Link>
396 <PreBuildEvent>
397 <Command>cd ..\..\contrib\masmx64
398 bld_ml64.bat</Command>
399 </PreBuildEvent>
400 </ItemDefinitionGroup>
401 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
402 <Midl>
403 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
404 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -406,11 +394,11 @@
406 <TargetEnvironment>Itanium</TargetEnvironment>
407 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
408 </Midl>
409 <ClCompile>
410 <Optimization>Disabled</Optimization>
411 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
412 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
413 <ExceptionHandling>
414 </ExceptionHandling>
415 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
416 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -449,11 +437,11 @@
449 <TargetEnvironment>X64</TargetEnvironment>
450 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
451 </Midl>
452 <ClCompile>
453 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
454 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
455 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
456 <StringPooling>true</StringPooling>
457 <ExceptionHandling>
458 </ExceptionHandling>
459 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -494,11 +482,11 @@
494 <TargetEnvironment>Itanium</TargetEnvironment>
495 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
496 </Midl>
497 <ClCompile>
498 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
499 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
500 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
501 <StringPooling>true</StringPooling>
502 <ExceptionHandling>
503 </ExceptionHandling>
504 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -539,12 +527,12 @@
539 <TargetEnvironment>X64</TargetEnvironment>
540 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
541 </Midl>
542 <ClCompile>
543 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
544 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
545 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
546 <StringPooling>true</StringPooling>
547 <ExceptionHandling>
548 </ExceptionHandling>
549 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
550 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -562,11 +550,11 @@
562 <ResourceCompile>
563 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
564 <Culture>0x040c</Culture>
565 </ResourceCompile>
566 <Link>
567 <AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
568 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
569 <SuppressStartupBanner>true</SuppressStartupBanner>
570 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
571 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
572 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -574,14 +562,10 @@
574 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
575 <SubSystem>Windows</SubSystem>
576 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
577 <TargetMachine>MachineX64</TargetMachine>
578 </Link>
579 <PreBuildEvent>
580 <Command>cd ..\..\masmx64
581 bld_ml64.bat</Command>
582 </PreBuildEvent>
583 </ItemDefinitionGroup>
584 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
585 <Midl>
586 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
587 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -589,11 +573,11 @@
589 <TargetEnvironment>Itanium</TargetEnvironment>
590 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
591 </Midl>
592 <ClCompile>
593 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
594 <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
595 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
596 <StringPooling>true</StringPooling>
597 <ExceptionHandling>
598 </ExceptionHandling>
599 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -634,18 +618,10 @@
634 <ClCompile Include="..\..\..\gzclose.c" />
635 <ClCompile Include="..\..\..\gzlib.c" />
636 <ClCompile Include="..\..\..\gzread.c" />
637 <ClCompile Include="..\..\..\gzwrite.c" />
638 <ClCompile Include="..\..\..\infback.c" />
639 <ClCompile Include="..\..\masmx64\inffas8664.c">
640 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
641 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
642 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
643 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
644 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
645 <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
646 </ClCompile>
647 <ClCompile Include="..\..\..\inffast.c" />
648 <ClCompile Include="..\..\..\inflate.c" />
649 <ClCompile Include="..\..\..\inftrees.c" />
650 <ClCompile Include="..\..\minizip\ioapi.c" />
651 <ClCompile Include="..\..\minizip\iowin32.c" />
652
--- compat/zlib/contrib/vstudio/vc14/zlibvc.vcxproj
+++ compat/zlib/contrib/vstudio/vc14/zlibvc.vcxproj
@@ -205,12 +205,12 @@
205 <TargetEnvironment>Win32</TargetEnvironment>
206 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
207 </Midl>
208 <ClCompile>
209 <Optimization>Disabled</Optimization>
210 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
211 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
212 <ExceptionHandling>
213 </ExceptionHandling>
214 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
215 <BufferSecurityCheck>false</BufferSecurityCheck>
216 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -227,11 +227,11 @@
227 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
228 <Culture>0x040c</Culture>
229 </ResourceCompile>
230 <Link>
231 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
232 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
233 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
234 <SuppressStartupBanner>true</SuppressStartupBanner>
235 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
236 <GenerateDebugInformation>true</GenerateDebugInformation>
237 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -241,14 +241,10 @@
241 <RandomizedBaseAddress>false</RandomizedBaseAddress>
242 <DataExecutionPrevention>
243 </DataExecutionPrevention>
244 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
245 </Link>
 
 
 
 
246 </ItemDefinitionGroup>
247 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
248 <Midl>
249 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
250 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -256,11 +252,11 @@
252 <TargetEnvironment>Win32</TargetEnvironment>
253 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
254 </Midl>
255 <ClCompile>
256 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
257 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
258 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
259 <StringPooling>true</StringPooling>
260 <ExceptionHandling>
261 </ExceptionHandling>
262 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -304,12 +300,12 @@
300 <TargetEnvironment>Win32</TargetEnvironment>
301 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
302 </Midl>
303 <ClCompile>
304 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
305 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
306 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
307 <StringPooling>true</StringPooling>
308 <ExceptionHandling>
309 </ExceptionHandling>
310 <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
311 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -328,11 +324,11 @@
324 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
325 <Culture>0x040c</Culture>
326 </ResourceCompile>
327 <Link>
328 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
329 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
330 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
331 <SuppressStartupBanner>true</SuppressStartupBanner>
332 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
333 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
334 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -343,14 +339,10 @@
339 <DataExecutionPrevention>
340 </DataExecutionPrevention>
341 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
342 <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
343 </Link>
 
 
 
 
344 </ItemDefinitionGroup>
345 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
346 <Midl>
347 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
348 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -358,12 +350,12 @@
350 <TargetEnvironment>X64</TargetEnvironment>
351 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
352 </Midl>
353 <ClCompile>
354 <Optimization>Disabled</Optimization>
355 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
356 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
357 <ExceptionHandling>
358 </ExceptionHandling>
359 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
360 <BufferSecurityCheck>false</BufferSecurityCheck>
361 <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
@@ -379,11 +371,11 @@
371 <ResourceCompile>
372 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
373 <Culture>0x040c</Culture>
374 </ResourceCompile>
375 <Link>
376 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
377 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
378 <SuppressStartupBanner>true</SuppressStartupBanner>
379 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
380 <GenerateDebugInformation>true</GenerateDebugInformation>
381 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -391,14 +383,10 @@
383 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
384 <SubSystem>Windows</SubSystem>
385 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
386 <TargetMachine>MachineX64</TargetMachine>
387 </Link>
 
 
 
 
388 </ItemDefinitionGroup>
389 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
390 <Midl>
391 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
392 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -406,11 +394,11 @@
394 <TargetEnvironment>Itanium</TargetEnvironment>
395 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
396 </Midl>
397 <ClCompile>
398 <Optimization>Disabled</Optimization>
399 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
400 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
401 <ExceptionHandling>
402 </ExceptionHandling>
403 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
404 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -449,11 +437,11 @@
437 <TargetEnvironment>X64</TargetEnvironment>
438 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
439 </Midl>
440 <ClCompile>
441 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
442 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
443 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
444 <StringPooling>true</StringPooling>
445 <ExceptionHandling>
446 </ExceptionHandling>
447 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -494,11 +482,11 @@
482 <TargetEnvironment>Itanium</TargetEnvironment>
483 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
484 </Midl>
485 <ClCompile>
486 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
487 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
488 <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
489 <StringPooling>true</StringPooling>
490 <ExceptionHandling>
491 </ExceptionHandling>
492 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -539,12 +527,12 @@
527 <TargetEnvironment>X64</TargetEnvironment>
528 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
529 </Midl>
530 <ClCompile>
531 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
532 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
533 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
534 <StringPooling>true</StringPooling>
535 <ExceptionHandling>
536 </ExceptionHandling>
537 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
538 <BufferSecurityCheck>false</BufferSecurityCheck>
@@ -562,11 +550,11 @@
550 <ResourceCompile>
551 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
552 <Culture>0x040c</Culture>
553 </ResourceCompile>
554 <Link>
555 <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
556 <OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
557 <SuppressStartupBanner>true</SuppressStartupBanner>
558 <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
559 <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
560 <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
@@ -574,14 +562,10 @@
562 <MapFileName>$(OutDir)zlibwapi.map</MapFileName>
563 <SubSystem>Windows</SubSystem>
564 <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
565 <TargetMachine>MachineX64</TargetMachine>
566 </Link>
 
 
 
 
567 </ItemDefinitionGroup>
568 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
569 <Midl>
570 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
571 <MkTypLibCompatible>true</MkTypLibCompatible>
@@ -589,11 +573,11 @@
573 <TargetEnvironment>Itanium</TargetEnvironment>
574 <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
575 </Midl>
576 <ClCompile>
577 <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
578 <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
579 <PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
580 <StringPooling>true</StringPooling>
581 <ExceptionHandling>
582 </ExceptionHandling>
583 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -634,18 +618,10 @@
618 <ClCompile Include="..\..\..\gzclose.c" />
619 <ClCompile Include="..\..\..\gzlib.c" />
620 <ClCompile Include="..\..\..\gzread.c" />
621 <ClCompile Include="..\..\..\gzwrite.c" />
622 <ClCompile Include="..\..\..\infback.c" />
 
 
 
 
 
 
 
 
623 <ClCompile Include="..\..\..\inffast.c" />
624 <ClCompile Include="..\..\..\inflate.c" />
625 <ClCompile Include="..\..\..\inftrees.c" />
626 <ClCompile Include="..\..\minizip\ioapi.c" />
627 <ClCompile Include="..\..\minizip\iowin32.c" />
628
--- compat/zlib/contrib/vstudio/vc9/miniunz.vcproj
+++ compat/zlib/contrib/vstudio/vc9/miniunz.vcproj
@@ -540,11 +540,11 @@
540540
<References>
541541
</References>
542542
<Files>
543543
<Filter
544544
Name="Source Files"
545
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
545
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat"
546546
>
547547
<File
548548
RelativePath="..\..\minizip\miniunz.c"
549549
>
550550
</File>
551551
--- compat/zlib/contrib/vstudio/vc9/miniunz.vcproj
+++ compat/zlib/contrib/vstudio/vc9/miniunz.vcproj
@@ -540,11 +540,11 @@
540 <References>
541 </References>
542 <Files>
543 <Filter
544 Name="Source Files"
545 Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
546 >
547 <File
548 RelativePath="..\..\minizip\miniunz.c"
549 >
550 </File>
551
--- compat/zlib/contrib/vstudio/vc9/miniunz.vcproj
+++ compat/zlib/contrib/vstudio/vc9/miniunz.vcproj
@@ -540,11 +540,11 @@
540 <References>
541 </References>
542 <Files>
543 <Filter
544 Name="Source Files"
545 Filter="cpp;c;cxx;def;odl;idl;hpj;bat"
546 >
547 <File
548 RelativePath="..\..\minizip\miniunz.c"
549 >
550 </File>
551
--- compat/zlib/contrib/vstudio/vc9/minizip.vcproj
+++ compat/zlib/contrib/vstudio/vc9/minizip.vcproj
@@ -537,11 +537,11 @@
537537
<References>
538538
</References>
539539
<Files>
540540
<Filter
541541
Name="Source Files"
542
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
542
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat"
543543
>
544544
<File
545545
RelativePath="..\..\minizip\minizip.c"
546546
>
547547
</File>
548548
--- compat/zlib/contrib/vstudio/vc9/minizip.vcproj
+++ compat/zlib/contrib/vstudio/vc9/minizip.vcproj
@@ -537,11 +537,11 @@
537 <References>
538 </References>
539 <Files>
540 <Filter
541 Name="Source Files"
542 Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
543 >
544 <File
545 RelativePath="..\..\minizip\minizip.c"
546 >
547 </File>
548
--- compat/zlib/contrib/vstudio/vc9/minizip.vcproj
+++ compat/zlib/contrib/vstudio/vc9/minizip.vcproj
@@ -537,11 +537,11 @@
537 <References>
538 </References>
539 <Files>
540 <Filter
541 Name="Source Files"
542 Filter="cpp;c;cxx;def;odl;idl;hpj;bat"
543 >
544 <File
545 RelativePath="..\..\minizip\minizip.c"
546 >
547 </File>
548
--- compat/zlib/contrib/vstudio/vc9/testzlib.vcproj
+++ compat/zlib/contrib/vstudio/vc9/testzlib.vcproj
@@ -46,11 +46,11 @@
4646
/>
4747
<Tool
4848
Name="VCCLCompilerTool"
4949
Optimization="0"
5050
AdditionalIncludeDirectories="..\..\.."
51
- PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
51
+ PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
5252
MinimalRebuild="true"
5353
BasicRuntimeChecks="0"
5454
RuntimeLibrary="1"
5555
BufferSecurityCheck="false"
5656
UsePrecompiledHeader="0"
@@ -69,11 +69,10 @@
6969
<Tool
7070
Name="VCPreLinkEventTool"
7171
/>
7272
<Tool
7373
Name="VCLinkerTool"
74
- AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj"
7574
OutputFile="$(OutDir)/testzlib.exe"
7675
LinkIncremental="2"
7776
GenerateManifest="false"
7877
GenerateDebugInformation="true"
7978
ProgramDatabaseFile="$(OutDir)/testzlib.pdb"
@@ -126,11 +125,11 @@
126125
Name="VCMIDLTool"
127126
/>
128127
<Tool
129128
Name="VCCLCompilerTool"
130129
AdditionalIncludeDirectories="..\..\.."
131
- PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
130
+ PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
132131
BasicRuntimeChecks="0"
133132
RuntimeLibrary="3"
134133
BufferSecurityCheck="false"
135134
AssemblerListingLocation="$(IntDir)\"
136135
/>
@@ -143,11 +142,10 @@
143142
<Tool
144143
Name="VCPreLinkEventTool"
145144
/>
146145
<Tool
147146
Name="VCLinkerTool"
148
- AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj"
149147
GenerateManifest="false"
150148
/>
151149
<Tool
152150
Name="VCALinkTool"
153151
/>
@@ -515,11 +513,11 @@
515513
Name="VCCLCompilerTool"
516514
Optimization="2"
517515
InlineFunctionExpansion="1"
518516
OmitFramePointers="true"
519517
AdditionalIncludeDirectories="..\..\.."
520
- PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
518
+ PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
521519
StringPooling="true"
522520
BasicRuntimeChecks="0"
523521
RuntimeLibrary="0"
524522
BufferSecurityCheck="false"
525523
EnableFunctionLevelLinking="true"
@@ -538,11 +536,10 @@
538536
<Tool
539537
Name="VCPreLinkEventTool"
540538
/>
541539
<Tool
542540
Name="VCLinkerTool"
543
- AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj"
544541
OutputFile="$(OutDir)/testzlib.exe"
545542
LinkIncremental="1"
546543
GenerateManifest="false"
547544
GenerateDebugInformation="true"
548545
SubSystem="1"
@@ -598,11 +595,11 @@
598595
Name="VCMIDLTool"
599596
/>
600597
<Tool
601598
Name="VCCLCompilerTool"
602599
AdditionalIncludeDirectories="..\..\.."
603
- PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
600
+ PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
604601
BasicRuntimeChecks="0"
605602
RuntimeLibrary="0"
606603
BufferSecurityCheck="false"
607604
AssemblerListingLocation="$(IntDir)\"
608605
/>
@@ -615,11 +612,10 @@
615612
<Tool
616613
Name="VCPreLinkEventTool"
617614
/>
618615
<Tool
619616
Name="VCLinkerTool"
620
- AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj"
621617
GenerateManifest="false"
622618
/>
623619
<Tool
624620
Name="VCALinkTool"
625621
/>
@@ -731,11 +727,11 @@
731727
<References>
732728
</References>
733729
<Files>
734730
<Filter
735731
Name="Source Files"
736
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
732
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat"
737733
>
738734
<File
739735
RelativePath="..\..\..\adler32.c"
740736
>
741737
</File>
@@ -754,62 +750,10 @@
754750
<File
755751
RelativePath="..\..\..\infback.c"
756752
>
757753
</File>
758754
<File
759
- RelativePath="..\..\masmx64\inffas8664.c"
760
- >
761
- <FileConfiguration
762
- Name="Debug|Win32"
763
- ExcludedFromBuild="true"
764
- >
765
- <Tool
766
- Name="VCCLCompilerTool"
767
- />
768
- </FileConfiguration>
769
- <FileConfiguration
770
- Name="Debug|Itanium"
771
- ExcludedFromBuild="true"
772
- >
773
- <Tool
774
- Name="VCCLCompilerTool"
775
- />
776
- </FileConfiguration>
777
- <FileConfiguration
778
- Name="ReleaseWithoutAsm|Win32"
779
- ExcludedFromBuild="true"
780
- >
781
- <Tool
782
- Name="VCCLCompilerTool"
783
- />
784
- </FileConfiguration>
785
- <FileConfiguration
786
- Name="ReleaseWithoutAsm|Itanium"
787
- ExcludedFromBuild="true"
788
- >
789
- <Tool
790
- Name="VCCLCompilerTool"
791
- />
792
- </FileConfiguration>
793
- <FileConfiguration
794
- Name="Release|Win32"
795
- ExcludedFromBuild="true"
796
- >
797
- <Tool
798
- Name="VCCLCompilerTool"
799
- />
800
- </FileConfiguration>
801
- <FileConfiguration
802
- Name="Release|Itanium"
803
- ExcludedFromBuild="true"
804
- >
805
- <Tool
806
- Name="VCCLCompilerTool"
807
- />
808
- </FileConfiguration>
809
- </File>
810
- <File
811755
RelativePath="..\..\..\inffast.c"
812756
>
813757
</File>
814758
<File
815759
RelativePath="..\..\..\inflate.c"
816760
--- compat/zlib/contrib/vstudio/vc9/testzlib.vcproj
+++ compat/zlib/contrib/vstudio/vc9/testzlib.vcproj
@@ -46,11 +46,11 @@
46 />
47 <Tool
48 Name="VCCLCompilerTool"
49 Optimization="0"
50 AdditionalIncludeDirectories="..\..\.."
51 PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
52 MinimalRebuild="true"
53 BasicRuntimeChecks="0"
54 RuntimeLibrary="1"
55 BufferSecurityCheck="false"
56 UsePrecompiledHeader="0"
@@ -69,11 +69,10 @@
69 <Tool
70 Name="VCPreLinkEventTool"
71 />
72 <Tool
73 Name="VCLinkerTool"
74 AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj"
75 OutputFile="$(OutDir)/testzlib.exe"
76 LinkIncremental="2"
77 GenerateManifest="false"
78 GenerateDebugInformation="true"
79 ProgramDatabaseFile="$(OutDir)/testzlib.pdb"
@@ -126,11 +125,11 @@
126 Name="VCMIDLTool"
127 />
128 <Tool
129 Name="VCCLCompilerTool"
130 AdditionalIncludeDirectories="..\..\.."
131 PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
132 BasicRuntimeChecks="0"
133 RuntimeLibrary="3"
134 BufferSecurityCheck="false"
135 AssemblerListingLocation="$(IntDir)\"
136 />
@@ -143,11 +142,10 @@
143 <Tool
144 Name="VCPreLinkEventTool"
145 />
146 <Tool
147 Name="VCLinkerTool"
148 AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj"
149 GenerateManifest="false"
150 />
151 <Tool
152 Name="VCALinkTool"
153 />
@@ -515,11 +513,11 @@
515 Name="VCCLCompilerTool"
516 Optimization="2"
517 InlineFunctionExpansion="1"
518 OmitFramePointers="true"
519 AdditionalIncludeDirectories="..\..\.."
520 PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
521 StringPooling="true"
522 BasicRuntimeChecks="0"
523 RuntimeLibrary="0"
524 BufferSecurityCheck="false"
525 EnableFunctionLevelLinking="true"
@@ -538,11 +536,10 @@
538 <Tool
539 Name="VCPreLinkEventTool"
540 />
541 <Tool
542 Name="VCLinkerTool"
543 AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj"
544 OutputFile="$(OutDir)/testzlib.exe"
545 LinkIncremental="1"
546 GenerateManifest="false"
547 GenerateDebugInformation="true"
548 SubSystem="1"
@@ -598,11 +595,11 @@
598 Name="VCMIDLTool"
599 />
600 <Tool
601 Name="VCCLCompilerTool"
602 AdditionalIncludeDirectories="..\..\.."
603 PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
604 BasicRuntimeChecks="0"
605 RuntimeLibrary="0"
606 BufferSecurityCheck="false"
607 AssemblerListingLocation="$(IntDir)\"
608 />
@@ -615,11 +612,10 @@
615 <Tool
616 Name="VCPreLinkEventTool"
617 />
618 <Tool
619 Name="VCLinkerTool"
620 AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj"
621 GenerateManifest="false"
622 />
623 <Tool
624 Name="VCALinkTool"
625 />
@@ -731,11 +727,11 @@
731 <References>
732 </References>
733 <Files>
734 <Filter
735 Name="Source Files"
736 Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
737 >
738 <File
739 RelativePath="..\..\..\adler32.c"
740 >
741 </File>
@@ -754,62 +750,10 @@
754 <File
755 RelativePath="..\..\..\infback.c"
756 >
757 </File>
758 <File
759 RelativePath="..\..\masmx64\inffas8664.c"
760 >
761 <FileConfiguration
762 Name="Debug|Win32"
763 ExcludedFromBuild="true"
764 >
765 <Tool
766 Name="VCCLCompilerTool"
767 />
768 </FileConfiguration>
769 <FileConfiguration
770 Name="Debug|Itanium"
771 ExcludedFromBuild="true"
772 >
773 <Tool
774 Name="VCCLCompilerTool"
775 />
776 </FileConfiguration>
777 <FileConfiguration
778 Name="ReleaseWithoutAsm|Win32"
779 ExcludedFromBuild="true"
780 >
781 <Tool
782 Name="VCCLCompilerTool"
783 />
784 </FileConfiguration>
785 <FileConfiguration
786 Name="ReleaseWithoutAsm|Itanium"
787 ExcludedFromBuild="true"
788 >
789 <Tool
790 Name="VCCLCompilerTool"
791 />
792 </FileConfiguration>
793 <FileConfiguration
794 Name="Release|Win32"
795 ExcludedFromBuild="true"
796 >
797 <Tool
798 Name="VCCLCompilerTool"
799 />
800 </FileConfiguration>
801 <FileConfiguration
802 Name="Release|Itanium"
803 ExcludedFromBuild="true"
804 >
805 <Tool
806 Name="VCCLCompilerTool"
807 />
808 </FileConfiguration>
809 </File>
810 <File
811 RelativePath="..\..\..\inffast.c"
812 >
813 </File>
814 <File
815 RelativePath="..\..\..\inflate.c"
816
--- compat/zlib/contrib/vstudio/vc9/testzlib.vcproj
+++ compat/zlib/contrib/vstudio/vc9/testzlib.vcproj
@@ -46,11 +46,11 @@
46 />
47 <Tool
48 Name="VCCLCompilerTool"
49 Optimization="0"
50 AdditionalIncludeDirectories="..\..\.."
51 PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
52 MinimalRebuild="true"
53 BasicRuntimeChecks="0"
54 RuntimeLibrary="1"
55 BufferSecurityCheck="false"
56 UsePrecompiledHeader="0"
@@ -69,11 +69,10 @@
69 <Tool
70 Name="VCPreLinkEventTool"
71 />
72 <Tool
73 Name="VCLinkerTool"
 
74 OutputFile="$(OutDir)/testzlib.exe"
75 LinkIncremental="2"
76 GenerateManifest="false"
77 GenerateDebugInformation="true"
78 ProgramDatabaseFile="$(OutDir)/testzlib.pdb"
@@ -126,11 +125,11 @@
125 Name="VCMIDLTool"
126 />
127 <Tool
128 Name="VCCLCompilerTool"
129 AdditionalIncludeDirectories="..\..\.."
130 PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
131 BasicRuntimeChecks="0"
132 RuntimeLibrary="3"
133 BufferSecurityCheck="false"
134 AssemblerListingLocation="$(IntDir)\"
135 />
@@ -143,11 +142,10 @@
142 <Tool
143 Name="VCPreLinkEventTool"
144 />
145 <Tool
146 Name="VCLinkerTool"
 
147 GenerateManifest="false"
148 />
149 <Tool
150 Name="VCALinkTool"
151 />
@@ -515,11 +513,11 @@
513 Name="VCCLCompilerTool"
514 Optimization="2"
515 InlineFunctionExpansion="1"
516 OmitFramePointers="true"
517 AdditionalIncludeDirectories="..\..\.."
518 PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
519 StringPooling="true"
520 BasicRuntimeChecks="0"
521 RuntimeLibrary="0"
522 BufferSecurityCheck="false"
523 EnableFunctionLevelLinking="true"
@@ -538,11 +536,10 @@
536 <Tool
537 Name="VCPreLinkEventTool"
538 />
539 <Tool
540 Name="VCLinkerTool"
 
541 OutputFile="$(OutDir)/testzlib.exe"
542 LinkIncremental="1"
543 GenerateManifest="false"
544 GenerateDebugInformation="true"
545 SubSystem="1"
@@ -598,11 +595,11 @@
595 Name="VCMIDLTool"
596 />
597 <Tool
598 Name="VCCLCompilerTool"
599 AdditionalIncludeDirectories="..\..\.."
600 PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
601 BasicRuntimeChecks="0"
602 RuntimeLibrary="0"
603 BufferSecurityCheck="false"
604 AssemblerListingLocation="$(IntDir)\"
605 />
@@ -615,11 +612,10 @@
612 <Tool
613 Name="VCPreLinkEventTool"
614 />
615 <Tool
616 Name="VCLinkerTool"
 
617 GenerateManifest="false"
618 />
619 <Tool
620 Name="VCALinkTool"
621 />
@@ -731,11 +727,11 @@
727 <References>
728 </References>
729 <Files>
730 <Filter
731 Name="Source Files"
732 Filter="cpp;c;cxx;def;odl;idl;hpj;bat"
733 >
734 <File
735 RelativePath="..\..\..\adler32.c"
736 >
737 </File>
@@ -754,62 +750,10 @@
750 <File
751 RelativePath="..\..\..\infback.c"
752 >
753 </File>
754 <File
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
755 RelativePath="..\..\..\inffast.c"
756 >
757 </File>
758 <File
759 RelativePath="..\..\..\inflate.c"
760
--- compat/zlib/contrib/vstudio/vc9/testzlibdll.vcproj
+++ compat/zlib/contrib/vstudio/vc9/testzlibdll.vcproj
@@ -540,11 +540,11 @@
540540
<References>
541541
</References>
542542
<Files>
543543
<Filter
544544
Name="Source Files"
545
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
545
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat"
546546
>
547547
<File
548548
RelativePath="..\..\testzlib\testzlib.c"
549549
>
550550
</File>
551551
--- compat/zlib/contrib/vstudio/vc9/testzlibdll.vcproj
+++ compat/zlib/contrib/vstudio/vc9/testzlibdll.vcproj
@@ -540,11 +540,11 @@
540 <References>
541 </References>
542 <Files>
543 <Filter
544 Name="Source Files"
545 Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
546 >
547 <File
548 RelativePath="..\..\testzlib\testzlib.c"
549 >
550 </File>
551
--- compat/zlib/contrib/vstudio/vc9/testzlibdll.vcproj
+++ compat/zlib/contrib/vstudio/vc9/testzlibdll.vcproj
@@ -540,11 +540,11 @@
540 <References>
541 </References>
542 <Files>
543 <Filter
544 Name="Source Files"
545 Filter="cpp;c;cxx;def;odl;idl;hpj;bat"
546 >
547 <File
548 RelativePath="..\..\testzlib\testzlib.c"
549 >
550 </File>
551
--- compat/zlib/contrib/vstudio/vc9/zlib.rc
+++ compat/zlib/contrib/vstudio/vc9/zlib.rc
@@ -1,11 +1,11 @@
11
#include <windows.h>
22
33
#define IDR_VERSION1 1
44
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5
- FILEVERSION 1, 2, 12, 0
6
- PRODUCTVERSION 1, 2, 12, 0
5
+ FILEVERSION 1, 2, 13, 0
6
+ PRODUCTVERSION 1, 2, 13, 0
77
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
88
FILEFLAGS 0
99
FILEOS VOS_DOS_WINDOWS32
1010
FILETYPE VFT_DLL
1111
FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
1515
BLOCK "040904E4"
1616
//language ID = U.S. English, char set = Windows, Multilingual
1717
1818
BEGIN
1919
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20
- VALUE "FileVersion", "1.2.12\0"
20
+ VALUE "FileVersion", "1.2.13\0"
2121
VALUE "InternalName", "zlib\0"
2222
VALUE "OriginalFilename", "zlibwapi.dll\0"
2323
VALUE "ProductName", "ZLib.DLL\0"
2424
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
2525
VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
2626
--- compat/zlib/contrib/vstudio/vc9/zlib.rc
+++ compat/zlib/contrib/vstudio/vc9/zlib.rc
@@ -1,11 +1,11 @@
1 #include <windows.h>
2
3 #define IDR_VERSION1 1
4 IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1, 2, 12, 0
6 PRODUCTVERSION 1, 2, 12, 0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 VALUE "FileVersion", "1.2.12\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlibwapi.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
26
--- compat/zlib/contrib/vstudio/vc9/zlib.rc
+++ compat/zlib/contrib/vstudio/vc9/zlib.rc
@@ -1,11 +1,11 @@
1 #include <windows.h>
2
3 #define IDR_VERSION1 1
4 IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
5 FILEVERSION 1, 2, 13, 0
6 PRODUCTVERSION 1, 2, 13, 0
7 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
8 FILEFLAGS 0
9 FILEOS VOS_DOS_WINDOWS32
10 FILETYPE VFT_DLL
11 FILESUBTYPE 0 // not used
@@ -15,11 +15,11 @@
15 BLOCK "040904E4"
16 //language ID = U.S. English, char set = Windows, Multilingual
17
18 BEGIN
19 VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
20 VALUE "FileVersion", "1.2.13\0"
21 VALUE "InternalName", "zlib\0"
22 VALUE "OriginalFilename", "zlibwapi.dll\0"
23 VALUE "ProductName", "ZLib.DLL\0"
24 VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
25 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
26
--- compat/zlib/contrib/vstudio/vc9/zlibstat.vcproj
+++ compat/zlib/contrib/vstudio/vc9/zlibstat.vcproj
@@ -45,11 +45,11 @@
4545
Name="VCMIDLTool"
4646
/>
4747
<Tool
4848
Name="VCCLCompilerTool"
4949
Optimization="0"
50
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
50
+ AdditionalIncludeDirectories="..\..\.."
5151
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
5252
ExceptionHandling="0"
5353
RuntimeLibrary="1"
5454
BufferSecurityCheck="false"
5555
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
@@ -119,11 +119,11 @@
119119
TargetEnvironment="3"
120120
/>
121121
<Tool
122122
Name="VCCLCompilerTool"
123123
Optimization="0"
124
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
124
+ AdditionalIncludeDirectories="..\..\.."
125125
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
126126
ExceptionHandling="0"
127127
RuntimeLibrary="3"
128128
BufferSecurityCheck="false"
129129
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
@@ -193,11 +193,11 @@
193193
TargetEnvironment="2"
194194
/>
195195
<Tool
196196
Name="VCCLCompilerTool"
197197
Optimization="0"
198
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
198
+ AdditionalIncludeDirectories="..\..\.."
199199
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
200200
ExceptionHandling="0"
201201
RuntimeLibrary="3"
202202
BufferSecurityCheck="false"
203203
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
@@ -266,12 +266,12 @@
266266
Name="VCMIDLTool"
267267
/>
268268
<Tool
269269
Name="VCCLCompilerTool"
270270
InlineFunctionExpansion="1"
271
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
272
- PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF"
271
+ AdditionalIncludeDirectories="..\..\.."
272
+ PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
273273
StringPooling="true"
274274
ExceptionHandling="0"
275275
RuntimeLibrary="0"
276276
BufferSecurityCheck="false"
277277
EnableFunctionLevelLinking="true"
@@ -293,11 +293,10 @@
293293
Name="VCPreLinkEventTool"
294294
/>
295295
<Tool
296296
Name="VCLibrarianTool"
297297
AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"
298
- AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj "
299298
OutputFile="$(OutDir)\zlibstat.lib"
300299
SuppressStartupBanner="true"
301300
/>
302301
<Tool
303302
Name="VCALinkTool"
@@ -341,12 +340,12 @@
341340
TargetEnvironment="3"
342341
/>
343342
<Tool
344343
Name="VCCLCompilerTool"
345344
InlineFunctionExpansion="1"
346
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
347
- PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64"
345
+ AdditionalIncludeDirectories="..\..\.."
346
+ PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
348347
StringPooling="true"
349348
ExceptionHandling="0"
350349
RuntimeLibrary="2"
351350
BufferSecurityCheck="false"
352351
EnableFunctionLevelLinking="true"
@@ -368,11 +367,10 @@
368367
Name="VCPreLinkEventTool"
369368
/>
370369
<Tool
371370
Name="VCLibrarianTool"
372371
AdditionalOptions="/MACHINE:AMD64 /NODEFAULTLIB"
373
- AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "
374372
OutputFile="$(OutDir)\zlibstat.lib"
375373
SuppressStartupBanner="true"
376374
/>
377375
<Tool
378376
Name="VCALinkTool"
@@ -416,11 +414,11 @@
416414
TargetEnvironment="2"
417415
/>
418416
<Tool
419417
Name="VCCLCompilerTool"
420418
InlineFunctionExpansion="1"
421
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
419
+ AdditionalIncludeDirectories="..\..\.."
422420
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
423421
StringPooling="true"
424422
ExceptionHandling="0"
425423
RuntimeLibrary="2"
426424
BufferSecurityCheck="false"
@@ -489,11 +487,11 @@
489487
Name="VCMIDLTool"
490488
/>
491489
<Tool
492490
Name="VCCLCompilerTool"
493491
InlineFunctionExpansion="1"
494
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
492
+ AdditionalIncludeDirectories="..\..\.."
495493
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
496494
StringPooling="true"
497495
ExceptionHandling="0"
498496
RuntimeLibrary="0"
499497
BufferSecurityCheck="false"
@@ -563,11 +561,11 @@
563561
TargetEnvironment="3"
564562
/>
565563
<Tool
566564
Name="VCCLCompilerTool"
567565
InlineFunctionExpansion="1"
568
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
566
+ AdditionalIncludeDirectories="..\..\.."
569567
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
570568
StringPooling="true"
571569
ExceptionHandling="0"
572570
RuntimeLibrary="2"
573571
BufferSecurityCheck="false"
@@ -637,11 +635,11 @@
637635
TargetEnvironment="2"
638636
/>
639637
<Tool
640638
Name="VCCLCompilerTool"
641639
InlineFunctionExpansion="1"
642
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
640
+ AdditionalIncludeDirectories="..\..\.."
643641
PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
644642
StringPooling="true"
645643
ExceptionHandling="0"
646644
RuntimeLibrary="2"
647645
BufferSecurityCheck="false"
@@ -731,62 +729,10 @@
731729
<File
732730
RelativePath="..\..\..\infback.c"
733731
>
734732
</File>
735733
<File
736
- RelativePath="..\..\masmx64\inffas8664.c"
737
- >
738
- <FileConfiguration
739
- Name="Debug|Win32"
740
- ExcludedFromBuild="true"
741
- >
742
- <Tool
743
- Name="VCCLCompilerTool"
744
- />
745
- </FileConfiguration>
746
- <FileConfiguration
747
- Name="Debug|Itanium"
748
- ExcludedFromBuild="true"
749
- >
750
- <Tool
751
- Name="VCCLCompilerTool"
752
- />
753
- </FileConfiguration>
754
- <FileConfiguration
755
- Name="Release|Win32"
756
- ExcludedFromBuild="true"
757
- >
758
- <Tool
759
- Name="VCCLCompilerTool"
760
- />
761
- </FileConfiguration>
762
- <FileConfiguration
763
- Name="Release|Itanium"
764
- ExcludedFromBuild="true"
765
- >
766
- <Tool
767
- Name="VCCLCompilerTool"
768
- />
769
- </FileConfiguration>
770
- <FileConfiguration
771
- Name="ReleaseWithoutAsm|Win32"
772
- ExcludedFromBuild="true"
773
- >
774
- <Tool
775
- Name="VCCLCompilerTool"
776
- />
777
- </FileConfiguration>
778
- <FileConfiguration
779
- Name="ReleaseWithoutAsm|Itanium"
780
- ExcludedFromBuild="true"
781
- >
782
- <Tool
783
- Name="VCCLCompilerTool"
784
- />
785
- </FileConfiguration>
786
- </File>
787
- <File
788734
RelativePath="..\..\..\inffast.c"
789735
>
790736
</File>
791737
<File
792738
RelativePath="..\..\..\inflate.c"
793739
--- compat/zlib/contrib/vstudio/vc9/zlibstat.vcproj
+++ compat/zlib/contrib/vstudio/vc9/zlibstat.vcproj
@@ -45,11 +45,11 @@
45 Name="VCMIDLTool"
46 />
47 <Tool
48 Name="VCCLCompilerTool"
49 Optimization="0"
50 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
51 PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
52 ExceptionHandling="0"
53 RuntimeLibrary="1"
54 BufferSecurityCheck="false"
55 PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
@@ -119,11 +119,11 @@
119 TargetEnvironment="3"
120 />
121 <Tool
122 Name="VCCLCompilerTool"
123 Optimization="0"
124 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
125 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
126 ExceptionHandling="0"
127 RuntimeLibrary="3"
128 BufferSecurityCheck="false"
129 PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
@@ -193,11 +193,11 @@
193 TargetEnvironment="2"
194 />
195 <Tool
196 Name="VCCLCompilerTool"
197 Optimization="0"
198 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
199 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
200 ExceptionHandling="0"
201 RuntimeLibrary="3"
202 BufferSecurityCheck="false"
203 PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
@@ -266,12 +266,12 @@
266 Name="VCMIDLTool"
267 />
268 <Tool
269 Name="VCCLCompilerTool"
270 InlineFunctionExpansion="1"
271 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
272 PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF"
273 StringPooling="true"
274 ExceptionHandling="0"
275 RuntimeLibrary="0"
276 BufferSecurityCheck="false"
277 EnableFunctionLevelLinking="true"
@@ -293,11 +293,10 @@
293 Name="VCPreLinkEventTool"
294 />
295 <Tool
296 Name="VCLibrarianTool"
297 AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"
298 AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj "
299 OutputFile="$(OutDir)\zlibstat.lib"
300 SuppressStartupBanner="true"
301 />
302 <Tool
303 Name="VCALinkTool"
@@ -341,12 +340,12 @@
341 TargetEnvironment="3"
342 />
343 <Tool
344 Name="VCCLCompilerTool"
345 InlineFunctionExpansion="1"
346 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
347 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64"
348 StringPooling="true"
349 ExceptionHandling="0"
350 RuntimeLibrary="2"
351 BufferSecurityCheck="false"
352 EnableFunctionLevelLinking="true"
@@ -368,11 +367,10 @@
368 Name="VCPreLinkEventTool"
369 />
370 <Tool
371 Name="VCLibrarianTool"
372 AdditionalOptions="/MACHINE:AMD64 /NODEFAULTLIB"
373 AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "
374 OutputFile="$(OutDir)\zlibstat.lib"
375 SuppressStartupBanner="true"
376 />
377 <Tool
378 Name="VCALinkTool"
@@ -416,11 +414,11 @@
416 TargetEnvironment="2"
417 />
418 <Tool
419 Name="VCCLCompilerTool"
420 InlineFunctionExpansion="1"
421 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
422 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
423 StringPooling="true"
424 ExceptionHandling="0"
425 RuntimeLibrary="2"
426 BufferSecurityCheck="false"
@@ -489,11 +487,11 @@
489 Name="VCMIDLTool"
490 />
491 <Tool
492 Name="VCCLCompilerTool"
493 InlineFunctionExpansion="1"
494 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
495 PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
496 StringPooling="true"
497 ExceptionHandling="0"
498 RuntimeLibrary="0"
499 BufferSecurityCheck="false"
@@ -563,11 +561,11 @@
563 TargetEnvironment="3"
564 />
565 <Tool
566 Name="VCCLCompilerTool"
567 InlineFunctionExpansion="1"
568 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
569 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
570 StringPooling="true"
571 ExceptionHandling="0"
572 RuntimeLibrary="2"
573 BufferSecurityCheck="false"
@@ -637,11 +635,11 @@
637 TargetEnvironment="2"
638 />
639 <Tool
640 Name="VCCLCompilerTool"
641 InlineFunctionExpansion="1"
642 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
643 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
644 StringPooling="true"
645 ExceptionHandling="0"
646 RuntimeLibrary="2"
647 BufferSecurityCheck="false"
@@ -731,62 +729,10 @@
731 <File
732 RelativePath="..\..\..\infback.c"
733 >
734 </File>
735 <File
736 RelativePath="..\..\masmx64\inffas8664.c"
737 >
738 <FileConfiguration
739 Name="Debug|Win32"
740 ExcludedFromBuild="true"
741 >
742 <Tool
743 Name="VCCLCompilerTool"
744 />
745 </FileConfiguration>
746 <FileConfiguration
747 Name="Debug|Itanium"
748 ExcludedFromBuild="true"
749 >
750 <Tool
751 Name="VCCLCompilerTool"
752 />
753 </FileConfiguration>
754 <FileConfiguration
755 Name="Release|Win32"
756 ExcludedFromBuild="true"
757 >
758 <Tool
759 Name="VCCLCompilerTool"
760 />
761 </FileConfiguration>
762 <FileConfiguration
763 Name="Release|Itanium"
764 ExcludedFromBuild="true"
765 >
766 <Tool
767 Name="VCCLCompilerTool"
768 />
769 </FileConfiguration>
770 <FileConfiguration
771 Name="ReleaseWithoutAsm|Win32"
772 ExcludedFromBuild="true"
773 >
774 <Tool
775 Name="VCCLCompilerTool"
776 />
777 </FileConfiguration>
778 <FileConfiguration
779 Name="ReleaseWithoutAsm|Itanium"
780 ExcludedFromBuild="true"
781 >
782 <Tool
783 Name="VCCLCompilerTool"
784 />
785 </FileConfiguration>
786 </File>
787 <File
788 RelativePath="..\..\..\inffast.c"
789 >
790 </File>
791 <File
792 RelativePath="..\..\..\inflate.c"
793
--- compat/zlib/contrib/vstudio/vc9/zlibstat.vcproj
+++ compat/zlib/contrib/vstudio/vc9/zlibstat.vcproj
@@ -45,11 +45,11 @@
45 Name="VCMIDLTool"
46 />
47 <Tool
48 Name="VCCLCompilerTool"
49 Optimization="0"
50 AdditionalIncludeDirectories="..\..\.."
51 PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
52 ExceptionHandling="0"
53 RuntimeLibrary="1"
54 BufferSecurityCheck="false"
55 PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
@@ -119,11 +119,11 @@
119 TargetEnvironment="3"
120 />
121 <Tool
122 Name="VCCLCompilerTool"
123 Optimization="0"
124 AdditionalIncludeDirectories="..\..\.."
125 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
126 ExceptionHandling="0"
127 RuntimeLibrary="3"
128 BufferSecurityCheck="false"
129 PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
@@ -193,11 +193,11 @@
193 TargetEnvironment="2"
194 />
195 <Tool
196 Name="VCCLCompilerTool"
197 Optimization="0"
198 AdditionalIncludeDirectories="..\..\.."
199 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
200 ExceptionHandling="0"
201 RuntimeLibrary="3"
202 BufferSecurityCheck="false"
203 PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
@@ -266,12 +266,12 @@
266 Name="VCMIDLTool"
267 />
268 <Tool
269 Name="VCCLCompilerTool"
270 InlineFunctionExpansion="1"
271 AdditionalIncludeDirectories="..\..\.."
272 PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
273 StringPooling="true"
274 ExceptionHandling="0"
275 RuntimeLibrary="0"
276 BufferSecurityCheck="false"
277 EnableFunctionLevelLinking="true"
@@ -293,11 +293,10 @@
293 Name="VCPreLinkEventTool"
294 />
295 <Tool
296 Name="VCLibrarianTool"
297 AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"
 
298 OutputFile="$(OutDir)\zlibstat.lib"
299 SuppressStartupBanner="true"
300 />
301 <Tool
302 Name="VCALinkTool"
@@ -341,12 +340,12 @@
340 TargetEnvironment="3"
341 />
342 <Tool
343 Name="VCCLCompilerTool"
344 InlineFunctionExpansion="1"
345 AdditionalIncludeDirectories="..\..\.."
346 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
347 StringPooling="true"
348 ExceptionHandling="0"
349 RuntimeLibrary="2"
350 BufferSecurityCheck="false"
351 EnableFunctionLevelLinking="true"
@@ -368,11 +367,10 @@
367 Name="VCPreLinkEventTool"
368 />
369 <Tool
370 Name="VCLibrarianTool"
371 AdditionalOptions="/MACHINE:AMD64 /NODEFAULTLIB"
 
372 OutputFile="$(OutDir)\zlibstat.lib"
373 SuppressStartupBanner="true"
374 />
375 <Tool
376 Name="VCALinkTool"
@@ -416,11 +414,11 @@
414 TargetEnvironment="2"
415 />
416 <Tool
417 Name="VCCLCompilerTool"
418 InlineFunctionExpansion="1"
419 AdditionalIncludeDirectories="..\..\.."
420 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
421 StringPooling="true"
422 ExceptionHandling="0"
423 RuntimeLibrary="2"
424 BufferSecurityCheck="false"
@@ -489,11 +487,11 @@
487 Name="VCMIDLTool"
488 />
489 <Tool
490 Name="VCCLCompilerTool"
491 InlineFunctionExpansion="1"
492 AdditionalIncludeDirectories="..\..\.."
493 PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
494 StringPooling="true"
495 ExceptionHandling="0"
496 RuntimeLibrary="0"
497 BufferSecurityCheck="false"
@@ -563,11 +561,11 @@
561 TargetEnvironment="3"
562 />
563 <Tool
564 Name="VCCLCompilerTool"
565 InlineFunctionExpansion="1"
566 AdditionalIncludeDirectories="..\..\.."
567 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
568 StringPooling="true"
569 ExceptionHandling="0"
570 RuntimeLibrary="2"
571 BufferSecurityCheck="false"
@@ -637,11 +635,11 @@
635 TargetEnvironment="2"
636 />
637 <Tool
638 Name="VCCLCompilerTool"
639 InlineFunctionExpansion="1"
640 AdditionalIncludeDirectories="..\..\.."
641 PreprocessorDefinitions="ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64"
642 StringPooling="true"
643 ExceptionHandling="0"
644 RuntimeLibrary="2"
645 BufferSecurityCheck="false"
@@ -731,62 +729,10 @@
729 <File
730 RelativePath="..\..\..\infback.c"
731 >
732 </File>
733 <File
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
734 RelativePath="..\..\..\inffast.c"
735 >
736 </File>
737 <File
738 RelativePath="..\..\..\inflate.c"
739
--- compat/zlib/contrib/vstudio/vc9/zlibvc.vcproj
+++ compat/zlib/contrib/vstudio/vc9/zlibvc.vcproj
@@ -51,12 +51,12 @@
5151
TypeLibraryName="$(OutDir)/zlibvc.tlb"
5252
/>
5353
<Tool
5454
Name="VCCLCompilerTool"
5555
Optimization="0"
56
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
57
- PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF"
56
+ AdditionalIncludeDirectories="..\..\.."
57
+ PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI"
5858
ExceptionHandling="0"
5959
RuntimeLibrary="1"
6060
BufferSecurityCheck="false"
6161
PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
6262
AssemblerListingLocation="$(IntDir)\"
@@ -79,11 +79,10 @@
7979
Name="VCPreLinkEventTool"
8080
/>
8181
<Tool
8282
Name="VCLinkerTool"
8383
AdditionalOptions="/MACHINE:I386"
84
- AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj"
8584
OutputFile="$(OutDir)\zlibwapi.dll"
8685
LinkIncremental="2"
8786
SuppressStartupBanner="true"
8887
GenerateManifest="false"
8988
ModuleDefinitionFile=".\zlibvc.def"
@@ -148,12 +147,12 @@
148147
TypeLibraryName="$(OutDir)/zlibvc.tlb"
149148
/>
150149
<Tool
151150
Name="VCCLCompilerTool"
152151
Optimization="0"
153
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
154
- PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64"
152
+ AdditionalIncludeDirectories="..\..\.."
153
+ PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
155154
ExceptionHandling="0"
156155
RuntimeLibrary="3"
157156
BufferSecurityCheck="false"
158157
PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
159158
AssemblerListingLocation="$(IntDir)\"
@@ -175,11 +174,10 @@
175174
<Tool
176175
Name="VCPreLinkEventTool"
177176
/>
178177
<Tool
179178
Name="VCLinkerTool"
180
- AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "
181179
OutputFile="$(OutDir)\zlibwapi.dll"
182180
LinkIncremental="2"
183181
SuppressStartupBanner="true"
184182
GenerateManifest="false"
185183
ModuleDefinitionFile=".\zlibvc.def"
@@ -243,11 +241,11 @@
243241
TypeLibraryName="$(OutDir)/zlibvc.tlb"
244242
/>
245243
<Tool
246244
Name="VCCLCompilerTool"
247245
Optimization="0"
248
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
246
+ AdditionalIncludeDirectories="..\..\.."
249247
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
250248
ExceptionHandling="0"
251249
RuntimeLibrary="3"
252250
BufferSecurityCheck="false"
253251
PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
@@ -338,11 +336,11 @@
338336
TypeLibraryName="$(OutDir)/zlibvc.tlb"
339337
/>
340338
<Tool
341339
Name="VCCLCompilerTool"
342340
InlineFunctionExpansion="1"
343
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
341
+ AdditionalIncludeDirectories="..\..\.."
344342
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI"
345343
StringPooling="true"
346344
ExceptionHandling="0"
347345
RuntimeLibrary="2"
348346
BufferSecurityCheck="false"
@@ -438,11 +436,11 @@
438436
TypeLibraryName="$(OutDir)/zlibvc.tlb"
439437
/>
440438
<Tool
441439
Name="VCCLCompilerTool"
442440
InlineFunctionExpansion="1"
443
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
441
+ AdditionalIncludeDirectories="..\..\.."
444442
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
445443
StringPooling="true"
446444
ExceptionHandling="0"
447445
RuntimeLibrary="2"
448446
BufferSecurityCheck="false"
@@ -536,11 +534,11 @@
536534
TypeLibraryName="$(OutDir)/zlibvc.tlb"
537535
/>
538536
<Tool
539537
Name="VCCLCompilerTool"
540538
InlineFunctionExpansion="1"
541
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
539
+ AdditionalIncludeDirectories="..\..\.."
542540
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
543541
StringPooling="true"
544542
ExceptionHandling="0"
545543
RuntimeLibrary="2"
546544
BufferSecurityCheck="false"
@@ -634,12 +632,12 @@
634632
TypeLibraryName="$(OutDir)/zlibvc.tlb"
635633
/>
636634
<Tool
637635
Name="VCCLCompilerTool"
638636
InlineFunctionExpansion="1"
639
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
640
- PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF"
637
+ AdditionalIncludeDirectories="..\..\.."
638
+ PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI"
641639
StringPooling="true"
642640
ExceptionHandling="0"
643641
RuntimeLibrary="0"
644642
BufferSecurityCheck="false"
645643
EnableFunctionLevelLinking="true"
@@ -664,11 +662,10 @@
664662
Name="VCPreLinkEventTool"
665663
/>
666664
<Tool
667665
Name="VCLinkerTool"
668666
AdditionalOptions="/MACHINE:I386"
669
- AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj "
670667
OutputFile="$(OutDir)\zlibwapi.dll"
671668
LinkIncremental="1"
672669
SuppressStartupBanner="true"
673670
GenerateManifest="false"
674671
IgnoreAllDefaultLibraries="false"
@@ -735,12 +732,12 @@
735732
TypeLibraryName="$(OutDir)/zlibvc.tlb"
736733
/>
737734
<Tool
738735
Name="VCCLCompilerTool"
739736
InlineFunctionExpansion="1"
740
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
741
- PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64"
737
+ AdditionalIncludeDirectories="..\..\.."
738
+ PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
742739
StringPooling="true"
743740
ExceptionHandling="0"
744741
RuntimeLibrary="2"
745742
BufferSecurityCheck="false"
746743
EnableFunctionLevelLinking="true"
@@ -764,11 +761,10 @@
764761
<Tool
765762
Name="VCPreLinkEventTool"
766763
/>
767764
<Tool
768765
Name="VCLinkerTool"
769
- AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "
770766
OutputFile="$(OutDir)\zlibwapi.dll"
771767
LinkIncremental="1"
772768
SuppressStartupBanner="true"
773769
GenerateManifest="false"
774770
IgnoreAllDefaultLibraries="false"
@@ -834,11 +830,11 @@
834830
TypeLibraryName="$(OutDir)/zlibvc.tlb"
835831
/>
836832
<Tool
837833
Name="VCCLCompilerTool"
838834
InlineFunctionExpansion="1"
839
- AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
835
+ AdditionalIncludeDirectories="..\..\.."
840836
PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
841837
StringPooling="true"
842838
ExceptionHandling="0"
843839
RuntimeLibrary="2"
844840
BufferSecurityCheck="false"
@@ -948,62 +944,10 @@
948944
<File
949945
RelativePath="..\..\..\infback.c"
950946
>
951947
</File>
952948
<File
953
- RelativePath="..\..\masmx64\inffas8664.c"
954
- >
955
- <FileConfiguration
956
- Name="Debug|Win32"
957
- ExcludedFromBuild="true"
958
- >
959
- <Tool
960
- Name="VCCLCompilerTool"
961
- />
962
- </FileConfiguration>
963
- <FileConfiguration
964
- Name="Debug|Itanium"
965
- ExcludedFromBuild="true"
966
- >
967
- <Tool
968
- Name="VCCLCompilerTool"
969
- />
970
- </FileConfiguration>
971
- <FileConfiguration
972
- Name="ReleaseWithoutAsm|Win32"
973
- ExcludedFromBuild="true"
974
- >
975
- <Tool
976
- Name="VCCLCompilerTool"
977
- />
978
- </FileConfiguration>
979
- <FileConfiguration
980
- Name="ReleaseWithoutAsm|Itanium"
981
- ExcludedFromBuild="true"
982
- >
983
- <Tool
984
- Name="VCCLCompilerTool"
985
- />
986
- </FileConfiguration>
987
- <FileConfiguration
988
- Name="Release|Win32"
989
- ExcludedFromBuild="true"
990
- >
991
- <Tool
992
- Name="VCCLCompilerTool"
993
- />
994
- </FileConfiguration>
995
- <FileConfiguration
996
- Name="Release|Itanium"
997
- ExcludedFromBuild="true"
998
- >
999
- <Tool
1000
- Name="VCCLCompilerTool"
1001
- />
1002
- </FileConfiguration>
1003
- </File>
1004
- <File
1005949
RelativePath="..\..\..\inffast.c"
1006950
>
1007951
</File>
1008952
<File
1009953
RelativePath="..\..\..\inflate.c"
1010954
--- compat/zlib/contrib/vstudio/vc9/zlibvc.vcproj
+++ compat/zlib/contrib/vstudio/vc9/zlibvc.vcproj
@@ -51,12 +51,12 @@
51 TypeLibraryName="$(OutDir)/zlibvc.tlb"
52 />
53 <Tool
54 Name="VCCLCompilerTool"
55 Optimization="0"
56 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
57 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF"
58 ExceptionHandling="0"
59 RuntimeLibrary="1"
60 BufferSecurityCheck="false"
61 PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
62 AssemblerListingLocation="$(IntDir)\"
@@ -79,11 +79,10 @@
79 Name="VCPreLinkEventTool"
80 />
81 <Tool
82 Name="VCLinkerTool"
83 AdditionalOptions="/MACHINE:I386"
84 AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj"
85 OutputFile="$(OutDir)\zlibwapi.dll"
86 LinkIncremental="2"
87 SuppressStartupBanner="true"
88 GenerateManifest="false"
89 ModuleDefinitionFile=".\zlibvc.def"
@@ -148,12 +147,12 @@
148 TypeLibraryName="$(OutDir)/zlibvc.tlb"
149 />
150 <Tool
151 Name="VCCLCompilerTool"
152 Optimization="0"
153 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
154 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64"
155 ExceptionHandling="0"
156 RuntimeLibrary="3"
157 BufferSecurityCheck="false"
158 PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
159 AssemblerListingLocation="$(IntDir)\"
@@ -175,11 +174,10 @@
175 <Tool
176 Name="VCPreLinkEventTool"
177 />
178 <Tool
179 Name="VCLinkerTool"
180 AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "
181 OutputFile="$(OutDir)\zlibwapi.dll"
182 LinkIncremental="2"
183 SuppressStartupBanner="true"
184 GenerateManifest="false"
185 ModuleDefinitionFile=".\zlibvc.def"
@@ -243,11 +241,11 @@
243 TypeLibraryName="$(OutDir)/zlibvc.tlb"
244 />
245 <Tool
246 Name="VCCLCompilerTool"
247 Optimization="0"
248 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
249 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
250 ExceptionHandling="0"
251 RuntimeLibrary="3"
252 BufferSecurityCheck="false"
253 PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
@@ -338,11 +336,11 @@
338 TypeLibraryName="$(OutDir)/zlibvc.tlb"
339 />
340 <Tool
341 Name="VCCLCompilerTool"
342 InlineFunctionExpansion="1"
343 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
344 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI"
345 StringPooling="true"
346 ExceptionHandling="0"
347 RuntimeLibrary="2"
348 BufferSecurityCheck="false"
@@ -438,11 +436,11 @@
438 TypeLibraryName="$(OutDir)/zlibvc.tlb"
439 />
440 <Tool
441 Name="VCCLCompilerTool"
442 InlineFunctionExpansion="1"
443 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
444 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
445 StringPooling="true"
446 ExceptionHandling="0"
447 RuntimeLibrary="2"
448 BufferSecurityCheck="false"
@@ -536,11 +534,11 @@
536 TypeLibraryName="$(OutDir)/zlibvc.tlb"
537 />
538 <Tool
539 Name="VCCLCompilerTool"
540 InlineFunctionExpansion="1"
541 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
542 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
543 StringPooling="true"
544 ExceptionHandling="0"
545 RuntimeLibrary="2"
546 BufferSecurityCheck="false"
@@ -634,12 +632,12 @@
634 TypeLibraryName="$(OutDir)/zlibvc.tlb"
635 />
636 <Tool
637 Name="VCCLCompilerTool"
638 InlineFunctionExpansion="1"
639 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
640 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF"
641 StringPooling="true"
642 ExceptionHandling="0"
643 RuntimeLibrary="0"
644 BufferSecurityCheck="false"
645 EnableFunctionLevelLinking="true"
@@ -664,11 +662,10 @@
664 Name="VCPreLinkEventTool"
665 />
666 <Tool
667 Name="VCLinkerTool"
668 AdditionalOptions="/MACHINE:I386"
669 AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj "
670 OutputFile="$(OutDir)\zlibwapi.dll"
671 LinkIncremental="1"
672 SuppressStartupBanner="true"
673 GenerateManifest="false"
674 IgnoreAllDefaultLibraries="false"
@@ -735,12 +732,12 @@
735 TypeLibraryName="$(OutDir)/zlibvc.tlb"
736 />
737 <Tool
738 Name="VCCLCompilerTool"
739 InlineFunctionExpansion="1"
740 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
741 PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64"
742 StringPooling="true"
743 ExceptionHandling="0"
744 RuntimeLibrary="2"
745 BufferSecurityCheck="false"
746 EnableFunctionLevelLinking="true"
@@ -764,11 +761,10 @@
764 <Tool
765 Name="VCPreLinkEventTool"
766 />
767 <Tool
768 Name="VCLinkerTool"
769 AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "
770 OutputFile="$(OutDir)\zlibwapi.dll"
771 LinkIncremental="1"
772 SuppressStartupBanner="true"
773 GenerateManifest="false"
774 IgnoreAllDefaultLibraries="false"
@@ -834,11 +830,11 @@
834 TypeLibraryName="$(OutDir)/zlibvc.tlb"
835 />
836 <Tool
837 Name="VCCLCompilerTool"
838 InlineFunctionExpansion="1"
839 AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
840 PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
841 StringPooling="true"
842 ExceptionHandling="0"
843 RuntimeLibrary="2"
844 BufferSecurityCheck="false"
@@ -948,62 +944,10 @@
948 <File
949 RelativePath="..\..\..\infback.c"
950 >
951 </File>
952 <File
953 RelativePath="..\..\masmx64\inffas8664.c"
954 >
955 <FileConfiguration
956 Name="Debug|Win32"
957 ExcludedFromBuild="true"
958 >
959 <Tool
960 Name="VCCLCompilerTool"
961 />
962 </FileConfiguration>
963 <FileConfiguration
964 Name="Debug|Itanium"
965 ExcludedFromBuild="true"
966 >
967 <Tool
968 Name="VCCLCompilerTool"
969 />
970 </FileConfiguration>
971 <FileConfiguration
972 Name="ReleaseWithoutAsm|Win32"
973 ExcludedFromBuild="true"
974 >
975 <Tool
976 Name="VCCLCompilerTool"
977 />
978 </FileConfiguration>
979 <FileConfiguration
980 Name="ReleaseWithoutAsm|Itanium"
981 ExcludedFromBuild="true"
982 >
983 <Tool
984 Name="VCCLCompilerTool"
985 />
986 </FileConfiguration>
987 <FileConfiguration
988 Name="Release|Win32"
989 ExcludedFromBuild="true"
990 >
991 <Tool
992 Name="VCCLCompilerTool"
993 />
994 </FileConfiguration>
995 <FileConfiguration
996 Name="Release|Itanium"
997 ExcludedFromBuild="true"
998 >
999 <Tool
1000 Name="VCCLCompilerTool"
1001 />
1002 </FileConfiguration>
1003 </File>
1004 <File
1005 RelativePath="..\..\..\inffast.c"
1006 >
1007 </File>
1008 <File
1009 RelativePath="..\..\..\inflate.c"
1010
--- compat/zlib/contrib/vstudio/vc9/zlibvc.vcproj
+++ compat/zlib/contrib/vstudio/vc9/zlibvc.vcproj
@@ -51,12 +51,12 @@
51 TypeLibraryName="$(OutDir)/zlibvc.tlb"
52 />
53 <Tool
54 Name="VCCLCompilerTool"
55 Optimization="0"
56 AdditionalIncludeDirectories="..\..\.."
57 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI"
58 ExceptionHandling="0"
59 RuntimeLibrary="1"
60 BufferSecurityCheck="false"
61 PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
62 AssemblerListingLocation="$(IntDir)\"
@@ -79,11 +79,10 @@
79 Name="VCPreLinkEventTool"
80 />
81 <Tool
82 Name="VCLinkerTool"
83 AdditionalOptions="/MACHINE:I386"
 
84 OutputFile="$(OutDir)\zlibwapi.dll"
85 LinkIncremental="2"
86 SuppressStartupBanner="true"
87 GenerateManifest="false"
88 ModuleDefinitionFile=".\zlibvc.def"
@@ -148,12 +147,12 @@
147 TypeLibraryName="$(OutDir)/zlibvc.tlb"
148 />
149 <Tool
150 Name="VCCLCompilerTool"
151 Optimization="0"
152 AdditionalIncludeDirectories="..\..\.."
153 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
154 ExceptionHandling="0"
155 RuntimeLibrary="3"
156 BufferSecurityCheck="false"
157 PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
158 AssemblerListingLocation="$(IntDir)\"
@@ -175,11 +174,10 @@
174 <Tool
175 Name="VCPreLinkEventTool"
176 />
177 <Tool
178 Name="VCLinkerTool"
 
179 OutputFile="$(OutDir)\zlibwapi.dll"
180 LinkIncremental="2"
181 SuppressStartupBanner="true"
182 GenerateManifest="false"
183 ModuleDefinitionFile=".\zlibvc.def"
@@ -243,11 +241,11 @@
241 TypeLibraryName="$(OutDir)/zlibvc.tlb"
242 />
243 <Tool
244 Name="VCCLCompilerTool"
245 Optimization="0"
246 AdditionalIncludeDirectories="..\..\.."
247 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
248 ExceptionHandling="0"
249 RuntimeLibrary="3"
250 BufferSecurityCheck="false"
251 PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
@@ -338,11 +336,11 @@
336 TypeLibraryName="$(OutDir)/zlibvc.tlb"
337 />
338 <Tool
339 Name="VCCLCompilerTool"
340 InlineFunctionExpansion="1"
341 AdditionalIncludeDirectories="..\..\.."
342 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI"
343 StringPooling="true"
344 ExceptionHandling="0"
345 RuntimeLibrary="2"
346 BufferSecurityCheck="false"
@@ -438,11 +436,11 @@
436 TypeLibraryName="$(OutDir)/zlibvc.tlb"
437 />
438 <Tool
439 Name="VCCLCompilerTool"
440 InlineFunctionExpansion="1"
441 AdditionalIncludeDirectories="..\..\.."
442 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
443 StringPooling="true"
444 ExceptionHandling="0"
445 RuntimeLibrary="2"
446 BufferSecurityCheck="false"
@@ -536,11 +534,11 @@
534 TypeLibraryName="$(OutDir)/zlibvc.tlb"
535 />
536 <Tool
537 Name="VCCLCompilerTool"
538 InlineFunctionExpansion="1"
539 AdditionalIncludeDirectories="..\..\.."
540 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
541 StringPooling="true"
542 ExceptionHandling="0"
543 RuntimeLibrary="2"
544 BufferSecurityCheck="false"
@@ -634,12 +632,12 @@
632 TypeLibraryName="$(OutDir)/zlibvc.tlb"
633 />
634 <Tool
635 Name="VCCLCompilerTool"
636 InlineFunctionExpansion="1"
637 AdditionalIncludeDirectories="..\..\.."
638 PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI"
639 StringPooling="true"
640 ExceptionHandling="0"
641 RuntimeLibrary="0"
642 BufferSecurityCheck="false"
643 EnableFunctionLevelLinking="true"
@@ -664,11 +662,10 @@
662 Name="VCPreLinkEventTool"
663 />
664 <Tool
665 Name="VCLinkerTool"
666 AdditionalOptions="/MACHINE:I386"
 
667 OutputFile="$(OutDir)\zlibwapi.dll"
668 LinkIncremental="1"
669 SuppressStartupBanner="true"
670 GenerateManifest="false"
671 IgnoreAllDefaultLibraries="false"
@@ -735,12 +732,12 @@
732 TypeLibraryName="$(OutDir)/zlibvc.tlb"
733 />
734 <Tool
735 Name="VCCLCompilerTool"
736 InlineFunctionExpansion="1"
737 AdditionalIncludeDirectories="..\..\.."
738 PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
739 StringPooling="true"
740 ExceptionHandling="0"
741 RuntimeLibrary="2"
742 BufferSecurityCheck="false"
743 EnableFunctionLevelLinking="true"
@@ -764,11 +761,10 @@
761 <Tool
762 Name="VCPreLinkEventTool"
763 />
764 <Tool
765 Name="VCLinkerTool"
 
766 OutputFile="$(OutDir)\zlibwapi.dll"
767 LinkIncremental="1"
768 SuppressStartupBanner="true"
769 GenerateManifest="false"
770 IgnoreAllDefaultLibraries="false"
@@ -834,11 +830,11 @@
830 TypeLibraryName="$(OutDir)/zlibvc.tlb"
831 />
832 <Tool
833 Name="VCCLCompilerTool"
834 InlineFunctionExpansion="1"
835 AdditionalIncludeDirectories="..\..\.."
836 PreprocessorDefinitions="_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
837 StringPooling="true"
838 ExceptionHandling="0"
839 RuntimeLibrary="2"
840 BufferSecurityCheck="false"
@@ -948,62 +944,10 @@
944 <File
945 RelativePath="..\..\..\infback.c"
946 >
947 </File>
948 <File
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
949 RelativePath="..\..\..\inffast.c"
950 >
951 </File>
952 <File
953 RelativePath="..\..\..\inflate.c"
954
--- compat/zlib/crc32.c
+++ compat/zlib/crc32.c
@@ -95,18 +95,27 @@
9595
typedef Z_U4 z_word_t;
9696
# else
9797
# undef W
9898
# endif
9999
#endif
100
+
101
+/* If available, use the ARM processor CRC32 instruction. */
102
+#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) && W == 8
103
+# define ARMCRC32
104
+#endif
100105
101106
/* Local functions. */
102107
local z_crc_t multmodp OF((z_crc_t a, z_crc_t b));
103108
local z_crc_t x2nmodp OF((z_off64_t n, unsigned k));
104109
105
-/* If available, use the ARM processor CRC32 instruction. */
106
-#if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) && W == 8
107
-# define ARMCRC32
110
+#if defined(W) && (!defined(ARMCRC32) || defined(DYNAMIC_CRC_TABLE))
111
+ local z_word_t byte_swap OF((z_word_t word));
112
+#endif
113
+
114
+#if defined(W) && !defined(ARMCRC32)
115
+ local z_crc_t crc_word OF((z_word_t data));
116
+ local z_word_t crc_word_big OF((z_word_t data));
108117
#endif
109118
110119
#if defined(W) && (!defined(ARMCRC32) || defined(DYNAMIC_CRC_TABLE))
111120
/*
112121
Swap the bytes in a z_word_t to convert between little and big endian. Any
@@ -628,11 +637,11 @@
628637
#ifdef DYNAMIC_CRC_TABLE
629638
once(&made, make_crc_table);
630639
#endif /* DYNAMIC_CRC_TABLE */
631640
632641
/* Pre-condition the CRC */
633
- crc ^= 0xffffffff;
642
+ crc = (~crc) & 0xffffffff;
634643
635644
/* Compute the CRC up to a word boundary. */
636645
while (len && ((z_size_t)buf & 7) != 0) {
637646
len--;
638647
val = *buf++;
@@ -643,12 +652,12 @@
643652
word = (z_word_t const *)buf;
644653
num = len >> 3;
645654
len &= 7;
646655
647656
/* Do three interleaved CRCs to realize the throughput of one crc32x
648
- instruction per cycle. Each CRC is calcuated on Z_BATCH words. The three
649
- CRCs are combined into a single CRC after each set of batches. */
657
+ instruction per cycle. Each CRC is calculated on Z_BATCH words. The
658
+ three CRCs are combined into a single CRC after each set of batches. */
650659
while (num >= 3 * Z_BATCH) {
651660
crc1 = 0;
652661
crc2 = 0;
653662
for (i = 0; i < Z_BATCH; i++) {
654663
val0 = word[i];
@@ -747,11 +756,11 @@
747756
#ifdef DYNAMIC_CRC_TABLE
748757
once(&made, make_crc_table);
749758
#endif /* DYNAMIC_CRC_TABLE */
750759
751760
/* Pre-condition the CRC */
752
- crc ^= 0xffffffff;
761
+ crc = (~crc) & 0xffffffff;
753762
754763
#ifdef W
755764
756765
/* If provided enough bytes, do a braided CRC calculation. */
757766
if (len >= N * W + W - 1) {
@@ -1075,20 +1084,20 @@
10751084
z_off64_t len2;
10761085
{
10771086
#ifdef DYNAMIC_CRC_TABLE
10781087
once(&made, make_crc_table);
10791088
#endif /* DYNAMIC_CRC_TABLE */
1080
- return multmodp(x2nmodp(len2, 3), crc1) ^ crc2;
1089
+ return multmodp(x2nmodp(len2, 3), crc1) ^ (crc2 & 0xffffffff);
10811090
}
10821091
10831092
/* ========================================================================= */
10841093
uLong ZEXPORT crc32_combine(crc1, crc2, len2)
10851094
uLong crc1;
10861095
uLong crc2;
10871096
z_off_t len2;
10881097
{
1089
- return crc32_combine64(crc1, crc2, len2);
1098
+ return crc32_combine64(crc1, crc2, (z_off64_t)len2);
10901099
}
10911100
10921101
/* ========================================================================= */
10931102
uLong ZEXPORT crc32_combine_gen64(len2)
10941103
z_off64_t len2;
@@ -1101,16 +1110,16 @@
11011110
11021111
/* ========================================================================= */
11031112
uLong ZEXPORT crc32_combine_gen(len2)
11041113
z_off_t len2;
11051114
{
1106
- return crc32_combine_gen64(len2);
1115
+ return crc32_combine_gen64((z_off64_t)len2);
11071116
}
11081117
11091118
/* ========================================================================= */
1110
-uLong crc32_combine_op(crc1, crc2, op)
1119
+uLong ZEXPORT crc32_combine_op(crc1, crc2, op)
11111120
uLong crc1;
11121121
uLong crc2;
11131122
uLong op;
11141123
{
1115
- return multmodp(op, crc1) ^ crc2;
1124
+ return multmodp(op, crc1) ^ (crc2 & 0xffffffff);
11161125
}
11171126
--- compat/zlib/crc32.c
+++ compat/zlib/crc32.c
@@ -95,18 +95,27 @@
95 typedef Z_U4 z_word_t;
96 # else
97 # undef W
98 # endif
99 #endif
 
 
 
 
 
100
101 /* Local functions. */
102 local z_crc_t multmodp OF((z_crc_t a, z_crc_t b));
103 local z_crc_t x2nmodp OF((z_off64_t n, unsigned k));
104
105 /* If available, use the ARM processor CRC32 instruction. */
106 #if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) && W == 8
107 # define ARMCRC32
 
 
 
 
108 #endif
109
110 #if defined(W) && (!defined(ARMCRC32) || defined(DYNAMIC_CRC_TABLE))
111 /*
112 Swap the bytes in a z_word_t to convert between little and big endian. Any
@@ -628,11 +637,11 @@
628 #ifdef DYNAMIC_CRC_TABLE
629 once(&made, make_crc_table);
630 #endif /* DYNAMIC_CRC_TABLE */
631
632 /* Pre-condition the CRC */
633 crc ^= 0xffffffff;
634
635 /* Compute the CRC up to a word boundary. */
636 while (len && ((z_size_t)buf & 7) != 0) {
637 len--;
638 val = *buf++;
@@ -643,12 +652,12 @@
643 word = (z_word_t const *)buf;
644 num = len >> 3;
645 len &= 7;
646
647 /* Do three interleaved CRCs to realize the throughput of one crc32x
648 instruction per cycle. Each CRC is calcuated on Z_BATCH words. The three
649 CRCs are combined into a single CRC after each set of batches. */
650 while (num >= 3 * Z_BATCH) {
651 crc1 = 0;
652 crc2 = 0;
653 for (i = 0; i < Z_BATCH; i++) {
654 val0 = word[i];
@@ -747,11 +756,11 @@
747 #ifdef DYNAMIC_CRC_TABLE
748 once(&made, make_crc_table);
749 #endif /* DYNAMIC_CRC_TABLE */
750
751 /* Pre-condition the CRC */
752 crc ^= 0xffffffff;
753
754 #ifdef W
755
756 /* If provided enough bytes, do a braided CRC calculation. */
757 if (len >= N * W + W - 1) {
@@ -1075,20 +1084,20 @@
1075 z_off64_t len2;
1076 {
1077 #ifdef DYNAMIC_CRC_TABLE
1078 once(&made, make_crc_table);
1079 #endif /* DYNAMIC_CRC_TABLE */
1080 return multmodp(x2nmodp(len2, 3), crc1) ^ crc2;
1081 }
1082
1083 /* ========================================================================= */
1084 uLong ZEXPORT crc32_combine(crc1, crc2, len2)
1085 uLong crc1;
1086 uLong crc2;
1087 z_off_t len2;
1088 {
1089 return crc32_combine64(crc1, crc2, len2);
1090 }
1091
1092 /* ========================================================================= */
1093 uLong ZEXPORT crc32_combine_gen64(len2)
1094 z_off64_t len2;
@@ -1101,16 +1110,16 @@
1101
1102 /* ========================================================================= */
1103 uLong ZEXPORT crc32_combine_gen(len2)
1104 z_off_t len2;
1105 {
1106 return crc32_combine_gen64(len2);
1107 }
1108
1109 /* ========================================================================= */
1110 uLong crc32_combine_op(crc1, crc2, op)
1111 uLong crc1;
1112 uLong crc2;
1113 uLong op;
1114 {
1115 return multmodp(op, crc1) ^ crc2;
1116 }
1117
--- compat/zlib/crc32.c
+++ compat/zlib/crc32.c
@@ -95,18 +95,27 @@
95 typedef Z_U4 z_word_t;
96 # else
97 # undef W
98 # endif
99 #endif
100
101 /* If available, use the ARM processor CRC32 instruction. */
102 #if defined(__aarch64__) && defined(__ARM_FEATURE_CRC32) && W == 8
103 # define ARMCRC32
104 #endif
105
106 /* Local functions. */
107 local z_crc_t multmodp OF((z_crc_t a, z_crc_t b));
108 local z_crc_t x2nmodp OF((z_off64_t n, unsigned k));
109
110 #if defined(W) && (!defined(ARMCRC32) || defined(DYNAMIC_CRC_TABLE))
111 local z_word_t byte_swap OF((z_word_t word));
112 #endif
113
114 #if defined(W) && !defined(ARMCRC32)
115 local z_crc_t crc_word OF((z_word_t data));
116 local z_word_t crc_word_big OF((z_word_t data));
117 #endif
118
119 #if defined(W) && (!defined(ARMCRC32) || defined(DYNAMIC_CRC_TABLE))
120 /*
121 Swap the bytes in a z_word_t to convert between little and big endian. Any
@@ -628,11 +637,11 @@
637 #ifdef DYNAMIC_CRC_TABLE
638 once(&made, make_crc_table);
639 #endif /* DYNAMIC_CRC_TABLE */
640
641 /* Pre-condition the CRC */
642 crc = (~crc) & 0xffffffff;
643
644 /* Compute the CRC up to a word boundary. */
645 while (len && ((z_size_t)buf & 7) != 0) {
646 len--;
647 val = *buf++;
@@ -643,12 +652,12 @@
652 word = (z_word_t const *)buf;
653 num = len >> 3;
654 len &= 7;
655
656 /* Do three interleaved CRCs to realize the throughput of one crc32x
657 instruction per cycle. Each CRC is calculated on Z_BATCH words. The
658 three CRCs are combined into a single CRC after each set of batches. */
659 while (num >= 3 * Z_BATCH) {
660 crc1 = 0;
661 crc2 = 0;
662 for (i = 0; i < Z_BATCH; i++) {
663 val0 = word[i];
@@ -747,11 +756,11 @@
756 #ifdef DYNAMIC_CRC_TABLE
757 once(&made, make_crc_table);
758 #endif /* DYNAMIC_CRC_TABLE */
759
760 /* Pre-condition the CRC */
761 crc = (~crc) & 0xffffffff;
762
763 #ifdef W
764
765 /* If provided enough bytes, do a braided CRC calculation. */
766 if (len >= N * W + W - 1) {
@@ -1075,20 +1084,20 @@
1084 z_off64_t len2;
1085 {
1086 #ifdef DYNAMIC_CRC_TABLE
1087 once(&made, make_crc_table);
1088 #endif /* DYNAMIC_CRC_TABLE */
1089 return multmodp(x2nmodp(len2, 3), crc1) ^ (crc2 & 0xffffffff);
1090 }
1091
1092 /* ========================================================================= */
1093 uLong ZEXPORT crc32_combine(crc1, crc2, len2)
1094 uLong crc1;
1095 uLong crc2;
1096 z_off_t len2;
1097 {
1098 return crc32_combine64(crc1, crc2, (z_off64_t)len2);
1099 }
1100
1101 /* ========================================================================= */
1102 uLong ZEXPORT crc32_combine_gen64(len2)
1103 z_off64_t len2;
@@ -1101,16 +1110,16 @@
1110
1111 /* ========================================================================= */
1112 uLong ZEXPORT crc32_combine_gen(len2)
1113 z_off_t len2;
1114 {
1115 return crc32_combine_gen64((z_off64_t)len2);
1116 }
1117
1118 /* ========================================================================= */
1119 uLong ZEXPORT crc32_combine_op(crc1, crc2, op)
1120 uLong crc1;
1121 uLong crc2;
1122 uLong op;
1123 {
1124 return multmodp(op, crc1) ^ (crc2 & 0xffffffff);
1125 }
1126
+114 -108
--- compat/zlib/deflate.c
+++ compat/zlib/deflate.c
@@ -50,11 +50,11 @@
5050
/* @(#) $Id$ */
5151
5252
#include "deflate.h"
5353
5454
const char deflate_copyright[] =
55
- " deflate 1.2.12 Copyright 1995-2022 Jean-loup Gailly and Mark Adler ";
55
+ " deflate 1.2.13 Copyright 1995-2022 Jean-loup Gailly and Mark Adler ";
5656
/*
5757
If you use the zlib library in a product, an acknowledgment is welcome
5858
in the documentation of your product. If for some reason you cannot
5959
include such an acknowledgment, I would appreciate that you keep this
6060
copyright string in the executable of your product.
@@ -85,17 +85,11 @@
8585
local block_state deflate_huff OF((deflate_state *s, int flush));
8686
local void lm_init OF((deflate_state *s));
8787
local void putShortMSB OF((deflate_state *s, uInt b));
8888
local void flush_pending OF((z_streamp strm));
8989
local unsigned read_buf OF((z_streamp strm, Bytef *buf, unsigned size));
90
-#ifdef ASMV
91
-# pragma message("Assembler code may have bugs -- use at your own risk")
92
- void match_init OF((void)); /* asm code initialization */
93
- uInt longest_match OF((deflate_state *s, IPos cur_match));
94
-#else
9590
local uInt longest_match OF((deflate_state *s, IPos cur_match));
96
-#endif
9791
9892
#ifdef ZLIB_DEBUG
9993
local void check_match OF((deflate_state *s, IPos start, IPos match,
10094
int length));
10195
#endif
@@ -158,11 +152,11 @@
158152
* Update a hash value with the given input byte
159153
* IN assertion: all calls to UPDATE_HASH are made with consecutive input
160154
* characters, so that a running hash key can be computed from the previous
161155
* key instead of complete recalculation each time.
162156
*/
163
-#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
157
+#define UPDATE_HASH(s,h,c) (h = (((h) << s->hash_shift) ^ (c)) & s->hash_mask)
164158
165159
166160
/* ===========================================================================
167161
* Insert string str in the dictionary and set match_head to the previous head
168162
* of the hash chain (the most recent string with same hash key). Return
@@ -189,13 +183,13 @@
189183
* Initialize the hash table (avoiding 64K overflow for 16 bit systems).
190184
* prev[] will be initialized on the fly.
191185
*/
192186
#define CLEAR_HASH(s) \
193187
do { \
194
- s->head[s->hash_size-1] = NIL; \
188
+ s->head[s->hash_size - 1] = NIL; \
195189
zmemzero((Bytef *)s->head, \
196
- (unsigned)(s->hash_size-1)*sizeof(*s->head)); \
190
+ (unsigned)(s->hash_size - 1)*sizeof(*s->head)); \
197191
} while (0)
198192
199193
/* ===========================================================================
200194
* Slide the hash table when sliding the window down (could be avoided with 32
201195
* bit values at the expense of memory usage). We slide even when level == 0 to
@@ -283,10 +277,12 @@
283277
if (level == Z_DEFAULT_COMPRESSION) level = 6;
284278
#endif
285279
286280
if (windowBits < 0) { /* suppress zlib wrapper */
287281
wrap = 0;
282
+ if (windowBits < -15)
283
+ return Z_STREAM_ERROR;
288284
windowBits = -windowBits;
289285
}
290286
#ifdef GZIP
291287
else if (windowBits > 15) {
292288
wrap = 2; /* write gzip wrapper instead */
@@ -312,11 +308,11 @@
312308
s->w_mask = s->w_size - 1;
313309
314310
s->hash_bits = (uInt)memLevel + 7;
315311
s->hash_size = 1 << s->hash_bits;
316312
s->hash_mask = s->hash_size - 1;
317
- s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
313
+ s->hash_shift = ((s->hash_bits + MIN_MATCH-1) / MIN_MATCH);
318314
319315
s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
320316
s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
321317
s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
322318
@@ -338,15 +334,15 @@
338334
* in sym_buf is three bytes -- two for the distance and one for the
339335
* literal/length. As each symbol is consumed, the pointer to the next
340336
* sym_buf value to read moves forward three bytes. From that symbol, up to
341337
* 31 bits are written to pending_buf. The closest the written pending_buf
342338
* bits gets to the next sym_buf symbol to read is just before the last
343
- * code is written. At that time, 31*(n-2) bits have been written, just
344
- * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at
345
- * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1
339
+ * code is written. At that time, 31*(n - 2) bits have been written, just
340
+ * after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at
341
+ * 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1
346342
* symbols are written.) The closest the writing gets to what is unread is
347
- * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and
343
+ * then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and
348344
* can range from 128 to 32768.
349345
*
350346
* Therefore, at a minimum, there are 142 bits of space between what is
351347
* written and what is read in the overlain buffers, so the symbols cannot
352348
* be overwritten by the compressed data. That space is actually 139 bits,
@@ -388,11 +384,11 @@
388384
}
389385
390386
/* =========================================================================
391387
* Check for a valid deflate stream state. Return 0 if ok, 1 if not.
392388
*/
393
-local int deflateStateCheck (strm)
389
+local int deflateStateCheck(strm)
394390
z_streamp strm;
395391
{
396392
deflate_state *s;
397393
if (strm == Z_NULL ||
398394
strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
@@ -411,11 +407,11 @@
411407
return 1;
412408
return 0;
413409
}
414410
415411
/* ========================================================================= */
416
-int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
412
+int ZEXPORT deflateSetDictionary(strm, dictionary, dictLength)
417413
z_streamp strm;
418414
const Bytef *dictionary;
419415
uInt dictLength;
420416
{
421417
deflate_state *s;
@@ -480,11 +476,11 @@
480476
s->wrap = wrap;
481477
return Z_OK;
482478
}
483479
484480
/* ========================================================================= */
485
-int ZEXPORT deflateGetDictionary (strm, dictionary, dictLength)
481
+int ZEXPORT deflateGetDictionary(strm, dictionary, dictLength)
486482
z_streamp strm;
487483
Bytef *dictionary;
488484
uInt *dictLength;
489485
{
490486
deflate_state *s;
@@ -502,11 +498,11 @@
502498
*dictLength = len;
503499
return Z_OK;
504500
}
505501
506502
/* ========================================================================= */
507
-int ZEXPORT deflateResetKeep (strm)
503
+int ZEXPORT deflateResetKeep(strm)
508504
z_streamp strm;
509505
{
510506
deflate_state *s;
511507
512508
if (deflateStateCheck(strm)) {
@@ -540,11 +536,11 @@
540536
541537
return Z_OK;
542538
}
543539
544540
/* ========================================================================= */
545
-int ZEXPORT deflateReset (strm)
541
+int ZEXPORT deflateReset(strm)
546542
z_streamp strm;
547543
{
548544
int ret;
549545
550546
ret = deflateResetKeep(strm);
@@ -552,11 +548,11 @@
552548
lm_init(strm->state);
553549
return ret;
554550
}
555551
556552
/* ========================================================================= */
557
-int ZEXPORT deflateSetHeader (strm, head)
553
+int ZEXPORT deflateSetHeader(strm, head)
558554
z_streamp strm;
559555
gz_headerp head;
560556
{
561557
if (deflateStateCheck(strm) || strm->state->wrap != 2)
562558
return Z_STREAM_ERROR;
@@ -563,11 +559,11 @@
563559
strm->state->gzhead = head;
564560
return Z_OK;
565561
}
566562
567563
/* ========================================================================= */
568
-int ZEXPORT deflatePending (strm, pending, bits)
564
+int ZEXPORT deflatePending(strm, pending, bits)
569565
unsigned *pending;
570566
int *bits;
571567
z_streamp strm;
572568
{
573569
if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
@@ -577,11 +573,11 @@
577573
*bits = strm->state->bi_valid;
578574
return Z_OK;
579575
}
580576
581577
/* ========================================================================= */
582
-int ZEXPORT deflatePrime (strm, bits, value)
578
+int ZEXPORT deflatePrime(strm, bits, value)
583579
z_streamp strm;
584580
int bits;
585581
int value;
586582
{
587583
deflate_state *s;
@@ -672,40 +668,54 @@
672668
s->max_chain_length = (uInt)max_chain;
673669
return Z_OK;
674670
}
675671
676672
/* =========================================================================
677
- * For the default windowBits of 15 and memLevel of 8, this function returns
678
- * a close to exact, as well as small, upper bound on the compressed size.
679
- * They are coded as constants here for a reason--if the #define's are
680
- * changed, then this function needs to be changed as well. The return
681
- * value for 15 and 8 only works for those exact settings.
682
- *
683
- * For any setting other than those defaults for windowBits and memLevel,
684
- * the value returned is a conservative worst case for the maximum expansion
685
- * resulting from using fixed blocks instead of stored blocks, which deflate
686
- * can emit on compressed data for some combinations of the parameters.
687
- *
688
- * This function could be more sophisticated to provide closer upper bounds for
689
- * every combination of windowBits and memLevel. But even the conservative
690
- * upper bound of about 14% expansion does not seem onerous for output buffer
691
- * allocation.
673
+ * For the default windowBits of 15 and memLevel of 8, this function returns a
674
+ * close to exact, as well as small, upper bound on the compressed size. This
675
+ * is an expansion of ~0.03%, plus a small constant.
676
+ *
677
+ * For any setting other than those defaults for windowBits and memLevel, one
678
+ * of two worst case bounds is returned. This is at most an expansion of ~4% or
679
+ * ~13%, plus a small constant.
680
+ *
681
+ * Both the 0.03% and 4% derive from the overhead of stored blocks. The first
682
+ * one is for stored blocks of 16383 bytes (memLevel == 8), whereas the second
683
+ * is for stored blocks of 127 bytes (the worst case memLevel == 1). The
684
+ * expansion results from five bytes of header for each stored block.
685
+ *
686
+ * The larger expansion of 13% results from a window size less than or equal to
687
+ * the symbols buffer size (windowBits <= memLevel + 7). In that case some of
688
+ * the data being compressed may have slid out of the sliding window, impeding
689
+ * a stored block from being emitted. Then the only choice is a fixed or
690
+ * dynamic block, where a fixed block limits the maximum expansion to 9 bits
691
+ * per 8-bit byte, plus 10 bits for every block. The smallest block size for
692
+ * which this can occur is 255 (memLevel == 2).
693
+ *
694
+ * Shifts are used to approximate divisions, for speed.
692695
*/
693696
uLong ZEXPORT deflateBound(strm, sourceLen)
694697
z_streamp strm;
695698
uLong sourceLen;
696699
{
697700
deflate_state *s;
698
- uLong complen, wraplen;
701
+ uLong fixedlen, storelen, wraplen;
699702
700
- /* conservative upper bound for compressed data */
701
- complen = sourceLen +
702
- ((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5;
703
+ /* upper bound for fixed blocks with 9-bit literals and length 255
704
+ (memLevel == 2, which is the lowest that may not use stored blocks) --
705
+ ~13% overhead plus a small constant */
706
+ fixedlen = sourceLen + (sourceLen >> 3) + (sourceLen >> 8) +
707
+ (sourceLen >> 9) + 4;
703708
704
- /* if can't get parameters, return conservative bound plus zlib wrapper */
709
+ /* upper bound for stored blocks with length 127 (memLevel == 1) --
710
+ ~4% overhead plus a small constant */
711
+ storelen = sourceLen + (sourceLen >> 5) + (sourceLen >> 7) +
712
+ (sourceLen >> 11) + 7;
713
+
714
+ /* if can't get parameters, return larger bound plus a zlib wrapper */
705715
if (deflateStateCheck(strm))
706
- return complen + 6;
716
+ return (fixedlen > storelen ? fixedlen : storelen) + 6;
707717
708718
/* compute wrapper length */
709719
s = strm->state;
710720
switch (s->wrap) {
711721
case 0: /* raw deflate */
@@ -738,25 +748,26 @@
738748
#endif
739749
default: /* for compiler happiness */
740750
wraplen = 6;
741751
}
742752
743
- /* if not default parameters, return conservative bound */
753
+ /* if not default parameters, return one of the conservative bounds */
744754
if (s->w_bits != 15 || s->hash_bits != 8 + 7)
745
- return complen + wraplen;
755
+ return (s->w_bits <= s->hash_bits ? fixedlen : storelen) + wraplen;
746756
747
- /* default settings: return tight bound for that case */
757
+ /* default settings: return tight bound for that case -- ~0.03% overhead
758
+ plus a small constant */
748759
return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
749760
(sourceLen >> 25) + 13 - 6 + wraplen;
750761
}
751762
752763
/* =========================================================================
753764
* Put a short in the pending buffer. The 16-bit value is put in MSB order.
754765
* IN assertion: the stream state is correct and there is enough room in
755766
* pending_buf.
756767
*/
757
-local void putShortMSB (s, b)
768
+local void putShortMSB(s, b)
758769
deflate_state *s;
759770
uInt b;
760771
{
761772
put_byte(s, (Byte)(b >> 8));
762773
put_byte(s, (Byte)(b & 0xff));
@@ -799,11 +810,11 @@
799810
strm->adler = crc32(strm->adler, s->pending_buf + (beg), \
800811
s->pending - (beg)); \
801812
} while (0)
802813
803814
/* ========================================================================= */
804
-int ZEXPORT deflate (strm, flush)
815
+int ZEXPORT deflate(strm, flush)
805816
z_streamp strm;
806817
int flush;
807818
{
808819
int old_flush; /* value of flush param for previous deflate call */
809820
deflate_state *s;
@@ -854,11 +865,11 @@
854865
/* Write the header */
855866
if (s->status == INIT_STATE && s->wrap == 0)
856867
s->status = BUSY_STATE;
857868
if (s->status == INIT_STATE) {
858869
/* zlib header */
859
- uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
870
+ uInt header = (Z_DEFLATED + ((s->w_bits - 8) << 4)) << 8;
860871
uInt level_flags;
861872
862873
if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2)
863874
level_flags = 0;
864875
else if (s->level < 6)
@@ -1114,11 +1125,11 @@
11141125
if (s->wrap > 0) s->wrap = -s->wrap; /* write the trailer only once! */
11151126
return s->pending != 0 ? Z_OK : Z_STREAM_END;
11161127
}
11171128
11181129
/* ========================================================================= */
1119
-int ZEXPORT deflateEnd (strm)
1130
+int ZEXPORT deflateEnd(strm)
11201131
z_streamp strm;
11211132
{
11221133
int status;
11231134
11241135
if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
@@ -1140,11 +1151,11 @@
11401151
/* =========================================================================
11411152
* Copy the source state to the destination state.
11421153
* To simplify the source, this is not supported for 16-bit MSDOS (which
11431154
* doesn't have enough memory anyway to duplicate compression states).
11441155
*/
1145
-int ZEXPORT deflateCopy (dest, source)
1156
+int ZEXPORT deflateCopy(dest, source)
11461157
z_streamp dest;
11471158
z_streamp source;
11481159
{
11491160
#ifdef MAXSEG_64K
11501161
return Z_STREAM_ERROR;
@@ -1229,11 +1240,11 @@
12291240
}
12301241
12311242
/* ===========================================================================
12321243
* Initialize the "longest match" routines for a new zlib stream
12331244
*/
1234
-local void lm_init (s)
1245
+local void lm_init(s)
12351246
deflate_state *s;
12361247
{
12371248
s->window_size = (ulg)2L*s->w_size;
12381249
12391250
CLEAR_HASH(s);
@@ -1250,15 +1261,10 @@
12501261
s->lookahead = 0;
12511262
s->insert = 0;
12521263
s->match_length = s->prev_length = MIN_MATCH-1;
12531264
s->match_available = 0;
12541265
s->ins_h = 0;
1255
-#ifndef FASTEST
1256
-#ifdef ASMV
1257
- match_init(); /* initialize the asm code */
1258
-#endif
1259
-#endif
12601266
}
12611267
12621268
#ifndef FASTEST
12631269
/* ===========================================================================
12641270
* Set match_start to the longest match starting at the given string and
@@ -1267,14 +1273,10 @@
12671273
* garbage.
12681274
* IN assertions: cur_match is the head of the hash chain for the current
12691275
* string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
12701276
* OUT assertion: the match length is not greater than s->lookahead.
12711277
*/
1272
-#ifndef ASMV
1273
-/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
1274
- * match.S. The code will be functionally equivalent.
1275
- */
12761278
local uInt longest_match(s, cur_match)
12771279
deflate_state *s;
12781280
IPos cur_match; /* current match */
12791281
{
12801282
unsigned chain_length = s->max_chain_length;/* max hash chain length */
@@ -1295,14 +1297,14 @@
12951297
/* Compare two bytes at a time. Note: this is not always beneficial.
12961298
* Try with and without -DUNALIGNED_OK to check.
12971299
*/
12981300
register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
12991301
register ush scan_start = *(ushf*)scan;
1300
- register ush scan_end = *(ushf*)(scan+best_len-1);
1302
+ register ush scan_end = *(ushf*)(scan + best_len - 1);
13011303
#else
13021304
register Bytef *strend = s->window + s->strstart + MAX_MATCH;
1303
- register Byte scan_end1 = scan[best_len-1];
1305
+ register Byte scan_end1 = scan[best_len - 1];
13041306
register Byte scan_end = scan[best_len];
13051307
#endif
13061308
13071309
/* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
13081310
* It is easy to get rid of this optimization if necessary.
@@ -1316,11 +1318,12 @@
13161318
/* Do not look for matches beyond the end of the input. This is necessary
13171319
* to make deflate deterministic.
13181320
*/
13191321
if ((uInt)nice_match > s->lookahead) nice_match = (int)s->lookahead;
13201322
1321
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
1323
+ Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
1324
+ "need lookahead");
13221325
13231326
do {
13241327
Assert(cur_match < s->strstart, "no future");
13251328
match = s->window + cur_match;
13261329
@@ -1334,66 +1337,68 @@
13341337
*/
13351338
#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
13361339
/* This code assumes sizeof(unsigned short) == 2. Do not use
13371340
* UNALIGNED_OK if your compiler uses a different size.
13381341
*/
1339
- if (*(ushf*)(match+best_len-1) != scan_end ||
1342
+ if (*(ushf*)(match + best_len - 1) != scan_end ||
13401343
*(ushf*)match != scan_start) continue;
13411344
13421345
/* It is not necessary to compare scan[2] and match[2] since they are
13431346
* always equal when the other bytes match, given that the hash keys
13441347
* are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
1345
- * strstart+3, +5, ... up to strstart+257. We check for insufficient
1348
+ * strstart + 3, + 5, up to strstart + 257. We check for insufficient
13461349
* lookahead only every 4th comparison; the 128th check will be made
1347
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
1350
+ * at strstart + 257. If MAX_MATCH-2 is not a multiple of 8, it is
13481351
* necessary to put more guard bytes at the end of the window, or
13491352
* to check more often for insufficient lookahead.
13501353
*/
13511354
Assert(scan[2] == match[2], "scan[2]?");
13521355
scan++, match++;
13531356
do {
1354
- } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
1355
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
1356
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
1357
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
1357
+ } while (*(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
1358
+ *(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
1359
+ *(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
1360
+ *(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
13581361
scan < strend);
13591362
/* The funny "do {}" generates better code on most compilers */
13601363
1361
- /* Here, scan <= window+strstart+257 */
1362
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
1364
+ /* Here, scan <= window + strstart + 257 */
1365
+ Assert(scan <= s->window + (unsigned)(s->window_size - 1),
1366
+ "wild scan");
13631367
if (*scan == *match) scan++;
13641368
1365
- len = (MAX_MATCH - 1) - (int)(strend-scan);
1369
+ len = (MAX_MATCH - 1) - (int)(strend - scan);
13661370
scan = strend - (MAX_MATCH-1);
13671371
13681372
#else /* UNALIGNED_OK */
13691373
1370
- if (match[best_len] != scan_end ||
1371
- match[best_len-1] != scan_end1 ||
1372
- *match != *scan ||
1373
- *++match != scan[1]) continue;
1374
+ if (match[best_len] != scan_end ||
1375
+ match[best_len - 1] != scan_end1 ||
1376
+ *match != *scan ||
1377
+ *++match != scan[1]) continue;
13741378
1375
- /* The check at best_len-1 can be removed because it will be made
1379
+ /* The check at best_len - 1 can be removed because it will be made
13761380
* again later. (This heuristic is not always a win.)
13771381
* It is not necessary to compare scan[2] and match[2] since they
13781382
* are always equal when the other bytes match, given that
13791383
* the hash keys are equal and that HASH_BITS >= 8.
13801384
*/
13811385
scan += 2, match++;
13821386
Assert(*scan == *match, "match[2]?");
13831387
13841388
/* We check for insufficient lookahead only every 8th comparison;
1385
- * the 256th check will be made at strstart+258.
1389
+ * the 256th check will be made at strstart + 258.
13861390
*/
13871391
do {
13881392
} while (*++scan == *++match && *++scan == *++match &&
13891393
*++scan == *++match && *++scan == *++match &&
13901394
*++scan == *++match && *++scan == *++match &&
13911395
*++scan == *++match && *++scan == *++match &&
13921396
scan < strend);
13931397
1394
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
1398
+ Assert(scan <= s->window + (unsigned)(s->window_size - 1),
1399
+ "wild scan");
13951400
13961401
len = MAX_MATCH - (int)(strend - scan);
13971402
scan = strend - MAX_MATCH;
13981403
13991404
#endif /* UNALIGNED_OK */
@@ -1401,23 +1406,22 @@
14011406
if (len > best_len) {
14021407
s->match_start = cur_match;
14031408
best_len = len;
14041409
if (len >= nice_match) break;
14051410
#ifdef UNALIGNED_OK
1406
- scan_end = *(ushf*)(scan+best_len-1);
1411
+ scan_end = *(ushf*)(scan + best_len - 1);
14071412
#else
1408
- scan_end1 = scan[best_len-1];
1413
+ scan_end1 = scan[best_len - 1];
14091414
scan_end = scan[best_len];
14101415
#endif
14111416
}
14121417
} while ((cur_match = prev[cur_match & wmask]) > limit
14131418
&& --chain_length != 0);
14141419
14151420
if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
14161421
return s->lookahead;
14171422
}
1418
-#endif /* ASMV */
14191423
14201424
#else /* FASTEST */
14211425
14221426
/* ---------------------------------------------------------------------------
14231427
* Optimized version for FASTEST only
@@ -1434,40 +1438,41 @@
14341438
/* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
14351439
* It is easy to get rid of this optimization if necessary.
14361440
*/
14371441
Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
14381442
1439
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
1443
+ Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
1444
+ "need lookahead");
14401445
14411446
Assert(cur_match < s->strstart, "no future");
14421447
14431448
match = s->window + cur_match;
14441449
14451450
/* Return failure if the match length is less than 2:
14461451
*/
14471452
if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1;
14481453
1449
- /* The check at best_len-1 can be removed because it will be made
1454
+ /* The check at best_len - 1 can be removed because it will be made
14501455
* again later. (This heuristic is not always a win.)
14511456
* It is not necessary to compare scan[2] and match[2] since they
14521457
* are always equal when the other bytes match, given that
14531458
* the hash keys are equal and that HASH_BITS >= 8.
14541459
*/
14551460
scan += 2, match += 2;
14561461
Assert(*scan == *match, "match[2]?");
14571462
14581463
/* We check for insufficient lookahead only every 8th comparison;
1459
- * the 256th check will be made at strstart+258.
1464
+ * the 256th check will be made at strstart + 258.
14601465
*/
14611466
do {
14621467
} while (*++scan == *++match && *++scan == *++match &&
14631468
*++scan == *++match && *++scan == *++match &&
14641469
*++scan == *++match && *++scan == *++match &&
14651470
*++scan == *++match && *++scan == *++match &&
14661471
scan < strend);
14671472
1468
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
1473
+ Assert(scan <= s->window + (unsigned)(s->window_size - 1), "wild scan");
14691474
14701475
len = MAX_MATCH - (int)(strend - scan);
14711476
14721477
if (len < MIN_MATCH) return MIN_MATCH - 1;
14731478
@@ -1499,11 +1504,11 @@
14991504
fprintf(stderr, "%c%c", s->window[match++], s->window[start++]);
15001505
} while (--length != 0);
15011506
z_error("invalid match");
15021507
}
15031508
if (z_verbose > 1) {
1504
- fprintf(stderr,"\\[%d,%d]", start-match, length);
1509
+ fprintf(stderr,"\\[%d,%d]", start - match, length);
15051510
do { putc(s->window[start++], stderr); } while (--length != 0);
15061511
}
15071512
}
15081513
#else
15091514
# define check_match(s, start, match, length)
@@ -1545,13 +1550,13 @@
15451550
}
15461551
15471552
/* If the window is almost full and there is insufficient lookahead,
15481553
* move the upper half to the lower one to make room in the upper half.
15491554
*/
1550
- if (s->strstart >= wsize+MAX_DIST(s)) {
1555
+ if (s->strstart >= wsize + MAX_DIST(s)) {
15511556
1552
- zmemcpy(s->window, s->window+wsize, (unsigned)wsize - more);
1557
+ zmemcpy(s->window, s->window + wsize, (unsigned)wsize - more);
15531558
s->match_start -= wsize;
15541559
s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
15551560
s->block_start -= (long) wsize;
15561561
if (s->insert > s->strstart)
15571562
s->insert = s->strstart;
@@ -1678,11 +1683,11 @@
16781683
* allowed here, then the hash table will be cleared, since two or more slides
16791684
* is the same as a clear.
16801685
*
16811686
* deflate_stored() is written to minimize the number of times an input byte is
16821687
* copied. It is most efficient with large input and output buffers, which
1683
- * maximizes the opportunites to have a single copy from next_in to next_out.
1688
+ * maximizes the opportunities to have a single copy from next_in to next_out.
16841689
*/
16851690
local block_state deflate_stored(s, flush)
16861691
deflate_state *s;
16871692
int flush;
16881693
{
@@ -1888,11 +1893,11 @@
18881893
return need_more;
18891894
}
18901895
if (s->lookahead == 0) break; /* flush the current block */
18911896
}
18921897
1893
- /* Insert the string window[strstart .. strstart+2] in the
1898
+ /* Insert the string window[strstart .. strstart + 2] in the
18941899
* dictionary, and set hash_head to the head of the hash chain:
18951900
*/
18961901
hash_head = NIL;
18971902
if (s->lookahead >= MIN_MATCH) {
18981903
INSERT_STRING(s, s->strstart, hash_head);
@@ -1936,11 +1941,11 @@
19361941
#endif
19371942
{
19381943
s->strstart += s->match_length;
19391944
s->match_length = 0;
19401945
s->ins_h = s->window[s->strstart];
1941
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
1946
+ UPDATE_HASH(s, s->ins_h, s->window[s->strstart + 1]);
19421947
#if MIN_MATCH != 3
19431948
Call UPDATE_HASH() MIN_MATCH-3 more times
19441949
#endif
19451950
/* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
19461951
* matter since it will be recomputed at next deflate call.
@@ -1947,11 +1952,11 @@
19471952
*/
19481953
}
19491954
} else {
19501955
/* No match, output a literal byte */
19511956
Tracevv((stderr,"%c", s->window[s->strstart]));
1952
- _tr_tally_lit (s, s->window[s->strstart], bflush);
1957
+ _tr_tally_lit(s, s->window[s->strstart], bflush);
19531958
s->lookahead--;
19541959
s->strstart++;
19551960
}
19561961
if (bflush) FLUSH_BLOCK(s, 0);
19571962
}
@@ -1991,11 +1996,11 @@
19911996
return need_more;
19921997
}
19931998
if (s->lookahead == 0) break; /* flush the current block */
19941999
}
19952000
1996
- /* Insert the string window[strstart .. strstart+2] in the
2001
+ /* Insert the string window[strstart .. strstart + 2] in the
19972002
* dictionary, and set hash_head to the head of the hash chain:
19982003
*/
19992004
hash_head = NIL;
20002005
if (s->lookahead >= MIN_MATCH) {
20012006
INSERT_STRING(s, s->strstart, hash_head);
@@ -2033,21 +2038,21 @@
20332038
*/
20342039
if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
20352040
uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
20362041
/* Do not insert strings in hash table beyond this. */
20372042
2038
- check_match(s, s->strstart-1, s->prev_match, s->prev_length);
2043
+ check_match(s, s->strstart - 1, s->prev_match, s->prev_length);
20392044
2040
- _tr_tally_dist(s, s->strstart -1 - s->prev_match,
2045
+ _tr_tally_dist(s, s->strstart - 1 - s->prev_match,
20412046
s->prev_length - MIN_MATCH, bflush);
20422047
20432048
/* Insert in hash table all strings up to the end of the match.
2044
- * strstart-1 and strstart are already inserted. If there is not
2049
+ * strstart - 1 and strstart are already inserted. If there is not
20452050
* enough lookahead, the last two strings are not inserted in
20462051
* the hash table.
20472052
*/
2048
- s->lookahead -= s->prev_length-1;
2053
+ s->lookahead -= s->prev_length - 1;
20492054
s->prev_length -= 2;
20502055
do {
20512056
if (++s->strstart <= max_insert) {
20522057
INSERT_STRING(s, s->strstart, hash_head);
20532058
}
@@ -2061,12 +2066,12 @@
20612066
} else if (s->match_available) {
20622067
/* If there was no match at the previous position, output a
20632068
* single literal. If there was a match but the current match
20642069
* is longer, truncate the previous match to a single literal.
20652070
*/
2066
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
2067
- _tr_tally_lit(s, s->window[s->strstart-1], bflush);
2071
+ Tracevv((stderr,"%c", s->window[s->strstart - 1]));
2072
+ _tr_tally_lit(s, s->window[s->strstart - 1], bflush);
20682073
if (bflush) {
20692074
FLUSH_BLOCK_ONLY(s, 0);
20702075
}
20712076
s->strstart++;
20722077
s->lookahead--;
@@ -2080,12 +2085,12 @@
20802085
s->lookahead--;
20812086
}
20822087
}
20832088
Assert (flush != Z_NO_FLUSH, "no flush?");
20842089
if (s->match_available) {
2085
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
2086
- _tr_tally_lit(s, s->window[s->strstart-1], bflush);
2090
+ Tracevv((stderr,"%c", s->window[s->strstart - 1]));
2091
+ _tr_tally_lit(s, s->window[s->strstart - 1], bflush);
20872092
s->match_available = 0;
20882093
}
20892094
s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
20902095
if (flush == Z_FINISH) {
20912096
FLUSH_BLOCK(s, 1);
@@ -2138,11 +2143,12 @@
21382143
scan < strend);
21392144
s->match_length = MAX_MATCH - (uInt)(strend - scan);
21402145
if (s->match_length > s->lookahead)
21412146
s->match_length = s->lookahead;
21422147
}
2143
- Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan");
2148
+ Assert(scan <= s->window + (uInt)(s->window_size - 1),
2149
+ "wild scan");
21442150
}
21452151
21462152
/* Emit match if have run of MIN_MATCH or longer, else emit literal */
21472153
if (s->match_length >= MIN_MATCH) {
21482154
check_match(s, s->strstart, s->strstart - 1, s->match_length);
@@ -2153,11 +2159,11 @@
21532159
s->strstart += s->match_length;
21542160
s->match_length = 0;
21552161
} else {
21562162
/* No match, output a literal byte */
21572163
Tracevv((stderr,"%c", s->window[s->strstart]));
2158
- _tr_tally_lit (s, s->window[s->strstart], bflush);
2164
+ _tr_tally_lit(s, s->window[s->strstart], bflush);
21592165
s->lookahead--;
21602166
s->strstart++;
21612167
}
21622168
if (bflush) FLUSH_BLOCK(s, 0);
21632169
}
@@ -2193,11 +2199,11 @@
21932199
}
21942200
21952201
/* Output a literal byte */
21962202
s->match_length = 0;
21972203
Tracevv((stderr,"%c", s->window[s->strstart]));
2198
- _tr_tally_lit (s, s->window[s->strstart], bflush);
2204
+ _tr_tally_lit(s, s->window[s->strstart], bflush);
21992205
s->lookahead--;
22002206
s->strstart++;
22012207
if (bflush) FLUSH_BLOCK(s, 0);
22022208
}
22032209
s->insert = 0;
22042210
--- compat/zlib/deflate.c
+++ compat/zlib/deflate.c
@@ -50,11 +50,11 @@
50 /* @(#) $Id$ */
51
52 #include "deflate.h"
53
54 const char deflate_copyright[] =
55 " deflate 1.2.12 Copyright 1995-2022 Jean-loup Gailly and Mark Adler ";
56 /*
57 If you use the zlib library in a product, an acknowledgment is welcome
58 in the documentation of your product. If for some reason you cannot
59 include such an acknowledgment, I would appreciate that you keep this
60 copyright string in the executable of your product.
@@ -85,17 +85,11 @@
85 local block_state deflate_huff OF((deflate_state *s, int flush));
86 local void lm_init OF((deflate_state *s));
87 local void putShortMSB OF((deflate_state *s, uInt b));
88 local void flush_pending OF((z_streamp strm));
89 local unsigned read_buf OF((z_streamp strm, Bytef *buf, unsigned size));
90 #ifdef ASMV
91 # pragma message("Assembler code may have bugs -- use at your own risk")
92 void match_init OF((void)); /* asm code initialization */
93 uInt longest_match OF((deflate_state *s, IPos cur_match));
94 #else
95 local uInt longest_match OF((deflate_state *s, IPos cur_match));
96 #endif
97
98 #ifdef ZLIB_DEBUG
99 local void check_match OF((deflate_state *s, IPos start, IPos match,
100 int length));
101 #endif
@@ -158,11 +152,11 @@
158 * Update a hash value with the given input byte
159 * IN assertion: all calls to UPDATE_HASH are made with consecutive input
160 * characters, so that a running hash key can be computed from the previous
161 * key instead of complete recalculation each time.
162 */
163 #define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
164
165
166 /* ===========================================================================
167 * Insert string str in the dictionary and set match_head to the previous head
168 * of the hash chain (the most recent string with same hash key). Return
@@ -189,13 +183,13 @@
189 * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
190 * prev[] will be initialized on the fly.
191 */
192 #define CLEAR_HASH(s) \
193 do { \
194 s->head[s->hash_size-1] = NIL; \
195 zmemzero((Bytef *)s->head, \
196 (unsigned)(s->hash_size-1)*sizeof(*s->head)); \
197 } while (0)
198
199 /* ===========================================================================
200 * Slide the hash table when sliding the window down (could be avoided with 32
201 * bit values at the expense of memory usage). We slide even when level == 0 to
@@ -283,10 +277,12 @@
283 if (level == Z_DEFAULT_COMPRESSION) level = 6;
284 #endif
285
286 if (windowBits < 0) { /* suppress zlib wrapper */
287 wrap = 0;
 
 
288 windowBits = -windowBits;
289 }
290 #ifdef GZIP
291 else if (windowBits > 15) {
292 wrap = 2; /* write gzip wrapper instead */
@@ -312,11 +308,11 @@
312 s->w_mask = s->w_size - 1;
313
314 s->hash_bits = (uInt)memLevel + 7;
315 s->hash_size = 1 << s->hash_bits;
316 s->hash_mask = s->hash_size - 1;
317 s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
318
319 s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
320 s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
321 s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
322
@@ -338,15 +334,15 @@
338 * in sym_buf is three bytes -- two for the distance and one for the
339 * literal/length. As each symbol is consumed, the pointer to the next
340 * sym_buf value to read moves forward three bytes. From that symbol, up to
341 * 31 bits are written to pending_buf. The closest the written pending_buf
342 * bits gets to the next sym_buf symbol to read is just before the last
343 * code is written. At that time, 31*(n-2) bits have been written, just
344 * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at
345 * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1
346 * symbols are written.) The closest the writing gets to what is unread is
347 * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and
348 * can range from 128 to 32768.
349 *
350 * Therefore, at a minimum, there are 142 bits of space between what is
351 * written and what is read in the overlain buffers, so the symbols cannot
352 * be overwritten by the compressed data. That space is actually 139 bits,
@@ -388,11 +384,11 @@
388 }
389
390 /* =========================================================================
391 * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
392 */
393 local int deflateStateCheck (strm)
394 z_streamp strm;
395 {
396 deflate_state *s;
397 if (strm == Z_NULL ||
398 strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
@@ -411,11 +407,11 @@
411 return 1;
412 return 0;
413 }
414
415 /* ========================================================================= */
416 int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
417 z_streamp strm;
418 const Bytef *dictionary;
419 uInt dictLength;
420 {
421 deflate_state *s;
@@ -480,11 +476,11 @@
480 s->wrap = wrap;
481 return Z_OK;
482 }
483
484 /* ========================================================================= */
485 int ZEXPORT deflateGetDictionary (strm, dictionary, dictLength)
486 z_streamp strm;
487 Bytef *dictionary;
488 uInt *dictLength;
489 {
490 deflate_state *s;
@@ -502,11 +498,11 @@
502 *dictLength = len;
503 return Z_OK;
504 }
505
506 /* ========================================================================= */
507 int ZEXPORT deflateResetKeep (strm)
508 z_streamp strm;
509 {
510 deflate_state *s;
511
512 if (deflateStateCheck(strm)) {
@@ -540,11 +536,11 @@
540
541 return Z_OK;
542 }
543
544 /* ========================================================================= */
545 int ZEXPORT deflateReset (strm)
546 z_streamp strm;
547 {
548 int ret;
549
550 ret = deflateResetKeep(strm);
@@ -552,11 +548,11 @@
552 lm_init(strm->state);
553 return ret;
554 }
555
556 /* ========================================================================= */
557 int ZEXPORT deflateSetHeader (strm, head)
558 z_streamp strm;
559 gz_headerp head;
560 {
561 if (deflateStateCheck(strm) || strm->state->wrap != 2)
562 return Z_STREAM_ERROR;
@@ -563,11 +559,11 @@
563 strm->state->gzhead = head;
564 return Z_OK;
565 }
566
567 /* ========================================================================= */
568 int ZEXPORT deflatePending (strm, pending, bits)
569 unsigned *pending;
570 int *bits;
571 z_streamp strm;
572 {
573 if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
@@ -577,11 +573,11 @@
577 *bits = strm->state->bi_valid;
578 return Z_OK;
579 }
580
581 /* ========================================================================= */
582 int ZEXPORT deflatePrime (strm, bits, value)
583 z_streamp strm;
584 int bits;
585 int value;
586 {
587 deflate_state *s;
@@ -672,40 +668,54 @@
672 s->max_chain_length = (uInt)max_chain;
673 return Z_OK;
674 }
675
676 /* =========================================================================
677 * For the default windowBits of 15 and memLevel of 8, this function returns
678 * a close to exact, as well as small, upper bound on the compressed size.
679 * They are coded as constants here for a reason--if the #define's are
680 * changed, then this function needs to be changed as well. The return
681 * value for 15 and 8 only works for those exact settings.
682 *
683 * For any setting other than those defaults for windowBits and memLevel,
684 * the value returned is a conservative worst case for the maximum expansion
685 * resulting from using fixed blocks instead of stored blocks, which deflate
686 * can emit on compressed data for some combinations of the parameters.
687 *
688 * This function could be more sophisticated to provide closer upper bounds for
689 * every combination of windowBits and memLevel. But even the conservative
690 * upper bound of about 14% expansion does not seem onerous for output buffer
691 * allocation.
 
 
 
 
 
 
 
692 */
693 uLong ZEXPORT deflateBound(strm, sourceLen)
694 z_streamp strm;
695 uLong sourceLen;
696 {
697 deflate_state *s;
698 uLong complen, wraplen;
699
700 /* conservative upper bound for compressed data */
701 complen = sourceLen +
702 ((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5;
 
 
703
704 /* if can't get parameters, return conservative bound plus zlib wrapper */
 
 
 
 
 
705 if (deflateStateCheck(strm))
706 return complen + 6;
707
708 /* compute wrapper length */
709 s = strm->state;
710 switch (s->wrap) {
711 case 0: /* raw deflate */
@@ -738,25 +748,26 @@
738 #endif
739 default: /* for compiler happiness */
740 wraplen = 6;
741 }
742
743 /* if not default parameters, return conservative bound */
744 if (s->w_bits != 15 || s->hash_bits != 8 + 7)
745 return complen + wraplen;
746
747 /* default settings: return tight bound for that case */
 
748 return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
749 (sourceLen >> 25) + 13 - 6 + wraplen;
750 }
751
752 /* =========================================================================
753 * Put a short in the pending buffer. The 16-bit value is put in MSB order.
754 * IN assertion: the stream state is correct and there is enough room in
755 * pending_buf.
756 */
757 local void putShortMSB (s, b)
758 deflate_state *s;
759 uInt b;
760 {
761 put_byte(s, (Byte)(b >> 8));
762 put_byte(s, (Byte)(b & 0xff));
@@ -799,11 +810,11 @@
799 strm->adler = crc32(strm->adler, s->pending_buf + (beg), \
800 s->pending - (beg)); \
801 } while (0)
802
803 /* ========================================================================= */
804 int ZEXPORT deflate (strm, flush)
805 z_streamp strm;
806 int flush;
807 {
808 int old_flush; /* value of flush param for previous deflate call */
809 deflate_state *s;
@@ -854,11 +865,11 @@
854 /* Write the header */
855 if (s->status == INIT_STATE && s->wrap == 0)
856 s->status = BUSY_STATE;
857 if (s->status == INIT_STATE) {
858 /* zlib header */
859 uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
860 uInt level_flags;
861
862 if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2)
863 level_flags = 0;
864 else if (s->level < 6)
@@ -1114,11 +1125,11 @@
1114 if (s->wrap > 0) s->wrap = -s->wrap; /* write the trailer only once! */
1115 return s->pending != 0 ? Z_OK : Z_STREAM_END;
1116 }
1117
1118 /* ========================================================================= */
1119 int ZEXPORT deflateEnd (strm)
1120 z_streamp strm;
1121 {
1122 int status;
1123
1124 if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
@@ -1140,11 +1151,11 @@
1140 /* =========================================================================
1141 * Copy the source state to the destination state.
1142 * To simplify the source, this is not supported for 16-bit MSDOS (which
1143 * doesn't have enough memory anyway to duplicate compression states).
1144 */
1145 int ZEXPORT deflateCopy (dest, source)
1146 z_streamp dest;
1147 z_streamp source;
1148 {
1149 #ifdef MAXSEG_64K
1150 return Z_STREAM_ERROR;
@@ -1229,11 +1240,11 @@
1229 }
1230
1231 /* ===========================================================================
1232 * Initialize the "longest match" routines for a new zlib stream
1233 */
1234 local void lm_init (s)
1235 deflate_state *s;
1236 {
1237 s->window_size = (ulg)2L*s->w_size;
1238
1239 CLEAR_HASH(s);
@@ -1250,15 +1261,10 @@
1250 s->lookahead = 0;
1251 s->insert = 0;
1252 s->match_length = s->prev_length = MIN_MATCH-1;
1253 s->match_available = 0;
1254 s->ins_h = 0;
1255 #ifndef FASTEST
1256 #ifdef ASMV
1257 match_init(); /* initialize the asm code */
1258 #endif
1259 #endif
1260 }
1261
1262 #ifndef FASTEST
1263 /* ===========================================================================
1264 * Set match_start to the longest match starting at the given string and
@@ -1267,14 +1273,10 @@
1267 * garbage.
1268 * IN assertions: cur_match is the head of the hash chain for the current
1269 * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
1270 * OUT assertion: the match length is not greater than s->lookahead.
1271 */
1272 #ifndef ASMV
1273 /* For 80x86 and 680x0, an optimized version will be provided in match.asm or
1274 * match.S. The code will be functionally equivalent.
1275 */
1276 local uInt longest_match(s, cur_match)
1277 deflate_state *s;
1278 IPos cur_match; /* current match */
1279 {
1280 unsigned chain_length = s->max_chain_length;/* max hash chain length */
@@ -1295,14 +1297,14 @@
1295 /* Compare two bytes at a time. Note: this is not always beneficial.
1296 * Try with and without -DUNALIGNED_OK to check.
1297 */
1298 register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
1299 register ush scan_start = *(ushf*)scan;
1300 register ush scan_end = *(ushf*)(scan+best_len-1);
1301 #else
1302 register Bytef *strend = s->window + s->strstart + MAX_MATCH;
1303 register Byte scan_end1 = scan[best_len-1];
1304 register Byte scan_end = scan[best_len];
1305 #endif
1306
1307 /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
1308 * It is easy to get rid of this optimization if necessary.
@@ -1316,11 +1318,12 @@
1316 /* Do not look for matches beyond the end of the input. This is necessary
1317 * to make deflate deterministic.
1318 */
1319 if ((uInt)nice_match > s->lookahead) nice_match = (int)s->lookahead;
1320
1321 Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
 
1322
1323 do {
1324 Assert(cur_match < s->strstart, "no future");
1325 match = s->window + cur_match;
1326
@@ -1334,66 +1337,68 @@
1334 */
1335 #if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
1336 /* This code assumes sizeof(unsigned short) == 2. Do not use
1337 * UNALIGNED_OK if your compiler uses a different size.
1338 */
1339 if (*(ushf*)(match+best_len-1) != scan_end ||
1340 *(ushf*)match != scan_start) continue;
1341
1342 /* It is not necessary to compare scan[2] and match[2] since they are
1343 * always equal when the other bytes match, given that the hash keys
1344 * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
1345 * strstart+3, +5, ... up to strstart+257. We check for insufficient
1346 * lookahead only every 4th comparison; the 128th check will be made
1347 * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
1348 * necessary to put more guard bytes at the end of the window, or
1349 * to check more often for insufficient lookahead.
1350 */
1351 Assert(scan[2] == match[2], "scan[2]?");
1352 scan++, match++;
1353 do {
1354 } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
1355 *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
1356 *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
1357 *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
1358 scan < strend);
1359 /* The funny "do {}" generates better code on most compilers */
1360
1361 /* Here, scan <= window+strstart+257 */
1362 Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
 
1363 if (*scan == *match) scan++;
1364
1365 len = (MAX_MATCH - 1) - (int)(strend-scan);
1366 scan = strend - (MAX_MATCH-1);
1367
1368 #else /* UNALIGNED_OK */
1369
1370 if (match[best_len] != scan_end ||
1371 match[best_len-1] != scan_end1 ||
1372 *match != *scan ||
1373 *++match != scan[1]) continue;
1374
1375 /* The check at best_len-1 can be removed because it will be made
1376 * again later. (This heuristic is not always a win.)
1377 * It is not necessary to compare scan[2] and match[2] since they
1378 * are always equal when the other bytes match, given that
1379 * the hash keys are equal and that HASH_BITS >= 8.
1380 */
1381 scan += 2, match++;
1382 Assert(*scan == *match, "match[2]?");
1383
1384 /* We check for insufficient lookahead only every 8th comparison;
1385 * the 256th check will be made at strstart+258.
1386 */
1387 do {
1388 } while (*++scan == *++match && *++scan == *++match &&
1389 *++scan == *++match && *++scan == *++match &&
1390 *++scan == *++match && *++scan == *++match &&
1391 *++scan == *++match && *++scan == *++match &&
1392 scan < strend);
1393
1394 Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
 
1395
1396 len = MAX_MATCH - (int)(strend - scan);
1397 scan = strend - MAX_MATCH;
1398
1399 #endif /* UNALIGNED_OK */
@@ -1401,23 +1406,22 @@
1401 if (len > best_len) {
1402 s->match_start = cur_match;
1403 best_len = len;
1404 if (len >= nice_match) break;
1405 #ifdef UNALIGNED_OK
1406 scan_end = *(ushf*)(scan+best_len-1);
1407 #else
1408 scan_end1 = scan[best_len-1];
1409 scan_end = scan[best_len];
1410 #endif
1411 }
1412 } while ((cur_match = prev[cur_match & wmask]) > limit
1413 && --chain_length != 0);
1414
1415 if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
1416 return s->lookahead;
1417 }
1418 #endif /* ASMV */
1419
1420 #else /* FASTEST */
1421
1422 /* ---------------------------------------------------------------------------
1423 * Optimized version for FASTEST only
@@ -1434,40 +1438,41 @@
1434 /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
1435 * It is easy to get rid of this optimization if necessary.
1436 */
1437 Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
1438
1439 Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
 
1440
1441 Assert(cur_match < s->strstart, "no future");
1442
1443 match = s->window + cur_match;
1444
1445 /* Return failure if the match length is less than 2:
1446 */
1447 if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1;
1448
1449 /* The check at best_len-1 can be removed because it will be made
1450 * again later. (This heuristic is not always a win.)
1451 * It is not necessary to compare scan[2] and match[2] since they
1452 * are always equal when the other bytes match, given that
1453 * the hash keys are equal and that HASH_BITS >= 8.
1454 */
1455 scan += 2, match += 2;
1456 Assert(*scan == *match, "match[2]?");
1457
1458 /* We check for insufficient lookahead only every 8th comparison;
1459 * the 256th check will be made at strstart+258.
1460 */
1461 do {
1462 } while (*++scan == *++match && *++scan == *++match &&
1463 *++scan == *++match && *++scan == *++match &&
1464 *++scan == *++match && *++scan == *++match &&
1465 *++scan == *++match && *++scan == *++match &&
1466 scan < strend);
1467
1468 Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
1469
1470 len = MAX_MATCH - (int)(strend - scan);
1471
1472 if (len < MIN_MATCH) return MIN_MATCH - 1;
1473
@@ -1499,11 +1504,11 @@
1499 fprintf(stderr, "%c%c", s->window[match++], s->window[start++]);
1500 } while (--length != 0);
1501 z_error("invalid match");
1502 }
1503 if (z_verbose > 1) {
1504 fprintf(stderr,"\\[%d,%d]", start-match, length);
1505 do { putc(s->window[start++], stderr); } while (--length != 0);
1506 }
1507 }
1508 #else
1509 # define check_match(s, start, match, length)
@@ -1545,13 +1550,13 @@
1545 }
1546
1547 /* If the window is almost full and there is insufficient lookahead,
1548 * move the upper half to the lower one to make room in the upper half.
1549 */
1550 if (s->strstart >= wsize+MAX_DIST(s)) {
1551
1552 zmemcpy(s->window, s->window+wsize, (unsigned)wsize - more);
1553 s->match_start -= wsize;
1554 s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
1555 s->block_start -= (long) wsize;
1556 if (s->insert > s->strstart)
1557 s->insert = s->strstart;
@@ -1678,11 +1683,11 @@
1678 * allowed here, then the hash table will be cleared, since two or more slides
1679 * is the same as a clear.
1680 *
1681 * deflate_stored() is written to minimize the number of times an input byte is
1682 * copied. It is most efficient with large input and output buffers, which
1683 * maximizes the opportunites to have a single copy from next_in to next_out.
1684 */
1685 local block_state deflate_stored(s, flush)
1686 deflate_state *s;
1687 int flush;
1688 {
@@ -1888,11 +1893,11 @@
1888 return need_more;
1889 }
1890 if (s->lookahead == 0) break; /* flush the current block */
1891 }
1892
1893 /* Insert the string window[strstart .. strstart+2] in the
1894 * dictionary, and set hash_head to the head of the hash chain:
1895 */
1896 hash_head = NIL;
1897 if (s->lookahead >= MIN_MATCH) {
1898 INSERT_STRING(s, s->strstart, hash_head);
@@ -1936,11 +1941,11 @@
1936 #endif
1937 {
1938 s->strstart += s->match_length;
1939 s->match_length = 0;
1940 s->ins_h = s->window[s->strstart];
1941 UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
1942 #if MIN_MATCH != 3
1943 Call UPDATE_HASH() MIN_MATCH-3 more times
1944 #endif
1945 /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
1946 * matter since it will be recomputed at next deflate call.
@@ -1947,11 +1952,11 @@
1947 */
1948 }
1949 } else {
1950 /* No match, output a literal byte */
1951 Tracevv((stderr,"%c", s->window[s->strstart]));
1952 _tr_tally_lit (s, s->window[s->strstart], bflush);
1953 s->lookahead--;
1954 s->strstart++;
1955 }
1956 if (bflush) FLUSH_BLOCK(s, 0);
1957 }
@@ -1991,11 +1996,11 @@
1991 return need_more;
1992 }
1993 if (s->lookahead == 0) break; /* flush the current block */
1994 }
1995
1996 /* Insert the string window[strstart .. strstart+2] in the
1997 * dictionary, and set hash_head to the head of the hash chain:
1998 */
1999 hash_head = NIL;
2000 if (s->lookahead >= MIN_MATCH) {
2001 INSERT_STRING(s, s->strstart, hash_head);
@@ -2033,21 +2038,21 @@
2033 */
2034 if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
2035 uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
2036 /* Do not insert strings in hash table beyond this. */
2037
2038 check_match(s, s->strstart-1, s->prev_match, s->prev_length);
2039
2040 _tr_tally_dist(s, s->strstart -1 - s->prev_match,
2041 s->prev_length - MIN_MATCH, bflush);
2042
2043 /* Insert in hash table all strings up to the end of the match.
2044 * strstart-1 and strstart are already inserted. If there is not
2045 * enough lookahead, the last two strings are not inserted in
2046 * the hash table.
2047 */
2048 s->lookahead -= s->prev_length-1;
2049 s->prev_length -= 2;
2050 do {
2051 if (++s->strstart <= max_insert) {
2052 INSERT_STRING(s, s->strstart, hash_head);
2053 }
@@ -2061,12 +2066,12 @@
2061 } else if (s->match_available) {
2062 /* If there was no match at the previous position, output a
2063 * single literal. If there was a match but the current match
2064 * is longer, truncate the previous match to a single literal.
2065 */
2066 Tracevv((stderr,"%c", s->window[s->strstart-1]));
2067 _tr_tally_lit(s, s->window[s->strstart-1], bflush);
2068 if (bflush) {
2069 FLUSH_BLOCK_ONLY(s, 0);
2070 }
2071 s->strstart++;
2072 s->lookahead--;
@@ -2080,12 +2085,12 @@
2080 s->lookahead--;
2081 }
2082 }
2083 Assert (flush != Z_NO_FLUSH, "no flush?");
2084 if (s->match_available) {
2085 Tracevv((stderr,"%c", s->window[s->strstart-1]));
2086 _tr_tally_lit(s, s->window[s->strstart-1], bflush);
2087 s->match_available = 0;
2088 }
2089 s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
2090 if (flush == Z_FINISH) {
2091 FLUSH_BLOCK(s, 1);
@@ -2138,11 +2143,12 @@
2138 scan < strend);
2139 s->match_length = MAX_MATCH - (uInt)(strend - scan);
2140 if (s->match_length > s->lookahead)
2141 s->match_length = s->lookahead;
2142 }
2143 Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan");
 
2144 }
2145
2146 /* Emit match if have run of MIN_MATCH or longer, else emit literal */
2147 if (s->match_length >= MIN_MATCH) {
2148 check_match(s, s->strstart, s->strstart - 1, s->match_length);
@@ -2153,11 +2159,11 @@
2153 s->strstart += s->match_length;
2154 s->match_length = 0;
2155 } else {
2156 /* No match, output a literal byte */
2157 Tracevv((stderr,"%c", s->window[s->strstart]));
2158 _tr_tally_lit (s, s->window[s->strstart], bflush);
2159 s->lookahead--;
2160 s->strstart++;
2161 }
2162 if (bflush) FLUSH_BLOCK(s, 0);
2163 }
@@ -2193,11 +2199,11 @@
2193 }
2194
2195 /* Output a literal byte */
2196 s->match_length = 0;
2197 Tracevv((stderr,"%c", s->window[s->strstart]));
2198 _tr_tally_lit (s, s->window[s->strstart], bflush);
2199 s->lookahead--;
2200 s->strstart++;
2201 if (bflush) FLUSH_BLOCK(s, 0);
2202 }
2203 s->insert = 0;
2204
--- compat/zlib/deflate.c
+++ compat/zlib/deflate.c
@@ -50,11 +50,11 @@
50 /* @(#) $Id$ */
51
52 #include "deflate.h"
53
54 const char deflate_copyright[] =
55 " deflate 1.2.13 Copyright 1995-2022 Jean-loup Gailly and Mark Adler ";
56 /*
57 If you use the zlib library in a product, an acknowledgment is welcome
58 in the documentation of your product. If for some reason you cannot
59 include such an acknowledgment, I would appreciate that you keep this
60 copyright string in the executable of your product.
@@ -85,17 +85,11 @@
85 local block_state deflate_huff OF((deflate_state *s, int flush));
86 local void lm_init OF((deflate_state *s));
87 local void putShortMSB OF((deflate_state *s, uInt b));
88 local void flush_pending OF((z_streamp strm));
89 local unsigned read_buf OF((z_streamp strm, Bytef *buf, unsigned size));
 
 
 
 
 
90 local uInt longest_match OF((deflate_state *s, IPos cur_match));
 
91
92 #ifdef ZLIB_DEBUG
93 local void check_match OF((deflate_state *s, IPos start, IPos match,
94 int length));
95 #endif
@@ -158,11 +152,11 @@
152 * Update a hash value with the given input byte
153 * IN assertion: all calls to UPDATE_HASH are made with consecutive input
154 * characters, so that a running hash key can be computed from the previous
155 * key instead of complete recalculation each time.
156 */
157 #define UPDATE_HASH(s,h,c) (h = (((h) << s->hash_shift) ^ (c)) & s->hash_mask)
158
159
160 /* ===========================================================================
161 * Insert string str in the dictionary and set match_head to the previous head
162 * of the hash chain (the most recent string with same hash key). Return
@@ -189,13 +183,13 @@
183 * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
184 * prev[] will be initialized on the fly.
185 */
186 #define CLEAR_HASH(s) \
187 do { \
188 s->head[s->hash_size - 1] = NIL; \
189 zmemzero((Bytef *)s->head, \
190 (unsigned)(s->hash_size - 1)*sizeof(*s->head)); \
191 } while (0)
192
193 /* ===========================================================================
194 * Slide the hash table when sliding the window down (could be avoided with 32
195 * bit values at the expense of memory usage). We slide even when level == 0 to
@@ -283,10 +277,12 @@
277 if (level == Z_DEFAULT_COMPRESSION) level = 6;
278 #endif
279
280 if (windowBits < 0) { /* suppress zlib wrapper */
281 wrap = 0;
282 if (windowBits < -15)
283 return Z_STREAM_ERROR;
284 windowBits = -windowBits;
285 }
286 #ifdef GZIP
287 else if (windowBits > 15) {
288 wrap = 2; /* write gzip wrapper instead */
@@ -312,11 +308,11 @@
308 s->w_mask = s->w_size - 1;
309
310 s->hash_bits = (uInt)memLevel + 7;
311 s->hash_size = 1 << s->hash_bits;
312 s->hash_mask = s->hash_size - 1;
313 s->hash_shift = ((s->hash_bits + MIN_MATCH-1) / MIN_MATCH);
314
315 s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
316 s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
317 s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
318
@@ -338,15 +334,15 @@
334 * in sym_buf is three bytes -- two for the distance and one for the
335 * literal/length. As each symbol is consumed, the pointer to the next
336 * sym_buf value to read moves forward three bytes. From that symbol, up to
337 * 31 bits are written to pending_buf. The closest the written pending_buf
338 * bits gets to the next sym_buf symbol to read is just before the last
339 * code is written. At that time, 31*(n - 2) bits have been written, just
340 * after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at
341 * 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1
342 * symbols are written.) The closest the writing gets to what is unread is
343 * then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and
344 * can range from 128 to 32768.
345 *
346 * Therefore, at a minimum, there are 142 bits of space between what is
347 * written and what is read in the overlain buffers, so the symbols cannot
348 * be overwritten by the compressed data. That space is actually 139 bits,
@@ -388,11 +384,11 @@
384 }
385
386 /* =========================================================================
387 * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
388 */
389 local int deflateStateCheck(strm)
390 z_streamp strm;
391 {
392 deflate_state *s;
393 if (strm == Z_NULL ||
394 strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
@@ -411,11 +407,11 @@
407 return 1;
408 return 0;
409 }
410
411 /* ========================================================================= */
412 int ZEXPORT deflateSetDictionary(strm, dictionary, dictLength)
413 z_streamp strm;
414 const Bytef *dictionary;
415 uInt dictLength;
416 {
417 deflate_state *s;
@@ -480,11 +476,11 @@
476 s->wrap = wrap;
477 return Z_OK;
478 }
479
480 /* ========================================================================= */
481 int ZEXPORT deflateGetDictionary(strm, dictionary, dictLength)
482 z_streamp strm;
483 Bytef *dictionary;
484 uInt *dictLength;
485 {
486 deflate_state *s;
@@ -502,11 +498,11 @@
498 *dictLength = len;
499 return Z_OK;
500 }
501
502 /* ========================================================================= */
503 int ZEXPORT deflateResetKeep(strm)
504 z_streamp strm;
505 {
506 deflate_state *s;
507
508 if (deflateStateCheck(strm)) {
@@ -540,11 +536,11 @@
536
537 return Z_OK;
538 }
539
540 /* ========================================================================= */
541 int ZEXPORT deflateReset(strm)
542 z_streamp strm;
543 {
544 int ret;
545
546 ret = deflateResetKeep(strm);
@@ -552,11 +548,11 @@
548 lm_init(strm->state);
549 return ret;
550 }
551
552 /* ========================================================================= */
553 int ZEXPORT deflateSetHeader(strm, head)
554 z_streamp strm;
555 gz_headerp head;
556 {
557 if (deflateStateCheck(strm) || strm->state->wrap != 2)
558 return Z_STREAM_ERROR;
@@ -563,11 +559,11 @@
559 strm->state->gzhead = head;
560 return Z_OK;
561 }
562
563 /* ========================================================================= */
564 int ZEXPORT deflatePending(strm, pending, bits)
565 unsigned *pending;
566 int *bits;
567 z_streamp strm;
568 {
569 if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
@@ -577,11 +573,11 @@
573 *bits = strm->state->bi_valid;
574 return Z_OK;
575 }
576
577 /* ========================================================================= */
578 int ZEXPORT deflatePrime(strm, bits, value)
579 z_streamp strm;
580 int bits;
581 int value;
582 {
583 deflate_state *s;
@@ -672,40 +668,54 @@
668 s->max_chain_length = (uInt)max_chain;
669 return Z_OK;
670 }
671
672 /* =========================================================================
673 * For the default windowBits of 15 and memLevel of 8, this function returns a
674 * close to exact, as well as small, upper bound on the compressed size. This
675 * is an expansion of ~0.03%, plus a small constant.
676 *
677 * For any setting other than those defaults for windowBits and memLevel, one
678 * of two worst case bounds is returned. This is at most an expansion of ~4% or
679 * ~13%, plus a small constant.
680 *
681 * Both the 0.03% and 4% derive from the overhead of stored blocks. The first
682 * one is for stored blocks of 16383 bytes (memLevel == 8), whereas the second
683 * is for stored blocks of 127 bytes (the worst case memLevel == 1). The
684 * expansion results from five bytes of header for each stored block.
685 *
686 * The larger expansion of 13% results from a window size less than or equal to
687 * the symbols buffer size (windowBits <= memLevel + 7). In that case some of
688 * the data being compressed may have slid out of the sliding window, impeding
689 * a stored block from being emitted. Then the only choice is a fixed or
690 * dynamic block, where a fixed block limits the maximum expansion to 9 bits
691 * per 8-bit byte, plus 10 bits for every block. The smallest block size for
692 * which this can occur is 255 (memLevel == 2).
693 *
694 * Shifts are used to approximate divisions, for speed.
695 */
696 uLong ZEXPORT deflateBound(strm, sourceLen)
697 z_streamp strm;
698 uLong sourceLen;
699 {
700 deflate_state *s;
701 uLong fixedlen, storelen, wraplen;
702
703 /* upper bound for fixed blocks with 9-bit literals and length 255
704 (memLevel == 2, which is the lowest that may not use stored blocks) --
705 ~13% overhead plus a small constant */
706 fixedlen = sourceLen + (sourceLen >> 3) + (sourceLen >> 8) +
707 (sourceLen >> 9) + 4;
708
709 /* upper bound for stored blocks with length 127 (memLevel == 1) --
710 ~4% overhead plus a small constant */
711 storelen = sourceLen + (sourceLen >> 5) + (sourceLen >> 7) +
712 (sourceLen >> 11) + 7;
713
714 /* if can't get parameters, return larger bound plus a zlib wrapper */
715 if (deflateStateCheck(strm))
716 return (fixedlen > storelen ? fixedlen : storelen) + 6;
717
718 /* compute wrapper length */
719 s = strm->state;
720 switch (s->wrap) {
721 case 0: /* raw deflate */
@@ -738,25 +748,26 @@
748 #endif
749 default: /* for compiler happiness */
750 wraplen = 6;
751 }
752
753 /* if not default parameters, return one of the conservative bounds */
754 if (s->w_bits != 15 || s->hash_bits != 8 + 7)
755 return (s->w_bits <= s->hash_bits ? fixedlen : storelen) + wraplen;
756
757 /* default settings: return tight bound for that case -- ~0.03% overhead
758 plus a small constant */
759 return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
760 (sourceLen >> 25) + 13 - 6 + wraplen;
761 }
762
763 /* =========================================================================
764 * Put a short in the pending buffer. The 16-bit value is put in MSB order.
765 * IN assertion: the stream state is correct and there is enough room in
766 * pending_buf.
767 */
768 local void putShortMSB(s, b)
769 deflate_state *s;
770 uInt b;
771 {
772 put_byte(s, (Byte)(b >> 8));
773 put_byte(s, (Byte)(b & 0xff));
@@ -799,11 +810,11 @@
810 strm->adler = crc32(strm->adler, s->pending_buf + (beg), \
811 s->pending - (beg)); \
812 } while (0)
813
814 /* ========================================================================= */
815 int ZEXPORT deflate(strm, flush)
816 z_streamp strm;
817 int flush;
818 {
819 int old_flush; /* value of flush param for previous deflate call */
820 deflate_state *s;
@@ -854,11 +865,11 @@
865 /* Write the header */
866 if (s->status == INIT_STATE && s->wrap == 0)
867 s->status = BUSY_STATE;
868 if (s->status == INIT_STATE) {
869 /* zlib header */
870 uInt header = (Z_DEFLATED + ((s->w_bits - 8) << 4)) << 8;
871 uInt level_flags;
872
873 if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2)
874 level_flags = 0;
875 else if (s->level < 6)
@@ -1114,11 +1125,11 @@
1125 if (s->wrap > 0) s->wrap = -s->wrap; /* write the trailer only once! */
1126 return s->pending != 0 ? Z_OK : Z_STREAM_END;
1127 }
1128
1129 /* ========================================================================= */
1130 int ZEXPORT deflateEnd(strm)
1131 z_streamp strm;
1132 {
1133 int status;
1134
1135 if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
@@ -1140,11 +1151,11 @@
1151 /* =========================================================================
1152 * Copy the source state to the destination state.
1153 * To simplify the source, this is not supported for 16-bit MSDOS (which
1154 * doesn't have enough memory anyway to duplicate compression states).
1155 */
1156 int ZEXPORT deflateCopy(dest, source)
1157 z_streamp dest;
1158 z_streamp source;
1159 {
1160 #ifdef MAXSEG_64K
1161 return Z_STREAM_ERROR;
@@ -1229,11 +1240,11 @@
1240 }
1241
1242 /* ===========================================================================
1243 * Initialize the "longest match" routines for a new zlib stream
1244 */
1245 local void lm_init(s)
1246 deflate_state *s;
1247 {
1248 s->window_size = (ulg)2L*s->w_size;
1249
1250 CLEAR_HASH(s);
@@ -1250,15 +1261,10 @@
1261 s->lookahead = 0;
1262 s->insert = 0;
1263 s->match_length = s->prev_length = MIN_MATCH-1;
1264 s->match_available = 0;
1265 s->ins_h = 0;
 
 
 
 
 
1266 }
1267
1268 #ifndef FASTEST
1269 /* ===========================================================================
1270 * Set match_start to the longest match starting at the given string and
@@ -1267,14 +1273,10 @@
1273 * garbage.
1274 * IN assertions: cur_match is the head of the hash chain for the current
1275 * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
1276 * OUT assertion: the match length is not greater than s->lookahead.
1277 */
 
 
 
 
1278 local uInt longest_match(s, cur_match)
1279 deflate_state *s;
1280 IPos cur_match; /* current match */
1281 {
1282 unsigned chain_length = s->max_chain_length;/* max hash chain length */
@@ -1295,14 +1297,14 @@
1297 /* Compare two bytes at a time. Note: this is not always beneficial.
1298 * Try with and without -DUNALIGNED_OK to check.
1299 */
1300 register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
1301 register ush scan_start = *(ushf*)scan;
1302 register ush scan_end = *(ushf*)(scan + best_len - 1);
1303 #else
1304 register Bytef *strend = s->window + s->strstart + MAX_MATCH;
1305 register Byte scan_end1 = scan[best_len - 1];
1306 register Byte scan_end = scan[best_len];
1307 #endif
1308
1309 /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
1310 * It is easy to get rid of this optimization if necessary.
@@ -1316,11 +1318,12 @@
1318 /* Do not look for matches beyond the end of the input. This is necessary
1319 * to make deflate deterministic.
1320 */
1321 if ((uInt)nice_match > s->lookahead) nice_match = (int)s->lookahead;
1322
1323 Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
1324 "need lookahead");
1325
1326 do {
1327 Assert(cur_match < s->strstart, "no future");
1328 match = s->window + cur_match;
1329
@@ -1334,66 +1337,68 @@
1337 */
1338 #if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
1339 /* This code assumes sizeof(unsigned short) == 2. Do not use
1340 * UNALIGNED_OK if your compiler uses a different size.
1341 */
1342 if (*(ushf*)(match + best_len - 1) != scan_end ||
1343 *(ushf*)match != scan_start) continue;
1344
1345 /* It is not necessary to compare scan[2] and match[2] since they are
1346 * always equal when the other bytes match, given that the hash keys
1347 * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
1348 * strstart + 3, + 5, up to strstart + 257. We check for insufficient
1349 * lookahead only every 4th comparison; the 128th check will be made
1350 * at strstart + 257. If MAX_MATCH-2 is not a multiple of 8, it is
1351 * necessary to put more guard bytes at the end of the window, or
1352 * to check more often for insufficient lookahead.
1353 */
1354 Assert(scan[2] == match[2], "scan[2]?");
1355 scan++, match++;
1356 do {
1357 } while (*(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
1358 *(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
1359 *(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
1360 *(ushf*)(scan += 2) == *(ushf*)(match += 2) &&
1361 scan < strend);
1362 /* The funny "do {}" generates better code on most compilers */
1363
1364 /* Here, scan <= window + strstart + 257 */
1365 Assert(scan <= s->window + (unsigned)(s->window_size - 1),
1366 "wild scan");
1367 if (*scan == *match) scan++;
1368
1369 len = (MAX_MATCH - 1) - (int)(strend - scan);
1370 scan = strend - (MAX_MATCH-1);
1371
1372 #else /* UNALIGNED_OK */
1373
1374 if (match[best_len] != scan_end ||
1375 match[best_len - 1] != scan_end1 ||
1376 *match != *scan ||
1377 *++match != scan[1]) continue;
1378
1379 /* The check at best_len - 1 can be removed because it will be made
1380 * again later. (This heuristic is not always a win.)
1381 * It is not necessary to compare scan[2] and match[2] since they
1382 * are always equal when the other bytes match, given that
1383 * the hash keys are equal and that HASH_BITS >= 8.
1384 */
1385 scan += 2, match++;
1386 Assert(*scan == *match, "match[2]?");
1387
1388 /* We check for insufficient lookahead only every 8th comparison;
1389 * the 256th check will be made at strstart + 258.
1390 */
1391 do {
1392 } while (*++scan == *++match && *++scan == *++match &&
1393 *++scan == *++match && *++scan == *++match &&
1394 *++scan == *++match && *++scan == *++match &&
1395 *++scan == *++match && *++scan == *++match &&
1396 scan < strend);
1397
1398 Assert(scan <= s->window + (unsigned)(s->window_size - 1),
1399 "wild scan");
1400
1401 len = MAX_MATCH - (int)(strend - scan);
1402 scan = strend - MAX_MATCH;
1403
1404 #endif /* UNALIGNED_OK */
@@ -1401,23 +1406,22 @@
1406 if (len > best_len) {
1407 s->match_start = cur_match;
1408 best_len = len;
1409 if (len >= nice_match) break;
1410 #ifdef UNALIGNED_OK
1411 scan_end = *(ushf*)(scan + best_len - 1);
1412 #else
1413 scan_end1 = scan[best_len - 1];
1414 scan_end = scan[best_len];
1415 #endif
1416 }
1417 } while ((cur_match = prev[cur_match & wmask]) > limit
1418 && --chain_length != 0);
1419
1420 if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
1421 return s->lookahead;
1422 }
 
1423
1424 #else /* FASTEST */
1425
1426 /* ---------------------------------------------------------------------------
1427 * Optimized version for FASTEST only
@@ -1434,40 +1438,41 @@
1438 /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
1439 * It is easy to get rid of this optimization if necessary.
1440 */
1441 Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
1442
1443 Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
1444 "need lookahead");
1445
1446 Assert(cur_match < s->strstart, "no future");
1447
1448 match = s->window + cur_match;
1449
1450 /* Return failure if the match length is less than 2:
1451 */
1452 if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1;
1453
1454 /* The check at best_len - 1 can be removed because it will be made
1455 * again later. (This heuristic is not always a win.)
1456 * It is not necessary to compare scan[2] and match[2] since they
1457 * are always equal when the other bytes match, given that
1458 * the hash keys are equal and that HASH_BITS >= 8.
1459 */
1460 scan += 2, match += 2;
1461 Assert(*scan == *match, "match[2]?");
1462
1463 /* We check for insufficient lookahead only every 8th comparison;
1464 * the 256th check will be made at strstart + 258.
1465 */
1466 do {
1467 } while (*++scan == *++match && *++scan == *++match &&
1468 *++scan == *++match && *++scan == *++match &&
1469 *++scan == *++match && *++scan == *++match &&
1470 *++scan == *++match && *++scan == *++match &&
1471 scan < strend);
1472
1473 Assert(scan <= s->window + (unsigned)(s->window_size - 1), "wild scan");
1474
1475 len = MAX_MATCH - (int)(strend - scan);
1476
1477 if (len < MIN_MATCH) return MIN_MATCH - 1;
1478
@@ -1499,11 +1504,11 @@
1504 fprintf(stderr, "%c%c", s->window[match++], s->window[start++]);
1505 } while (--length != 0);
1506 z_error("invalid match");
1507 }
1508 if (z_verbose > 1) {
1509 fprintf(stderr,"\\[%d,%d]", start - match, length);
1510 do { putc(s->window[start++], stderr); } while (--length != 0);
1511 }
1512 }
1513 #else
1514 # define check_match(s, start, match, length)
@@ -1545,13 +1550,13 @@
1550 }
1551
1552 /* If the window is almost full and there is insufficient lookahead,
1553 * move the upper half to the lower one to make room in the upper half.
1554 */
1555 if (s->strstart >= wsize + MAX_DIST(s)) {
1556
1557 zmemcpy(s->window, s->window + wsize, (unsigned)wsize - more);
1558 s->match_start -= wsize;
1559 s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
1560 s->block_start -= (long) wsize;
1561 if (s->insert > s->strstart)
1562 s->insert = s->strstart;
@@ -1678,11 +1683,11 @@
1683 * allowed here, then the hash table will be cleared, since two or more slides
1684 * is the same as a clear.
1685 *
1686 * deflate_stored() is written to minimize the number of times an input byte is
1687 * copied. It is most efficient with large input and output buffers, which
1688 * maximizes the opportunities to have a single copy from next_in to next_out.
1689 */
1690 local block_state deflate_stored(s, flush)
1691 deflate_state *s;
1692 int flush;
1693 {
@@ -1888,11 +1893,11 @@
1893 return need_more;
1894 }
1895 if (s->lookahead == 0) break; /* flush the current block */
1896 }
1897
1898 /* Insert the string window[strstart .. strstart + 2] in the
1899 * dictionary, and set hash_head to the head of the hash chain:
1900 */
1901 hash_head = NIL;
1902 if (s->lookahead >= MIN_MATCH) {
1903 INSERT_STRING(s, s->strstart, hash_head);
@@ -1936,11 +1941,11 @@
1941 #endif
1942 {
1943 s->strstart += s->match_length;
1944 s->match_length = 0;
1945 s->ins_h = s->window[s->strstart];
1946 UPDATE_HASH(s, s->ins_h, s->window[s->strstart + 1]);
1947 #if MIN_MATCH != 3
1948 Call UPDATE_HASH() MIN_MATCH-3 more times
1949 #endif
1950 /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
1951 * matter since it will be recomputed at next deflate call.
@@ -1947,11 +1952,11 @@
1952 */
1953 }
1954 } else {
1955 /* No match, output a literal byte */
1956 Tracevv((stderr,"%c", s->window[s->strstart]));
1957 _tr_tally_lit(s, s->window[s->strstart], bflush);
1958 s->lookahead--;
1959 s->strstart++;
1960 }
1961 if (bflush) FLUSH_BLOCK(s, 0);
1962 }
@@ -1991,11 +1996,11 @@
1996 return need_more;
1997 }
1998 if (s->lookahead == 0) break; /* flush the current block */
1999 }
2000
2001 /* Insert the string window[strstart .. strstart + 2] in the
2002 * dictionary, and set hash_head to the head of the hash chain:
2003 */
2004 hash_head = NIL;
2005 if (s->lookahead >= MIN_MATCH) {
2006 INSERT_STRING(s, s->strstart, hash_head);
@@ -2033,21 +2038,21 @@
2038 */
2039 if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
2040 uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
2041 /* Do not insert strings in hash table beyond this. */
2042
2043 check_match(s, s->strstart - 1, s->prev_match, s->prev_length);
2044
2045 _tr_tally_dist(s, s->strstart - 1 - s->prev_match,
2046 s->prev_length - MIN_MATCH, bflush);
2047
2048 /* Insert in hash table all strings up to the end of the match.
2049 * strstart - 1 and strstart are already inserted. If there is not
2050 * enough lookahead, the last two strings are not inserted in
2051 * the hash table.
2052 */
2053 s->lookahead -= s->prev_length - 1;
2054 s->prev_length -= 2;
2055 do {
2056 if (++s->strstart <= max_insert) {
2057 INSERT_STRING(s, s->strstart, hash_head);
2058 }
@@ -2061,12 +2066,12 @@
2066 } else if (s->match_available) {
2067 /* If there was no match at the previous position, output a
2068 * single literal. If there was a match but the current match
2069 * is longer, truncate the previous match to a single literal.
2070 */
2071 Tracevv((stderr,"%c", s->window[s->strstart - 1]));
2072 _tr_tally_lit(s, s->window[s->strstart - 1], bflush);
2073 if (bflush) {
2074 FLUSH_BLOCK_ONLY(s, 0);
2075 }
2076 s->strstart++;
2077 s->lookahead--;
@@ -2080,12 +2085,12 @@
2085 s->lookahead--;
2086 }
2087 }
2088 Assert (flush != Z_NO_FLUSH, "no flush?");
2089 if (s->match_available) {
2090 Tracevv((stderr,"%c", s->window[s->strstart - 1]));
2091 _tr_tally_lit(s, s->window[s->strstart - 1], bflush);
2092 s->match_available = 0;
2093 }
2094 s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
2095 if (flush == Z_FINISH) {
2096 FLUSH_BLOCK(s, 1);
@@ -2138,11 +2143,12 @@
2143 scan < strend);
2144 s->match_length = MAX_MATCH - (uInt)(strend - scan);
2145 if (s->match_length > s->lookahead)
2146 s->match_length = s->lookahead;
2147 }
2148 Assert(scan <= s->window + (uInt)(s->window_size - 1),
2149 "wild scan");
2150 }
2151
2152 /* Emit match if have run of MIN_MATCH or longer, else emit literal */
2153 if (s->match_length >= MIN_MATCH) {
2154 check_match(s, s->strstart, s->strstart - 1, s->match_length);
@@ -2153,11 +2159,11 @@
2159 s->strstart += s->match_length;
2160 s->match_length = 0;
2161 } else {
2162 /* No match, output a literal byte */
2163 Tracevv((stderr,"%c", s->window[s->strstart]));
2164 _tr_tally_lit(s, s->window[s->strstart], bflush);
2165 s->lookahead--;
2166 s->strstart++;
2167 }
2168 if (bflush) FLUSH_BLOCK(s, 0);
2169 }
@@ -2193,11 +2199,11 @@
2199 }
2200
2201 /* Output a literal byte */
2202 s->match_length = 0;
2203 Tracevv((stderr,"%c", s->window[s->strstart]));
2204 _tr_tally_lit(s, s->window[s->strstart], bflush);
2205 s->lookahead--;
2206 s->strstart++;
2207 if (bflush) FLUSH_BLOCK(s, 0);
2208 }
2209 s->insert = 0;
2210
--- compat/zlib/deflate.h
+++ compat/zlib/deflate.h
@@ -327,12 +327,12 @@
327327
flush = (s->sym_next == s->sym_end); \
328328
}
329329
# define _tr_tally_dist(s, distance, length, flush) \
330330
{ uch len = (uch)(length); \
331331
ush dist = (ush)(distance); \
332
- s->sym_buf[s->sym_next++] = dist; \
333
- s->sym_buf[s->sym_next++] = dist >> 8; \
332
+ s->sym_buf[s->sym_next++] = (uch)dist; \
333
+ s->sym_buf[s->sym_next++] = (uch)(dist >> 8); \
334334
s->sym_buf[s->sym_next++] = len; \
335335
dist--; \
336336
s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
337337
s->dyn_dtree[d_code(dist)].Freq++; \
338338
flush = (s->sym_next == s->sym_end); \
339339
--- compat/zlib/deflate.h
+++ compat/zlib/deflate.h
@@ -327,12 +327,12 @@
327 flush = (s->sym_next == s->sym_end); \
328 }
329 # define _tr_tally_dist(s, distance, length, flush) \
330 { uch len = (uch)(length); \
331 ush dist = (ush)(distance); \
332 s->sym_buf[s->sym_next++] = dist; \
333 s->sym_buf[s->sym_next++] = dist >> 8; \
334 s->sym_buf[s->sym_next++] = len; \
335 dist--; \
336 s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
337 s->dyn_dtree[d_code(dist)].Freq++; \
338 flush = (s->sym_next == s->sym_end); \
339
--- compat/zlib/deflate.h
+++ compat/zlib/deflate.h
@@ -327,12 +327,12 @@
327 flush = (s->sym_next == s->sym_end); \
328 }
329 # define _tr_tally_dist(s, distance, length, flush) \
330 { uch len = (uch)(length); \
331 ush dist = (ush)(distance); \
332 s->sym_buf[s->sym_next++] = (uch)dist; \
333 s->sym_buf[s->sym_next++] = (uch)(dist >> 8); \
334 s->sym_buf[s->sym_next++] = len; \
335 dist--; \
336 s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
337 s->dyn_dtree[d_code(dist)].Freq++; \
338 flush = (s->sym_next == s->sym_end); \
339
--- compat/zlib/examples/enough.c
+++ compat/zlib/examples/enough.c
@@ -484,11 +484,11 @@
484484
// maximum number of symbols, initial root table size, and maximum code length
485485
// in bits -- those are the command arguments in that order. The default values
486486
// are 286, 9, and 15 respectively, for the deflate literal/length code. The
487487
// possible codes are counted for each number of coded symbols from two to the
488488
// maximum. The counts for each of those and the total number of codes are
489
-// shown. The maximum number of inflate table entires is then calculated across
489
+// shown. The maximum number of inflate table entries is then calculated across
490490
// all possible codes. Each new maximum number of table entries and the
491491
// associated sub-code (starting at root + 1 == 10 bits) is shown.
492492
//
493493
// To count and examine prefix codes that are not length-limited, provide a
494494
// maximum length equal to the number of symbols minus one.
495495
--- compat/zlib/examples/enough.c
+++ compat/zlib/examples/enough.c
@@ -484,11 +484,11 @@
484 // maximum number of symbols, initial root table size, and maximum code length
485 // in bits -- those are the command arguments in that order. The default values
486 // are 286, 9, and 15 respectively, for the deflate literal/length code. The
487 // possible codes are counted for each number of coded symbols from two to the
488 // maximum. The counts for each of those and the total number of codes are
489 // shown. The maximum number of inflate table entires is then calculated across
490 // all possible codes. Each new maximum number of table entries and the
491 // associated sub-code (starting at root + 1 == 10 bits) is shown.
492 //
493 // To count and examine prefix codes that are not length-limited, provide a
494 // maximum length equal to the number of symbols minus one.
495
--- compat/zlib/examples/enough.c
+++ compat/zlib/examples/enough.c
@@ -484,11 +484,11 @@
484 // maximum number of symbols, initial root table size, and maximum code length
485 // in bits -- those are the command arguments in that order. The default values
486 // are 286, 9, and 15 respectively, for the deflate literal/length code. The
487 // possible codes are counted for each number of coded symbols from two to the
488 // maximum. The counts for each of those and the total number of codes are
489 // shown. The maximum number of inflate table entries is then calculated across
490 // all possible codes. Each new maximum number of table entries and the
491 // associated sub-code (starting at root + 1 == 10 bits) is shown.
492 //
493 // To count and examine prefix codes that are not length-limited, provide a
494 // maximum length equal to the number of symbols minus one.
495
--- compat/zlib/examples/fitblk.c
+++ compat/zlib/examples/fitblk.c
@@ -15,11 +15,11 @@
1515
1616
fitblk performs three compression passes on a portion of the input
1717
data in order to determine how much of that input will compress to
1818
nearly the requested output block size. The first pass generates
1919
enough deflate blocks to produce output to fill the requested
20
- output size plus a specfied excess amount (see the EXCESS define
20
+ output size plus a specified excess amount (see the EXCESS define
2121
below). The last deflate block may go quite a bit past that, but
2222
is discarded. The second pass decompresses and recompresses just
2323
the compressed data that fit in the requested plus excess sized
2424
buffer. The deflate process is terminated after that amount of
2525
input, which is less than the amount consumed on the first pass.
@@ -107,11 +107,11 @@
107107
assert(ret != Z_STREAM_ERROR && ret != Z_DATA_ERROR &&
108108
ret != Z_NEED_DICT);
109109
if (ret == Z_MEM_ERROR)
110110
return ret;
111111
112
- /* compress what was decompresed until done or no room */
112
+ /* compress what was decompressed until done or no room */
113113
def->avail_in = RAWLEN - inf->avail_out;
114114
def->next_in = raw;
115115
if (inf->avail_out != 0)
116116
flush = Z_FINISH;
117117
ret = deflate(def, flush);
118118
--- compat/zlib/examples/fitblk.c
+++ compat/zlib/examples/fitblk.c
@@ -15,11 +15,11 @@
15
16 fitblk performs three compression passes on a portion of the input
17 data in order to determine how much of that input will compress to
18 nearly the requested output block size. The first pass generates
19 enough deflate blocks to produce output to fill the requested
20 output size plus a specfied excess amount (see the EXCESS define
21 below). The last deflate block may go quite a bit past that, but
22 is discarded. The second pass decompresses and recompresses just
23 the compressed data that fit in the requested plus excess sized
24 buffer. The deflate process is terminated after that amount of
25 input, which is less than the amount consumed on the first pass.
@@ -107,11 +107,11 @@
107 assert(ret != Z_STREAM_ERROR && ret != Z_DATA_ERROR &&
108 ret != Z_NEED_DICT);
109 if (ret == Z_MEM_ERROR)
110 return ret;
111
112 /* compress what was decompresed until done or no room */
113 def->avail_in = RAWLEN - inf->avail_out;
114 def->next_in = raw;
115 if (inf->avail_out != 0)
116 flush = Z_FINISH;
117 ret = deflate(def, flush);
118
--- compat/zlib/examples/fitblk.c
+++ compat/zlib/examples/fitblk.c
@@ -15,11 +15,11 @@
15
16 fitblk performs three compression passes on a portion of the input
17 data in order to determine how much of that input will compress to
18 nearly the requested output block size. The first pass generates
19 enough deflate blocks to produce output to fill the requested
20 output size plus a specified excess amount (see the EXCESS define
21 below). The last deflate block may go quite a bit past that, but
22 is discarded. The second pass decompresses and recompresses just
23 the compressed data that fit in the requested plus excess sized
24 buffer. The deflate process is terminated after that amount of
25 input, which is less than the amount consumed on the first pass.
@@ -107,11 +107,11 @@
107 assert(ret != Z_STREAM_ERROR && ret != Z_DATA_ERROR &&
108 ret != Z_NEED_DICT);
109 if (ret == Z_MEM_ERROR)
110 return ret;
111
112 /* compress what was decompressed until done or no room */
113 def->avail_in = RAWLEN - inf->avail_out;
114 def->next_in = raw;
115 if (inf->avail_out != 0)
116 flush = Z_FINISH;
117 ret = deflate(def, flush);
118
--- compat/zlib/examples/gun.c
+++ compat/zlib/examples/gun.c
@@ -41,11 +41,11 @@
4141
file.
4242
4343
gun will also decompress files made by Unix compress, which uses LZW
4444
compression. These files are automatically detected by virtue of their
4545
magic header bytes. Since the end of Unix compress stream is marked by the
46
- end-of-file, they cannot be concantenated. If a Unix compress stream is
46
+ end-of-file, they cannot be concatenated. If a Unix compress stream is
4747
encountered in an input file, it is the last stream in that file.
4848
4949
Like gunzip and uncompress, the file attributes of the original compressed
5050
file are maintained in the final uncompressed file, to the extent that the
5151
user permissions allow it.
5252
--- compat/zlib/examples/gun.c
+++ compat/zlib/examples/gun.c
@@ -41,11 +41,11 @@
41 file.
42
43 gun will also decompress files made by Unix compress, which uses LZW
44 compression. These files are automatically detected by virtue of their
45 magic header bytes. Since the end of Unix compress stream is marked by the
46 end-of-file, they cannot be concantenated. If a Unix compress stream is
47 encountered in an input file, it is the last stream in that file.
48
49 Like gunzip and uncompress, the file attributes of the original compressed
50 file are maintained in the final uncompressed file, to the extent that the
51 user permissions allow it.
52
--- compat/zlib/examples/gun.c
+++ compat/zlib/examples/gun.c
@@ -41,11 +41,11 @@
41 file.
42
43 gun will also decompress files made by Unix compress, which uses LZW
44 compression. These files are automatically detected by virtue of their
45 magic header bytes. Since the end of Unix compress stream is marked by the
46 end-of-file, they cannot be concatenated. If a Unix compress stream is
47 encountered in an input file, it is the last stream in that file.
48
49 Like gunzip and uncompress, the file attributes of the original compressed
50 file are maintained in the final uncompressed file, to the extent that the
51 user permissions allow it.
52
--- compat/zlib/examples/gzappend.c
+++ compat/zlib/examples/gzappend.c
@@ -31,11 +31,11 @@
3131
* - Send help to stdout instead of stderr
3232
* - Add some preemptive typecasts
3333
* - Add L to constants in lseek() calls
3434
* - Remove some debugging information in error messages
3535
* - Use new data_type definition for zlib 1.2.1
36
- * - Simplfy and unify file operations
36
+ * - Simplify and unify file operations
3737
* - Finish off gzip file in gztack()
3838
* - Use deflatePrime() instead of adding empty blocks
3939
* - Keep gzip file clean on appended file read errors
4040
* - Use in-place rotate instead of auxiliary buffer
4141
* (Why you ask? Because it was fun to write!)
@@ -52,11 +52,11 @@
5252
This program was written to illustrate the use of the new Z_BLOCK option of
5353
zlib 1.2.x's inflate() function. This option returns from inflate() at each
5454
block boundary to facilitate locating and modifying the last block bit at
5555
the start of the final deflate block. Also whether using Z_BLOCK or not,
5656
another required feature of zlib 1.2.x is that inflate() now provides the
57
- number of unusued bits in the last input byte used. gzappend will not work
57
+ number of unused bits in the last input byte used. gzappend will not work
5858
with versions of zlib earlier than 1.2.1.
5959
6060
gzappend first decompresses the gzip file internally, discarding all but
6161
the last 32K of uncompressed data, and noting the location of the last block
6262
bit and the number of unused bits in the last byte of the compressed data.
6363
--- compat/zlib/examples/gzappend.c
+++ compat/zlib/examples/gzappend.c
@@ -31,11 +31,11 @@
31 * - Send help to stdout instead of stderr
32 * - Add some preemptive typecasts
33 * - Add L to constants in lseek() calls
34 * - Remove some debugging information in error messages
35 * - Use new data_type definition for zlib 1.2.1
36 * - Simplfy and unify file operations
37 * - Finish off gzip file in gztack()
38 * - Use deflatePrime() instead of adding empty blocks
39 * - Keep gzip file clean on appended file read errors
40 * - Use in-place rotate instead of auxiliary buffer
41 * (Why you ask? Because it was fun to write!)
@@ -52,11 +52,11 @@
52 This program was written to illustrate the use of the new Z_BLOCK option of
53 zlib 1.2.x's inflate() function. This option returns from inflate() at each
54 block boundary to facilitate locating and modifying the last block bit at
55 the start of the final deflate block. Also whether using Z_BLOCK or not,
56 another required feature of zlib 1.2.x is that inflate() now provides the
57 number of unusued bits in the last input byte used. gzappend will not work
58 with versions of zlib earlier than 1.2.1.
59
60 gzappend first decompresses the gzip file internally, discarding all but
61 the last 32K of uncompressed data, and noting the location of the last block
62 bit and the number of unused bits in the last byte of the compressed data.
63
--- compat/zlib/examples/gzappend.c
+++ compat/zlib/examples/gzappend.c
@@ -31,11 +31,11 @@
31 * - Send help to stdout instead of stderr
32 * - Add some preemptive typecasts
33 * - Add L to constants in lseek() calls
34 * - Remove some debugging information in error messages
35 * - Use new data_type definition for zlib 1.2.1
36 * - Simplify and unify file operations
37 * - Finish off gzip file in gztack()
38 * - Use deflatePrime() instead of adding empty blocks
39 * - Keep gzip file clean on appended file read errors
40 * - Use in-place rotate instead of auxiliary buffer
41 * (Why you ask? Because it was fun to write!)
@@ -52,11 +52,11 @@
52 This program was written to illustrate the use of the new Z_BLOCK option of
53 zlib 1.2.x's inflate() function. This option returns from inflate() at each
54 block boundary to facilitate locating and modifying the last block bit at
55 the start of the final deflate block. Also whether using Z_BLOCK or not,
56 another required feature of zlib 1.2.x is that inflate() now provides the
57 number of unused bits in the last input byte used. gzappend will not work
58 with versions of zlib earlier than 1.2.1.
59
60 gzappend first decompresses the gzip file internally, discarding all but
61 the last 32K of uncompressed data, and noting the location of the last block
62 bit and the number of unused bits in the last byte of the compressed data.
63
--- compat/zlib/examples/gzlog.h
+++ compat/zlib/examples/gzlog.h
@@ -38,11 +38,11 @@
3838
1 MB has been accumulated. At that time, the stored data is compressed, and
3939
replaces the uncompressed data in the file. The log file is truncated to
4040
its new size at that time. After each write operation, the log file is a
4141
valid gzip file that can decompressed to recover what was written.
4242
43
- The gzlog operations can be interupted at any point due to an application or
43
+ The gzlog operations can be interrupted at any point due to an application or
4444
system crash, and the log file will be recovered the next time the log is
4545
opened with gzlog_open().
4646
*/
4747
4848
#ifndef GZLOG_H
4949
--- compat/zlib/examples/gzlog.h
+++ compat/zlib/examples/gzlog.h
@@ -38,11 +38,11 @@
38 1 MB has been accumulated. At that time, the stored data is compressed, and
39 replaces the uncompressed data in the file. The log file is truncated to
40 its new size at that time. After each write operation, the log file is a
41 valid gzip file that can decompressed to recover what was written.
42
43 The gzlog operations can be interupted at any point due to an application or
44 system crash, and the log file will be recovered the next time the log is
45 opened with gzlog_open().
46 */
47
48 #ifndef GZLOG_H
49
--- compat/zlib/examples/gzlog.h
+++ compat/zlib/examples/gzlog.h
@@ -38,11 +38,11 @@
38 1 MB has been accumulated. At that time, the stored data is compressed, and
39 replaces the uncompressed data in the file. The log file is truncated to
40 its new size at that time. After each write operation, the log file is a
41 valid gzip file that can decompressed to recover what was written.
42
43 The gzlog operations can be interrupted at any point due to an application or
44 system crash, and the log file will be recovered the next time the log is
45 opened with gzlog_open().
46 */
47
48 #ifndef GZLOG_H
49
--- compat/zlib/examples/zran.c
+++ compat/zlib/examples/zran.c
@@ -19,11 +19,11 @@
1919
bytes before getting to the desired block of data.
2020
2121
An access point can be created at the start of any deflate block, by saving
2222
the starting file offset and bit of that block, and the 32K bytes of
2323
uncompressed data that precede that block. Also the uncompressed offset of
24
- that block is saved to provide a referece for locating a desired starting
24
+ that block is saved to provide a reference for locating a desired starting
2525
point in the uncompressed stream. deflate_index_build() works by
2626
decompressing the input zlib or gzip stream a block at a time, and at the
2727
end of each block deciding if enough uncompressed data has gone by to
2828
justify the creation of a new access point. If so, that point is saved in a
2929
data structure that grows as needed to accommodate the points.
3030
--- compat/zlib/examples/zran.c
+++ compat/zlib/examples/zran.c
@@ -19,11 +19,11 @@
19 bytes before getting to the desired block of data.
20
21 An access point can be created at the start of any deflate block, by saving
22 the starting file offset and bit of that block, and the 32K bytes of
23 uncompressed data that precede that block. Also the uncompressed offset of
24 that block is saved to provide a referece for locating a desired starting
25 point in the uncompressed stream. deflate_index_build() works by
26 decompressing the input zlib or gzip stream a block at a time, and at the
27 end of each block deciding if enough uncompressed data has gone by to
28 justify the creation of a new access point. If so, that point is saved in a
29 data structure that grows as needed to accommodate the points.
30
--- compat/zlib/examples/zran.c
+++ compat/zlib/examples/zran.c
@@ -19,11 +19,11 @@
19 bytes before getting to the desired block of data.
20
21 An access point can be created at the start of any deflate block, by saving
22 the starting file offset and bit of that block, and the 32K bytes of
23 uncompressed data that precede that block. Also the uncompressed offset of
24 that block is saved to provide a reference for locating a desired starting
25 point in the uncompressed stream. deflate_index_build() works by
26 decompressing the input zlib or gzip stream a block at a time, and at the
27 end of each block deciding if enough uncompressed data has gone by to
28 justify the creation of a new access point. If so, that point is saved in a
29 data structure that grows as needed to accommodate the points.
30
--- compat/zlib/gzlib.c
+++ compat/zlib/gzlib.c
@@ -28,11 +28,11 @@
2828
The string pointed to shall not be modified by the application, but may be
2929
overwritten by a subsequent call to gz_strwinerror
3030
3131
The gz_strwinerror function does not change the current setting of
3232
GetLastError. */
33
-char ZLIB_INTERNAL *gz_strwinerror (error)
33
+char ZLIB_INTERNAL *gz_strwinerror(error)
3434
DWORD error;
3535
{
3636
static char buf[1024];
3737
3838
wchar_t *msgbuf;
3939
--- compat/zlib/gzlib.c
+++ compat/zlib/gzlib.c
@@ -28,11 +28,11 @@
28 The string pointed to shall not be modified by the application, but may be
29 overwritten by a subsequent call to gz_strwinerror
30
31 The gz_strwinerror function does not change the current setting of
32 GetLastError. */
33 char ZLIB_INTERNAL *gz_strwinerror (error)
34 DWORD error;
35 {
36 static char buf[1024];
37
38 wchar_t *msgbuf;
39
--- compat/zlib/gzlib.c
+++ compat/zlib/gzlib.c
@@ -28,11 +28,11 @@
28 The string pointed to shall not be modified by the application, but may be
29 overwritten by a subsequent call to gz_strwinerror
30
31 The gz_strwinerror function does not change the current setting of
32 GetLastError. */
33 char ZLIB_INTERNAL *gz_strwinerror(error)
34 DWORD error;
35 {
36 static char buf[1024];
37
38 wchar_t *msgbuf;
39
--- compat/zlib/gzread.c
+++ compat/zlib/gzread.c
@@ -155,15 +155,13 @@
155155
156156
/* doing raw i/o, copy any leftover input to output -- this assumes that
157157
the output buffer is larger than the input buffer, which also assures
158158
space for gzungetc() */
159159
state->x.next = state->out;
160
- if (strm->avail_in) {
161
- memcpy(state->x.next, strm->next_in, strm->avail_in);
162
- state->x.have = strm->avail_in;
163
- strm->avail_in = 0;
164
- }
160
+ memcpy(state->x.next, strm->next_in, strm->avail_in);
161
+ state->x.have = strm->avail_in;
162
+ strm->avail_in = 0;
165163
state->how = COPY;
166164
state->direct = 1;
167165
return 0;
168166
}
169167
170168
--- compat/zlib/gzread.c
+++ compat/zlib/gzread.c
@@ -155,15 +155,13 @@
155
156 /* doing raw i/o, copy any leftover input to output -- this assumes that
157 the output buffer is larger than the input buffer, which also assures
158 space for gzungetc() */
159 state->x.next = state->out;
160 if (strm->avail_in) {
161 memcpy(state->x.next, strm->next_in, strm->avail_in);
162 state->x.have = strm->avail_in;
163 strm->avail_in = 0;
164 }
165 state->how = COPY;
166 state->direct = 1;
167 return 0;
168 }
169
170
--- compat/zlib/gzread.c
+++ compat/zlib/gzread.c
@@ -155,15 +155,13 @@
155
156 /* doing raw i/o, copy any leftover input to output -- this assumes that
157 the output buffer is larger than the input buffer, which also assures
158 space for gzungetc() */
159 state->x.next = state->out;
160 memcpy(state->x.next, strm->next_in, strm->avail_in);
161 state->x.have = strm->avail_in;
162 strm->avail_in = 0;
 
 
163 state->how = COPY;
164 state->direct = 1;
165 return 0;
166 }
167
168
--- compat/zlib/gzwrite.c
+++ compat/zlib/gzwrite.c
@@ -472,11 +472,11 @@
472472
}
473473
474474
#else /* !STDC && !Z_HAVE_STDARG_H */
475475
476476
/* -- see zlib.h -- */
477
-int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
477
+int ZEXPORTVA gzprintf(file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
478478
a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
479479
gzFile file;
480480
const char *format;
481481
int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
482482
a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;
483483
--- compat/zlib/gzwrite.c
+++ compat/zlib/gzwrite.c
@@ -472,11 +472,11 @@
472 }
473
474 #else /* !STDC && !Z_HAVE_STDARG_H */
475
476 /* -- see zlib.h -- */
477 int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
478 a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
479 gzFile file;
480 const char *format;
481 int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
482 a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;
483
--- compat/zlib/gzwrite.c
+++ compat/zlib/gzwrite.c
@@ -472,11 +472,11 @@
472 }
473
474 #else /* !STDC && !Z_HAVE_STDARG_H */
475
476 /* -- see zlib.h -- */
477 int ZEXPORTVA gzprintf(file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
478 a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
479 gzFile file;
480 const char *format;
481 int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
482 a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;
483
--- compat/zlib/infback.c
+++ compat/zlib/infback.c
@@ -64,10 +64,11 @@
6464
state->wbits = (uInt)windowBits;
6565
state->wsize = 1U << windowBits;
6666
state->window = window;
6767
state->wnext = 0;
6868
state->whave = 0;
69
+ state->sane = 1;
6970
return Z_OK;
7071
}
7172
7273
/*
7374
Return state with length and distance decoding tables and index sizes set to
@@ -603,29 +604,31 @@
603604
} while (--copy);
604605
} while (state->length != 0);
605606
break;
606607
607608
case DONE:
608
- /* inflate stream terminated properly -- write leftover output */
609
+ /* inflate stream terminated properly */
609610
ret = Z_STREAM_END;
610
- if (left < state->wsize) {
611
- if (out(out_desc, state->window, state->wsize - left))
612
- ret = Z_BUF_ERROR;
613
- }
614611
goto inf_leave;
615612
616613
case BAD:
617614
ret = Z_DATA_ERROR;
618615
goto inf_leave;
619616
620
- default: /* can't happen, but makes compilers happy */
617
+ default:
618
+ /* can't happen, but makes compilers happy */
621619
ret = Z_STREAM_ERROR;
622620
goto inf_leave;
623621
}
624622
625
- /* Return unused input */
623
+ /* Write leftover output and return unused input */
626624
inf_leave:
625
+ if (left < state->wsize) {
626
+ if (out(out_desc, state->window, state->wsize - left) &&
627
+ ret == Z_STREAM_END)
628
+ ret = Z_BUF_ERROR;
629
+ }
627630
strm->next_in = next;
628631
strm->avail_in = have;
629632
return ret;
630633
}
631634
632635
--- compat/zlib/infback.c
+++ compat/zlib/infback.c
@@ -64,10 +64,11 @@
64 state->wbits = (uInt)windowBits;
65 state->wsize = 1U << windowBits;
66 state->window = window;
67 state->wnext = 0;
68 state->whave = 0;
 
69 return Z_OK;
70 }
71
72 /*
73 Return state with length and distance decoding tables and index sizes set to
@@ -603,29 +604,31 @@
603 } while (--copy);
604 } while (state->length != 0);
605 break;
606
607 case DONE:
608 /* inflate stream terminated properly -- write leftover output */
609 ret = Z_STREAM_END;
610 if (left < state->wsize) {
611 if (out(out_desc, state->window, state->wsize - left))
612 ret = Z_BUF_ERROR;
613 }
614 goto inf_leave;
615
616 case BAD:
617 ret = Z_DATA_ERROR;
618 goto inf_leave;
619
620 default: /* can't happen, but makes compilers happy */
 
621 ret = Z_STREAM_ERROR;
622 goto inf_leave;
623 }
624
625 /* Return unused input */
626 inf_leave:
 
 
 
 
 
627 strm->next_in = next;
628 strm->avail_in = have;
629 return ret;
630 }
631
632
--- compat/zlib/infback.c
+++ compat/zlib/infback.c
@@ -64,10 +64,11 @@
64 state->wbits = (uInt)windowBits;
65 state->wsize = 1U << windowBits;
66 state->window = window;
67 state->wnext = 0;
68 state->whave = 0;
69 state->sane = 1;
70 return Z_OK;
71 }
72
73 /*
74 Return state with length and distance decoding tables and index sizes set to
@@ -603,29 +604,31 @@
604 } while (--copy);
605 } while (state->length != 0);
606 break;
607
608 case DONE:
609 /* inflate stream terminated properly */
610 ret = Z_STREAM_END;
 
 
 
 
611 goto inf_leave;
612
613 case BAD:
614 ret = Z_DATA_ERROR;
615 goto inf_leave;
616
617 default:
618 /* can't happen, but makes compilers happy */
619 ret = Z_STREAM_ERROR;
620 goto inf_leave;
621 }
622
623 /* Write leftover output and return unused input */
624 inf_leave:
625 if (left < state->wsize) {
626 if (out(out_desc, state->window, state->wsize - left) &&
627 ret == Z_STREAM_END)
628 ret = Z_BUF_ERROR;
629 }
630 strm->next_in = next;
631 strm->avail_in = have;
632 return ret;
633 }
634
635
--- compat/zlib/inflate.c
+++ compat/zlib/inflate.c
@@ -166,10 +166,12 @@
166166
if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
167167
state = (struct inflate_state FAR *)strm->state;
168168
169169
/* extract wrap request from windowBits parameter */
170170
if (windowBits < 0) {
171
+ if (windowBits < -15)
172
+ return Z_STREAM_ERROR;
171173
wrap = 0;
172174
windowBits = -windowBits;
173175
}
174176
else {
175177
wrap = (windowBits >> 4) + 5;
@@ -762,12 +764,13 @@
762764
if (state->flags & 0x0400) {
763765
copy = state->length;
764766
if (copy > have) copy = have;
765767
if (copy) {
766768
if (state->head != Z_NULL &&
767
- state->head->extra != Z_NULL) {
768
- len = state->head->extra_len - state->length;
769
+ state->head->extra != Z_NULL &&
770
+ (len = state->head->extra_len - state->length) <
771
+ state->head->extra_max) {
769772
zmemcpy(state->head->extra + len, next,
770773
len + copy > state->head->extra_max ?
771774
state->head->extra_max - len : copy);
772775
}
773776
if ((state->flags & 0x0200) && (state->wrap & 4))
774777
--- compat/zlib/inflate.c
+++ compat/zlib/inflate.c
@@ -166,10 +166,12 @@
166 if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
167 state = (struct inflate_state FAR *)strm->state;
168
169 /* extract wrap request from windowBits parameter */
170 if (windowBits < 0) {
 
 
171 wrap = 0;
172 windowBits = -windowBits;
173 }
174 else {
175 wrap = (windowBits >> 4) + 5;
@@ -762,12 +764,13 @@
762 if (state->flags & 0x0400) {
763 copy = state->length;
764 if (copy > have) copy = have;
765 if (copy) {
766 if (state->head != Z_NULL &&
767 state->head->extra != Z_NULL) {
768 len = state->head->extra_len - state->length;
 
769 zmemcpy(state->head->extra + len, next,
770 len + copy > state->head->extra_max ?
771 state->head->extra_max - len : copy);
772 }
773 if ((state->flags & 0x0200) && (state->wrap & 4))
774
--- compat/zlib/inflate.c
+++ compat/zlib/inflate.c
@@ -166,10 +166,12 @@
166 if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
167 state = (struct inflate_state FAR *)strm->state;
168
169 /* extract wrap request from windowBits parameter */
170 if (windowBits < 0) {
171 if (windowBits < -15)
172 return Z_STREAM_ERROR;
173 wrap = 0;
174 windowBits = -windowBits;
175 }
176 else {
177 wrap = (windowBits >> 4) + 5;
@@ -762,12 +764,13 @@
764 if (state->flags & 0x0400) {
765 copy = state->length;
766 if (copy > have) copy = have;
767 if (copy) {
768 if (state->head != Z_NULL &&
769 state->head->extra != Z_NULL &&
770 (len = state->head->extra_len - state->length) <
771 state->head->extra_max) {
772 zmemcpy(state->head->extra + len, next,
773 len + copy > state->head->extra_max ?
774 state->head->extra_max - len : copy);
775 }
776 if ((state->flags & 0x0200) && (state->wrap & 4))
777
--- compat/zlib/inftrees.c
+++ compat/zlib/inftrees.c
@@ -7,11 +7,11 @@
77
#include "inftrees.h"
88
99
#define MAXBITS 15
1010
1111
const char inflate_copyright[] =
12
- " inflate 1.2.12 Copyright 1995-2022 Mark Adler ";
12
+ " inflate 1.2.13 Copyright 1995-2022 Mark Adler ";
1313
/*
1414
If you use the zlib library in a product, an acknowledgment is welcome
1515
in the documentation of your product. If for some reason you cannot
1616
include such an acknowledgment, I would appreciate that you keep this
1717
copyright string in the executable of your product.
@@ -60,11 +60,11 @@
6060
static const unsigned short lbase[31] = { /* Length codes 257..285 base */
6161
3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
6262
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
6363
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
6464
16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
65
- 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 199, 202};
65
+ 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 194, 65};
6666
static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
6767
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
6868
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
6969
8193, 12289, 16385, 24577, 0, 0};
7070
static const unsigned short dext[32] = { /* Distance codes 0..29 extra */
7171
--- compat/zlib/inftrees.c
+++ compat/zlib/inftrees.c
@@ -7,11 +7,11 @@
7 #include "inftrees.h"
8
9 #define MAXBITS 15
10
11 const char inflate_copyright[] =
12 " inflate 1.2.12 Copyright 1995-2022 Mark Adler ";
13 /*
14 If you use the zlib library in a product, an acknowledgment is welcome
15 in the documentation of your product. If for some reason you cannot
16 include such an acknowledgment, I would appreciate that you keep this
17 copyright string in the executable of your product.
@@ -60,11 +60,11 @@
60 static const unsigned short lbase[31] = { /* Length codes 257..285 base */
61 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
62 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
63 static const unsigned short lext[31] = { /* Length codes 257..285 extra */
64 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
65 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 199, 202};
66 static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
67 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
68 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
69 8193, 12289, 16385, 24577, 0, 0};
70 static const unsigned short dext[32] = { /* Distance codes 0..29 extra */
71
--- compat/zlib/inftrees.c
+++ compat/zlib/inftrees.c
@@ -7,11 +7,11 @@
7 #include "inftrees.h"
8
9 #define MAXBITS 15
10
11 const char inflate_copyright[] =
12 " inflate 1.2.13 Copyright 1995-2022 Mark Adler ";
13 /*
14 If you use the zlib library in a product, an acknowledgment is welcome
15 in the documentation of your product. If for some reason you cannot
16 include such an acknowledgment, I would appreciate that you keep this
17 copyright string in the executable of your product.
@@ -60,11 +60,11 @@
60 static const unsigned short lbase[31] = { /* Length codes 257..285 base */
61 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
62 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
63 static const unsigned short lext[31] = { /* Length codes 257..285 extra */
64 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
65 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 194, 65};
66 static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
67 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
68 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
69 8193, 12289, 16385, 24577, 0, 0};
70 static const unsigned short dext[32] = { /* Distance codes 0..29 extra */
71
--- compat/zlib/inftrees.h
+++ compat/zlib/inftrees.h
@@ -36,11 +36,11 @@
3636
*/
3737
3838
/* Maximum size of the dynamic table. The maximum number of code structures is
3939
1444, which is the sum of 852 for literal/length codes and 592 for distance
4040
codes. These values were found by exhaustive searches using the program
41
- examples/enough.c found in the zlib distribtution. The arguments to that
41
+ examples/enough.c found in the zlib distribution. The arguments to that
4242
program are the number of symbols, the initial root table size, and the
4343
maximum bit length of a code. "enough 286 9 15" for literal/length codes
4444
returns returns 852, and "enough 30 6 15" for distance codes returns 592.
4545
The initial root table size (9 or 6) is found in the fifth argument of the
4646
inflate_table() calls in inflate.c and infback.c. If the root table size is
4747
--- compat/zlib/inftrees.h
+++ compat/zlib/inftrees.h
@@ -36,11 +36,11 @@
36 */
37
38 /* Maximum size of the dynamic table. The maximum number of code structures is
39 1444, which is the sum of 852 for literal/length codes and 592 for distance
40 codes. These values were found by exhaustive searches using the program
41 examples/enough.c found in the zlib distribtution. The arguments to that
42 program are the number of symbols, the initial root table size, and the
43 maximum bit length of a code. "enough 286 9 15" for literal/length codes
44 returns returns 852, and "enough 30 6 15" for distance codes returns 592.
45 The initial root table size (9 or 6) is found in the fifth argument of the
46 inflate_table() calls in inflate.c and infback.c. If the root table size is
47
--- compat/zlib/inftrees.h
+++ compat/zlib/inftrees.h
@@ -36,11 +36,11 @@
36 */
37
38 /* Maximum size of the dynamic table. The maximum number of code structures is
39 1444, which is the sum of 852 for literal/length codes and 592 for distance
40 codes. These values were found by exhaustive searches using the program
41 examples/enough.c found in the zlib distribution. The arguments to that
42 program are the number of symbols, the initial root table size, and the
43 maximum bit length of a code. "enough 286 9 15" for literal/length codes
44 returns returns 852, and "enough 30 6 15" for distance codes returns 592.
45 The initial root table size (9 or 6) is found in the fifth argument of the
46 inflate_table() calls in inflate.c and infback.c. If the root table size is
47
--- compat/zlib/make_vms.com
+++ compat/zlib/make_vms.com
@@ -12,13 +12,13 @@
1212
$! 0.01 20060120 First version to receive a number
1313
$! 0.02 20061008 Adapt to new Makefile.in
1414
$! 0.03 20091224 Add support for large file check
1515
$! 0.04 20100110 Add new gzclose, gzlib, gzread, gzwrite
1616
$! 0.05 20100221 Exchange zlibdefs.h by zconf.h.in
17
-$! 0.06 20120111 Fix missing amiss_err, update zconf_h.in, fix new exmples
17
+$! 0.06 20120111 Fix missing amiss_err, update zconf_h.in, fix new examples
1818
$! subdir path, update module search in makefile.in
19
-$! 0.07 20120115 Triggered by work done by Alexey Chupahin completly redesigned
19
+$! 0.07 20120115 Triggered by work done by Alexey Chupahin completely redesigned
2020
$! shared image creation
2121
$! 0.08 20120219 Make it work on VAX again, pre-load missing symbols to shared
2222
$! image
2323
$! 0.09 20120305 SMS. P1 sets builder ("MMK", "MMS", " " (built-in)).
2424
$! "" -> automatic, preference: MMK, MMS, built-in.
2525
--- compat/zlib/make_vms.com
+++ compat/zlib/make_vms.com
@@ -12,13 +12,13 @@
12 $! 0.01 20060120 First version to receive a number
13 $! 0.02 20061008 Adapt to new Makefile.in
14 $! 0.03 20091224 Add support for large file check
15 $! 0.04 20100110 Add new gzclose, gzlib, gzread, gzwrite
16 $! 0.05 20100221 Exchange zlibdefs.h by zconf.h.in
17 $! 0.06 20120111 Fix missing amiss_err, update zconf_h.in, fix new exmples
18 $! subdir path, update module search in makefile.in
19 $! 0.07 20120115 Triggered by work done by Alexey Chupahin completly redesigned
20 $! shared image creation
21 $! 0.08 20120219 Make it work on VAX again, pre-load missing symbols to shared
22 $! image
23 $! 0.09 20120305 SMS. P1 sets builder ("MMK", "MMS", " " (built-in)).
24 $! "" -> automatic, preference: MMK, MMS, built-in.
25
--- compat/zlib/make_vms.com
+++ compat/zlib/make_vms.com
@@ -12,13 +12,13 @@
12 $! 0.01 20060120 First version to receive a number
13 $! 0.02 20061008 Adapt to new Makefile.in
14 $! 0.03 20091224 Add support for large file check
15 $! 0.04 20100110 Add new gzclose, gzlib, gzread, gzwrite
16 $! 0.05 20100221 Exchange zlibdefs.h by zconf.h.in
17 $! 0.06 20120111 Fix missing amiss_err, update zconf_h.in, fix new examples
18 $! subdir path, update module search in makefile.in
19 $! 0.07 20120115 Triggered by work done by Alexey Chupahin completely redesigned
20 $! shared image creation
21 $! 0.08 20120219 Make it work on VAX again, pre-load missing symbols to shared
22 $! image
23 $! 0.09 20120305 SMS. P1 sets builder ("MMK", "MMS", " " (built-in)).
24 $! "" -> automatic, preference: MMK, MMS, built-in.
25
--- compat/zlib/os400/README400
+++ compat/zlib/os400/README400
@@ -1,11 +1,11 @@
1
- ZLIB version 1.2.12 for OS/400 installation instructions
1
+ ZLIB version 1.2.13 for OS/400 installation instructions
22
33
1) Download and unpack the zlib tarball to some IFS directory.
44
(i.e.: /path/to/the/zlib/ifs/source/directory)
55
6
- If the installed IFS command suppors gzip format, this is straightforward,
6
+ If the installed IFS command supports gzip format, this is straightforward,
77
else you have to unpack first to some directory on a system supporting it,
88
then move the whole directory to the IFS via the network (via SMB or FTP).
99
1010
2) Edit the configuration parameters in the compilation script.
1111
@@ -41,8 +41,8 @@
4141
C/C++ header files.
4242
Please read comments in this member for more information.
4343
4444
Remember that most foreign textual data are ASCII coded: this
4545
implementation does not handle conversion from/to ASCII, so
46
- text data code conversions must be done explicitely.
46
+ text data code conversions must be done explicitly.
4747
4848
Mainly for the reason above, always open zipped files in binary mode.
4949
--- compat/zlib/os400/README400
+++ compat/zlib/os400/README400
@@ -1,11 +1,11 @@
1 ZLIB version 1.2.12 for OS/400 installation instructions
2
3 1) Download and unpack the zlib tarball to some IFS directory.
4 (i.e.: /path/to/the/zlib/ifs/source/directory)
5
6 If the installed IFS command suppors gzip format, this is straightforward,
7 else you have to unpack first to some directory on a system supporting it,
8 then move the whole directory to the IFS via the network (via SMB or FTP).
9
10 2) Edit the configuration parameters in the compilation script.
11
@@ -41,8 +41,8 @@
41 C/C++ header files.
42 Please read comments in this member for more information.
43
44 Remember that most foreign textual data are ASCII coded: this
45 implementation does not handle conversion from/to ASCII, so
46 text data code conversions must be done explicitely.
47
48 Mainly for the reason above, always open zipped files in binary mode.
49
--- compat/zlib/os400/README400
+++ compat/zlib/os400/README400
@@ -1,11 +1,11 @@
1 ZLIB version 1.2.13 for OS/400 installation instructions
2
3 1) Download and unpack the zlib tarball to some IFS directory.
4 (i.e.: /path/to/the/zlib/ifs/source/directory)
5
6 If the installed IFS command supports gzip format, this is straightforward,
7 else you have to unpack first to some directory on a system supporting it,
8 then move the whole directory to the IFS via the network (via SMB or FTP).
9
10 2) Edit the configuration parameters in the compilation script.
11
@@ -41,8 +41,8 @@
41 C/C++ header files.
42 Please read comments in this member for more information.
43
44 Remember that most foreign textual data are ASCII coded: this
45 implementation does not handle conversion from/to ASCII, so
46 text data code conversions must be done explicitly.
47
48 Mainly for the reason above, always open zipped files in binary mode.
49
--- compat/zlib/os400/bndsrc
+++ compat/zlib/os400/bndsrc
@@ -113,7 +113,15 @@
113113
EXPORT SYMBOL("gzfread")
114114
EXPORT SYMBOL("gzfwrite")
115115
EXPORT SYMBOL("inflateCodesUsed")
116116
EXPORT SYMBOL("inflateValidate")
117117
EXPORT SYMBOL("uncompress2")
118
+
119
+/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
120
+/* Version 1.2.12 additional entry points. */
121
+/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
122
+
123
+ EXPORT SYMBOL("crc32_combine_gen64")
124
+ EXPORT SYMBOL("crc32_combine_gen")
125
+ EXPORT SYMBOL("crc32_combine_op")
118126
119127
ENDPGMEXP
120128
--- compat/zlib/os400/bndsrc
+++ compat/zlib/os400/bndsrc
@@ -113,7 +113,15 @@
113 EXPORT SYMBOL("gzfread")
114 EXPORT SYMBOL("gzfwrite")
115 EXPORT SYMBOL("inflateCodesUsed")
116 EXPORT SYMBOL("inflateValidate")
117 EXPORT SYMBOL("uncompress2")
 
 
 
 
 
 
 
 
118
119 ENDPGMEXP
120
--- compat/zlib/os400/bndsrc
+++ compat/zlib/os400/bndsrc
@@ -113,7 +113,15 @@
113 EXPORT SYMBOL("gzfread")
114 EXPORT SYMBOL("gzfwrite")
115 EXPORT SYMBOL("inflateCodesUsed")
116 EXPORT SYMBOL("inflateValidate")
117 EXPORT SYMBOL("uncompress2")
118
119 /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
120 /* Version 1.2.12 additional entry points. */
121 /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
122
123 EXPORT SYMBOL("crc32_combine_gen64")
124 EXPORT SYMBOL("crc32_combine_gen")
125 EXPORT SYMBOL("crc32_combine_op")
126
127 ENDPGMEXP
128
--- compat/zlib/os400/zlib.inc
+++ compat/zlib/os400/zlib.inc
@@ -1,9 +1,9 @@
11
* ZLIB.INC - Interface to the general purpose compression library
22
*
33
* ILE RPG400 version by Patrick Monnerat, DATASPHERE.
4
- * Version 1.2.12
4
+ * Version 1.2.13
55
*
66
*
77
* WARNING:
88
* Procedures inflateInit(), inflateInit2(), deflateInit(),
99
* deflateInit2() and inflateBackInit() need to be called with
@@ -20,16 +20,16 @@
2020
* Constants
2121
**************************************************************************
2222
*
2323
* Versioning information.
2424
*
25
- D ZLIB_VERSION C '1.2.12'
25
+ D ZLIB_VERSION C '1.2.13'
2626
D ZLIB_VERNUM C X'12a0'
2727
D ZLIB_VER_MAJOR C 1
2828
D ZLIB_VER_MINOR C 2
2929
D ZLIB_VER_REVISION...
30
- D C 12
30
+ D C 13
3131
D ZLIB_VER_SUBREVISION...
3232
D C 0
3333
*
3434
* Other equates.
3535
*
3636
--- compat/zlib/os400/zlib.inc
+++ compat/zlib/os400/zlib.inc
@@ -1,9 +1,9 @@
1 * ZLIB.INC - Interface to the general purpose compression library
2 *
3 * ILE RPG400 version by Patrick Monnerat, DATASPHERE.
4 * Version 1.2.12
5 *
6 *
7 * WARNING:
8 * Procedures inflateInit(), inflateInit2(), deflateInit(),
9 * deflateInit2() and inflateBackInit() need to be called with
@@ -20,16 +20,16 @@
20 * Constants
21 **************************************************************************
22 *
23 * Versioning information.
24 *
25 D ZLIB_VERSION C '1.2.12'
26 D ZLIB_VERNUM C X'12a0'
27 D ZLIB_VER_MAJOR C 1
28 D ZLIB_VER_MINOR C 2
29 D ZLIB_VER_REVISION...
30 D C 12
31 D ZLIB_VER_SUBREVISION...
32 D C 0
33 *
34 * Other equates.
35 *
36
--- compat/zlib/os400/zlib.inc
+++ compat/zlib/os400/zlib.inc
@@ -1,9 +1,9 @@
1 * ZLIB.INC - Interface to the general purpose compression library
2 *
3 * ILE RPG400 version by Patrick Monnerat, DATASPHERE.
4 * Version 1.2.13
5 *
6 *
7 * WARNING:
8 * Procedures inflateInit(), inflateInit2(), deflateInit(),
9 * deflateInit2() and inflateBackInit() need to be called with
@@ -20,16 +20,16 @@
20 * Constants
21 **************************************************************************
22 *
23 * Versioning information.
24 *
25 D ZLIB_VERSION C '1.2.13'
26 D ZLIB_VERNUM C X'12a0'
27 D ZLIB_VER_MAJOR C 1
28 D ZLIB_VER_MINOR C 2
29 D ZLIB_VER_REVISION...
30 D C 13
31 D ZLIB_VER_SUBREVISION...
32 D C 0
33 *
34 * Other equates.
35 *
36
--- compat/zlib/qnx/package.qpg
+++ compat/zlib/qnx/package.qpg
@@ -23,14 +23,14 @@
2323
2424
<QPG:Values>
2525
<QPG:Files>
2626
<QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
2727
<QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
28
- <QPG:Add file="../libz.so.1.2.12" install="/opt/lib/" user="root:bin" permission="644"/>
29
- <QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.12"/>
30
- <QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.12"/>
31
- <QPG:Add file="../libz.so.1.2.12" install="/opt/lib/" component="slib"/>
28
+ <QPG:Add file="../libz.so.1.2.13" install="/opt/lib/" user="root:bin" permission="644"/>
29
+ <QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.13"/>
30
+ <QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.13"/>
31
+ <QPG:Add file="../libz.so.1.2.13" install="/opt/lib/" component="slib"/>
3232
</QPG:Files>
3333
3434
<QPG:PackageFilter>
3535
<QPM:PackageManifest>
3636
<QPM:PackageDescription>
@@ -61,11 +61,11 @@
6161
<QPM:ProductDescriptionURL>http://www.gzip.org/zlib</QPM:ProductDescriptionURL>
6262
<QPM:ProductDescriptionEmbedURL></QPM:ProductDescriptionEmbedURL>
6363
</QPM:ProductDescription>
6464
6565
<QPM:ReleaseDescription>
66
- <QPM:ReleaseVersion>1.2.12</QPM:ReleaseVersion>
66
+ <QPM:ReleaseVersion>1.2.13</QPM:ReleaseVersion>
6767
<QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
6868
<QPM:ReleaseStability>Stable</QPM:ReleaseStability>
6969
<QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>
7070
<QPM:ReleaseNoteMajor></QPM:ReleaseNoteMajor>
7171
<QPM:ExcludeCountries>
7272
--- compat/zlib/qnx/package.qpg
+++ compat/zlib/qnx/package.qpg
@@ -23,14 +23,14 @@
23
24 <QPG:Values>
25 <QPG:Files>
26 <QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
27 <QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
28 <QPG:Add file="../libz.so.1.2.12" install="/opt/lib/" user="root:bin" permission="644"/>
29 <QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.12"/>
30 <QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.12"/>
31 <QPG:Add file="../libz.so.1.2.12" install="/opt/lib/" component="slib"/>
32 </QPG:Files>
33
34 <QPG:PackageFilter>
35 <QPM:PackageManifest>
36 <QPM:PackageDescription>
@@ -61,11 +61,11 @@
61 <QPM:ProductDescriptionURL>http://www.gzip.org/zlib</QPM:ProductDescriptionURL>
62 <QPM:ProductDescriptionEmbedURL></QPM:ProductDescriptionEmbedURL>
63 </QPM:ProductDescription>
64
65 <QPM:ReleaseDescription>
66 <QPM:ReleaseVersion>1.2.12</QPM:ReleaseVersion>
67 <QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
68 <QPM:ReleaseStability>Stable</QPM:ReleaseStability>
69 <QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>
70 <QPM:ReleaseNoteMajor></QPM:ReleaseNoteMajor>
71 <QPM:ExcludeCountries>
72
--- compat/zlib/qnx/package.qpg
+++ compat/zlib/qnx/package.qpg
@@ -23,14 +23,14 @@
23
24 <QPG:Values>
25 <QPG:Files>
26 <QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
27 <QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
28 <QPG:Add file="../libz.so.1.2.13" install="/opt/lib/" user="root:bin" permission="644"/>
29 <QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.13"/>
30 <QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.13"/>
31 <QPG:Add file="../libz.so.1.2.13" install="/opt/lib/" component="slib"/>
32 </QPG:Files>
33
34 <QPG:PackageFilter>
35 <QPM:PackageManifest>
36 <QPM:PackageDescription>
@@ -61,11 +61,11 @@
61 <QPM:ProductDescriptionURL>http://www.gzip.org/zlib</QPM:ProductDescriptionURL>
62 <QPM:ProductDescriptionEmbedURL></QPM:ProductDescriptionEmbedURL>
63 </QPM:ProductDescription>
64
65 <QPM:ReleaseDescription>
66 <QPM:ReleaseVersion>1.2.13</QPM:ReleaseVersion>
67 <QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
68 <QPM:ReleaseStability>Stable</QPM:ReleaseStability>
69 <QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>
70 <QPM:ReleaseNoteMajor></QPM:ReleaseNoteMajor>
71 <QPM:ExcludeCountries>
72
--- compat/zlib/test/example.c
+++ compat/zlib/test/example.c
@@ -553,11 +553,12 @@
553553
if (zlibVersion()[0] != myVersion[0]) {
554554
fprintf(stderr, "incompatible zlib version\n");
555555
exit(1);
556556
557557
} else if (strcmp(zlibVersion(), ZLIB_VERSION) != 0) {
558
- fprintf(stderr, "warning: different zlib version\n");
558
+ fprintf(stderr, "warning: different zlib version linked: %s\n",
559
+ zlibVersion());
559560
}
560561
561562
printf("zlib version %s = 0x%04x, compile flags = 0x%lx\n",
562563
ZLIB_VERSION, ZLIB_VERNUM, zlibCompileFlags());
563564
564565
--- compat/zlib/test/example.c
+++ compat/zlib/test/example.c
@@ -553,11 +553,12 @@
553 if (zlibVersion()[0] != myVersion[0]) {
554 fprintf(stderr, "incompatible zlib version\n");
555 exit(1);
556
557 } else if (strcmp(zlibVersion(), ZLIB_VERSION) != 0) {
558 fprintf(stderr, "warning: different zlib version\n");
 
559 }
560
561 printf("zlib version %s = 0x%04x, compile flags = 0x%lx\n",
562 ZLIB_VERSION, ZLIB_VERNUM, zlibCompileFlags());
563
564
--- compat/zlib/test/example.c
+++ compat/zlib/test/example.c
@@ -553,11 +553,12 @@
553 if (zlibVersion()[0] != myVersion[0]) {
554 fprintf(stderr, "incompatible zlib version\n");
555 exit(1);
556
557 } else if (strcmp(zlibVersion(), ZLIB_VERSION) != 0) {
558 fprintf(stderr, "warning: different zlib version linked: %s\n",
559 zlibVersion());
560 }
561
562 printf("zlib version %s = 0x%04x, compile flags = 0x%lx\n",
563 ZLIB_VERSION, ZLIB_VERNUM, zlibCompileFlags());
564
565
--- compat/zlib/test/minigzip.c
+++ compat/zlib/test/minigzip.c
@@ -498,11 +498,11 @@
498498
{
499499
local char buf[MAX_NAME_LEN];
500500
char *infile, *outfile;
501501
FILE *out;
502502
gzFile in;
503
- unsigned len = strlen(file);
503
+ z_size_t len = strlen(file);
504504
505505
if (len + strlen(GZ_SUFFIX) >= sizeof(buf)) {
506506
fprintf(stderr, "%s: filename too long\n", prog);
507507
exit(1);
508508
}
509509
--- compat/zlib/test/minigzip.c
+++ compat/zlib/test/minigzip.c
@@ -498,11 +498,11 @@
498 {
499 local char buf[MAX_NAME_LEN];
500 char *infile, *outfile;
501 FILE *out;
502 gzFile in;
503 unsigned len = strlen(file);
504
505 if (len + strlen(GZ_SUFFIX) >= sizeof(buf)) {
506 fprintf(stderr, "%s: filename too long\n", prog);
507 exit(1);
508 }
509
--- compat/zlib/test/minigzip.c
+++ compat/zlib/test/minigzip.c
@@ -498,11 +498,11 @@
498 {
499 local char buf[MAX_NAME_LEN];
500 char *infile, *outfile;
501 FILE *out;
502 gzFile in;
503 z_size_t len = strlen(file);
504
505 if (len + strlen(GZ_SUFFIX) >= sizeof(buf)) {
506 fprintf(stderr, "%s: filename too long\n", prog);
507 exit(1);
508 }
509
--- compat/zlib/treebuild.xml
+++ compat/zlib/treebuild.xml
@@ -1,8 +1,8 @@
11
<?xml version="1.0" ?>
2
-<package name="zlib" version="1.2.12">
3
- <library name="zlib" dlversion="1.2.12" dlname="z">
2
+<package name="zlib" version="1.2.13">
3
+ <library name="zlib" dlversion="1.2.13" dlname="z">
44
<property name="description"> zip compression library </property>
55
<property name="include-target-dir" value="$(@PACKAGE/install-includedir)" />
66
77
<!-- fixme: not implemented yet -->
88
<property name="compiler/c/inline" value="yes" />
99
--- compat/zlib/treebuild.xml
+++ compat/zlib/treebuild.xml
@@ -1,8 +1,8 @@
1 <?xml version="1.0" ?>
2 <package name="zlib" version="1.2.12">
3 <library name="zlib" dlversion="1.2.12" dlname="z">
4 <property name="description"> zip compression library </property>
5 <property name="include-target-dir" value="$(@PACKAGE/install-includedir)" />
6
7 <!-- fixme: not implemented yet -->
8 <property name="compiler/c/inline" value="yes" />
9
--- compat/zlib/treebuild.xml
+++ compat/zlib/treebuild.xml
@@ -1,8 +1,8 @@
1 <?xml version="1.0" ?>
2 <package name="zlib" version="1.2.13">
3 <library name="zlib" dlversion="1.2.13" dlname="z">
4 <property name="description"> zip compression library </property>
5 <property name="include-target-dir" value="$(@PACKAGE/install-includedir)" />
6
7 <!-- fixme: not implemented yet -->
8 <property name="compiler/c/inline" value="yes" />
9
--- compat/zlib/trees.c
+++ compat/zlib/trees.c
@@ -191,11 +191,11 @@
191191
Tracevv((stderr," l %2d v %4x ", length, value));
192192
Assert(length > 0 && length <= 15, "invalid length");
193193
s->bits_sent += (ulg)length;
194194
195195
/* If not enough room in bi_buf, use (valid) bits from bi_buf and
196
- * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
196
+ * (16 - bi_valid) bits from value, leaving (width - (16 - bi_valid))
197197
* unused bits in value.
198198
*/
199199
if (s->bi_valid > (int)Buf_size - length) {
200200
s->bi_buf |= (ush)value << s->bi_valid;
201201
put_short(s, s->bi_buf);
@@ -254,38 +254,38 @@
254254
255255
/* Initialize the mapping length (0..255) -> length code (0..28) */
256256
length = 0;
257257
for (code = 0; code < LENGTH_CODES-1; code++) {
258258
base_length[code] = length;
259
- for (n = 0; n < (1<<extra_lbits[code]); n++) {
259
+ for (n = 0; n < (1 << extra_lbits[code]); n++) {
260260
_length_code[length++] = (uch)code;
261261
}
262262
}
263263
Assert (length == 256, "tr_static_init: length != 256");
264264
/* Note that the length 255 (match length 258) can be represented
265265
* in two different ways: code 284 + 5 bits or code 285, so we
266266
* overwrite length_code[255] to use the best encoding:
267267
*/
268
- _length_code[length-1] = (uch)code;
268
+ _length_code[length - 1] = (uch)code;
269269
270270
/* Initialize the mapping dist (0..32K) -> dist code (0..29) */
271271
dist = 0;
272272
for (code = 0 ; code < 16; code++) {
273273
base_dist[code] = dist;
274
- for (n = 0; n < (1<<extra_dbits[code]); n++) {
274
+ for (n = 0; n < (1 << extra_dbits[code]); n++) {
275275
_dist_code[dist++] = (uch)code;
276276
}
277277
}
278278
Assert (dist == 256, "tr_static_init: dist != 256");
279279
dist >>= 7; /* from now on, all distances are divided by 128 */
280280
for ( ; code < D_CODES; code++) {
281281
base_dist[code] = dist << 7;
282
- for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
282
+ for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {
283283
_dist_code[256 + dist++] = (uch)code;
284284
}
285285
}
286
- Assert (dist == 256, "tr_static_init: 256+dist != 512");
286
+ Assert (dist == 256, "tr_static_init: 256 + dist != 512");
287287
288288
/* Construct the codes of the static literal tree */
289289
for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
290290
n = 0;
291291
while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
@@ -310,20 +310,20 @@
310310
# endif
311311
#endif /* defined(GEN_TREES_H) || !defined(STDC) */
312312
}
313313
314314
/* ===========================================================================
315
- * Genererate the file trees.h describing the static trees.
315
+ * Generate the file trees.h describing the static trees.
316316
*/
317317
#ifdef GEN_TREES_H
318318
# ifndef ZLIB_DEBUG
319319
# include <stdio.h>
320320
# endif
321321
322322
# define SEPARATOR(i, last, width) \
323323
((i) == (last)? "\n};\n\n" : \
324
- ((i) % (width) == (width)-1 ? ",\n" : ", "))
324
+ ((i) % (width) == (width) - 1 ? ",\n" : ", "))
325325
326326
void gen_trees_header()
327327
{
328328
FILE *header = fopen("trees.h", "w");
329329
int i;
@@ -456,11 +456,11 @@
456456
int v = s->heap[k];
457457
int j = k << 1; /* left son of k */
458458
while (j <= s->heap_len) {
459459
/* Set j to the smallest of the two sons: */
460460
if (j < s->heap_len &&
461
- smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
461
+ smaller(tree, s->heap[j + 1], s->heap[j], s->depth)) {
462462
j++;
463463
}
464464
/* Exit if v is smaller than both sons */
465465
if (smaller(tree, v, s->heap[j], s->depth)) break;
466466
@@ -505,11 +505,11 @@
505505
/* In a first pass, compute the optimal bit lengths (which may
506506
* overflow in the case of the bit length tree).
507507
*/
508508
tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
509509
510
- for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
510
+ for (h = s->heap_max + 1; h < HEAP_SIZE; h++) {
511511
n = s->heap[h];
512512
bits = tree[tree[n].Dad].Len + 1;
513513
if (bits > max_length) bits = max_length, overflow++;
514514
tree[n].Len = (ush)bits;
515515
/* We overwrite tree[n].Dad which is no longer needed */
@@ -516,11 +516,11 @@
516516
517517
if (n > max_code) continue; /* not a leaf node */
518518
519519
s->bl_count[bits]++;
520520
xbits = 0;
521
- if (n >= base) xbits = extra[n-base];
521
+ if (n >= base) xbits = extra[n - base];
522522
f = tree[n].Freq;
523523
s->opt_len += (ulg)f * (unsigned)(bits + xbits);
524524
if (stree) s->static_len += (ulg)f * (unsigned)(stree[n].Len + xbits);
525525
}
526526
if (overflow == 0) return;
@@ -528,14 +528,14 @@
528528
Tracev((stderr,"\nbit length overflow\n"));
529529
/* This happens for example on obj2 and pic of the Calgary corpus */
530530
531531
/* Find the first bit length which could increase: */
532532
do {
533
- bits = max_length-1;
533
+ bits = max_length - 1;
534534
while (s->bl_count[bits] == 0) bits--;
535
- s->bl_count[bits]--; /* move one leaf down the tree */
536
- s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
535
+ s->bl_count[bits]--; /* move one leaf down the tree */
536
+ s->bl_count[bits + 1] += 2; /* move one overflow item as its brother */
537537
s->bl_count[max_length]--;
538538
/* The brother of the overflow item also moves one step up,
539539
* but this does not affect bl_count[max_length]
540540
*/
541541
overflow -= 2;
@@ -567,11 +567,11 @@
567567
* IN assertion: the array bl_count contains the bit length statistics for
568568
* the given tree and the field len is set for all tree elements.
569569
* OUT assertion: the field code is set for all tree elements of non
570570
* zero code length.
571571
*/
572
-local void gen_codes (tree, max_code, bl_count)
572
+local void gen_codes(tree, max_code, bl_count)
573573
ct_data *tree; /* the tree to decorate */
574574
int max_code; /* largest code with non zero frequency */
575575
ushf *bl_count; /* number of codes at each bit length */
576576
{
577577
ush next_code[MAX_BITS+1]; /* next code value for each bit length */
@@ -581,17 +581,17 @@
581581
582582
/* The distribution counts are first used to generate the code values
583583
* without bit reversal.
584584
*/
585585
for (bits = 1; bits <= MAX_BITS; bits++) {
586
- code = (code + bl_count[bits-1]) << 1;
586
+ code = (code + bl_count[bits - 1]) << 1;
587587
next_code[bits] = (ush)code;
588588
}
589589
/* Check that the bit counts in bl_count are consistent. The last code
590590
* must be all ones.
591591
*/
592
- Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
592
+ Assert (code + bl_count[MAX_BITS] - 1 == (1 << MAX_BITS) - 1,
593593
"inconsistent bit counts");
594594
Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
595595
596596
for (n = 0; n <= max_code; n++) {
597597
int len = tree[n].Len;
@@ -598,11 +598,11 @@
598598
if (len == 0) continue;
599599
/* Now reverse the bits */
600600
tree[n].Code = (ush)bi_reverse(next_code[len]++, len);
601601
602602
Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
603
- n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
603
+ n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len] - 1));
604604
}
605605
}
606606
607607
/* ===========================================================================
608608
* Construct one Huffman tree and assigns the code bit strings and lengths.
@@ -622,11 +622,11 @@
622622
int n, m; /* iterate over heap elements */
623623
int max_code = -1; /* largest code with non zero frequency */
624624
int node; /* new node being created */
625625
626626
/* Construct the initial heap, with least frequent element in
627
- * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
627
+ * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
628628
* heap[0] is not used.
629629
*/
630630
s->heap_len = 0, s->heap_max = HEAP_SIZE;
631631
632632
for (n = 0; n < elems; n++) {
@@ -650,11 +650,11 @@
650650
s->opt_len--; if (stree) s->static_len -= stree[node].Len;
651651
/* node is 0 or 1 so it does not have extra bits */
652652
}
653653
desc->max_code = max_code;
654654
655
- /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
655
+ /* The elements heap[heap_len/2 + 1 .. heap_len] are leaves of the tree,
656656
* establish sub-heaps of increasing lengths:
657657
*/
658658
for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
659659
660660
/* Construct the Huffman tree by repeatedly combining the least two
@@ -698,11 +698,11 @@
698698
699699
/* ===========================================================================
700700
* Scan a literal or distance tree to determine the frequencies of the codes
701701
* in the bit length tree.
702702
*/
703
-local void scan_tree (s, tree, max_code)
703
+local void scan_tree(s, tree, max_code)
704704
deflate_state *s;
705705
ct_data *tree; /* the tree to be scanned */
706706
int max_code; /* and its largest code of non zero frequency */
707707
{
708708
int n; /* iterates over all tree elements */
@@ -712,14 +712,14 @@
712712
int count = 0; /* repeat count of the current code */
713713
int max_count = 7; /* max repeat count */
714714
int min_count = 4; /* min repeat count */
715715
716716
if (nextlen == 0) max_count = 138, min_count = 3;
717
- tree[max_code+1].Len = (ush)0xffff; /* guard */
717
+ tree[max_code + 1].Len = (ush)0xffff; /* guard */
718718
719719
for (n = 0; n <= max_code; n++) {
720
- curlen = nextlen; nextlen = tree[n+1].Len;
720
+ curlen = nextlen; nextlen = tree[n + 1].Len;
721721
if (++count < max_count && curlen == nextlen) {
722722
continue;
723723
} else if (count < min_count) {
724724
s->bl_tree[curlen].Freq += count;
725725
} else if (curlen != 0) {
@@ -743,11 +743,11 @@
743743
744744
/* ===========================================================================
745745
* Send a literal or distance tree in compressed form, using the codes in
746746
* bl_tree.
747747
*/
748
-local void send_tree (s, tree, max_code)
748
+local void send_tree(s, tree, max_code)
749749
deflate_state *s;
750750
ct_data *tree; /* the tree to be scanned */
751751
int max_code; /* and its largest code of non zero frequency */
752752
{
753753
int n; /* iterates over all tree elements */
@@ -756,15 +756,15 @@
756756
int nextlen = tree[0].Len; /* length of next code */
757757
int count = 0; /* repeat count of the current code */
758758
int max_count = 7; /* max repeat count */
759759
int min_count = 4; /* min repeat count */
760760
761
- /* tree[max_code+1].Len = -1; */ /* guard already set */
761
+ /* tree[max_code + 1].Len = -1; */ /* guard already set */
762762
if (nextlen == 0) max_count = 138, min_count = 3;
763763
764764
for (n = 0; n <= max_code; n++) {
765
- curlen = nextlen; nextlen = tree[n+1].Len;
765
+ curlen = nextlen; nextlen = tree[n + 1].Len;
766766
if (++count < max_count && curlen == nextlen) {
767767
continue;
768768
} else if (count < min_count) {
769769
do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
770770
@@ -771,17 +771,17 @@
771771
} else if (curlen != 0) {
772772
if (curlen != prevlen) {
773773
send_code(s, curlen, s->bl_tree); count--;
774774
}
775775
Assert(count >= 3 && count <= 6, " 3_6?");
776
- send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
776
+ send_code(s, REP_3_6, s->bl_tree); send_bits(s, count - 3, 2);
777777
778778
} else if (count <= 10) {
779
- send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
779
+ send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count - 3, 3);
780780
781781
} else {
782
- send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
782
+ send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count - 11, 7);
783783
}
784784
count = 0; prevlen = curlen;
785785
if (nextlen == 0) {
786786
max_count = 138, min_count = 3;
787787
} else if (curlen == nextlen) {
@@ -805,12 +805,12 @@
805805
scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
806806
scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
807807
808808
/* Build the bit length tree: */
809809
build_tree(s, (tree_desc *)(&(s->bl_desc)));
810
- /* opt_len now includes the length of the tree representations, except
811
- * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
810
+ /* opt_len now includes the length of the tree representations, except the
811
+ * lengths of the bit lengths codes and the 5 + 5 + 4 bits for the counts.
812812
*/
813813
814814
/* Determine the number of bit length codes to send. The pkzip format
815815
* requires that at least 4 bit length codes be sent. (appnote.txt says
816816
* 3 but the actual value used is 4.)
@@ -817,11 +817,11 @@
817817
*/
818818
for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
819819
if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
820820
}
821821
/* Update opt_len to include the bit length tree and counts */
822
- s->opt_len += 3*((ulg)max_blindex+1) + 5+5+4;
822
+ s->opt_len += 3*((ulg)max_blindex + 1) + 5 + 5 + 4;
823823
Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
824824
s->opt_len, s->static_len));
825825
826826
return max_blindex;
827827
}
@@ -839,23 +839,23 @@
839839
840840
Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
841841
Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
842842
"too many codes");
843843
Tracev((stderr, "\nbl counts: "));
844
- send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
845
- send_bits(s, dcodes-1, 5);
846
- send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
844
+ send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */
845
+ send_bits(s, dcodes - 1, 5);
846
+ send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */
847847
for (rank = 0; rank < blcodes; rank++) {
848848
Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
849849
send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
850850
}
851851
Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
852852
853
- send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
853
+ send_tree(s, (ct_data *)s->dyn_ltree, lcodes - 1); /* literal tree */
854854
Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
855855
856
- send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
856
+ send_tree(s, (ct_data *)s->dyn_dtree, dcodes - 1); /* distance tree */
857857
Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
858858
}
859859
860860
/* ===========================================================================
861861
* Send a stored block
@@ -864,11 +864,11 @@
864864
deflate_state *s;
865865
charf *buf; /* input block */
866866
ulg stored_len; /* length of input block */
867867
int last; /* one if this is the last block for a file */
868868
{
869
- send_bits(s, (STORED_BLOCK<<1)+last, 3); /* send block type */
869
+ send_bits(s, (STORED_BLOCK<<1) + last, 3); /* send block type */
870870
bi_windup(s); /* align on byte boundary */
871871
put_short(s, (ush)stored_len);
872872
put_short(s, (ush)~stored_len);
873873
if (stored_len)
874874
zmemcpy(s->pending_buf + s->pending, (Bytef *)buf, stored_len);
@@ -875,11 +875,11 @@
875875
s->pending += stored_len;
876876
#ifdef ZLIB_DEBUG
877877
s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
878878
s->compressed_len += (stored_len + 4) << 3;
879879
s->bits_sent += 2*16;
880
- s->bits_sent += stored_len<<3;
880
+ s->bits_sent += stored_len << 3;
881881
#endif
882882
}
883883
884884
/* ===========================================================================
885885
* Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
@@ -941,28 +941,31 @@
941941
* in bl_order of the last bit length code to send.
942942
*/
943943
max_blindex = build_bl_tree(s);
944944
945945
/* Determine the best encoding. Compute the block lengths in bytes. */
946
- opt_lenb = (s->opt_len+3+7)>>3;
947
- static_lenb = (s->static_len+3+7)>>3;
946
+ opt_lenb = (s->opt_len + 3 + 7) >> 3;
947
+ static_lenb = (s->static_len + 3 + 7) >> 3;
948948
949949
Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
950950
opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
951951
s->sym_next / 3));
952952
953
- if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
953
+#ifndef FORCE_STATIC
954
+ if (static_lenb <= opt_lenb || s->strategy == Z_FIXED)
955
+#endif
956
+ opt_lenb = static_lenb;
954957
955958
} else {
956959
Assert(buf != (char*)0, "lost buf");
957960
opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
958961
}
959962
960963
#ifdef FORCE_STORED
961964
if (buf != (char*)0) { /* force stored block */
962965
#else
963
- if (stored_len+4 <= opt_lenb && buf != (char*)0) {
966
+ if (stored_len + 4 <= opt_lenb && buf != (char*)0) {
964967
/* 4: two words for the lengths */
965968
#endif
966969
/* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
967970
* Otherwise we can't have processed more than WSIZE input bytes since
968971
* the last block flush, because compression would have been
@@ -969,25 +972,21 @@
969972
* successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
970973
* transform a block into a stored block.
971974
*/
972975
_tr_stored_block(s, buf, stored_len, last);
973976
974
-#ifdef FORCE_STATIC
975
- } else if (static_lenb >= 0) { /* force static trees */
976
-#else
977
- } else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) {
978
-#endif
979
- send_bits(s, (STATIC_TREES<<1)+last, 3);
977
+ } else if (static_lenb == opt_lenb) {
978
+ send_bits(s, (STATIC_TREES<<1) + last, 3);
980979
compress_block(s, (const ct_data *)static_ltree,
981980
(const ct_data *)static_dtree);
982981
#ifdef ZLIB_DEBUG
983982
s->compressed_len += 3 + s->static_len;
984983
#endif
985984
} else {
986
- send_bits(s, (DYN_TREES<<1)+last, 3);
987
- send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
988
- max_blindex+1);
985
+ send_bits(s, (DYN_TREES<<1) + last, 3);
986
+ send_all_trees(s, s->l_desc.max_code + 1, s->d_desc.max_code + 1,
987
+ max_blindex + 1);
989988
compress_block(s, (const ct_data *)s->dyn_ltree,
990989
(const ct_data *)s->dyn_dtree);
991990
#ifdef ZLIB_DEBUG
992991
s->compressed_len += 3 + s->opt_len;
993992
#endif
@@ -1002,26 +1001,26 @@
10021001
bi_windup(s);
10031002
#ifdef ZLIB_DEBUG
10041003
s->compressed_len += 7; /* align on byte boundary */
10051004
#endif
10061005
}
1007
- Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
1008
- s->compressed_len-7*last));
1006
+ Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len >> 3,
1007
+ s->compressed_len - 7*last));
10091008
}
10101009
10111010
/* ===========================================================================
10121011
* Save the match info and tally the frequency counts. Return true if
10131012
* the current block must be flushed.
10141013
*/
1015
-int ZLIB_INTERNAL _tr_tally (s, dist, lc)
1014
+int ZLIB_INTERNAL _tr_tally(s, dist, lc)
10161015
deflate_state *s;
10171016
unsigned dist; /* distance of matched string */
1018
- unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
1017
+ unsigned lc; /* match length - MIN_MATCH or unmatched char (dist==0) */
10191018
{
1020
- s->sym_buf[s->sym_next++] = dist;
1021
- s->sym_buf[s->sym_next++] = dist >> 8;
1022
- s->sym_buf[s->sym_next++] = lc;
1019
+ s->sym_buf[s->sym_next++] = (uch)dist;
1020
+ s->sym_buf[s->sym_next++] = (uch)(dist >> 8);
1021
+ s->sym_buf[s->sym_next++] = (uch)lc;
10231022
if (dist == 0) {
10241023
/* lc is the unmatched char */
10251024
s->dyn_ltree[lc].Freq++;
10261025
} else {
10271026
s->matches++;
@@ -1029,11 +1028,11 @@
10291028
dist--; /* dist = match distance - 1 */
10301029
Assert((ush)dist < (ush)MAX_DIST(s) &&
10311030
(ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
10321031
(ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
10331032
1034
- s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++;
1033
+ s->dyn_ltree[_length_code[lc] + LITERALS + 1].Freq++;
10351034
s->dyn_dtree[d_code(dist)].Freq++;
10361035
}
10371036
return (s->sym_next == s->sym_end);
10381037
}
10391038
@@ -1059,11 +1058,11 @@
10591058
send_code(s, lc, ltree); /* send a literal byte */
10601059
Tracecv(isgraph(lc), (stderr," '%c' ", lc));
10611060
} else {
10621061
/* Here, lc is the match length - MIN_MATCH */
10631062
code = _length_code[lc];
1064
- send_code(s, code+LITERALS+1, ltree); /* send the length code */
1063
+ send_code(s, code + LITERALS + 1, ltree); /* send length code */
10651064
extra = extra_lbits[code];
10661065
if (extra != 0) {
10671066
lc -= base_length[code];
10681067
send_bits(s, lc, extra); /* send the extra length bits */
10691068
}
@@ -1175,8 +1174,8 @@
11751174
put_byte(s, (Byte)s->bi_buf);
11761175
}
11771176
s->bi_buf = 0;
11781177
s->bi_valid = 0;
11791178
#ifdef ZLIB_DEBUG
1180
- s->bits_sent = (s->bits_sent+7) & ~7;
1179
+ s->bits_sent = (s->bits_sent + 7) & ~7;
11811180
#endif
11821181
}
11831182
--- compat/zlib/trees.c
+++ compat/zlib/trees.c
@@ -191,11 +191,11 @@
191 Tracevv((stderr," l %2d v %4x ", length, value));
192 Assert(length > 0 && length <= 15, "invalid length");
193 s->bits_sent += (ulg)length;
194
195 /* If not enough room in bi_buf, use (valid) bits from bi_buf and
196 * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
197 * unused bits in value.
198 */
199 if (s->bi_valid > (int)Buf_size - length) {
200 s->bi_buf |= (ush)value << s->bi_valid;
201 put_short(s, s->bi_buf);
@@ -254,38 +254,38 @@
254
255 /* Initialize the mapping length (0..255) -> length code (0..28) */
256 length = 0;
257 for (code = 0; code < LENGTH_CODES-1; code++) {
258 base_length[code] = length;
259 for (n = 0; n < (1<<extra_lbits[code]); n++) {
260 _length_code[length++] = (uch)code;
261 }
262 }
263 Assert (length == 256, "tr_static_init: length != 256");
264 /* Note that the length 255 (match length 258) can be represented
265 * in two different ways: code 284 + 5 bits or code 285, so we
266 * overwrite length_code[255] to use the best encoding:
267 */
268 _length_code[length-1] = (uch)code;
269
270 /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
271 dist = 0;
272 for (code = 0 ; code < 16; code++) {
273 base_dist[code] = dist;
274 for (n = 0; n < (1<<extra_dbits[code]); n++) {
275 _dist_code[dist++] = (uch)code;
276 }
277 }
278 Assert (dist == 256, "tr_static_init: dist != 256");
279 dist >>= 7; /* from now on, all distances are divided by 128 */
280 for ( ; code < D_CODES; code++) {
281 base_dist[code] = dist << 7;
282 for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
283 _dist_code[256 + dist++] = (uch)code;
284 }
285 }
286 Assert (dist == 256, "tr_static_init: 256+dist != 512");
287
288 /* Construct the codes of the static literal tree */
289 for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
290 n = 0;
291 while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
@@ -310,20 +310,20 @@
310 # endif
311 #endif /* defined(GEN_TREES_H) || !defined(STDC) */
312 }
313
314 /* ===========================================================================
315 * Genererate the file trees.h describing the static trees.
316 */
317 #ifdef GEN_TREES_H
318 # ifndef ZLIB_DEBUG
319 # include <stdio.h>
320 # endif
321
322 # define SEPARATOR(i, last, width) \
323 ((i) == (last)? "\n};\n\n" : \
324 ((i) % (width) == (width)-1 ? ",\n" : ", "))
325
326 void gen_trees_header()
327 {
328 FILE *header = fopen("trees.h", "w");
329 int i;
@@ -456,11 +456,11 @@
456 int v = s->heap[k];
457 int j = k << 1; /* left son of k */
458 while (j <= s->heap_len) {
459 /* Set j to the smallest of the two sons: */
460 if (j < s->heap_len &&
461 smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
462 j++;
463 }
464 /* Exit if v is smaller than both sons */
465 if (smaller(tree, v, s->heap[j], s->depth)) break;
466
@@ -505,11 +505,11 @@
505 /* In a first pass, compute the optimal bit lengths (which may
506 * overflow in the case of the bit length tree).
507 */
508 tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
509
510 for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
511 n = s->heap[h];
512 bits = tree[tree[n].Dad].Len + 1;
513 if (bits > max_length) bits = max_length, overflow++;
514 tree[n].Len = (ush)bits;
515 /* We overwrite tree[n].Dad which is no longer needed */
@@ -516,11 +516,11 @@
516
517 if (n > max_code) continue; /* not a leaf node */
518
519 s->bl_count[bits]++;
520 xbits = 0;
521 if (n >= base) xbits = extra[n-base];
522 f = tree[n].Freq;
523 s->opt_len += (ulg)f * (unsigned)(bits + xbits);
524 if (stree) s->static_len += (ulg)f * (unsigned)(stree[n].Len + xbits);
525 }
526 if (overflow == 0) return;
@@ -528,14 +528,14 @@
528 Tracev((stderr,"\nbit length overflow\n"));
529 /* This happens for example on obj2 and pic of the Calgary corpus */
530
531 /* Find the first bit length which could increase: */
532 do {
533 bits = max_length-1;
534 while (s->bl_count[bits] == 0) bits--;
535 s->bl_count[bits]--; /* move one leaf down the tree */
536 s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
537 s->bl_count[max_length]--;
538 /* The brother of the overflow item also moves one step up,
539 * but this does not affect bl_count[max_length]
540 */
541 overflow -= 2;
@@ -567,11 +567,11 @@
567 * IN assertion: the array bl_count contains the bit length statistics for
568 * the given tree and the field len is set for all tree elements.
569 * OUT assertion: the field code is set for all tree elements of non
570 * zero code length.
571 */
572 local void gen_codes (tree, max_code, bl_count)
573 ct_data *tree; /* the tree to decorate */
574 int max_code; /* largest code with non zero frequency */
575 ushf *bl_count; /* number of codes at each bit length */
576 {
577 ush next_code[MAX_BITS+1]; /* next code value for each bit length */
@@ -581,17 +581,17 @@
581
582 /* The distribution counts are first used to generate the code values
583 * without bit reversal.
584 */
585 for (bits = 1; bits <= MAX_BITS; bits++) {
586 code = (code + bl_count[bits-1]) << 1;
587 next_code[bits] = (ush)code;
588 }
589 /* Check that the bit counts in bl_count are consistent. The last code
590 * must be all ones.
591 */
592 Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
593 "inconsistent bit counts");
594 Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
595
596 for (n = 0; n <= max_code; n++) {
597 int len = tree[n].Len;
@@ -598,11 +598,11 @@
598 if (len == 0) continue;
599 /* Now reverse the bits */
600 tree[n].Code = (ush)bi_reverse(next_code[len]++, len);
601
602 Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
603 n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
604 }
605 }
606
607 /* ===========================================================================
608 * Construct one Huffman tree and assigns the code bit strings and lengths.
@@ -622,11 +622,11 @@
622 int n, m; /* iterate over heap elements */
623 int max_code = -1; /* largest code with non zero frequency */
624 int node; /* new node being created */
625
626 /* Construct the initial heap, with least frequent element in
627 * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
628 * heap[0] is not used.
629 */
630 s->heap_len = 0, s->heap_max = HEAP_SIZE;
631
632 for (n = 0; n < elems; n++) {
@@ -650,11 +650,11 @@
650 s->opt_len--; if (stree) s->static_len -= stree[node].Len;
651 /* node is 0 or 1 so it does not have extra bits */
652 }
653 desc->max_code = max_code;
654
655 /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
656 * establish sub-heaps of increasing lengths:
657 */
658 for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
659
660 /* Construct the Huffman tree by repeatedly combining the least two
@@ -698,11 +698,11 @@
698
699 /* ===========================================================================
700 * Scan a literal or distance tree to determine the frequencies of the codes
701 * in the bit length tree.
702 */
703 local void scan_tree (s, tree, max_code)
704 deflate_state *s;
705 ct_data *tree; /* the tree to be scanned */
706 int max_code; /* and its largest code of non zero frequency */
707 {
708 int n; /* iterates over all tree elements */
@@ -712,14 +712,14 @@
712 int count = 0; /* repeat count of the current code */
713 int max_count = 7; /* max repeat count */
714 int min_count = 4; /* min repeat count */
715
716 if (nextlen == 0) max_count = 138, min_count = 3;
717 tree[max_code+1].Len = (ush)0xffff; /* guard */
718
719 for (n = 0; n <= max_code; n++) {
720 curlen = nextlen; nextlen = tree[n+1].Len;
721 if (++count < max_count && curlen == nextlen) {
722 continue;
723 } else if (count < min_count) {
724 s->bl_tree[curlen].Freq += count;
725 } else if (curlen != 0) {
@@ -743,11 +743,11 @@
743
744 /* ===========================================================================
745 * Send a literal or distance tree in compressed form, using the codes in
746 * bl_tree.
747 */
748 local void send_tree (s, tree, max_code)
749 deflate_state *s;
750 ct_data *tree; /* the tree to be scanned */
751 int max_code; /* and its largest code of non zero frequency */
752 {
753 int n; /* iterates over all tree elements */
@@ -756,15 +756,15 @@
756 int nextlen = tree[0].Len; /* length of next code */
757 int count = 0; /* repeat count of the current code */
758 int max_count = 7; /* max repeat count */
759 int min_count = 4; /* min repeat count */
760
761 /* tree[max_code+1].Len = -1; */ /* guard already set */
762 if (nextlen == 0) max_count = 138, min_count = 3;
763
764 for (n = 0; n <= max_code; n++) {
765 curlen = nextlen; nextlen = tree[n+1].Len;
766 if (++count < max_count && curlen == nextlen) {
767 continue;
768 } else if (count < min_count) {
769 do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
770
@@ -771,17 +771,17 @@
771 } else if (curlen != 0) {
772 if (curlen != prevlen) {
773 send_code(s, curlen, s->bl_tree); count--;
774 }
775 Assert(count >= 3 && count <= 6, " 3_6?");
776 send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
777
778 } else if (count <= 10) {
779 send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
780
781 } else {
782 send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
783 }
784 count = 0; prevlen = curlen;
785 if (nextlen == 0) {
786 max_count = 138, min_count = 3;
787 } else if (curlen == nextlen) {
@@ -805,12 +805,12 @@
805 scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
806 scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
807
808 /* Build the bit length tree: */
809 build_tree(s, (tree_desc *)(&(s->bl_desc)));
810 /* opt_len now includes the length of the tree representations, except
811 * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
812 */
813
814 /* Determine the number of bit length codes to send. The pkzip format
815 * requires that at least 4 bit length codes be sent. (appnote.txt says
816 * 3 but the actual value used is 4.)
@@ -817,11 +817,11 @@
817 */
818 for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
819 if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
820 }
821 /* Update opt_len to include the bit length tree and counts */
822 s->opt_len += 3*((ulg)max_blindex+1) + 5+5+4;
823 Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
824 s->opt_len, s->static_len));
825
826 return max_blindex;
827 }
@@ -839,23 +839,23 @@
839
840 Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
841 Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
842 "too many codes");
843 Tracev((stderr, "\nbl counts: "));
844 send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
845 send_bits(s, dcodes-1, 5);
846 send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
847 for (rank = 0; rank < blcodes; rank++) {
848 Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
849 send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
850 }
851 Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
852
853 send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
854 Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
855
856 send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
857 Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
858 }
859
860 /* ===========================================================================
861 * Send a stored block
@@ -864,11 +864,11 @@
864 deflate_state *s;
865 charf *buf; /* input block */
866 ulg stored_len; /* length of input block */
867 int last; /* one if this is the last block for a file */
868 {
869 send_bits(s, (STORED_BLOCK<<1)+last, 3); /* send block type */
870 bi_windup(s); /* align on byte boundary */
871 put_short(s, (ush)stored_len);
872 put_short(s, (ush)~stored_len);
873 if (stored_len)
874 zmemcpy(s->pending_buf + s->pending, (Bytef *)buf, stored_len);
@@ -875,11 +875,11 @@
875 s->pending += stored_len;
876 #ifdef ZLIB_DEBUG
877 s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
878 s->compressed_len += (stored_len + 4) << 3;
879 s->bits_sent += 2*16;
880 s->bits_sent += stored_len<<3;
881 #endif
882 }
883
884 /* ===========================================================================
885 * Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
@@ -941,28 +941,31 @@
941 * in bl_order of the last bit length code to send.
942 */
943 max_blindex = build_bl_tree(s);
944
945 /* Determine the best encoding. Compute the block lengths in bytes. */
946 opt_lenb = (s->opt_len+3+7)>>3;
947 static_lenb = (s->static_len+3+7)>>3;
948
949 Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
950 opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
951 s->sym_next / 3));
952
953 if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
 
 
 
954
955 } else {
956 Assert(buf != (char*)0, "lost buf");
957 opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
958 }
959
960 #ifdef FORCE_STORED
961 if (buf != (char*)0) { /* force stored block */
962 #else
963 if (stored_len+4 <= opt_lenb && buf != (char*)0) {
964 /* 4: two words for the lengths */
965 #endif
966 /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
967 * Otherwise we can't have processed more than WSIZE input bytes since
968 * the last block flush, because compression would have been
@@ -969,25 +972,21 @@
969 * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
970 * transform a block into a stored block.
971 */
972 _tr_stored_block(s, buf, stored_len, last);
973
974 #ifdef FORCE_STATIC
975 } else if (static_lenb >= 0) { /* force static trees */
976 #else
977 } else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) {
978 #endif
979 send_bits(s, (STATIC_TREES<<1)+last, 3);
980 compress_block(s, (const ct_data *)static_ltree,
981 (const ct_data *)static_dtree);
982 #ifdef ZLIB_DEBUG
983 s->compressed_len += 3 + s->static_len;
984 #endif
985 } else {
986 send_bits(s, (DYN_TREES<<1)+last, 3);
987 send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
988 max_blindex+1);
989 compress_block(s, (const ct_data *)s->dyn_ltree,
990 (const ct_data *)s->dyn_dtree);
991 #ifdef ZLIB_DEBUG
992 s->compressed_len += 3 + s->opt_len;
993 #endif
@@ -1002,26 +1001,26 @@
1002 bi_windup(s);
1003 #ifdef ZLIB_DEBUG
1004 s->compressed_len += 7; /* align on byte boundary */
1005 #endif
1006 }
1007 Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
1008 s->compressed_len-7*last));
1009 }
1010
1011 /* ===========================================================================
1012 * Save the match info and tally the frequency counts. Return true if
1013 * the current block must be flushed.
1014 */
1015 int ZLIB_INTERNAL _tr_tally (s, dist, lc)
1016 deflate_state *s;
1017 unsigned dist; /* distance of matched string */
1018 unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
1019 {
1020 s->sym_buf[s->sym_next++] = dist;
1021 s->sym_buf[s->sym_next++] = dist >> 8;
1022 s->sym_buf[s->sym_next++] = lc;
1023 if (dist == 0) {
1024 /* lc is the unmatched char */
1025 s->dyn_ltree[lc].Freq++;
1026 } else {
1027 s->matches++;
@@ -1029,11 +1028,11 @@
1029 dist--; /* dist = match distance - 1 */
1030 Assert((ush)dist < (ush)MAX_DIST(s) &&
1031 (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
1032 (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
1033
1034 s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++;
1035 s->dyn_dtree[d_code(dist)].Freq++;
1036 }
1037 return (s->sym_next == s->sym_end);
1038 }
1039
@@ -1059,11 +1058,11 @@
1059 send_code(s, lc, ltree); /* send a literal byte */
1060 Tracecv(isgraph(lc), (stderr," '%c' ", lc));
1061 } else {
1062 /* Here, lc is the match length - MIN_MATCH */
1063 code = _length_code[lc];
1064 send_code(s, code+LITERALS+1, ltree); /* send the length code */
1065 extra = extra_lbits[code];
1066 if (extra != 0) {
1067 lc -= base_length[code];
1068 send_bits(s, lc, extra); /* send the extra length bits */
1069 }
@@ -1175,8 +1174,8 @@
1175 put_byte(s, (Byte)s->bi_buf);
1176 }
1177 s->bi_buf = 0;
1178 s->bi_valid = 0;
1179 #ifdef ZLIB_DEBUG
1180 s->bits_sent = (s->bits_sent+7) & ~7;
1181 #endif
1182 }
1183
--- compat/zlib/trees.c
+++ compat/zlib/trees.c
@@ -191,11 +191,11 @@
191 Tracevv((stderr," l %2d v %4x ", length, value));
192 Assert(length > 0 && length <= 15, "invalid length");
193 s->bits_sent += (ulg)length;
194
195 /* If not enough room in bi_buf, use (valid) bits from bi_buf and
196 * (16 - bi_valid) bits from value, leaving (width - (16 - bi_valid))
197 * unused bits in value.
198 */
199 if (s->bi_valid > (int)Buf_size - length) {
200 s->bi_buf |= (ush)value << s->bi_valid;
201 put_short(s, s->bi_buf);
@@ -254,38 +254,38 @@
254
255 /* Initialize the mapping length (0..255) -> length code (0..28) */
256 length = 0;
257 for (code = 0; code < LENGTH_CODES-1; code++) {
258 base_length[code] = length;
259 for (n = 0; n < (1 << extra_lbits[code]); n++) {
260 _length_code[length++] = (uch)code;
261 }
262 }
263 Assert (length == 256, "tr_static_init: length != 256");
264 /* Note that the length 255 (match length 258) can be represented
265 * in two different ways: code 284 + 5 bits or code 285, so we
266 * overwrite length_code[255] to use the best encoding:
267 */
268 _length_code[length - 1] = (uch)code;
269
270 /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
271 dist = 0;
272 for (code = 0 ; code < 16; code++) {
273 base_dist[code] = dist;
274 for (n = 0; n < (1 << extra_dbits[code]); n++) {
275 _dist_code[dist++] = (uch)code;
276 }
277 }
278 Assert (dist == 256, "tr_static_init: dist != 256");
279 dist >>= 7; /* from now on, all distances are divided by 128 */
280 for ( ; code < D_CODES; code++) {
281 base_dist[code] = dist << 7;
282 for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {
283 _dist_code[256 + dist++] = (uch)code;
284 }
285 }
286 Assert (dist == 256, "tr_static_init: 256 + dist != 512");
287
288 /* Construct the codes of the static literal tree */
289 for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
290 n = 0;
291 while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
@@ -310,20 +310,20 @@
310 # endif
311 #endif /* defined(GEN_TREES_H) || !defined(STDC) */
312 }
313
314 /* ===========================================================================
315 * Generate the file trees.h describing the static trees.
316 */
317 #ifdef GEN_TREES_H
318 # ifndef ZLIB_DEBUG
319 # include <stdio.h>
320 # endif
321
322 # define SEPARATOR(i, last, width) \
323 ((i) == (last)? "\n};\n\n" : \
324 ((i) % (width) == (width) - 1 ? ",\n" : ", "))
325
326 void gen_trees_header()
327 {
328 FILE *header = fopen("trees.h", "w");
329 int i;
@@ -456,11 +456,11 @@
456 int v = s->heap[k];
457 int j = k << 1; /* left son of k */
458 while (j <= s->heap_len) {
459 /* Set j to the smallest of the two sons: */
460 if (j < s->heap_len &&
461 smaller(tree, s->heap[j + 1], s->heap[j], s->depth)) {
462 j++;
463 }
464 /* Exit if v is smaller than both sons */
465 if (smaller(tree, v, s->heap[j], s->depth)) break;
466
@@ -505,11 +505,11 @@
505 /* In a first pass, compute the optimal bit lengths (which may
506 * overflow in the case of the bit length tree).
507 */
508 tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
509
510 for (h = s->heap_max + 1; h < HEAP_SIZE; h++) {
511 n = s->heap[h];
512 bits = tree[tree[n].Dad].Len + 1;
513 if (bits > max_length) bits = max_length, overflow++;
514 tree[n].Len = (ush)bits;
515 /* We overwrite tree[n].Dad which is no longer needed */
@@ -516,11 +516,11 @@
516
517 if (n > max_code) continue; /* not a leaf node */
518
519 s->bl_count[bits]++;
520 xbits = 0;
521 if (n >= base) xbits = extra[n - base];
522 f = tree[n].Freq;
523 s->opt_len += (ulg)f * (unsigned)(bits + xbits);
524 if (stree) s->static_len += (ulg)f * (unsigned)(stree[n].Len + xbits);
525 }
526 if (overflow == 0) return;
@@ -528,14 +528,14 @@
528 Tracev((stderr,"\nbit length overflow\n"));
529 /* This happens for example on obj2 and pic of the Calgary corpus */
530
531 /* Find the first bit length which could increase: */
532 do {
533 bits = max_length - 1;
534 while (s->bl_count[bits] == 0) bits--;
535 s->bl_count[bits]--; /* move one leaf down the tree */
536 s->bl_count[bits + 1] += 2; /* move one overflow item as its brother */
537 s->bl_count[max_length]--;
538 /* The brother of the overflow item also moves one step up,
539 * but this does not affect bl_count[max_length]
540 */
541 overflow -= 2;
@@ -567,11 +567,11 @@
567 * IN assertion: the array bl_count contains the bit length statistics for
568 * the given tree and the field len is set for all tree elements.
569 * OUT assertion: the field code is set for all tree elements of non
570 * zero code length.
571 */
572 local void gen_codes(tree, max_code, bl_count)
573 ct_data *tree; /* the tree to decorate */
574 int max_code; /* largest code with non zero frequency */
575 ushf *bl_count; /* number of codes at each bit length */
576 {
577 ush next_code[MAX_BITS+1]; /* next code value for each bit length */
@@ -581,17 +581,17 @@
581
582 /* The distribution counts are first used to generate the code values
583 * without bit reversal.
584 */
585 for (bits = 1; bits <= MAX_BITS; bits++) {
586 code = (code + bl_count[bits - 1]) << 1;
587 next_code[bits] = (ush)code;
588 }
589 /* Check that the bit counts in bl_count are consistent. The last code
590 * must be all ones.
591 */
592 Assert (code + bl_count[MAX_BITS] - 1 == (1 << MAX_BITS) - 1,
593 "inconsistent bit counts");
594 Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
595
596 for (n = 0; n <= max_code; n++) {
597 int len = tree[n].Len;
@@ -598,11 +598,11 @@
598 if (len == 0) continue;
599 /* Now reverse the bits */
600 tree[n].Code = (ush)bi_reverse(next_code[len]++, len);
601
602 Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
603 n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len] - 1));
604 }
605 }
606
607 /* ===========================================================================
608 * Construct one Huffman tree and assigns the code bit strings and lengths.
@@ -622,11 +622,11 @@
622 int n, m; /* iterate over heap elements */
623 int max_code = -1; /* largest code with non zero frequency */
624 int node; /* new node being created */
625
626 /* Construct the initial heap, with least frequent element in
627 * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
628 * heap[0] is not used.
629 */
630 s->heap_len = 0, s->heap_max = HEAP_SIZE;
631
632 for (n = 0; n < elems; n++) {
@@ -650,11 +650,11 @@
650 s->opt_len--; if (stree) s->static_len -= stree[node].Len;
651 /* node is 0 or 1 so it does not have extra bits */
652 }
653 desc->max_code = max_code;
654
655 /* The elements heap[heap_len/2 + 1 .. heap_len] are leaves of the tree,
656 * establish sub-heaps of increasing lengths:
657 */
658 for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
659
660 /* Construct the Huffman tree by repeatedly combining the least two
@@ -698,11 +698,11 @@
698
699 /* ===========================================================================
700 * Scan a literal or distance tree to determine the frequencies of the codes
701 * in the bit length tree.
702 */
703 local void scan_tree(s, tree, max_code)
704 deflate_state *s;
705 ct_data *tree; /* the tree to be scanned */
706 int max_code; /* and its largest code of non zero frequency */
707 {
708 int n; /* iterates over all tree elements */
@@ -712,14 +712,14 @@
712 int count = 0; /* repeat count of the current code */
713 int max_count = 7; /* max repeat count */
714 int min_count = 4; /* min repeat count */
715
716 if (nextlen == 0) max_count = 138, min_count = 3;
717 tree[max_code + 1].Len = (ush)0xffff; /* guard */
718
719 for (n = 0; n <= max_code; n++) {
720 curlen = nextlen; nextlen = tree[n + 1].Len;
721 if (++count < max_count && curlen == nextlen) {
722 continue;
723 } else if (count < min_count) {
724 s->bl_tree[curlen].Freq += count;
725 } else if (curlen != 0) {
@@ -743,11 +743,11 @@
743
744 /* ===========================================================================
745 * Send a literal or distance tree in compressed form, using the codes in
746 * bl_tree.
747 */
748 local void send_tree(s, tree, max_code)
749 deflate_state *s;
750 ct_data *tree; /* the tree to be scanned */
751 int max_code; /* and its largest code of non zero frequency */
752 {
753 int n; /* iterates over all tree elements */
@@ -756,15 +756,15 @@
756 int nextlen = tree[0].Len; /* length of next code */
757 int count = 0; /* repeat count of the current code */
758 int max_count = 7; /* max repeat count */
759 int min_count = 4; /* min repeat count */
760
761 /* tree[max_code + 1].Len = -1; */ /* guard already set */
762 if (nextlen == 0) max_count = 138, min_count = 3;
763
764 for (n = 0; n <= max_code; n++) {
765 curlen = nextlen; nextlen = tree[n + 1].Len;
766 if (++count < max_count && curlen == nextlen) {
767 continue;
768 } else if (count < min_count) {
769 do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
770
@@ -771,17 +771,17 @@
771 } else if (curlen != 0) {
772 if (curlen != prevlen) {
773 send_code(s, curlen, s->bl_tree); count--;
774 }
775 Assert(count >= 3 && count <= 6, " 3_6?");
776 send_code(s, REP_3_6, s->bl_tree); send_bits(s, count - 3, 2);
777
778 } else if (count <= 10) {
779 send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count - 3, 3);
780
781 } else {
782 send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count - 11, 7);
783 }
784 count = 0; prevlen = curlen;
785 if (nextlen == 0) {
786 max_count = 138, min_count = 3;
787 } else if (curlen == nextlen) {
@@ -805,12 +805,12 @@
805 scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
806 scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
807
808 /* Build the bit length tree: */
809 build_tree(s, (tree_desc *)(&(s->bl_desc)));
810 /* opt_len now includes the length of the tree representations, except the
811 * lengths of the bit lengths codes and the 5 + 5 + 4 bits for the counts.
812 */
813
814 /* Determine the number of bit length codes to send. The pkzip format
815 * requires that at least 4 bit length codes be sent. (appnote.txt says
816 * 3 but the actual value used is 4.)
@@ -817,11 +817,11 @@
817 */
818 for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
819 if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
820 }
821 /* Update opt_len to include the bit length tree and counts */
822 s->opt_len += 3*((ulg)max_blindex + 1) + 5 + 5 + 4;
823 Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
824 s->opt_len, s->static_len));
825
826 return max_blindex;
827 }
@@ -839,23 +839,23 @@
839
840 Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
841 Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
842 "too many codes");
843 Tracev((stderr, "\nbl counts: "));
844 send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */
845 send_bits(s, dcodes - 1, 5);
846 send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */
847 for (rank = 0; rank < blcodes; rank++) {
848 Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
849 send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
850 }
851 Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
852
853 send_tree(s, (ct_data *)s->dyn_ltree, lcodes - 1); /* literal tree */
854 Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
855
856 send_tree(s, (ct_data *)s->dyn_dtree, dcodes - 1); /* distance tree */
857 Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
858 }
859
860 /* ===========================================================================
861 * Send a stored block
@@ -864,11 +864,11 @@
864 deflate_state *s;
865 charf *buf; /* input block */
866 ulg stored_len; /* length of input block */
867 int last; /* one if this is the last block for a file */
868 {
869 send_bits(s, (STORED_BLOCK<<1) + last, 3); /* send block type */
870 bi_windup(s); /* align on byte boundary */
871 put_short(s, (ush)stored_len);
872 put_short(s, (ush)~stored_len);
873 if (stored_len)
874 zmemcpy(s->pending_buf + s->pending, (Bytef *)buf, stored_len);
@@ -875,11 +875,11 @@
875 s->pending += stored_len;
876 #ifdef ZLIB_DEBUG
877 s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
878 s->compressed_len += (stored_len + 4) << 3;
879 s->bits_sent += 2*16;
880 s->bits_sent += stored_len << 3;
881 #endif
882 }
883
884 /* ===========================================================================
885 * Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
@@ -941,28 +941,31 @@
941 * in bl_order of the last bit length code to send.
942 */
943 max_blindex = build_bl_tree(s);
944
945 /* Determine the best encoding. Compute the block lengths in bytes. */
946 opt_lenb = (s->opt_len + 3 + 7) >> 3;
947 static_lenb = (s->static_len + 3 + 7) >> 3;
948
949 Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
950 opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
951 s->sym_next / 3));
952
953 #ifndef FORCE_STATIC
954 if (static_lenb <= opt_lenb || s->strategy == Z_FIXED)
955 #endif
956 opt_lenb = static_lenb;
957
958 } else {
959 Assert(buf != (char*)0, "lost buf");
960 opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
961 }
962
963 #ifdef FORCE_STORED
964 if (buf != (char*)0) { /* force stored block */
965 #else
966 if (stored_len + 4 <= opt_lenb && buf != (char*)0) {
967 /* 4: two words for the lengths */
968 #endif
969 /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
970 * Otherwise we can't have processed more than WSIZE input bytes since
971 * the last block flush, because compression would have been
@@ -969,25 +972,21 @@
972 * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
973 * transform a block into a stored block.
974 */
975 _tr_stored_block(s, buf, stored_len, last);
976
977 } else if (static_lenb == opt_lenb) {
978 send_bits(s, (STATIC_TREES<<1) + last, 3);
 
 
 
 
979 compress_block(s, (const ct_data *)static_ltree,
980 (const ct_data *)static_dtree);
981 #ifdef ZLIB_DEBUG
982 s->compressed_len += 3 + s->static_len;
983 #endif
984 } else {
985 send_bits(s, (DYN_TREES<<1) + last, 3);
986 send_all_trees(s, s->l_desc.max_code + 1, s->d_desc.max_code + 1,
987 max_blindex + 1);
988 compress_block(s, (const ct_data *)s->dyn_ltree,
989 (const ct_data *)s->dyn_dtree);
990 #ifdef ZLIB_DEBUG
991 s->compressed_len += 3 + s->opt_len;
992 #endif
@@ -1002,26 +1001,26 @@
1001 bi_windup(s);
1002 #ifdef ZLIB_DEBUG
1003 s->compressed_len += 7; /* align on byte boundary */
1004 #endif
1005 }
1006 Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len >> 3,
1007 s->compressed_len - 7*last));
1008 }
1009
1010 /* ===========================================================================
1011 * Save the match info and tally the frequency counts. Return true if
1012 * the current block must be flushed.
1013 */
1014 int ZLIB_INTERNAL _tr_tally(s, dist, lc)
1015 deflate_state *s;
1016 unsigned dist; /* distance of matched string */
1017 unsigned lc; /* match length - MIN_MATCH or unmatched char (dist==0) */
1018 {
1019 s->sym_buf[s->sym_next++] = (uch)dist;
1020 s->sym_buf[s->sym_next++] = (uch)(dist >> 8);
1021 s->sym_buf[s->sym_next++] = (uch)lc;
1022 if (dist == 0) {
1023 /* lc is the unmatched char */
1024 s->dyn_ltree[lc].Freq++;
1025 } else {
1026 s->matches++;
@@ -1029,11 +1028,11 @@
1028 dist--; /* dist = match distance - 1 */
1029 Assert((ush)dist < (ush)MAX_DIST(s) &&
1030 (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
1031 (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
1032
1033 s->dyn_ltree[_length_code[lc] + LITERALS + 1].Freq++;
1034 s->dyn_dtree[d_code(dist)].Freq++;
1035 }
1036 return (s->sym_next == s->sym_end);
1037 }
1038
@@ -1059,11 +1058,11 @@
1058 send_code(s, lc, ltree); /* send a literal byte */
1059 Tracecv(isgraph(lc), (stderr," '%c' ", lc));
1060 } else {
1061 /* Here, lc is the match length - MIN_MATCH */
1062 code = _length_code[lc];
1063 send_code(s, code + LITERALS + 1, ltree); /* send length code */
1064 extra = extra_lbits[code];
1065 if (extra != 0) {
1066 lc -= base_length[code];
1067 send_bits(s, lc, extra); /* send the extra length bits */
1068 }
@@ -1175,8 +1174,8 @@
1174 put_byte(s, (Byte)s->bi_buf);
1175 }
1176 s->bi_buf = 0;
1177 s->bi_valid = 0;
1178 #ifdef ZLIB_DEBUG
1179 s->bits_sent = (s->bits_sent + 7) & ~7;
1180 #endif
1181 }
1182
--- compat/zlib/uncompr.c
+++ compat/zlib/uncompr.c
@@ -22,11 +22,11 @@
2222
uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
2323
memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
2424
Z_DATA_ERROR if the input data was corrupted, including if the input data is
2525
an incomplete zlib stream.
2626
*/
27
-int ZEXPORT uncompress2 (dest, destLen, source, sourceLen)
27
+int ZEXPORT uncompress2(dest, destLen, source, sourceLen)
2828
Bytef *dest;
2929
uLongf *destLen;
3030
const Bytef *source;
3131
uLong *sourceLen;
3232
{
@@ -81,13 +81,13 @@
8181
err == Z_NEED_DICT ? Z_DATA_ERROR :
8282
err == Z_BUF_ERROR && left + stream.avail_out ? Z_DATA_ERROR :
8383
err;
8484
}
8585
86
-int ZEXPORT uncompress (dest, destLen, source, sourceLen)
86
+int ZEXPORT uncompress(dest, destLen, source, sourceLen)
8787
Bytef *dest;
8888
uLongf *destLen;
8989
const Bytef *source;
9090
uLong sourceLen;
9191
{
9292
return uncompress2(dest, destLen, source, &sourceLen);
9393
}
9494
--- compat/zlib/uncompr.c
+++ compat/zlib/uncompr.c
@@ -22,11 +22,11 @@
22 uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
23 memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
24 Z_DATA_ERROR if the input data was corrupted, including if the input data is
25 an incomplete zlib stream.
26 */
27 int ZEXPORT uncompress2 (dest, destLen, source, sourceLen)
28 Bytef *dest;
29 uLongf *destLen;
30 const Bytef *source;
31 uLong *sourceLen;
32 {
@@ -81,13 +81,13 @@
81 err == Z_NEED_DICT ? Z_DATA_ERROR :
82 err == Z_BUF_ERROR && left + stream.avail_out ? Z_DATA_ERROR :
83 err;
84 }
85
86 int ZEXPORT uncompress (dest, destLen, source, sourceLen)
87 Bytef *dest;
88 uLongf *destLen;
89 const Bytef *source;
90 uLong sourceLen;
91 {
92 return uncompress2(dest, destLen, source, &sourceLen);
93 }
94
--- compat/zlib/uncompr.c
+++ compat/zlib/uncompr.c
@@ -22,11 +22,11 @@
22 uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
23 memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
24 Z_DATA_ERROR if the input data was corrupted, including if the input data is
25 an incomplete zlib stream.
26 */
27 int ZEXPORT uncompress2(dest, destLen, source, sourceLen)
28 Bytef *dest;
29 uLongf *destLen;
30 const Bytef *source;
31 uLong *sourceLen;
32 {
@@ -81,13 +81,13 @@
81 err == Z_NEED_DICT ? Z_DATA_ERROR :
82 err == Z_BUF_ERROR && left + stream.avail_out ? Z_DATA_ERROR :
83 err;
84 }
85
86 int ZEXPORT uncompress(dest, destLen, source, sourceLen)
87 Bytef *dest;
88 uLongf *destLen;
89 const Bytef *source;
90 uLong sourceLen;
91 {
92 return uncompress2(dest, destLen, source, &sourceLen);
93 }
94
--- compat/zlib/win32/README-WIN32.txt
+++ compat/zlib/win32/README-WIN32.txt
@@ -1,8 +1,8 @@
11
ZLIB DATA COMPRESSION LIBRARY
22
3
-zlib 1.2.12 is a general purpose data compression library. All the code is
3
+zlib 1.2.13 is a general purpose data compression library. All the code is
44
thread safe. The data format used by the zlib library is described by RFCs
55
(Request for Comments) 1950 to 1952 in the files
66
http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
77
and rfc1952.txt (gzip format).
88
@@ -20,11 +20,11 @@
2020
before asking for help.
2121
2222
2323
Manifest:
2424
25
-The package zlib-1.2.12-win32-x86.zip will contain the following files:
25
+The package zlib-1.2.13-win32-x86.zip will contain the following files:
2626
2727
README-WIN32.txt This document
2828
ChangeLog Changes since previous zlib packages
2929
DLL_FAQ.txt Frequently asked questions about zlib1.dll
3030
zlib.3.pdf Documentation of this library in Adobe Acrobat format
3131
--- compat/zlib/win32/README-WIN32.txt
+++ compat/zlib/win32/README-WIN32.txt
@@ -1,8 +1,8 @@
1 ZLIB DATA COMPRESSION LIBRARY
2
3 zlib 1.2.12 is a general purpose data compression library. All the code is
4 thread safe. The data format used by the zlib library is described by RFCs
5 (Request for Comments) 1950 to 1952 in the files
6 http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
7 and rfc1952.txt (gzip format).
8
@@ -20,11 +20,11 @@
20 before asking for help.
21
22
23 Manifest:
24
25 The package zlib-1.2.12-win32-x86.zip will contain the following files:
26
27 README-WIN32.txt This document
28 ChangeLog Changes since previous zlib packages
29 DLL_FAQ.txt Frequently asked questions about zlib1.dll
30 zlib.3.pdf Documentation of this library in Adobe Acrobat format
31
--- compat/zlib/win32/README-WIN32.txt
+++ compat/zlib/win32/README-WIN32.txt
@@ -1,8 +1,8 @@
1 ZLIB DATA COMPRESSION LIBRARY
2
3 zlib 1.2.13 is a general purpose data compression library. All the code is
4 thread safe. The data format used by the zlib library is described by RFCs
5 (Request for Comments) 1950 to 1952 in the files
6 http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
7 and rfc1952.txt (gzip format).
8
@@ -20,11 +20,11 @@
20 before asking for help.
21
22
23 Manifest:
24
25 The package zlib-1.2.13-win32-x86.zip will contain the following files:
26
27 README-WIN32.txt This document
28 ChangeLog Changes since previous zlib packages
29 DLL_FAQ.txt Frequently asked questions about zlib1.dll
30 zlib.3.pdf Documentation of this library in Adobe Acrobat format
31
--- compat/zlib/win32/zlib1.rc
+++ compat/zlib/win32/zlib1.rc
@@ -24,11 +24,11 @@
2424
//language ID = U.S. English, char set = Windows, Multilingual
2525
BEGIN
2626
VALUE "FileDescription", "zlib data compression library\0"
2727
VALUE "FileVersion", ZLIB_VERSION "\0"
2828
VALUE "InternalName", "zlib1.dll\0"
29
- VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0"
29
+ VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
3030
VALUE "OriginalFilename", "zlib1.dll\0"
3131
VALUE "ProductName", "zlib\0"
3232
VALUE "ProductVersion", ZLIB_VERSION "\0"
3333
VALUE "Comments", "For more information visit http://www.zlib.net/\0"
3434
END
3535
--- compat/zlib/win32/zlib1.rc
+++ compat/zlib/win32/zlib1.rc
@@ -24,11 +24,11 @@
24 //language ID = U.S. English, char set = Windows, Multilingual
25 BEGIN
26 VALUE "FileDescription", "zlib data compression library\0"
27 VALUE "FileVersion", ZLIB_VERSION "\0"
28 VALUE "InternalName", "zlib1.dll\0"
29 VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0"
30 VALUE "OriginalFilename", "zlib1.dll\0"
31 VALUE "ProductName", "zlib\0"
32 VALUE "ProductVersion", ZLIB_VERSION "\0"
33 VALUE "Comments", "For more information visit http://www.zlib.net/\0"
34 END
35
--- compat/zlib/win32/zlib1.rc
+++ compat/zlib/win32/zlib1.rc
@@ -24,11 +24,11 @@
24 //language ID = U.S. English, char set = Windows, Multilingual
25 BEGIN
26 VALUE "FileDescription", "zlib data compression library\0"
27 VALUE "FileVersion", ZLIB_VERSION "\0"
28 VALUE "InternalName", "zlib1.dll\0"
29 VALUE "LegalCopyright", "(C) 1995-2022 Jean-loup Gailly & Mark Adler\0"
30 VALUE "OriginalFilename", "zlib1.dll\0"
31 VALUE "ProductName", "zlib\0"
32 VALUE "ProductVersion", ZLIB_VERSION "\0"
33 VALUE "Comments", "For more information visit http://www.zlib.net/\0"
34 END
35
--- compat/zlib/zconf.h
+++ compat/zlib/zconf.h
@@ -36,10 +36,13 @@
3636
# define compressBound z_compressBound
3737
# endif
3838
# define crc32 z_crc32
3939
# define crc32_combine z_crc32_combine
4040
# define crc32_combine64 z_crc32_combine64
41
+# define crc32_combine_gen z_crc32_combine_gen
42
+# define crc32_combine_gen64 z_crc32_combine_gen64
43
+# define crc32_combine_op z_crc32_combine_op
4144
# define crc32_z z_crc32_z
4245
# define deflate z_deflate
4346
# define deflateBound z_deflateBound
4447
# define deflateCopy z_deflateCopy
4548
# define deflateEnd z_deflateEnd
@@ -347,10 +350,13 @@
347350
*/
348351
# ifdef ZLIB_WINAPI
349352
# ifdef FAR
350353
# undef FAR
351354
# endif
355
+# ifndef WIN32_LEAN_AND_MEAN
356
+# define WIN32_LEAN_AND_MEAN
357
+# endif
352358
# include <windows.h>
353359
/* No need for _export, use ZLIB.DEF instead. */
354360
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
355361
# define ZEXPORT WINAPI
356362
# ifdef WIN32
@@ -429,15 +435,15 @@
429435
typedef Z_U4 z_crc_t;
430436
#else
431437
typedef unsigned long z_crc_t;
432438
#endif
433439
434
-#ifdef HAVE_UNISTD_H /* was set to #if 1 by ./configure */
440
+#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
435441
# define Z_HAVE_UNISTD_H
436442
#endif
437443
438
-#if 1 /* was set to #if 1 by ./configure */
444
+#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
439445
# define Z_HAVE_STDARG_H
440446
#endif
441447
442448
#ifdef STDC
443449
# ifndef Z_SOLO
@@ -465,15 +471,22 @@
465471
*/
466472
#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
467473
# undef _LARGEFILE64_SOURCE
468474
#endif
469475
470
-#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
471
-# define Z_HAVE_UNISTD_H
476
+#ifndef Z_HAVE_UNISTD_H
477
+# ifdef __WATCOMC__
478
+# define Z_HAVE_UNISTD_H
479
+# endif
480
+#endif
481
+#ifndef Z_HAVE_UNISTD_H
482
+# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
483
+# define Z_HAVE_UNISTD_H
484
+# endif
472485
#endif
473486
#ifndef Z_SOLO
474
-# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
487
+# if defined(Z_HAVE_UNISTD_H)
475488
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
476489
# ifdef VMS
477490
# include <unixio.h> /* for off_t */
478491
# endif
479492
# ifndef z_off_t
480493
--- compat/zlib/zconf.h
+++ compat/zlib/zconf.h
@@ -36,10 +36,13 @@
36 # define compressBound z_compressBound
37 # endif
38 # define crc32 z_crc32
39 # define crc32_combine z_crc32_combine
40 # define crc32_combine64 z_crc32_combine64
 
 
 
41 # define crc32_z z_crc32_z
42 # define deflate z_deflate
43 # define deflateBound z_deflateBound
44 # define deflateCopy z_deflateCopy
45 # define deflateEnd z_deflateEnd
@@ -347,10 +350,13 @@
347 */
348 # ifdef ZLIB_WINAPI
349 # ifdef FAR
350 # undef FAR
351 # endif
 
 
 
352 # include <windows.h>
353 /* No need for _export, use ZLIB.DEF instead. */
354 /* For complete Windows compatibility, use WINAPI, not __stdcall. */
355 # define ZEXPORT WINAPI
356 # ifdef WIN32
@@ -429,15 +435,15 @@
429 typedef Z_U4 z_crc_t;
430 #else
431 typedef unsigned long z_crc_t;
432 #endif
433
434 #ifdef HAVE_UNISTD_H /* was set to #if 1 by ./configure */
435 # define Z_HAVE_UNISTD_H
436 #endif
437
438 #if 1 /* was set to #if 1 by ./configure */
439 # define Z_HAVE_STDARG_H
440 #endif
441
442 #ifdef STDC
443 # ifndef Z_SOLO
@@ -465,15 +471,22 @@
465 */
466 #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
467 # undef _LARGEFILE64_SOURCE
468 #endif
469
470 #if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
471 # define Z_HAVE_UNISTD_H
 
 
 
 
 
 
 
472 #endif
473 #ifndef Z_SOLO
474 # if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
475 # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
476 # ifdef VMS
477 # include <unixio.h> /* for off_t */
478 # endif
479 # ifndef z_off_t
480
--- compat/zlib/zconf.h
+++ compat/zlib/zconf.h
@@ -36,10 +36,13 @@
36 # define compressBound z_compressBound
37 # endif
38 # define crc32 z_crc32
39 # define crc32_combine z_crc32_combine
40 # define crc32_combine64 z_crc32_combine64
41 # define crc32_combine_gen z_crc32_combine_gen
42 # define crc32_combine_gen64 z_crc32_combine_gen64
43 # define crc32_combine_op z_crc32_combine_op
44 # define crc32_z z_crc32_z
45 # define deflate z_deflate
46 # define deflateBound z_deflateBound
47 # define deflateCopy z_deflateCopy
48 # define deflateEnd z_deflateEnd
@@ -347,10 +350,13 @@
350 */
351 # ifdef ZLIB_WINAPI
352 # ifdef FAR
353 # undef FAR
354 # endif
355 # ifndef WIN32_LEAN_AND_MEAN
356 # define WIN32_LEAN_AND_MEAN
357 # endif
358 # include <windows.h>
359 /* No need for _export, use ZLIB.DEF instead. */
360 /* For complete Windows compatibility, use WINAPI, not __stdcall. */
361 # define ZEXPORT WINAPI
362 # ifdef WIN32
@@ -429,15 +435,15 @@
435 typedef Z_U4 z_crc_t;
436 #else
437 typedef unsigned long z_crc_t;
438 #endif
439
440 #ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
441 # define Z_HAVE_UNISTD_H
442 #endif
443
444 #ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
445 # define Z_HAVE_STDARG_H
446 #endif
447
448 #ifdef STDC
449 # ifndef Z_SOLO
@@ -465,15 +471,22 @@
471 */
472 #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
473 # undef _LARGEFILE64_SOURCE
474 #endif
475
476 #ifndef Z_HAVE_UNISTD_H
477 # ifdef __WATCOMC__
478 # define Z_HAVE_UNISTD_H
479 # endif
480 #endif
481 #ifndef Z_HAVE_UNISTD_H
482 # if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
483 # define Z_HAVE_UNISTD_H
484 # endif
485 #endif
486 #ifndef Z_SOLO
487 # if defined(Z_HAVE_UNISTD_H)
488 # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
489 # ifdef VMS
490 # include <unixio.h> /* for off_t */
491 # endif
492 # ifndef z_off_t
493
--- compat/zlib/zconf.h.cmakein
+++ compat/zlib/zconf.h.cmakein
@@ -38,10 +38,13 @@
3838
# define compressBound z_compressBound
3939
# endif
4040
# define crc32 z_crc32
4141
# define crc32_combine z_crc32_combine
4242
# define crc32_combine64 z_crc32_combine64
43
+# define crc32_combine_gen z_crc32_combine_gen
44
+# define crc32_combine_gen64 z_crc32_combine_gen64
45
+# define crc32_combine_op z_crc32_combine_op
4346
# define crc32_z z_crc32_z
4447
# define deflate z_deflate
4548
# define deflateBound z_deflateBound
4649
# define deflateCopy z_deflateCopy
4750
# define deflateEnd z_deflateEnd
@@ -349,10 +352,13 @@
349352
*/
350353
# ifdef ZLIB_WINAPI
351354
# ifdef FAR
352355
# undef FAR
353356
# endif
357
+# ifndef WIN32_LEAN_AND_MEAN
358
+# define WIN32_LEAN_AND_MEAN
359
+# endif
354360
# include <windows.h>
355361
/* No need for _export, use ZLIB.DEF instead. */
356362
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
357363
# define ZEXPORT WINAPI
358364
# ifdef WIN32
@@ -467,15 +473,22 @@
467473
*/
468474
#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
469475
# undef _LARGEFILE64_SOURCE
470476
#endif
471477
472
-#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
473
-# define Z_HAVE_UNISTD_H
478
+#ifndef Z_HAVE_UNISTD_H
479
+# ifdef __WATCOMC__
480
+# define Z_HAVE_UNISTD_H
481
+# endif
482
+#endif
483
+#ifndef Z_HAVE_UNISTD_H
484
+# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
485
+# define Z_HAVE_UNISTD_H
486
+# endif
474487
#endif
475488
#ifndef Z_SOLO
476
-# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
489
+# if defined(Z_HAVE_UNISTD_H)
477490
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
478491
# ifdef VMS
479492
# include <unixio.h> /* for off_t */
480493
# endif
481494
# ifndef z_off_t
482495
--- compat/zlib/zconf.h.cmakein
+++ compat/zlib/zconf.h.cmakein
@@ -38,10 +38,13 @@
38 # define compressBound z_compressBound
39 # endif
40 # define crc32 z_crc32
41 # define crc32_combine z_crc32_combine
42 # define crc32_combine64 z_crc32_combine64
 
 
 
43 # define crc32_z z_crc32_z
44 # define deflate z_deflate
45 # define deflateBound z_deflateBound
46 # define deflateCopy z_deflateCopy
47 # define deflateEnd z_deflateEnd
@@ -349,10 +352,13 @@
349 */
350 # ifdef ZLIB_WINAPI
351 # ifdef FAR
352 # undef FAR
353 # endif
 
 
 
354 # include <windows.h>
355 /* No need for _export, use ZLIB.DEF instead. */
356 /* For complete Windows compatibility, use WINAPI, not __stdcall. */
357 # define ZEXPORT WINAPI
358 # ifdef WIN32
@@ -467,15 +473,22 @@
467 */
468 #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
469 # undef _LARGEFILE64_SOURCE
470 #endif
471
472 #if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
473 # define Z_HAVE_UNISTD_H
 
 
 
 
 
 
 
474 #endif
475 #ifndef Z_SOLO
476 # if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
477 # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
478 # ifdef VMS
479 # include <unixio.h> /* for off_t */
480 # endif
481 # ifndef z_off_t
482
--- compat/zlib/zconf.h.cmakein
+++ compat/zlib/zconf.h.cmakein
@@ -38,10 +38,13 @@
38 # define compressBound z_compressBound
39 # endif
40 # define crc32 z_crc32
41 # define crc32_combine z_crc32_combine
42 # define crc32_combine64 z_crc32_combine64
43 # define crc32_combine_gen z_crc32_combine_gen
44 # define crc32_combine_gen64 z_crc32_combine_gen64
45 # define crc32_combine_op z_crc32_combine_op
46 # define crc32_z z_crc32_z
47 # define deflate z_deflate
48 # define deflateBound z_deflateBound
49 # define deflateCopy z_deflateCopy
50 # define deflateEnd z_deflateEnd
@@ -349,10 +352,13 @@
352 */
353 # ifdef ZLIB_WINAPI
354 # ifdef FAR
355 # undef FAR
356 # endif
357 # ifndef WIN32_LEAN_AND_MEAN
358 # define WIN32_LEAN_AND_MEAN
359 # endif
360 # include <windows.h>
361 /* No need for _export, use ZLIB.DEF instead. */
362 /* For complete Windows compatibility, use WINAPI, not __stdcall. */
363 # define ZEXPORT WINAPI
364 # ifdef WIN32
@@ -467,15 +473,22 @@
473 */
474 #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
475 # undef _LARGEFILE64_SOURCE
476 #endif
477
478 #ifndef Z_HAVE_UNISTD_H
479 # ifdef __WATCOMC__
480 # define Z_HAVE_UNISTD_H
481 # endif
482 #endif
483 #ifndef Z_HAVE_UNISTD_H
484 # if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
485 # define Z_HAVE_UNISTD_H
486 # endif
487 #endif
488 #ifndef Z_SOLO
489 # if defined(Z_HAVE_UNISTD_H)
490 # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
491 # ifdef VMS
492 # include <unixio.h> /* for off_t */
493 # endif
494 # ifndef z_off_t
495
--- compat/zlib/zconf.h.in
+++ compat/zlib/zconf.h.in
@@ -36,10 +36,13 @@
3636
# define compressBound z_compressBound
3737
# endif
3838
# define crc32 z_crc32
3939
# define crc32_combine z_crc32_combine
4040
# define crc32_combine64 z_crc32_combine64
41
+# define crc32_combine_gen z_crc32_combine_gen
42
+# define crc32_combine_gen64 z_crc32_combine_gen64
43
+# define crc32_combine_op z_crc32_combine_op
4144
# define crc32_z z_crc32_z
4245
# define deflate z_deflate
4346
# define deflateBound z_deflateBound
4447
# define deflateCopy z_deflateCopy
4548
# define deflateEnd z_deflateEnd
@@ -347,10 +350,13 @@
347350
*/
348351
# ifdef ZLIB_WINAPI
349352
# ifdef FAR
350353
# undef FAR
351354
# endif
355
+# ifndef WIN32_LEAN_AND_MEAN
356
+# define WIN32_LEAN_AND_MEAN
357
+# endif
352358
# include <windows.h>
353359
/* No need for _export, use ZLIB.DEF instead. */
354360
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
355361
# define ZEXPORT WINAPI
356362
# ifdef WIN32
@@ -465,15 +471,22 @@
465471
*/
466472
#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
467473
# undef _LARGEFILE64_SOURCE
468474
#endif
469475
470
-#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
471
-# define Z_HAVE_UNISTD_H
476
+#ifndef Z_HAVE_UNISTD_H
477
+# ifdef __WATCOMC__
478
+# define Z_HAVE_UNISTD_H
479
+# endif
480
+#endif
481
+#ifndef Z_HAVE_UNISTD_H
482
+# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
483
+# define Z_HAVE_UNISTD_H
484
+# endif
472485
#endif
473486
#ifndef Z_SOLO
474
-# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
487
+# if defined(Z_HAVE_UNISTD_H)
475488
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
476489
# ifdef VMS
477490
# include <unixio.h> /* for off_t */
478491
# endif
479492
# ifndef z_off_t
480493
--- compat/zlib/zconf.h.in
+++ compat/zlib/zconf.h.in
@@ -36,10 +36,13 @@
36 # define compressBound z_compressBound
37 # endif
38 # define crc32 z_crc32
39 # define crc32_combine z_crc32_combine
40 # define crc32_combine64 z_crc32_combine64
 
 
 
41 # define crc32_z z_crc32_z
42 # define deflate z_deflate
43 # define deflateBound z_deflateBound
44 # define deflateCopy z_deflateCopy
45 # define deflateEnd z_deflateEnd
@@ -347,10 +350,13 @@
347 */
348 # ifdef ZLIB_WINAPI
349 # ifdef FAR
350 # undef FAR
351 # endif
 
 
 
352 # include <windows.h>
353 /* No need for _export, use ZLIB.DEF instead. */
354 /* For complete Windows compatibility, use WINAPI, not __stdcall. */
355 # define ZEXPORT WINAPI
356 # ifdef WIN32
@@ -465,15 +471,22 @@
465 */
466 #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
467 # undef _LARGEFILE64_SOURCE
468 #endif
469
470 #if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
471 # define Z_HAVE_UNISTD_H
 
 
 
 
 
 
 
472 #endif
473 #ifndef Z_SOLO
474 # if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
475 # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
476 # ifdef VMS
477 # include <unixio.h> /* for off_t */
478 # endif
479 # ifndef z_off_t
480
--- compat/zlib/zconf.h.in
+++ compat/zlib/zconf.h.in
@@ -36,10 +36,13 @@
36 # define compressBound z_compressBound
37 # endif
38 # define crc32 z_crc32
39 # define crc32_combine z_crc32_combine
40 # define crc32_combine64 z_crc32_combine64
41 # define crc32_combine_gen z_crc32_combine_gen
42 # define crc32_combine_gen64 z_crc32_combine_gen64
43 # define crc32_combine_op z_crc32_combine_op
44 # define crc32_z z_crc32_z
45 # define deflate z_deflate
46 # define deflateBound z_deflateBound
47 # define deflateCopy z_deflateCopy
48 # define deflateEnd z_deflateEnd
@@ -347,10 +350,13 @@
350 */
351 # ifdef ZLIB_WINAPI
352 # ifdef FAR
353 # undef FAR
354 # endif
355 # ifndef WIN32_LEAN_AND_MEAN
356 # define WIN32_LEAN_AND_MEAN
357 # endif
358 # include <windows.h>
359 /* No need for _export, use ZLIB.DEF instead. */
360 /* For complete Windows compatibility, use WINAPI, not __stdcall. */
361 # define ZEXPORT WINAPI
362 # ifdef WIN32
@@ -465,15 +471,22 @@
471 */
472 #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
473 # undef _LARGEFILE64_SOURCE
474 #endif
475
476 #ifndef Z_HAVE_UNISTD_H
477 # ifdef __WATCOMC__
478 # define Z_HAVE_UNISTD_H
479 # endif
480 #endif
481 #ifndef Z_HAVE_UNISTD_H
482 # if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32)
483 # define Z_HAVE_UNISTD_H
484 # endif
485 #endif
486 #ifndef Z_SOLO
487 # if defined(Z_HAVE_UNISTD_H)
488 # include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
489 # ifdef VMS
490 # include <unixio.h> /* for off_t */
491 # endif
492 # ifndef z_off_t
493
--- compat/zlib/zlib.3
+++ compat/zlib/zlib.3
@@ -1,6 +1,6 @@
1
-.TH ZLIB 3 "27 Mar 2022"
1
+.TH ZLIB 3 "13 Oct 2022"
22
.SH NAME
33
zlib \- compression/decompression library
44
.SH SYNOPSIS
55
[see
66
.I zlib.h
@@ -103,11 +103,11 @@
103103
.LP
104104
before asking for help.
105105
Send questions and/or comments to [email protected],
106106
or (for the Windows DLL version) to Gilles Vollant ([email protected]).
107107
.SH AUTHORS AND LICENSE
108
-Version 1.2.12
108
+Version 1.2.13
109109
.LP
110110
Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
111111
.LP
112112
This software is provided 'as-is', without any express or implied
113113
warranty. In no event will the authors be held liable for any damages
114114
--- compat/zlib/zlib.3
+++ compat/zlib/zlib.3
@@ -1,6 +1,6 @@
1 .TH ZLIB 3 "27 Mar 2022"
2 .SH NAME
3 zlib \- compression/decompression library
4 .SH SYNOPSIS
5 [see
6 .I zlib.h
@@ -103,11 +103,11 @@
103 .LP
104 before asking for help.
105 Send questions and/or comments to [email protected],
106 or (for the Windows DLL version) to Gilles Vollant ([email protected]).
107 .SH AUTHORS AND LICENSE
108 Version 1.2.12
109 .LP
110 Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
111 .LP
112 This software is provided 'as-is', without any express or implied
113 warranty. In no event will the authors be held liable for any damages
114
--- compat/zlib/zlib.3
+++ compat/zlib/zlib.3
@@ -1,6 +1,6 @@
1 .TH ZLIB 3 "13 Oct 2022"
2 .SH NAME
3 zlib \- compression/decompression library
4 .SH SYNOPSIS
5 [see
6 .I zlib.h
@@ -103,11 +103,11 @@
103 .LP
104 before asking for help.
105 Send questions and/or comments to [email protected],
106 or (for the Windows DLL version) to Gilles Vollant ([email protected]).
107 .SH AUTHORS AND LICENSE
108 Version 1.2.13
109 .LP
110 Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
111 .LP
112 This software is provided 'as-is', without any express or implied
113 warranty. In no event will the authors be held liable for any damages
114
--- compat/zlib/zlib.3.pdf
+++ compat/zlib/zlib.3.pdf
cannot compute difference between binary files
11
--- compat/zlib/zlib.3.pdf
+++ compat/zlib/zlib.3.pdf
0 annot compute difference between binary files
1
--- compat/zlib/zlib.3.pdf
+++ compat/zlib/zlib.3.pdf
0 annot compute difference between binary files
1
+10 -10
--- compat/zlib/zlib.h
+++ compat/zlib/zlib.h
@@ -1,7 +1,7 @@
11
/* zlib.h -- interface of the 'zlib' general purpose compression library
2
- version 1.2.12, March 11th, 2022
2
+ version 1.2.13, October 13th, 2022
33
44
Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
55
66
This software is provided 'as-is', without any express or implied
77
warranty. In no event will the authors be held liable for any damages
@@ -35,15 +35,15 @@
3535
3636
#ifdef __cplusplus
3737
extern "C" {
3838
#endif
3939
40
-#define ZLIB_VERSION "1.2.12"
41
-#define ZLIB_VERNUM 0x12c0
40
+#define ZLIB_VERSION "1.2.13"
41
+#define ZLIB_VERNUM 0x12d0
4242
#define ZLIB_VER_MAJOR 1
4343
#define ZLIB_VER_MINOR 2
44
-#define ZLIB_VER_REVISION 12
44
+#define ZLIB_VER_REVISION 13
4545
#define ZLIB_VER_SUBREVISION 0
4646
4747
/*
4848
The 'zlib' compression library provides in-memory compression and
4949
decompression functions, including integrity checks of the uncompressed data.
@@ -274,11 +274,11 @@
274274
never be zero before the call. The application can consume the compressed
275275
output when it wants, for example when the output buffer is full (avail_out
276276
== 0), or after each call of deflate(). If deflate returns Z_OK and with
277277
zero avail_out, it must be called again after making room in the output
278278
buffer because there might be more output pending. See deflatePending(),
279
- which can be used if desired to determine whether or not there is more ouput
279
+ which can be used if desired to determine whether or not there is more output
280280
in that case.
281281
282282
Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
283283
decide how much data to accumulate before producing output, in order to
284284
maximize compression.
@@ -658,11 +658,11 @@
658658
Returns the sliding dictionary being maintained by deflate. dictLength is
659659
set to the number of bytes in the dictionary, and that many bytes are copied
660660
to dictionary. dictionary must have enough space, where 32768 bytes is
661661
always enough. If deflateGetDictionary() is called with dictionary equal to
662662
Z_NULL, then only the dictionary length is returned, and nothing is copied.
663
- Similary, if dictLength is Z_NULL, then it is not set.
663
+ Similarly, if dictLength is Z_NULL, then it is not set.
664664
665665
deflateGetDictionary() may return a length less than the window size, even
666666
when more than the window size in input has been provided. It may return up
667667
to 258 bytes less in that case, due to how zlib's implementation of deflate
668668
manages the sliding window and lookahead for matches, where matches can be
@@ -913,11 +913,11 @@
913913
Returns the sliding dictionary being maintained by inflate. dictLength is
914914
set to the number of bytes in the dictionary, and that many bytes are copied
915915
to dictionary. dictionary must have enough space, where 32768 bytes is
916916
always enough. If inflateGetDictionary() is called with dictionary equal to
917917
Z_NULL, then only the dictionary length is returned, and nothing is copied.
918
- Similary, if dictLength is Z_NULL, then it is not set.
918
+ Similarly, if dictLength is Z_NULL, then it is not set.
919919
920920
inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
921921
stream state is inconsistent.
922922
*/
923923
@@ -1435,16 +1435,16 @@
14351435
nitems overflows, i.e. the product does not fit in a z_size_t, then nothing
14361436
is read, zero is returned, and the error state is set to Z_STREAM_ERROR.
14371437
14381438
In the event that the end of file is reached and only a partial item is
14391439
available at the end, i.e. the remaining uncompressed data length is not a
1440
- multiple of size, then the final partial item is nevetheless read into buf
1440
+ multiple of size, then the final partial item is nevertheless read into buf
14411441
and the end-of-file flag is set. The length of the partial item read is not
14421442
provided, but could be inferred from the result of gztell(). This behavior
14431443
is the same as the behavior of fread() implementations in common libraries,
14441444
but it prevents the direct use of gzfread() to read a concurrently written
1445
- file, reseting and retrying on end-of-file, when size is not 1.
1445
+ file, resetting and retrying on end-of-file, when size is not 1.
14461446
*/
14471447
14481448
ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len));
14491449
/*
14501450
Compress and write the len uncompressed bytes at buf to file. gzwrite
@@ -1911,11 +1911,11 @@
19111911
ZEXTERN const char * ZEXPORT zError OF((int));
19121912
ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
19131913
ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
19141914
ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
19151915
ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int));
1916
-ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF ((z_streamp));
1916
+ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF((z_streamp));
19171917
ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
19181918
ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
19191919
#if defined(_WIN32) && !defined(Z_SOLO)
19201920
ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
19211921
const char *mode));
19221922
--- compat/zlib/zlib.h
+++ compat/zlib/zlib.h
@@ -1,7 +1,7 @@
1 /* zlib.h -- interface of the 'zlib' general purpose compression library
2 version 1.2.12, March 11th, 2022
3
4 Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
5
6 This software is provided 'as-is', without any express or implied
7 warranty. In no event will the authors be held liable for any damages
@@ -35,15 +35,15 @@
35
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39
40 #define ZLIB_VERSION "1.2.12"
41 #define ZLIB_VERNUM 0x12c0
42 #define ZLIB_VER_MAJOR 1
43 #define ZLIB_VER_MINOR 2
44 #define ZLIB_VER_REVISION 12
45 #define ZLIB_VER_SUBREVISION 0
46
47 /*
48 The 'zlib' compression library provides in-memory compression and
49 decompression functions, including integrity checks of the uncompressed data.
@@ -274,11 +274,11 @@
274 never be zero before the call. The application can consume the compressed
275 output when it wants, for example when the output buffer is full (avail_out
276 == 0), or after each call of deflate(). If deflate returns Z_OK and with
277 zero avail_out, it must be called again after making room in the output
278 buffer because there might be more output pending. See deflatePending(),
279 which can be used if desired to determine whether or not there is more ouput
280 in that case.
281
282 Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
283 decide how much data to accumulate before producing output, in order to
284 maximize compression.
@@ -658,11 +658,11 @@
658 Returns the sliding dictionary being maintained by deflate. dictLength is
659 set to the number of bytes in the dictionary, and that many bytes are copied
660 to dictionary. dictionary must have enough space, where 32768 bytes is
661 always enough. If deflateGetDictionary() is called with dictionary equal to
662 Z_NULL, then only the dictionary length is returned, and nothing is copied.
663 Similary, if dictLength is Z_NULL, then it is not set.
664
665 deflateGetDictionary() may return a length less than the window size, even
666 when more than the window size in input has been provided. It may return up
667 to 258 bytes less in that case, due to how zlib's implementation of deflate
668 manages the sliding window and lookahead for matches, where matches can be
@@ -913,11 +913,11 @@
913 Returns the sliding dictionary being maintained by inflate. dictLength is
914 set to the number of bytes in the dictionary, and that many bytes are copied
915 to dictionary. dictionary must have enough space, where 32768 bytes is
916 always enough. If inflateGetDictionary() is called with dictionary equal to
917 Z_NULL, then only the dictionary length is returned, and nothing is copied.
918 Similary, if dictLength is Z_NULL, then it is not set.
919
920 inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
921 stream state is inconsistent.
922 */
923
@@ -1435,16 +1435,16 @@
1435 nitems overflows, i.e. the product does not fit in a z_size_t, then nothing
1436 is read, zero is returned, and the error state is set to Z_STREAM_ERROR.
1437
1438 In the event that the end of file is reached and only a partial item is
1439 available at the end, i.e. the remaining uncompressed data length is not a
1440 multiple of size, then the final partial item is nevetheless read into buf
1441 and the end-of-file flag is set. The length of the partial item read is not
1442 provided, but could be inferred from the result of gztell(). This behavior
1443 is the same as the behavior of fread() implementations in common libraries,
1444 but it prevents the direct use of gzfread() to read a concurrently written
1445 file, reseting and retrying on end-of-file, when size is not 1.
1446 */
1447
1448 ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len));
1449 /*
1450 Compress and write the len uncompressed bytes at buf to file. gzwrite
@@ -1911,11 +1911,11 @@
1911 ZEXTERN const char * ZEXPORT zError OF((int));
1912 ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
1913 ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
1914 ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
1915 ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int));
1916 ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF ((z_streamp));
1917 ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
1918 ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
1919 #if defined(_WIN32) && !defined(Z_SOLO)
1920 ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
1921 const char *mode));
1922
--- compat/zlib/zlib.h
+++ compat/zlib/zlib.h
@@ -1,7 +1,7 @@
1 /* zlib.h -- interface of the 'zlib' general purpose compression library
2 version 1.2.13, October 13th, 2022
3
4 Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
5
6 This software is provided 'as-is', without any express or implied
7 warranty. In no event will the authors be held liable for any damages
@@ -35,15 +35,15 @@
35
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39
40 #define ZLIB_VERSION "1.2.13"
41 #define ZLIB_VERNUM 0x12d0
42 #define ZLIB_VER_MAJOR 1
43 #define ZLIB_VER_MINOR 2
44 #define ZLIB_VER_REVISION 13
45 #define ZLIB_VER_SUBREVISION 0
46
47 /*
48 The 'zlib' compression library provides in-memory compression and
49 decompression functions, including integrity checks of the uncompressed data.
@@ -274,11 +274,11 @@
274 never be zero before the call. The application can consume the compressed
275 output when it wants, for example when the output buffer is full (avail_out
276 == 0), or after each call of deflate(). If deflate returns Z_OK and with
277 zero avail_out, it must be called again after making room in the output
278 buffer because there might be more output pending. See deflatePending(),
279 which can be used if desired to determine whether or not there is more output
280 in that case.
281
282 Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
283 decide how much data to accumulate before producing output, in order to
284 maximize compression.
@@ -658,11 +658,11 @@
658 Returns the sliding dictionary being maintained by deflate. dictLength is
659 set to the number of bytes in the dictionary, and that many bytes are copied
660 to dictionary. dictionary must have enough space, where 32768 bytes is
661 always enough. If deflateGetDictionary() is called with dictionary equal to
662 Z_NULL, then only the dictionary length is returned, and nothing is copied.
663 Similarly, if dictLength is Z_NULL, then it is not set.
664
665 deflateGetDictionary() may return a length less than the window size, even
666 when more than the window size in input has been provided. It may return up
667 to 258 bytes less in that case, due to how zlib's implementation of deflate
668 manages the sliding window and lookahead for matches, where matches can be
@@ -913,11 +913,11 @@
913 Returns the sliding dictionary being maintained by inflate. dictLength is
914 set to the number of bytes in the dictionary, and that many bytes are copied
915 to dictionary. dictionary must have enough space, where 32768 bytes is
916 always enough. If inflateGetDictionary() is called with dictionary equal to
917 Z_NULL, then only the dictionary length is returned, and nothing is copied.
918 Similarly, if dictLength is Z_NULL, then it is not set.
919
920 inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
921 stream state is inconsistent.
922 */
923
@@ -1435,16 +1435,16 @@
1435 nitems overflows, i.e. the product does not fit in a z_size_t, then nothing
1436 is read, zero is returned, and the error state is set to Z_STREAM_ERROR.
1437
1438 In the event that the end of file is reached and only a partial item is
1439 available at the end, i.e. the remaining uncompressed data length is not a
1440 multiple of size, then the final partial item is nevertheless read into buf
1441 and the end-of-file flag is set. The length of the partial item read is not
1442 provided, but could be inferred from the result of gztell(). This behavior
1443 is the same as the behavior of fread() implementations in common libraries,
1444 but it prevents the direct use of gzfread() to read a concurrently written
1445 file, resetting and retrying on end-of-file, when size is not 1.
1446 */
1447
1448 ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len));
1449 /*
1450 Compress and write the len uncompressed bytes at buf to file. gzwrite
@@ -1911,11 +1911,11 @@
1911 ZEXTERN const char * ZEXPORT zError OF((int));
1912 ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
1913 ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
1914 ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
1915 ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int));
1916 ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF((z_streamp));
1917 ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
1918 ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
1919 #if defined(_WIN32) && !defined(Z_SOLO)
1920 ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
1921 const char *mode));
1922
--- compat/zlib/zlib2ansi
+++ compat/zlib/zlib2ansi
@@ -6,11 +6,11 @@
66
# Version: 1.0
77
# Date: 3 October 2006
88
99
# TODO
1010
#
11
-# Asumes no function pointer parameters. unless they are typedefed.
11
+# Assumes no function pointer parameters. unless they are typedefed.
1212
# Assumes no literal strings that look like function definitions
1313
# Assumes functions start at the beginning of a line
1414
1515
use strict;
1616
use warnings;
@@ -102,11 +102,11 @@
102102
sub StripComments
103103
{
104104
105105
no warnings;
106106
107
- # Strip C & C++ coments
107
+ # Strip C & C++ comments
108108
# From the perlfaq
109109
$_[0] =~
110110
111111
s{
112112
/\* ## Start of /* ... */ comment
113113
--- compat/zlib/zlib2ansi
+++ compat/zlib/zlib2ansi
@@ -6,11 +6,11 @@
6 # Version: 1.0
7 # Date: 3 October 2006
8
9 # TODO
10 #
11 # Asumes no function pointer parameters. unless they are typedefed.
12 # Assumes no literal strings that look like function definitions
13 # Assumes functions start at the beginning of a line
14
15 use strict;
16 use warnings;
@@ -102,11 +102,11 @@
102 sub StripComments
103 {
104
105 no warnings;
106
107 # Strip C & C++ coments
108 # From the perlfaq
109 $_[0] =~
110
111 s{
112 /\* ## Start of /* ... */ comment
113
--- compat/zlib/zlib2ansi
+++ compat/zlib/zlib2ansi
@@ -6,11 +6,11 @@
6 # Version: 1.0
7 # Date: 3 October 2006
8
9 # TODO
10 #
11 # Assumes no function pointer parameters. unless they are typedefed.
12 # Assumes no literal strings that look like function definitions
13 # Assumes functions start at the beginning of a line
14
15 use strict;
16 use warnings;
@@ -102,11 +102,11 @@
102 sub StripComments
103 {
104
105 no warnings;
106
107 # Strip C & C++ comments
108 # From the perlfaq
109 $_[0] =~
110
111 s{
112 /\* ## Start of /* ... */ comment
113
--- compat/zlib/zutil.c
+++ compat/zlib/zutil.c
@@ -59,13 +59,15 @@
5959
default: flags += 3 << 6;
6060
}
6161
#ifdef ZLIB_DEBUG
6262
flags += 1 << 8;
6363
#endif
64
+ /*
6465
#if defined(ASMV) || defined(ASMINF)
6566
flags += 1 << 9;
6667
#endif
68
+ */
6769
#ifdef ZLIB_WINAPI
6870
flags += 1 << 10;
6971
#endif
7072
#ifdef BUILDFIXED
7173
flags += 1 << 12;
@@ -117,11 +119,11 @@
117119
# ifndef verbose
118120
# define verbose 0
119121
# endif
120122
int ZLIB_INTERNAL z_verbose = verbose;
121123
122
-void ZLIB_INTERNAL z_error (m)
124
+void ZLIB_INTERNAL z_error(m)
123125
char *m;
124126
{
125127
fprintf(stderr, "%s\n", m);
126128
exit(1);
127129
}
@@ -212,11 +214,11 @@
212214
* Since MSDOS is not a preemptive multitasking OS, this table is not
213215
* protected from concurrent access. This hack doesn't work anyway on
214216
* a protected system like OS/2. Use Microsoft C instead.
215217
*/
216218
217
-voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
219
+voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned size)
218220
{
219221
voidpf buf;
220222
ulg bsize = (ulg)items*size;
221223
222224
(void)opaque;
@@ -238,11 +240,11 @@
238240
*(ush*)&buf = 0;
239241
table[next_ptr++].new_ptr = buf;
240242
return buf;
241243
}
242244
243
-void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
245
+void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
244246
{
245247
int n;
246248
247249
(void)opaque;
248250
@@ -275,17 +277,17 @@
275277
#if (!defined(_MSC_VER) || (_MSC_VER <= 600))
276278
# define _halloc halloc
277279
# define _hfree hfree
278280
#endif
279281
280
-voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
282
+voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, uInt items, uInt size)
281283
{
282284
(void)opaque;
283285
return _halloc((long)items, size);
284286
}
285287
286
-void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
288
+void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
287289
{
288290
(void)opaque;
289291
_hfree(ptr);
290292
}
291293
@@ -300,21 +302,21 @@
300302
extern voidp malloc OF((uInt size));
301303
extern voidp calloc OF((uInt items, uInt size));
302304
extern void free OF((voidpf ptr));
303305
#endif
304306
305
-voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
307
+voidpf ZLIB_INTERNAL zcalloc(opaque, items, size)
306308
voidpf opaque;
307309
unsigned items;
308310
unsigned size;
309311
{
310312
(void)opaque;
311313
return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
312314
(voidpf)calloc(items, size);
313315
}
314316
315
-void ZLIB_INTERNAL zcfree (opaque, ptr)
317
+void ZLIB_INTERNAL zcfree(opaque, ptr)
316318
voidpf opaque;
317319
voidpf ptr;
318320
{
319321
(void)opaque;
320322
free(ptr);
321323
--- compat/zlib/zutil.c
+++ compat/zlib/zutil.c
@@ -59,13 +59,15 @@
59 default: flags += 3 << 6;
60 }
61 #ifdef ZLIB_DEBUG
62 flags += 1 << 8;
63 #endif
 
64 #if defined(ASMV) || defined(ASMINF)
65 flags += 1 << 9;
66 #endif
 
67 #ifdef ZLIB_WINAPI
68 flags += 1 << 10;
69 #endif
70 #ifdef BUILDFIXED
71 flags += 1 << 12;
@@ -117,11 +119,11 @@
117 # ifndef verbose
118 # define verbose 0
119 # endif
120 int ZLIB_INTERNAL z_verbose = verbose;
121
122 void ZLIB_INTERNAL z_error (m)
123 char *m;
124 {
125 fprintf(stderr, "%s\n", m);
126 exit(1);
127 }
@@ -212,11 +214,11 @@
212 * Since MSDOS is not a preemptive multitasking OS, this table is not
213 * protected from concurrent access. This hack doesn't work anyway on
214 * a protected system like OS/2. Use Microsoft C instead.
215 */
216
217 voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
218 {
219 voidpf buf;
220 ulg bsize = (ulg)items*size;
221
222 (void)opaque;
@@ -238,11 +240,11 @@
238 *(ush*)&buf = 0;
239 table[next_ptr++].new_ptr = buf;
240 return buf;
241 }
242
243 void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
244 {
245 int n;
246
247 (void)opaque;
248
@@ -275,17 +277,17 @@
275 #if (!defined(_MSC_VER) || (_MSC_VER <= 600))
276 # define _halloc halloc
277 # define _hfree hfree
278 #endif
279
280 voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
281 {
282 (void)opaque;
283 return _halloc((long)items, size);
284 }
285
286 void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
287 {
288 (void)opaque;
289 _hfree(ptr);
290 }
291
@@ -300,21 +302,21 @@
300 extern voidp malloc OF((uInt size));
301 extern voidp calloc OF((uInt items, uInt size));
302 extern void free OF((voidpf ptr));
303 #endif
304
305 voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
306 voidpf opaque;
307 unsigned items;
308 unsigned size;
309 {
310 (void)opaque;
311 return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
312 (voidpf)calloc(items, size);
313 }
314
315 void ZLIB_INTERNAL zcfree (opaque, ptr)
316 voidpf opaque;
317 voidpf ptr;
318 {
319 (void)opaque;
320 free(ptr);
321
--- compat/zlib/zutil.c
+++ compat/zlib/zutil.c
@@ -59,13 +59,15 @@
59 default: flags += 3 << 6;
60 }
61 #ifdef ZLIB_DEBUG
62 flags += 1 << 8;
63 #endif
64 /*
65 #if defined(ASMV) || defined(ASMINF)
66 flags += 1 << 9;
67 #endif
68 */
69 #ifdef ZLIB_WINAPI
70 flags += 1 << 10;
71 #endif
72 #ifdef BUILDFIXED
73 flags += 1 << 12;
@@ -117,11 +119,11 @@
119 # ifndef verbose
120 # define verbose 0
121 # endif
122 int ZLIB_INTERNAL z_verbose = verbose;
123
124 void ZLIB_INTERNAL z_error(m)
125 char *m;
126 {
127 fprintf(stderr, "%s\n", m);
128 exit(1);
129 }
@@ -212,11 +214,11 @@
214 * Since MSDOS is not a preemptive multitasking OS, this table is not
215 * protected from concurrent access. This hack doesn't work anyway on
216 * a protected system like OS/2. Use Microsoft C instead.
217 */
218
219 voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned size)
220 {
221 voidpf buf;
222 ulg bsize = (ulg)items*size;
223
224 (void)opaque;
@@ -238,11 +240,11 @@
240 *(ush*)&buf = 0;
241 table[next_ptr++].new_ptr = buf;
242 return buf;
243 }
244
245 void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
246 {
247 int n;
248
249 (void)opaque;
250
@@ -275,17 +277,17 @@
277 #if (!defined(_MSC_VER) || (_MSC_VER <= 600))
278 # define _halloc halloc
279 # define _hfree hfree
280 #endif
281
282 voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, uInt items, uInt size)
283 {
284 (void)opaque;
285 return _halloc((long)items, size);
286 }
287
288 void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
289 {
290 (void)opaque;
291 _hfree(ptr);
292 }
293
@@ -300,21 +302,21 @@
302 extern voidp malloc OF((uInt size));
303 extern voidp calloc OF((uInt items, uInt size));
304 extern void free OF((voidpf ptr));
305 #endif
306
307 voidpf ZLIB_INTERNAL zcalloc(opaque, items, size)
308 voidpf opaque;
309 unsigned items;
310 unsigned size;
311 {
312 (void)opaque;
313 return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
314 (voidpf)calloc(items, size);
315 }
316
317 void ZLIB_INTERNAL zcfree(opaque, ptr)
318 voidpf opaque;
319 voidpf ptr;
320 {
321 (void)opaque;
322 free(ptr);
323
--- compat/zlib/zutil.h
+++ compat/zlib/zutil.h
@@ -191,10 +191,11 @@
191191
/* provide prototypes for these when building zlib without LFS */
192192
#if !defined(_WIN32) && \
193193
(!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
194194
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
195195
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
196
+ ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t));
196197
#endif
197198
198199
/* common defaults */
199200
200201
#ifndef OS_CODE
201202
--- compat/zlib/zutil.h
+++ compat/zlib/zutil.h
@@ -191,10 +191,11 @@
191 /* provide prototypes for these when building zlib without LFS */
192 #if !defined(_WIN32) && \
193 (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
194 ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
195 ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
 
196 #endif
197
198 /* common defaults */
199
200 #ifndef OS_CODE
201
--- compat/zlib/zutil.h
+++ compat/zlib/zutil.h
@@ -191,10 +191,11 @@
191 /* provide prototypes for these when building zlib without LFS */
192 #if !defined(_WIN32) && \
193 (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
194 ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
195 ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
196 ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t));
197 #endif
198
199 /* common defaults */
200
201 #ifndef OS_CODE
202

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button