Compare commits
262 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5089329162 | ||
|
|
5b5da45640 | ||
|
|
2dad5389af | ||
|
|
b4d802825a | ||
|
|
f5ec26344f | ||
|
|
bddc968b14 | ||
|
|
5481269e1f | ||
|
|
e8fee0ea7b | ||
|
|
b7bc388454 | ||
|
|
c714072020 | ||
|
|
388a285cb8 | ||
|
|
139c67fc87 | ||
|
|
70252daf89 | ||
|
|
9b703f2000 | ||
|
|
5d33c62c7d | ||
|
|
8a93f49c86 | ||
|
|
0b16609409 | ||
|
|
f81b79c559 | ||
|
|
c661c374e8 | ||
|
|
81c3068b9a | ||
|
|
d3b613e320 | ||
|
|
318a5e190e | ||
|
|
e9f0b78443 | ||
|
|
0aac8cf7c4 | ||
|
|
f0546c8e34 | ||
|
|
03ff48cc67 | ||
|
|
66fcefbb2f | ||
|
|
b06dee4369 | ||
|
|
dd5d0940e9 | ||
|
|
a2d71e8e66 | ||
|
|
bc7e017112 | ||
|
|
64a77facc0 | ||
|
|
79a7058be4 | ||
|
|
63ba7582b8 | ||
|
|
00dfee0b2e | ||
|
|
27b7723222 | ||
|
|
bb97bc9d50 | ||
|
|
b116fb588d | ||
|
|
5afbdabacd | ||
|
|
d211ecdf02 | ||
|
|
931aa25aea | ||
|
|
51370f3656 | ||
|
|
10056909c0 | ||
|
|
b6c5057ca1 | ||
|
|
b8522e0264 | ||
|
|
e69a9ceee0 | ||
|
|
c4888637ea | ||
|
|
0cf495a1ca | ||
|
|
bd143f1c0a | ||
|
|
aa566e86c4 | ||
|
|
17068938ce | ||
|
|
3d9df6ecf8 | ||
|
|
a2981775a9 | ||
|
|
aa210a1b84 | ||
|
|
360c3e9532 | ||
|
|
62d6112a79 | ||
|
|
fb4e0599a5 | ||
|
|
aef4174dd2 | ||
|
|
f51cc49c94 | ||
|
|
d0c7331258 | ||
|
|
486ef7b4b4 | ||
|
|
bfac156463 | ||
|
|
977e108047 | ||
|
|
148b8f630c | ||
|
|
a72bcd5607 | ||
|
|
f947435b30 | ||
|
|
25e4a3da55 | ||
|
|
ee026accde | ||
|
|
dca9e1d6f3 | ||
|
|
eb90f6a568 | ||
|
|
0a2c92bc66 | ||
|
|
6a181356bd | ||
|
|
3a8e3bd9e5 | ||
|
|
c58f7ab28d | ||
|
|
2689b3cceb | ||
|
|
30a1c7065d | ||
|
|
1b09651f89 | ||
|
|
dee3d4ae36 | ||
|
|
4373bac37e | ||
|
|
816e34e1b5 | ||
|
|
dbcdbf8c41 | ||
|
|
6c9bd474aa | ||
|
|
1be1179083 | ||
|
|
cc538ebf79 | ||
|
|
6635b78987 | ||
|
|
3fb77ac08b | ||
|
|
ba04838a74 | ||
|
|
11f4065ea9 | ||
|
|
a5d803b7ef | ||
|
|
04afd39fcc | ||
|
|
2bd5bd78a6 | ||
|
|
8e16df2c3f | ||
|
|
a1af6e96e3 | ||
|
|
2c42538c2e | ||
|
|
49b5d79a3b | ||
|
|
dbe0bed739 | ||
|
|
a3881cc745 | ||
|
|
da32fd2892 | ||
|
|
50a1738fcb | ||
|
|
b18595d4c6 | ||
|
|
cb1c1a363e | ||
|
|
8dc21b17a6 | ||
|
|
9c08a82246 | ||
|
|
142f051fb2 | ||
|
|
39c7ed14ac | ||
|
|
c1e84b258c | ||
|
|
cd71ef3021 | ||
|
|
ca6e7a0d55 | ||
|
|
f8867924c1 | ||
|
|
5d5befa4c3 | ||
|
|
e076ca8e62 | ||
|
|
e2abd78a98 | ||
|
|
9f4d9052dc | ||
|
|
2cd90d2bf5 | ||
|
|
2e04ce0915 | ||
|
|
e3ba2a10ca | ||
|
|
41a18e1d7e | ||
|
|
755c41dc4b | ||
|
|
53bfe01cea | ||
|
|
dab7531ecc | ||
|
|
2547c6c81f | ||
|
|
513dfcc00e | ||
|
|
05de38d11e | ||
|
|
80f3e39eb8 | ||
|
|
3f4339b61b | ||
|
|
e6d2a8471b | ||
|
|
8435052a6b | ||
|
|
d63c888039 | ||
|
|
10fca844b1 | ||
|
|
a75d6ea070 | ||
|
|
660103339f | ||
|
|
d81e7213b7 | ||
|
|
6838df9246 | ||
|
|
d1714a57c5 | ||
|
|
455adc3029 | ||
|
|
eee7b9e576 | ||
|
|
5bbdc122ad | ||
|
|
72e2c8f088 | ||
|
|
94acb3c1a0 | ||
|
|
75143f819f | ||
|
|
7d45cf5a1d | ||
|
|
1a4ba8cd91 | ||
|
|
9894494537 | ||
|
|
fc68b60086 | ||
|
|
2dadd2fab4 | ||
|
|
f9e4edc996 | ||
|
|
55b8b5fec1 | ||
|
|
a8d23bb675 | ||
|
|
98e5787e1b | ||
|
|
3fb727c34d | ||
|
|
5dac2aa007 | ||
|
|
7b3f71ba5f | ||
|
|
e75de023b6 | ||
|
|
68a02240a6 | ||
|
|
5461db945c | ||
|
|
22eb01184f | ||
|
|
8fbd9f1340 | ||
|
|
520561c577 | ||
|
|
32d8a5379e | ||
|
|
f0cff24214 | ||
|
|
81015585d2 | ||
|
|
ad88c19baa | ||
|
|
17741efa02 | ||
|
|
de6cb6fe5c | ||
|
|
601b542a9d | ||
|
|
0458bbf2c0 | ||
|
|
06c0e754ce | ||
|
|
9cdb49c96e | ||
|
|
09bbe4c7f0 | ||
|
|
b9a778a2b8 | ||
|
|
4a9e4dff0d | ||
|
|
5c312df969 | ||
|
|
e1f45fed54 | ||
|
|
509c1d2860 | ||
|
|
2d55657c03 | ||
|
|
5a5dd2c793 | ||
|
|
eb33abcc55 | ||
|
|
ce0ca940c2 | ||
|
|
c3799a2480 | ||
|
|
0ddfbd2346 | ||
|
|
defd366a41 | ||
|
|
68f64498c2 | ||
|
|
4f5779a8e7 | ||
|
|
0b828b4aa6 | ||
|
|
8f5eceefe8 | ||
|
|
263b1a05b0 | ||
|
|
19761b8506 | ||
|
|
9d55abc969 | ||
|
|
f1ebdd6a9c | ||
|
|
bafcad9028 | ||
|
|
b745a48f41 | ||
|
|
a8bd629c4e | ||
|
|
7de4b03b38 | ||
|
|
e7289ed5f7 | ||
|
|
3d85f02a09 | ||
|
|
df60b50769 | ||
|
|
fe61dfb8a2 | ||
|
|
4ab814df83 | ||
|
|
2556706d67 | ||
|
|
850a198ff1 | ||
|
|
377173b57e | ||
|
|
98f5779f42 | ||
|
|
70e3b1ca56 | ||
|
|
421c7a61f0 | ||
|
|
fb00fda903 | ||
|
|
afe7cf78d5 | ||
|
|
fbac04f666 | ||
|
|
014967ace3 | ||
|
|
de32a2d749 | ||
|
|
383d2cdab7 | ||
|
|
1b57de3aef | ||
|
|
0cbad869b0 | ||
|
|
15b5671b78 | ||
|
|
6715208bdb | ||
|
|
d169dd7300 | ||
|
|
9e50ed8ef1 | ||
|
|
e8576790be | ||
|
|
6dbf1d1026 | ||
|
|
5ab9f47745 | ||
|
|
5b48d061c8 | ||
|
|
d66a307941 | ||
|
|
1bd2fa1b24 | ||
|
|
77b47d55f1 | ||
|
|
f442c1e89e | ||
|
|
518ad0177a | ||
|
|
af030e4273 | ||
|
|
26a99cd895 | ||
|
|
3c9d261809 | ||
|
|
be959acf80 | ||
|
|
00c836e325 | ||
|
|
0956bd23dd | ||
|
|
34538d8a93 | ||
|
|
64eccafa78 | ||
|
|
7142fcfeed | ||
|
|
a4f7c65374 | ||
|
|
8768ba98af | ||
|
|
acfc85772a | ||
|
|
8e0d212910 | ||
|
|
50e440f081 | ||
|
|
5ad116abda | ||
|
|
a9ae24b653 | ||
|
|
8824da8f01 | ||
|
|
0a81dc026c | ||
|
|
f32370e542 | ||
|
|
1f5827155d | ||
|
|
1250ac745d | ||
|
|
5cf0930ba5 | ||
|
|
faa03d5141 | ||
|
|
ae1de165d7 | ||
|
|
06223a362e | ||
|
|
d07d852bb4 | ||
|
|
d6cbbd5c64 | ||
|
|
10daf0d4d7 | ||
|
|
9712272c78 | ||
|
|
7301420248 | ||
|
|
a7d70663cf | ||
|
|
f4498bea28 | ||
|
|
7147f24cd7 | ||
|
|
05d47d2627 | ||
|
|
a1141160bc | ||
|
|
59ca2179ff | ||
|
|
67cc20d004 |
25
.gitignore
vendored
Normal file
25
.gitignore
vendored
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
*.diff
|
||||||
|
*.patch
|
||||||
|
*.orig
|
||||||
|
*.rej
|
||||||
|
|
||||||
|
*~
|
||||||
|
*.a
|
||||||
|
*.lo
|
||||||
|
*.o
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
*.gcda
|
||||||
|
*.gcno
|
||||||
|
*.gcov
|
||||||
|
|
||||||
|
/example
|
||||||
|
/example64
|
||||||
|
/examplesh
|
||||||
|
/libz.so*
|
||||||
|
/minigzip
|
||||||
|
/minigzip64
|
||||||
|
/minigzipsh
|
||||||
|
/zlib.pc
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
127
CMakeLists.txt
127
CMakeLists.txt
@@ -3,9 +3,16 @@ set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
|
|||||||
|
|
||||||
project(zlib C)
|
project(zlib C)
|
||||||
|
|
||||||
if(NOT DEFINED BUILD_SHARED_LIBS)
|
set(VERSION "1.2.8")
|
||||||
option(BUILD_SHARED_LIBS "Build a shared library form of zlib" ON)
|
|
||||||
endif()
|
option(ASM686 "Enable building i686 assembly implementation")
|
||||||
|
option(AMD64 "Enable building amd64 assembly implementation")
|
||||||
|
|
||||||
|
set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
|
||||||
|
set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
|
||||||
|
set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
|
||||||
|
set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
|
||||||
|
set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
|
||||||
|
|
||||||
include(CheckTypeSize)
|
include(CheckTypeSize)
|
||||||
include(CheckFunctionExists)
|
include(CheckFunctionExists)
|
||||||
@@ -20,7 +27,7 @@ check_include_file(stddef.h HAVE_STDDEF_H)
|
|||||||
#
|
#
|
||||||
# Check to see if we have large file support
|
# Check to see if we have large file support
|
||||||
#
|
#
|
||||||
set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE)
|
set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1)
|
||||||
# We add these other definitions here because CheckTypeSize.cmake
|
# We add these other definitions here because CheckTypeSize.cmake
|
||||||
# in CMake 2.4.x does not automatically do so and we want
|
# in CMake 2.4.x does not automatically do so and we want
|
||||||
# compatibility with CMake 2.4.x.
|
# compatibility with CMake 2.4.x.
|
||||||
@@ -35,7 +42,7 @@ if(HAVE_STDDEF_H)
|
|||||||
endif()
|
endif()
|
||||||
check_type_size(off64_t OFF64_T)
|
check_type_size(off64_t OFF64_T)
|
||||||
if(HAVE_OFF64_T)
|
if(HAVE_OFF64_T)
|
||||||
add_definitions(-D_LARGEFILE64_SOURCE)
|
add_definitions(-D_LARGEFILE64_SOURCE=1)
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_REQUIRED_DEFINITIONS) # clear variable
|
set(CMAKE_REQUIRED_DEFINITIONS) # clear variable
|
||||||
|
|
||||||
@@ -52,32 +59,31 @@ endif()
|
|||||||
#
|
#
|
||||||
check_include_file(unistd.h Z_HAVE_UNISTD_H)
|
check_include_file(unistd.h Z_HAVE_UNISTD_H)
|
||||||
|
|
||||||
#
|
|
||||||
# Check for errno.h
|
|
||||||
check_include_file(errno.h HAVE_ERRNO_H)
|
|
||||||
if(NOT HAVE_ERRNO_H)
|
|
||||||
add_definitions(-DNO_ERRNO_H)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(CMAKE_DEBUG_POSTFIX "d")
|
set(CMAKE_DEBUG_POSTFIX "d")
|
||||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
|
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
|
||||||
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
||||||
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
|
if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
|
||||||
# If we're doing an out of source build and the user has a zconf.h
|
# If we're doing an out of source build and the user has a zconf.h
|
||||||
# in their source tree...
|
# in their source tree...
|
||||||
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h)
|
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h)
|
||||||
message(FATAL_ERROR "You must remove zconf.h from the source tree. This f
|
message(STATUS "Renaming")
|
||||||
ile is generated by the ./configure script shipped with zlib. CMake generates t
|
message(STATUS " ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h")
|
||||||
his file for you automatically in the build directory")
|
message(STATUS "to 'zconf.h.included' because this file is included with zlib")
|
||||||
|
message(STATUS "but CMake generates it automatically in the build directory.")
|
||||||
|
file(RENAME ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.included)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.in
|
set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/zconf.h @ONLY)
|
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein
|
||||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
${ZLIB_PC} @ONLY)
|
||||||
|
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
|
||||||
|
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
|
||||||
|
|
||||||
|
|
||||||
#============================================================================
|
#============================================================================
|
||||||
@@ -85,7 +91,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
set(ZLIB_PUBLIC_HDRS
|
set(ZLIB_PUBLIC_HDRS
|
||||||
zconf.h
|
${CMAKE_CURRENT_BINARY_DIR}/zconf.h
|
||||||
zlib.h
|
zlib.h
|
||||||
)
|
)
|
||||||
set(ZLIB_PRIVATE_HDRS
|
set(ZLIB_PRIVATE_HDRS
|
||||||
@@ -115,28 +121,71 @@ set(ZLIB_SRCS
|
|||||||
trees.c
|
trees.c
|
||||||
uncompr.c
|
uncompr.c
|
||||||
zutil.c
|
zutil.c
|
||||||
win32/zlib1.rc
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(NOT MINGW)
|
||||||
|
set(ZLIB_DLL_SRCS
|
||||||
|
win32/zlib1.rc # If present will override custom build rule below.
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
|
if(ASM686)
|
||||||
|
set(ZLIB_ASMS contrib/asm686/match.S)
|
||||||
|
elseif (AMD64)
|
||||||
|
set(ZLIB_ASMS contrib/amd64/amd64-match.S)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if(ZLIB_ASMS)
|
||||||
|
add_definitions(-DASMV)
|
||||||
|
set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
if(ASM686)
|
||||||
|
ENABLE_LANGUAGE(ASM_MASM)
|
||||||
|
set(ZLIB_ASMS
|
||||||
|
contrib/masmx86/inffas32.asm
|
||||||
|
contrib/masmx86/match686.asm
|
||||||
|
)
|
||||||
|
elseif (AMD64)
|
||||||
|
ENABLE_LANGUAGE(ASM_MASM)
|
||||||
|
set(ZLIB_ASMS
|
||||||
|
contrib/masmx64/gvmat64.asm
|
||||||
|
contrib/masmx64/inffasx64.asm
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ZLIB_ASMS)
|
||||||
|
add_definitions(-DASMV -DASMINF)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
|
# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
|
||||||
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
|
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
|
||||||
string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([0-9A-Za-z.]+)\".*"
|
string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
|
||||||
"\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
|
"\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
|
||||||
|
|
||||||
if(MINGW)
|
if(MINGW)
|
||||||
# This gets us DLL resource information when compiling on MinGW.
|
# This gets us DLL resource information when compiling on MinGW.
|
||||||
|
if(NOT CMAKE_RC_COMPILER)
|
||||||
|
set(CMAKE_RC_COMPILER windres.exe)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
|
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
|
||||||
COMMAND windres.exe
|
COMMAND ${CMAKE_RC_COMPILER}
|
||||||
-D GCC_WINDRES
|
-D GCC_WINDRES
|
||||||
-I ${CMAKE_CURRENT_SOURCE_DIR}
|
-I ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
-I ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
-o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
|
-o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
|
||||||
-i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
|
-i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
|
||||||
set(ZLIB_SRCS ${ZLIB_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
||||||
endif(MINGW)
|
endif(MINGW)
|
||||||
|
|
||||||
add_library(zlib ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||||
|
add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||||
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
|
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
|
||||||
|
|
||||||
set_target_properties(zlib PROPERTIES SOVERSION 1)
|
set_target_properties(zlib PROPERTIES SOVERSION 1)
|
||||||
|
|
||||||
if(NOT CYGWIN)
|
if(NOT CYGWIN)
|
||||||
@@ -152,43 +201,49 @@ endif()
|
|||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
# On unix-like platforms the library is almost always called libz
|
# On unix-like platforms the library is almost always called libz
|
||||||
set_target_properties(zlib PROPERTIES OUTPUT_NAME z)
|
set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z)
|
||||||
|
if(NOT APPLE)
|
||||||
|
set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
|
||||||
|
endif()
|
||||||
elseif(BUILD_SHARED_LIBS AND WIN32)
|
elseif(BUILD_SHARED_LIBS AND WIN32)
|
||||||
# Creates zlib1.dll when building shared library version
|
# Creates zlib1.dll when building shared library version
|
||||||
set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
|
set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
|
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
|
||||||
install(TARGETS zlib
|
install(TARGETS zlib zlibstatic
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
|
||||||
ARCHIVE DESTINATION lib
|
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
|
||||||
LIBRARY DESTINATION lib )
|
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
|
||||||
endif()
|
endif()
|
||||||
if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL )
|
if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL )
|
||||||
install(FILES ${ZLIB_PUBLIC_HDRS} DESTINATION include)
|
install(FILES ${ZLIB_PUBLIC_HDRS} DESTINATION "${INSTALL_INC_DIR}")
|
||||||
endif()
|
endif()
|
||||||
if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
|
if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
|
||||||
install(FILES zlib.3 DESTINATION share/man/man3)
|
install(FILES zlib.3 DESTINATION "${INSTALL_MAN_DIR}/man3")
|
||||||
|
endif()
|
||||||
|
if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
|
||||||
|
install(FILES ${ZLIB_PC} DESTINATION "${INSTALL_PKGCONFIG_DIR}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#============================================================================
|
#============================================================================
|
||||||
# Example binaries
|
# Example binaries
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|
||||||
add_executable(example example.c)
|
add_executable(example test/example.c)
|
||||||
target_link_libraries(example zlib)
|
target_link_libraries(example zlib)
|
||||||
add_test(example example)
|
add_test(example example)
|
||||||
|
|
||||||
add_executable(minigzip minigzip.c)
|
add_executable(minigzip test/minigzip.c)
|
||||||
target_link_libraries(minigzip zlib)
|
target_link_libraries(minigzip zlib)
|
||||||
|
|
||||||
if(HAVE_OFF64_T)
|
if(HAVE_OFF64_T)
|
||||||
add_executable(example64 example.c)
|
add_executable(example64 test/example.c)
|
||||||
target_link_libraries(example64 zlib)
|
target_link_libraries(example64 zlib)
|
||||||
set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
|
set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
|
||||||
add_test(example64 example64)
|
add_test(example64 example64)
|
||||||
|
|
||||||
add_executable(minigzip64 minigzip.c)
|
add_executable(minigzip64 test/minigzip.c)
|
||||||
target_link_libraries(minigzip64 zlib)
|
target_link_libraries(minigzip64 zlib)
|
||||||
set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
|
set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
380
ChangeLog
380
ChangeLog
@@ -1,6 +1,380 @@
|
|||||||
|
|
||||||
ChangeLog file for zlib
|
ChangeLog file for zlib
|
||||||
|
|
||||||
|
Changes in 1.2.8 (28 Apr 2013)
|
||||||
|
- Update contrib/minizip/iowin32.c for Windows RT [Vollant]
|
||||||
|
- Do not force Z_CONST for C++
|
||||||
|
- Clean up contrib/vstudio [Ro<52>]
|
||||||
|
- Correct spelling error in zlib.h
|
||||||
|
- Fix mixed line endings in contrib/vstudio
|
||||||
|
|
||||||
|
Changes in 1.2.7.3 (13 Apr 2013)
|
||||||
|
- Fix version numbers and DLL names in contrib/vstudio/*/zlib.rc
|
||||||
|
|
||||||
|
Changes in 1.2.7.2 (13 Apr 2013)
|
||||||
|
- Change check for a four-byte type back to hexadecimal
|
||||||
|
- Fix typo in win32/Makefile.msc
|
||||||
|
- Add casts in gzwrite.c for pointer differences
|
||||||
|
|
||||||
|
Changes in 1.2.7.1 (24 Mar 2013)
|
||||||
|
- Replace use of unsafe string functions with snprintf if available
|
||||||
|
- Avoid including stddef.h on Windows for Z_SOLO compile [Niessink]
|
||||||
|
- Fix gzgetc undefine when Z_PREFIX set [Turk]
|
||||||
|
- Eliminate use of mktemp in Makefile (not always available)
|
||||||
|
- Fix bug in 'F' mode for gzopen()
|
||||||
|
- Add inflateGetDictionary() function
|
||||||
|
- Correct comment in deflate.h
|
||||||
|
- Use _snprintf for snprintf in Microsoft C
|
||||||
|
- On Darwin, only use /usr/bin/libtool if libtool is not Apple
|
||||||
|
- Delete "--version" file if created by "ar --version" [Richard G.]
|
||||||
|
- Fix configure check for veracity of compiler error return codes
|
||||||
|
- Fix CMake compilation of static lib for MSVC2010 x64
|
||||||
|
- Remove unused variable in infback9.c
|
||||||
|
- Fix argument checks in gzlog_compress() and gzlog_write()
|
||||||
|
- Clean up the usage of z_const and respect const usage within zlib
|
||||||
|
- Clean up examples/gzlog.[ch] comparisons of different types
|
||||||
|
- Avoid shift equal to bits in type (caused endless loop)
|
||||||
|
- Fix unintialized value bug in gzputc() introduced by const patches
|
||||||
|
- Fix memory allocation error in examples/zran.c [Nor]
|
||||||
|
- Fix bug where gzopen(), gzclose() would write an empty file
|
||||||
|
- Fix bug in gzclose() when gzwrite() runs out of memory
|
||||||
|
- Check for input buffer malloc failure in examples/gzappend.c
|
||||||
|
- Add note to contrib/blast to use binary mode in stdio
|
||||||
|
- Fix comparisons of differently signed integers in contrib/blast
|
||||||
|
- Check for invalid code length codes in contrib/puff
|
||||||
|
- Fix serious but very rare decompression bug in inftrees.c
|
||||||
|
- Update inflateBack() comments, since inflate() can be faster
|
||||||
|
- Use underscored I/O function names for WINAPI_FAMILY
|
||||||
|
- Add _tr_flush_bits to the external symbols prefixed by --zprefix
|
||||||
|
- Add contrib/vstudio/vc10 pre-build step for static only
|
||||||
|
- Quote --version-script argument in CMakeLists.txt
|
||||||
|
- Don't specify --version-script on Apple platforms in CMakeLists.txt
|
||||||
|
- Fix casting error in contrib/testzlib/testzlib.c
|
||||||
|
- Fix types in contrib/minizip to match result of get_crc_table()
|
||||||
|
- Simplify contrib/vstudio/vc10 with 'd' suffix
|
||||||
|
- Add TOP support to win32/Makefile.msc
|
||||||
|
- Suport i686 and amd64 assembler builds in CMakeLists.txt
|
||||||
|
- Fix typos in the use of _LARGEFILE64_SOURCE in zconf.h
|
||||||
|
- Add vc11 and vc12 build files to contrib/vstudio
|
||||||
|
- Add gzvprintf() as an undocumented function in zlib
|
||||||
|
- Fix configure for Sun shell
|
||||||
|
- Remove runtime check in configure for four-byte integer type
|
||||||
|
- Add casts and consts to ease user conversion to C++
|
||||||
|
- Add man pages for minizip and miniunzip
|
||||||
|
- In Makefile uninstall, don't rm if preceding cd fails
|
||||||
|
- Do not return Z_BUF_ERROR if deflateParam() has nothing to write
|
||||||
|
|
||||||
|
Changes in 1.2.7 (2 May 2012)
|
||||||
|
- Replace use of memmove() with a simple copy for portability
|
||||||
|
- Test for existence of strerror
|
||||||
|
- Restore gzgetc_ for backward compatibility with 1.2.6
|
||||||
|
- Fix build with non-GNU make on Solaris
|
||||||
|
- Require gcc 4.0 or later on Mac OS X to use the hidden attribute
|
||||||
|
- Include unistd.h for Watcom C
|
||||||
|
- Use __WATCOMC__ instead of __WATCOM__
|
||||||
|
- Do not use the visibility attribute if NO_VIZ defined
|
||||||
|
- Improve the detection of no hidden visibility attribute
|
||||||
|
- Avoid using __int64 for gcc or solo compilation
|
||||||
|
- Cast to char * in gzprintf to avoid warnings [Zinser]
|
||||||
|
- Fix make_vms.com for VAX [Zinser]
|
||||||
|
- Don't use library or built-in byte swaps
|
||||||
|
- Simplify test and use of gcc hidden attribute
|
||||||
|
- Fix bug in gzclose_w() when gzwrite() fails to allocate memory
|
||||||
|
- Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen()
|
||||||
|
- Fix bug in test/minigzip.c for configure --solo
|
||||||
|
- Fix contrib/vstudio project link errors [Mohanathas]
|
||||||
|
- Add ability to choose the builder in make_vms.com [Schweda]
|
||||||
|
- Add DESTDIR support to mingw32 win32/Makefile.gcc
|
||||||
|
- Fix comments in win32/Makefile.gcc for proper usage
|
||||||
|
- Allow overriding the default install locations for cmake
|
||||||
|
- Generate and install the pkg-config file with cmake
|
||||||
|
- Build both a static and a shared version of zlib with cmake
|
||||||
|
- Include version symbols for cmake builds
|
||||||
|
- If using cmake with MSVC, add the source directory to the includes
|
||||||
|
- Remove unneeded EXTRA_CFLAGS from win32/Makefile.gcc [Truta]
|
||||||
|
- Move obsolete emx makefile to old [Truta]
|
||||||
|
- Allow the use of -Wundef when compiling or using zlib
|
||||||
|
- Avoid the use of the -u option with mktemp
|
||||||
|
- Improve inflate() documentation on the use of Z_FINISH
|
||||||
|
- Recognize clang as gcc
|
||||||
|
- Add gzopen_w() in Windows for wide character path names
|
||||||
|
- Rename zconf.h in CMakeLists.txt to move it out of the way
|
||||||
|
- Add source directory in CMakeLists.txt for building examples
|
||||||
|
- Look in build directory for zlib.pc in CMakeLists.txt
|
||||||
|
- Remove gzflags from zlibvc.def in vc9 and vc10
|
||||||
|
- Fix contrib/minizip compilation in the MinGW environment
|
||||||
|
- Update ./configure for Solaris, support --64 [Mooney]
|
||||||
|
- Remove -R. from Solaris shared build (possible security issue)
|
||||||
|
- Avoid race condition for parallel make (-j) running example
|
||||||
|
- Fix type mismatch between get_crc_table() and crc_table
|
||||||
|
- Fix parsing of version with "-" in CMakeLists.txt [Snider, Ziegler]
|
||||||
|
- Fix the path to zlib.map in CMakeLists.txt
|
||||||
|
- Force the native libtool in Mac OS X to avoid GNU libtool [Beebe]
|
||||||
|
- Add instructions to win32/Makefile.gcc for shared install [Torri]
|
||||||
|
|
||||||
|
Changes in 1.2.6.1 (12 Feb 2012)
|
||||||
|
- Avoid the use of the Objective-C reserved name "id"
|
||||||
|
- Include io.h in gzguts.h for Microsoft compilers
|
||||||
|
- Fix problem with ./configure --prefix and gzgetc macro
|
||||||
|
- Include gz_header definition when compiling zlib solo
|
||||||
|
- Put gzflags() functionality back in zutil.c
|
||||||
|
- Avoid library header include in crc32.c for Z_SOLO
|
||||||
|
- Use name in GCC_CLASSIC as C compiler for coverage testing, if set
|
||||||
|
- Minor cleanup in contrib/minizip/zip.c [Vollant]
|
||||||
|
- Update make_vms.com [Zinser]
|
||||||
|
- Remove unnecessary gzgetc_ function
|
||||||
|
- Use optimized byte swap operations for Microsoft and GNU [Snyder]
|
||||||
|
- Fix minor typo in zlib.h comments [Rzesniowiecki]
|
||||||
|
|
||||||
|
Changes in 1.2.6 (29 Jan 2012)
|
||||||
|
- Update the Pascal interface in contrib/pascal
|
||||||
|
- Fix function numbers for gzgetc_ in zlibvc.def files
|
||||||
|
- Fix configure.ac for contrib/minizip [Schiffer]
|
||||||
|
- Fix large-entry detection in minizip on 64-bit systems [Schiffer]
|
||||||
|
- Have ./configure use the compiler return code for error indication
|
||||||
|
- Fix CMakeLists.txt for cross compilation [McClure]
|
||||||
|
- Fix contrib/minizip/zip.c for 64-bit architectures [Dalsnes]
|
||||||
|
- Fix compilation of contrib/minizip on FreeBSD [Marquez]
|
||||||
|
- Correct suggested usages in win32/Makefile.msc [Shachar, Horvath]
|
||||||
|
- Include io.h for Turbo C / Borland C on all platforms [Truta]
|
||||||
|
- Make version explicit in contrib/minizip/configure.ac [Bosmans]
|
||||||
|
- Avoid warning for no encryption in contrib/minizip/zip.c [Vollant]
|
||||||
|
- Minor cleanup up contrib/minizip/unzip.c [Vollant]
|
||||||
|
- Fix bug when compiling minizip with C++ [Vollant]
|
||||||
|
- Protect for long name and extra fields in contrib/minizip [Vollant]
|
||||||
|
- Avoid some warnings in contrib/minizip [Vollant]
|
||||||
|
- Add -I../.. -L../.. to CFLAGS for minizip and miniunzip
|
||||||
|
- Add missing libs to minizip linker command
|
||||||
|
- Add support for VPATH builds in contrib/minizip
|
||||||
|
- Add an --enable-demos option to contrib/minizip/configure
|
||||||
|
- Add the generation of configure.log by ./configure
|
||||||
|
- Exit when required parameters not provided to win32/Makefile.gcc
|
||||||
|
- Have gzputc return the character written instead of the argument
|
||||||
|
- Use the -m option on ldconfig for BSD systems [Tobias]
|
||||||
|
- Correct in zlib.map when deflateResetKeep was added
|
||||||
|
|
||||||
|
Changes in 1.2.5.3 (15 Jan 2012)
|
||||||
|
- Restore gzgetc function for binary compatibility
|
||||||
|
- Do not use _lseeki64 under Borland C++ [Truta]
|
||||||
|
- Update win32/Makefile.msc to build test/*.c [Truta]
|
||||||
|
- Remove old/visualc6 given CMakefile and other alternatives
|
||||||
|
- Update AS400 build files and documentation [Monnerat]
|
||||||
|
- Update win32/Makefile.gcc to build test/*.c [Truta]
|
||||||
|
- Permit stronger flushes after Z_BLOCK flushes
|
||||||
|
- Avoid extraneous empty blocks when doing empty flushes
|
||||||
|
- Permit Z_NULL arguments to deflatePending
|
||||||
|
- Allow deflatePrime() to insert bits in the middle of a stream
|
||||||
|
- Remove second empty static block for Z_PARTIAL_FLUSH
|
||||||
|
- Write out all of the available bits when using Z_BLOCK
|
||||||
|
- Insert the first two strings in the hash table after a flush
|
||||||
|
|
||||||
|
Changes in 1.2.5.2 (17 Dec 2011)
|
||||||
|
- fix ld error: unable to find version dependency 'ZLIB_1.2.5'
|
||||||
|
- use relative symlinks for shared libs
|
||||||
|
- Avoid searching past window for Z_RLE strategy
|
||||||
|
- Assure that high-water mark initialization is always applied in deflate
|
||||||
|
- Add assertions to fill_window() in deflate.c to match comments
|
||||||
|
- Update python link in README
|
||||||
|
- Correct spelling error in gzread.c
|
||||||
|
- Fix bug in gzgets() for a concatenated empty gzip stream
|
||||||
|
- Correct error in comment for gz_make()
|
||||||
|
- Change gzread() and related to ignore junk after gzip streams
|
||||||
|
- Allow gzread() and related to continue after gzclearerr()
|
||||||
|
- Allow gzrewind() and gzseek() after a premature end-of-file
|
||||||
|
- Simplify gzseek() now that raw after gzip is ignored
|
||||||
|
- Change gzgetc() to a macro for speed (~40% speedup in testing)
|
||||||
|
- Fix gzclose() to return the actual error last encountered
|
||||||
|
- Always add large file support for windows
|
||||||
|
- Include zconf.h for windows large file support
|
||||||
|
- Include zconf.h.cmakein for windows large file support
|
||||||
|
- Update zconf.h.cmakein on make distclean
|
||||||
|
- Merge vestigial vsnprintf determination from zutil.h to gzguts.h
|
||||||
|
- Clarify how gzopen() appends in zlib.h comments
|
||||||
|
- Correct documentation of gzdirect() since junk at end now ignored
|
||||||
|
- Add a transparent write mode to gzopen() when 'T' is in the mode
|
||||||
|
- Update python link in zlib man page
|
||||||
|
- Get inffixed.h and MAKEFIXED result to match
|
||||||
|
- Add a ./config --solo option to make zlib subset with no libary use
|
||||||
|
- Add undocumented inflateResetKeep() function for CAB file decoding
|
||||||
|
- Add --cover option to ./configure for gcc coverage testing
|
||||||
|
- Add #define ZLIB_CONST option to use const in the z_stream interface
|
||||||
|
- Add comment to gzdopen() in zlib.h to use dup() when using fileno()
|
||||||
|
- Note behavior of uncompress() to provide as much data as it can
|
||||||
|
- Add files in contrib/minizip to aid in building libminizip
|
||||||
|
- Split off AR options in Makefile.in and configure
|
||||||
|
- Change ON macro to Z_ARG to avoid application conflicts
|
||||||
|
- Facilitate compilation with Borland C++ for pragmas and vsnprintf
|
||||||
|
- Include io.h for Turbo C / Borland C++
|
||||||
|
- Move example.c and minigzip.c to test/
|
||||||
|
- Simplify incomplete code table filling in inflate_table()
|
||||||
|
- Remove code from inflate.c and infback.c that is impossible to execute
|
||||||
|
- Test the inflate code with full coverage
|
||||||
|
- Allow deflateSetDictionary, inflateSetDictionary at any time (in raw)
|
||||||
|
- Add deflateResetKeep and fix inflateResetKeep to retain dictionary
|
||||||
|
- Fix gzwrite.c to accommodate reduced memory zlib compilation
|
||||||
|
- Have inflate() with Z_FINISH avoid the allocation of a window
|
||||||
|
- Do not set strm->adler when doing raw inflate
|
||||||
|
- Fix gzeof() to behave just like feof() when read is not past end of file
|
||||||
|
- Fix bug in gzread.c when end-of-file is reached
|
||||||
|
- Avoid use of Z_BUF_ERROR in gz* functions except for premature EOF
|
||||||
|
- Document gzread() capability to read concurrently written files
|
||||||
|
- Remove hard-coding of resource compiler in CMakeLists.txt [Blammo]
|
||||||
|
|
||||||
|
Changes in 1.2.5.1 (10 Sep 2011)
|
||||||
|
- Update FAQ entry on shared builds (#13)
|
||||||
|
- Avoid symbolic argument to chmod in Makefile.in
|
||||||
|
- Fix bug and add consts in contrib/puff [Oberhumer]
|
||||||
|
- Update contrib/puff/zeros.raw test file to have all block types
|
||||||
|
- Add full coverage test for puff in contrib/puff/Makefile
|
||||||
|
- Fix static-only-build install in Makefile.in
|
||||||
|
- Fix bug in unzGetCurrentFileInfo() in contrib/minizip [Kuno]
|
||||||
|
- Add libz.a dependency to shared in Makefile.in for parallel builds
|
||||||
|
- Spell out "number" (instead of "nb") in zlib.h for total_in, total_out
|
||||||
|
- Replace $(...) with `...` in configure for non-bash sh [Bowler]
|
||||||
|
- Add darwin* to Darwin* and solaris* to SunOS\ 5* in configure [Groffen]
|
||||||
|
- Add solaris* to Linux* in configure to allow gcc use [Groffen]
|
||||||
|
- Add *bsd* to Linux* case in configure [Bar-Lev]
|
||||||
|
- Add inffast.obj to dependencies in win32/Makefile.msc
|
||||||
|
- Correct spelling error in deflate.h [Kohler]
|
||||||
|
- Change libzdll.a again to libz.dll.a (!) in win32/Makefile.gcc
|
||||||
|
- Add test to configure for GNU C looking for gcc in output of $cc -v
|
||||||
|
- Add zlib.pc generation to win32/Makefile.gcc [Weigelt]
|
||||||
|
- Fix bug in zlib.h for _FILE_OFFSET_BITS set and _LARGEFILE64_SOURCE not
|
||||||
|
- Add comment in zlib.h that adler32_combine with len2 < 0 makes no sense
|
||||||
|
- Make NO_DIVIDE option in adler32.c much faster (thanks to John Reiser)
|
||||||
|
- Make stronger test in zconf.h to include unistd.h for LFS
|
||||||
|
- Apply Darwin patches for 64-bit file offsets to contrib/minizip [Slack]
|
||||||
|
- Fix zlib.h LFS support when Z_PREFIX used
|
||||||
|
- Add updated as400 support (removed from old) [Monnerat]
|
||||||
|
- Avoid deflate sensitivity to volatile input data
|
||||||
|
- Avoid division in adler32_combine for NO_DIVIDE
|
||||||
|
- Clarify the use of Z_FINISH with deflateBound() amount of space
|
||||||
|
- Set binary for output file in puff.c
|
||||||
|
- Use u4 type for crc_table to avoid conversion warnings
|
||||||
|
- Apply casts in zlib.h to avoid conversion warnings
|
||||||
|
- Add OF to prototypes for adler32_combine_ and crc32_combine_ [Miller]
|
||||||
|
- Improve inflateSync() documentation to note indeterminancy
|
||||||
|
- Add deflatePending() function to return the amount of pending output
|
||||||
|
- Correct the spelling of "specification" in FAQ [Randers-Pehrson]
|
||||||
|
- Add a check in configure for stdarg.h, use for gzprintf()
|
||||||
|
- Check that pointers fit in ints when gzprint() compiled old style
|
||||||
|
- Add dummy name before $(SHAREDLIBV) in Makefile [Bar-Lev, Bowler]
|
||||||
|
- Delete line in configure that adds -L. libz.a to LDFLAGS [Weigelt]
|
||||||
|
- Add debug records in assmebler code [Londer]
|
||||||
|
- Update RFC references to use http://tools.ietf.org/html/... [Li]
|
||||||
|
- Add --archs option, use of libtool to configure for Mac OS X [Borstel]
|
||||||
|
|
||||||
|
Changes in 1.2.5 (19 Apr 2010)
|
||||||
|
- Disable visibility attribute in win32/Makefile.gcc [Bar-Lev]
|
||||||
|
- Default to libdir as sharedlibdir in configure [Nieder]
|
||||||
|
- Update copyright dates on modified source files
|
||||||
|
- Update trees.c to be able to generate modified trees.h
|
||||||
|
- Exit configure for MinGW, suggesting win32/Makefile.gcc
|
||||||
|
- Check for NULL path in gz_open [Homurlu]
|
||||||
|
|
||||||
|
Changes in 1.2.4.5 (18 Apr 2010)
|
||||||
|
- Set sharedlibdir in configure [Torok]
|
||||||
|
- Set LDFLAGS in Makefile.in [Bar-Lev]
|
||||||
|
- Avoid mkdir objs race condition in Makefile.in [Bowler]
|
||||||
|
- Add ZLIB_INTERNAL in front of internal inter-module functions and arrays
|
||||||
|
- Define ZLIB_INTERNAL to hide internal functions and arrays for GNU C
|
||||||
|
- Don't use hidden attribute when it is a warning generator (e.g. Solaris)
|
||||||
|
|
||||||
|
Changes in 1.2.4.4 (18 Apr 2010)
|
||||||
|
- Fix CROSS_PREFIX executable testing, CHOST extract, mingw* [Torok]
|
||||||
|
- Undefine _LARGEFILE64_SOURCE in zconf.h if it is zero, but not if empty
|
||||||
|
- Try to use bash or ksh regardless of functionality of /bin/sh
|
||||||
|
- Fix configure incompatibility with NetBSD sh
|
||||||
|
- Remove attempt to run under bash or ksh since have better NetBSD fix
|
||||||
|
- Fix win32/Makefile.gcc for MinGW [Bar-Lev]
|
||||||
|
- Add diagnostic messages when using CROSS_PREFIX in configure
|
||||||
|
- Added --sharedlibdir option to configure [Weigelt]
|
||||||
|
- Use hidden visibility attribute when available [Frysinger]
|
||||||
|
|
||||||
|
Changes in 1.2.4.3 (10 Apr 2010)
|
||||||
|
- Only use CROSS_PREFIX in configure for ar and ranlib if they exist
|
||||||
|
- Use CROSS_PREFIX for nm [Bar-Lev]
|
||||||
|
- Assume _LARGEFILE64_SOURCE defined is equivalent to true
|
||||||
|
- Avoid use of undefined symbols in #if with && and ||
|
||||||
|
- Make *64 prototypes in gzguts.h consistent with functions
|
||||||
|
- Add -shared load option for MinGW in configure [Bowler]
|
||||||
|
- Move z_off64_t to public interface, use instead of off64_t
|
||||||
|
- Remove ! from shell test in configure (not portable to Solaris)
|
||||||
|
- Change +0 macro tests to -0 for possibly increased portability
|
||||||
|
|
||||||
|
Changes in 1.2.4.2 (9 Apr 2010)
|
||||||
|
- Add consistent carriage returns to readme.txt's in masmx86 and masmx64
|
||||||
|
- Really provide prototypes for *64 functions when building without LFS
|
||||||
|
- Only define unlink() in minigzip.c if unistd.h not included
|
||||||
|
- Update README to point to contrib/vstudio project files
|
||||||
|
- Move projects/vc6 to old/ and remove projects/
|
||||||
|
- Include stdlib.h in minigzip.c for setmode() definition under WinCE
|
||||||
|
- Clean up assembler builds in win32/Makefile.msc [Rowe]
|
||||||
|
- Include sys/types.h for Microsoft for off_t definition
|
||||||
|
- Fix memory leak on error in gz_open()
|
||||||
|
- Symbolize nm as $NM in configure [Weigelt]
|
||||||
|
- Use TEST_LDSHARED instead of LDSHARED to link test programs [Weigelt]
|
||||||
|
- Add +0 to _FILE_OFFSET_BITS and _LFS64_LARGEFILE in case not defined
|
||||||
|
- Fix bug in gzeof() to take into account unused input data
|
||||||
|
- Avoid initialization of structures with variables in puff.c
|
||||||
|
- Updated win32/README-WIN32.txt [Rowe]
|
||||||
|
|
||||||
|
Changes in 1.2.4.1 (28 Mar 2010)
|
||||||
|
- Remove the use of [a-z] constructs for sed in configure [gentoo 310225]
|
||||||
|
- Remove $(SHAREDLIB) from LIBS in Makefile.in [Creech]
|
||||||
|
- Restore "for debugging" comment on sprintf() in gzlib.c
|
||||||
|
- Remove fdopen for MVS from gzguts.h
|
||||||
|
- Put new README-WIN32.txt in win32 [Rowe]
|
||||||
|
- Add check for shell to configure and invoke another shell if needed
|
||||||
|
- Fix big fat stinking bug in gzseek() on uncompressed files
|
||||||
|
- Remove vestigial F_OPEN64 define in zutil.h
|
||||||
|
- Set and check the value of _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE
|
||||||
|
- Avoid errors on non-LFS systems when applications define LFS macros
|
||||||
|
- Set EXE to ".exe" in configure for MINGW [Kahle]
|
||||||
|
- Match crc32() in crc32.c exactly to the prototype in zlib.h [Sherrill]
|
||||||
|
- Add prefix for cross-compilation in win32/makefile.gcc [Bar-Lev]
|
||||||
|
- Add DLL install in win32/makefile.gcc [Bar-Lev]
|
||||||
|
- Allow Linux* or linux* from uname in configure [Bar-Lev]
|
||||||
|
- Allow ldconfig to be redefined in configure and Makefile.in [Bar-Lev]
|
||||||
|
- Add cross-compilation prefixes to configure [Bar-Lev]
|
||||||
|
- Match type exactly in gz_load() invocation in gzread.c
|
||||||
|
- Match type exactly of zcalloc() in zutil.c to zlib.h alloc_func
|
||||||
|
- Provide prototypes for *64 functions when building zlib without LFS
|
||||||
|
- Don't use -lc when linking shared library on MinGW
|
||||||
|
- Remove errno.h check in configure and vestigial errno code in zutil.h
|
||||||
|
|
||||||
|
Changes in 1.2.4 (14 Mar 2010)
|
||||||
|
- Fix VER3 extraction in configure for no fourth subversion
|
||||||
|
- Update zlib.3, add docs to Makefile.in to make .pdf out of it
|
||||||
|
- Add zlib.3.pdf to distribution
|
||||||
|
- Don't set error code in gzerror() if passed pointer is NULL
|
||||||
|
- Apply destination directory fixes to CMakeLists.txt [Lowman]
|
||||||
|
- Move #cmakedefine's to a new zconf.in.cmakein
|
||||||
|
- Restore zconf.h for builds that don't use configure or cmake
|
||||||
|
- Add distclean to dummy Makefile for convenience
|
||||||
|
- Update and improve INDEX, README, and FAQ
|
||||||
|
- Update CMakeLists.txt for the return of zconf.h [Lowman]
|
||||||
|
- Update contrib/vstudio/vc9 and vc10 [Vollant]
|
||||||
|
- Change libz.dll.a back to libzdll.a in win32/Makefile.gcc
|
||||||
|
- Apply license and readme changes to contrib/asm686 [Raiter]
|
||||||
|
- Check file name lengths and add -c option in minigzip.c [Li]
|
||||||
|
- Update contrib/amd64 and contrib/masmx86/ [Vollant]
|
||||||
|
- Avoid use of "eof" parameter in trees.c to not shadow library variable
|
||||||
|
- Update make_vms.com for removal of zlibdefs.h [Zinser]
|
||||||
|
- Update assembler code and vstudio projects in contrib [Vollant]
|
||||||
|
- Remove outdated assembler code contrib/masm686 and contrib/asm586
|
||||||
|
- Remove old vc7 and vc8 from contrib/vstudio
|
||||||
|
- Update win32/Makefile.msc, add ZLIB_VER_SUBREVISION [Rowe]
|
||||||
|
- Fix memory leaks in gzclose_r() and gzclose_w(), file leak in gz_open()
|
||||||
|
- Add contrib/gcc_gvmat64 for longest_match and inflate_fast [Vollant]
|
||||||
|
- Remove *64 functions from win32/zlib.def (they're not 64-bit yet)
|
||||||
|
- Fix bug in void-returning vsprintf() case in gzwrite.c
|
||||||
|
- Fix name change from inflate.h in contrib/inflate86/inffas86.c
|
||||||
|
- Check if temporary file exists before removing in make_vms.com [Zinser]
|
||||||
|
- Fix make install and uninstall for --static option
|
||||||
|
- Fix usage of _MSC_VER in gzguts.h and zutil.h [Truta]
|
||||||
|
- Update readme.txt in contrib/masmx64 and masmx86 to assemble
|
||||||
|
|
||||||
Changes in 1.2.3.9 (21 Feb 2010)
|
Changes in 1.2.3.9 (21 Feb 2010)
|
||||||
- Expunge gzio.c
|
- Expunge gzio.c
|
||||||
- Move as400 build information to old
|
- Move as400 build information to old
|
||||||
@@ -67,7 +441,7 @@ Changes in 1.2.3.6 (17 Jan 2010)
|
|||||||
- Correct email address in configure for system options
|
- Correct email address in configure for system options
|
||||||
- Update make_vms.com and add make_vms.com to contrib/minizip [Zinser]
|
- Update make_vms.com and add make_vms.com to contrib/minizip [Zinser]
|
||||||
- Update zlib.map [Brown]
|
- Update zlib.map [Brown]
|
||||||
- Fix Makefile.in for Solaris 10 make of example64 and minizip64 [T<EFBFBD>r<EFBFBD>k]
|
- Fix Makefile.in for Solaris 10 make of example64 and minizip64 [Torok]
|
||||||
- Apply various fixes to CMakeLists.txt [Lowman]
|
- Apply various fixes to CMakeLists.txt [Lowman]
|
||||||
- Add checks on len in gzread() and gzwrite()
|
- Add checks on len in gzread() and gzwrite()
|
||||||
- Add error message for no more room for gzungetc()
|
- Add error message for no more room for gzungetc()
|
||||||
@@ -151,7 +525,7 @@ Changes in 1.2.3.4 (21 Dec 2009)
|
|||||||
- Clear bytes after deflate lookahead to avoid use of uninitialized data
|
- Clear bytes after deflate lookahead to avoid use of uninitialized data
|
||||||
- Change a limit in inftrees.c to be more transparent to Coverity Prevent
|
- Change a limit in inftrees.c to be more transparent to Coverity Prevent
|
||||||
- Update win32/zlib.def with exported symbols from zlib.h
|
- Update win32/zlib.def with exported symbols from zlib.h
|
||||||
- Correct spelling error in zlib.h [Willem]
|
- Correct spelling errors in zlib.h [Willem, Sobrado]
|
||||||
- Allow Z_BLOCK for deflate() to force a new block
|
- Allow Z_BLOCK for deflate() to force a new block
|
||||||
- Allow negative bits in inflatePrime() to delete existing bit buffer
|
- Allow negative bits in inflatePrime() to delete existing bit buffer
|
||||||
- Add Z_TREES flush option to inflate() to return at end of trees
|
- Add Z_TREES flush option to inflate() to return at end of trees
|
||||||
@@ -256,7 +630,7 @@ Changes in 1.2.2.4 (11 July 2005)
|
|||||||
compile
|
compile
|
||||||
- Fix some spelling errors in comments [Betts]
|
- Fix some spelling errors in comments [Betts]
|
||||||
- Correct inflateInit2() error return documentation in zlib.h
|
- Correct inflateInit2() error return documentation in zlib.h
|
||||||
- Added zran.c example of compressed data random access to examples
|
- Add zran.c example of compressed data random access to examples
|
||||||
directory, shows use of inflatePrime()
|
directory, shows use of inflatePrime()
|
||||||
- Fix cast for assignments to strm->state in inflate.c and infback.c
|
- Fix cast for assignments to strm->state in inflate.c and infback.c
|
||||||
- Fix zlibCompileFlags() in zutil.c to use 1L for long shifts [Oberhumer]
|
- Fix zlibCompileFlags() in zutil.c to use 1L for long shifts [Oberhumer]
|
||||||
|
|||||||
205
FAQ
205
FAQ
@@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
|
|
||||||
If your question is not there, please check the zlib home page
|
If your question is not there, please check the zlib home page
|
||||||
http://www.zlib.org which may have more recent information.
|
http://zlib.net/ which may have more recent information.
|
||||||
The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
The lastest zlib FAQ is at http://zlib.net/zlib_faq.html
|
||||||
|
|
||||||
|
|
||||||
1. Is zlib Y2K-compliant?
|
1. Is zlib Y2K-compliant?
|
||||||
@@ -13,54 +13,51 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
2. Where can I get a Windows DLL version?
|
2. Where can I get a Windows DLL version?
|
||||||
|
|
||||||
The zlib sources can be compiled without change to produce a DLL.
|
The zlib sources can be compiled without change to produce a DLL. See the
|
||||||
See the file win32/DLL_FAQ.txt in the zlib distribution.
|
file win32/DLL_FAQ.txt in the zlib distribution. Pointers to the
|
||||||
Pointers to the precompiled DLL are found in the zlib web site at
|
precompiled DLL are found in the zlib web site at http://zlib.net/ .
|
||||||
http://www.zlib.org.
|
|
||||||
|
|
||||||
3. Where can I get a Visual Basic interface to zlib?
|
3. Where can I get a Visual Basic interface to zlib?
|
||||||
|
|
||||||
See
|
See
|
||||||
* http://www.dogma.net/markn/articles/zlibtool/zlibtool.htm
|
* http://marknelson.us/1997/01/01/zlib-engine/
|
||||||
* contrib/visual-basic.txt in the zlib distribution
|
|
||||||
* win32/DLL_FAQ.txt in the zlib distribution
|
* win32/DLL_FAQ.txt in the zlib distribution
|
||||||
|
|
||||||
4. compress() returns Z_BUF_ERROR.
|
4. compress() returns Z_BUF_ERROR.
|
||||||
|
|
||||||
Make sure that before the call of compress, the length of the compressed
|
Make sure that before the call of compress(), the length of the compressed
|
||||||
buffer is equal to the total size of the compressed buffer and not
|
buffer is equal to the available size of the compressed buffer and not
|
||||||
zero. For Visual Basic, check that this parameter is passed by reference
|
zero. For Visual Basic, check that this parameter is passed by reference
|
||||||
("as any"), not by value ("as long").
|
("as any"), not by value ("as long").
|
||||||
|
|
||||||
5. deflate() or inflate() returns Z_BUF_ERROR.
|
5. deflate() or inflate() returns Z_BUF_ERROR.
|
||||||
|
|
||||||
Before making the call, make sure that avail_in and avail_out are not
|
Before making the call, make sure that avail_in and avail_out are not zero.
|
||||||
zero. When setting the parameter flush equal to Z_FINISH, also make sure
|
When setting the parameter flush equal to Z_FINISH, also make sure that
|
||||||
that avail_out is big enough to allow processing all pending input.
|
avail_out is big enough to allow processing all pending input. Note that a
|
||||||
Note that a Z_BUF_ERROR is not fatal--another call to deflate() or
|
Z_BUF_ERROR is not fatal--another call to deflate() or inflate() can be
|
||||||
inflate() can be made with more input or output space. A Z_BUF_ERROR
|
made with more input or output space. A Z_BUF_ERROR may in fact be
|
||||||
may in fact be unavoidable depending on how the functions are used, since
|
unavoidable depending on how the functions are used, since it is not
|
||||||
it is not possible to tell whether or not there is more output pending
|
possible to tell whether or not there is more output pending when
|
||||||
when strm.avail_out returns with zero.
|
strm.avail_out returns with zero. See http://zlib.net/zlib_how.html for a
|
||||||
|
heavily annotated example.
|
||||||
|
|
||||||
6. Where's the zlib documentation (man pages, etc.)?
|
6. Where's the zlib documentation (man pages, etc.)?
|
||||||
|
|
||||||
It's in zlib.h for the moment, and Francis S. Lin has converted it to a
|
It's in zlib.h . Examples of zlib usage are in the files test/example.c
|
||||||
web page zlib.html. Volunteers to transform this to Unix-style man pages,
|
and test/minigzip.c, with more in examples/ .
|
||||||
please contact us (zlib@gzip.org). Examples of zlib usage are in the files
|
|
||||||
example.c and minigzip.c.
|
|
||||||
|
|
||||||
7. Why don't you use GNU autoconf or libtool or ...?
|
7. Why don't you use GNU autoconf or libtool or ...?
|
||||||
|
|
||||||
Because we would like to keep zlib as a very small and simple
|
Because we would like to keep zlib as a very small and simple package.
|
||||||
package. zlib is rather portable and doesn't need much configuration.
|
zlib is rather portable and doesn't need much configuration.
|
||||||
|
|
||||||
8. I found a bug in zlib.
|
8. I found a bug in zlib.
|
||||||
|
|
||||||
Most of the time, such problems are due to an incorrect usage of
|
Most of the time, such problems are due to an incorrect usage of zlib.
|
||||||
zlib. Please try to reproduce the problem with a small program and send
|
Please try to reproduce the problem with a small program and send the
|
||||||
the corresponding source to us at zlib@gzip.org . Do not send
|
corresponding source to us at zlib@gzip.org . Do not send multi-megabyte
|
||||||
multi-megabyte data files without prior agreement.
|
data files without prior agreement.
|
||||||
|
|
||||||
9. Why do I get "undefined reference to gzputc"?
|
9. Why do I get "undefined reference to gzputc"?
|
||||||
|
|
||||||
@@ -87,8 +84,10 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
13. How can I make a Unix shared library?
|
13. How can I make a Unix shared library?
|
||||||
|
|
||||||
make clean
|
By default a shared (and a static) library is built for Unix. So:
|
||||||
./configure -s
|
|
||||||
|
make distclean
|
||||||
|
./configure
|
||||||
make
|
make
|
||||||
|
|
||||||
14. How do I install a shared zlib library on Unix?
|
14. How do I install a shared zlib library on Unix?
|
||||||
@@ -100,7 +99,9 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
However, many flavors of Unix come with a shared zlib already installed.
|
However, many flavors of Unix come with a shared zlib already installed.
|
||||||
Before going to the trouble of compiling a shared version of zlib and
|
Before going to the trouble of compiling a shared version of zlib and
|
||||||
trying to install it, you may want to check if it's already there! If you
|
trying to install it, you may want to check if it's already there! If you
|
||||||
can #include <zlib.h>, it's there. The -lz option will probably link to it.
|
can #include <zlib.h>, it's there. The -lz option will probably link to
|
||||||
|
it. You can check the version at the top of zlib.h or with the
|
||||||
|
ZLIB_VERSION symbol defined in zlib.h .
|
||||||
|
|
||||||
15. I have a question about OttoPDF.
|
15. I have a question about OttoPDF.
|
||||||
|
|
||||||
@@ -109,8 +110,8 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
16. Can zlib decode Flate data in an Adobe PDF file?
|
16. Can zlib decode Flate data in an Adobe PDF file?
|
||||||
|
|
||||||
Yes. See http://www.fastio.com/ (ClibPDF), or http://www.pdflib.com/ .
|
Yes. See http://www.pdflib.com/ . To modify PDF forms, see
|
||||||
To modify PDF forms, see http://sourceforge.net/projects/acroformtool/ .
|
http://sourceforge.net/projects/acroformtool/ .
|
||||||
|
|
||||||
17. Why am I getting this "register_frame_info not found" error on Solaris?
|
17. Why am I getting this "register_frame_info not found" error on Solaris?
|
||||||
|
|
||||||
@@ -130,31 +131,31 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
The compress and deflate functions produce data in the zlib format, which
|
The compress and deflate functions produce data in the zlib format, which
|
||||||
is different and incompatible with the gzip format. The gz* functions in
|
is different and incompatible with the gzip format. The gz* functions in
|
||||||
zlib on the other hand use the gzip format. Both the zlib and gzip
|
zlib on the other hand use the gzip format. Both the zlib and gzip formats
|
||||||
formats use the same compressed data format internally, but have different
|
use the same compressed data format internally, but have different headers
|
||||||
headers and trailers around the compressed data.
|
and trailers around the compressed data.
|
||||||
|
|
||||||
19. Ok, so why are there two different formats?
|
19. Ok, so why are there two different formats?
|
||||||
|
|
||||||
The gzip format was designed to retain the directory information about
|
The gzip format was designed to retain the directory information about a
|
||||||
a single file, such as the name and last modification date. The zlib
|
single file, such as the name and last modification date. The zlib format
|
||||||
format on the other hand was designed for in-memory and communication
|
on the other hand was designed for in-memory and communication channel
|
||||||
channel applications, and has a much more compact header and trailer and
|
applications, and has a much more compact header and trailer and uses a
|
||||||
uses a faster integrity check than gzip.
|
faster integrity check than gzip.
|
||||||
|
|
||||||
20. Well that's nice, but how do I make a gzip file in memory?
|
20. Well that's nice, but how do I make a gzip file in memory?
|
||||||
|
|
||||||
You can request that deflate write the gzip format instead of the zlib
|
You can request that deflate write the gzip format instead of the zlib
|
||||||
format using deflateInit2(). You can also request that inflate decode
|
format using deflateInit2(). You can also request that inflate decode the
|
||||||
the gzip format using inflateInit2(). Read zlib.h for more details.
|
gzip format using inflateInit2(). Read zlib.h for more details.
|
||||||
|
|
||||||
21. Is zlib thread-safe?
|
21. Is zlib thread-safe?
|
||||||
|
|
||||||
Yes. However any library routines that zlib uses and any application-
|
Yes. However any library routines that zlib uses and any application-
|
||||||
provided memory allocation routines must also be thread-safe. zlib's gz*
|
provided memory allocation routines must also be thread-safe. zlib's gz*
|
||||||
functions use stdio library routines, and most of zlib's functions use the
|
functions use stdio library routines, and most of zlib's functions use the
|
||||||
library memory allocation routines by default. zlib's Init functions allow
|
library memory allocation routines by default. zlib's *Init* functions
|
||||||
for the application to provide custom memory allocation routines.
|
allow for the application to provide custom memory allocation routines.
|
||||||
|
|
||||||
Of course, you should only operate on any given zlib or gzip stream from a
|
Of course, you should only operate on any given zlib or gzip stream from a
|
||||||
single thread at a time.
|
single thread at a time.
|
||||||
@@ -197,37 +198,35 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
26. Will zlib work on a 64-bit machine?
|
26. Will zlib work on a 64-bit machine?
|
||||||
|
|
||||||
It should. It has been tested on 64-bit machines, and has no dependence
|
Yes. It has been tested on 64-bit machines, and has no dependence on any
|
||||||
on any data types being limited to 32-bits in length. If you have any
|
data types being limited to 32-bits in length. If you have any
|
||||||
difficulties, please provide a complete problem report to zlib@gzip.org
|
difficulties, please provide a complete problem report to zlib@gzip.org
|
||||||
|
|
||||||
27. Will zlib decompress data from the PKWare Data Compression Library?
|
27. Will zlib decompress data from the PKWare Data Compression Library?
|
||||||
|
|
||||||
No. The PKWare DCL uses a completely different compressed data format
|
No. The PKWare DCL uses a completely different compressed data format than
|
||||||
than does PKZIP and zlib. However, you can look in zlib's contrib/blast
|
does PKZIP and zlib. However, you can look in zlib's contrib/blast
|
||||||
directory for a possible solution to your problem.
|
directory for a possible solution to your problem.
|
||||||
|
|
||||||
28. Can I access data randomly in a compressed stream?
|
28. Can I access data randomly in a compressed stream?
|
||||||
|
|
||||||
No, not without some preparation. If when compressing you periodically
|
No, not without some preparation. If when compressing you periodically use
|
||||||
use Z_FULL_FLUSH, carefully write all the pending data at those points,
|
Z_FULL_FLUSH, carefully write all the pending data at those points, and
|
||||||
and keep an index of those locations, then you can start decompression
|
keep an index of those locations, then you can start decompression at those
|
||||||
at those points. You have to be careful to not use Z_FULL_FLUSH too
|
points. You have to be careful to not use Z_FULL_FLUSH too often, since it
|
||||||
often, since it can significantly degrade compression.
|
can significantly degrade compression. Alternatively, you can scan a
|
||||||
|
deflate stream once to generate an index, and then use that index for
|
||||||
|
random access. See examples/zran.c .
|
||||||
|
|
||||||
29. Does zlib work on MVS, OS/390, CICS, etc.?
|
29. Does zlib work on MVS, OS/390, CICS, etc.?
|
||||||
|
|
||||||
Yes, there are working ports of zlib 1.1.4 to MVS which you can find
|
It has in the past, but we have not heard of any recent evidence. There
|
||||||
here:
|
were working ports of zlib 1.1.4 to MVS, but those links no longer work.
|
||||||
|
If you know of recent, successful applications of zlib on these operating
|
||||||
|
systems, please let us know. Thanks.
|
||||||
|
|
||||||
http://www.homerow.net/asm/zlib390.htm
|
30. Is there some simpler, easier to read version of inflate I can look at to
|
||||||
http://www.homerow.net/asm/zlibLE.htm
|
understand the deflate format?
|
||||||
|
|
||||||
If these are updated to more recent versions of zlib, please let us
|
|
||||||
know. Thanks.
|
|
||||||
|
|
||||||
30. Is there some simpler, easier to read version of inflate I can look at
|
|
||||||
to understand the deflate format?
|
|
||||||
|
|
||||||
First off, you should read RFC 1951. Second, yes. Look in zlib's
|
First off, you should read RFC 1951. Second, yes. Look in zlib's
|
||||||
contrib/puff directory.
|
contrib/puff directory.
|
||||||
@@ -253,21 +252,22 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
single call. gzseek() and gztell() may be limited to 4 GB depending on how
|
single call. gzseek() and gztell() may be limited to 4 GB depending on how
|
||||||
zlib is compiled. See the zlibCompileFlags() function in zlib.h.
|
zlib is compiled. See the zlibCompileFlags() function in zlib.h.
|
||||||
|
|
||||||
The word "may" appears several times above since there is a 4 GB limit
|
The word "may" appears several times above since there is a 4 GB limit only
|
||||||
only if the compiler's "long" type is 32 bits. If the compiler's "long"
|
if the compiler's "long" type is 32 bits. If the compiler's "long" type is
|
||||||
type is 64 bits, then the limit is 16 exabytes.
|
64 bits, then the limit is 16 exabytes.
|
||||||
|
|
||||||
33. Does zlib have any security vulnerabilities?
|
33. Does zlib have any security vulnerabilities?
|
||||||
|
|
||||||
The only one that we are aware of is potentially in gzprintf(). If zlib
|
The only one that we are aware of is potentially in gzprintf(). If zlib is
|
||||||
is compiled to use sprintf() or vsprintf(), then there is no protection
|
compiled to use sprintf() or vsprintf(), then there is no protection
|
||||||
against a buffer overflow of a 4K string space, other than the caller of
|
against a buffer overflow of an 8K string space (or other value as set by
|
||||||
gzprintf() assuring that the output will not exceed 4K. On the other
|
gzbuffer()), other than the caller of gzprintf() assuring that the output
|
||||||
hand, if zlib is compiled to use snprintf() or vsnprintf(), which should
|
will not exceed 8K. On the other hand, if zlib is compiled to use
|
||||||
normally be the case, then there is no vulnerability. The ./configure
|
snprintf() or vsnprintf(), which should normally be the case, then there is
|
||||||
script will display warnings if an insecure variation of sprintf() will
|
no vulnerability. The ./configure script will display warnings if an
|
||||||
be used by gzprintf(). Also the zlibCompileFlags() function will return
|
insecure variation of sprintf() will be used by gzprintf(). Also the
|
||||||
information on what variant of sprintf() is used by gzprintf().
|
zlibCompileFlags() function will return information on what variant of
|
||||||
|
sprintf() is used by gzprintf().
|
||||||
|
|
||||||
If you don't have snprintf() or vsnprintf() and would like one, you can
|
If you don't have snprintf() or vsnprintf() and would like one, you can
|
||||||
find a portable implementation here:
|
find a portable implementation here:
|
||||||
@@ -275,33 +275,35 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
http://www.ijs.si/software/snprintf/
|
http://www.ijs.si/software/snprintf/
|
||||||
|
|
||||||
Note that you should be using the most recent version of zlib. Versions
|
Note that you should be using the most recent version of zlib. Versions
|
||||||
1.1.3 and before were subject to a double-free vulnerability, and version
|
1.1.3 and before were subject to a double-free vulnerability, and versions
|
||||||
1.2.1 was subject to an access exception when decompressing invalid
|
1.2.1 and 1.2.2 were subject to an access exception when decompressing
|
||||||
compressed data.
|
invalid compressed data.
|
||||||
|
|
||||||
34. Is there a Java version of zlib?
|
34. Is there a Java version of zlib?
|
||||||
|
|
||||||
Probably what you want is to use zlib in Java. zlib is already included
|
Probably what you want is to use zlib in Java. zlib is already included
|
||||||
as part of the Java SDK in the java.util.zip package. If you really want
|
as part of the Java SDK in the java.util.zip package. If you really want
|
||||||
a version of zlib written in the Java language, look on the zlib home
|
a version of zlib written in the Java language, look on the zlib home
|
||||||
page for links: http://www.zlib.org/
|
page for links: http://zlib.net/ .
|
||||||
|
|
||||||
35. I get this or that compiler or source-code scanner warning when I crank it
|
35. I get this or that compiler or source-code scanner warning when I crank it
|
||||||
up to maximally-pedantic. Can't you guys write proper code?
|
up to maximally-pedantic. Can't you guys write proper code?
|
||||||
|
|
||||||
Many years ago, we gave up attempting to avoid warnings on every compiler
|
Many years ago, we gave up attempting to avoid warnings on every compiler
|
||||||
in the universe. It just got to be a waste of time, and some compilers
|
in the universe. It just got to be a waste of time, and some compilers
|
||||||
were downright silly. So now, we simply make sure that the code always
|
were downright silly as well as contradicted each other. So now, we simply
|
||||||
works.
|
make sure that the code always works.
|
||||||
|
|
||||||
36. Valgrind (or some similar memory access checker) says that deflate is
|
36. Valgrind (or some similar memory access checker) says that deflate is
|
||||||
performing a conditional jump that depends on an uninitialized value.
|
performing a conditional jump that depends on an uninitialized value.
|
||||||
Isn't that a bug?
|
Isn't that a bug?
|
||||||
|
|
||||||
No. That is intentional for performance reasons, and the output of
|
No. That is intentional for performance reasons, and the output of deflate
|
||||||
deflate is not affected. This only started showing up recently since
|
is not affected. This only started showing up recently since zlib 1.2.x
|
||||||
zlib 1.2.x uses malloc() by default for allocations, whereas earlier
|
uses malloc() by default for allocations, whereas earlier versions used
|
||||||
versions used calloc(), which zeros out the allocated memory.
|
calloc(), which zeros out the allocated memory. Even though the code was
|
||||||
|
correct, versions 1.2.4 and later was changed to not stimulate these
|
||||||
|
checkers.
|
||||||
|
|
||||||
37. Will zlib read the (insert any ancient or arcane format here) compressed
|
37. Will zlib read the (insert any ancient or arcane format here) compressed
|
||||||
data format?
|
data format?
|
||||||
@@ -311,20 +313,21 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
38. How can I encrypt/decrypt zip files with zlib?
|
38. How can I encrypt/decrypt zip files with zlib?
|
||||||
|
|
||||||
zlib doesn't support encryption. The original PKZIP encryption is very weak
|
zlib doesn't support encryption. The original PKZIP encryption is very
|
||||||
and can be broken with freely available programs. To get strong encryption,
|
weak and can be broken with freely available programs. To get strong
|
||||||
use GnuPG, http://www.gnupg.org/ , which already includes zlib compression.
|
encryption, use GnuPG, http://www.gnupg.org/ , which already includes zlib
|
||||||
For PKZIP compatible "encryption", look at http://www.info-zip.org/
|
compression. For PKZIP compatible "encryption", look at
|
||||||
|
http://www.info-zip.org/
|
||||||
|
|
||||||
39. What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings?
|
39. What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings?
|
||||||
|
|
||||||
"gzip" is the gzip format, and "deflate" is the zlib format. They should
|
"gzip" is the gzip format, and "deflate" is the zlib format. They should
|
||||||
probably have called the second one "zlib" instead to avoid confusion
|
probably have called the second one "zlib" instead to avoid confusion with
|
||||||
with the raw deflate compressed data format. While the HTTP 1.1 RFC 2616
|
the raw deflate compressed data format. While the HTTP 1.1 RFC 2616
|
||||||
correctly points to the zlib specification in RFC 1950 for the "deflate"
|
correctly points to the zlib specification in RFC 1950 for the "deflate"
|
||||||
transfer encoding, there have been reports of servers and browsers that
|
transfer encoding, there have been reports of servers and browsers that
|
||||||
incorrectly produce or expect raw deflate data per the deflate
|
incorrectly produce or expect raw deflate data per the deflate
|
||||||
specficiation in RFC 1951, most notably Microsoft. So even though the
|
specification in RFC 1951, most notably Microsoft. So even though the
|
||||||
"deflate" transfer encoding using the zlib format would be the more
|
"deflate" transfer encoding using the zlib format would be the more
|
||||||
efficient approach (and in fact exactly what the zlib format was designed
|
efficient approach (and in fact exactly what the zlib format was designed
|
||||||
for), using the "gzip" transfer encoding is probably more reliable due to
|
for), using the "gzip" transfer encoding is probably more reliable due to
|
||||||
@@ -335,9 +338,9 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
40. Does zlib support the new "Deflate64" format introduced by PKWare?
|
40. Does zlib support the new "Deflate64" format introduced by PKWare?
|
||||||
|
|
||||||
No. PKWare has apparently decided to keep that format proprietary, since
|
No. PKWare has apparently decided to keep that format proprietary, since
|
||||||
they have not documented it as they have previous compression formats.
|
they have not documented it as they have previous compression formats. In
|
||||||
In any case, the compression improvements are so modest compared to other
|
any case, the compression improvements are so modest compared to other more
|
||||||
more modern approaches, that it's not worth the effort to implement.
|
modern approaches, that it's not worth the effort to implement.
|
||||||
|
|
||||||
41. I'm having a problem with the zip functions in zlib, can you help?
|
41. I'm having a problem with the zip functions in zlib, can you help?
|
||||||
|
|
||||||
@@ -345,7 +348,7 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
Giles Vollant, which is found in the contrib directory of zlib. It is not
|
Giles Vollant, which is found in the contrib directory of zlib. It is not
|
||||||
part of zlib. In fact none of the stuff in contrib is part of zlib. The
|
part of zlib. In fact none of the stuff in contrib is part of zlib. The
|
||||||
files in there are not supported by the zlib authors. You need to contact
|
files in there are not supported by the zlib authors. You need to contact
|
||||||
the authors of the contribution for help.
|
the authors of the respective contribution for help.
|
||||||
|
|
||||||
42. The match.asm code in contrib is under the GNU General Public License.
|
42. The match.asm code in contrib is under the GNU General Public License.
|
||||||
Since it's part of zlib, doesn't that mean that all of zlib falls under the
|
Since it's part of zlib, doesn't that mean that all of zlib falls under the
|
||||||
@@ -353,9 +356,13 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
No. The files in contrib are not part of zlib. They were contributed by
|
No. The files in contrib are not part of zlib. They were contributed by
|
||||||
other authors and are provided as a convenience to the user within the zlib
|
other authors and are provided as a convenience to the user within the zlib
|
||||||
distribution. Each of the items in contrib have their own license.
|
distribution. Each item in contrib has its own license.
|
||||||
|
|
||||||
43. Can you please sign these lengthy legal documents and fax them back to us
|
43. Is zlib subject to export controls? What is its ECCN?
|
||||||
|
|
||||||
|
zlib is not subject to export controls, and so is classified as EAR99.
|
||||||
|
|
||||||
|
44. Can you please sign these lengthy legal documents and fax them back to us
|
||||||
so that we can use your software in our product?
|
so that we can use your software in our product?
|
||||||
|
|
||||||
No. Go away. Shoo.
|
No. Go away. Shoo.
|
||||||
|
|||||||
22
INDEX
22
INDEX
@@ -2,33 +2,37 @@ CMakeLists.txt cmake build file
|
|||||||
ChangeLog history of changes
|
ChangeLog history of changes
|
||||||
FAQ Frequently Asked Questions about zlib
|
FAQ Frequently Asked Questions about zlib
|
||||||
INDEX this file
|
INDEX this file
|
||||||
|
Makefile dummy Makefile that tells you to ./configure
|
||||||
Makefile.in template for Unix Makefile
|
Makefile.in template for Unix Makefile
|
||||||
README guess what
|
README guess what
|
||||||
configure configure script for Unix
|
configure configure script for Unix
|
||||||
make_vms.com makefile for VMS
|
make_vms.com makefile for VMS
|
||||||
|
test/example.c zlib usages examples for build testing
|
||||||
|
test/minigzip.c minimal gzip-like functionality for build testing
|
||||||
|
test/infcover.c inf*.c code coverage for build coverage testing
|
||||||
treebuild.xml XML description of source file dependencies
|
treebuild.xml XML description of source file dependencies
|
||||||
|
zconf.h.cmakein zconf.h template for cmake
|
||||||
zconf.h.in zconf.h template for configure
|
zconf.h.in zconf.h template for configure
|
||||||
zlib.3 Man page for zlib
|
zlib.3 Man page for zlib
|
||||||
|
zlib.3.pdf Man page in PDF format
|
||||||
zlib.map Linux symbol information
|
zlib.map Linux symbol information
|
||||||
zlib.pc.in Template for pkg-config descriptor
|
zlib.pc.in Template for pkg-config descriptor
|
||||||
|
zlib.pc.cmakein zlib.pc template for cmake
|
||||||
zlib2ansi perl script to convert source files for C++ compilation
|
zlib2ansi perl script to convert source files for C++ compilation
|
||||||
|
|
||||||
amiga/ makefiles for Amiga SAS C
|
amiga/ makefiles for Amiga SAS C
|
||||||
as400/ makefiles for IBM AS/400
|
as400/ makefiles for AS/400
|
||||||
doc/ documentation for formats and algorithms
|
doc/ documentation for formats and algorithms
|
||||||
msdos/ makefiles for MSDOS
|
msdos/ makefiles for MSDOS
|
||||||
nintendods/ makefile for Nintendo DS
|
nintendods/ makefile for Nintendo DS
|
||||||
objs/ destination for object files
|
|
||||||
old/ makefiles for various architectures and zlib documentation
|
old/ makefiles for various architectures and zlib documentation
|
||||||
files that have not yet been updated for zlib 1.2.x
|
files that have not yet been updated for zlib 1.2.x
|
||||||
pics/ destination for position-independent-code object files
|
|
||||||
projects/ projects for various Integrated Development Environments
|
|
||||||
qnx/ makefiles for QNX
|
qnx/ makefiles for QNX
|
||||||
watcom/ makefiles for OpenWatcom
|
watcom/ makefiles for OpenWatcom
|
||||||
win32/ makefiles for Windows
|
win32/ makefiles for Windows
|
||||||
|
|
||||||
zlib public header files (required for library use):
|
zlib public header files (required for library use):
|
||||||
zconf.h (made by configure)
|
zconf.h
|
||||||
zlib.h
|
zlib.h
|
||||||
|
|
||||||
private source files used to build the zlib library:
|
private source files used to build the zlib library:
|
||||||
@@ -57,10 +61,8 @@ uncompr.c
|
|||||||
zutil.c
|
zutil.c
|
||||||
zutil.h
|
zutil.h
|
||||||
|
|
||||||
source files for sample programs:
|
source files for sample programs
|
||||||
example.c
|
See examples/README.examples
|
||||||
minigzip.c
|
|
||||||
See examples/README.examples for more
|
|
||||||
|
|
||||||
unsupported contribution by third parties
|
unsupported contributions by third parties
|
||||||
See contrib/README.contrib
|
See contrib/README.contrib
|
||||||
|
|||||||
5
Makefile
5
Makefile
@@ -1,2 +1,5 @@
|
|||||||
all:
|
all:
|
||||||
-@echo "Use ./configure first. Thank you."
|
-@echo "Please use ./configure first. Thank you."
|
||||||
|
|
||||||
|
distclean:
|
||||||
|
make -f Makefile.in distclean
|
||||||
|
|||||||
144
Makefile.in
144
Makefile.in
@@ -1,5 +1,5 @@
|
|||||||
# Makefile for zlib
|
# Makefile for zlib
|
||||||
# Copyright (C) 1995-2010 Jean-loup Gailly.
|
# Copyright (C) 1995-2013 Jean-loup Gailly, Mark Adler
|
||||||
# For conditions of distribution and use, see copyright notice in zlib.h
|
# For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
|
|
||||||
# To compile and test, type:
|
# To compile and test, type:
|
||||||
@@ -25,19 +25,22 @@ CFLAGS=-O
|
|||||||
# -Wstrict-prototypes -Wmissing-prototypes
|
# -Wstrict-prototypes -Wmissing-prototypes
|
||||||
|
|
||||||
SFLAGS=-O
|
SFLAGS=-O
|
||||||
|
LDFLAGS=
|
||||||
LDFLAGS=-L. libz.a
|
TEST_LDFLAGS=-L. libz.a
|
||||||
LDSHARED=$(CC)
|
LDSHARED=$(CC)
|
||||||
CPP=$(CC) -E
|
CPP=$(CC) -E
|
||||||
|
|
||||||
STATICLIB=libz.a
|
STATICLIB=libz.a
|
||||||
SHAREDLIB=libz.so
|
SHAREDLIB=libz.so
|
||||||
SHAREDLIBV=libz.so.1.2.3.9
|
SHAREDLIBV=libz.so.1.2.8
|
||||||
SHAREDLIBM=libz.so.1
|
SHAREDLIBM=libz.so.1
|
||||||
LIBS=$(STATICLIB) $(SHAREDLIB) $(SHAREDLIBV)
|
LIBS=$(STATICLIB) $(SHAREDLIBV)
|
||||||
|
|
||||||
AR=ar rc
|
AR=ar
|
||||||
|
ARFLAGS=rc
|
||||||
RANLIB=ranlib
|
RANLIB=ranlib
|
||||||
|
LDCONFIG=ldconfig
|
||||||
|
LDSHAREDLIBC=-lc
|
||||||
TAR=tar
|
TAR=tar
|
||||||
SHELL=/bin/sh
|
SHELL=/bin/sh
|
||||||
EXE=
|
EXE=
|
||||||
@@ -45,16 +48,19 @@ EXE=
|
|||||||
prefix = /usr/local
|
prefix = /usr/local
|
||||||
exec_prefix = ${prefix}
|
exec_prefix = ${prefix}
|
||||||
libdir = ${exec_prefix}/lib
|
libdir = ${exec_prefix}/lib
|
||||||
|
sharedlibdir = ${libdir}
|
||||||
includedir = ${prefix}/include
|
includedir = ${prefix}/include
|
||||||
mandir = ${prefix}/share/man
|
mandir = ${prefix}/share/man
|
||||||
man3dir = ${mandir}/man3
|
man3dir = ${mandir}/man3
|
||||||
pkgconfigdir = ${libdir}/pkgconfig
|
pkgconfigdir = ${libdir}/pkgconfig
|
||||||
|
|
||||||
OBJC = adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o \
|
OBJZ = adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o
|
||||||
gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o
|
OBJG = compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
|
||||||
|
OBJC = $(OBJZ) $(OBJG)
|
||||||
|
|
||||||
PIC_OBJC = adler32.lo compress.lo crc32.lo deflate.lo gzclose.lo gzlib.lo gzread.lo \
|
PIC_OBJZ = adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo
|
||||||
gzwrite.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo uncompr.lo zutil.lo
|
PIC_OBJG = compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo
|
||||||
|
PIC_OBJC = $(PIC_OBJZ) $(PIC_OBJG)
|
||||||
|
|
||||||
# to use the asm code: make OBJA=match.o, PIC_OBJA=match.lo
|
# to use the asm code: make OBJA=match.o, PIC_OBJA=match.lo
|
||||||
OBJA =
|
OBJA =
|
||||||
@@ -77,35 +83,49 @@ check: test
|
|||||||
test: all teststatic testshared
|
test: all teststatic testshared
|
||||||
|
|
||||||
teststatic: static
|
teststatic: static
|
||||||
@if echo hello world | ./minigzip | ./minigzip -d && ./example; then \
|
@TMPST=tmpst_$$; \
|
||||||
|
if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
|
||||||
echo ' *** zlib test OK ***'; \
|
echo ' *** zlib test OK ***'; \
|
||||||
else \
|
else \
|
||||||
echo ' *** zlib test FAILED ***'; false; \
|
echo ' *** zlib test FAILED ***'; false; \
|
||||||
fi
|
fi; \
|
||||||
-@rm -f foo.gz
|
rm -f $$TMPST
|
||||||
|
|
||||||
testshared: shared
|
testshared: shared
|
||||||
@LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
|
@LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
|
||||||
LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
|
LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
|
||||||
DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
|
DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
|
||||||
SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
|
SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
|
||||||
if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh; then \
|
TMPSH=tmpsh_$$; \
|
||||||
|
if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh $$TMPSH; then \
|
||||||
echo ' *** zlib shared test OK ***'; \
|
echo ' *** zlib shared test OK ***'; \
|
||||||
else \
|
else \
|
||||||
echo ' *** zlib shared test FAILED ***'; false; \
|
echo ' *** zlib shared test FAILED ***'; false; \
|
||||||
fi
|
fi; \
|
||||||
-@rm -f foo.gz
|
rm -f $$TMPSH
|
||||||
|
|
||||||
test64: all64
|
test64: all64
|
||||||
@if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64; then \
|
@TMP64=tmp64_$$; \
|
||||||
|
if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
|
||||||
echo ' *** zlib 64-bit test OK ***'; \
|
echo ' *** zlib 64-bit test OK ***'; \
|
||||||
else \
|
else \
|
||||||
echo ' *** zlib 64-bit test FAILED ***'; false; \
|
echo ' *** zlib 64-bit test FAILED ***'; false; \
|
||||||
fi
|
fi; \
|
||||||
-@rm -f foo.gz
|
rm -f $$TMP64
|
||||||
|
|
||||||
|
infcover.o: test/infcover.c zlib.h zconf.h
|
||||||
|
$(CC) $(CFLAGS) -I. -c -o $@ test/infcover.c
|
||||||
|
|
||||||
|
infcover: infcover.o libz.a
|
||||||
|
$(CC) $(CFLAGS) -o $@ infcover.o libz.a
|
||||||
|
|
||||||
|
cover: infcover
|
||||||
|
rm -f *.gcda
|
||||||
|
./infcover
|
||||||
|
gcov inf*.c
|
||||||
|
|
||||||
libz.a: $(OBJS)
|
libz.a: $(OBJS)
|
||||||
$(AR) $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
|
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
|
||||||
|
|
||||||
match.o: match.S
|
match.o: match.S
|
||||||
@@ -120,31 +140,37 @@ match.lo: match.S
|
|||||||
mv _match.o match.lo
|
mv _match.o match.lo
|
||||||
rm -f _match.s
|
rm -f _match.s
|
||||||
|
|
||||||
example64.o: example.c zlib.h zconf.h
|
example.o: test/example.c zlib.h zconf.h
|
||||||
$(CC) $(CFLAGS) -D_FILE_OFFSET_BITS=64 -c -o $@ example.c
|
$(CC) $(CFLAGS) -I. -c -o $@ test/example.c
|
||||||
|
|
||||||
minigzip64.o: minigzip.c zlib.h zconf.h
|
minigzip.o: test/minigzip.c zlib.h zconf.h
|
||||||
$(CC) $(CFLAGS) -D_FILE_OFFSET_BITS=64 -c -o $@ minigzip.c
|
$(CC) $(CFLAGS) -I. -c -o $@ test/minigzip.c
|
||||||
|
|
||||||
|
example64.o: test/example.c zlib.h zconf.h
|
||||||
|
$(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/example.c
|
||||||
|
|
||||||
|
minigzip64.o: test/minigzip.c zlib.h zconf.h
|
||||||
|
$(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/minigzip.c
|
||||||
|
|
||||||
.SUFFIXES: .lo
|
.SUFFIXES: .lo
|
||||||
|
|
||||||
.c.lo:
|
.c.lo:
|
||||||
-@if [ ! -d objs ]; then mkdir objs; fi
|
-@mkdir objs 2>/dev/null || test -d objs
|
||||||
$(CC) $(SFLAGS) -DPIC -c -o objs/$*.o $<
|
$(CC) $(SFLAGS) -DPIC -c -o objs/$*.o $<
|
||||||
-@mv objs/$*.o $@
|
-@mv objs/$*.o $@
|
||||||
|
|
||||||
$(SHAREDLIBV): $(PIC_OBJS)
|
placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a
|
||||||
$(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) -lc
|
$(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
|
||||||
rm -f $(SHAREDLIB) $(SHAREDLIBM)
|
rm -f $(SHAREDLIB) $(SHAREDLIBM)
|
||||||
ln -s $@ $(SHAREDLIB)
|
ln -s $@ $(SHAREDLIB)
|
||||||
ln -s $@ $(SHAREDLIBM)
|
ln -s $@ $(SHAREDLIBM)
|
||||||
-@rmdir objs
|
-@rmdir objs
|
||||||
|
|
||||||
example$(EXE): example.o $(STATICLIB)
|
example$(EXE): example.o $(STATICLIB)
|
||||||
$(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS)
|
$(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
|
||||||
|
|
||||||
minigzip$(EXE): minigzip.o $(STATICLIB)
|
minigzip$(EXE): minigzip.o $(STATICLIB)
|
||||||
$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
|
$(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
|
||||||
|
|
||||||
examplesh$(EXE): example.o $(SHAREDLIBV)
|
examplesh$(EXE): example.o $(SHAREDLIBV)
|
||||||
$(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
|
$(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
|
||||||
@@ -153,24 +179,29 @@ minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
|
|||||||
$(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
|
$(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
|
||||||
|
|
||||||
example64$(EXE): example64.o $(STATICLIB)
|
example64$(EXE): example64.o $(STATICLIB)
|
||||||
$(CC) $(CFLAGS) -o $@ example64.o $(LDFLAGS)
|
$(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
|
||||||
|
|
||||||
minigzip64$(EXE): minigzip64.o $(STATICLIB)
|
minigzip64$(EXE): minigzip64.o $(STATICLIB)
|
||||||
$(CC) $(CFLAGS) -o $@ minigzip64.o $(LDFLAGS)
|
$(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
|
||||||
|
|
||||||
install-libs: $(LIBS)
|
install-libs: $(LIBS)
|
||||||
-@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
|
-@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
|
||||||
-@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi
|
-@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi
|
||||||
|
-@if [ ! -d $(DESTDIR)$(sharedlibdir) ]; then mkdir -p $(DESTDIR)$(sharedlibdir); fi
|
||||||
-@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
|
-@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
|
||||||
-@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
|
-@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
|
||||||
cp $(LIBS) $(DESTDIR)$(libdir)
|
cp $(STATICLIB) $(DESTDIR)$(libdir)
|
||||||
cd $(DESTDIR)$(libdir); chmod 755 $(SHAREDLIB) ; chmod u=rw,go=r $(STATICLIB)
|
chmod 644 $(DESTDIR)$(libdir)/$(STATICLIB)
|
||||||
-@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1
|
-@($(RANLIB) $(DESTDIR)$(libdir)/libz.a || true) >/dev/null 2>&1
|
||||||
cd $(DESTDIR)$(libdir); if test -f $(SHAREDLIBV); then \
|
-@if test -n "$(SHAREDLIBV)"; then \
|
||||||
rm -f $(SHAREDLIB) $(SHAREDLIBM); \
|
cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \
|
||||||
ln -s $(SHAREDLIBV) $(SHAREDLIB); \
|
echo "cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)"; \
|
||||||
ln -s $(SHAREDLIBV) $(SHAREDLIBM); \
|
chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
|
||||||
(ldconfig || true) >/dev/null 2>&1; \
|
echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV)"; \
|
||||||
|
rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
|
||||||
|
ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); \
|
||||||
|
ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
|
||||||
|
($(LDCONFIG) || true) >/dev/null 2>&1; \
|
||||||
fi
|
fi
|
||||||
cp zlib.3 $(DESTDIR)$(man3dir)
|
cp zlib.3 $(DESTDIR)$(man3dir)
|
||||||
chmod 644 $(DESTDIR)$(man3dir)/zlib.3
|
chmod 644 $(DESTDIR)$(man3dir)/zlib.3
|
||||||
@@ -185,28 +216,47 @@ install: install-libs
|
|||||||
chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
|
chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
cd $(DESTDIR)$(includedir); rm -f zlib.h zconf.h
|
cd $(DESTDIR)$(includedir) && rm -f zlib.h zconf.h
|
||||||
cd $(DESTDIR)$(libdir); rm -f libz.a; \
|
cd $(DESTDIR)$(libdir) && rm -f libz.a; \
|
||||||
if test -f $(SHAREDLIBV); then \
|
if test -n "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \
|
||||||
rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
|
rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
|
||||||
fi
|
fi
|
||||||
cd $(DESTDIR)$(man3dir); rm -f zlib.3
|
cd $(DESTDIR)$(man3dir) && rm -f zlib.3
|
||||||
cd $(DESTDIR)$(pkgconfigdir); rm -f zlib.pc
|
cd $(DESTDIR)$(pkgconfigdir) && rm -f zlib.pc
|
||||||
|
|
||||||
|
docs: zlib.3.pdf
|
||||||
|
|
||||||
|
zlib.3.pdf: zlib.3
|
||||||
|
groff -mandoc -f H -T ps zlib.3 | ps2pdf - zlib.3.pdf
|
||||||
|
|
||||||
|
zconf.h.cmakein: zconf.h.in
|
||||||
|
-@ TEMPFILE=zconfh_$$; \
|
||||||
|
echo "/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" >> $$TEMPFILE &&\
|
||||||
|
sed -f $$TEMPFILE zconf.h.in > zconf.h.cmakein &&\
|
||||||
|
touch -r zconf.h.in zconf.h.cmakein &&\
|
||||||
|
rm $$TEMPFILE
|
||||||
|
|
||||||
|
zconf: zconf.h.in
|
||||||
|
cp -p zconf.h.in zconf.h
|
||||||
|
|
||||||
mostlyclean: clean
|
mostlyclean: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *.lo *~ \
|
rm -f *.o *.lo *~ \
|
||||||
example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
|
example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
|
||||||
example64$(EXE) minigzip64$(EXE) \
|
example64$(EXE) minigzip64$(EXE) \
|
||||||
|
infcover \
|
||||||
libz.* foo.gz so_locations \
|
libz.* foo.gz so_locations \
|
||||||
_match.s maketree contrib/infback9/*.o
|
_match.s maketree contrib/infback9/*.o
|
||||||
rm -rf objs
|
rm -rf objs
|
||||||
|
rm -f *.gcda *.gcno *.gcov
|
||||||
|
rm -f contrib/infback9/*.gcda contrib/infback9/*.gcno contrib/infback9/*.gcov
|
||||||
|
|
||||||
maintainer-clean: distclean
|
maintainer-clean: distclean
|
||||||
distclean: clean
|
distclean: clean zconf zconf.h.cmakein docs
|
||||||
rm -f Makefile zconf.h zlib.pc
|
rm -f Makefile zlib.pc configure.log
|
||||||
-@rm -f .DS_Store
|
-@rm -f .DS_Store
|
||||||
-@printf 'all:\n\t-@echo "Use ./configure first. Thank you."\n' > Makefile
|
-@printf 'all:\n\t-@echo "Please use ./configure first. Thank you."\n' > Makefile
|
||||||
|
-@printf '\ndistclean:\n\tmake -f Makefile.in distclean\n' >> Makefile
|
||||||
-@touch -r Makefile.in Makefile
|
-@touch -r Makefile.in Makefile
|
||||||
|
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
88
README
88
README
@@ -1,56 +1,52 @@
|
|||||||
ZLIB DATA COMPRESSION LIBRARY
|
ZLIB DATA COMPRESSION LIBRARY
|
||||||
|
|
||||||
zlib 1.2.3.9 is a general purpose data compression library. All the code is
|
zlib 1.2.8 is a general purpose data compression library. All the code is
|
||||||
thread safe. The data format used by the zlib library is described by RFCs
|
thread safe. The data format used by the zlib library is described by RFCs
|
||||||
(Request for Comments) 1950 to 1952 in the files
|
(Request for Comments) 1950 to 1952 in the files
|
||||||
http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
|
http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
|
||||||
and rfc1952.txt (gzip format). These documents are also available in other
|
rfc1952 (gzip format).
|
||||||
formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
|
|
||||||
|
|
||||||
All functions of the compression library are documented in the file zlib.h
|
All functions of the compression library are documented in the file zlib.h
|
||||||
(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example
|
(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example
|
||||||
of the library is given in the file example.c which also tests that the library
|
of the library is given in the file test/example.c which also tests that
|
||||||
is working correctly. Another example is given in the file minigzip.c. The
|
the library is working correctly. Another example is given in the file
|
||||||
compression library itself is composed of all source files except example.c and
|
test/minigzip.c. The compression library itself is composed of all source
|
||||||
minigzip.c.
|
files in the root directory.
|
||||||
|
|
||||||
To compile all files and run the test program, follow the instructions given at
|
To compile all files and run the test program, follow the instructions given at
|
||||||
the top of Makefile. In short "make test; make install" should work for most
|
the top of Makefile.in. In short "./configure; make test", and if that goes
|
||||||
machines. For Unix: "./configure; make test; make install". For MSDOS, use one
|
well, "make install" should work for most flavors of Unix. For Windows, use
|
||||||
of the special makefiles such as Makefile.msc. For VMS, use make_vms.com.
|
one of the special makefiles in win32/ or contrib/vstudio/ . For VMS, use
|
||||||
|
make_vms.com.
|
||||||
|
|
||||||
Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
|
Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
|
||||||
<info@winimage.com> for the Windows DLL version. The zlib home page is
|
<info@winimage.com> for the Windows DLL version. The zlib home page is
|
||||||
http://www.zlib.org or http://www.gzip.org/zlib/ Before reporting a problem,
|
http://zlib.net/ . Before reporting a problem, please check this site to
|
||||||
please check this site to verify that you have the latest version of zlib;
|
verify that you have the latest version of zlib; otherwise get the latest
|
||||||
otherwise get the latest version and check whether the problem still exists or
|
version and check whether the problem still exists or not.
|
||||||
not.
|
|
||||||
|
|
||||||
PLEASE read the zlib FAQ http://www.gzip.org/zlib/zlib_faq.html before asking
|
PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help.
|
||||||
for help.
|
|
||||||
|
|
||||||
Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
|
Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
|
||||||
issue of Dr. Dobb's Journal; a copy of the article is available in
|
issue of Dr. Dobb's Journal; a copy of the article is available at
|
||||||
http://dogma.net/markn/articles/zlibtool/zlibtool.htm
|
http://marknelson.us/1997/01/01/zlib-engine/ .
|
||||||
|
|
||||||
The changes made in version 1.2.3.9 are documented in the file ChangeLog.
|
The changes made in version 1.2.8 are documented in the file ChangeLog.
|
||||||
|
|
||||||
Unsupported third party contributions are provided in directory "contrib".
|
Unsupported third party contributions are provided in directory contrib/ .
|
||||||
|
|
||||||
A Java implementation of zlib is available in the Java Development Kit
|
zlib is available in Java using the java.util.zip package, documented at
|
||||||
http://java.sun.com/j2se/1.4.2/docs/api/java/util/zip/package-summary.html
|
http://java.sun.com/developer/technicalArticles/Programming/compression/ .
|
||||||
See the zlib home page http://www.zlib.org for details.
|
|
||||||
|
|
||||||
A Perl interface to zlib written by Paul Marquess <pmqs@cpan.org> is in the
|
A Perl interface to zlib written by Paul Marquess <pmqs@cpan.org> is available
|
||||||
CPAN (Comprehensive Perl Archive Network) sites
|
at CPAN (Comprehensive Perl Archive Network) sites, including
|
||||||
http://www.cpan.org/modules/by-module/Compress/
|
http://search.cpan.org/~pmqs/IO-Compress-Zlib/ .
|
||||||
|
|
||||||
A Python interface to zlib written by A.M. Kuchling <amk@amk.ca> is
|
A Python interface to zlib written by A.M. Kuchling <amk@amk.ca> is
|
||||||
available in Python 1.5 and later versions, see
|
available in Python 1.5 and later versions, see
|
||||||
http://www.python.org/doc/lib/module-zlib.html
|
http://docs.python.org/library/zlib.html .
|
||||||
|
|
||||||
A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com> is
|
zlib is built into tcl: http://wiki.tcl.tk/4610 .
|
||||||
availlable at http://www.oche.de/~akupries/soft/trf/trf_zip.html
|
|
||||||
|
|
||||||
An experimental package to read and write files in .zip format, written on top
|
An experimental package to read and write files in .zip format, written on top
|
||||||
of zlib by Gilles Vollant <info@winimage.com>, is available in the
|
of zlib by Gilles Vollant <info@winimage.com>, is available in the
|
||||||
@@ -74,25 +70,21 @@ Notes for some targets:
|
|||||||
- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
|
- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
|
||||||
other compilers. Use "make test" to check your compiler.
|
other compilers. Use "make test" to check your compiler.
|
||||||
|
|
||||||
- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers.
|
- gzdopen is not supported on RISCOS or BEOS.
|
||||||
|
|
||||||
- For PalmOs, see http://palmzlib.sourceforge.net/
|
- For PalmOs, see http://palmzlib.sourceforge.net/
|
||||||
|
|
||||||
- When building a shared, i.e. dynamic library on Mac OS X, the library must be
|
|
||||||
installed before testing (do "make install" before "make test"), since the
|
|
||||||
library location is specified in the library.
|
|
||||||
|
|
||||||
|
|
||||||
Acknowledgments:
|
Acknowledgments:
|
||||||
|
|
||||||
The deflate format used by zlib was defined by Phil Katz. The deflate
|
The deflate format used by zlib was defined by Phil Katz. The deflate and
|
||||||
and zlib specifications were written by L. Peter Deutsch. Thanks to all the
|
zlib specifications were written by L. Peter Deutsch. Thanks to all the
|
||||||
people who reported problems and suggested various improvements in zlib;
|
people who reported problems and suggested various improvements in zlib; they
|
||||||
they are too numerous to cite here.
|
are too numerous to cite here.
|
||||||
|
|
||||||
Copyright notice:
|
Copyright notice:
|
||||||
|
|
||||||
(C) 1995-2004 Jean-loup Gailly and Mark Adler
|
(C) 1995-2013 Jean-loup Gailly and Mark Adler
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -113,13 +105,11 @@ Copyright notice:
|
|||||||
Jean-loup Gailly Mark Adler
|
Jean-loup Gailly Mark Adler
|
||||||
jloup@gzip.org madler@alumni.caltech.edu
|
jloup@gzip.org madler@alumni.caltech.edu
|
||||||
|
|
||||||
If you use the zlib library in a product, we would appreciate *not*
|
If you use the zlib library in a product, we would appreciate *not* receiving
|
||||||
receiving lengthy legal documents to sign. The sources are provided
|
lengthy legal documents to sign. The sources are provided for free but without
|
||||||
for free but without warranty of any kind. The library has been
|
warranty of any kind. The library has been entirely written by Jean-loup
|
||||||
entirely written by Jean-loup Gailly and Mark Adler; it does not
|
Gailly and Mark Adler; it does not include third-party code.
|
||||||
include third-party code.
|
|
||||||
|
|
||||||
If you redistribute modified sources, we would appreciate that you include
|
If you redistribute modified sources, we would appreciate that you include in
|
||||||
in the file ChangeLog history information documenting your changes. Please
|
the file ChangeLog history information documenting your changes. Please read
|
||||||
read the FAQ for more information on the distribution of modified source
|
the FAQ for more information on the distribution of modified source versions.
|
||||||
versions.
|
|
||||||
|
|||||||
68
adler32.c
68
adler32.c
@@ -1,5 +1,5 @@
|
|||||||
/* adler32.c -- compute the Adler-32 checksum of a data stream
|
/* adler32.c -- compute the Adler-32 checksum of a data stream
|
||||||
* Copyright (C) 1995-2007 Mark Adler
|
* Copyright (C) 1995-2011 Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -9,9 +9,9 @@
|
|||||||
|
|
||||||
#define local static
|
#define local static
|
||||||
|
|
||||||
local uLong adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2);
|
local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
|
||||||
|
|
||||||
#define BASE 65521UL /* largest prime smaller than 65536 */
|
#define BASE 65521 /* largest prime smaller than 65536 */
|
||||||
#define NMAX 5552
|
#define NMAX 5552
|
||||||
/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
|
/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
|
||||||
|
|
||||||
@@ -21,39 +21,44 @@ local uLong adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2);
|
|||||||
#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
|
#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
|
||||||
#define DO16(buf) DO8(buf,0); DO8(buf,8);
|
#define DO16(buf) DO8(buf,0); DO8(buf,8);
|
||||||
|
|
||||||
/* use NO_DIVIDE if your processor does not do division in hardware */
|
/* use NO_DIVIDE if your processor does not do division in hardware --
|
||||||
|
try it both ways to see which is faster */
|
||||||
#ifdef NO_DIVIDE
|
#ifdef NO_DIVIDE
|
||||||
# define MOD(a) \
|
/* note that this assumes BASE is 65521, where 65536 % 65521 == 15
|
||||||
|
(thank you to John Reiser for pointing this out) */
|
||||||
|
# define CHOP(a) \
|
||||||
do { \
|
do { \
|
||||||
if (a >= (BASE << 16)) a -= (BASE << 16); \
|
unsigned long tmp = a >> 16; \
|
||||||
if (a >= (BASE << 15)) a -= (BASE << 15); \
|
a &= 0xffffUL; \
|
||||||
if (a >= (BASE << 14)) a -= (BASE << 14); \
|
a += (tmp << 4) - tmp; \
|
||||||
if (a >= (BASE << 13)) a -= (BASE << 13); \
|
} while (0)
|
||||||
if (a >= (BASE << 12)) a -= (BASE << 12); \
|
# define MOD28(a) \
|
||||||
if (a >= (BASE << 11)) a -= (BASE << 11); \
|
do { \
|
||||||
if (a >= (BASE << 10)) a -= (BASE << 10); \
|
CHOP(a); \
|
||||||
if (a >= (BASE << 9)) a -= (BASE << 9); \
|
|
||||||
if (a >= (BASE << 8)) a -= (BASE << 8); \
|
|
||||||
if (a >= (BASE << 7)) a -= (BASE << 7); \
|
|
||||||
if (a >= (BASE << 6)) a -= (BASE << 6); \
|
|
||||||
if (a >= (BASE << 5)) a -= (BASE << 5); \
|
|
||||||
if (a >= (BASE << 4)) a -= (BASE << 4); \
|
|
||||||
if (a >= (BASE << 3)) a -= (BASE << 3); \
|
|
||||||
if (a >= (BASE << 2)) a -= (BASE << 2); \
|
|
||||||
if (a >= (BASE << 1)) a -= (BASE << 1); \
|
|
||||||
if (a >= BASE) a -= BASE; \
|
if (a >= BASE) a -= BASE; \
|
||||||
} while (0)
|
} while (0)
|
||||||
# define MOD4(a) \
|
# define MOD(a) \
|
||||||
do { \
|
do { \
|
||||||
if (a >= (BASE << 4)) a -= (BASE << 4); \
|
CHOP(a); \
|
||||||
if (a >= (BASE << 3)) a -= (BASE << 3); \
|
MOD28(a); \
|
||||||
if (a >= (BASE << 2)) a -= (BASE << 2); \
|
} while (0)
|
||||||
if (a >= (BASE << 1)) a -= (BASE << 1); \
|
# define MOD63(a) \
|
||||||
|
do { /* this assumes a is not negative */ \
|
||||||
|
z_off64_t tmp = a >> 32; \
|
||||||
|
a &= 0xffffffffL; \
|
||||||
|
a += (tmp << 8) - (tmp << 5) + tmp; \
|
||||||
|
tmp = a >> 16; \
|
||||||
|
a &= 0xffffL; \
|
||||||
|
a += (tmp << 4) - tmp; \
|
||||||
|
tmp = a >> 16; \
|
||||||
|
a &= 0xffffL; \
|
||||||
|
a += (tmp << 4) - tmp; \
|
||||||
if (a >= BASE) a -= BASE; \
|
if (a >= BASE) a -= BASE; \
|
||||||
} while (0)
|
} while (0)
|
||||||
#else
|
#else
|
||||||
# define MOD(a) a %= BASE
|
# define MOD(a) a %= BASE
|
||||||
# define MOD4(a) a %= BASE
|
# define MOD28(a) a %= BASE
|
||||||
|
# define MOD63(a) a %= BASE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* ========================================================================= */
|
/* ========================================================================= */
|
||||||
@@ -92,7 +97,7 @@ uLong ZEXPORT adler32(adler, buf, len)
|
|||||||
}
|
}
|
||||||
if (adler >= BASE)
|
if (adler >= BASE)
|
||||||
adler -= BASE;
|
adler -= BASE;
|
||||||
MOD4(sum2); /* only added so many BASE's */
|
MOD28(sum2); /* only added so many BASE's */
|
||||||
return adler | (sum2 << 16);
|
return adler | (sum2 << 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,8 +142,13 @@ local uLong adler32_combine_(adler1, adler2, len2)
|
|||||||
unsigned long sum2;
|
unsigned long sum2;
|
||||||
unsigned rem;
|
unsigned rem;
|
||||||
|
|
||||||
|
/* for negative len, return invalid adler32 as a clue for debugging */
|
||||||
|
if (len2 < 0)
|
||||||
|
return 0xffffffffUL;
|
||||||
|
|
||||||
/* the derivation of this formula is left as an exercise for the reader */
|
/* the derivation of this formula is left as an exercise for the reader */
|
||||||
rem = (unsigned)(len2 % BASE);
|
MOD63(len2); /* assumes len2 >= 0 */
|
||||||
|
rem = (unsigned)len2;
|
||||||
sum1 = adler1 & 0xffff;
|
sum1 = adler1 & 0xffff;
|
||||||
sum2 = rem * sum1;
|
sum2 = rem * sum1;
|
||||||
MOD(sum2);
|
MOD(sum2);
|
||||||
|
|||||||
@@ -129,4 +129,87 @@ STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
|
|||||||
|
|
||||||
EXPORT SYMBOL("zlibCompileFlags")
|
EXPORT SYMBOL("zlibCompileFlags")
|
||||||
|
|
||||||
|
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
|
||||||
|
/* Version 1.2.5 additional entry points. */
|
||||||
|
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
/* *MODULE ADLER32 ZLIB 01/02/01 00:15:09 */
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
EXPORT SYMBOL("adler32_combine")
|
||||||
|
EXPORT SYMBOL("adler32_combine64")
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
/* *MODULE CRC32 ZLIB 01/02/01 00:15:09 */
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
EXPORT SYMBOL("crc32_combine")
|
||||||
|
EXPORT SYMBOL("crc32_combine64")
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
/* *MODULE GZLIB ZLIB 01/02/01 00:15:09 */
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
EXPORT SYMBOL("gzbuffer")
|
||||||
|
EXPORT SYMBOL("gzoffset")
|
||||||
|
EXPORT SYMBOL("gzoffset64")
|
||||||
|
EXPORT SYMBOL("gzopen64")
|
||||||
|
EXPORT SYMBOL("gzseek64")
|
||||||
|
EXPORT SYMBOL("gztell64")
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
/* *MODULE GZREAD ZLIB 01/02/01 00:15:09 */
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
EXPORT SYMBOL("gzclose_r")
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
/* *MODULE GZWRITE ZLIB 01/02/01 00:15:09 */
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
EXPORT SYMBOL("gzclose_w")
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
EXPORT SYMBOL("inflateMark")
|
||||||
|
EXPORT SYMBOL("inflatePrime")
|
||||||
|
EXPORT SYMBOL("inflateReset2")
|
||||||
|
EXPORT SYMBOL("inflateUndermine")
|
||||||
|
|
||||||
|
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
|
||||||
|
/* Version 1.2.6 additional entry points. */
|
||||||
|
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
/* *MODULE DEFLATE ZLIB 01/02/01 00:15:09 */
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
EXPORT SYMBOL("deflateResetKeep")
|
||||||
|
EXPORT SYMBOL("deflatePending")
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
/* *MODULE GZWRITE ZLIB 01/02/01 00:15:09 */
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
EXPORT SYMBOL("gzgetc_")
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
EXPORT SYMBOL("inflateResetKeep")
|
||||||
|
|
||||||
|
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
|
||||||
|
/* Version 1.2.8 additional entry points. */
|
||||||
|
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
EXPORT SYMBOL("inflateGetDictionary")
|
||||||
|
|
||||||
ENDPGMEXP
|
ENDPGMEXP
|
||||||
110
as400/compile.clp
Normal file
110
as400/compile.clp
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
/******************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ZLIB */
|
||||||
|
/* */
|
||||||
|
/* Compile sources into modules and link them into a service program. */
|
||||||
|
/* */
|
||||||
|
/******************************************************************************/
|
||||||
|
|
||||||
|
PGM
|
||||||
|
|
||||||
|
/* Configuration adjustable parameters. */
|
||||||
|
|
||||||
|
DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10) +
|
||||||
|
VALUE('ZLIB') /* Source library. */
|
||||||
|
DCL VAR(&SRCFILE) TYPE(*CHAR) LEN(10) +
|
||||||
|
VALUE('SOURCES') /* Source member file. */
|
||||||
|
DCL VAR(&CTLFILE) TYPE(*CHAR) LEN(10) +
|
||||||
|
VALUE('TOOLS') /* Control member file. */
|
||||||
|
|
||||||
|
DCL VAR(&MODLIB) TYPE(*CHAR) LEN(10) +
|
||||||
|
VALUE('ZLIB') /* Module library. */
|
||||||
|
|
||||||
|
DCL VAR(&SRVLIB) TYPE(*CHAR) LEN(10) +
|
||||||
|
VALUE('LGPL') /* Service program library. */
|
||||||
|
|
||||||
|
DCL VAR(&CFLAGS) TYPE(*CHAR) +
|
||||||
|
VALUE('OPTIMIZE(40)') /* Compile options. */
|
||||||
|
|
||||||
|
DCL VAR(&TGTRLS) TYPE(*CHAR) +
|
||||||
|
VALUE('V5R3M0') /* Target release. */
|
||||||
|
|
||||||
|
|
||||||
|
/* Working storage. */
|
||||||
|
|
||||||
|
DCL VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(300) /* Command length. */
|
||||||
|
DCL VAR(&CMD) TYPE(*CHAR) LEN(512)
|
||||||
|
DCL VAR(&FIXDCMD) TYPE(*CHAR) LEN(512)
|
||||||
|
|
||||||
|
|
||||||
|
/* Compile sources into modules. */
|
||||||
|
|
||||||
|
CHGVAR VAR(&FIXDCMD) VALUE('CRTCMOD' *BCAT &CFLAGS *BCAT +
|
||||||
|
'SYSIFCOPT(*IFS64IO)' *BCAT +
|
||||||
|
'DEFINE(''_LARGEFILE64_SOURCE''' *BCAT +
|
||||||
|
'''_LFS64_LARGEFILE=1'') TGTRLS(' *TCAT &TGTRLS *TCAT +
|
||||||
|
') SRCFILE(' *TCAT &SRCLIB *TCAT '/' *TCAT +
|
||||||
|
&SRCFILE *TCAT ') MODULE(' *TCAT &MODLIB *TCAT '/')
|
||||||
|
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'ADLER32)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'COMPRESS)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'CRC32)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'DEFLATE)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZCLOSE)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZLIB)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZREAD)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZWRITE)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFBACK)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFFAST)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFLATE)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFTREES)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'TREES)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'UNCOMPR)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'ZUTIL)')
|
||||||
|
CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
|
||||||
|
|
||||||
|
|
||||||
|
/* Link modules into a service program. */
|
||||||
|
|
||||||
|
CRTSRVPGM SRVPGM(&SRVLIB/ZLIB) +
|
||||||
|
MODULE(&MODLIB/ADLER32 &MODLIB/COMPRESS +
|
||||||
|
&MODLIB/CRC32 &MODLIB/DEFLATE +
|
||||||
|
&MODLIB/GZCLOSE &MODLIB/GZLIB +
|
||||||
|
&MODLIB/GZREAD &MODLIB/GZWRITE +
|
||||||
|
&MODLIB/INFBACK &MODLIB/INFFAST +
|
||||||
|
&MODLIB/INFLATE &MODLIB/INFTREES +
|
||||||
|
&MODLIB/TREES &MODLIB/UNCOMPR +
|
||||||
|
&MODLIB/ZUTIL) +
|
||||||
|
SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) +
|
||||||
|
TEXT('ZLIB 1.2.8') TGTRLS(&TGTRLS)
|
||||||
|
|
||||||
|
ENDPGM
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
ZLIB version 1.2.3 for AS400 installation instructions
|
ZLIB version 1.2.8 for AS400 installation instructions
|
||||||
|
|
||||||
I) From an AS400 *SAVF file:
|
I) From an AS400 *SAVF file:
|
||||||
|
|
||||||
@@ -8,7 +8,7 @@ On the AS400:
|
|||||||
|
|
||||||
_ Create the ZLIB AS400 library:
|
_ Create the ZLIB AS400 library:
|
||||||
|
|
||||||
CRTLIB LIB(ZLIB) TYPE(PROD) TEXT('ZLIB compression API library')
|
CRTLIB LIB(ZLIB) TYPE(*PROD) TEXT('ZLIB compression API library')
|
||||||
|
|
||||||
_ Create a work save file, for example:
|
_ Create a work save file, for example:
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ II) From the original source distribution:
|
|||||||
|
|
||||||
1) On the AS400, create the source library:
|
1) On the AS400, create the source library:
|
||||||
|
|
||||||
CRTLIB LIB(ZLIB) TYPE(PROD) TEXT('ZLIB compression API library')
|
CRTLIB LIB(ZLIB) TYPE(*PROD) TEXT('ZLIB compression API library')
|
||||||
|
|
||||||
2) Create the source files:
|
2) Create the source files:
|
||||||
|
|
||||||
@@ -70,7 +70,10 @@ II) From the original source distribution:
|
|||||||
compress.c COMPRESS C ZLIB - Compress a memory buffer
|
compress.c COMPRESS C ZLIB - Compress a memory buffer
|
||||||
crc32.c CRC32 C ZLIB - Compute the CRC-32 of a data stream
|
crc32.c CRC32 C ZLIB - Compute the CRC-32 of a data stream
|
||||||
deflate.c DEFLATE C ZLIB - Compress data using the deflation algorithm
|
deflate.c DEFLATE C ZLIB - Compress data using the deflation algorithm
|
||||||
gzio.c GZIO C ZLIB - IO on .gz files
|
gzclose.c GZCLOSE C ZLIB - Close .gz files
|
||||||
|
gzlib.c GZLIB C ZLIB - Miscellaneous .gz files IO support
|
||||||
|
gzread.c GZREAD C ZLIB - Read .gz files
|
||||||
|
gzwrite.c GZWRITE C ZLIB - Write .gz files
|
||||||
infback.c INFBACK C ZLIB - Inflate using a callback interface
|
infback.c INFBACK C ZLIB - Inflate using a callback interface
|
||||||
inffast.c INFFAST C ZLIB - Fast proc. literals & length/distance pairs
|
inffast.c INFFAST C ZLIB - Fast proc. literals & length/distance pairs
|
||||||
inflate.c INFLATE C ZLIB - Interface to inflate modules
|
inflate.c INFLATE C ZLIB - Interface to inflate modules
|
||||||
@@ -81,6 +84,7 @@ II) From the original source distribution:
|
|||||||
H Original ZLIB C and ILE/RPG include files
|
H Original ZLIB C and ILE/RPG include files
|
||||||
crc32.h CRC32 C ZLIB - CRC32 tables
|
crc32.h CRC32 C ZLIB - CRC32 tables
|
||||||
deflate.h DEFLATE C ZLIB - Internal compression state
|
deflate.h DEFLATE C ZLIB - Internal compression state
|
||||||
|
gzguts.h GZGUTS C ZLIB - Definitions for the gzclose module
|
||||||
inffast.h INFFAST C ZLIB - Header to use inffast.c
|
inffast.h INFFAST C ZLIB - Header to use inffast.c
|
||||||
inffixed.h INFFIXED C ZLIB - Table for decoding fixed codes
|
inffixed.h INFFIXED C ZLIB - Table for decoding fixed codes
|
||||||
inflate.h INFLATE C ZLIB - Internal inflate state definitions
|
inflate.h INFLATE C ZLIB - Internal inflate state definitions
|
||||||
@@ -108,4 +112,4 @@ Notes: For AS400 ILE RPG programmers, a /copy member defining the ZLIB
|
|||||||
implementation does not handle conversion from/to ASCII, so
|
implementation does not handle conversion from/to ASCII, so
|
||||||
text data code conversions must be done explicitely.
|
text data code conversions must be done explicitely.
|
||||||
|
|
||||||
Always open zipped files in binary mode.
|
Mainly for the reason above, always open zipped files in binary mode.
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
* ZLIB.INC - Interface to the general purpose compression library
|
* ZLIB.INC - Interface to the general purpose compression library
|
||||||
*
|
*
|
||||||
* ILE RPG400 version by Patrick Monnerat, DATASPHERE.
|
* ILE RPG400 version by Patrick Monnerat, DATASPHERE.
|
||||||
* Version 1.2.3.9
|
* Version 1.2.8
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* WARNING:
|
* WARNING:
|
||||||
@@ -22,16 +22,25 @@
|
|||||||
*
|
*
|
||||||
* Versioning information.
|
* Versioning information.
|
||||||
*
|
*
|
||||||
D ZLIB_VERSION C '1.2.3.9'
|
D ZLIB_VERSION C '1.2.8'
|
||||||
D ZLIB_VERNUM C X'1239'
|
D ZLIB_VERNUM C X'1280'
|
||||||
|
D ZLIB_VER_MAJOR C 1
|
||||||
|
D ZLIB_VER_MINOR C 2
|
||||||
|
D ZLIB_VER_REVISION...
|
||||||
|
D C 8
|
||||||
|
D ZLIB_VER_SUBREVISION...
|
||||||
|
D C 0
|
||||||
*
|
*
|
||||||
* Other equates.
|
* Other equates.
|
||||||
*
|
*
|
||||||
D Z_NO_FLUSH C 0
|
D Z_NO_FLUSH C 0
|
||||||
|
D Z_PARTIAL_FLUSH...
|
||||||
|
D C 1
|
||||||
D Z_SYNC_FLUSH C 2
|
D Z_SYNC_FLUSH C 2
|
||||||
D Z_FULL_FLUSH C 3
|
D Z_FULL_FLUSH C 3
|
||||||
D Z_FINISH C 4
|
D Z_FINISH C 4
|
||||||
D Z_BLOCK C 5
|
D Z_BLOCK C 5
|
||||||
|
D Z_TREES C 6
|
||||||
*
|
*
|
||||||
D Z_OK C 0
|
D Z_OK C 0
|
||||||
D Z_STREAM_END C 1
|
D Z_STREAM_END C 1
|
||||||
@@ -72,6 +81,7 @@
|
|||||||
D z_streamp S * Stream struct ptr
|
D z_streamp S * Stream struct ptr
|
||||||
D gzFile S * File pointer
|
D gzFile S * File pointer
|
||||||
D z_off_t S 10i 0 Stream offsets
|
D z_off_t S 10i 0 Stream offsets
|
||||||
|
D z_off64_t S 20i 0 Stream offsets
|
||||||
*
|
*
|
||||||
**************************************************************************
|
**************************************************************************
|
||||||
* Structures
|
* Structures
|
||||||
@@ -101,15 +111,15 @@
|
|||||||
**************************************************************************
|
**************************************************************************
|
||||||
*
|
*
|
||||||
D compress PR 10I 0 extproc('compress')
|
D compress PR 10I 0 extproc('compress')
|
||||||
D dest 32767 options(*varsize) Destination buffer
|
D dest 65535 options(*varsize) Destination buffer
|
||||||
D destLen 10U 0 Destination length
|
D destLen 10U 0 Destination length
|
||||||
D source 32767 const options(*varsize) Source buffer
|
D source 65535 const options(*varsize) Source buffer
|
||||||
D sourceLen 10u 0 value Source length
|
D sourceLen 10u 0 value Source length
|
||||||
*
|
*
|
||||||
D compress2 PR 10I 0 extproc('compress2')
|
D compress2 PR 10I 0 extproc('compress2')
|
||||||
D dest 32767 options(*varsize) Destination buffer
|
D dest 65535 options(*varsize) Destination buffer
|
||||||
D destLen 10U 0 Destination length
|
D destLen 10U 0 Destination length
|
||||||
D source 32767 const options(*varsize) Source buffer
|
D source 65535 const options(*varsize) Source buffer
|
||||||
D sourceLen 10U 0 value Source length
|
D sourceLen 10U 0 value Source length
|
||||||
D level 10I 0 value Compression level
|
D level 10I 0 value Compression level
|
||||||
*
|
*
|
||||||
@@ -117,34 +127,50 @@
|
|||||||
D sourceLen 10U 0 value
|
D sourceLen 10U 0 value
|
||||||
*
|
*
|
||||||
D uncompress PR 10I 0 extproc('uncompress')
|
D uncompress PR 10I 0 extproc('uncompress')
|
||||||
D dest 32767 options(*varsize) Destination buffer
|
D dest 65535 options(*varsize) Destination buffer
|
||||||
D destLen 10U 0 Destination length
|
D destLen 10U 0 Destination length
|
||||||
D source 32767 const options(*varsize) Source buffer
|
D source 65535 const options(*varsize) Source buffer
|
||||||
D sourceLen 10U 0 value Source length
|
D sourceLen 10U 0 value Source length
|
||||||
*
|
*
|
||||||
|
/if not defined(LARGE_FILES)
|
||||||
D gzopen PR extproc('gzopen')
|
D gzopen PR extproc('gzopen')
|
||||||
D like(gzFile)
|
D like(gzFile)
|
||||||
D path * value options(*string) File pathname
|
D path * value options(*string) File pathname
|
||||||
D mode * value options(*string) Open mode
|
D mode * value options(*string) Open mode
|
||||||
|
/else
|
||||||
|
D gzopen PR extproc('gzopen64')
|
||||||
|
D like(gzFile)
|
||||||
|
D path * value options(*string) File pathname
|
||||||
|
D mode * value options(*string) Open mode
|
||||||
|
*
|
||||||
|
D gzopen64 PR extproc('gzopen64')
|
||||||
|
D like(gzFile)
|
||||||
|
D path * value options(*string) File pathname
|
||||||
|
D mode * value options(*string) Open mode
|
||||||
|
/endif
|
||||||
*
|
*
|
||||||
D gzdopen PR extproc('gzdopen')
|
D gzdopen PR extproc('gzdopen')
|
||||||
D like(gzFile)
|
D like(gzFile)
|
||||||
D fd 10i 0 value File descriptor
|
D fd 10I 0 value File descriptor
|
||||||
D mode * value options(*string) Open mode
|
D mode * value options(*string) Open mode
|
||||||
*
|
*
|
||||||
|
D gzbuffer PR 10I 0 extproc('gzbuffer')
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
D size 10U 0 value
|
||||||
|
*
|
||||||
D gzsetparams PR 10I 0 extproc('gzsetparams')
|
D gzsetparams PR 10I 0 extproc('gzsetparams')
|
||||||
D file value like(gzFile) File pointer
|
D file value like(gzFile) File pointer
|
||||||
D level 10I 0 value
|
D level 10I 0 value
|
||||||
D strategy 10i 0 value
|
D strategy 10I 0 value
|
||||||
*
|
*
|
||||||
D gzread PR 10I 0 extproc('gzread')
|
D gzread PR 10I 0 extproc('gzread')
|
||||||
D file value like(gzFile) File pointer
|
D file value like(gzFile) File pointer
|
||||||
D buf 32767 options(*varsize) Buffer
|
D buf 65535 options(*varsize) Buffer
|
||||||
D len 10u 0 value Buffer length
|
D len 10u 0 value Buffer length
|
||||||
*
|
*
|
||||||
D gzwrite PR 10I 0 extproc('gzwrite')
|
D gzwrite PR 10I 0 extproc('gzwrite')
|
||||||
D file value like(gzFile) File pointer
|
D file value like(gzFile) File pointer
|
||||||
D buf 32767 const options(*varsize) Buffer
|
D buf 65535 const options(*varsize) Buffer
|
||||||
D len 10u 0 value Buffer length
|
D len 10u 0 value Buffer length
|
||||||
*
|
*
|
||||||
D gzputs PR 10I 0 extproc('gzputs')
|
D gzputs PR 10I 0 extproc('gzputs')
|
||||||
@@ -153,27 +179,85 @@
|
|||||||
*
|
*
|
||||||
D gzgets PR * extproc('gzgets')
|
D gzgets PR * extproc('gzgets')
|
||||||
D file value like(gzFile) File pointer
|
D file value like(gzFile) File pointer
|
||||||
D buf 32767 options(*varsize) Read buffer
|
D buf 65535 options(*varsize) Read buffer
|
||||||
D len 10i 0 value Buffer length
|
D len 10i 0 value Buffer length
|
||||||
*
|
*
|
||||||
|
D gzputc PR 10i 0 extproc('gzputc')
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
D c 10I 0 value Character to write
|
||||||
|
*
|
||||||
|
D gzgetc PR 10i 0 extproc('gzgetc')
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
*
|
||||||
|
D gzgetc_ PR 10i 0 extproc('gzgetc_')
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
*
|
||||||
|
D gzungetc PR 10i 0 extproc('gzungetc')
|
||||||
|
D c 10I 0 value Character to push
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
*
|
||||||
D gzflush PR 10i 0 extproc('gzflush')
|
D gzflush PR 10i 0 extproc('gzflush')
|
||||||
D file value like(gzFile) File pointer
|
D file value like(gzFile) File pointer
|
||||||
D flush 10I 0 value Type of flush
|
D flush 10I 0 value Type of flush
|
||||||
*
|
*
|
||||||
|
/if not defined(LARGE_FILES)
|
||||||
D gzseek PR extproc('gzseek')
|
D gzseek PR extproc('gzseek')
|
||||||
D like(z_off_t)
|
D like(z_off_t)
|
||||||
D file value like(gzFile) File pointer
|
D file value like(gzFile) File pointer
|
||||||
D offset value like(z_off_t) Offset
|
D offset value like(z_off_t) Offset
|
||||||
D whence 10i 0 value Origin
|
D whence 10i 0 value Origin
|
||||||
|
/else
|
||||||
|
D gzseek PR extproc('gzseek64')
|
||||||
|
D like(z_off_t)
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
D offset value like(z_off_t) Offset
|
||||||
|
D whence 10i 0 value Origin
|
||||||
|
*
|
||||||
|
D gzseek64 PR extproc('gzseek64')
|
||||||
|
D like(z_off64_t)
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
D offset value like(z_off64_t) Offset
|
||||||
|
D whence 10i 0 value Origin
|
||||||
|
/endif
|
||||||
*
|
*
|
||||||
D gzrewind PR 10i 0 extproc('gzrewind')
|
D gzrewind PR 10i 0 extproc('gzrewind')
|
||||||
D file value like(gzFile) File pointer
|
D file value like(gzFile) File pointer
|
||||||
*
|
*
|
||||||
|
/if not defined(LARGE_FILES)
|
||||||
D gztell PR extproc('gztell')
|
D gztell PR extproc('gztell')
|
||||||
D like(z_off_t)
|
D like(z_off_t)
|
||||||
D file value like(gzFile) File pointer
|
D file value like(gzFile) File pointer
|
||||||
|
/else
|
||||||
|
D gztell PR extproc('gztell64')
|
||||||
|
D like(z_off_t)
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
*
|
||||||
|
D gztell64 PR extproc('gztell64')
|
||||||
|
D like(z_off64_t)
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
/endif
|
||||||
|
*
|
||||||
|
/if not defined(LARGE_FILES)
|
||||||
|
D gzoffset PR extproc('gzoffset')
|
||||||
|
D like(z_off_t)
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
/else
|
||||||
|
D gzoffset PR extproc('gzoffset64')
|
||||||
|
D like(z_off_t)
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
*
|
||||||
|
D gzoffset64 PR extproc('gzoffset64')
|
||||||
|
D like(z_off64_t)
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
/endif
|
||||||
*
|
*
|
||||||
D gzeof PR 10i 0 extproc('gzeof')
|
D gzeof PR 10i 0 extproc('gzeof')
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
*
|
||||||
|
D gzclose_r PR 10i 0 extproc('gzclose_r')
|
||||||
|
D file value like(gzFile) File pointer
|
||||||
|
*
|
||||||
|
D gzclose_w PR 10i 0 extproc('gzclose_w')
|
||||||
D file value like(gzFile) File pointer
|
D file value like(gzFile) File pointer
|
||||||
*
|
*
|
||||||
D gzclose PR 10i 0 extproc('gzclose')
|
D gzclose PR 10i 0 extproc('gzclose')
|
||||||
@@ -234,7 +318,7 @@
|
|||||||
D deflateSetDictionary...
|
D deflateSetDictionary...
|
||||||
D PR 10I 0 extproc('deflateSetDictionary') Init. dictionary
|
D PR 10I 0 extproc('deflateSetDictionary') Init. dictionary
|
||||||
D strm like(z_stream) Compression stream
|
D strm like(z_stream) Compression stream
|
||||||
D dictionary 32767 const options(*varsize) Dictionary bytes
|
D dictionary 65535 const options(*varsize) Dictionary bytes
|
||||||
D dictLength 10U 0 value Dictionary length
|
D dictLength 10U 0 value Dictionary length
|
||||||
*
|
*
|
||||||
D deflateCopy PR 10I 0 extproc('deflateCopy') Compress strm 2 strm
|
D deflateCopy PR 10I 0 extproc('deflateCopy') Compress strm 2 strm
|
||||||
@@ -253,9 +337,14 @@
|
|||||||
D strm like(z_stream) Compression stream
|
D strm like(z_stream) Compression stream
|
||||||
D sourcelen 10U 0 value Compression level
|
D sourcelen 10U 0 value Compression level
|
||||||
*
|
*
|
||||||
|
D deflatePending PR 10I 0 extproc('deflatePending') Change level & strat
|
||||||
|
D strm like(z_stream) Compression stream
|
||||||
|
D pending 10U 0 Pending bytes
|
||||||
|
D bits 10I 0 Pending bits
|
||||||
|
*
|
||||||
D deflatePrime PR 10I 0 extproc('deflatePrime') Change level & strat
|
D deflatePrime PR 10I 0 extproc('deflatePrime') Change level & strat
|
||||||
D strm like(z_stream) Compression stream
|
D strm like(z_stream) Compression stream
|
||||||
D bits 10I 0 value Number of bits to insert
|
D bits 10I 0 value # of bits to insert
|
||||||
D value 10I 0 value Bits to insert
|
D value 10I 0 value Bits to insert
|
||||||
*
|
*
|
||||||
D inflateInit2 PR 10I 0 extproc('inflateInit2_') Init. expansion
|
D inflateInit2 PR 10I 0 extproc('inflateInit2_') Init. expansion
|
||||||
@@ -267,9 +356,15 @@
|
|||||||
D inflateSetDictionary...
|
D inflateSetDictionary...
|
||||||
D PR 10I 0 extproc('inflateSetDictionary') Init. dictionary
|
D PR 10I 0 extproc('inflateSetDictionary') Init. dictionary
|
||||||
D strm like(z_stream) Expansion stream
|
D strm like(z_stream) Expansion stream
|
||||||
D dictionary 32767 const options(*varsize) Dictionary bytes
|
D dictionary 65535 const options(*varsize) Dictionary bytes
|
||||||
D dictLength 10U 0 value Dictionary length
|
D dictLength 10U 0 value Dictionary length
|
||||||
*
|
*
|
||||||
|
D inflateGetDictionary...
|
||||||
|
D PR 10I 0 extproc('inflateGetDictionary') Get dictionary
|
||||||
|
D strm like(z_stream) Expansion stream
|
||||||
|
D dictionary 65535 options(*varsize) Dictionary bytes
|
||||||
|
D dictLength 10U 0 Dictionary length
|
||||||
|
*
|
||||||
D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion
|
D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion
|
||||||
D strm like(z_stream) Expansion stream
|
D strm like(z_stream) Expansion stream
|
||||||
*
|
*
|
||||||
@@ -278,13 +373,25 @@
|
|||||||
D source like(z_stream) Source stream
|
D source like(z_stream) Source stream
|
||||||
*
|
*
|
||||||
D inflateReset PR 10I 0 extproc('inflateReset') End and init. stream
|
D inflateReset PR 10I 0 extproc('inflateReset') End and init. stream
|
||||||
|
D strm like(z_stream) Expansion stream
|
||||||
|
*
|
||||||
|
D inflateReset2 PR 10I 0 extproc('inflateReset2') End and init. stream
|
||||||
|
D strm like(z_stream) Expansion stream
|
||||||
|
D windowBits 10I 0 value Log2(buffer size)
|
||||||
|
*
|
||||||
|
D inflatePrime PR 10I 0 extproc('inflatePrime') Insert bits
|
||||||
|
D strm like(z_stream) Expansion stream
|
||||||
|
D bits 10I 0 value Bit count
|
||||||
|
D value 10I 0 value Bits to insert
|
||||||
|
*
|
||||||
|
D inflateMark PR 10I 0 extproc('inflateMark') Get inflate info
|
||||||
D strm like(z_stream) Expansion stream
|
D strm like(z_stream) Expansion stream
|
||||||
*
|
*
|
||||||
D inflateBackInit...
|
D inflateBackInit...
|
||||||
D PR 10I 0 extproc('inflateBackInit_')
|
D PR 10I 0 extproc('inflateBackInit_')
|
||||||
D strm like(z_stream) Expansion stream
|
D strm like(z_stream) Expansion stream
|
||||||
D windowBits 10I 0 value Log2(buffer size)
|
D windowBits 10I 0 value Log2(buffer size)
|
||||||
D window 32767 options(*varsize) Buffer
|
D window 65535 options(*varsize) Buffer
|
||||||
D version * value options(*string) Version string
|
D version * value options(*string) Version string
|
||||||
D stream_size 10i 0 value Stream struct. size
|
D stream_size 10i 0 value Stream struct. size
|
||||||
*
|
*
|
||||||
@@ -307,12 +414,12 @@
|
|||||||
*
|
*
|
||||||
D adler32 PR 10U 0 extproc('adler32') New checksum
|
D adler32 PR 10U 0 extproc('adler32') New checksum
|
||||||
D adler 10U 0 value Old checksum
|
D adler 10U 0 value Old checksum
|
||||||
D buf 32767 const options(*varsize) Bytes to accumulate
|
D buf 65535 const options(*varsize) Bytes to accumulate
|
||||||
D len 10U 0 value Buffer length
|
D len 10U 0 value Buffer length
|
||||||
*
|
*
|
||||||
D crc32 PR 10U 0 extproc('crc32') New checksum
|
D crc32 PR 10U 0 extproc('crc32') New checksum
|
||||||
D crc 10U 0 value Old checksum
|
D crc 10U 0 value Old checksum
|
||||||
D buf 32767 const options(*varsize) Bytes to accumulate
|
D buf 65535 const options(*varsize) Bytes to accumulate
|
||||||
D len 10U 0 value Buffer length
|
D len 10U 0 value Buffer length
|
||||||
*
|
*
|
||||||
**************************************************************************
|
**************************************************************************
|
||||||
@@ -328,4 +435,17 @@
|
|||||||
*
|
*
|
||||||
D get_crc_table PR * extproc('get_crc_table') Ptr to ulongs
|
D get_crc_table PR * extproc('get_crc_table') Ptr to ulongs
|
||||||
*
|
*
|
||||||
|
D inflateUndermine...
|
||||||
|
D PR 10I 0 extproc('inflateUndermine')
|
||||||
|
D strm like(z_stream) Expansion stream
|
||||||
|
D arg 10I 0 value Error code
|
||||||
|
*
|
||||||
|
D inflateResetKeep...
|
||||||
|
D PR 10I 0 extproc('inflateResetKeep') End and init. stream
|
||||||
|
D strm like(z_stream) Expansion stream
|
||||||
|
*
|
||||||
|
D deflateResetKeep...
|
||||||
|
D PR 10I 0 extproc('deflateResetKeep') End and init. stream
|
||||||
|
D strm like(z_stream) Expansion stream
|
||||||
|
*
|
||||||
/endif
|
/endif
|
||||||
@@ -29,7 +29,7 @@ int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
|
|||||||
z_stream stream;
|
z_stream stream;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
stream.next_in = (Bytef*)source;
|
stream.next_in = (z_const Bytef *)source;
|
||||||
stream.avail_in = (uInt)sourceLen;
|
stream.avail_in = (uInt)sourceLen;
|
||||||
#ifdef MAXSEG_64K
|
#ifdef MAXSEG_64K
|
||||||
/* Check for source > 64K on 16-bit machine: */
|
/* Check for source > 64K on 16-bit machine: */
|
||||||
|
|||||||
558
configure
vendored
558
configure
vendored
@@ -13,87 +13,191 @@
|
|||||||
# If you have problems, try without defining CC and CFLAGS before reporting
|
# If you have problems, try without defining CC and CFLAGS before reporting
|
||||||
# an error.
|
# an error.
|
||||||
|
|
||||||
|
# start off configure.log
|
||||||
|
echo -------------------- >> configure.log
|
||||||
|
echo $0 $* >> configure.log
|
||||||
|
date >> configure.log
|
||||||
|
|
||||||
|
# set command prefix for cross-compilation
|
||||||
|
if [ -n "${CHOST}" ]; then
|
||||||
|
uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`"
|
||||||
|
CROSS_PREFIX="${CHOST}-"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# destination name for static library
|
||||||
STATICLIB=libz.a
|
STATICLIB=libz.a
|
||||||
LDFLAGS="${LDFLAGS} -L. ${STATICLIB}"
|
|
||||||
|
# extract zlib version numbers from zlib.h
|
||||||
VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
|
VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
|
||||||
VER3=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
|
VER3=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\\.[0-9]*\).*/\1/p' < zlib.h`
|
||||||
VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
|
VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
|
||||||
VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
|
VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
|
||||||
|
|
||||||
|
# establish commands for library building
|
||||||
|
if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
|
||||||
|
AR=${AR-"${CROSS_PREFIX}ar"}
|
||||||
|
test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
|
||||||
|
else
|
||||||
AR=${AR-"ar"}
|
AR=${AR-"ar"}
|
||||||
AR_RC="${AR} rc"
|
test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
|
||||||
|
fi
|
||||||
|
ARFLAGS=${ARFLAGS-"rc"}
|
||||||
|
if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then
|
||||||
|
RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"}
|
||||||
|
test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} | tee -a configure.log
|
||||||
|
else
|
||||||
RANLIB=${RANLIB-"ranlib"}
|
RANLIB=${RANLIB-"ranlib"}
|
||||||
|
fi
|
||||||
|
if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then
|
||||||
|
NM=${NM-"${CROSS_PREFIX}nm"}
|
||||||
|
test -n "${CROSS_PREFIX}" && echo Using ${NM} | tee -a configure.log
|
||||||
|
else
|
||||||
|
NM=${NM-"nm"}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# set defaults before processing command line options
|
||||||
|
LDCONFIG=${LDCONFIG-"ldconfig"}
|
||||||
|
LDSHAREDLIBC="${LDSHAREDLIBC--lc}"
|
||||||
|
ARCHS=
|
||||||
prefix=${prefix-/usr/local}
|
prefix=${prefix-/usr/local}
|
||||||
exec_prefix=${exec_prefix-'${prefix}'}
|
exec_prefix=${exec_prefix-'${prefix}'}
|
||||||
libdir=${libdir-'${exec_prefix}/lib'}
|
libdir=${libdir-'${exec_prefix}/lib'}
|
||||||
|
sharedlibdir=${sharedlibdir-'${libdir}'}
|
||||||
includedir=${includedir-'${prefix}/include'}
|
includedir=${includedir-'${prefix}/include'}
|
||||||
mandir=${mandir-'${prefix}/share/man'}
|
mandir=${mandir-'${prefix}/share/man'}
|
||||||
shared_ext='.so'
|
shared_ext='.so'
|
||||||
shared=1
|
shared=1
|
||||||
|
solo=0
|
||||||
|
cover=0
|
||||||
zprefix=0
|
zprefix=0
|
||||||
|
zconst=0
|
||||||
build64=0
|
build64=0
|
||||||
gcc=0
|
gcc=0
|
||||||
old_cc="$CC"
|
old_cc="$CC"
|
||||||
old_cflags="$CFLAGS"
|
old_cflags="$CFLAGS"
|
||||||
|
OBJC='$(OBJZ) $(OBJG)'
|
||||||
|
PIC_OBJC='$(PIC_OBJZ) $(PIC_OBJG)'
|
||||||
|
|
||||||
|
# leave this script, optionally in a bad way
|
||||||
|
leave()
|
||||||
|
{
|
||||||
|
if test "$*" != "0"; then
|
||||||
|
echo "** $0 aborting." | tee -a configure.log
|
||||||
|
fi
|
||||||
|
rm -f $test.[co] $test $test$shared_ext $test.gcno ./--version
|
||||||
|
echo -------------------- >> configure.log
|
||||||
|
echo >> configure.log
|
||||||
|
echo >> configure.log
|
||||||
|
exit $1
|
||||||
|
}
|
||||||
|
|
||||||
|
# process command line options
|
||||||
while test $# -ge 1
|
while test $# -ge 1
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-h* | --help)
|
-h* | --help)
|
||||||
echo 'usage:'
|
echo 'usage:' | tee -a configure.log
|
||||||
echo ' configure [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]'
|
echo ' configure [--const] [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]' | tee -a configure.log
|
||||||
echo ' [--static] [--64] [--libdir=LIBDIR] [--includedir=INCLUDEDIR]'
|
echo ' [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log
|
||||||
|
echo ' [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' | tee -a configure.log
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
-p*=* | --prefix=*) prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift ;;
|
-p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;;
|
||||||
-e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift ;;
|
-e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;;
|
||||||
-l*=* | --libdir=*) libdir=`echo $1 | sed 's/[-a-z_]*=//'`; shift ;;
|
-l*=* | --libdir=*) libdir=`echo $1 | sed 's/.*=//'`; shift ;;
|
||||||
-i*=* | --includedir=*) includedir=`echo $1 | sed 's/[-a-z_]*=//'`;shift ;;
|
--sharedlibdir=*) sharedlibdir=`echo $1 | sed 's/.*=//'`; shift ;;
|
||||||
-u*=* | --uname=*) uname=`echo $1 | sed 's/[-a-z_]*=//'`;shift ;;
|
-i*=* | --includedir=*) includedir=`echo $1 | sed 's/.*=//'`;shift ;;
|
||||||
|
-u*=* | --uname=*) uname=`echo $1 | sed 's/.*=//'`;shift ;;
|
||||||
-p* | --prefix) prefix="$2"; shift; shift ;;
|
-p* | --prefix) prefix="$2"; shift; shift ;;
|
||||||
-e* | --eprefix) exec_prefix="$2"; shift; shift ;;
|
-e* | --eprefix) exec_prefix="$2"; shift; shift ;;
|
||||||
-l* | --libdir) libdir="$2"; shift; shift ;;
|
-l* | --libdir) libdir="$2"; shift; shift ;;
|
||||||
-i* | --includedir) includedir="$2"; shift; shift ;;
|
-i* | --includedir) includedir="$2"; shift; shift ;;
|
||||||
-s* | --shared | --enable-shared) shared=1; shift ;;
|
-s* | --shared | --enable-shared) shared=1; shift ;;
|
||||||
-t | --static) shared=0; shift ;;
|
-t | --static) shared=0; shift ;;
|
||||||
|
--solo) solo=1; shift ;;
|
||||||
|
--cover) cover=1; shift ;;
|
||||||
-z* | --zprefix) zprefix=1; shift ;;
|
-z* | --zprefix) zprefix=1; shift ;;
|
||||||
-6* | --64) build64=1; shift ;;
|
-6* | --64) build64=1; shift ;;
|
||||||
--sysconfdir=*) echo "ignored option: --sysconfdir"; shift ;;
|
-a*=* | --archs=*) ARCHS=`echo $1 | sed 's/.*=//'`; shift ;;
|
||||||
--localstatedir=*) echo "ignored option: --localstatedir"; shift ;;
|
--sysconfdir=*) echo "ignored option: --sysconfdir" | tee -a configure.log; shift ;;
|
||||||
*) echo "unknown option: $1"; echo "$0 --help for help"; exit 1 ;;
|
--localstatedir=*) echo "ignored option: --localstatedir" | tee -a configure.log; shift ;;
|
||||||
|
-c* | --const) zconst=1; shift ;;
|
||||||
|
*)
|
||||||
|
echo "unknown option: $1" | tee -a configure.log
|
||||||
|
echo "$0 --help for help" | tee -a configure.log
|
||||||
|
leave 1;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# temporary file name
|
||||||
test=ztest$$
|
test=ztest$$
|
||||||
|
|
||||||
|
# put arguments in log, also put test file in log if used in arguments
|
||||||
|
show()
|
||||||
|
{
|
||||||
|
case "$*" in
|
||||||
|
*$test.c*)
|
||||||
|
echo === $test.c === >> configure.log
|
||||||
|
cat $test.c >> configure.log
|
||||||
|
echo === >> configure.log;;
|
||||||
|
esac
|
||||||
|
echo $* >> configure.log
|
||||||
|
}
|
||||||
|
|
||||||
|
# check for gcc vs. cc and set compile and link flags based on the system identified by uname
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
extern int getchar();
|
extern int getchar();
|
||||||
int hello() {return getchar();}
|
int hello() {return getchar();}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
test -z "$CC" && echo Checking for gcc...
|
test -z "$CC" && echo Checking for ${CROSS_PREFIX}gcc... | tee -a configure.log
|
||||||
cc=${CC-gcc}
|
cc=${CC-${CROSS_PREFIX}gcc}
|
||||||
cflags=${CFLAGS-"-O3"}
|
cflags=${CFLAGS-"-O3"}
|
||||||
# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
|
# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
|
||||||
case "$cc" in
|
case "$cc" in
|
||||||
*gcc*) gcc=1 ;;
|
*gcc*) gcc=1 ;;
|
||||||
|
*clang*) gcc=1 ;;
|
||||||
|
esac
|
||||||
|
case `$cc -v 2>&1` in
|
||||||
|
*gcc*) gcc=1 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
|
show $cc -c $test.c
|
||||||
|
if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then
|
||||||
|
echo ... using gcc >> configure.log
|
||||||
CC="$cc"
|
CC="$cc"
|
||||||
SFLAGS="${CFLAGS-"-O3"} -fPIC"
|
CFLAGS="${CFLAGS--O3} ${ARCHS}"
|
||||||
CFLAGS="${CFLAGS-"-O3"}"
|
SFLAGS="${CFLAGS--O3} -fPIC"
|
||||||
|
LDFLAGS="${LDFLAGS} ${ARCHS}"
|
||||||
if test $build64 -eq 1; then
|
if test $build64 -eq 1; then
|
||||||
CFLAGS="${CFLAGS} -m64"
|
CFLAGS="${CFLAGS} -m64"
|
||||||
SFLAGS="${SFLAGS} -m64"
|
SFLAGS="${SFLAGS} -m64"
|
||||||
fi
|
fi
|
||||||
if test "${ZLIBGCCWARN}" = "YES"; then
|
if test "${ZLIBGCCWARN}" = "YES"; then
|
||||||
|
if test "$zconst" -eq 1; then
|
||||||
|
CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual -pedantic -DZLIB_CONST"
|
||||||
|
else
|
||||||
CFLAGS="${CFLAGS} -Wall -Wextra -pedantic"
|
CFLAGS="${CFLAGS} -Wall -Wextra -pedantic"
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
if test -z "$uname"; then
|
if test -z "$uname"; then
|
||||||
uname=`(uname -s || echo unknown) 2>/dev/null`
|
uname=`(uname -s || echo unknown) 2>/dev/null`
|
||||||
fi
|
fi
|
||||||
case "$uname" in
|
case "$uname" in
|
||||||
Linux | linux | GNU | GNU/* | *BSD | DragonFly) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
|
Linux* | linux* | GNU | GNU/* | solaris*)
|
||||||
|
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
|
||||||
|
*BSD | *bsd* | DragonFly)
|
||||||
|
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"}
|
||||||
|
LDCONFIG="ldconfig -m" ;;
|
||||||
CYGWIN* | Cygwin* | cygwin* | OS/2*)
|
CYGWIN* | Cygwin* | cygwin* | OS/2*)
|
||||||
EXE='.exe' ;;
|
EXE='.exe' ;;
|
||||||
|
MINGW* | mingw*)
|
||||||
|
# temporary bypass
|
||||||
|
rm -f $test.[co] $test $test$shared_ext
|
||||||
|
echo "Please use win32/Makefile.gcc instead." | tee -a configure.log
|
||||||
|
leave 1
|
||||||
|
LDSHARED=${LDSHARED-"$cc -shared"}
|
||||||
|
LDSHAREDLIBC=""
|
||||||
|
EXE='.exe' ;;
|
||||||
QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
|
QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
|
||||||
# (alain.bonnefoy@icbt.com)
|
# (alain.bonnefoy@icbt.com)
|
||||||
LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"} ;;
|
LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"} ;;
|
||||||
@@ -107,16 +211,25 @@ if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
|
|||||||
shared_ext='.sl'
|
shared_ext='.sl'
|
||||||
SHAREDLIB='libz.sl' ;;
|
SHAREDLIB='libz.sl' ;;
|
||||||
esac ;;
|
esac ;;
|
||||||
Darwin*) shared_ext='.dylib'
|
Darwin* | darwin*)
|
||||||
|
shared_ext='.dylib'
|
||||||
SHAREDLIB=libz$shared_ext
|
SHAREDLIB=libz$shared_ext
|
||||||
SHAREDLIBV=libz.$VER$shared_ext
|
SHAREDLIBV=libz.$VER$shared_ext
|
||||||
SHAREDLIBM=libz.$VER1$shared_ext
|
SHAREDLIBM=libz.$VER1$shared_ext
|
||||||
LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"} ;;
|
LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"}
|
||||||
|
if libtool -V 2>&1 | grep Apple > /dev/null; then
|
||||||
|
AR="libtool"
|
||||||
|
else
|
||||||
|
AR="/usr/bin/libtool"
|
||||||
|
fi
|
||||||
|
ARFLAGS="-o" ;;
|
||||||
*) LDSHARED=${LDSHARED-"$cc -shared"} ;;
|
*) LDSHARED=${LDSHARED-"$cc -shared"} ;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
# find system name and corresponding cc options
|
# find system name and corresponding cc options
|
||||||
CC=${CC-cc}
|
CC=${CC-cc}
|
||||||
|
gcc=0
|
||||||
|
echo ... using $CC >> configure.log
|
||||||
if test -z "$uname"; then
|
if test -z "$uname"; then
|
||||||
uname=`(uname -sr || echo unknown) 2>/dev/null`
|
uname=`(uname -sr || echo unknown) 2>/dev/null`
|
||||||
fi
|
fi
|
||||||
@@ -147,19 +260,34 @@ else
|
|||||||
CFLAGS=${CFLAGS-"-4 -O"}
|
CFLAGS=${CFLAGS-"-4 -O"}
|
||||||
LDSHARED=${LDSHARED-"cc"}
|
LDSHARED=${LDSHARED-"cc"}
|
||||||
RANLIB=${RANLIB-"true"}
|
RANLIB=${RANLIB-"true"}
|
||||||
AR_RC="cc -A" ;;
|
AR="cc"
|
||||||
|
ARFLAGS="-A" ;;
|
||||||
SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "}
|
SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "}
|
||||||
CFLAGS=${CFLAGS-"-O3"}
|
CFLAGS=${CFLAGS-"-O3"}
|
||||||
LDSHARED=${LDSHARED-"cc -dy -KPIC -G"} ;;
|
LDSHARED=${LDSHARED-"cc -dy -KPIC -G"} ;;
|
||||||
SunOS\ 5*) LDSHARED=${LDSHARED-"cc -G"}
|
SunOS\ 5* | solaris*)
|
||||||
|
LDSHARED=${LDSHARED-"cc -G -h libz$shared_ext.$VER1"}
|
||||||
|
SFLAGS=${CFLAGS-"-fast -KPIC"}
|
||||||
|
CFLAGS=${CFLAGS-"-fast"}
|
||||||
|
if test $build64 -eq 1; then
|
||||||
|
# old versions of SunPRO/Workshop/Studio don't support -m64,
|
||||||
|
# but newer ones do. Check for it.
|
||||||
|
flag64=`$CC -flags | egrep -- '^-m64'`
|
||||||
|
if test x"$flag64" != x"" ; then
|
||||||
|
CFLAGS="${CFLAGS} -m64"
|
||||||
|
SFLAGS="${SFLAGS} -m64"
|
||||||
|
else
|
||||||
case `(uname -m || echo unknown) 2>/dev/null` in
|
case `(uname -m || echo unknown) 2>/dev/null` in
|
||||||
i86*)
|
i86*)
|
||||||
SFLAGS=${CFLAGS-"-xpentium -fast -KPIC -R."}
|
SFLAGS="$SFLAGS -xarch=amd64"
|
||||||
CFLAGS=${CFLAGS-"-xpentium -fast"} ;;
|
CFLAGS="$CFLAGS -xarch=amd64" ;;
|
||||||
*)
|
*)
|
||||||
SFLAGS=${CFLAGS-"-fast -xcg92 -KPIC -R."}
|
SFLAGS="$SFLAGS -xarch=v9"
|
||||||
CFLAGS=${CFLAGS-"-fast -xcg92"} ;;
|
CFLAGS="$CFLAGS -xarch=v9" ;;
|
||||||
esac ;;
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
|
SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
|
||||||
CFLAGS=${CFLAGS-"-O2"}
|
CFLAGS=${CFLAGS-"-O2"}
|
||||||
LDSHARED=${LDSHARED-"ld"} ;;
|
LDSHARED=${LDSHARED-"ld"} ;;
|
||||||
@@ -189,25 +317,79 @@ else
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# destination names for shared library if not defined above
|
||||||
SHAREDLIB=${SHAREDLIB-"libz$shared_ext"}
|
SHAREDLIB=${SHAREDLIB-"libz$shared_ext"}
|
||||||
SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
|
SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
|
||||||
SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"}
|
SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"}
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
|
|
||||||
|
# define functions for testing compiler and library characteristics and logging the results
|
||||||
|
|
||||||
|
cat > $test.c <<EOF
|
||||||
|
#error error
|
||||||
|
EOF
|
||||||
|
if ($CC -c $CFLAGS $test.c) 2>/dev/null; then
|
||||||
|
try()
|
||||||
|
{
|
||||||
|
show $*
|
||||||
|
test "`( $* ) 2>&1 | tee -a configure.log`" = ""
|
||||||
|
}
|
||||||
|
echo - using any output from compiler to indicate an error >> configure.log
|
||||||
|
else
|
||||||
|
try()
|
||||||
|
{
|
||||||
|
show $*
|
||||||
|
( $* ) >> configure.log 2>&1
|
||||||
|
ret=$?
|
||||||
|
if test $ret -ne 0; then
|
||||||
|
echo "(exit code "$ret")" >> configure.log
|
||||||
|
fi
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
tryboth()
|
||||||
|
{
|
||||||
|
show $*
|
||||||
|
got=`( $* ) 2>&1`
|
||||||
|
ret=$?
|
||||||
|
printf %s "$got" >> configure.log
|
||||||
|
if test $ret -ne 0; then
|
||||||
|
return $ret
|
||||||
|
fi
|
||||||
|
test "$got" = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
cat > $test.c << EOF
|
||||||
|
int foo() { return 0; }
|
||||||
|
EOF
|
||||||
|
echo "Checking for obsessive-compulsive compiler options..." >> configure.log
|
||||||
|
if try $CC -c $CFLAGS $test.c; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
echo "Compiler error reporting is too harsh for $0 (perhaps remove -Werror)." | tee -a configure.log
|
||||||
|
leave 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
|
|
||||||
|
# see if shared library build supported
|
||||||
|
cat > $test.c <<EOF
|
||||||
|
extern int getchar();
|
||||||
|
int hello() {return getchar();}
|
||||||
|
EOF
|
||||||
if test $shared -eq 1; then
|
if test $shared -eq 1; then
|
||||||
echo Checking for shared library support...
|
echo Checking for shared library support... | tee -a configure.log
|
||||||
# we must test in two steps (cc then ld), required at least on SunOS 4.x
|
# we must test in two steps (cc then ld), required at least on SunOS 4.x
|
||||||
if test "`($CC -w -c $SFLAGS $test.c) 2>&1`" = "" &&
|
if try $CC -w -c $SFLAGS $test.c &&
|
||||||
test "`($LDSHARED $SFLAGS -o $test$shared_ext $test.o) 2>&1`" = ""; then
|
try $LDSHARED $SFLAGS -o $test$shared_ext $test.o; then
|
||||||
echo Building shared library $SHAREDLIBV with $CC.
|
echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log
|
||||||
elif test -z "$old_cc" -a -z "$old_cflags"; then
|
elif test -z "$old_cc" -a -z "$old_cflags"; then
|
||||||
echo No shared library support.
|
echo No shared library support. | tee -a configure.log
|
||||||
shared=0;
|
shared=0;
|
||||||
else
|
else
|
||||||
echo Tested $CC -w -c $SFLAGS $test.c
|
echo 'No shared library support; try without defining CC and CFLAGS' | tee -a configure.log
|
||||||
$CC -w -c $SFLAGS $test.c
|
|
||||||
echo Tested $LDSHARED $SFLAGS -o $test$shared_ext $test.o
|
|
||||||
$LDSHARED $SFLAGS -o $test$shared_ext $test.o
|
|
||||||
echo 'No shared library support; try without defining CC and CFLAGS'
|
|
||||||
shared=0;
|
shared=0;
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -215,25 +397,46 @@ if test $shared -eq 0; then
|
|||||||
LDSHARED="$CC"
|
LDSHARED="$CC"
|
||||||
ALL="static"
|
ALL="static"
|
||||||
TEST="all teststatic"
|
TEST="all teststatic"
|
||||||
echo Building static library $STATICLIB version $VER with $CC.
|
SHAREDLIB=""
|
||||||
|
SHAREDLIBV=""
|
||||||
|
SHAREDLIBM=""
|
||||||
|
echo Building static library $STATICLIB version $VER with $CC. | tee -a configure.log
|
||||||
else
|
else
|
||||||
ALL="static shared"
|
ALL="static shared"
|
||||||
TEST="all teststatic testshared"
|
TEST="all teststatic testshared"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# check for underscores in external names for use by assembler code
|
||||||
|
CPP=${CPP-"$CC -E"}
|
||||||
|
case $CFLAGS in
|
||||||
|
*ASMV*)
|
||||||
|
echo >> configure.log
|
||||||
|
show "$NM $test.o | grep _hello"
|
||||||
|
if test "`$NM $test.o | grep _hello | tee -a configure.log`" = ""; then
|
||||||
|
CPP="$CPP -DNO_UNDERLINE"
|
||||||
|
echo Checking for underline in external names... No. | tee -a configure.log
|
||||||
|
else
|
||||||
|
echo Checking for underline in external names... Yes. | tee -a configure.log
|
||||||
|
fi ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
|
|
||||||
|
# check for large file support, and if none, check for fseeko()
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
off64_t dummy = 0;
|
off64_t dummy = 0;
|
||||||
EOF
|
EOF
|
||||||
if test "`($CC -c $CFLAGS -D_LARGEFILE64_SOURCE=1 $test.c) 2>&1`" = ""; then
|
if try $CC -c $CFLAGS -D_LARGEFILE64_SOURCE=1 $test.c; then
|
||||||
CFLAGS="${CFLAGS} -D_LARGEFILE64_SOURCE=1"
|
CFLAGS="${CFLAGS} -D_LARGEFILE64_SOURCE=1"
|
||||||
SFLAGS="${SFLAGS} -D_LARGEFILE64_SOURCE=1"
|
SFLAGS="${SFLAGS} -D_LARGEFILE64_SOURCE=1"
|
||||||
ALL="${ALL} all64"
|
ALL="${ALL} all64"
|
||||||
TEST="${TEST} test64"
|
TEST="${TEST} test64"
|
||||||
echo "Checking for off64_t... Yes."
|
echo "Checking for off64_t... Yes." | tee -a configure.log
|
||||||
echo "Checking for fseeko... Yes."
|
echo "Checking for fseeko... Yes." | tee -a configure.log
|
||||||
else
|
else
|
||||||
echo "Checking for off64_t... No."
|
echo "Checking for off64_t... No." | tee -a configure.log
|
||||||
|
echo >> configure.log
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
int main(void) {
|
int main(void) {
|
||||||
@@ -241,262 +444,335 @@ int main(void) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
if test "`($CC $CFLAGS -o $test $test.c) 2>&1`" = ""; then
|
if try $CC $CFLAGS -o $test $test.c; then
|
||||||
echo "Checking for fseeko... Yes."
|
echo "Checking for fseeko... Yes." | tee -a configure.log
|
||||||
else
|
else
|
||||||
CFLAGS="${CFLAGS} -DNO_FSEEKO"
|
CFLAGS="${CFLAGS} -DNO_FSEEKO"
|
||||||
SFLAGS="${SFLAGS} -DNO_FSEEKO"
|
SFLAGS="${SFLAGS} -DNO_FSEEKO"
|
||||||
echo "Checking for fseeko... No."
|
echo "Checking for fseeko... No." | tee -a configure.log
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sed "/^#cmakedefine/D" < zconf.h.in > zconf.h
|
echo >> configure.log
|
||||||
|
|
||||||
|
# check for strerror() for use by gz* functions
|
||||||
|
cat > $test.c <<EOF
|
||||||
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
|
int main() { return strlen(strerror(errno)); }
|
||||||
|
EOF
|
||||||
|
if try $CC $CFLAGS -o $test $test.c; then
|
||||||
|
echo "Checking for strerror... Yes." | tee -a configure.log
|
||||||
|
else
|
||||||
|
CFLAGS="${CFLAGS} -DNO_STRERROR"
|
||||||
|
SFLAGS="${SFLAGS} -DNO_STRERROR"
|
||||||
|
echo "Checking for strerror... No." | tee -a configure.log
|
||||||
|
fi
|
||||||
|
|
||||||
|
# copy clean zconf.h for subsequent edits
|
||||||
|
cp -p zconf.h.in zconf.h
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
|
|
||||||
|
# check for unistd.h and save result in zconf.h
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
int main() { return 0; }
|
int main() { return 0; }
|
||||||
EOF
|
EOF
|
||||||
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
if try $CC -c $CFLAGS $test.c; then
|
||||||
sed < zconf.h "/^#ifdef HAVE_UNISTD_H.* may be/s/def HAVE_UNISTD_H\(.*\) may be/ 1\1 was/" > zconf.temp.h
|
sed < zconf.h "/^#ifdef HAVE_UNISTD_H.* may be/s/def HAVE_UNISTD_H\(.*\) may be/ 1\1 was/" > zconf.temp.h
|
||||||
mv zconf.temp.h zconf.h
|
mv zconf.temp.h zconf.h
|
||||||
echo "Checking for unistd.h... Yes."
|
echo "Checking for unistd.h... Yes." | tee -a configure.log
|
||||||
else
|
else
|
||||||
echo "Checking for unistd.h... No."
|
echo "Checking for unistd.h... No." | tee -a configure.log
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
|
|
||||||
|
# check for stdarg.h and save result in zconf.h
|
||||||
|
cat > $test.c <<EOF
|
||||||
|
#include <stdarg.h>
|
||||||
|
int main() { return 0; }
|
||||||
|
EOF
|
||||||
|
if try $CC -c $CFLAGS $test.c; then
|
||||||
|
sed < zconf.h "/^#ifdef HAVE_STDARG_H.* may be/s/def HAVE_STDARG_H\(.*\) may be/ 1\1 was/" > zconf.temp.h
|
||||||
|
mv zconf.temp.h zconf.h
|
||||||
|
echo "Checking for stdarg.h... Yes." | tee -a configure.log
|
||||||
|
else
|
||||||
|
echo "Checking for stdarg.h... No." | tee -a configure.log
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if the z_ prefix was requested, save that in zconf.h
|
||||||
if test $zprefix -eq 1; then
|
if test $zprefix -eq 1; then
|
||||||
sed < zconf.h "/#ifdef Z_PREFIX.* may be/s/def Z_PREFIX\(.*\) may be/ 1\1 was/" > zconf.temp.h
|
sed < zconf.h "/#ifdef Z_PREFIX.* may be/s/def Z_PREFIX\(.*\) may be/ 1\1 was/" > zconf.temp.h
|
||||||
mv zconf.temp.h zconf.h
|
mv zconf.temp.h zconf.h
|
||||||
echo "Using z_ prefix on all symbols."
|
echo >> configure.log
|
||||||
|
echo "Using z_ prefix on all symbols." | tee -a configure.log
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# if --solo compilation was requested, save that in zconf.h and remove gz stuff from object lists
|
||||||
|
if test $solo -eq 1; then
|
||||||
|
sed '/#define ZCONF_H/a\
|
||||||
|
#define Z_SOLO
|
||||||
|
|
||||||
|
' < zconf.h > zconf.temp.h
|
||||||
|
mv zconf.temp.h zconf.h
|
||||||
|
OBJC='$(OBJZ)'
|
||||||
|
PIC_OBJC='$(PIC_OBJZ)'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if code coverage testing was requested, use older gcc if defined, e.g. "gcc-4.2" on Mac OS X
|
||||||
|
if test $cover -eq 1; then
|
||||||
|
CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage"
|
||||||
|
if test -n "$GCC_CLASSIC"; then
|
||||||
|
CC=$GCC_CLASSIC
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
|
|
||||||
|
# conduct a series of tests to resolve eight possible cases of using "vs" or "s" printf functions
|
||||||
|
# (using stdarg or not), with or without "n" (proving size of buffer), and with or without a
|
||||||
|
# return value. The most secure result is vsnprintf() with a return value. snprintf() with a
|
||||||
|
# return value is secure as well, but then gzprintf() will be limited to 20 arguments.
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include "zconf.h"
|
#include "zconf.h"
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
#ifndef STDC
|
#ifndef STDC
|
||||||
choke me
|
choke me
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
if try $CC -c $CFLAGS $test.c; then
|
||||||
|
echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()." | tee -a configure.log
|
||||||
|
|
||||||
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
echo >> configure.log
|
||||||
echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()."
|
|
||||||
|
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
int mytest(const char *fmt, ...)
|
int mytest(const char *fmt, ...)
|
||||||
{
|
{
|
||||||
char buf[20];
|
char buf[20];
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
vsnprintf(buf, sizeof(buf), fmt, ap);
|
vsnprintf(buf, sizeof(buf), fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
return (mytest("Hello%d\n", 1));
|
return (mytest("Hello%d\n", 1));
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
if try $CC $CFLAGS -o $test $test.c; then
|
||||||
|
echo "Checking for vsnprintf() in stdio.h... Yes." | tee -a configure.log
|
||||||
|
|
||||||
if test "`($CC $CFLAGS -o $test $test.c) 2>&1`" = ""; then
|
echo >> configure.log
|
||||||
echo "Checking for vsnprintf() in stdio.h... Yes."
|
|
||||||
|
|
||||||
cat >$test.c <<EOF
|
cat >$test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
int mytest(const char *fmt, ...)
|
int mytest(const char *fmt, ...)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
char buf[20];
|
char buf[20];
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
n = vsnprintf(buf, sizeof(buf), fmt, ap);
|
n = vsnprintf(buf, sizeof(buf), fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
return (mytest("Hello%d\n", 1));
|
return (mytest("Hello%d\n", 1));
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
if try $CC -c $CFLAGS $test.c; then
|
||||||
echo "Checking for return value of vsnprintf()... Yes."
|
echo "Checking for return value of vsnprintf()... Yes." | tee -a configure.log
|
||||||
else
|
else
|
||||||
CFLAGS="$CFLAGS -DHAS_vsnprintf_void"
|
CFLAGS="$CFLAGS -DHAS_vsnprintf_void"
|
||||||
SFLAGS="$SFLAGS -DHAS_vsnprintf_void"
|
SFLAGS="$SFLAGS -DHAS_vsnprintf_void"
|
||||||
echo "Checking for return value of vsnprintf()... No."
|
echo "Checking for return value of vsnprintf()... No." | tee -a configure.log
|
||||||
echo " WARNING: apparently vsnprintf() does not return a value. zlib"
|
echo " WARNING: apparently vsnprintf() does not return a value. zlib" | tee -a configure.log
|
||||||
echo " can build but will be open to possible string-format security"
|
echo " can build but will be open to possible string-format security" | tee -a configure.log
|
||||||
echo " vulnerabilities."
|
echo " vulnerabilities." | tee -a configure.log
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
CFLAGS="$CFLAGS -DNO_vsnprintf"
|
CFLAGS="$CFLAGS -DNO_vsnprintf"
|
||||||
SFLAGS="$SFLAGS -DNO_vsnprintf"
|
SFLAGS="$SFLAGS -DNO_vsnprintf"
|
||||||
echo "Checking for vsnprintf() in stdio.h... No."
|
echo "Checking for vsnprintf() in stdio.h... No." | tee -a configure.log
|
||||||
echo " WARNING: vsnprintf() not found, falling back to vsprintf(). zlib"
|
echo " WARNING: vsnprintf() not found, falling back to vsprintf(). zlib" | tee -a configure.log
|
||||||
echo " can build but will be open to possible buffer-overflow security"
|
echo " can build but will be open to possible buffer-overflow security" | tee -a configure.log
|
||||||
echo " vulnerabilities."
|
echo " vulnerabilities." | tee -a configure.log
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
cat >$test.c <<EOF
|
cat >$test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
int mytest(const char *fmt, ...)
|
int mytest(const char *fmt, ...)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
char buf[20];
|
char buf[20];
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
n = vsprintf(buf, fmt, ap);
|
n = vsprintf(buf, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
return (mytest("Hello%d\n", 1));
|
return (mytest("Hello%d\n", 1));
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
if try $CC -c $CFLAGS $test.c; then
|
||||||
echo "Checking for return value of vsprintf()... Yes."
|
echo "Checking for return value of vsprintf()... Yes." | tee -a configure.log
|
||||||
else
|
else
|
||||||
CFLAGS="$CFLAGS -DHAS_vsprintf_void"
|
CFLAGS="$CFLAGS -DHAS_vsprintf_void"
|
||||||
SFLAGS="$SFLAGS -DHAS_vsprintf_void"
|
SFLAGS="$SFLAGS -DHAS_vsprintf_void"
|
||||||
echo "Checking for return value of vsprintf()... No."
|
echo "Checking for return value of vsprintf()... No." | tee -a configure.log
|
||||||
echo " WARNING: apparently vsprintf() does not return a value. zlib"
|
echo " WARNING: apparently vsprintf() does not return a value. zlib" | tee -a configure.log
|
||||||
echo " can build but will be open to possible string-format security"
|
echo " can build but will be open to possible string-format security" | tee -a configure.log
|
||||||
echo " vulnerabilities."
|
echo " vulnerabilities." | tee -a configure.log
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()."
|
echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()." | tee -a configure.log
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
cat >$test.c <<EOF
|
cat >$test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
int mytest()
|
int mytest()
|
||||||
{
|
{
|
||||||
char buf[20];
|
char buf[20];
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%s", "foo");
|
snprintf(buf, sizeof(buf), "%s", "foo");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
return (mytest());
|
return (mytest());
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if test "`($CC $CFLAGS -o $test $test.c) 2>&1`" = ""; then
|
if try $CC $CFLAGS -o $test $test.c; then
|
||||||
echo "Checking for snprintf() in stdio.h... Yes."
|
echo "Checking for snprintf() in stdio.h... Yes." | tee -a configure.log
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
cat >$test.c <<EOF
|
cat >$test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
int mytest()
|
int mytest()
|
||||||
{
|
{
|
||||||
char buf[20];
|
char buf[20];
|
||||||
|
|
||||||
return snprintf(buf, sizeof(buf), "%s", "foo");
|
return snprintf(buf, sizeof(buf), "%s", "foo");
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
return (mytest());
|
return (mytest());
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
if try $CC -c $CFLAGS $test.c; then
|
||||||
echo "Checking for return value of snprintf()... Yes."
|
echo "Checking for return value of snprintf()... Yes." | tee -a configure.log
|
||||||
else
|
else
|
||||||
CFLAGS="$CFLAGS -DHAS_snprintf_void"
|
CFLAGS="$CFLAGS -DHAS_snprintf_void"
|
||||||
SFLAGS="$SFLAGS -DHAS_snprintf_void"
|
SFLAGS="$SFLAGS -DHAS_snprintf_void"
|
||||||
echo "Checking for return value of snprintf()... No."
|
echo "Checking for return value of snprintf()... No." | tee -a configure.log
|
||||||
echo " WARNING: apparently snprintf() does not return a value. zlib"
|
echo " WARNING: apparently snprintf() does not return a value. zlib" | tee -a configure.log
|
||||||
echo " can build but will be open to possible string-format security"
|
echo " can build but will be open to possible string-format security" | tee -a configure.log
|
||||||
echo " vulnerabilities."
|
echo " vulnerabilities." | tee -a configure.log
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
CFLAGS="$CFLAGS -DNO_snprintf"
|
CFLAGS="$CFLAGS -DNO_snprintf"
|
||||||
SFLAGS="$SFLAGS -DNO_snprintf"
|
SFLAGS="$SFLAGS -DNO_snprintf"
|
||||||
echo "Checking for snprintf() in stdio.h... No."
|
echo "Checking for snprintf() in stdio.h... No." | tee -a configure.log
|
||||||
echo " WARNING: snprintf() not found, falling back to sprintf(). zlib"
|
echo " WARNING: snprintf() not found, falling back to sprintf(). zlib" | tee -a configure.log
|
||||||
echo " can build but will be open to possible buffer-overflow security"
|
echo " can build but will be open to possible buffer-overflow security" | tee -a configure.log
|
||||||
echo " vulnerabilities."
|
echo " vulnerabilities." | tee -a configure.log
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
cat >$test.c <<EOF
|
cat >$test.c <<EOF
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
int mytest()
|
int mytest()
|
||||||
{
|
{
|
||||||
char buf[20];
|
char buf[20];
|
||||||
|
|
||||||
return sprintf(buf, "%s", "foo");
|
return sprintf(buf, "%s", "foo");
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
return (mytest());
|
return (mytest());
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
if try $CC -c $CFLAGS $test.c; then
|
||||||
echo "Checking for return value of sprintf()... Yes."
|
echo "Checking for return value of sprintf()... Yes." | tee -a configure.log
|
||||||
else
|
else
|
||||||
CFLAGS="$CFLAGS -DHAS_sprintf_void"
|
CFLAGS="$CFLAGS -DHAS_sprintf_void"
|
||||||
SFLAGS="$SFLAGS -DHAS_sprintf_void"
|
SFLAGS="$SFLAGS -DHAS_sprintf_void"
|
||||||
echo "Checking for return value of sprintf()... No."
|
echo "Checking for return value of sprintf()... No." | tee -a configure.log
|
||||||
echo " WARNING: apparently sprintf() does not return a value. zlib"
|
echo " WARNING: apparently sprintf() does not return a value. zlib" | tee -a configure.log
|
||||||
echo " can build but will be open to possible string-format security"
|
echo " can build but will be open to possible string-format security" | tee -a configure.log
|
||||||
echo " vulnerabilities."
|
echo " vulnerabilities." | tee -a configure.log
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# see if we can hide zlib internal symbols that are linked between separate source files
|
||||||
|
if test "$gcc" -eq 1; then
|
||||||
|
echo >> configure.log
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
#include <errno.h>
|
#define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
|
||||||
int main() { return 0; }
|
int ZLIB_INTERNAL foo;
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
EOF
|
EOF
|
||||||
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
|
if tryboth $CC -c $CFLAGS $test.c; then
|
||||||
echo "Checking for errno.h... Yes."
|
CFLAGS="$CFLAGS -DHAVE_HIDDEN"
|
||||||
|
SFLAGS="$SFLAGS -DHAVE_HIDDEN"
|
||||||
|
echo "Checking for attribute(visibility) support... Yes." | tee -a configure.log
|
||||||
else
|
else
|
||||||
echo "Checking for errno.h... No."
|
echo "Checking for attribute(visibility) support... No." | tee -a configure.log
|
||||||
CFLAGS="$CFLAGS -DNO_ERRNO_H"
|
fi
|
||||||
SFLAGS="$SFLAGS -DNO_ERRNO_H"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CPP=${CPP-"$CC -E"}
|
# show the results in the log
|
||||||
case $CFLAGS in
|
echo >> configure.log
|
||||||
*ASMV*)
|
echo ALL = $ALL >> configure.log
|
||||||
if test "`nm $test.o | grep _hello`" = ""; then
|
echo AR = $AR >> configure.log
|
||||||
CPP="$CPP -DNO_UNDERLINE"
|
echo ARFLAGS = $ARFLAGS >> configure.log
|
||||||
echo Checking for underline in external names... No.
|
echo CC = $CC >> configure.log
|
||||||
else
|
echo CFLAGS = $CFLAGS >> configure.log
|
||||||
echo Checking for underline in external names... Yes.
|
echo CPP = $CPP >> configure.log
|
||||||
fi ;;
|
echo EXE = $EXE >> configure.log
|
||||||
esac
|
echo LDCONFIG = $LDCONFIG >> configure.log
|
||||||
|
echo LDFLAGS = $LDFLAGS >> configure.log
|
||||||
|
echo LDSHARED = $LDSHARED >> configure.log
|
||||||
|
echo LDSHAREDLIBC = $LDSHAREDLIBC >> configure.log
|
||||||
|
echo OBJC = $OBJC >> configure.log
|
||||||
|
echo PIC_OBJC = $PIC_OBJC >> configure.log
|
||||||
|
echo RANLIB = $RANLIB >> configure.log
|
||||||
|
echo SFLAGS = $SFLAGS >> configure.log
|
||||||
|
echo SHAREDLIB = $SHAREDLIB >> configure.log
|
||||||
|
echo SHAREDLIBM = $SHAREDLIBM >> configure.log
|
||||||
|
echo SHAREDLIBV = $SHAREDLIBV >> configure.log
|
||||||
|
echo STATICLIB = $STATICLIB >> configure.log
|
||||||
|
echo TEST = $TEST >> configure.log
|
||||||
|
echo VER = $VER >> configure.log
|
||||||
|
echo Z_U4 = $Z_U4 >> configure.log
|
||||||
|
echo exec_prefix = $exec_prefix >> configure.log
|
||||||
|
echo includedir = $includedir >> configure.log
|
||||||
|
echo libdir = $libdir >> configure.log
|
||||||
|
echo mandir = $mandir >> configure.log
|
||||||
|
echo prefix = $prefix >> configure.log
|
||||||
|
echo sharedlibdir = $sharedlibdir >> configure.log
|
||||||
|
echo uname = $uname >> configure.log
|
||||||
|
|
||||||
rm -f $test.[co] $test $test$shared_ext
|
# udpate Makefile with the configure results
|
||||||
|
|
||||||
# udpate Makefile
|
|
||||||
sed < Makefile.in "
|
sed < Makefile.in "
|
||||||
/^CC *=/s#=.*#=$CC#
|
/^CC *=/s#=.*#=$CC#
|
||||||
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
||||||
@@ -508,18 +784,25 @@ sed < Makefile.in "
|
|||||||
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
|
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
|
||||||
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
|
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
|
||||||
/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
|
/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
|
||||||
/^AR *=/s#=.*#=$AR_RC#
|
/^AR *=/s#=.*#=$AR#
|
||||||
|
/^ARFLAGS *=/s#=.*#=$ARFLAGS#
|
||||||
/^RANLIB *=/s#=.*#=$RANLIB#
|
/^RANLIB *=/s#=.*#=$RANLIB#
|
||||||
|
/^LDCONFIG *=/s#=.*#=$LDCONFIG#
|
||||||
|
/^LDSHAREDLIBC *=/s#=.*#=$LDSHAREDLIBC#
|
||||||
/^EXE *=/s#=.*#=$EXE#
|
/^EXE *=/s#=.*#=$EXE#
|
||||||
/^prefix *=/s#=.*#=$prefix#
|
/^prefix *=/s#=.*#=$prefix#
|
||||||
/^exec_prefix *=/s#=.*#=$exec_prefix#
|
/^exec_prefix *=/s#=.*#=$exec_prefix#
|
||||||
/^libdir *=/s#=.*#=$libdir#
|
/^libdir *=/s#=.*#=$libdir#
|
||||||
|
/^sharedlibdir *=/s#=.*#=$sharedlibdir#
|
||||||
/^includedir *=/s#=.*#=$includedir#
|
/^includedir *=/s#=.*#=$includedir#
|
||||||
/^mandir *=/s#=.*#=$mandir#
|
/^mandir *=/s#=.*#=$mandir#
|
||||||
|
/^OBJC *=/s#=.*#= $OBJC#
|
||||||
|
/^PIC_OBJC *=/s#=.*#= $PIC_OBJC#
|
||||||
/^all: */s#:.*#: $ALL#
|
/^all: */s#:.*#: $ALL#
|
||||||
/^test: */s#:.*#: $TEST#
|
/^test: */s#:.*#: $TEST#
|
||||||
" > Makefile
|
" > Makefile
|
||||||
|
|
||||||
|
# create zlib.pc with the configure results
|
||||||
sed < zlib.pc.in "
|
sed < zlib.pc.in "
|
||||||
/^CC *=/s#=.*#=$CC#
|
/^CC *=/s#=.*#=$CC#
|
||||||
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
||||||
@@ -529,15 +812,20 @@ sed < zlib.pc.in "
|
|||||||
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
|
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
|
||||||
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
|
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
|
||||||
/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
|
/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
|
||||||
/^AR *=/s#=.*#=$AR_RC#
|
/^AR *=/s#=.*#=$AR#
|
||||||
|
/^ARFLAGS *=/s#=.*#=$ARFLAGS#
|
||||||
/^RANLIB *=/s#=.*#=$RANLIB#
|
/^RANLIB *=/s#=.*#=$RANLIB#
|
||||||
/^EXE *=/s#=.*#=$EXE#
|
/^EXE *=/s#=.*#=$EXE#
|
||||||
/^prefix *=/s#=.*#=$prefix#
|
/^prefix *=/s#=.*#=$prefix#
|
||||||
/^exec_prefix *=/s#=.*#=$exec_prefix#
|
/^exec_prefix *=/s#=.*#=$exec_prefix#
|
||||||
/^libdir *=/s#=.*#=$libdir#
|
/^libdir *=/s#=.*#=$libdir#
|
||||||
|
/^sharedlibdir *=/s#=.*#=$sharedlibdir#
|
||||||
/^includedir *=/s#=.*#=$includedir#
|
/^includedir *=/s#=.*#=$includedir#
|
||||||
/^mandir *=/s#=.*#=$mandir#
|
/^mandir *=/s#=.*#=$mandir#
|
||||||
/^LDFLAGS *=/s#=.*#=$LDFLAGS#
|
/^LDFLAGS *=/s#=.*#=$LDFLAGS#
|
||||||
" | sed -e "
|
" | sed -e "
|
||||||
s/\@VERSION\@/$VER/g;
|
s/\@VERSION\@/$VER/g;
|
||||||
" > zlib.pc
|
" > zlib.pc
|
||||||
|
|
||||||
|
# done
|
||||||
|
leave 0
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ amd64/ by Mikhail Teterin <mi@ALDAN.algebra.com>
|
|||||||
asm code for AMD64
|
asm code for AMD64
|
||||||
See patch at http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/96393
|
See patch at http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/96393
|
||||||
|
|
||||||
asm586/
|
|
||||||
asm686/ by Brian Raiter <breadbox@muppetlabs.com>
|
asm686/ by Brian Raiter <breadbox@muppetlabs.com>
|
||||||
asm code for Pentium and PPro/PII, using the AT&T (GNU as) syntax
|
asm code for Pentium and PPro/PII, using the AT&T (GNU as) syntax
|
||||||
See http://www.muppetlabs.com/~breadbox/software/assembly.html
|
See http://www.muppetlabs.com/~breadbox/software/assembly.html
|
||||||
@@ -26,6 +25,10 @@ delphi/ by Cosmin Truta <cosmint@cs.ubbcluj.ro>
|
|||||||
dotzlib/ by Henrik Ravn <henrik@ravn.com>
|
dotzlib/ by Henrik Ravn <henrik@ravn.com>
|
||||||
Support for Microsoft .Net and Visual C++ .Net
|
Support for Microsoft .Net and Visual C++ .Net
|
||||||
|
|
||||||
|
gcc_gvmat64/by Gilles Vollant <info@winimage.com>
|
||||||
|
GCC Version of x86 64-bit (AMD64 and Intel EM64t) code for x64
|
||||||
|
assembler to replace longest_match() and inflate_fast()
|
||||||
|
|
||||||
infback9/ by Mark Adler <madler@alumni.caltech.edu>
|
infback9/ by Mark Adler <madler@alumni.caltech.edu>
|
||||||
Unsupported diffs to infback to decode the deflate64 format
|
Unsupported diffs to infback to decode the deflate64 format
|
||||||
|
|
||||||
@@ -42,17 +45,15 @@ iostream3/ by Ludwig Schwardt <schwardt@sun.ac.za>
|
|||||||
and Kevin Ruland <kevin@rodin.wustl.edu>
|
and Kevin Ruland <kevin@rodin.wustl.edu>
|
||||||
Yet another C++ I/O streams interface
|
Yet another C++ I/O streams interface
|
||||||
|
|
||||||
masm686/ by Dan Higdon <hdan@kinesoft.com>
|
|
||||||
and Chuck Walbourn <chuckw@kinesoft.com>
|
|
||||||
asm code for Pentium Pro/PII, using the MASM syntax
|
|
||||||
|
|
||||||
masmx64/ by Gilles Vollant <info@winimage.com>
|
masmx64/ by Gilles Vollant <info@winimage.com>
|
||||||
x86 64-bit (AMD64 and Intel EM64t) code for x64 assembler to
|
x86 64-bit (AMD64 and Intel EM64t) code for x64 assembler to
|
||||||
replace longest_match() and inflate_fast()
|
replace longest_match() and inflate_fast(), also masm x86
|
||||||
|
64-bits translation of Chris Anderson inflate_fast()
|
||||||
|
|
||||||
masmx86/ by Gilles Vollant <info@winimage.com>
|
masmx86/ by Gilles Vollant <info@winimage.com>
|
||||||
x86 asm code to replace longest_match() and inflate_fast(),
|
x86 asm code to replace longest_match() and inflate_fast(),
|
||||||
for Visual C++ and MASM
|
for Visual C++ and MASM (32 bits).
|
||||||
|
Based on Brian Raiter (asm686) and Chris Anderson (inflate86)
|
||||||
|
|
||||||
minizip/ by Gilles Vollant <info@winimage.com>
|
minizip/ by Gilles Vollant <info@winimage.com>
|
||||||
Mini zip and unzip based on zlib
|
Mini zip and unzip based on zlib
|
||||||
@@ -74,3 +75,4 @@ untgz/ by Pedro A. Aranda Gutierrez <paag@tid.es>
|
|||||||
|
|
||||||
vstudio/ by Gilles Vollant <info@winimage.com>
|
vstudio/ by Gilles Vollant <info@winimage.com>
|
||||||
Building a minizip-enhanced zlib with Microsoft Visual Studio
|
Building a minizip-enhanced zlib with Microsoft Visual Studio
|
||||||
|
Includes vc11 from kreuzerkrieg and vc12 from davispuh
|
||||||
|
|||||||
@@ -52,14 +52,73 @@
|
|||||||
#define save_r13 (64-LocalVarsSize)(%rsp)
|
#define save_r13 (64-LocalVarsSize)(%rsp)
|
||||||
#define save_r15 (80-LocalVarsSize)(%rsp)
|
#define save_r15 (80-LocalVarsSize)(%rsp)
|
||||||
|
|
||||||
|
|
||||||
|
.globl match_init, longest_match
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* On AMD64 the first argument of a function (in our case -- the pointer to
|
* On AMD64 the first argument of a function (in our case -- the pointer to
|
||||||
* deflate_state structure) is passed in %rdi, hence our offsets below are
|
* deflate_state structure) is passed in %rdi, hence our offsets below are
|
||||||
* all off of that.
|
* all off of that.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* you can check the structure offset by running
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "deflate.h"
|
||||||
|
|
||||||
|
void print_depl()
|
||||||
|
{
|
||||||
|
deflate_state ds;
|
||||||
|
deflate_state *s=&ds;
|
||||||
|
printf("size pointer=%u\n",(int)sizeof(void*));
|
||||||
|
|
||||||
|
printf("#define dsWSize (%3u)(%%rdi)\n",(int)(((char*)&(s->w_size))-((char*)s)));
|
||||||
|
printf("#define dsWMask (%3u)(%%rdi)\n",(int)(((char*)&(s->w_mask))-((char*)s)));
|
||||||
|
printf("#define dsWindow (%3u)(%%rdi)\n",(int)(((char*)&(s->window))-((char*)s)));
|
||||||
|
printf("#define dsPrev (%3u)(%%rdi)\n",(int)(((char*)&(s->prev))-((char*)s)));
|
||||||
|
printf("#define dsMatchLen (%3u)(%%rdi)\n",(int)(((char*)&(s->match_length))-((char*)s)));
|
||||||
|
printf("#define dsPrevMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_match))-((char*)s)));
|
||||||
|
printf("#define dsStrStart (%3u)(%%rdi)\n",(int)(((char*)&(s->strstart))-((char*)s)));
|
||||||
|
printf("#define dsMatchStart (%3u)(%%rdi)\n",(int)(((char*)&(s->match_start))-((char*)s)));
|
||||||
|
printf("#define dsLookahead (%3u)(%%rdi)\n",(int)(((char*)&(s->lookahead))-((char*)s)));
|
||||||
|
printf("#define dsPrevLen (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_length))-((char*)s)));
|
||||||
|
printf("#define dsMaxChainLen (%3u)(%%rdi)\n",(int)(((char*)&(s->max_chain_length))-((char*)s)));
|
||||||
|
printf("#define dsGoodMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->good_match))-((char*)s)));
|
||||||
|
printf("#define dsNiceMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->nice_match))-((char*)s)));
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
to compile for XCode 3.2 on MacOSX x86_64
|
||||||
|
- run "gcc -g -c -DXCODE_MAC_X64_STRUCTURE amd64-match.S"
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef CURRENT_LINX_XCODE_MAC_X64_STRUCTURE
|
||||||
|
#define dsWSize ( 68)(%rdi)
|
||||||
|
#define dsWMask ( 76)(%rdi)
|
||||||
|
#define dsWindow ( 80)(%rdi)
|
||||||
|
#define dsPrev ( 96)(%rdi)
|
||||||
|
#define dsMatchLen (144)(%rdi)
|
||||||
|
#define dsPrevMatch (148)(%rdi)
|
||||||
|
#define dsStrStart (156)(%rdi)
|
||||||
|
#define dsMatchStart (160)(%rdi)
|
||||||
|
#define dsLookahead (164)(%rdi)
|
||||||
|
#define dsPrevLen (168)(%rdi)
|
||||||
|
#define dsMaxChainLen (172)(%rdi)
|
||||||
|
#define dsGoodMatch (188)(%rdi)
|
||||||
|
#define dsNiceMatch (192)(%rdi)
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
#ifndef STRUCT_OFFSET
|
#ifndef STRUCT_OFFSET
|
||||||
# define STRUCT_OFFSET (0)
|
# define STRUCT_OFFSET (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define dsWSize ( 56 + STRUCT_OFFSET)(%rdi)
|
#define dsWSize ( 56 + STRUCT_OFFSET)(%rdi)
|
||||||
#define dsWMask ( 64 + STRUCT_OFFSET)(%rdi)
|
#define dsWMask ( 64 + STRUCT_OFFSET)(%rdi)
|
||||||
#define dsWindow ( 72 + STRUCT_OFFSET)(%rdi)
|
#define dsWindow ( 72 + STRUCT_OFFSET)(%rdi)
|
||||||
@@ -74,7 +133,10 @@
|
|||||||
#define dsGoodMatch (180 + STRUCT_OFFSET)(%rdi)
|
#define dsGoodMatch (180 + STRUCT_OFFSET)(%rdi)
|
||||||
#define dsNiceMatch (184 + STRUCT_OFFSET)(%rdi)
|
#define dsNiceMatch (184 + STRUCT_OFFSET)(%rdi)
|
||||||
|
|
||||||
.globl match_init, longest_match
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
@@ -222,7 +284,9 @@ LoopEntry: cmpw -1(%windowbestlen, %curmatch), %scanendw
|
|||||||
* straightforward "rep cmpsb" would not drastically degrade
|
* straightforward "rep cmpsb" would not drastically degrade
|
||||||
* performance -- unrolling it, for example, makes no difference.
|
* performance -- unrolling it, for example, makes no difference.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#undef USE_SSE /* works, but is 6-7% slower, than non-SSE... */
|
#undef USE_SSE /* works, but is 6-7% slower, than non-SSE... */
|
||||||
|
|
||||||
LoopCmps:
|
LoopCmps:
|
||||||
#ifdef USE_SSE
|
#ifdef USE_SSE
|
||||||
/* Preload the SSE registers */
|
/* Preload the SSE registers */
|
||||||
@@ -244,29 +308,55 @@ LoopCmps:
|
|||||||
notw %ax
|
notw %ax
|
||||||
bsfw %ax, %ax
|
bsfw %ax, %ax
|
||||||
jnz LeaveLoopCmps
|
jnz LeaveLoopCmps
|
||||||
add $16, %rdx
|
|
||||||
|
/* this is the only iteration of the loop with a possibility of having
|
||||||
|
incremented rdx by 0x108 (each loop iteration add 16*4 = 0x40
|
||||||
|
and (0x40*4)+8=0x108 */
|
||||||
|
add $8, %rdx
|
||||||
|
jz LenMaximum
|
||||||
|
add $8, %rdx
|
||||||
|
|
||||||
|
|
||||||
pmovmskb %xmm3, %rax
|
pmovmskb %xmm3, %rax
|
||||||
notw %ax
|
notw %ax
|
||||||
bsfw %ax, %ax
|
bsfw %ax, %ax
|
||||||
jnz LeaveLoopCmps
|
jnz LeaveLoopCmps
|
||||||
|
|
||||||
|
|
||||||
add $16, %rdx
|
add $16, %rdx
|
||||||
|
|
||||||
|
|
||||||
pmovmskb %xmm5, %rax
|
pmovmskb %xmm5, %rax
|
||||||
notw %ax
|
notw %ax
|
||||||
bsfw %ax, %ax
|
bsfw %ax, %ax
|
||||||
jnz LeaveLoopCmps
|
jnz LeaveLoopCmps
|
||||||
|
|
||||||
add $16, %rdx
|
add $16, %rdx
|
||||||
|
|
||||||
|
|
||||||
pmovmskb %xmm7, %rax
|
pmovmskb %xmm7, %rax
|
||||||
notw %ax
|
notw %ax
|
||||||
bsfw %ax, %ax
|
bsfw %ax, %ax
|
||||||
jnz LeaveLoopCmps
|
jnz LeaveLoopCmps
|
||||||
|
|
||||||
add $16, %rdx
|
add $16, %rdx
|
||||||
|
|
||||||
jmp LoopCmps
|
jmp LoopCmps
|
||||||
LeaveLoopCmps: add %rax, %rdx
|
LeaveLoopCmps: add %rax, %rdx
|
||||||
#else
|
#else
|
||||||
mov (%windowbestlen, %rdx), %rax
|
mov (%windowbestlen, %rdx), %rax
|
||||||
xor (%prev, %rdx), %rax
|
xor (%prev, %rdx), %rax
|
||||||
jnz LeaveLoopCmps
|
jnz LeaveLoopCmps
|
||||||
add $8, %rdx
|
|
||||||
|
mov 8(%windowbestlen, %rdx), %rax
|
||||||
|
xor 8(%prev, %rdx), %rax
|
||||||
|
jnz LeaveLoopCmps8
|
||||||
|
|
||||||
|
mov 16(%windowbestlen, %rdx), %rax
|
||||||
|
xor 16(%prev, %rdx), %rax
|
||||||
|
jnz LeaveLoopCmps16
|
||||||
|
|
||||||
|
add $24, %rdx
|
||||||
jnz LoopCmps
|
jnz LoopCmps
|
||||||
jmp LenMaximum
|
jmp LenMaximum
|
||||||
# if 0
|
# if 0
|
||||||
@@ -274,10 +364,15 @@ LeaveLoopCmps: add %rax, %rdx
|
|||||||
* This three-liner is tantalizingly simple, but bsf is a slow instruction,
|
* This three-liner is tantalizingly simple, but bsf is a slow instruction,
|
||||||
* and the complicated alternative down below is quite a bit faster. Sad...
|
* and the complicated alternative down below is quite a bit faster. Sad...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LeaveLoopCmps: bsf %rax, %rax /* find the first non-zero bit */
|
LeaveLoopCmps: bsf %rax, %rax /* find the first non-zero bit */
|
||||||
shrl $3, %eax /* divide by 8 to get the byte */
|
shrl $3, %eax /* divide by 8 to get the byte */
|
||||||
add %rax, %rdx
|
add %rax, %rdx
|
||||||
# else
|
# else
|
||||||
|
LeaveLoopCmps16:
|
||||||
|
add $8, %rdx
|
||||||
|
LeaveLoopCmps8:
|
||||||
|
add $8, %rdx
|
||||||
LeaveLoopCmps: testl $0xFFFFFFFF, %eax /* Check the first 4 bytes */
|
LeaveLoopCmps: testl $0xFFFFFFFF, %eax /* Check the first 4 bytes */
|
||||||
jnz Check16
|
jnz Check16
|
||||||
add $4, %rdx
|
add $4, %rdx
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
This is a patched version of zlib modified to use
|
|
||||||
Pentium-optimized assembly code in the deflation algorithm. The files
|
|
||||||
changed/added by this patch are:
|
|
||||||
|
|
||||||
README.586
|
|
||||||
match.S
|
|
||||||
|
|
||||||
The effectiveness of these modifications is a bit marginal, as the the
|
|
||||||
program's bottleneck seems to be mostly L1-cache contention, for which
|
|
||||||
there is no real way to work around without rewriting the basic
|
|
||||||
algorithm. The speedup on average is around 5-10% (which is generally
|
|
||||||
less than the amount of variance between subsequent executions).
|
|
||||||
However, when used at level 9 compression, the cache contention can
|
|
||||||
drop enough for the assembly version to achieve 10-20% speedup (and
|
|
||||||
sometimes more, depending on the amount of overall redundancy in the
|
|
||||||
files). Even here, though, cache contention can still be the limiting
|
|
||||||
factor, depending on the nature of the program using the zlib library.
|
|
||||||
This may also mean that better improvements will be seen on a Pentium
|
|
||||||
with MMX, which suffers much less from L1-cache contention, but I have
|
|
||||||
not yet verified this.
|
|
||||||
|
|
||||||
Note that this code has been tailored for the Pentium in particular,
|
|
||||||
and will not perform well on the Pentium Pro (due to the use of a
|
|
||||||
partial register in the inner loop).
|
|
||||||
|
|
||||||
If you are using an assembler other than GNU as, you will have to
|
|
||||||
translate match.S to use your assembler's syntax. (Have fun.)
|
|
||||||
|
|
||||||
Brian Raiter
|
|
||||||
breadbox@muppetlabs.com
|
|
||||||
April, 1998
|
|
||||||
|
|
||||||
|
|
||||||
Added for zlib 1.1.3:
|
|
||||||
|
|
||||||
The patches come from
|
|
||||||
http://www.muppetlabs.com/~breadbox/software/assembly.html
|
|
||||||
|
|
||||||
To compile zlib with this asm file, copy match.S to the zlib directory
|
|
||||||
then do:
|
|
||||||
|
|
||||||
CFLAGS="-O3 -DASMV" ./configure
|
|
||||||
make OBJA=match.o
|
|
||||||
@@ -1,364 +0,0 @@
|
|||||||
/* match.s -- Pentium-optimized version of longest_match()
|
|
||||||
* Written for zlib 1.1.2
|
|
||||||
* Copyright (C) 1998 Brian Raiter <breadbox@muppetlabs.com>
|
|
||||||
*
|
|
||||||
* This is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef NO_UNDERLINE
|
|
||||||
#define match_init _match_init
|
|
||||||
#define longest_match _longest_match
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MAX_MATCH (258)
|
|
||||||
#define MIN_MATCH (3)
|
|
||||||
#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1)
|
|
||||||
#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7)
|
|
||||||
|
|
||||||
/* stack frame offsets */
|
|
||||||
|
|
||||||
#define wmask 0 /* local copy of s->wmask */
|
|
||||||
#define window 4 /* local copy of s->window */
|
|
||||||
#define windowbestlen 8 /* s->window + bestlen */
|
|
||||||
#define chainlenscanend 12 /* high word: current chain len */
|
|
||||||
/* low word: last bytes sought */
|
|
||||||
#define scanstart 16 /* first two bytes of string */
|
|
||||||
#define scanalign 20 /* dword-misalignment of string */
|
|
||||||
#define nicematch 24 /* a good enough match size */
|
|
||||||
#define bestlen 28 /* size of best match so far */
|
|
||||||
#define scan 32 /* ptr to string wanting match */
|
|
||||||
|
|
||||||
#define LocalVarsSize (36)
|
|
||||||
/* saved ebx 36 */
|
|
||||||
/* saved edi 40 */
|
|
||||||
/* saved esi 44 */
|
|
||||||
/* saved ebp 48 */
|
|
||||||
/* return address 52 */
|
|
||||||
#define deflatestate 56 /* the function arguments */
|
|
||||||
#define curmatch 60
|
|
||||||
|
|
||||||
/* Offsets for fields in the deflate_state structure. These numbers
|
|
||||||
* are calculated from the definition of deflate_state, with the
|
|
||||||
* assumption that the compiler will dword-align the fields. (Thus,
|
|
||||||
* changing the definition of deflate_state could easily cause this
|
|
||||||
* program to crash horribly, without so much as a warning at
|
|
||||||
* compile time. Sigh.)
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* All the +zlib1222add offsets are due to the addition of fields
|
|
||||||
* in zlib in the deflate_state structure since the asm code was first written
|
|
||||||
* (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
|
|
||||||
* (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
|
|
||||||
* if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define zlib1222add (8)
|
|
||||||
|
|
||||||
#define dsWSize (36+zlib1222add)
|
|
||||||
#define dsWMask (44+zlib1222add)
|
|
||||||
#define dsWindow (48+zlib1222add)
|
|
||||||
#define dsPrev (56+zlib1222add)
|
|
||||||
#define dsMatchLen (88+zlib1222add)
|
|
||||||
#define dsPrevMatch (92+zlib1222add)
|
|
||||||
#define dsStrStart (100+zlib1222add)
|
|
||||||
#define dsMatchStart (104+zlib1222add)
|
|
||||||
#define dsLookahead (108+zlib1222add)
|
|
||||||
#define dsPrevLen (112+zlib1222add)
|
|
||||||
#define dsMaxChainLen (116+zlib1222add)
|
|
||||||
#define dsGoodMatch (132+zlib1222add)
|
|
||||||
#define dsNiceMatch (136+zlib1222add)
|
|
||||||
|
|
||||||
|
|
||||||
.file "match.S"
|
|
||||||
|
|
||||||
.globl match_init, longest_match
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
|
|
||||||
|
|
||||||
longest_match:
|
|
||||||
|
|
||||||
/* Save registers that the compiler may be using, and adjust %esp to */
|
|
||||||
/* make room for our stack frame. */
|
|
||||||
|
|
||||||
pushl %ebp
|
|
||||||
pushl %edi
|
|
||||||
pushl %esi
|
|
||||||
pushl %ebx
|
|
||||||
subl $LocalVarsSize, %esp
|
|
||||||
|
|
||||||
/* Retrieve the function arguments. %ecx will hold cur_match */
|
|
||||||
/* throughout the entire function. %edx will hold the pointer to the */
|
|
||||||
/* deflate_state structure during the function's setup (before */
|
|
||||||
/* entering the main loop). */
|
|
||||||
|
|
||||||
movl deflatestate(%esp), %edx
|
|
||||||
movl curmatch(%esp), %ecx
|
|
||||||
|
|
||||||
/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */
|
|
||||||
|
|
||||||
movl dsNiceMatch(%edx), %eax
|
|
||||||
movl dsLookahead(%edx), %ebx
|
|
||||||
cmpl %eax, %ebx
|
|
||||||
jl LookaheadLess
|
|
||||||
movl %eax, %ebx
|
|
||||||
LookaheadLess: movl %ebx, nicematch(%esp)
|
|
||||||
|
|
||||||
/* register Bytef *scan = s->window + s->strstart; */
|
|
||||||
|
|
||||||
movl dsWindow(%edx), %esi
|
|
||||||
movl %esi, window(%esp)
|
|
||||||
movl dsStrStart(%edx), %ebp
|
|
||||||
lea (%esi,%ebp), %edi
|
|
||||||
movl %edi, scan(%esp)
|
|
||||||
|
|
||||||
/* Determine how many bytes the scan ptr is off from being */
|
|
||||||
/* dword-aligned. */
|
|
||||||
|
|
||||||
movl %edi, %eax
|
|
||||||
negl %eax
|
|
||||||
andl $3, %eax
|
|
||||||
movl %eax, scanalign(%esp)
|
|
||||||
|
|
||||||
/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */
|
|
||||||
/* s->strstart - (IPos)MAX_DIST(s) : NIL; */
|
|
||||||
|
|
||||||
movl dsWSize(%edx), %eax
|
|
||||||
subl $MIN_LOOKAHEAD, %eax
|
|
||||||
subl %eax, %ebp
|
|
||||||
jg LimitPositive
|
|
||||||
xorl %ebp, %ebp
|
|
||||||
LimitPositive:
|
|
||||||
|
|
||||||
/* unsigned chain_length = s->max_chain_length; */
|
|
||||||
/* if (s->prev_length >= s->good_match) { */
|
|
||||||
/* chain_length >>= 2; */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
movl dsPrevLen(%edx), %eax
|
|
||||||
movl dsGoodMatch(%edx), %ebx
|
|
||||||
cmpl %ebx, %eax
|
|
||||||
movl dsMaxChainLen(%edx), %ebx
|
|
||||||
jl LastMatchGood
|
|
||||||
shrl $2, %ebx
|
|
||||||
LastMatchGood:
|
|
||||||
|
|
||||||
/* chainlen is decremented once beforehand so that the function can */
|
|
||||||
/* use the sign flag instead of the zero flag for the exit test. */
|
|
||||||
/* It is then shifted into the high word, to make room for the scanend */
|
|
||||||
/* scanend value, which it will always accompany. */
|
|
||||||
|
|
||||||
decl %ebx
|
|
||||||
shll $16, %ebx
|
|
||||||
|
|
||||||
/* int best_len = s->prev_length; */
|
|
||||||
|
|
||||||
movl dsPrevLen(%edx), %eax
|
|
||||||
movl %eax, bestlen(%esp)
|
|
||||||
|
|
||||||
/* Store the sum of s->window + best_len in %esi locally, and in %esi. */
|
|
||||||
|
|
||||||
addl %eax, %esi
|
|
||||||
movl %esi, windowbestlen(%esp)
|
|
||||||
|
|
||||||
/* register ush scan_start = *(ushf*)scan; */
|
|
||||||
/* register ush scan_end = *(ushf*)(scan+best_len-1); */
|
|
||||||
|
|
||||||
movw (%edi), %bx
|
|
||||||
movw %bx, scanstart(%esp)
|
|
||||||
movw -1(%edi,%eax), %bx
|
|
||||||
movl %ebx, chainlenscanend(%esp)
|
|
||||||
|
|
||||||
/* Posf *prev = s->prev; */
|
|
||||||
/* uInt wmask = s->w_mask; */
|
|
||||||
|
|
||||||
movl dsPrev(%edx), %edi
|
|
||||||
movl dsWMask(%edx), %edx
|
|
||||||
mov %edx, wmask(%esp)
|
|
||||||
|
|
||||||
/* Jump into the main loop. */
|
|
||||||
|
|
||||||
jmp LoopEntry
|
|
||||||
|
|
||||||
.balign 16
|
|
||||||
|
|
||||||
/* do {
|
|
||||||
* match = s->window + cur_match;
|
|
||||||
* if (*(ushf*)(match+best_len-1) != scan_end ||
|
|
||||||
* *(ushf*)match != scan_start) continue;
|
|
||||||
* [...]
|
|
||||||
* } while ((cur_match = prev[cur_match & wmask]) > limit
|
|
||||||
* && --chain_length != 0);
|
|
||||||
*
|
|
||||||
* Here is the inner loop of the function. The function will spend the
|
|
||||||
* majority of its time in this loop, and majority of that time will
|
|
||||||
* be spent in the first ten instructions.
|
|
||||||
*
|
|
||||||
* Within this loop:
|
|
||||||
* %ebx = chainlenscanend - i.e., ((chainlen << 16) | scanend)
|
|
||||||
* %ecx = curmatch
|
|
||||||
* %edx = curmatch & wmask
|
|
||||||
* %esi = windowbestlen - i.e., (window + bestlen)
|
|
||||||
* %edi = prev
|
|
||||||
* %ebp = limit
|
|
||||||
*
|
|
||||||
* Two optimization notes on the choice of instructions:
|
|
||||||
*
|
|
||||||
* The first instruction uses a 16-bit address, which costs an extra,
|
|
||||||
* unpairable cycle. This is cheaper than doing a 32-bit access and
|
|
||||||
* zeroing the high word, due to the 3-cycle misalignment penalty which
|
|
||||||
* would occur half the time. This also turns out to be cheaper than
|
|
||||||
* doing two separate 8-bit accesses, as the memory is so rarely in the
|
|
||||||
* L1 cache.
|
|
||||||
*
|
|
||||||
* The window buffer, however, apparently spends a lot of time in the
|
|
||||||
* cache, and so it is faster to retrieve the word at the end of the
|
|
||||||
* match string with two 8-bit loads. The instructions that test the
|
|
||||||
* word at the beginning of the match string, however, are executed
|
|
||||||
* much less frequently, and there it was cheaper to use 16-bit
|
|
||||||
* instructions, which avoided the necessity of saving off and
|
|
||||||
* subsequently reloading one of the other registers.
|
|
||||||
*/
|
|
||||||
LookupLoop:
|
|
||||||
/* 1 U & V */
|
|
||||||
movw (%edi,%edx,2), %cx /* 2 U pipe */
|
|
||||||
movl wmask(%esp), %edx /* 2 V pipe */
|
|
||||||
cmpl %ebp, %ecx /* 3 U pipe */
|
|
||||||
jbe LeaveNow /* 3 V pipe */
|
|
||||||
subl $0x00010000, %ebx /* 4 U pipe */
|
|
||||||
js LeaveNow /* 4 V pipe */
|
|
||||||
LoopEntry: movb -1(%esi,%ecx), %al /* 5 U pipe */
|
|
||||||
andl %ecx, %edx /* 5 V pipe */
|
|
||||||
cmpb %bl, %al /* 6 U pipe */
|
|
||||||
jnz LookupLoop /* 6 V pipe */
|
|
||||||
movb (%esi,%ecx), %ah
|
|
||||||
cmpb %bh, %ah
|
|
||||||
jnz LookupLoop
|
|
||||||
movl window(%esp), %eax
|
|
||||||
movw (%eax,%ecx), %ax
|
|
||||||
cmpw scanstart(%esp), %ax
|
|
||||||
jnz LookupLoop
|
|
||||||
|
|
||||||
/* Store the current value of chainlen. */
|
|
||||||
|
|
||||||
movl %ebx, chainlenscanend(%esp)
|
|
||||||
|
|
||||||
/* Point %edi to the string under scrutiny, and %esi to the string we */
|
|
||||||
/* are hoping to match it up with. In actuality, %esi and %edi are */
|
|
||||||
/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */
|
|
||||||
/* initialized to -(MAX_MATCH_8 - scanalign). */
|
|
||||||
|
|
||||||
movl window(%esp), %esi
|
|
||||||
movl scan(%esp), %edi
|
|
||||||
addl %ecx, %esi
|
|
||||||
movl scanalign(%esp), %eax
|
|
||||||
movl $(-MAX_MATCH_8), %edx
|
|
||||||
lea MAX_MATCH_8(%edi,%eax), %edi
|
|
||||||
lea MAX_MATCH_8(%esi,%eax), %esi
|
|
||||||
|
|
||||||
/* Test the strings for equality, 8 bytes at a time. At the end,
|
|
||||||
* adjust %edx so that it is offset to the exact byte that mismatched.
|
|
||||||
*
|
|
||||||
* We already know at this point that the first three bytes of the
|
|
||||||
* strings match each other, and they can be safely passed over before
|
|
||||||
* starting the compare loop. So what this code does is skip over 0-3
|
|
||||||
* bytes, as much as necessary in order to dword-align the %edi
|
|
||||||
* pointer. (%esi will still be misaligned three times out of four.)
|
|
||||||
*
|
|
||||||
* It should be confessed that this loop usually does not represent
|
|
||||||
* much of the total running time. Replacing it with a more
|
|
||||||
* straightforward "rep cmpsb" would not drastically degrade
|
|
||||||
* performance.
|
|
||||||
*/
|
|
||||||
LoopCmps:
|
|
||||||
movl (%esi,%edx), %eax
|
|
||||||
movl (%edi,%edx), %ebx
|
|
||||||
xorl %ebx, %eax
|
|
||||||
jnz LeaveLoopCmps
|
|
||||||
movl 4(%esi,%edx), %eax
|
|
||||||
movl 4(%edi,%edx), %ebx
|
|
||||||
xorl %ebx, %eax
|
|
||||||
jnz LeaveLoopCmps4
|
|
||||||
addl $8, %edx
|
|
||||||
jnz LoopCmps
|
|
||||||
jmp LenMaximum
|
|
||||||
LeaveLoopCmps4: addl $4, %edx
|
|
||||||
LeaveLoopCmps: testl $0x0000FFFF, %eax
|
|
||||||
jnz LenLower
|
|
||||||
addl $2, %edx
|
|
||||||
shrl $16, %eax
|
|
||||||
LenLower: subb $1, %al
|
|
||||||
adcl $0, %edx
|
|
||||||
|
|
||||||
/* Calculate the length of the match. If it is longer than MAX_MATCH, */
|
|
||||||
/* then automatically accept it as the best possible match and leave. */
|
|
||||||
|
|
||||||
lea (%edi,%edx), %eax
|
|
||||||
movl scan(%esp), %edi
|
|
||||||
subl %edi, %eax
|
|
||||||
cmpl $MAX_MATCH, %eax
|
|
||||||
jge LenMaximum
|
|
||||||
|
|
||||||
/* If the length of the match is not longer than the best match we */
|
|
||||||
/* have so far, then forget it and return to the lookup loop. */
|
|
||||||
|
|
||||||
movl deflatestate(%esp), %edx
|
|
||||||
movl bestlen(%esp), %ebx
|
|
||||||
cmpl %ebx, %eax
|
|
||||||
jg LongerMatch
|
|
||||||
movl chainlenscanend(%esp), %ebx
|
|
||||||
movl windowbestlen(%esp), %esi
|
|
||||||
movl dsPrev(%edx), %edi
|
|
||||||
movl wmask(%esp), %edx
|
|
||||||
andl %ecx, %edx
|
|
||||||
jmp LookupLoop
|
|
||||||
|
|
||||||
/* s->match_start = cur_match; */
|
|
||||||
/* best_len = len; */
|
|
||||||
/* if (len >= nice_match) break; */
|
|
||||||
/* scan_end = *(ushf*)(scan+best_len-1); */
|
|
||||||
|
|
||||||
LongerMatch: movl nicematch(%esp), %ebx
|
|
||||||
movl %eax, bestlen(%esp)
|
|
||||||
movl %ecx, dsMatchStart(%edx)
|
|
||||||
cmpl %ebx, %eax
|
|
||||||
jge LeaveNow
|
|
||||||
movl window(%esp), %esi
|
|
||||||
addl %eax, %esi
|
|
||||||
movl %esi, windowbestlen(%esp)
|
|
||||||
movl chainlenscanend(%esp), %ebx
|
|
||||||
movw -1(%edi,%eax), %bx
|
|
||||||
movl dsPrev(%edx), %edi
|
|
||||||
movl %ebx, chainlenscanend(%esp)
|
|
||||||
movl wmask(%esp), %edx
|
|
||||||
andl %ecx, %edx
|
|
||||||
jmp LookupLoop
|
|
||||||
|
|
||||||
/* Accept the current string, with the maximum possible length. */
|
|
||||||
|
|
||||||
LenMaximum: movl deflatestate(%esp), %edx
|
|
||||||
movl $MAX_MATCH, bestlen(%esp)
|
|
||||||
movl %ecx, dsMatchStart(%edx)
|
|
||||||
|
|
||||||
/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */
|
|
||||||
/* return s->lookahead; */
|
|
||||||
|
|
||||||
LeaveNow:
|
|
||||||
movl deflatestate(%esp), %edx
|
|
||||||
movl bestlen(%esp), %ebx
|
|
||||||
movl dsLookahead(%edx), %eax
|
|
||||||
cmpl %eax, %ebx
|
|
||||||
jg LookaheadRet
|
|
||||||
movl %ebx, %eax
|
|
||||||
LookaheadRet:
|
|
||||||
|
|
||||||
/* Restore the stack and return from whence we came. */
|
|
||||||
|
|
||||||
addl $LocalVarsSize, %esp
|
|
||||||
popl %ebx
|
|
||||||
popl %esi
|
|
||||||
popl %edi
|
|
||||||
popl %ebp
|
|
||||||
match_init: ret
|
|
||||||
@@ -32,3 +32,20 @@ then do:
|
|||||||
|
|
||||||
CFLAGS="-O3 -DASMV" ./configure
|
CFLAGS="-O3 -DASMV" ./configure
|
||||||
make OBJA=match.o
|
make OBJA=match.o
|
||||||
|
|
||||||
|
|
||||||
|
Update:
|
||||||
|
|
||||||
|
I've been ignoring these assembly routines for years, believing that
|
||||||
|
gcc's generated code had caught up with it sometime around gcc 2.95
|
||||||
|
and the major rearchitecting of the Pentium 4. However, I recently
|
||||||
|
learned that, despite what I believed, this code still has some life
|
||||||
|
in it. On the Pentium 4 and AMD64 chips, it continues to run about 8%
|
||||||
|
faster than the code produced by gcc 4.1.
|
||||||
|
|
||||||
|
In acknowledgement of its continuing usefulness, I've altered the
|
||||||
|
license to match that of the rest of zlib. Share and Enjoy!
|
||||||
|
|
||||||
|
Brian Raiter
|
||||||
|
breadbox@muppetlabs.com
|
||||||
|
April, 2007
|
||||||
|
|||||||
@@ -1,9 +1,23 @@
|
|||||||
/* match.s -- Pentium-Pro-optimized version of longest_match()
|
/* match.S -- x86 assembly version of the zlib longest_match() function.
|
||||||
* Written for zlib 1.1.2
|
* Optimized for the Intel 686 chips (PPro and later).
|
||||||
* Copyright (C) 1998 Brian Raiter <breadbox@muppetlabs.com>
|
|
||||||
*
|
*
|
||||||
* This is free software; you can redistribute it and/or modify it
|
* Copyright (C) 1998, 2007 Brian Raiter <breadbox@muppetlabs.com>
|
||||||
* under the terms of the GNU General Public License.
|
*
|
||||||
|
* This software is provided 'as-is', without any express or implied
|
||||||
|
* warranty. In no event will the author be held liable for any damages
|
||||||
|
* arising from the use of this software.
|
||||||
|
*
|
||||||
|
* Permission is granted to anyone to use this software for any purpose,
|
||||||
|
* including commercial applications, and to alter it and redistribute it
|
||||||
|
* freely, subject to the following restrictions:
|
||||||
|
*
|
||||||
|
* 1. The origin of this software must not be misrepresented; you must not
|
||||||
|
* claim that you wrote the original software. If you use this software
|
||||||
|
* in a product, an acknowledgment in the product documentation would be
|
||||||
|
* appreciated but is not required.
|
||||||
|
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
* misrepresented as being the original software.
|
||||||
|
* 3. This notice may not be removed or altered from any source distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef NO_UNDERLINE
|
#ifndef NO_UNDERLINE
|
||||||
@@ -69,17 +83,25 @@
|
|||||||
.text
|
.text
|
||||||
|
|
||||||
/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
|
/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
|
||||||
|
.cfi_sections .debug_frame
|
||||||
|
|
||||||
longest_match:
|
longest_match:
|
||||||
|
|
||||||
|
.cfi_startproc
|
||||||
/* Save registers that the compiler may be using, and adjust %esp to */
|
/* Save registers that the compiler may be using, and adjust %esp to */
|
||||||
/* make room for our stack frame. */
|
/* make room for our stack frame. */
|
||||||
|
|
||||||
pushl %ebp
|
pushl %ebp
|
||||||
|
.cfi_def_cfa_offset 8
|
||||||
|
.cfi_offset ebp, -8
|
||||||
pushl %edi
|
pushl %edi
|
||||||
|
.cfi_def_cfa_offset 12
|
||||||
pushl %esi
|
pushl %esi
|
||||||
|
.cfi_def_cfa_offset 16
|
||||||
pushl %ebx
|
pushl %ebx
|
||||||
|
.cfi_def_cfa_offset 20
|
||||||
subl $LocalVarsSize, %esp
|
subl $LocalVarsSize, %esp
|
||||||
|
.cfi_def_cfa_offset LocalVarsSize+20
|
||||||
|
|
||||||
/* Retrieve the function arguments. %ecx will hold cur_match */
|
/* Retrieve the function arguments. %ecx will hold cur_match */
|
||||||
/* throughout the entire function. %edx will hold the pointer to the */
|
/* throughout the entire function. %edx will hold the pointer to the */
|
||||||
@@ -322,8 +344,14 @@ LookaheadRet:
|
|||||||
/* Restore the stack and return from whence we came. */
|
/* Restore the stack and return from whence we came. */
|
||||||
|
|
||||||
addl $LocalVarsSize, %esp
|
addl $LocalVarsSize, %esp
|
||||||
|
.cfi_def_cfa_offset 20
|
||||||
popl %ebx
|
popl %ebx
|
||||||
|
.cfi_def_cfa_offset 16
|
||||||
popl %esi
|
popl %esi
|
||||||
|
.cfi_def_cfa_offset 12
|
||||||
popl %edi
|
popl %edi
|
||||||
|
.cfi_def_cfa_offset 8
|
||||||
popl %ebp
|
popl %ebp
|
||||||
|
.cfi_def_cfa_offset 4
|
||||||
|
.cfi_endproc
|
||||||
match_init: ret
|
match_init: ret
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* blast.c
|
/* blast.c
|
||||||
* Copyright (C) 2003 Mark Adler
|
* Copyright (C) 2003, 2012 Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in blast.h
|
* For conditions of distribution and use, see copyright notice in blast.h
|
||||||
* version 1.1, 16 Feb 2003
|
* version 1.2, 24 Oct 2012
|
||||||
*
|
*
|
||||||
* blast.c decompresses data compressed by the PKWare Compression Library.
|
* blast.c decompresses data compressed by the PKWare Compression Library.
|
||||||
* This function provides functionality similar to the explode() function of
|
* This function provides functionality similar to the explode() function of
|
||||||
@@ -22,6 +22,8 @@
|
|||||||
*
|
*
|
||||||
* 1.0 12 Feb 2003 - First version
|
* 1.0 12 Feb 2003 - First version
|
||||||
* 1.1 16 Feb 2003 - Fixed distance check for > 4 GB uncompressed data
|
* 1.1 16 Feb 2003 - Fixed distance check for > 4 GB uncompressed data
|
||||||
|
* 1.2 24 Oct 2012 - Add note about using binary mode in stdio
|
||||||
|
* - Fix comparisons of differently signed integers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
|
#include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
|
||||||
@@ -279,7 +281,7 @@ local int decomp(struct state *s)
|
|||||||
int dict; /* log2(dictionary size) - 6 */
|
int dict; /* log2(dictionary size) - 6 */
|
||||||
int symbol; /* decoded symbol, extra bits for distance */
|
int symbol; /* decoded symbol, extra bits for distance */
|
||||||
int len; /* length for copy */
|
int len; /* length for copy */
|
||||||
int dist; /* distance for copy */
|
unsigned dist; /* distance for copy */
|
||||||
int copy; /* copy counter */
|
int copy; /* copy counter */
|
||||||
unsigned char *from, *to; /* copy pointers */
|
unsigned char *from, *to; /* copy pointers */
|
||||||
static int virgin = 1; /* build tables once */
|
static int virgin = 1; /* build tables once */
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* blast.h -- interface for blast.c
|
/* blast.h -- interface for blast.c
|
||||||
Copyright (C) 2003 Mark Adler
|
Copyright (C) 2003, 2012 Mark Adler
|
||||||
version 1.1, 16 Feb 2003
|
version 1.2, 24 Oct 2012
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the author be held liable for any damages
|
warranty. In no event will the author be held liable for any damages
|
||||||
@@ -28,6 +28,10 @@
|
|||||||
* that library. (Note: PKWare overused the "implode" verb, and the format
|
* that library. (Note: PKWare overused the "implode" verb, and the format
|
||||||
* used by their library implode() function is completely different and
|
* used by their library implode() function is completely different and
|
||||||
* incompatible with the implode compression method supported by PKZIP.)
|
* incompatible with the implode compression method supported by PKZIP.)
|
||||||
|
*
|
||||||
|
* The binary mode for stdio functions should be used to assure that the
|
||||||
|
* compressed data is not corrupted when read or written. For example:
|
||||||
|
* fopen(..., "rb") and fopen(..., "wb").
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
|
|||||||
const OutBuf: Pointer; BufSize: Integer);
|
const OutBuf: Pointer; BufSize: Integer);
|
||||||
|
|
||||||
const
|
const
|
||||||
zlib_version = '1.2.3';
|
zlib_version = '1.2.8';
|
||||||
|
|
||||||
type
|
type
|
||||||
EZlibError = class(Exception);
|
EZlibError = class(Exception);
|
||||||
|
|||||||
@@ -63,9 +63,9 @@ uncompr.obj: uncompr.c zlib.h zconf.h
|
|||||||
|
|
||||||
zutil.obj: zutil.c zutil.h zlib.h zconf.h
|
zutil.obj: zutil.c zutil.h zlib.h zconf.h
|
||||||
|
|
||||||
example.obj: example.c zlib.h zconf.h
|
example.obj: test/example.c zlib.h zconf.h
|
||||||
|
|
||||||
minigzip.obj: minigzip.c zlib.h zconf.h
|
minigzip.obj: test/minigzip.c zlib.h zconf.h
|
||||||
|
|
||||||
|
|
||||||
# For the sake of the old Borland make,
|
# For the sake of the old Borland make,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// <EFBFBD> Copyright Henrik Ravn 2004
|
// © Copyright Henrik Ravn 2004
|
||||||
//
|
//
|
||||||
// Use, modification and distribution are subject to the Boost Software License, Version 1.0.
|
// Use, modification and distribution are subject to the Boost Software License, Version 1.0.
|
||||||
// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@@ -156,7 +156,7 @@ namespace DotZLibTests
|
|||||||
public void Info_Version()
|
public void Info_Version()
|
||||||
{
|
{
|
||||||
Info info = new Info();
|
Info info = new Info();
|
||||||
Assert.AreEqual("1.2.3", Info.Version);
|
Assert.AreEqual("1.2.8", Info.Version);
|
||||||
Assert.AreEqual(32, info.SizeOfUInt);
|
Assert.AreEqual(32, info.SizeOfUInt);
|
||||||
Assert.AreEqual(32, info.SizeOfULong);
|
Assert.AreEqual(32, info.SizeOfULong);
|
||||||
Assert.AreEqual(32, info.SizeOfPointer);
|
Assert.AreEqual(32, info.SizeOfPointer);
|
||||||
|
|||||||
574
contrib/gcc_gvmat64/gvmat64.S
Normal file
574
contrib/gcc_gvmat64/gvmat64.S
Normal file
@@ -0,0 +1,574 @@
|
|||||||
|
/*
|
||||||
|
;uInt longest_match_x64(
|
||||||
|
; deflate_state *s,
|
||||||
|
; IPos cur_match); // current match
|
||||||
|
|
||||||
|
; gvmat64.S -- Asm portion of the optimized longest_match for 32 bits x86_64
|
||||||
|
; (AMD64 on Athlon 64, Opteron, Phenom
|
||||||
|
; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7)
|
||||||
|
; this file is translation from gvmat64.asm to GCC 4.x (for Linux, Mac XCode)
|
||||||
|
; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
|
||||||
|
;
|
||||||
|
; File written by Gilles Vollant, by converting to assembly the longest_match
|
||||||
|
; from Jean-loup Gailly in deflate.c of zLib and infoZip zip.
|
||||||
|
; and by taking inspiration on asm686 with masm, optimised assembly code
|
||||||
|
; from Brian Raiter, written 1998
|
||||||
|
;
|
||||||
|
; This software is provided 'as-is', without any express or implied
|
||||||
|
; warranty. In no event will the authors be held liable for any damages
|
||||||
|
; arising from the use of this software.
|
||||||
|
;
|
||||||
|
; Permission is granted to anyone to use this software for any purpose,
|
||||||
|
; including commercial applications, and to alter it and redistribute it
|
||||||
|
; freely, subject to the following restrictions:
|
||||||
|
;
|
||||||
|
; 1. The origin of this software must not be misrepresented; you must not
|
||||||
|
; claim that you wrote the original software. If you use this software
|
||||||
|
; in a product, an acknowledgment in the product documentation would be
|
||||||
|
; appreciated but is not required.
|
||||||
|
; 2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
; misrepresented as being the original software
|
||||||
|
; 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
;
|
||||||
|
; http://www.zlib.net
|
||||||
|
; http://www.winimage.com/zLibDll
|
||||||
|
; http://www.muppetlabs.com/~breadbox/software/assembly.html
|
||||||
|
;
|
||||||
|
; to compile this file for zLib, I use option:
|
||||||
|
; gcc -c -arch x86_64 gvmat64.S
|
||||||
|
|
||||||
|
|
||||||
|
;uInt longest_match(s, cur_match)
|
||||||
|
; deflate_state *s;
|
||||||
|
; IPos cur_match; // current match /
|
||||||
|
;
|
||||||
|
; with XCode for Mac, I had strange error with some jump on intel syntax
|
||||||
|
; this is why BEFORE_JMP and AFTER_JMP are used
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#define BEFORE_JMP .att_syntax
|
||||||
|
#define AFTER_JMP .intel_syntax noprefix
|
||||||
|
|
||||||
|
#ifndef NO_UNDERLINE
|
||||||
|
# define match_init _match_init
|
||||||
|
# define longest_match _longest_match
|
||||||
|
#endif
|
||||||
|
|
||||||
|
.intel_syntax noprefix
|
||||||
|
|
||||||
|
.globl match_init, longest_match
|
||||||
|
.text
|
||||||
|
longest_match:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define LocalVarsSize 96
|
||||||
|
/*
|
||||||
|
; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12
|
||||||
|
; free register : r14,r15
|
||||||
|
; register can be saved : rsp
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define chainlenwmask (rsp + 8 - LocalVarsSize)
|
||||||
|
#define nicematch (rsp + 16 - LocalVarsSize)
|
||||||
|
|
||||||
|
#define save_rdi (rsp + 24 - LocalVarsSize)
|
||||||
|
#define save_rsi (rsp + 32 - LocalVarsSize)
|
||||||
|
#define save_rbx (rsp + 40 - LocalVarsSize)
|
||||||
|
#define save_rbp (rsp + 48 - LocalVarsSize)
|
||||||
|
#define save_r12 (rsp + 56 - LocalVarsSize)
|
||||||
|
#define save_r13 (rsp + 64 - LocalVarsSize)
|
||||||
|
#define save_r14 (rsp + 72 - LocalVarsSize)
|
||||||
|
#define save_r15 (rsp + 80 - LocalVarsSize)
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
; all the +4 offsets are due to the addition of pending_buf_size (in zlib
|
||||||
|
; in the deflate_state structure since the asm code was first written
|
||||||
|
; (if you compile with zlib 1.0.4 or older, remove the +4).
|
||||||
|
; Note : these value are good with a 8 bytes boundary pack structure
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define MAX_MATCH 258
|
||||||
|
#define MIN_MATCH 3
|
||||||
|
#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
;;; Offsets for fields in the deflate_state structure. These numbers
|
||||||
|
;;; are calculated from the definition of deflate_state, with the
|
||||||
|
;;; assumption that the compiler will dword-align the fields. (Thus,
|
||||||
|
;;; changing the definition of deflate_state could easily cause this
|
||||||
|
;;; program to crash horribly, without so much as a warning at
|
||||||
|
;;; compile time. Sigh.)
|
||||||
|
|
||||||
|
; all the +zlib1222add offsets are due to the addition of fields
|
||||||
|
; in zlib in the deflate_state structure since the asm code was first written
|
||||||
|
; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
|
||||||
|
; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
|
||||||
|
; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* you can check the structure offset by running
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "deflate.h"
|
||||||
|
|
||||||
|
void print_depl()
|
||||||
|
{
|
||||||
|
deflate_state ds;
|
||||||
|
deflate_state *s=&ds;
|
||||||
|
printf("size pointer=%u\n",(int)sizeof(void*));
|
||||||
|
|
||||||
|
printf("#define dsWSize %u\n",(int)(((char*)&(s->w_size))-((char*)s)));
|
||||||
|
printf("#define dsWMask %u\n",(int)(((char*)&(s->w_mask))-((char*)s)));
|
||||||
|
printf("#define dsWindow %u\n",(int)(((char*)&(s->window))-((char*)s)));
|
||||||
|
printf("#define dsPrev %u\n",(int)(((char*)&(s->prev))-((char*)s)));
|
||||||
|
printf("#define dsMatchLen %u\n",(int)(((char*)&(s->match_length))-((char*)s)));
|
||||||
|
printf("#define dsPrevMatch %u\n",(int)(((char*)&(s->prev_match))-((char*)s)));
|
||||||
|
printf("#define dsStrStart %u\n",(int)(((char*)&(s->strstart))-((char*)s)));
|
||||||
|
printf("#define dsMatchStart %u\n",(int)(((char*)&(s->match_start))-((char*)s)));
|
||||||
|
printf("#define dsLookahead %u\n",(int)(((char*)&(s->lookahead))-((char*)s)));
|
||||||
|
printf("#define dsPrevLen %u\n",(int)(((char*)&(s->prev_length))-((char*)s)));
|
||||||
|
printf("#define dsMaxChainLen %u\n",(int)(((char*)&(s->max_chain_length))-((char*)s)));
|
||||||
|
printf("#define dsGoodMatch %u\n",(int)(((char*)&(s->good_match))-((char*)s)));
|
||||||
|
printf("#define dsNiceMatch %u\n",(int)(((char*)&(s->nice_match))-((char*)s)));
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define dsWSize 68
|
||||||
|
#define dsWMask 76
|
||||||
|
#define dsWindow 80
|
||||||
|
#define dsPrev 96
|
||||||
|
#define dsMatchLen 144
|
||||||
|
#define dsPrevMatch 148
|
||||||
|
#define dsStrStart 156
|
||||||
|
#define dsMatchStart 160
|
||||||
|
#define dsLookahead 164
|
||||||
|
#define dsPrevLen 168
|
||||||
|
#define dsMaxChainLen 172
|
||||||
|
#define dsGoodMatch 188
|
||||||
|
#define dsNiceMatch 192
|
||||||
|
|
||||||
|
#define window_size [ rcx + dsWSize]
|
||||||
|
#define WMask [ rcx + dsWMask]
|
||||||
|
#define window_ad [ rcx + dsWindow]
|
||||||
|
#define prev_ad [ rcx + dsPrev]
|
||||||
|
#define strstart [ rcx + dsStrStart]
|
||||||
|
#define match_start [ rcx + dsMatchStart]
|
||||||
|
#define Lookahead [ rcx + dsLookahead] //; 0ffffffffh on infozip
|
||||||
|
#define prev_length [ rcx + dsPrevLen]
|
||||||
|
#define max_chain_length [ rcx + dsMaxChainLen]
|
||||||
|
#define good_match [ rcx + dsGoodMatch]
|
||||||
|
#define nice_match [ rcx + dsNiceMatch]
|
||||||
|
|
||||||
|
/*
|
||||||
|
; windows:
|
||||||
|
; parameter 1 in rcx(deflate state s), param 2 in rdx (cur match)
|
||||||
|
|
||||||
|
; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and
|
||||||
|
; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
|
||||||
|
;
|
||||||
|
; All registers must be preserved across the call, except for
|
||||||
|
; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch.
|
||||||
|
|
||||||
|
;
|
||||||
|
; gcc on macosx-linux:
|
||||||
|
; see http://www.x86-64.org/documentation/abi-0.99.pdf
|
||||||
|
; param 1 in rdi, param 2 in rsi
|
||||||
|
; rbx, rsp, rbp, r12 to r15 must be preserved
|
||||||
|
|
||||||
|
;;; Save registers that the compiler may be using, and adjust esp to
|
||||||
|
;;; make room for our stack frame.
|
||||||
|
|
||||||
|
|
||||||
|
;;; Retrieve the function arguments. r8d will hold cur_match
|
||||||
|
;;; throughout the entire function. edx will hold the pointer to the
|
||||||
|
;;; deflate_state structure during the function's setup (before
|
||||||
|
;;; entering the main loop.
|
||||||
|
|
||||||
|
; ms: parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match)
|
||||||
|
; mac: param 1 in rdi, param 2 rsi
|
||||||
|
; this clear high 32 bits of r8, which can be garbage in both r8 and rdx
|
||||||
|
*/
|
||||||
|
mov [save_rbx],rbx
|
||||||
|
mov [save_rbp],rbp
|
||||||
|
|
||||||
|
|
||||||
|
mov rcx,rdi
|
||||||
|
|
||||||
|
mov r8d,esi
|
||||||
|
|
||||||
|
|
||||||
|
mov [save_r12],r12
|
||||||
|
mov [save_r13],r13
|
||||||
|
mov [save_r14],r14
|
||||||
|
mov [save_r15],r15
|
||||||
|
|
||||||
|
|
||||||
|
//;;; uInt wmask = s->w_mask;
|
||||||
|
//;;; unsigned chain_length = s->max_chain_length;
|
||||||
|
//;;; if (s->prev_length >= s->good_match) {
|
||||||
|
//;;; chain_length >>= 2;
|
||||||
|
//;;; }
|
||||||
|
|
||||||
|
|
||||||
|
mov edi, prev_length
|
||||||
|
mov esi, good_match
|
||||||
|
mov eax, WMask
|
||||||
|
mov ebx, max_chain_length
|
||||||
|
cmp edi, esi
|
||||||
|
jl LastMatchGood
|
||||||
|
shr ebx, 2
|
||||||
|
LastMatchGood:
|
||||||
|
|
||||||
|
//;;; chainlen is decremented once beforehand so that the function can
|
||||||
|
//;;; use the sign flag instead of the zero flag for the exit test.
|
||||||
|
//;;; It is then shifted into the high word, to make room for the wmask
|
||||||
|
//;;; value, which it will always accompany.
|
||||||
|
|
||||||
|
dec ebx
|
||||||
|
shl ebx, 16
|
||||||
|
or ebx, eax
|
||||||
|
|
||||||
|
//;;; on zlib only
|
||||||
|
//;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
mov eax, nice_match
|
||||||
|
mov [chainlenwmask], ebx
|
||||||
|
mov r10d, Lookahead
|
||||||
|
cmp r10d, eax
|
||||||
|
cmovnl r10d, eax
|
||||||
|
mov [nicematch],r10d
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//;;; register Bytef *scan = s->window + s->strstart;
|
||||||
|
mov r10, window_ad
|
||||||
|
mov ebp, strstart
|
||||||
|
lea r13, [r10 + rbp]
|
||||||
|
|
||||||
|
//;;; Determine how many bytes the scan ptr is off from being
|
||||||
|
//;;; dword-aligned.
|
||||||
|
|
||||||
|
mov r9,r13
|
||||||
|
neg r13
|
||||||
|
and r13,3
|
||||||
|
|
||||||
|
//;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
|
||||||
|
//;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
|
||||||
|
|
||||||
|
|
||||||
|
mov eax, window_size
|
||||||
|
sub eax, MIN_LOOKAHEAD
|
||||||
|
|
||||||
|
|
||||||
|
xor edi,edi
|
||||||
|
sub ebp, eax
|
||||||
|
|
||||||
|
mov r11d, prev_length
|
||||||
|
|
||||||
|
cmovng ebp,edi
|
||||||
|
|
||||||
|
//;;; int best_len = s->prev_length;
|
||||||
|
|
||||||
|
|
||||||
|
//;;; Store the sum of s->window + best_len in esi locally, and in esi.
|
||||||
|
|
||||||
|
lea rsi,[r10+r11]
|
||||||
|
|
||||||
|
//;;; register ush scan_start = *(ushf*)scan;
|
||||||
|
//;;; register ush scan_end = *(ushf*)(scan+best_len-1);
|
||||||
|
//;;; Posf *prev = s->prev;
|
||||||
|
|
||||||
|
movzx r12d,word ptr [r9]
|
||||||
|
movzx ebx, word ptr [r9 + r11 - 1]
|
||||||
|
|
||||||
|
mov rdi, prev_ad
|
||||||
|
|
||||||
|
//;;; Jump into the main loop.
|
||||||
|
|
||||||
|
mov edx, [chainlenwmask]
|
||||||
|
|
||||||
|
cmp bx,word ptr [rsi + r8 - 1]
|
||||||
|
jz LookupLoopIsZero
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
LookupLoop1:
|
||||||
|
and r8d, edx
|
||||||
|
|
||||||
|
movzx r8d, word ptr [rdi + r8*2]
|
||||||
|
cmp r8d, ebp
|
||||||
|
jbe LeaveNow
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sub edx, 0x00010000
|
||||||
|
BEFORE_JMP
|
||||||
|
js LeaveNow
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
LoopEntry1:
|
||||||
|
cmp bx,word ptr [rsi + r8 - 1]
|
||||||
|
BEFORE_JMP
|
||||||
|
jz LookupLoopIsZero
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
LookupLoop2:
|
||||||
|
and r8d, edx
|
||||||
|
|
||||||
|
movzx r8d, word ptr [rdi + r8*2]
|
||||||
|
cmp r8d, ebp
|
||||||
|
BEFORE_JMP
|
||||||
|
jbe LeaveNow
|
||||||
|
AFTER_JMP
|
||||||
|
sub edx, 0x00010000
|
||||||
|
BEFORE_JMP
|
||||||
|
js LeaveNow
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
LoopEntry2:
|
||||||
|
cmp bx,word ptr [rsi + r8 - 1]
|
||||||
|
BEFORE_JMP
|
||||||
|
jz LookupLoopIsZero
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
LookupLoop4:
|
||||||
|
and r8d, edx
|
||||||
|
|
||||||
|
movzx r8d, word ptr [rdi + r8*2]
|
||||||
|
cmp r8d, ebp
|
||||||
|
BEFORE_JMP
|
||||||
|
jbe LeaveNow
|
||||||
|
AFTER_JMP
|
||||||
|
sub edx, 0x00010000
|
||||||
|
BEFORE_JMP
|
||||||
|
js LeaveNow
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
LoopEntry4:
|
||||||
|
|
||||||
|
cmp bx,word ptr [rsi + r8 - 1]
|
||||||
|
BEFORE_JMP
|
||||||
|
jnz LookupLoop1
|
||||||
|
jmp LookupLoopIsZero
|
||||||
|
AFTER_JMP
|
||||||
|
/*
|
||||||
|
;;; do {
|
||||||
|
;;; match = s->window + cur_match;
|
||||||
|
;;; if (*(ushf*)(match+best_len-1) != scan_end ||
|
||||||
|
;;; *(ushf*)match != scan_start) continue;
|
||||||
|
;;; [...]
|
||||||
|
;;; } while ((cur_match = prev[cur_match & wmask]) > limit
|
||||||
|
;;; && --chain_length != 0);
|
||||||
|
;;;
|
||||||
|
;;; Here is the inner loop of the function. The function will spend the
|
||||||
|
;;; majority of its time in this loop, and majority of that time will
|
||||||
|
;;; be spent in the first ten instructions.
|
||||||
|
;;;
|
||||||
|
;;; Within this loop:
|
||||||
|
;;; ebx = scanend
|
||||||
|
;;; r8d = curmatch
|
||||||
|
;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
|
||||||
|
;;; esi = windowbestlen - i.e., (window + bestlen)
|
||||||
|
;;; edi = prev
|
||||||
|
;;; ebp = limit
|
||||||
|
*/
|
||||||
|
.balign 16
|
||||||
|
LookupLoop:
|
||||||
|
and r8d, edx
|
||||||
|
|
||||||
|
movzx r8d, word ptr [rdi + r8*2]
|
||||||
|
cmp r8d, ebp
|
||||||
|
BEFORE_JMP
|
||||||
|
jbe LeaveNow
|
||||||
|
AFTER_JMP
|
||||||
|
sub edx, 0x00010000
|
||||||
|
BEFORE_JMP
|
||||||
|
js LeaveNow
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
LoopEntry:
|
||||||
|
|
||||||
|
cmp bx,word ptr [rsi + r8 - 1]
|
||||||
|
BEFORE_JMP
|
||||||
|
jnz LookupLoop1
|
||||||
|
AFTER_JMP
|
||||||
|
LookupLoopIsZero:
|
||||||
|
cmp r12w, word ptr [r10 + r8]
|
||||||
|
BEFORE_JMP
|
||||||
|
jnz LookupLoop1
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
|
||||||
|
//;;; Store the current value of chainlen.
|
||||||
|
mov [chainlenwmask], edx
|
||||||
|
/*
|
||||||
|
;;; Point edi to the string under scrutiny, and esi to the string we
|
||||||
|
;;; are hoping to match it up with. In actuality, esi and edi are
|
||||||
|
;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is
|
||||||
|
;;; initialized to -(MAX_MATCH_8 - scanalign).
|
||||||
|
*/
|
||||||
|
lea rsi,[r8+r10]
|
||||||
|
mov rdx, 0xfffffffffffffef8 //; -(MAX_MATCH_8)
|
||||||
|
lea rsi, [rsi + r13 + 0x0108] //;MAX_MATCH_8]
|
||||||
|
lea rdi, [r9 + r13 + 0x0108] //;MAX_MATCH_8]
|
||||||
|
|
||||||
|
prefetcht1 [rsi+rdx]
|
||||||
|
prefetcht1 [rdi+rdx]
|
||||||
|
|
||||||
|
/*
|
||||||
|
;;; Test the strings for equality, 8 bytes at a time. At the end,
|
||||||
|
;;; adjust rdx so that it is offset to the exact byte that mismatched.
|
||||||
|
;;;
|
||||||
|
;;; We already know at this point that the first three bytes of the
|
||||||
|
;;; strings match each other, and they can be safely passed over before
|
||||||
|
;;; starting the compare loop. So what this code does is skip over 0-3
|
||||||
|
;;; bytes, as much as necessary in order to dword-align the edi
|
||||||
|
;;; pointer. (rsi will still be misaligned three times out of four.)
|
||||||
|
;;;
|
||||||
|
;;; It should be confessed that this loop usually does not represent
|
||||||
|
;;; much of the total running time. Replacing it with a more
|
||||||
|
;;; straightforward "rep cmpsb" would not drastically degrade
|
||||||
|
;;; performance.
|
||||||
|
*/
|
||||||
|
|
||||||
|
LoopCmps:
|
||||||
|
mov rax, [rsi + rdx]
|
||||||
|
xor rax, [rdi + rdx]
|
||||||
|
jnz LeaveLoopCmps
|
||||||
|
|
||||||
|
mov rax, [rsi + rdx + 8]
|
||||||
|
xor rax, [rdi + rdx + 8]
|
||||||
|
jnz LeaveLoopCmps8
|
||||||
|
|
||||||
|
|
||||||
|
mov rax, [rsi + rdx + 8+8]
|
||||||
|
xor rax, [rdi + rdx + 8+8]
|
||||||
|
jnz LeaveLoopCmps16
|
||||||
|
|
||||||
|
add rdx,8+8+8
|
||||||
|
|
||||||
|
BEFORE_JMP
|
||||||
|
jnz LoopCmps
|
||||||
|
jmp LenMaximum
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
LeaveLoopCmps16: add rdx,8
|
||||||
|
LeaveLoopCmps8: add rdx,8
|
||||||
|
LeaveLoopCmps:
|
||||||
|
|
||||||
|
test eax, 0x0000FFFF
|
||||||
|
jnz LenLower
|
||||||
|
|
||||||
|
test eax,0xffffffff
|
||||||
|
|
||||||
|
jnz LenLower32
|
||||||
|
|
||||||
|
add rdx,4
|
||||||
|
shr rax,32
|
||||||
|
or ax,ax
|
||||||
|
BEFORE_JMP
|
||||||
|
jnz LenLower
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
LenLower32:
|
||||||
|
shr eax,16
|
||||||
|
add rdx,2
|
||||||
|
|
||||||
|
LenLower:
|
||||||
|
sub al, 1
|
||||||
|
adc rdx, 0
|
||||||
|
//;;; Calculate the length of the match. If it is longer than MAX_MATCH,
|
||||||
|
//;;; then automatically accept it as the best possible match and leave.
|
||||||
|
|
||||||
|
lea rax, [rdi + rdx]
|
||||||
|
sub rax, r9
|
||||||
|
cmp eax, MAX_MATCH
|
||||||
|
BEFORE_JMP
|
||||||
|
jge LenMaximum
|
||||||
|
AFTER_JMP
|
||||||
|
/*
|
||||||
|
;;; If the length of the match is not longer than the best match we
|
||||||
|
;;; have so far, then forget it and return to the lookup loop.
|
||||||
|
;///////////////////////////////////
|
||||||
|
*/
|
||||||
|
cmp eax, r11d
|
||||||
|
jg LongerMatch
|
||||||
|
|
||||||
|
lea rsi,[r10+r11]
|
||||||
|
|
||||||
|
mov rdi, prev_ad
|
||||||
|
mov edx, [chainlenwmask]
|
||||||
|
BEFORE_JMP
|
||||||
|
jmp LookupLoop
|
||||||
|
AFTER_JMP
|
||||||
|
/*
|
||||||
|
;;; s->match_start = cur_match;
|
||||||
|
;;; best_len = len;
|
||||||
|
;;; if (len >= nice_match) break;
|
||||||
|
;;; scan_end = *(ushf*)(scan+best_len-1);
|
||||||
|
*/
|
||||||
|
LongerMatch:
|
||||||
|
mov r11d, eax
|
||||||
|
mov match_start, r8d
|
||||||
|
cmp eax, [nicematch]
|
||||||
|
BEFORE_JMP
|
||||||
|
jge LeaveNow
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
lea rsi,[r10+rax]
|
||||||
|
|
||||||
|
movzx ebx, word ptr [r9 + rax - 1]
|
||||||
|
mov rdi, prev_ad
|
||||||
|
mov edx, [chainlenwmask]
|
||||||
|
BEFORE_JMP
|
||||||
|
jmp LookupLoop
|
||||||
|
AFTER_JMP
|
||||||
|
|
||||||
|
//;;; Accept the current string, with the maximum possible length.
|
||||||
|
|
||||||
|
LenMaximum:
|
||||||
|
mov r11d,MAX_MATCH
|
||||||
|
mov match_start, r8d
|
||||||
|
|
||||||
|
//;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
|
||||||
|
//;;; return s->lookahead;
|
||||||
|
|
||||||
|
LeaveNow:
|
||||||
|
mov eax, Lookahead
|
||||||
|
cmp r11d, eax
|
||||||
|
cmovng eax, r11d
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//;;; Restore the stack and return from whence we came.
|
||||||
|
|
||||||
|
|
||||||
|
// mov rsi,[save_rsi]
|
||||||
|
// mov rdi,[save_rdi]
|
||||||
|
mov rbx,[save_rbx]
|
||||||
|
mov rbp,[save_rbp]
|
||||||
|
mov r12,[save_r12]
|
||||||
|
mov r13,[save_r13]
|
||||||
|
mov r14,[save_r14]
|
||||||
|
mov r15,[save_r15]
|
||||||
|
|
||||||
|
|
||||||
|
ret 0
|
||||||
|
//; please don't remove this string !
|
||||||
|
//; Your can freely use gvmat64 in any free or commercial app
|
||||||
|
//; but it is far better don't remove the string in the binary!
|
||||||
|
// 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
|
||||||
|
|
||||||
|
|
||||||
|
match_init:
|
||||||
|
ret 0
|
||||||
|
|
||||||
|
|
||||||
@@ -222,14 +222,13 @@ out_func out;
|
|||||||
void FAR *out_desc;
|
void FAR *out_desc;
|
||||||
{
|
{
|
||||||
struct inflate_state FAR *state;
|
struct inflate_state FAR *state;
|
||||||
unsigned char FAR *next; /* next input */
|
z_const unsigned char FAR *next; /* next input */
|
||||||
unsigned char FAR *put; /* next output */
|
unsigned char FAR *put; /* next output */
|
||||||
unsigned have; /* available input */
|
unsigned have; /* available input */
|
||||||
unsigned long left; /* available output */
|
unsigned long left; /* available output */
|
||||||
inflate_mode mode; /* current inflate mode */
|
inflate_mode mode; /* current inflate mode */
|
||||||
int lastblock; /* true if processing last block */
|
int lastblock; /* true if processing last block */
|
||||||
int wrap; /* true if the window has wrapped */
|
int wrap; /* true if the window has wrapped */
|
||||||
unsigned long write; /* window write index */
|
|
||||||
unsigned char FAR *window; /* allocated sliding window, if needed */
|
unsigned char FAR *window; /* allocated sliding window, if needed */
|
||||||
unsigned long hold; /* bit buffer */
|
unsigned long hold; /* bit buffer */
|
||||||
unsigned bits; /* bits in bit buffer */
|
unsigned bits; /* bits in bit buffer */
|
||||||
@@ -259,7 +258,6 @@ void FAR *out_desc;
|
|||||||
strm->msg = Z_NULL;
|
strm->msg = Z_NULL;
|
||||||
mode = TYPE;
|
mode = TYPE;
|
||||||
lastblock = 0;
|
lastblock = 0;
|
||||||
write = 0;
|
|
||||||
wrap = 0;
|
wrap = 0;
|
||||||
window = state->window;
|
window = state->window;
|
||||||
next = strm->next_in;
|
next = strm->next_in;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* inftree9.c -- generate Huffman trees for efficient decoding
|
/* inftree9.c -- generate Huffman trees for efficient decoding
|
||||||
* Copyright (C) 1995-2010 Mark Adler
|
* Copyright (C) 1995-2013 Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
#define MAXBITS 15
|
#define MAXBITS 15
|
||||||
|
|
||||||
const char inflate9_copyright[] =
|
const char inflate9_copyright[] =
|
||||||
" inflate9 1.2.3.9 Copyright 1995-2010 Mark Adler ";
|
" inflate9 1.2.8 Copyright 1995-2013 Mark Adler ";
|
||||||
/*
|
/*
|
||||||
If you use the zlib library in a product, an acknowledgment is welcome
|
If you use the zlib library in a product, an acknowledgment is welcome
|
||||||
in the documentation of your product. If for some reason you cannot
|
in the documentation of your product. If for some reason you cannot
|
||||||
@@ -64,7 +64,7 @@ unsigned short FAR *work;
|
|||||||
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
|
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
|
||||||
128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
|
128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
|
||||||
130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
|
130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
|
||||||
133, 133, 133, 133, 144, 193, 201};
|
133, 133, 133, 133, 144, 72, 78};
|
||||||
static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
|
static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
|
||||||
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
|
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
|
||||||
65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
|
65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|||||||
ar.beg = ar.out - (start - strm->avail_out);
|
ar.beg = ar.out - (start - strm->avail_out);
|
||||||
ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT);
|
ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT);
|
||||||
ar.wsize = state->wsize;
|
ar.wsize = state->wsize;
|
||||||
ar.write = state->write;
|
ar.write = state->wnext;
|
||||||
ar.window = state->window;
|
ar.window = state->window;
|
||||||
ar.hold = state->hold;
|
ar.hold = state->hold;
|
||||||
ar.bits = state->bits;
|
ar.bits = state->bits;
|
||||||
|
|||||||
@@ -1,413 +0,0 @@
|
|||||||
|
|
||||||
; match.asm -- Pentium-Pro optimized version of longest_match()
|
|
||||||
;
|
|
||||||
; Updated for zlib 1.1.3 and converted to MASM 6.1x
|
|
||||||
; Copyright (C) 2000 Dan Higdon <hdan@kinesoft.com>
|
|
||||||
; and Chuck Walbourn <chuckw@kinesoft.com>
|
|
||||||
; Corrections by Cosmin Truta <cosmint@cs.ubbcluj.ro>
|
|
||||||
;
|
|
||||||
; This is free software; you can redistribute it and/or modify it
|
|
||||||
; under the terms of the GNU General Public License.
|
|
||||||
|
|
||||||
; Based on match.S
|
|
||||||
; Written for zlib 1.1.2
|
|
||||||
; Copyright (C) 1998 Brian Raiter <breadbox@muppetlabs.com>
|
|
||||||
;
|
|
||||||
; Modified by Gilles Vollant (2005) for add gzhead and gzindex
|
|
||||||
|
|
||||||
.686P
|
|
||||||
.MODEL FLAT
|
|
||||||
|
|
||||||
;===========================================================================
|
|
||||||
; EQUATES
|
|
||||||
;===========================================================================
|
|
||||||
|
|
||||||
MAX_MATCH EQU 258
|
|
||||||
MIN_MATCH EQU 3
|
|
||||||
MIN_LOOKAHEAD EQU (MAX_MATCH + MIN_MATCH + 1)
|
|
||||||
MAX_MATCH_8 EQU ((MAX_MATCH + 7) AND (NOT 7))
|
|
||||||
|
|
||||||
;===========================================================================
|
|
||||||
; STRUCTURES
|
|
||||||
;===========================================================================
|
|
||||||
|
|
||||||
; This STRUCT assumes a 4-byte alignment
|
|
||||||
|
|
||||||
DEFLATE_STATE STRUCT
|
|
||||||
ds_strm dd ?
|
|
||||||
ds_status dd ?
|
|
||||||
ds_pending_buf dd ?
|
|
||||||
ds_pending_buf_size dd ?
|
|
||||||
ds_pending_out dd ?
|
|
||||||
ds_pending dd ?
|
|
||||||
ds_wrap dd ?
|
|
||||||
; gzhead and gzindex are added in zlib 1.2.2.2 (see deflate.h)
|
|
||||||
ds_gzhead dd ?
|
|
||||||
ds_gzindex dd ?
|
|
||||||
ds_data_type db ?
|
|
||||||
ds_method db ?
|
|
||||||
db ? ; padding
|
|
||||||
db ? ; padding
|
|
||||||
ds_last_flush dd ?
|
|
||||||
ds_w_size dd ? ; used
|
|
||||||
ds_w_bits dd ?
|
|
||||||
ds_w_mask dd ? ; used
|
|
||||||
ds_window dd ? ; used
|
|
||||||
ds_window_size dd ?
|
|
||||||
ds_prev dd ? ; used
|
|
||||||
ds_head dd ?
|
|
||||||
ds_ins_h dd ?
|
|
||||||
ds_hash_size dd ?
|
|
||||||
ds_hash_bits dd ?
|
|
||||||
ds_hash_mask dd ?
|
|
||||||
ds_hash_shift dd ?
|
|
||||||
ds_block_start dd ?
|
|
||||||
ds_match_length dd ? ; used
|
|
||||||
ds_prev_match dd ? ; used
|
|
||||||
ds_match_available dd ?
|
|
||||||
ds_strstart dd ? ; used
|
|
||||||
ds_match_start dd ? ; used
|
|
||||||
ds_lookahead dd ? ; used
|
|
||||||
ds_prev_length dd ? ; used
|
|
||||||
ds_max_chain_length dd ? ; used
|
|
||||||
ds_max_laxy_match dd ?
|
|
||||||
ds_level dd ?
|
|
||||||
ds_strategy dd ?
|
|
||||||
ds_good_match dd ? ; used
|
|
||||||
ds_nice_match dd ? ; used
|
|
||||||
|
|
||||||
; Don't need anymore of the struct for match
|
|
||||||
DEFLATE_STATE ENDS
|
|
||||||
|
|
||||||
;===========================================================================
|
|
||||||
; CODE
|
|
||||||
;===========================================================================
|
|
||||||
_TEXT SEGMENT
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------------
|
|
||||||
; match_init
|
|
||||||
;---------------------------------------------------------------------------
|
|
||||||
ALIGN 4
|
|
||||||
PUBLIC _match_init
|
|
||||||
_match_init PROC
|
|
||||||
; no initialization needed
|
|
||||||
ret
|
|
||||||
_match_init ENDP
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------------
|
|
||||||
; uInt longest_match(deflate_state *deflatestate, IPos curmatch)
|
|
||||||
;---------------------------------------------------------------------------
|
|
||||||
ALIGN 4
|
|
||||||
|
|
||||||
PUBLIC _longest_match
|
|
||||||
_longest_match PROC
|
|
||||||
|
|
||||||
; Since this code uses EBP for a scratch register, the stack frame must
|
|
||||||
; be manually constructed and referenced relative to the ESP register.
|
|
||||||
|
|
||||||
; Stack image
|
|
||||||
; Variables
|
|
||||||
chainlenwmask = 0 ; high word: current chain len
|
|
||||||
; low word: s->wmask
|
|
||||||
window = 4 ; local copy of s->window
|
|
||||||
windowbestlen = 8 ; s->window + bestlen
|
|
||||||
scanend = 12 ; last two bytes of string
|
|
||||||
scanstart = 16 ; first two bytes of string
|
|
||||||
scanalign = 20 ; dword-misalignment of string
|
|
||||||
nicematch = 24 ; a good enough match size
|
|
||||||
bestlen = 28 ; size of best match so far
|
|
||||||
scan = 32 ; ptr to string wanting match
|
|
||||||
varsize = 36 ; number of bytes (also offset to last saved register)
|
|
||||||
|
|
||||||
; Saved Registers (actually pushed into place)
|
|
||||||
ebx_save = 36
|
|
||||||
edi_save = 40
|
|
||||||
esi_save = 44
|
|
||||||
ebp_save = 48
|
|
||||||
|
|
||||||
; Parameters
|
|
||||||
retaddr = 52
|
|
||||||
deflatestate = 56
|
|
||||||
curmatch = 60
|
|
||||||
|
|
||||||
; Save registers that the compiler may be using
|
|
||||||
push ebp
|
|
||||||
push edi
|
|
||||||
push esi
|
|
||||||
push ebx
|
|
||||||
|
|
||||||
; Allocate local variable space
|
|
||||||
sub esp,varsize
|
|
||||||
|
|
||||||
; Retrieve the function arguments. ecx will hold cur_match
|
|
||||||
; throughout the entire function. edx will hold the pointer to the
|
|
||||||
; deflate_state structure during the function's setup (before
|
|
||||||
; entering the main loop).
|
|
||||||
|
|
||||||
mov edx, [esp+deflatestate]
|
|
||||||
ASSUME edx:PTR DEFLATE_STATE
|
|
||||||
|
|
||||||
mov ecx, [esp+curmatch]
|
|
||||||
|
|
||||||
; uInt wmask = s->w_mask;
|
|
||||||
; unsigned chain_length = s->max_chain_length;
|
|
||||||
; if (s->prev_length >= s->good_match) {
|
|
||||||
; chain_length >>= 2;
|
|
||||||
; }
|
|
||||||
|
|
||||||
mov eax, [edx].ds_prev_length
|
|
||||||
mov ebx, [edx].ds_good_match
|
|
||||||
cmp eax, ebx
|
|
||||||
mov eax, [edx].ds_w_mask
|
|
||||||
mov ebx, [edx].ds_max_chain_length
|
|
||||||
jl SHORT LastMatchGood
|
|
||||||
shr ebx, 2
|
|
||||||
LastMatchGood:
|
|
||||||
|
|
||||||
; chainlen is decremented once beforehand so that the function can
|
|
||||||
; use the sign flag instead of the zero flag for the exit test.
|
|
||||||
; It is then shifted into the high word, to make room for the wmask
|
|
||||||
; value, which it will always accompany.
|
|
||||||
|
|
||||||
dec ebx
|
|
||||||
shl ebx, 16
|
|
||||||
or ebx, eax
|
|
||||||
mov [esp+chainlenwmask], ebx
|
|
||||||
|
|
||||||
; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
|
|
||||||
|
|
||||||
mov eax, [edx].ds_nice_match
|
|
||||||
mov ebx, [edx].ds_lookahead
|
|
||||||
cmp ebx, eax
|
|
||||||
jl SHORT LookaheadLess
|
|
||||||
mov ebx, eax
|
|
||||||
LookaheadLess:
|
|
||||||
mov [esp+nicematch], ebx
|
|
||||||
|
|
||||||
;/* register Bytef *scan = s->window + s->strstart; */
|
|
||||||
|
|
||||||
mov esi, [edx].ds_window
|
|
||||||
mov [esp+window], esi
|
|
||||||
mov ebp, [edx].ds_strstart
|
|
||||||
lea edi, [esi+ebp]
|
|
||||||
mov [esp+scan],edi
|
|
||||||
|
|
||||||
;/* Determine how many bytes the scan ptr is off from being */
|
|
||||||
;/* dword-aligned. */
|
|
||||||
|
|
||||||
mov eax, edi
|
|
||||||
neg eax
|
|
||||||
and eax, 3
|
|
||||||
mov [esp+scanalign], eax
|
|
||||||
|
|
||||||
;/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */
|
|
||||||
;/* s->strstart - (IPos)MAX_DIST(s) : NIL; */
|
|
||||||
|
|
||||||
mov eax, [edx].ds_w_size
|
|
||||||
sub eax, MIN_LOOKAHEAD
|
|
||||||
sub ebp, eax
|
|
||||||
jg SHORT LimitPositive
|
|
||||||
xor ebp, ebp
|
|
||||||
LimitPositive:
|
|
||||||
|
|
||||||
;/* int best_len = s->prev_length; */
|
|
||||||
|
|
||||||
mov eax, [edx].ds_prev_length
|
|
||||||
mov [esp+bestlen], eax
|
|
||||||
|
|
||||||
;/* Store the sum of s->window + best_len in %esi locally, and in %esi. */
|
|
||||||
|
|
||||||
add esi, eax
|
|
||||||
mov [esp+windowbestlen], esi
|
|
||||||
|
|
||||||
;/* register ush scan_start = *(ushf*)scan; */
|
|
||||||
;/* register ush scan_end = *(ushf*)(scan+best_len-1); */
|
|
||||||
;/* Posf *prev = s->prev; */
|
|
||||||
|
|
||||||
movzx ebx, WORD PTR[edi]
|
|
||||||
mov [esp+scanstart], ebx
|
|
||||||
movzx ebx, WORD PTR[eax+edi-1]
|
|
||||||
mov [esp+scanend], ebx
|
|
||||||
mov edi, [edx].ds_prev
|
|
||||||
|
|
||||||
;/* Jump into the main loop. */
|
|
||||||
|
|
||||||
mov edx, [esp+chainlenwmask]
|
|
||||||
jmp SHORT LoopEntry
|
|
||||||
|
|
||||||
;/* do {
|
|
||||||
; * match = s->window + cur_match;
|
|
||||||
; * if (*(ushf*)(match+best_len-1) != scan_end ||
|
|
||||||
; * *(ushf*)match != scan_start) continue;
|
|
||||||
; * [...]
|
|
||||||
; * } while ((cur_match = prev[cur_match & wmask]) > limit
|
|
||||||
; * && --chain_length != 0);
|
|
||||||
; *
|
|
||||||
; * Here is the inner loop of the function. The function will spend the
|
|
||||||
; * majority of its time in this loop, and majority of that time will
|
|
||||||
; * be spent in the first ten instructions.
|
|
||||||
; *
|
|
||||||
; * Within this loop:
|
|
||||||
; * %ebx = scanend
|
|
||||||
; * %ecx = curmatch
|
|
||||||
; * %edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
|
|
||||||
; * %esi = windowbestlen - i.e., (window + bestlen)
|
|
||||||
; * %edi = prev
|
|
||||||
; * %ebp = limit
|
|
||||||
; */
|
|
||||||
|
|
||||||
ALIGN 4
|
|
||||||
LookupLoop:
|
|
||||||
and ecx, edx
|
|
||||||
movzx ecx, WORD PTR[edi+ecx*2]
|
|
||||||
cmp ecx, ebp
|
|
||||||
jbe LeaveNow
|
|
||||||
sub edx, 000010000H
|
|
||||||
js LeaveNow
|
|
||||||
|
|
||||||
LoopEntry:
|
|
||||||
movzx eax, WORD PTR[esi+ecx-1]
|
|
||||||
cmp eax, ebx
|
|
||||||
jnz SHORT LookupLoop
|
|
||||||
|
|
||||||
mov eax, [esp+window]
|
|
||||||
movzx eax, WORD PTR[eax+ecx]
|
|
||||||
cmp eax, [esp+scanstart]
|
|
||||||
jnz SHORT LookupLoop
|
|
||||||
|
|
||||||
;/* Store the current value of chainlen. */
|
|
||||||
|
|
||||||
mov [esp+chainlenwmask], edx
|
|
||||||
|
|
||||||
;/* Point %edi to the string under scrutiny, and %esi to the string we */
|
|
||||||
;/* are hoping to match it up with. In actuality, %esi and %edi are */
|
|
||||||
;/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */
|
|
||||||
;/* initialized to -(MAX_MATCH_8 - scanalign). */
|
|
||||||
|
|
||||||
mov esi, [esp+window]
|
|
||||||
mov edi, [esp+scan]
|
|
||||||
add esi, ecx
|
|
||||||
mov eax, [esp+scanalign]
|
|
||||||
mov edx, -MAX_MATCH_8
|
|
||||||
lea edi, [edi+eax+MAX_MATCH_8]
|
|
||||||
lea esi, [esi+eax+MAX_MATCH_8]
|
|
||||||
|
|
||||||
;/* Test the strings for equality, 8 bytes at a time. At the end,
|
|
||||||
; * adjust %edx so that it is offset to the exact byte that mismatched.
|
|
||||||
; *
|
|
||||||
; * We already know at this point that the first three bytes of the
|
|
||||||
; * strings match each other, and they can be safely passed over before
|
|
||||||
; * starting the compare loop. So what this code does is skip over 0-3
|
|
||||||
; * bytes, as much as necessary in order to dword-align the %edi
|
|
||||||
; * pointer. (%esi will still be misaligned three times out of four.)
|
|
||||||
; *
|
|
||||||
; * It should be confessed that this loop usually does not represent
|
|
||||||
; * much of the total running time. Replacing it with a more
|
|
||||||
; * straightforward "rep cmpsb" would not drastically degrade
|
|
||||||
; * performance.
|
|
||||||
; */
|
|
||||||
|
|
||||||
LoopCmps:
|
|
||||||
mov eax, DWORD PTR[esi+edx]
|
|
||||||
xor eax, DWORD PTR[edi+edx]
|
|
||||||
jnz SHORT LeaveLoopCmps
|
|
||||||
|
|
||||||
mov eax, DWORD PTR[esi+edx+4]
|
|
||||||
xor eax, DWORD PTR[edi+edx+4]
|
|
||||||
jnz SHORT LeaveLoopCmps4
|
|
||||||
|
|
||||||
add edx, 8
|
|
||||||
jnz SHORT LoopCmps
|
|
||||||
jmp LenMaximum
|
|
||||||
ALIGN 4
|
|
||||||
|
|
||||||
LeaveLoopCmps4:
|
|
||||||
add edx, 4
|
|
||||||
|
|
||||||
LeaveLoopCmps:
|
|
||||||
test eax, 00000FFFFH
|
|
||||||
jnz SHORT LenLower
|
|
||||||
|
|
||||||
add edx, 2
|
|
||||||
shr eax, 16
|
|
||||||
|
|
||||||
LenLower:
|
|
||||||
sub al, 1
|
|
||||||
adc edx, 0
|
|
||||||
|
|
||||||
;/* Calculate the length of the match. If it is longer than MAX_MATCH, */
|
|
||||||
;/* then automatically accept it as the best possible match and leave. */
|
|
||||||
|
|
||||||
lea eax, [edi+edx]
|
|
||||||
mov edi, [esp+scan]
|
|
||||||
sub eax, edi
|
|
||||||
cmp eax, MAX_MATCH
|
|
||||||
jge SHORT LenMaximum
|
|
||||||
|
|
||||||
;/* If the length of the match is not longer than the best match we */
|
|
||||||
;/* have so far, then forget it and return to the lookup loop. */
|
|
||||||
|
|
||||||
mov edx, [esp+deflatestate]
|
|
||||||
mov ebx, [esp+bestlen]
|
|
||||||
cmp eax, ebx
|
|
||||||
jg SHORT LongerMatch
|
|
||||||
mov esi, [esp+windowbestlen]
|
|
||||||
mov edi, [edx].ds_prev
|
|
||||||
mov ebx, [esp+scanend]
|
|
||||||
mov edx, [esp+chainlenwmask]
|
|
||||||
jmp LookupLoop
|
|
||||||
ALIGN 4
|
|
||||||
|
|
||||||
;/* s->match_start = cur_match; */
|
|
||||||
;/* best_len = len; */
|
|
||||||
;/* if (len >= nice_match) break; */
|
|
||||||
;/* scan_end = *(ushf*)(scan+best_len-1); */
|
|
||||||
|
|
||||||
LongerMatch:
|
|
||||||
mov ebx, [esp+nicematch]
|
|
||||||
mov [esp+bestlen], eax
|
|
||||||
mov [edx].ds_match_start, ecx
|
|
||||||
cmp eax, ebx
|
|
||||||
jge SHORT LeaveNow
|
|
||||||
mov esi, [esp+window]
|
|
||||||
add esi, eax
|
|
||||||
mov [esp+windowbestlen], esi
|
|
||||||
movzx ebx, WORD PTR[edi+eax-1]
|
|
||||||
mov edi, [edx].ds_prev
|
|
||||||
mov [esp+scanend], ebx
|
|
||||||
mov edx, [esp+chainlenwmask]
|
|
||||||
jmp LookupLoop
|
|
||||||
ALIGN 4
|
|
||||||
|
|
||||||
;/* Accept the current string, with the maximum possible length. */
|
|
||||||
|
|
||||||
LenMaximum:
|
|
||||||
mov edx, [esp+deflatestate]
|
|
||||||
mov DWORD PTR[esp+bestlen], MAX_MATCH
|
|
||||||
mov [edx].ds_match_start, ecx
|
|
||||||
|
|
||||||
;/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */
|
|
||||||
;/* return s->lookahead; */
|
|
||||||
|
|
||||||
LeaveNow:
|
|
||||||
mov edx, [esp+deflatestate]
|
|
||||||
mov ebx, [esp+bestlen]
|
|
||||||
mov eax, [edx].ds_lookahead
|
|
||||||
cmp ebx, eax
|
|
||||||
jg SHORT LookaheadRet
|
|
||||||
mov eax, ebx
|
|
||||||
LookaheadRet:
|
|
||||||
|
|
||||||
; Restore the stack and return from whence we came.
|
|
||||||
|
|
||||||
add esp, varsize
|
|
||||||
pop ebx
|
|
||||||
pop esi
|
|
||||||
pop edi
|
|
||||||
pop ebp
|
|
||||||
ret
|
|
||||||
|
|
||||||
_longest_match ENDP
|
|
||||||
|
|
||||||
_TEXT ENDS
|
|
||||||
END
|
|
||||||
@@ -2,8 +2,10 @@
|
|||||||
; deflate_state *s,
|
; deflate_state *s,
|
||||||
; IPos cur_match); /* current match */
|
; IPos cur_match); /* current match */
|
||||||
|
|
||||||
; gvmat64.asm -- Asm portion of the optimized longest_match for 32 bits x86
|
; gvmat64.asm -- Asm portion of the optimized longest_match for 32 bits x86_64
|
||||||
; Copyright (C) 1995-2005 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
|
; (AMD64 on Athlon 64, Opteron, Phenom
|
||||||
|
; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7)
|
||||||
|
; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
|
||||||
;
|
;
|
||||||
; File written by Gilles Vollant, by converting to assembly the longest_match
|
; File written by Gilles Vollant, by converting to assembly the longest_match
|
||||||
; from Jean-loup Gailly in deflate.c of zLib and infoZip zip.
|
; from Jean-loup Gailly in deflate.c of zLib and infoZip zip.
|
||||||
@@ -11,6 +13,24 @@
|
|||||||
; and by taking inspiration on asm686 with masm, optimised assembly code
|
; and by taking inspiration on asm686 with masm, optimised assembly code
|
||||||
; from Brian Raiter, written 1998
|
; from Brian Raiter, written 1998
|
||||||
;
|
;
|
||||||
|
; This software is provided 'as-is', without any express or implied
|
||||||
|
; warranty. In no event will the authors be held liable for any damages
|
||||||
|
; arising from the use of this software.
|
||||||
|
;
|
||||||
|
; Permission is granted to anyone to use this software for any purpose,
|
||||||
|
; including commercial applications, and to alter it and redistribute it
|
||||||
|
; freely, subject to the following restrictions:
|
||||||
|
;
|
||||||
|
; 1. The origin of this software must not be misrepresented; you must not
|
||||||
|
; claim that you wrote the original software. If you use this software
|
||||||
|
; in a product, an acknowledgment in the product documentation would be
|
||||||
|
; appreciated but is not required.
|
||||||
|
; 2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
; misrepresented as being the original software
|
||||||
|
; 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
;
|
||||||
|
;
|
||||||
|
;
|
||||||
; http://www.zlib.net
|
; http://www.zlib.net
|
||||||
; http://www.winimage.com/zLibDll
|
; http://www.winimage.com/zLibDll
|
||||||
; http://www.muppetlabs.com/~breadbox/software/assembly.html
|
; http://www.muppetlabs.com/~breadbox/software/assembly.html
|
||||||
@@ -26,10 +46,10 @@
|
|||||||
;
|
;
|
||||||
; This file compile with Microsoft Macro Assembler (x64) for AMD64
|
; This file compile with Microsoft Macro Assembler (x64) for AMD64
|
||||||
;
|
;
|
||||||
; ml64.exe is given with Visual Studio 2005 and Windows 2003 server DDK
|
; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK
|
||||||
;
|
;
|
||||||
; (you can get Windows 2003 server DDK with ml64 and cl for AMD64 from
|
; (you can get Windows WDK with ml64 for AMD64 from
|
||||||
; http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)
|
; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
@@ -71,6 +91,25 @@ save_r13 equ rsp + 64 - LocalVarsSize
|
|||||||
;save_r15 equ rsp + 80 - LocalVarsSize
|
;save_r15 equ rsp + 80 - LocalVarsSize
|
||||||
|
|
||||||
|
|
||||||
|
; summary of register usage
|
||||||
|
; scanend ebx
|
||||||
|
; scanendw bx
|
||||||
|
; chainlenwmask edx
|
||||||
|
; curmatch rsi
|
||||||
|
; curmatchd esi
|
||||||
|
; windowbestlen r8
|
||||||
|
; scanalign r9
|
||||||
|
; scanalignd r9d
|
||||||
|
; window r10
|
||||||
|
; bestlen r11
|
||||||
|
; bestlend r11d
|
||||||
|
; scanstart r12d
|
||||||
|
; scanstartw r12w
|
||||||
|
; scan r13
|
||||||
|
; nicematch r14d
|
||||||
|
; limit r15
|
||||||
|
; limitd r15d
|
||||||
|
; prev rcx
|
||||||
|
|
||||||
; all the +4 offsets are due to the addition of pending_buf_size (in zlib
|
; all the +4 offsets are due to the addition of pending_buf_size (in zlib
|
||||||
; in the deflate_state structure since the asm code was first written
|
; in the deflate_state structure since the asm code was first written
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
|
|||||||
ar.beg = ar.out - (start - strm->avail_out);
|
ar.beg = ar.out - (start - strm->avail_out);
|
||||||
ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT);
|
ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT);
|
||||||
ar.wsize = state->wsize;
|
ar.wsize = state->wsize;
|
||||||
ar.write = state->write;
|
ar.write = state->wnext;
|
||||||
ar.window = state->window;
|
ar.window = state->window;
|
||||||
ar.hold = state->hold;
|
ar.hold = state->hold;
|
||||||
ar.bits = state->bits;
|
ar.bits = state->bits;
|
||||||
|
|||||||
@@ -9,11 +9,15 @@
|
|||||||
; ml64.exe /Flinffasx64 /c /Zi inffasx64.asm
|
; ml64.exe /Flinffasx64 /c /Zi inffasx64.asm
|
||||||
; with Microsoft Macro Assembler (x64) for AMD64
|
; with Microsoft Macro Assembler (x64) for AMD64
|
||||||
;
|
;
|
||||||
; ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK
|
|
||||||
|
; This file compile with Microsoft Macro Assembler (x64) for AMD64
|
||||||
;
|
;
|
||||||
; (you can get Windows 2003 server DDK with ml64 and cl.exe for AMD64 from
|
; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK
|
||||||
; http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)
|
|
||||||
;
|
;
|
||||||
|
; (you can get Windows WDK with ml64 for AMD64 from
|
||||||
|
; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price)
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
.code
|
.code
|
||||||
inffas8664fnc PROC
|
inffas8664fnc PROC
|
||||||
|
|||||||
@@ -12,7 +12,10 @@ inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing
|
|||||||
|
|
||||||
Use instructions
|
Use instructions
|
||||||
----------------
|
----------------
|
||||||
Copy these files into the zlib source directory.
|
Assemble the .asm files using MASM and put the object files into the zlib source
|
||||||
|
directory. You can also get object files here:
|
||||||
|
|
||||||
|
http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
|
||||||
|
|
||||||
define ASMV and ASMINF in your project. Include inffas8664.c in your source tree,
|
define ASMV and ASMINF in your project. Include inffas8664.c in your source tree,
|
||||||
and inffasx64.obj and gvmat64.obj as object to link.
|
and inffasx64.obj and gvmat64.obj as object to link.
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
ml /coff /Zi /c /Flgvmat32.lst gvmat32.asm
|
ml /coff /Zi /c /Flmatch686.lst match686.asm
|
||||||
ml /coff /Zi /c /Flinffas32.lst inffas32.asm
|
ml /coff /Zi /c /Flinffas32.lst inffas32.asm
|
||||||
|
|||||||
@@ -1,972 +0,0 @@
|
|||||||
; gvmat32.asm -- Asm portion of the optimized longest_match for 32 bits x86
|
|
||||||
; Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant.
|
|
||||||
; File written by Gilles Vollant, by modifiying the longest_match
|
|
||||||
; from Jean-loup Gailly in deflate.c
|
|
||||||
;
|
|
||||||
; http://www.zlib.net
|
|
||||||
; http://www.winimage.com/zLibDll
|
|
||||||
; http://www.muppetlabs.com/~breadbox/software/assembly.html
|
|
||||||
;
|
|
||||||
; For Visual C++ 4.x and higher and ML 6.x and higher
|
|
||||||
; ml.exe is in directory \MASM611C of Win95 DDK
|
|
||||||
; ml.exe is also distributed in http://www.masm32.com/masmdl.htm
|
|
||||||
; and in VC++2003 toolkit at http://msdn.microsoft.com/visualc/vctoolkit2003/
|
|
||||||
;
|
|
||||||
; this file contain two implementation of longest_match
|
|
||||||
;
|
|
||||||
; longest_match_7fff : written 1996 by Gilles Vollant optimized for
|
|
||||||
; first Pentium. Assume s->w_mask == 0x7fff
|
|
||||||
; longest_match_686 : written by Brian raiter (1998), optimized for Pentium Pro
|
|
||||||
;
|
|
||||||
; for using an seembly version of longest_match, you need define ASMV in project
|
|
||||||
; There is two way in using gvmat32.asm
|
|
||||||
;
|
|
||||||
; A) Suggested method
|
|
||||||
; if you want include both longest_match_7fff and longest_match_686
|
|
||||||
; compile the asm file running
|
|
||||||
; ml /coff /Zi /Flgvmat32.lst /c gvmat32.asm
|
|
||||||
; and include gvmat32c.c in your project
|
|
||||||
; if you have an old cpu (386,486 or first Pentium) and s->w_mask==0x7fff,
|
|
||||||
; longest_match_7fff will be used
|
|
||||||
; if you have a more modern CPU (Pentium Pro, II and higher)
|
|
||||||
; longest_match_686 will be used
|
|
||||||
; on old cpu with s->w_mask!=0x7fff, longest_match_686 will be used,
|
|
||||||
; but this is not a sitation you'll find often
|
|
||||||
;
|
|
||||||
; B) Alternative
|
|
||||||
; if you are not interresed in old cpu performance and want the smaller
|
|
||||||
; binaries possible
|
|
||||||
;
|
|
||||||
; compile the asm file running
|
|
||||||
; ml /coff /Zi /c /Flgvmat32.lst /DNOOLDPENTIUMCODE gvmat32.asm
|
|
||||||
; and do not include gvmat32c.c in your project (ou define also
|
|
||||||
; NOOLDPENTIUMCODE)
|
|
||||||
;
|
|
||||||
; note : as I known, longest_match_686 is very faster than longest_match_7fff
|
|
||||||
; on pentium Pro/II/III, faster (but less) in P4, but it seem
|
|
||||||
; longest_match_7fff can be faster (very very litte) on AMD Athlon64/K8
|
|
||||||
;
|
|
||||||
; see below : zlib1222add must be adjuster if you use a zlib version < 1.2.2.2
|
|
||||||
|
|
||||||
;uInt longest_match_7fff(s, cur_match)
|
|
||||||
; deflate_state *s;
|
|
||||||
; IPos cur_match; /* current match */
|
|
||||||
|
|
||||||
NbStack equ 76
|
|
||||||
cur_match equ dword ptr[esp+NbStack-0]
|
|
||||||
str_s equ dword ptr[esp+NbStack-4]
|
|
||||||
; 5 dword on top (ret,ebp,esi,edi,ebx)
|
|
||||||
adrret equ dword ptr[esp+NbStack-8]
|
|
||||||
pushebp equ dword ptr[esp+NbStack-12]
|
|
||||||
pushedi equ dword ptr[esp+NbStack-16]
|
|
||||||
pushesi equ dword ptr[esp+NbStack-20]
|
|
||||||
pushebx equ dword ptr[esp+NbStack-24]
|
|
||||||
|
|
||||||
chain_length equ dword ptr [esp+NbStack-28]
|
|
||||||
limit equ dword ptr [esp+NbStack-32]
|
|
||||||
best_len equ dword ptr [esp+NbStack-36]
|
|
||||||
window equ dword ptr [esp+NbStack-40]
|
|
||||||
prev equ dword ptr [esp+NbStack-44]
|
|
||||||
scan_start equ word ptr [esp+NbStack-48]
|
|
||||||
wmask equ dword ptr [esp+NbStack-52]
|
|
||||||
match_start_ptr equ dword ptr [esp+NbStack-56]
|
|
||||||
nice_match equ dword ptr [esp+NbStack-60]
|
|
||||||
scan equ dword ptr [esp+NbStack-64]
|
|
||||||
|
|
||||||
windowlen equ dword ptr [esp+NbStack-68]
|
|
||||||
match_start equ dword ptr [esp+NbStack-72]
|
|
||||||
strend equ dword ptr [esp+NbStack-76]
|
|
||||||
NbStackAdd equ (NbStack-24)
|
|
||||||
|
|
||||||
.386p
|
|
||||||
|
|
||||||
name gvmatch
|
|
||||||
.MODEL FLAT
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; all the +zlib1222add offsets are due to the addition of fields
|
|
||||||
; in zlib in the deflate_state structure since the asm code was first written
|
|
||||||
; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
|
|
||||||
; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
|
|
||||||
; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
|
|
||||||
|
|
||||||
zlib1222add equ 8
|
|
||||||
|
|
||||||
; Note : these value are good with a 8 bytes boundary pack structure
|
|
||||||
dep_chain_length equ 74h+zlib1222add
|
|
||||||
dep_window equ 30h+zlib1222add
|
|
||||||
dep_strstart equ 64h+zlib1222add
|
|
||||||
dep_prev_length equ 70h+zlib1222add
|
|
||||||
dep_nice_match equ 88h+zlib1222add
|
|
||||||
dep_w_size equ 24h+zlib1222add
|
|
||||||
dep_prev equ 38h+zlib1222add
|
|
||||||
dep_w_mask equ 2ch+zlib1222add
|
|
||||||
dep_good_match equ 84h+zlib1222add
|
|
||||||
dep_match_start equ 68h+zlib1222add
|
|
||||||
dep_lookahead equ 6ch+zlib1222add
|
|
||||||
|
|
||||||
|
|
||||||
_TEXT segment
|
|
||||||
|
|
||||||
IFDEF NOUNDERLINE
|
|
||||||
IFDEF NOOLDPENTIUMCODE
|
|
||||||
public longest_match
|
|
||||||
public match_init
|
|
||||||
ELSE
|
|
||||||
public longest_match_7fff
|
|
||||||
public cpudetect32
|
|
||||||
public longest_match_686
|
|
||||||
ENDIF
|
|
||||||
ELSE
|
|
||||||
IFDEF NOOLDPENTIUMCODE
|
|
||||||
public _longest_match
|
|
||||||
public _match_init
|
|
||||||
ELSE
|
|
||||||
public _longest_match_7fff
|
|
||||||
public _cpudetect32
|
|
||||||
public _longest_match_686
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
MAX_MATCH equ 258
|
|
||||||
MIN_MATCH equ 3
|
|
||||||
MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IFNDEF NOOLDPENTIUMCODE
|
|
||||||
IFDEF NOUNDERLINE
|
|
||||||
longest_match_7fff proc near
|
|
||||||
ELSE
|
|
||||||
_longest_match_7fff proc near
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
mov edx,[esp+4]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
push ebp
|
|
||||||
push edi
|
|
||||||
push esi
|
|
||||||
push ebx
|
|
||||||
|
|
||||||
sub esp,NbStackAdd
|
|
||||||
|
|
||||||
; initialize or check the variables used in match.asm.
|
|
||||||
mov ebp,edx
|
|
||||||
|
|
||||||
; chain_length = s->max_chain_length
|
|
||||||
; if (prev_length>=good_match) chain_length >>= 2
|
|
||||||
mov edx,[ebp+dep_chain_length]
|
|
||||||
mov ebx,[ebp+dep_prev_length]
|
|
||||||
cmp [ebp+dep_good_match],ebx
|
|
||||||
ja noshr
|
|
||||||
shr edx,2
|
|
||||||
noshr:
|
|
||||||
; we increment chain_length because in the asm, the --chain_lenght is in the beginning of the loop
|
|
||||||
inc edx
|
|
||||||
mov edi,[ebp+dep_nice_match]
|
|
||||||
mov chain_length,edx
|
|
||||||
mov eax,[ebp+dep_lookahead]
|
|
||||||
cmp eax,edi
|
|
||||||
; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
|
|
||||||
jae nolookaheadnicematch
|
|
||||||
mov edi,eax
|
|
||||||
nolookaheadnicematch:
|
|
||||||
; best_len = s->prev_length
|
|
||||||
mov best_len,ebx
|
|
||||||
|
|
||||||
; window = s->window
|
|
||||||
mov esi,[ebp+dep_window]
|
|
||||||
mov ecx,[ebp+dep_strstart]
|
|
||||||
mov window,esi
|
|
||||||
|
|
||||||
mov nice_match,edi
|
|
||||||
; scan = window + strstart
|
|
||||||
add esi,ecx
|
|
||||||
mov scan,esi
|
|
||||||
; dx = *window
|
|
||||||
mov dx,word ptr [esi]
|
|
||||||
; bx = *(window+best_len-1)
|
|
||||||
mov bx,word ptr [esi+ebx-1]
|
|
||||||
add esi,MAX_MATCH-1
|
|
||||||
; scan_start = *scan
|
|
||||||
mov scan_start,dx
|
|
||||||
; strend = scan + MAX_MATCH-1
|
|
||||||
mov strend,esi
|
|
||||||
; bx = scan_end = *(window+best_len-1)
|
|
||||||
|
|
||||||
; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
|
|
||||||
; s->strstart - (IPos)MAX_DIST(s) : NIL;
|
|
||||||
|
|
||||||
mov esi,[ebp+dep_w_size]
|
|
||||||
sub esi,MIN_LOOKAHEAD
|
|
||||||
; here esi = MAX_DIST(s)
|
|
||||||
sub ecx,esi
|
|
||||||
ja nodist
|
|
||||||
xor ecx,ecx
|
|
||||||
nodist:
|
|
||||||
mov limit,ecx
|
|
||||||
|
|
||||||
; prev = s->prev
|
|
||||||
mov edx,[ebp+dep_prev]
|
|
||||||
mov prev,edx
|
|
||||||
|
|
||||||
;
|
|
||||||
mov edx,dword ptr [ebp+dep_match_start]
|
|
||||||
mov bp,scan_start
|
|
||||||
mov eax,cur_match
|
|
||||||
mov match_start,edx
|
|
||||||
|
|
||||||
mov edx,window
|
|
||||||
mov edi,edx
|
|
||||||
add edi,best_len
|
|
||||||
mov esi,prev
|
|
||||||
dec edi
|
|
||||||
; windowlen = window + best_len -1
|
|
||||||
mov windowlen,edi
|
|
||||||
|
|
||||||
jmp beginloop2
|
|
||||||
align 4
|
|
||||||
|
|
||||||
; here, in the loop
|
|
||||||
; eax = ax = cur_match
|
|
||||||
; ecx = limit
|
|
||||||
; bx = scan_end
|
|
||||||
; bp = scan_start
|
|
||||||
; edi = windowlen (window + best_len -1)
|
|
||||||
; esi = prev
|
|
||||||
|
|
||||||
|
|
||||||
;// here; chain_length <=16
|
|
||||||
normalbeg0add16:
|
|
||||||
add chain_length,16
|
|
||||||
jz exitloop
|
|
||||||
normalbeg0:
|
|
||||||
cmp word ptr[edi+eax],bx
|
|
||||||
je normalbeg2noroll
|
|
||||||
rcontlabnoroll:
|
|
||||||
; cur_match = prev[cur_match & wmask]
|
|
||||||
and eax,7fffh
|
|
||||||
mov ax,word ptr[esi+eax*2]
|
|
||||||
; if cur_match > limit, go to exitloop
|
|
||||||
cmp ecx,eax
|
|
||||||
jnb exitloop
|
|
||||||
; if --chain_length != 0, go to exitloop
|
|
||||||
dec chain_length
|
|
||||||
jnz normalbeg0
|
|
||||||
jmp exitloop
|
|
||||||
|
|
||||||
normalbeg2noroll:
|
|
||||||
; if (scan_start==*(cur_match+window)) goto normalbeg2
|
|
||||||
cmp bp,word ptr[edx+eax]
|
|
||||||
jne rcontlabnoroll
|
|
||||||
jmp normalbeg2
|
|
||||||
|
|
||||||
contloop3:
|
|
||||||
mov edi,windowlen
|
|
||||||
|
|
||||||
; cur_match = prev[cur_match & wmask]
|
|
||||||
and eax,7fffh
|
|
||||||
mov ax,word ptr[esi+eax*2]
|
|
||||||
; if cur_match > limit, go to exitloop
|
|
||||||
cmp ecx,eax
|
|
||||||
jnbexitloopshort1:
|
|
||||||
jnb exitloop
|
|
||||||
; if --chain_length != 0, go to exitloop
|
|
||||||
|
|
||||||
|
|
||||||
; begin the main loop
|
|
||||||
beginloop2:
|
|
||||||
sub chain_length,16+1
|
|
||||||
; if chain_length <=16, don't use the unrolled loop
|
|
||||||
jna normalbeg0add16
|
|
||||||
|
|
||||||
do16:
|
|
||||||
cmp word ptr[edi+eax],bx
|
|
||||||
je normalbeg2dc0
|
|
||||||
|
|
||||||
maccn MACRO lab
|
|
||||||
and eax,7fffh
|
|
||||||
mov ax,word ptr[esi+eax*2]
|
|
||||||
cmp ecx,eax
|
|
||||||
jnb exitloop
|
|
||||||
cmp word ptr[edi+eax],bx
|
|
||||||
je lab
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
rcontloop0:
|
|
||||||
maccn normalbeg2dc1
|
|
||||||
|
|
||||||
rcontloop1:
|
|
||||||
maccn normalbeg2dc2
|
|
||||||
|
|
||||||
rcontloop2:
|
|
||||||
maccn normalbeg2dc3
|
|
||||||
|
|
||||||
rcontloop3:
|
|
||||||
maccn normalbeg2dc4
|
|
||||||
|
|
||||||
rcontloop4:
|
|
||||||
maccn normalbeg2dc5
|
|
||||||
|
|
||||||
rcontloop5:
|
|
||||||
maccn normalbeg2dc6
|
|
||||||
|
|
||||||
rcontloop6:
|
|
||||||
maccn normalbeg2dc7
|
|
||||||
|
|
||||||
rcontloop7:
|
|
||||||
maccn normalbeg2dc8
|
|
||||||
|
|
||||||
rcontloop8:
|
|
||||||
maccn normalbeg2dc9
|
|
||||||
|
|
||||||
rcontloop9:
|
|
||||||
maccn normalbeg2dc10
|
|
||||||
|
|
||||||
rcontloop10:
|
|
||||||
maccn short normalbeg2dc11
|
|
||||||
|
|
||||||
rcontloop11:
|
|
||||||
maccn short normalbeg2dc12
|
|
||||||
|
|
||||||
rcontloop12:
|
|
||||||
maccn short normalbeg2dc13
|
|
||||||
|
|
||||||
rcontloop13:
|
|
||||||
maccn short normalbeg2dc14
|
|
||||||
|
|
||||||
rcontloop14:
|
|
||||||
maccn short normalbeg2dc15
|
|
||||||
|
|
||||||
rcontloop15:
|
|
||||||
and eax,7fffh
|
|
||||||
mov ax,word ptr[esi+eax*2]
|
|
||||||
cmp ecx,eax
|
|
||||||
jnb exitloop
|
|
||||||
|
|
||||||
sub chain_length,16
|
|
||||||
ja do16
|
|
||||||
jmp normalbeg0add16
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
normbeg MACRO rcontlab,valsub
|
|
||||||
; if we are here, we know that *(match+best_len-1) == scan_end
|
|
||||||
cmp bp,word ptr[edx+eax]
|
|
||||||
; if (match != scan_start) goto rcontlab
|
|
||||||
jne rcontlab
|
|
||||||
; calculate the good chain_length, and we'll compare scan and match string
|
|
||||||
add chain_length,16-valsub
|
|
||||||
jmp iseq
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
|
|
||||||
normalbeg2dc11:
|
|
||||||
normbeg rcontloop11,11
|
|
||||||
|
|
||||||
normalbeg2dc12:
|
|
||||||
normbeg short rcontloop12,12
|
|
||||||
|
|
||||||
normalbeg2dc13:
|
|
||||||
normbeg short rcontloop13,13
|
|
||||||
|
|
||||||
normalbeg2dc14:
|
|
||||||
normbeg short rcontloop14,14
|
|
||||||
|
|
||||||
normalbeg2dc15:
|
|
||||||
normbeg short rcontloop15,15
|
|
||||||
|
|
||||||
normalbeg2dc10:
|
|
||||||
normbeg rcontloop10,10
|
|
||||||
|
|
||||||
normalbeg2dc9:
|
|
||||||
normbeg rcontloop9,9
|
|
||||||
|
|
||||||
normalbeg2dc8:
|
|
||||||
normbeg rcontloop8,8
|
|
||||||
|
|
||||||
normalbeg2dc7:
|
|
||||||
normbeg rcontloop7,7
|
|
||||||
|
|
||||||
normalbeg2dc6:
|
|
||||||
normbeg rcontloop6,6
|
|
||||||
|
|
||||||
normalbeg2dc5:
|
|
||||||
normbeg rcontloop5,5
|
|
||||||
|
|
||||||
normalbeg2dc4:
|
|
||||||
normbeg rcontloop4,4
|
|
||||||
|
|
||||||
normalbeg2dc3:
|
|
||||||
normbeg rcontloop3,3
|
|
||||||
|
|
||||||
normalbeg2dc2:
|
|
||||||
normbeg rcontloop2,2
|
|
||||||
|
|
||||||
normalbeg2dc1:
|
|
||||||
normbeg rcontloop1,1
|
|
||||||
|
|
||||||
normalbeg2dc0:
|
|
||||||
normbeg rcontloop0,0
|
|
||||||
|
|
||||||
|
|
||||||
; we go in normalbeg2 because *(ushf*)(match+best_len-1) == scan_end
|
|
||||||
|
|
||||||
normalbeg2:
|
|
||||||
mov edi,window
|
|
||||||
|
|
||||||
cmp bp,word ptr[edi+eax]
|
|
||||||
jne contloop3 ; if *(ushf*)match != scan_start, continue
|
|
||||||
|
|
||||||
iseq:
|
|
||||||
; if we are here, we know that *(match+best_len-1) == scan_end
|
|
||||||
; and (match == scan_start)
|
|
||||||
|
|
||||||
mov edi,edx
|
|
||||||
mov esi,scan ; esi = scan
|
|
||||||
add edi,eax ; edi = window + cur_match = match
|
|
||||||
|
|
||||||
mov edx,[esi+3] ; compare manually dword at match+3
|
|
||||||
xor edx,[edi+3] ; and scan +3
|
|
||||||
|
|
||||||
jz begincompare ; if equal, go to long compare
|
|
||||||
|
|
||||||
; we will determine the unmatch byte and calculate len (in esi)
|
|
||||||
or dl,dl
|
|
||||||
je eq1rr
|
|
||||||
mov esi,3
|
|
||||||
jmp trfinval
|
|
||||||
eq1rr:
|
|
||||||
or dx,dx
|
|
||||||
je eq1
|
|
||||||
|
|
||||||
mov esi,4
|
|
||||||
jmp trfinval
|
|
||||||
eq1:
|
|
||||||
and edx,0ffffffh
|
|
||||||
jz eq11
|
|
||||||
mov esi,5
|
|
||||||
jmp trfinval
|
|
||||||
eq11:
|
|
||||||
mov esi,6
|
|
||||||
jmp trfinval
|
|
||||||
|
|
||||||
begincompare:
|
|
||||||
; here we now scan and match begin same
|
|
||||||
add edi,6
|
|
||||||
add esi,6
|
|
||||||
mov ecx,(MAX_MATCH-(2+4))/4 ; scan for at most MAX_MATCH bytes
|
|
||||||
repe cmpsd ; loop until mismatch
|
|
||||||
|
|
||||||
je trfin ; go to trfin if not unmatch
|
|
||||||
; we determine the unmatch byte
|
|
||||||
sub esi,4
|
|
||||||
mov edx,[edi-4]
|
|
||||||
xor edx,[esi]
|
|
||||||
|
|
||||||
or dl,dl
|
|
||||||
jnz trfin
|
|
||||||
inc esi
|
|
||||||
|
|
||||||
or dx,dx
|
|
||||||
jnz trfin
|
|
||||||
inc esi
|
|
||||||
|
|
||||||
and edx,0ffffffh
|
|
||||||
jnz trfin
|
|
||||||
inc esi
|
|
||||||
|
|
||||||
trfin:
|
|
||||||
sub esi,scan ; esi = len
|
|
||||||
trfinval:
|
|
||||||
; here we have finised compare, and esi contain len of equal string
|
|
||||||
cmp esi,best_len ; if len > best_len, go newbestlen
|
|
||||||
ja short newbestlen
|
|
||||||
; now we restore edx, ecx and esi, for the big loop
|
|
||||||
mov esi,prev
|
|
||||||
mov ecx,limit
|
|
||||||
mov edx,window
|
|
||||||
jmp contloop3
|
|
||||||
|
|
||||||
newbestlen:
|
|
||||||
mov best_len,esi ; len become best_len
|
|
||||||
|
|
||||||
mov match_start,eax ; save new position as match_start
|
|
||||||
cmp esi,nice_match ; if best_len >= nice_match, exit
|
|
||||||
jae exitloop
|
|
||||||
mov ecx,scan
|
|
||||||
mov edx,window ; restore edx=window
|
|
||||||
add ecx,esi
|
|
||||||
add esi,edx
|
|
||||||
|
|
||||||
dec esi
|
|
||||||
mov windowlen,esi ; windowlen = window + best_len-1
|
|
||||||
mov bx,[ecx-1] ; bx = *(scan+best_len-1) = scan_end
|
|
||||||
|
|
||||||
; now we restore ecx and esi, for the big loop :
|
|
||||||
mov esi,prev
|
|
||||||
mov ecx,limit
|
|
||||||
jmp contloop3
|
|
||||||
|
|
||||||
exitloop:
|
|
||||||
; exit : s->match_start=match_start
|
|
||||||
mov ebx,match_start
|
|
||||||
mov ebp,str_s
|
|
||||||
mov ecx,best_len
|
|
||||||
mov dword ptr [ebp+dep_match_start],ebx
|
|
||||||
mov eax,dword ptr [ebp+dep_lookahead]
|
|
||||||
cmp ecx,eax
|
|
||||||
ja minexlo
|
|
||||||
mov eax,ecx
|
|
||||||
minexlo:
|
|
||||||
; return min(best_len,s->lookahead)
|
|
||||||
|
|
||||||
; restore stack and register ebx,esi,edi,ebp
|
|
||||||
add esp,NbStackAdd
|
|
||||||
|
|
||||||
pop ebx
|
|
||||||
pop esi
|
|
||||||
pop edi
|
|
||||||
pop ebp
|
|
||||||
ret
|
|
||||||
InfoAuthor:
|
|
||||||
; please don't remove this string !
|
|
||||||
; Your are free use gvmat32 in any fre or commercial apps if you don't remove the string in the binary!
|
|
||||||
db 0dh,0ah,"GVMat32 optimised assembly code written 1996-98 by Gilles Vollant",0dh,0ah
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IFDEF NOUNDERLINE
|
|
||||||
longest_match_7fff endp
|
|
||||||
ELSE
|
|
||||||
_longest_match_7fff endp
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
IFDEF NOUNDERLINE
|
|
||||||
cpudetect32 proc near
|
|
||||||
ELSE
|
|
||||||
_cpudetect32 proc near
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
push ebx
|
|
||||||
|
|
||||||
pushfd ; push original EFLAGS
|
|
||||||
pop eax ; get original EFLAGS
|
|
||||||
mov ecx, eax ; save original EFLAGS
|
|
||||||
xor eax, 40000h ; flip AC bit in EFLAGS
|
|
||||||
push eax ; save new EFLAGS value on stack
|
|
||||||
popfd ; replace current EFLAGS value
|
|
||||||
pushfd ; get new EFLAGS
|
|
||||||
pop eax ; store new EFLAGS in EAX
|
|
||||||
xor eax, ecx ; can<61>t toggle AC bit, processor=80386
|
|
||||||
jz end_cpu_is_386 ; jump if 80386 processor
|
|
||||||
push ecx
|
|
||||||
popfd ; restore AC bit in EFLAGS first
|
|
||||||
|
|
||||||
pushfd
|
|
||||||
pushfd
|
|
||||||
pop ecx
|
|
||||||
|
|
||||||
mov eax, ecx ; get original EFLAGS
|
|
||||||
xor eax, 200000h ; flip ID bit in EFLAGS
|
|
||||||
push eax ; save new EFLAGS value on stack
|
|
||||||
popfd ; replace current EFLAGS value
|
|
||||||
pushfd ; get new EFLAGS
|
|
||||||
pop eax ; store new EFLAGS in EAX
|
|
||||||
popfd ; restore original EFLAGS
|
|
||||||
xor eax, ecx ; can<61>t toggle ID bit,
|
|
||||||
je is_old_486 ; processor=old
|
|
||||||
|
|
||||||
mov eax,1
|
|
||||||
db 0fh,0a2h ;CPUID
|
|
||||||
|
|
||||||
exitcpudetect:
|
|
||||||
pop ebx
|
|
||||||
ret
|
|
||||||
|
|
||||||
end_cpu_is_386:
|
|
||||||
mov eax,0300h
|
|
||||||
jmp exitcpudetect
|
|
||||||
|
|
||||||
is_old_486:
|
|
||||||
mov eax,0400h
|
|
||||||
jmp exitcpudetect
|
|
||||||
|
|
||||||
IFDEF NOUNDERLINE
|
|
||||||
cpudetect32 endp
|
|
||||||
ELSE
|
|
||||||
_cpudetect32 endp
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
MAX_MATCH equ 258
|
|
||||||
MIN_MATCH equ 3
|
|
||||||
MIN_LOOKAHEAD equ (MAX_MATCH + MIN_MATCH + 1)
|
|
||||||
MAX_MATCH_8_ equ ((MAX_MATCH + 7) AND 0FFF0h)
|
|
||||||
|
|
||||||
|
|
||||||
;;; stack frame offsets
|
|
||||||
|
|
||||||
chainlenwmask equ esp + 0 ; high word: current chain len
|
|
||||||
; low word: s->wmask
|
|
||||||
window equ esp + 4 ; local copy of s->window
|
|
||||||
windowbestlen equ esp + 8 ; s->window + bestlen
|
|
||||||
scanstart equ esp + 16 ; first two bytes of string
|
|
||||||
scanend equ esp + 12 ; last two bytes of string
|
|
||||||
scanalign equ esp + 20 ; dword-misalignment of string
|
|
||||||
nicematch equ esp + 24 ; a good enough match size
|
|
||||||
bestlen equ esp + 28 ; size of best match so far
|
|
||||||
scan equ esp + 32 ; ptr to string wanting match
|
|
||||||
|
|
||||||
LocalVarsSize equ 36
|
|
||||||
; saved ebx byte esp + 36
|
|
||||||
; saved edi byte esp + 40
|
|
||||||
; saved esi byte esp + 44
|
|
||||||
; saved ebp byte esp + 48
|
|
||||||
; return address byte esp + 52
|
|
||||||
deflatestate equ esp + 56 ; the function arguments
|
|
||||||
curmatch equ esp + 60
|
|
||||||
|
|
||||||
;;; Offsets for fields in the deflate_state structure. These numbers
|
|
||||||
;;; are calculated from the definition of deflate_state, with the
|
|
||||||
;;; assumption that the compiler will dword-align the fields. (Thus,
|
|
||||||
;;; changing the definition of deflate_state could easily cause this
|
|
||||||
;;; program to crash horribly, without so much as a warning at
|
|
||||||
;;; compile time. Sigh.)
|
|
||||||
|
|
||||||
dsWSize equ 36+zlib1222add
|
|
||||||
dsWMask equ 44+zlib1222add
|
|
||||||
dsWindow equ 48+zlib1222add
|
|
||||||
dsPrev equ 56+zlib1222add
|
|
||||||
dsMatchLen equ 88+zlib1222add
|
|
||||||
dsPrevMatch equ 92+zlib1222add
|
|
||||||
dsStrStart equ 100+zlib1222add
|
|
||||||
dsMatchStart equ 104+zlib1222add
|
|
||||||
dsLookahead equ 108+zlib1222add
|
|
||||||
dsPrevLen equ 112+zlib1222add
|
|
||||||
dsMaxChainLen equ 116+zlib1222add
|
|
||||||
dsGoodMatch equ 132+zlib1222add
|
|
||||||
dsNiceMatch equ 136+zlib1222add
|
|
||||||
|
|
||||||
|
|
||||||
;;; match.asm -- Pentium-Pro-optimized version of longest_match()
|
|
||||||
;;; Written for zlib 1.1.2
|
|
||||||
;;; Copyright (C) 1998 Brian Raiter <breadbox@muppetlabs.com>
|
|
||||||
;;; You can look at http://www.muppetlabs.com/~breadbox/software/assembly.html
|
|
||||||
;;;
|
|
||||||
;;; This is free software; you can redistribute it and/or modify it
|
|
||||||
;;; under the terms of the GNU General Public License.
|
|
||||||
|
|
||||||
;GLOBAL _longest_match, _match_init
|
|
||||||
|
|
||||||
|
|
||||||
;SECTION .text
|
|
||||||
|
|
||||||
;;; uInt longest_match(deflate_state *deflatestate, IPos curmatch)
|
|
||||||
|
|
||||||
;_longest_match:
|
|
||||||
IFDEF NOOLDPENTIUMCODE
|
|
||||||
IFDEF NOUNDERLINE
|
|
||||||
longest_match proc near
|
|
||||||
ELSE
|
|
||||||
_longest_match proc near
|
|
||||||
ENDIF
|
|
||||||
ELSE
|
|
||||||
IFDEF NOUNDERLINE
|
|
||||||
longest_match_686 proc near
|
|
||||||
ELSE
|
|
||||||
_longest_match_686 proc near
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
;;; Save registers that the compiler may be using, and adjust esp to
|
|
||||||
;;; make room for our stack frame.
|
|
||||||
|
|
||||||
push ebp
|
|
||||||
push edi
|
|
||||||
push esi
|
|
||||||
push ebx
|
|
||||||
sub esp, LocalVarsSize
|
|
||||||
|
|
||||||
;;; Retrieve the function arguments. ecx will hold cur_match
|
|
||||||
;;; throughout the entire function. edx will hold the pointer to the
|
|
||||||
;;; deflate_state structure during the function's setup (before
|
|
||||||
;;; entering the main loop.
|
|
||||||
|
|
||||||
mov edx, [deflatestate]
|
|
||||||
mov ecx, [curmatch]
|
|
||||||
|
|
||||||
;;; uInt wmask = s->w_mask;
|
|
||||||
;;; unsigned chain_length = s->max_chain_length;
|
|
||||||
;;; if (s->prev_length >= s->good_match) {
|
|
||||||
;;; chain_length >>= 2;
|
|
||||||
;;; }
|
|
||||||
|
|
||||||
mov eax, [edx + dsPrevLen]
|
|
||||||
mov ebx, [edx + dsGoodMatch]
|
|
||||||
cmp eax, ebx
|
|
||||||
mov eax, [edx + dsWMask]
|
|
||||||
mov ebx, [edx + dsMaxChainLen]
|
|
||||||
jl LastMatchGood
|
|
||||||
shr ebx, 2
|
|
||||||
LastMatchGood:
|
|
||||||
|
|
||||||
;;; chainlen is decremented once beforehand so that the function can
|
|
||||||
;;; use the sign flag instead of the zero flag for the exit test.
|
|
||||||
;;; It is then shifted into the high word, to make room for the wmask
|
|
||||||
;;; value, which it will always accompany.
|
|
||||||
|
|
||||||
dec ebx
|
|
||||||
shl ebx, 16
|
|
||||||
or ebx, eax
|
|
||||||
mov [chainlenwmask], ebx
|
|
||||||
|
|
||||||
;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
|
|
||||||
|
|
||||||
mov eax, [edx + dsNiceMatch]
|
|
||||||
mov ebx, [edx + dsLookahead]
|
|
||||||
cmp ebx, eax
|
|
||||||
jl LookaheadLess
|
|
||||||
mov ebx, eax
|
|
||||||
LookaheadLess: mov [nicematch], ebx
|
|
||||||
|
|
||||||
;;; register Bytef *scan = s->window + s->strstart;
|
|
||||||
|
|
||||||
mov esi, [edx + dsWindow]
|
|
||||||
mov [window], esi
|
|
||||||
mov ebp, [edx + dsStrStart]
|
|
||||||
lea edi, [esi + ebp]
|
|
||||||
mov [scan], edi
|
|
||||||
|
|
||||||
;;; Determine how many bytes the scan ptr is off from being
|
|
||||||
;;; dword-aligned.
|
|
||||||
|
|
||||||
mov eax, edi
|
|
||||||
neg eax
|
|
||||||
and eax, 3
|
|
||||||
mov [scanalign], eax
|
|
||||||
|
|
||||||
;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
|
|
||||||
;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
|
|
||||||
|
|
||||||
mov eax, [edx + dsWSize]
|
|
||||||
sub eax, MIN_LOOKAHEAD
|
|
||||||
sub ebp, eax
|
|
||||||
jg LimitPositive
|
|
||||||
xor ebp, ebp
|
|
||||||
LimitPositive:
|
|
||||||
|
|
||||||
;;; int best_len = s->prev_length;
|
|
||||||
|
|
||||||
mov eax, [edx + dsPrevLen]
|
|
||||||
mov [bestlen], eax
|
|
||||||
|
|
||||||
;;; Store the sum of s->window + best_len in esi locally, and in esi.
|
|
||||||
|
|
||||||
add esi, eax
|
|
||||||
mov [windowbestlen], esi
|
|
||||||
|
|
||||||
;;; register ush scan_start = *(ushf*)scan;
|
|
||||||
;;; register ush scan_end = *(ushf*)(scan+best_len-1);
|
|
||||||
;;; Posf *prev = s->prev;
|
|
||||||
|
|
||||||
movzx ebx, word ptr [edi]
|
|
||||||
mov [scanstart], ebx
|
|
||||||
movzx ebx, word ptr [edi + eax - 1]
|
|
||||||
mov [scanend], ebx
|
|
||||||
mov edi, [edx + dsPrev]
|
|
||||||
|
|
||||||
;;; Jump into the main loop.
|
|
||||||
|
|
||||||
mov edx, [chainlenwmask]
|
|
||||||
jmp short LoopEntry
|
|
||||||
|
|
||||||
align 4
|
|
||||||
|
|
||||||
;;; do {
|
|
||||||
;;; match = s->window + cur_match;
|
|
||||||
;;; if (*(ushf*)(match+best_len-1) != scan_end ||
|
|
||||||
;;; *(ushf*)match != scan_start) continue;
|
|
||||||
;;; [...]
|
|
||||||
;;; } while ((cur_match = prev[cur_match & wmask]) > limit
|
|
||||||
;;; && --chain_length != 0);
|
|
||||||
;;;
|
|
||||||
;;; Here is the inner loop of the function. The function will spend the
|
|
||||||
;;; majority of its time in this loop, and majority of that time will
|
|
||||||
;;; be spent in the first ten instructions.
|
|
||||||
;;;
|
|
||||||
;;; Within this loop:
|
|
||||||
;;; ebx = scanend
|
|
||||||
;;; ecx = curmatch
|
|
||||||
;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
|
|
||||||
;;; esi = windowbestlen - i.e., (window + bestlen)
|
|
||||||
;;; edi = prev
|
|
||||||
;;; ebp = limit
|
|
||||||
|
|
||||||
LookupLoop:
|
|
||||||
and ecx, edx
|
|
||||||
movzx ecx, word ptr [edi + ecx*2]
|
|
||||||
cmp ecx, ebp
|
|
||||||
jbe LeaveNow
|
|
||||||
sub edx, 00010000h
|
|
||||||
js LeaveNow
|
|
||||||
LoopEntry: movzx eax, word ptr [esi + ecx - 1]
|
|
||||||
cmp eax, ebx
|
|
||||||
jnz LookupLoop
|
|
||||||
mov eax, [window]
|
|
||||||
movzx eax, word ptr [eax + ecx]
|
|
||||||
cmp eax, [scanstart]
|
|
||||||
jnz LookupLoop
|
|
||||||
|
|
||||||
;;; Store the current value of chainlen.
|
|
||||||
|
|
||||||
mov [chainlenwmask], edx
|
|
||||||
|
|
||||||
;;; Point edi to the string under scrutiny, and esi to the string we
|
|
||||||
;;; are hoping to match it up with. In actuality, esi and edi are
|
|
||||||
;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is
|
|
||||||
;;; initialized to -(MAX_MATCH_8 - scanalign).
|
|
||||||
|
|
||||||
mov esi, [window]
|
|
||||||
mov edi, [scan]
|
|
||||||
add esi, ecx
|
|
||||||
mov eax, [scanalign]
|
|
||||||
mov edx, 0fffffef8h; -(MAX_MATCH_8)
|
|
||||||
lea edi, [edi + eax + 0108h] ;MAX_MATCH_8]
|
|
||||||
lea esi, [esi + eax + 0108h] ;MAX_MATCH_8]
|
|
||||||
|
|
||||||
;;; Test the strings for equality, 8 bytes at a time. At the end,
|
|
||||||
;;; adjust edx so that it is offset to the exact byte that mismatched.
|
|
||||||
;;;
|
|
||||||
;;; We already know at this point that the first three bytes of the
|
|
||||||
;;; strings match each other, and they can be safely passed over before
|
|
||||||
;;; starting the compare loop. So what this code does is skip over 0-3
|
|
||||||
;;; bytes, as much as necessary in order to dword-align the edi
|
|
||||||
;;; pointer. (esi will still be misaligned three times out of four.)
|
|
||||||
;;;
|
|
||||||
;;; It should be confessed that this loop usually does not represent
|
|
||||||
;;; much of the total running time. Replacing it with a more
|
|
||||||
;;; straightforward "rep cmpsb" would not drastically degrade
|
|
||||||
;;; performance.
|
|
||||||
|
|
||||||
LoopCmps:
|
|
||||||
mov eax, [esi + edx]
|
|
||||||
xor eax, [edi + edx]
|
|
||||||
jnz LeaveLoopCmps
|
|
||||||
mov eax, [esi + edx + 4]
|
|
||||||
xor eax, [edi + edx + 4]
|
|
||||||
jnz LeaveLoopCmps4
|
|
||||||
add edx, 8
|
|
||||||
jnz LoopCmps
|
|
||||||
jmp short LenMaximum
|
|
||||||
LeaveLoopCmps4: add edx, 4
|
|
||||||
LeaveLoopCmps: test eax, 0000FFFFh
|
|
||||||
jnz LenLower
|
|
||||||
add edx, 2
|
|
||||||
shr eax, 16
|
|
||||||
LenLower: sub al, 1
|
|
||||||
adc edx, 0
|
|
||||||
|
|
||||||
;;; Calculate the length of the match. If it is longer than MAX_MATCH,
|
|
||||||
;;; then automatically accept it as the best possible match and leave.
|
|
||||||
|
|
||||||
lea eax, [edi + edx]
|
|
||||||
mov edi, [scan]
|
|
||||||
sub eax, edi
|
|
||||||
cmp eax, MAX_MATCH
|
|
||||||
jge LenMaximum
|
|
||||||
|
|
||||||
;;; If the length of the match is not longer than the best match we
|
|
||||||
;;; have so far, then forget it and return to the lookup loop.
|
|
||||||
|
|
||||||
mov edx, [deflatestate]
|
|
||||||
mov ebx, [bestlen]
|
|
||||||
cmp eax, ebx
|
|
||||||
jg LongerMatch
|
|
||||||
mov esi, [windowbestlen]
|
|
||||||
mov edi, [edx + dsPrev]
|
|
||||||
mov ebx, [scanend]
|
|
||||||
mov edx, [chainlenwmask]
|
|
||||||
jmp LookupLoop
|
|
||||||
|
|
||||||
;;; s->match_start = cur_match;
|
|
||||||
;;; best_len = len;
|
|
||||||
;;; if (len >= nice_match) break;
|
|
||||||
;;; scan_end = *(ushf*)(scan+best_len-1);
|
|
||||||
|
|
||||||
LongerMatch: mov ebx, [nicematch]
|
|
||||||
mov [bestlen], eax
|
|
||||||
mov [edx + dsMatchStart], ecx
|
|
||||||
cmp eax, ebx
|
|
||||||
jge LeaveNow
|
|
||||||
mov esi, [window]
|
|
||||||
add esi, eax
|
|
||||||
mov [windowbestlen], esi
|
|
||||||
movzx ebx, word ptr [edi + eax - 1]
|
|
||||||
mov edi, [edx + dsPrev]
|
|
||||||
mov [scanend], ebx
|
|
||||||
mov edx, [chainlenwmask]
|
|
||||||
jmp LookupLoop
|
|
||||||
|
|
||||||
;;; Accept the current string, with the maximum possible length.
|
|
||||||
|
|
||||||
LenMaximum: mov edx, [deflatestate]
|
|
||||||
mov dword ptr [bestlen], MAX_MATCH
|
|
||||||
mov [edx + dsMatchStart], ecx
|
|
||||||
|
|
||||||
;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
|
|
||||||
;;; return s->lookahead;
|
|
||||||
|
|
||||||
LeaveNow:
|
|
||||||
mov edx, [deflatestate]
|
|
||||||
mov ebx, [bestlen]
|
|
||||||
mov eax, [edx + dsLookahead]
|
|
||||||
cmp ebx, eax
|
|
||||||
jg LookaheadRet
|
|
||||||
mov eax, ebx
|
|
||||||
LookaheadRet:
|
|
||||||
|
|
||||||
;;; Restore the stack and return from whence we came.
|
|
||||||
|
|
||||||
add esp, LocalVarsSize
|
|
||||||
pop ebx
|
|
||||||
pop esi
|
|
||||||
pop edi
|
|
||||||
pop ebp
|
|
||||||
|
|
||||||
ret
|
|
||||||
; please don't remove this string !
|
|
||||||
; Your can freely use gvmat32 in any free or commercial app if you don't remove the string in the binary!
|
|
||||||
db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998",0dh,0ah
|
|
||||||
|
|
||||||
|
|
||||||
IFDEF NOOLDPENTIUMCODE
|
|
||||||
IFDEF NOUNDERLINE
|
|
||||||
longest_match endp
|
|
||||||
ELSE
|
|
||||||
_longest_match endp
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
IFDEF NOUNDERLINE
|
|
||||||
match_init proc near
|
|
||||||
ret
|
|
||||||
match_init endp
|
|
||||||
ELSE
|
|
||||||
_match_init proc near
|
|
||||||
ret
|
|
||||||
_match_init endp
|
|
||||||
ENDIF
|
|
||||||
ELSE
|
|
||||||
IFDEF NOUNDERLINE
|
|
||||||
longest_match_686 endp
|
|
||||||
ELSE
|
|
||||||
_longest_match_686 endp
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
_TEXT ends
|
|
||||||
end
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
/* gvmat32.c -- C portion of the optimized longest_match for 32 bits x86
|
|
||||||
* Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant.
|
|
||||||
* File written by Gilles Vollant, by modifiying the longest_match
|
|
||||||
* from Jean-loup Gailly in deflate.c
|
|
||||||
* it prepare all parameters and call the assembly longest_match_gvasm
|
|
||||||
* longest_match execute standard C code is wmask != 0x7fff
|
|
||||||
* (assembly code is faster with a fixed wmask)
|
|
||||||
*
|
|
||||||
* Read comment at beginning of gvmat32.asm for more information
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(ASMV) && (!defined(NOOLDPENTIUMCODE))
|
|
||||||
#include "deflate.h"
|
|
||||||
|
|
||||||
/* if your C compiler don't add underline before function name,
|
|
||||||
define ADD_UNDERLINE_ASMFUNC */
|
|
||||||
#ifdef ADD_UNDERLINE_ASMFUNC
|
|
||||||
#define longest_match_7fff _longest_match_7fff
|
|
||||||
#define longest_match_686 _longest_match_686
|
|
||||||
#define cpudetect32 _cpudetect32
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
unsigned long cpudetect32();
|
|
||||||
|
|
||||||
uInt longest_match_c(
|
|
||||||
deflate_state *s,
|
|
||||||
IPos cur_match); /* current match */
|
|
||||||
|
|
||||||
|
|
||||||
uInt longest_match_7fff(
|
|
||||||
deflate_state *s,
|
|
||||||
IPos cur_match); /* current match */
|
|
||||||
|
|
||||||
uInt longest_match_686(
|
|
||||||
deflate_state *s,
|
|
||||||
IPos cur_match); /* current match */
|
|
||||||
|
|
||||||
|
|
||||||
static uInt iIsPPro=2;
|
|
||||||
|
|
||||||
void match_init ()
|
|
||||||
{
|
|
||||||
iIsPPro = (((cpudetect32()/0x100)&0xf)>=6) ? 1 : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
uInt longest_match(
|
|
||||||
deflate_state *s,
|
|
||||||
IPos cur_match) /* current match */
|
|
||||||
{
|
|
||||||
if (iIsPPro!=0)
|
|
||||||
return longest_match_686(s,cur_match);
|
|
||||||
|
|
||||||
if (s->w_mask != 0x7fff)
|
|
||||||
return longest_match_686(s,cur_match);
|
|
||||||
|
|
||||||
/* now ((s->w_mask == 0x7fff) && (iIsPPro==0)) */
|
|
||||||
return longest_match_7fff(s,cur_match);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* defined(ASMV) && (!defined(NOOLDPENTIUMCODE)) */
|
|
||||||
@@ -73,11 +73,6 @@ inflate_fast_use_mmx:
|
|||||||
|
|
||||||
|
|
||||||
_TEXT segment
|
_TEXT segment
|
||||||
PUBLIC _inflate_fast
|
|
||||||
|
|
||||||
ALIGN 4
|
|
||||||
_inflate_fast:
|
|
||||||
jmp inflate_fast_entry
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -163,7 +158,8 @@ distbits_state equ (76+4+zlib1222sup) ;/* state->distbits */
|
|||||||
;SECTION .text
|
;SECTION .text
|
||||||
|
|
||||||
ALIGN 4
|
ALIGN 4
|
||||||
inflate_fast_entry:
|
_inflate_fast proc near
|
||||||
|
.FPO (16, 4, 0, 0, 1, 0)
|
||||||
push edi
|
push edi
|
||||||
push esi
|
push esi
|
||||||
push ebp
|
push ebp
|
||||||
@@ -1078,6 +1074,7 @@ L_done:
|
|||||||
pop esi
|
pop esi
|
||||||
pop edi
|
pop edi
|
||||||
ret
|
ret
|
||||||
|
_inflate_fast endp
|
||||||
|
|
||||||
_TEXT ends
|
_TEXT ends
|
||||||
end
|
end
|
||||||
|
|||||||
479
contrib/masmx86/match686.asm
Normal file
479
contrib/masmx86/match686.asm
Normal file
@@ -0,0 +1,479 @@
|
|||||||
|
; match686.asm -- Asm portion of the optimized longest_match for 32 bits x86
|
||||||
|
; Copyright (C) 1995-1996 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
|
||||||
|
; File written by Gilles Vollant, by converting match686.S from Brian Raiter
|
||||||
|
; for MASM. This is as assembly version of longest_match
|
||||||
|
; from Jean-loup Gailly in deflate.c
|
||||||
|
;
|
||||||
|
; http://www.zlib.net
|
||||||
|
; http://www.winimage.com/zLibDll
|
||||||
|
; http://www.muppetlabs.com/~breadbox/software/assembly.html
|
||||||
|
;
|
||||||
|
; For Visual C++ 4.x and higher and ML 6.x and higher
|
||||||
|
; ml.exe is distributed in
|
||||||
|
; http://www.microsoft.com/downloads/details.aspx?FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
|
||||||
|
;
|
||||||
|
; this file contain two implementation of longest_match
|
||||||
|
;
|
||||||
|
; this longest_match was written by Brian raiter (1998), optimized for Pentium Pro
|
||||||
|
; (and the faster known version of match_init on modern Core 2 Duo and AMD Phenom)
|
||||||
|
;
|
||||||
|
; for using an assembly version of longest_match, you need define ASMV in project
|
||||||
|
;
|
||||||
|
; compile the asm file running
|
||||||
|
; ml /coff /Zi /c /Flmatch686.lst match686.asm
|
||||||
|
; and do not include match686.obj in your project
|
||||||
|
;
|
||||||
|
; note: contrib of zLib 1.2.3 and earlier contained both a deprecated version for
|
||||||
|
; Pentium (prior Pentium Pro) and this version for Pentium Pro and modern processor
|
||||||
|
; with autoselect (with cpu detection code)
|
||||||
|
; if you want support the old pentium optimization, you can still use these version
|
||||||
|
;
|
||||||
|
; this file is not optimized for old pentium, but it compatible with all x86 32 bits
|
||||||
|
; processor (starting 80386)
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; see below : zlib1222add must be adjuster if you use a zlib version < 1.2.2.2
|
||||||
|
|
||||||
|
;uInt longest_match(s, cur_match)
|
||||||
|
; deflate_state *s;
|
||||||
|
; IPos cur_match; /* current match */
|
||||||
|
|
||||||
|
NbStack equ 76
|
||||||
|
cur_match equ dword ptr[esp+NbStack-0]
|
||||||
|
str_s equ dword ptr[esp+NbStack-4]
|
||||||
|
; 5 dword on top (ret,ebp,esi,edi,ebx)
|
||||||
|
adrret equ dword ptr[esp+NbStack-8]
|
||||||
|
pushebp equ dword ptr[esp+NbStack-12]
|
||||||
|
pushedi equ dword ptr[esp+NbStack-16]
|
||||||
|
pushesi equ dword ptr[esp+NbStack-20]
|
||||||
|
pushebx equ dword ptr[esp+NbStack-24]
|
||||||
|
|
||||||
|
chain_length equ dword ptr [esp+NbStack-28]
|
||||||
|
limit equ dword ptr [esp+NbStack-32]
|
||||||
|
best_len equ dword ptr [esp+NbStack-36]
|
||||||
|
window equ dword ptr [esp+NbStack-40]
|
||||||
|
prev equ dword ptr [esp+NbStack-44]
|
||||||
|
scan_start equ word ptr [esp+NbStack-48]
|
||||||
|
wmask equ dword ptr [esp+NbStack-52]
|
||||||
|
match_start_ptr equ dword ptr [esp+NbStack-56]
|
||||||
|
nice_match equ dword ptr [esp+NbStack-60]
|
||||||
|
scan equ dword ptr [esp+NbStack-64]
|
||||||
|
|
||||||
|
windowlen equ dword ptr [esp+NbStack-68]
|
||||||
|
match_start equ dword ptr [esp+NbStack-72]
|
||||||
|
strend equ dword ptr [esp+NbStack-76]
|
||||||
|
NbStackAdd equ (NbStack-24)
|
||||||
|
|
||||||
|
.386p
|
||||||
|
|
||||||
|
name gvmatch
|
||||||
|
.MODEL FLAT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; all the +zlib1222add offsets are due to the addition of fields
|
||||||
|
; in zlib in the deflate_state structure since the asm code was first written
|
||||||
|
; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
|
||||||
|
; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
|
||||||
|
; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
|
||||||
|
|
||||||
|
zlib1222add equ 8
|
||||||
|
|
||||||
|
; Note : these value are good with a 8 bytes boundary pack structure
|
||||||
|
dep_chain_length equ 74h+zlib1222add
|
||||||
|
dep_window equ 30h+zlib1222add
|
||||||
|
dep_strstart equ 64h+zlib1222add
|
||||||
|
dep_prev_length equ 70h+zlib1222add
|
||||||
|
dep_nice_match equ 88h+zlib1222add
|
||||||
|
dep_w_size equ 24h+zlib1222add
|
||||||
|
dep_prev equ 38h+zlib1222add
|
||||||
|
dep_w_mask equ 2ch+zlib1222add
|
||||||
|
dep_good_match equ 84h+zlib1222add
|
||||||
|
dep_match_start equ 68h+zlib1222add
|
||||||
|
dep_lookahead equ 6ch+zlib1222add
|
||||||
|
|
||||||
|
|
||||||
|
_TEXT segment
|
||||||
|
|
||||||
|
IFDEF NOUNDERLINE
|
||||||
|
public longest_match
|
||||||
|
public match_init
|
||||||
|
ELSE
|
||||||
|
public _longest_match
|
||||||
|
public _match_init
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
MAX_MATCH equ 258
|
||||||
|
MIN_MATCH equ 3
|
||||||
|
MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
MAX_MATCH equ 258
|
||||||
|
MIN_MATCH equ 3
|
||||||
|
MIN_LOOKAHEAD equ (MAX_MATCH + MIN_MATCH + 1)
|
||||||
|
MAX_MATCH_8_ equ ((MAX_MATCH + 7) AND 0FFF0h)
|
||||||
|
|
||||||
|
|
||||||
|
;;; stack frame offsets
|
||||||
|
|
||||||
|
chainlenwmask equ esp + 0 ; high word: current chain len
|
||||||
|
; low word: s->wmask
|
||||||
|
window equ esp + 4 ; local copy of s->window
|
||||||
|
windowbestlen equ esp + 8 ; s->window + bestlen
|
||||||
|
scanstart equ esp + 16 ; first two bytes of string
|
||||||
|
scanend equ esp + 12 ; last two bytes of string
|
||||||
|
scanalign equ esp + 20 ; dword-misalignment of string
|
||||||
|
nicematch equ esp + 24 ; a good enough match size
|
||||||
|
bestlen equ esp + 28 ; size of best match so far
|
||||||
|
scan equ esp + 32 ; ptr to string wanting match
|
||||||
|
|
||||||
|
LocalVarsSize equ 36
|
||||||
|
; saved ebx byte esp + 36
|
||||||
|
; saved edi byte esp + 40
|
||||||
|
; saved esi byte esp + 44
|
||||||
|
; saved ebp byte esp + 48
|
||||||
|
; return address byte esp + 52
|
||||||
|
deflatestate equ esp + 56 ; the function arguments
|
||||||
|
curmatch equ esp + 60
|
||||||
|
|
||||||
|
;;; Offsets for fields in the deflate_state structure. These numbers
|
||||||
|
;;; are calculated from the definition of deflate_state, with the
|
||||||
|
;;; assumption that the compiler will dword-align the fields. (Thus,
|
||||||
|
;;; changing the definition of deflate_state could easily cause this
|
||||||
|
;;; program to crash horribly, without so much as a warning at
|
||||||
|
;;; compile time. Sigh.)
|
||||||
|
|
||||||
|
dsWSize equ 36+zlib1222add
|
||||||
|
dsWMask equ 44+zlib1222add
|
||||||
|
dsWindow equ 48+zlib1222add
|
||||||
|
dsPrev equ 56+zlib1222add
|
||||||
|
dsMatchLen equ 88+zlib1222add
|
||||||
|
dsPrevMatch equ 92+zlib1222add
|
||||||
|
dsStrStart equ 100+zlib1222add
|
||||||
|
dsMatchStart equ 104+zlib1222add
|
||||||
|
dsLookahead equ 108+zlib1222add
|
||||||
|
dsPrevLen equ 112+zlib1222add
|
||||||
|
dsMaxChainLen equ 116+zlib1222add
|
||||||
|
dsGoodMatch equ 132+zlib1222add
|
||||||
|
dsNiceMatch equ 136+zlib1222add
|
||||||
|
|
||||||
|
|
||||||
|
;;; match686.asm -- Pentium-Pro-optimized version of longest_match()
|
||||||
|
;;; Written for zlib 1.1.2
|
||||||
|
;;; Copyright (C) 1998 Brian Raiter <breadbox@muppetlabs.com>
|
||||||
|
;;; You can look at http://www.muppetlabs.com/~breadbox/software/assembly.html
|
||||||
|
;;;
|
||||||
|
;;
|
||||||
|
;; This software is provided 'as-is', without any express or implied
|
||||||
|
;; warranty. In no event will the authors be held liable for any damages
|
||||||
|
;; arising from the use of this software.
|
||||||
|
;;
|
||||||
|
;; Permission is granted to anyone to use this software for any purpose,
|
||||||
|
;; including commercial applications, and to alter it and redistribute it
|
||||||
|
;; freely, subject to the following restrictions:
|
||||||
|
;;
|
||||||
|
;; 1. The origin of this software must not be misrepresented; you must not
|
||||||
|
;; claim that you wrote the original software. If you use this software
|
||||||
|
;; in a product, an acknowledgment in the product documentation would be
|
||||||
|
;; appreciated but is not required.
|
||||||
|
;; 2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
;; misrepresented as being the original software
|
||||||
|
;; 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
;;
|
||||||
|
|
||||||
|
;GLOBAL _longest_match, _match_init
|
||||||
|
|
||||||
|
|
||||||
|
;SECTION .text
|
||||||
|
|
||||||
|
;;; uInt longest_match(deflate_state *deflatestate, IPos curmatch)
|
||||||
|
|
||||||
|
;_longest_match:
|
||||||
|
IFDEF NOUNDERLINE
|
||||||
|
longest_match proc near
|
||||||
|
ELSE
|
||||||
|
_longest_match proc near
|
||||||
|
ENDIF
|
||||||
|
.FPO (9, 4, 0, 0, 1, 0)
|
||||||
|
|
||||||
|
;;; Save registers that the compiler may be using, and adjust esp to
|
||||||
|
;;; make room for our stack frame.
|
||||||
|
|
||||||
|
push ebp
|
||||||
|
push edi
|
||||||
|
push esi
|
||||||
|
push ebx
|
||||||
|
sub esp, LocalVarsSize
|
||||||
|
|
||||||
|
;;; Retrieve the function arguments. ecx will hold cur_match
|
||||||
|
;;; throughout the entire function. edx will hold the pointer to the
|
||||||
|
;;; deflate_state structure during the function's setup (before
|
||||||
|
;;; entering the main loop.
|
||||||
|
|
||||||
|
mov edx, [deflatestate]
|
||||||
|
mov ecx, [curmatch]
|
||||||
|
|
||||||
|
;;; uInt wmask = s->w_mask;
|
||||||
|
;;; unsigned chain_length = s->max_chain_length;
|
||||||
|
;;; if (s->prev_length >= s->good_match) {
|
||||||
|
;;; chain_length >>= 2;
|
||||||
|
;;; }
|
||||||
|
|
||||||
|
mov eax, [edx + dsPrevLen]
|
||||||
|
mov ebx, [edx + dsGoodMatch]
|
||||||
|
cmp eax, ebx
|
||||||
|
mov eax, [edx + dsWMask]
|
||||||
|
mov ebx, [edx + dsMaxChainLen]
|
||||||
|
jl LastMatchGood
|
||||||
|
shr ebx, 2
|
||||||
|
LastMatchGood:
|
||||||
|
|
||||||
|
;;; chainlen is decremented once beforehand so that the function can
|
||||||
|
;;; use the sign flag instead of the zero flag for the exit test.
|
||||||
|
;;; It is then shifted into the high word, to make room for the wmask
|
||||||
|
;;; value, which it will always accompany.
|
||||||
|
|
||||||
|
dec ebx
|
||||||
|
shl ebx, 16
|
||||||
|
or ebx, eax
|
||||||
|
mov [chainlenwmask], ebx
|
||||||
|
|
||||||
|
;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
|
||||||
|
|
||||||
|
mov eax, [edx + dsNiceMatch]
|
||||||
|
mov ebx, [edx + dsLookahead]
|
||||||
|
cmp ebx, eax
|
||||||
|
jl LookaheadLess
|
||||||
|
mov ebx, eax
|
||||||
|
LookaheadLess: mov [nicematch], ebx
|
||||||
|
|
||||||
|
;;; register Bytef *scan = s->window + s->strstart;
|
||||||
|
|
||||||
|
mov esi, [edx + dsWindow]
|
||||||
|
mov [window], esi
|
||||||
|
mov ebp, [edx + dsStrStart]
|
||||||
|
lea edi, [esi + ebp]
|
||||||
|
mov [scan], edi
|
||||||
|
|
||||||
|
;;; Determine how many bytes the scan ptr is off from being
|
||||||
|
;;; dword-aligned.
|
||||||
|
|
||||||
|
mov eax, edi
|
||||||
|
neg eax
|
||||||
|
and eax, 3
|
||||||
|
mov [scanalign], eax
|
||||||
|
|
||||||
|
;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
|
||||||
|
;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
|
||||||
|
|
||||||
|
mov eax, [edx + dsWSize]
|
||||||
|
sub eax, MIN_LOOKAHEAD
|
||||||
|
sub ebp, eax
|
||||||
|
jg LimitPositive
|
||||||
|
xor ebp, ebp
|
||||||
|
LimitPositive:
|
||||||
|
|
||||||
|
;;; int best_len = s->prev_length;
|
||||||
|
|
||||||
|
mov eax, [edx + dsPrevLen]
|
||||||
|
mov [bestlen], eax
|
||||||
|
|
||||||
|
;;; Store the sum of s->window + best_len in esi locally, and in esi.
|
||||||
|
|
||||||
|
add esi, eax
|
||||||
|
mov [windowbestlen], esi
|
||||||
|
|
||||||
|
;;; register ush scan_start = *(ushf*)scan;
|
||||||
|
;;; register ush scan_end = *(ushf*)(scan+best_len-1);
|
||||||
|
;;; Posf *prev = s->prev;
|
||||||
|
|
||||||
|
movzx ebx, word ptr [edi]
|
||||||
|
mov [scanstart], ebx
|
||||||
|
movzx ebx, word ptr [edi + eax - 1]
|
||||||
|
mov [scanend], ebx
|
||||||
|
mov edi, [edx + dsPrev]
|
||||||
|
|
||||||
|
;;; Jump into the main loop.
|
||||||
|
|
||||||
|
mov edx, [chainlenwmask]
|
||||||
|
jmp short LoopEntry
|
||||||
|
|
||||||
|
align 4
|
||||||
|
|
||||||
|
;;; do {
|
||||||
|
;;; match = s->window + cur_match;
|
||||||
|
;;; if (*(ushf*)(match+best_len-1) != scan_end ||
|
||||||
|
;;; *(ushf*)match != scan_start) continue;
|
||||||
|
;;; [...]
|
||||||
|
;;; } while ((cur_match = prev[cur_match & wmask]) > limit
|
||||||
|
;;; && --chain_length != 0);
|
||||||
|
;;;
|
||||||
|
;;; Here is the inner loop of the function. The function will spend the
|
||||||
|
;;; majority of its time in this loop, and majority of that time will
|
||||||
|
;;; be spent in the first ten instructions.
|
||||||
|
;;;
|
||||||
|
;;; Within this loop:
|
||||||
|
;;; ebx = scanend
|
||||||
|
;;; ecx = curmatch
|
||||||
|
;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
|
||||||
|
;;; esi = windowbestlen - i.e., (window + bestlen)
|
||||||
|
;;; edi = prev
|
||||||
|
;;; ebp = limit
|
||||||
|
|
||||||
|
LookupLoop:
|
||||||
|
and ecx, edx
|
||||||
|
movzx ecx, word ptr [edi + ecx*2]
|
||||||
|
cmp ecx, ebp
|
||||||
|
jbe LeaveNow
|
||||||
|
sub edx, 00010000h
|
||||||
|
js LeaveNow
|
||||||
|
LoopEntry: movzx eax, word ptr [esi + ecx - 1]
|
||||||
|
cmp eax, ebx
|
||||||
|
jnz LookupLoop
|
||||||
|
mov eax, [window]
|
||||||
|
movzx eax, word ptr [eax + ecx]
|
||||||
|
cmp eax, [scanstart]
|
||||||
|
jnz LookupLoop
|
||||||
|
|
||||||
|
;;; Store the current value of chainlen.
|
||||||
|
|
||||||
|
mov [chainlenwmask], edx
|
||||||
|
|
||||||
|
;;; Point edi to the string under scrutiny, and esi to the string we
|
||||||
|
;;; are hoping to match it up with. In actuality, esi and edi are
|
||||||
|
;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is
|
||||||
|
;;; initialized to -(MAX_MATCH_8 - scanalign).
|
||||||
|
|
||||||
|
mov esi, [window]
|
||||||
|
mov edi, [scan]
|
||||||
|
add esi, ecx
|
||||||
|
mov eax, [scanalign]
|
||||||
|
mov edx, 0fffffef8h; -(MAX_MATCH_8)
|
||||||
|
lea edi, [edi + eax + 0108h] ;MAX_MATCH_8]
|
||||||
|
lea esi, [esi + eax + 0108h] ;MAX_MATCH_8]
|
||||||
|
|
||||||
|
;;; Test the strings for equality, 8 bytes at a time. At the end,
|
||||||
|
;;; adjust edx so that it is offset to the exact byte that mismatched.
|
||||||
|
;;;
|
||||||
|
;;; We already know at this point that the first three bytes of the
|
||||||
|
;;; strings match each other, and they can be safely passed over before
|
||||||
|
;;; starting the compare loop. So what this code does is skip over 0-3
|
||||||
|
;;; bytes, as much as necessary in order to dword-align the edi
|
||||||
|
;;; pointer. (esi will still be misaligned three times out of four.)
|
||||||
|
;;;
|
||||||
|
;;; It should be confessed that this loop usually does not represent
|
||||||
|
;;; much of the total running time. Replacing it with a more
|
||||||
|
;;; straightforward "rep cmpsb" would not drastically degrade
|
||||||
|
;;; performance.
|
||||||
|
|
||||||
|
LoopCmps:
|
||||||
|
mov eax, [esi + edx]
|
||||||
|
xor eax, [edi + edx]
|
||||||
|
jnz LeaveLoopCmps
|
||||||
|
mov eax, [esi + edx + 4]
|
||||||
|
xor eax, [edi + edx + 4]
|
||||||
|
jnz LeaveLoopCmps4
|
||||||
|
add edx, 8
|
||||||
|
jnz LoopCmps
|
||||||
|
jmp short LenMaximum
|
||||||
|
LeaveLoopCmps4: add edx, 4
|
||||||
|
LeaveLoopCmps: test eax, 0000FFFFh
|
||||||
|
jnz LenLower
|
||||||
|
add edx, 2
|
||||||
|
shr eax, 16
|
||||||
|
LenLower: sub al, 1
|
||||||
|
adc edx, 0
|
||||||
|
|
||||||
|
;;; Calculate the length of the match. If it is longer than MAX_MATCH,
|
||||||
|
;;; then automatically accept it as the best possible match and leave.
|
||||||
|
|
||||||
|
lea eax, [edi + edx]
|
||||||
|
mov edi, [scan]
|
||||||
|
sub eax, edi
|
||||||
|
cmp eax, MAX_MATCH
|
||||||
|
jge LenMaximum
|
||||||
|
|
||||||
|
;;; If the length of the match is not longer than the best match we
|
||||||
|
;;; have so far, then forget it and return to the lookup loop.
|
||||||
|
|
||||||
|
mov edx, [deflatestate]
|
||||||
|
mov ebx, [bestlen]
|
||||||
|
cmp eax, ebx
|
||||||
|
jg LongerMatch
|
||||||
|
mov esi, [windowbestlen]
|
||||||
|
mov edi, [edx + dsPrev]
|
||||||
|
mov ebx, [scanend]
|
||||||
|
mov edx, [chainlenwmask]
|
||||||
|
jmp LookupLoop
|
||||||
|
|
||||||
|
;;; s->match_start = cur_match;
|
||||||
|
;;; best_len = len;
|
||||||
|
;;; if (len >= nice_match) break;
|
||||||
|
;;; scan_end = *(ushf*)(scan+best_len-1);
|
||||||
|
|
||||||
|
LongerMatch: mov ebx, [nicematch]
|
||||||
|
mov [bestlen], eax
|
||||||
|
mov [edx + dsMatchStart], ecx
|
||||||
|
cmp eax, ebx
|
||||||
|
jge LeaveNow
|
||||||
|
mov esi, [window]
|
||||||
|
add esi, eax
|
||||||
|
mov [windowbestlen], esi
|
||||||
|
movzx ebx, word ptr [edi + eax - 1]
|
||||||
|
mov edi, [edx + dsPrev]
|
||||||
|
mov [scanend], ebx
|
||||||
|
mov edx, [chainlenwmask]
|
||||||
|
jmp LookupLoop
|
||||||
|
|
||||||
|
;;; Accept the current string, with the maximum possible length.
|
||||||
|
|
||||||
|
LenMaximum: mov edx, [deflatestate]
|
||||||
|
mov dword ptr [bestlen], MAX_MATCH
|
||||||
|
mov [edx + dsMatchStart], ecx
|
||||||
|
|
||||||
|
;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
|
||||||
|
;;; return s->lookahead;
|
||||||
|
|
||||||
|
LeaveNow:
|
||||||
|
mov edx, [deflatestate]
|
||||||
|
mov ebx, [bestlen]
|
||||||
|
mov eax, [edx + dsLookahead]
|
||||||
|
cmp ebx, eax
|
||||||
|
jg LookaheadRet
|
||||||
|
mov eax, ebx
|
||||||
|
LookaheadRet:
|
||||||
|
|
||||||
|
;;; Restore the stack and return from whence we came.
|
||||||
|
|
||||||
|
add esp, LocalVarsSize
|
||||||
|
pop ebx
|
||||||
|
pop esi
|
||||||
|
pop edi
|
||||||
|
pop ebp
|
||||||
|
|
||||||
|
ret
|
||||||
|
; please don't remove this string !
|
||||||
|
; Your can freely use match686 in any free or commercial app if you don't remove the string in the binary!
|
||||||
|
db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998",0dh,0ah
|
||||||
|
|
||||||
|
|
||||||
|
IFDEF NOUNDERLINE
|
||||||
|
longest_match endp
|
||||||
|
ELSE
|
||||||
|
_longest_match endp
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IFDEF NOUNDERLINE
|
||||||
|
match_init proc near
|
||||||
|
ret
|
||||||
|
match_init endp
|
||||||
|
ELSE
|
||||||
|
_match_init proc near
|
||||||
|
ret
|
||||||
|
_match_init endp
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
_TEXT ends
|
||||||
|
end
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
cl /DASMV /I..\.. /O2 /c gvmat32c.c
|
|
||||||
ml /coff /Zi /c /Flgvmat32.lst gvmat32.asm
|
|
||||||
ml /coff /Zi /c /Flinffas32.lst inffas32.asm
|
|
||||||
@@ -7,15 +7,21 @@ longest_match() and inflate_fast().
|
|||||||
|
|
||||||
Use instructions
|
Use instructions
|
||||||
----------------
|
----------------
|
||||||
Copy these files into the zlib source directory, then run the
|
Assemble using MASM, and copy the object files into the zlib source
|
||||||
appropriate makefile, as suggested below.
|
directory, then run the appropriate makefile, as suggested below. You can
|
||||||
|
donwload MASM from here:
|
||||||
|
|
||||||
|
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
|
||||||
|
|
||||||
|
You can also get objects files here:
|
||||||
|
|
||||||
|
http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
|
||||||
|
|
||||||
Build instructions
|
Build instructions
|
||||||
------------------
|
------------------
|
||||||
* With Microsoft C and MASM:
|
* With Microsoft C and MASM:
|
||||||
nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="gvmat32c.obj gvmat32.obj inffas32.obj"
|
nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj"
|
||||||
|
|
||||||
* With Borland C and TASM:
|
* With Borland C and TASM:
|
||||||
make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="gvmat32c.obj gvmat32.obj inffas32.obj" OBJPA="+gvmat32c.obj+gvmat32.obj+inffas32.obj"
|
make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj"
|
||||||
|
|
||||||
|
|||||||
45
contrib/minizip/Makefile.am
Normal file
45
contrib/minizip/Makefile.am
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
lib_LTLIBRARIES = libminizip.la
|
||||||
|
|
||||||
|
if COND_DEMOS
|
||||||
|
bin_PROGRAMS = miniunzip minizip
|
||||||
|
endif
|
||||||
|
|
||||||
|
zlib_top_srcdir = $(top_srcdir)/../..
|
||||||
|
zlib_top_builddir = $(top_builddir)/../..
|
||||||
|
|
||||||
|
AM_CPPFLAGS = -I$(zlib_top_srcdir)
|
||||||
|
AM_LDFLAGS = -L$(zlib_top_builddir)
|
||||||
|
|
||||||
|
if WIN32
|
||||||
|
iowin32_src = iowin32.c
|
||||||
|
iowin32_h = iowin32.h
|
||||||
|
endif
|
||||||
|
|
||||||
|
libminizip_la_SOURCES = \
|
||||||
|
ioapi.c \
|
||||||
|
mztools.c \
|
||||||
|
unzip.c \
|
||||||
|
zip.c \
|
||||||
|
${iowin32_src}
|
||||||
|
|
||||||
|
libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz
|
||||||
|
|
||||||
|
minizip_includedir = $(includedir)/minizip
|
||||||
|
minizip_include_HEADERS = \
|
||||||
|
crypt.h \
|
||||||
|
ioapi.h \
|
||||||
|
mztools.h \
|
||||||
|
unzip.h \
|
||||||
|
zip.h \
|
||||||
|
${iowin32_h}
|
||||||
|
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = minizip.pc
|
||||||
|
|
||||||
|
EXTRA_PROGRAMS = miniunzip minizip
|
||||||
|
|
||||||
|
miniunzip_SOURCES = miniunz.c
|
||||||
|
miniunzip_LDADD = libminizip.la
|
||||||
|
|
||||||
|
minizip_SOURCES = minizip.c
|
||||||
|
minizip_LDADD = libminizip.la -lz
|
||||||
32
contrib/minizip/configure.ac
Normal file
32
contrib/minizip/configure.ac
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# -*- Autoconf -*-
|
||||||
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
|
AC_INIT([minizip], [1.2.8], [bugzilla.redhat.com])
|
||||||
|
AC_CONFIG_SRCDIR([minizip.c])
|
||||||
|
AM_INIT_AUTOMAKE([foreign])
|
||||||
|
LT_INIT
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([whether to build example programs])
|
||||||
|
AC_ARG_ENABLE([demos], AC_HELP_STRING([--enable-demos], [build example programs]))
|
||||||
|
AM_CONDITIONAL([COND_DEMOS], [test "$enable_demos" = yes])
|
||||||
|
if test "$enable_demos" = yes
|
||||||
|
then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "${host}" in
|
||||||
|
*-mingw* | mingw*)
|
||||||
|
WIN32="yes"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"])
|
||||||
|
|
||||||
|
|
||||||
|
AC_SUBST([HAVE_UNISTD_H], [0])
|
||||||
|
AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], [])
|
||||||
|
AC_CONFIG_FILES([Makefile minizip.pc])
|
||||||
|
AC_OUTPUT
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* Return the next byte in the pseudo-random sequence
|
* Return the next byte in the pseudo-random sequence
|
||||||
*/
|
*/
|
||||||
static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab)
|
static int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab)
|
||||||
{
|
{
|
||||||
unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an
|
unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an
|
||||||
* unpredictable manner on 16-bit systems; not a problem
|
* unpredictable manner on 16-bit systems; not a problem
|
||||||
@@ -45,7 +45,7 @@ static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab)
|
|||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* Update the encryption keys with the next byte of plain text
|
* Update the encryption keys with the next byte of plain text
|
||||||
*/
|
*/
|
||||||
static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int c)
|
static int update_keys(unsigned long* pkeys,const z_crc_t* pcrc_32_tab,int c)
|
||||||
{
|
{
|
||||||
(*(pkeys+0)) = CRC32((*(pkeys+0)), c);
|
(*(pkeys+0)) = CRC32((*(pkeys+0)), c);
|
||||||
(*(pkeys+1)) += (*(pkeys+0)) & 0xff;
|
(*(pkeys+1)) += (*(pkeys+0)) & 0xff;
|
||||||
@@ -62,7 +62,7 @@ static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int
|
|||||||
* Initialize the encryption keys and the random header according to
|
* Initialize the encryption keys and the random header according to
|
||||||
* the given password.
|
* the given password.
|
||||||
*/
|
*/
|
||||||
static void init_keys(const char* passwd,unsigned long* pkeys,const unsigned long* pcrc_32_tab)
|
static void init_keys(const char* passwd,unsigned long* pkeys,const z_crc_t* pcrc_32_tab)
|
||||||
{
|
{
|
||||||
*(pkeys+0) = 305419896L;
|
*(pkeys+0) = 305419896L;
|
||||||
*(pkeys+1) = 591751049L;
|
*(pkeys+1) = 591751049L;
|
||||||
@@ -91,7 +91,7 @@ static int crypthead(const char* passwd, /* password string */
|
|||||||
unsigned char* buf, /* where to write header */
|
unsigned char* buf, /* where to write header */
|
||||||
int bufSize,
|
int bufSize,
|
||||||
unsigned long* pkeys,
|
unsigned long* pkeys,
|
||||||
const unsigned long* pcrc_32_tab,
|
const z_crc_t* pcrc_32_tab,
|
||||||
unsigned long crcForCrypting)
|
unsigned long crcForCrypting)
|
||||||
{
|
{
|
||||||
int n; /* index in random header */
|
int n; /* index in random header */
|
||||||
|
|||||||
@@ -10,10 +10,22 @@
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if (defined(_WIN32))
|
#if defined(_WIN32) && (!(defined(_CRT_SECURE_NO_WARNINGS)))
|
||||||
#define _CRT_SECURE_NO_WARNINGS
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__APPLE__) || defined(IOAPI_NO_64)
|
||||||
|
// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
|
||||||
|
#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
|
||||||
|
#define FTELLO_FUNC(stream) ftello(stream)
|
||||||
|
#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin)
|
||||||
|
#else
|
||||||
|
#define FOPEN_FUNC(filename, mode) fopen64(filename, mode)
|
||||||
|
#define FTELLO_FUNC(stream) ftello64(stream)
|
||||||
|
#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include "ioapi.h"
|
#include "ioapi.h"
|
||||||
|
|
||||||
voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode)
|
voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode)
|
||||||
@@ -47,7 +59,7 @@ ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream);
|
uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream);
|
||||||
if ((tell_uLong) == ((uLong)-1))
|
if ((tell_uLong) == MAXU32)
|
||||||
return (ZPOS64_T)-1;
|
return (ZPOS64_T)-1;
|
||||||
else
|
else
|
||||||
return tell_uLong;
|
return tell_uLong;
|
||||||
@@ -112,7 +124,7 @@ static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename,
|
|||||||
mode_fopen = "wb";
|
mode_fopen = "wb";
|
||||||
|
|
||||||
if ((filename!=NULL) && (mode_fopen != NULL))
|
if ((filename!=NULL) && (mode_fopen != NULL))
|
||||||
file = fopen64((const char*)filename, mode_fopen);
|
file = FOPEN_FUNC((const char*)filename, mode_fopen);
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,7 +154,7 @@ static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
|
|||||||
static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
|
static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
|
||||||
{
|
{
|
||||||
ZPOS64_T ret;
|
ZPOS64_T ret;
|
||||||
ret = ftello64((FILE *)stream);
|
ret = FTELLO_FUNC((FILE *)stream);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +200,7 @@ static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T
|
|||||||
}
|
}
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
if(fseeko64((FILE *)stream, offset, fseek_origin) != 0)
|
if(FSEEKO_FUNC((FILE *)stream, offset, fseek_origin) != 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
#ifndef _ZLIBIOAPI64_H
|
#ifndef _ZLIBIOAPI64_H
|
||||||
#define _ZLIBIOAPI64_H
|
#define _ZLIBIOAPI64_H
|
||||||
|
|
||||||
#if (!defined(_WIN32)) && (!defined(WIN32))
|
#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__))
|
||||||
|
|
||||||
// Linux needs this to support file operation on files larger then 4+GB
|
// Linux needs this to support file operation on files larger then 4+GB
|
||||||
// But might need better if/def to select just the platforms that needs them.
|
// But might need better if/def to select just the platforms that needs them.
|
||||||
@@ -38,6 +38,7 @@
|
|||||||
#ifndef _FILE_OFFSET_BIT
|
#ifndef _FILE_OFFSET_BIT
|
||||||
#define _FILE_OFFSET_BIT 64
|
#define _FILE_OFFSET_BIT 64
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -49,6 +50,11 @@
|
|||||||
#define ftello64 ftell
|
#define ftello64 ftell
|
||||||
#define fseeko64 fseek
|
#define fseeko64 fseek
|
||||||
#else
|
#else
|
||||||
|
#ifdef __FreeBSD__
|
||||||
|
#define fopen64 fopen
|
||||||
|
#define ftello64 ftello
|
||||||
|
#define fseeko64 fseeko
|
||||||
|
#endif
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#define fopen64 fopen
|
#define fopen64 fopen
|
||||||
#if (_MSC_VER >= 1400) && (!(defined(NO_MSCVER_FILE64_FUNC)))
|
#if (_MSC_VER >= 1400) && (!(defined(NO_MSCVER_FILE64_FUNC)))
|
||||||
@@ -85,6 +91,8 @@ typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T;
|
|||||||
typedef uint64_t ZPOS64_T;
|
typedef uint64_t ZPOS64_T;
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
/* Maximum unsigned 32-bit value used as placeholder for zip64 */
|
||||||
|
#define MAXU32 0xffffffff
|
||||||
|
|
||||||
#if defined(_MSC_VER) || defined(__BORLANDC__)
|
#if defined(_MSC_VER) || defined(__BORLANDC__)
|
||||||
typedef unsigned __int64 ZPOS64_T;
|
typedef unsigned __int64 ZPOS64_T;
|
||||||
|
|||||||
@@ -25,6 +25,13 @@
|
|||||||
#define INVALID_SET_FILE_POINTER ((DWORD)-1)
|
#define INVALID_SET_FILE_POINTER ((DWORD)-1)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
|
||||||
|
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
|
||||||
|
#define IOWIN32_USING_WINRT_API 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode));
|
voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode));
|
||||||
uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
|
uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
|
||||||
uLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
|
uLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
|
||||||
@@ -93,8 +100,22 @@ voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int
|
|||||||
|
|
||||||
win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
|
win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
|
||||||
|
|
||||||
|
#ifdef IOWIN32_USING_WINRT_API
|
||||||
|
#ifdef UNICODE
|
||||||
|
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
||||||
|
hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
|
||||||
|
#else
|
||||||
|
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
||||||
|
{
|
||||||
|
WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
|
||||||
|
MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
|
||||||
|
hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
||||||
hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
|
hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
return win32_build_iowin(hFile);
|
return win32_build_iowin(hFile);
|
||||||
}
|
}
|
||||||
@@ -108,8 +129,17 @@ voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int
|
|||||||
|
|
||||||
win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
|
win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
|
||||||
|
|
||||||
|
#ifdef IOWIN32_USING_WINRT_API
|
||||||
|
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
||||||
|
{
|
||||||
|
WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
|
||||||
|
MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
|
||||||
|
hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
|
||||||
|
}
|
||||||
|
#else
|
||||||
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
||||||
hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
|
hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
return win32_build_iowin(hFile);
|
return win32_build_iowin(hFile);
|
||||||
}
|
}
|
||||||
@@ -123,8 +153,13 @@ voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int
|
|||||||
|
|
||||||
win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
|
win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
|
||||||
|
|
||||||
|
#ifdef IOWIN32_USING_WINRT_API
|
||||||
|
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
||||||
|
hFile = CreateFile2((LPCWSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition,NULL);
|
||||||
|
#else
|
||||||
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
||||||
hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
|
hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
return win32_build_iowin(hFile);
|
return win32_build_iowin(hFile);
|
||||||
}
|
}
|
||||||
@@ -138,8 +173,22 @@ voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mo
|
|||||||
|
|
||||||
win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
|
win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
|
||||||
|
|
||||||
|
#ifdef IOWIN32_USING_WINRT_API
|
||||||
|
#ifdef UNICODE
|
||||||
|
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
||||||
|
hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
|
||||||
|
#else
|
||||||
|
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
||||||
|
{
|
||||||
|
WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
|
||||||
|
MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
|
||||||
|
hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
if ((filename!=NULL) && (dwDesiredAccess != 0))
|
||||||
hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
|
hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
return win32_build_iowin(hFile);
|
return win32_build_iowin(hFile);
|
||||||
}
|
}
|
||||||
@@ -188,6 +237,26 @@ uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* b
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER *newPos, DWORD dwMoveMethod)
|
||||||
|
{
|
||||||
|
#ifdef IOWIN32_USING_WINRT_API
|
||||||
|
return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod);
|
||||||
|
#else
|
||||||
|
LONG lHigh = pos.HighPart;
|
||||||
|
DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, FILE_CURRENT);
|
||||||
|
BOOL fOk = TRUE;
|
||||||
|
if (dwNewPos == 0xFFFFFFFF)
|
||||||
|
if (GetLastError() != NO_ERROR)
|
||||||
|
fOk = FALSE;
|
||||||
|
if ((newPos != NULL) && (fOk))
|
||||||
|
{
|
||||||
|
newPos->LowPart = dwNewPos;
|
||||||
|
newPos->HighPart = lHigh;
|
||||||
|
}
|
||||||
|
return fOk;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
|
long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
|
||||||
{
|
{
|
||||||
long ret=-1;
|
long ret=-1;
|
||||||
@@ -196,15 +265,17 @@ long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
|
|||||||
hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
|
hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
|
||||||
if (hFile != NULL)
|
if (hFile != NULL)
|
||||||
{
|
{
|
||||||
DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT);
|
LARGE_INTEGER pos;
|
||||||
if (dwSet == INVALID_SET_FILE_POINTER)
|
pos.QuadPart = 0;
|
||||||
|
|
||||||
|
if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT))
|
||||||
{
|
{
|
||||||
DWORD dwErr = GetLastError();
|
DWORD dwErr = GetLastError();
|
||||||
((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
|
((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
|
||||||
ret = -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ret=(long)dwSet;
|
ret=(long)pos.LowPart;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -218,17 +289,17 @@ ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream)
|
|||||||
|
|
||||||
if (hFile)
|
if (hFile)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER li;
|
LARGE_INTEGER pos;
|
||||||
li.QuadPart = 0;
|
pos.QuadPart = 0;
|
||||||
li.u.LowPart = SetFilePointer(hFile, li.u.LowPart, &li.u.HighPart, FILE_CURRENT);
|
|
||||||
if ( (li.LowPart == 0xFFFFFFFF) && (GetLastError() != NO_ERROR))
|
if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT))
|
||||||
{
|
{
|
||||||
DWORD dwErr = GetLastError();
|
DWORD dwErr = GetLastError();
|
||||||
((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
|
((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
|
||||||
ret = (ZPOS64_T)-1;
|
ret = (ZPOS64_T)-1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ret=li.QuadPart;
|
ret=pos.QuadPart;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -258,8 +329,9 @@ long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,in
|
|||||||
|
|
||||||
if (hFile != NULL)
|
if (hFile != NULL)
|
||||||
{
|
{
|
||||||
DWORD dwSet = SetFilePointer(hFile, offset, NULL, dwMoveMethod);
|
LARGE_INTEGER pos;
|
||||||
if (dwSet == INVALID_SET_FILE_POINTER)
|
pos.QuadPart = offset;
|
||||||
|
if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod))
|
||||||
{
|
{
|
||||||
DWORD dwErr = GetLastError();
|
DWORD dwErr = GetLastError();
|
||||||
((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
|
((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
|
||||||
@@ -296,9 +368,9 @@ long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T off
|
|||||||
|
|
||||||
if (hFile)
|
if (hFile)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER* li = (LARGE_INTEGER*)&offset;
|
LARGE_INTEGER pos;
|
||||||
DWORD dwSet = SetFilePointer(hFile, li->u.LowPart, &li->u.HighPart, dwMoveMethod);
|
pos.QuadPart = offset;
|
||||||
if (dwSet == INVALID_SET_FILE_POINTER)
|
if (!MySetFilePointerEx(hFile, pos, NULL, FILE_CURRENT))
|
||||||
{
|
{
|
||||||
DWORD dwErr = GetLastError();
|
DWORD dwErr = GetLastError();
|
||||||
((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
|
((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
|
Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _WIN32
|
#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__))
|
||||||
#ifndef __USE_FILE_OFFSET64
|
#ifndef __USE_FILE_OFFSET64
|
||||||
#define __USE_FILE_OFFSET64
|
#define __USE_FILE_OFFSET64
|
||||||
#endif
|
#endif
|
||||||
@@ -27,6 +27,18 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
|
||||||
|
#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
|
||||||
|
#define FTELLO_FUNC(stream) ftello(stream)
|
||||||
|
#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin)
|
||||||
|
#else
|
||||||
|
#define FOPEN_FUNC(filename, mode) fopen64(filename, mode)
|
||||||
|
#define FTELLO_FUNC(stream) ftello64(stream)
|
||||||
|
#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -34,14 +46,15 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
#ifdef unix
|
#ifdef _WIN32
|
||||||
# include <unistd.h>
|
|
||||||
# include <utime.h>
|
|
||||||
#else
|
|
||||||
# include <direct.h>
|
# include <direct.h>
|
||||||
# include <io.h>
|
# include <io.h>
|
||||||
|
#else
|
||||||
|
# include <unistd.h>
|
||||||
|
# include <utime.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include "unzip.h"
|
#include "unzip.h"
|
||||||
|
|
||||||
#define CASESENSITIVITY (0)
|
#define CASESENSITIVITY (0)
|
||||||
@@ -84,7 +97,7 @@ void change_file_date(filename,dosdate,tmu_date)
|
|||||||
SetFileTime(hFile,&ftm,&ftLastAcc,&ftm);
|
SetFileTime(hFile,&ftm,&ftLastAcc,&ftm);
|
||||||
CloseHandle(hFile);
|
CloseHandle(hFile);
|
||||||
#else
|
#else
|
||||||
#ifdef unix
|
#ifdef unix || __APPLE__
|
||||||
struct utimbuf ut;
|
struct utimbuf ut;
|
||||||
struct tm newdate;
|
struct tm newdate;
|
||||||
newdate.tm_sec = tmu_date.tm_sec;
|
newdate.tm_sec = tmu_date.tm_sec;
|
||||||
@@ -114,10 +127,10 @@ int mymkdir(dirname)
|
|||||||
int ret=0;
|
int ret=0;
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
ret = _mkdir(dirname);
|
ret = _mkdir(dirname);
|
||||||
#else
|
#elif unix
|
||||||
#ifdef unix
|
ret = mkdir (dirname,0775);
|
||||||
|
#elif __APPLE__
|
||||||
ret = mkdir (dirname,0775);
|
ret = mkdir (dirname,0775);
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -364,7 +377,7 @@ int do_extract_currentfile(uf,popt_extract_without_path,popt_overwrite,password)
|
|||||||
{
|
{
|
||||||
char rep=0;
|
char rep=0;
|
||||||
FILE* ftestexist;
|
FILE* ftestexist;
|
||||||
ftestexist = fopen64(write_filename,"rb");
|
ftestexist = FOPEN_FUNC(write_filename,"rb");
|
||||||
if (ftestexist!=NULL)
|
if (ftestexist!=NULL)
|
||||||
{
|
{
|
||||||
fclose(ftestexist);
|
fclose(ftestexist);
|
||||||
@@ -395,8 +408,7 @@ int do_extract_currentfile(uf,popt_extract_without_path,popt_overwrite,password)
|
|||||||
|
|
||||||
if ((skip==0) && (err==UNZ_OK))
|
if ((skip==0) && (err==UNZ_OK))
|
||||||
{
|
{
|
||||||
fout=fopen64(write_filename,"wb");
|
fout=FOPEN_FUNC(write_filename,"wb");
|
||||||
|
|
||||||
/* some zipfile don't contain directory alone before file */
|
/* some zipfile don't contain directory alone before file */
|
||||||
if ((fout==NULL) && ((*popt_extract_without_path)==0) &&
|
if ((fout==NULL) && ((*popt_extract_without_path)==0) &&
|
||||||
(filename_withoutpath!=(char*)filename_inzip))
|
(filename_withoutpath!=(char*)filename_inzip))
|
||||||
@@ -405,7 +417,7 @@ int do_extract_currentfile(uf,popt_extract_without_path,popt_overwrite,password)
|
|||||||
*(filename_withoutpath-1)='\0';
|
*(filename_withoutpath-1)='\0';
|
||||||
makedir(write_filename);
|
makedir(write_filename);
|
||||||
*(filename_withoutpath-1)=c;
|
*(filename_withoutpath-1)=c;
|
||||||
fout=fopen64(write_filename,"wb");
|
fout=FOPEN_FUNC(write_filename,"wb");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fout==NULL)
|
if (fout==NULL)
|
||||||
|
|||||||
63
contrib/minizip/miniunzip.1
Normal file
63
contrib/minizip/miniunzip.1
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
.\" Hey, EMACS: -*- nroff -*-
|
||||||
|
.TH miniunzip 1 "Nov 7, 2001"
|
||||||
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
|
.\"
|
||||||
|
.\" Some roff macros, for reference:
|
||||||
|
.\" .nh disable hyphenation
|
||||||
|
.\" .hy enable hyphenation
|
||||||
|
.\" .ad l left justify
|
||||||
|
.\" .ad b justify to both left and right margins
|
||||||
|
.\" .nf disable filling
|
||||||
|
.\" .fi enable filling
|
||||||
|
.\" .br insert line break
|
||||||
|
.\" .sp <n> insert n+1 empty lines
|
||||||
|
.\" for manpage-specific macros, see man(7)
|
||||||
|
.SH NAME
|
||||||
|
miniunzip - uncompress and examine ZIP archives
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B miniunzip
|
||||||
|
.RI [ -exvlo ]
|
||||||
|
zipfile [ files_to_extract ] [-d tempdir]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.B minizip
|
||||||
|
is a simple tool which allows the extraction of compressed file
|
||||||
|
archives in the ZIP format used by the MS-DOS utility PKZIP. It was
|
||||||
|
written as a demonstration of the
|
||||||
|
.IR zlib (3)
|
||||||
|
library and therefore lack many of the features of the
|
||||||
|
.IR unzip (1)
|
||||||
|
program.
|
||||||
|
.SH OPTIONS
|
||||||
|
A number of options are supported. With the exception of
|
||||||
|
.BI \-d\ tempdir
|
||||||
|
these must be supplied before any
|
||||||
|
other arguments and are:
|
||||||
|
.TP
|
||||||
|
.BI \-l\ ,\ \-\-v
|
||||||
|
List the files in the archive without extracting them.
|
||||||
|
.TP
|
||||||
|
.B \-o
|
||||||
|
Overwrite files without prompting for confirmation.
|
||||||
|
.TP
|
||||||
|
.B \-x
|
||||||
|
Extract files (default).
|
||||||
|
.PP
|
||||||
|
The
|
||||||
|
.I zipfile
|
||||||
|
argument is the name of the archive to process. The next argument can be used
|
||||||
|
to specify a single file to extract from the archive.
|
||||||
|
|
||||||
|
Lastly, the following option can be specified at the end of the command-line:
|
||||||
|
.TP
|
||||||
|
.BI \-d\ tempdir
|
||||||
|
Extract the archive in the directory
|
||||||
|
.I tempdir
|
||||||
|
rather than the current directory.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR minizip (1),
|
||||||
|
.BR zlib (3),
|
||||||
|
.BR unzip (1).
|
||||||
|
.SH AUTHOR
|
||||||
|
This program was written by Gilles Vollant. This manual page was
|
||||||
|
written by Mark Brown <broonie@sirena.org.uk>. The -d tempdir option
|
||||||
|
was added by Dirk Eddelbuettel <edd@debian.org>.
|
||||||
46
contrib/minizip/minizip.1
Normal file
46
contrib/minizip/minizip.1
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
.\" Hey, EMACS: -*- nroff -*-
|
||||||
|
.TH minizip 1 "May 2, 2001"
|
||||||
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
|
.\"
|
||||||
|
.\" Some roff macros, for reference:
|
||||||
|
.\" .nh disable hyphenation
|
||||||
|
.\" .hy enable hyphenation
|
||||||
|
.\" .ad l left justify
|
||||||
|
.\" .ad b justify to both left and right margins
|
||||||
|
.\" .nf disable filling
|
||||||
|
.\" .fi enable filling
|
||||||
|
.\" .br insert line break
|
||||||
|
.\" .sp <n> insert n+1 empty lines
|
||||||
|
.\" for manpage-specific macros, see man(7)
|
||||||
|
.SH NAME
|
||||||
|
minizip - create ZIP archives
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B minizip
|
||||||
|
.RI [ -o ]
|
||||||
|
zipfile [ " files" ... ]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.B minizip
|
||||||
|
is a simple tool which allows the creation of compressed file archives
|
||||||
|
in the ZIP format used by the MS-DOS utility PKZIP. It was written as
|
||||||
|
a demonstration of the
|
||||||
|
.IR zlib (3)
|
||||||
|
library and therefore lack many of the features of the
|
||||||
|
.IR zip (1)
|
||||||
|
program.
|
||||||
|
.SH OPTIONS
|
||||||
|
The first argument supplied is the name of the ZIP archive to create or
|
||||||
|
.RI -o
|
||||||
|
in which case it is ignored and the second argument treated as the
|
||||||
|
name of the ZIP file. If the ZIP file already exists it will be
|
||||||
|
overwritten.
|
||||||
|
.PP
|
||||||
|
Subsequent arguments specify a list of files to place in the ZIP
|
||||||
|
archive. If none are specified then an empty archive will be created.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR miniunzip (1),
|
||||||
|
.BR zlib (3),
|
||||||
|
.BR zip (1).
|
||||||
|
.SH AUTHOR
|
||||||
|
This program was written by Gilles Vollant. This manual page was
|
||||||
|
written by Mark Brown <broonie@sirena.org.uk>.
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef _WIN32
|
#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__))
|
||||||
#ifndef __USE_FILE_OFFSET64
|
#ifndef __USE_FILE_OFFSET64
|
||||||
#define __USE_FILE_OFFSET64
|
#define __USE_FILE_OFFSET64
|
||||||
#endif
|
#endif
|
||||||
@@ -28,6 +28,19 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
|
||||||
|
#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
|
||||||
|
#define FTELLO_FUNC(stream) ftello(stream)
|
||||||
|
#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin)
|
||||||
|
#else
|
||||||
|
#define FOPEN_FUNC(filename, mode) fopen64(filename, mode)
|
||||||
|
#define FTELLO_FUNC(stream) ftello64(stream)
|
||||||
|
#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -35,14 +48,14 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
#ifdef unix
|
#ifdef _WIN32
|
||||||
|
# include <direct.h>
|
||||||
|
# include <io.h>
|
||||||
|
#else
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
# include <utime.h>
|
# include <utime.h>
|
||||||
# include <sys/types.h>
|
# include <sys/types.h>
|
||||||
# include <sys/stat.h>
|
# include <sys/stat.h>
|
||||||
#else
|
|
||||||
# include <direct.h>
|
|
||||||
# include <io.h>
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "zip.h"
|
#include "zip.h"
|
||||||
@@ -81,7 +94,7 @@ uLong filetime(f, tmzip, dt)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#ifdef unix
|
#ifdef unix || __APPLE__
|
||||||
uLong filetime(f, tmzip, dt)
|
uLong filetime(f, tmzip, dt)
|
||||||
char *f; /* name of file to get info on */
|
char *f; /* name of file to get info on */
|
||||||
tm_zip *tmzip; /* return value: access, modific. and creation times */
|
tm_zip *tmzip; /* return value: access, modific. and creation times */
|
||||||
@@ -142,7 +155,7 @@ int check_exist_file(filename)
|
|||||||
{
|
{
|
||||||
FILE* ftestexist;
|
FILE* ftestexist;
|
||||||
int ret = 1;
|
int ret = 1;
|
||||||
ftestexist = fopen64(filename,"rb");
|
ftestexist = FOPEN_FUNC(filename,"rb");
|
||||||
if (ftestexist==NULL)
|
if (ftestexist==NULL)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
else
|
else
|
||||||
@@ -173,7 +186,8 @@ int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigne
|
|||||||
{
|
{
|
||||||
unsigned long calculate_crc=0;
|
unsigned long calculate_crc=0;
|
||||||
int err=ZIP_OK;
|
int err=ZIP_OK;
|
||||||
FILE * fin = fopen64(filenameinzip,"rb");
|
FILE * fin = FOPEN_FUNC(filenameinzip,"rb");
|
||||||
|
|
||||||
unsigned long size_read = 0;
|
unsigned long size_read = 0;
|
||||||
unsigned long total_read = 0;
|
unsigned long total_read = 0;
|
||||||
if (fin==NULL)
|
if (fin==NULL)
|
||||||
@@ -211,13 +225,12 @@ int isLargeFile(const char* filename)
|
|||||||
{
|
{
|
||||||
int largeFile = 0;
|
int largeFile = 0;
|
||||||
ZPOS64_T pos = 0;
|
ZPOS64_T pos = 0;
|
||||||
FILE* pFile = fopen64(filename, "rb");
|
FILE* pFile = FOPEN_FUNC(filename, "rb");
|
||||||
|
|
||||||
if(pFile != NULL)
|
if(pFile != NULL)
|
||||||
{
|
{
|
||||||
int n = fseeko64(pFile, 0, SEEK_END);
|
int n = FSEEKO_FUNC(pFile, 0, SEEK_END);
|
||||||
|
pos = FTELLO_FUNC(pFile);
|
||||||
pos = ftello64(pFile);
|
|
||||||
|
|
||||||
printf("File : %s is %lld bytes\n", filename, pos);
|
printf("File : %s is %lld bytes\n", filename, pos);
|
||||||
|
|
||||||
@@ -447,7 +460,7 @@ int main(argc,argv)
|
|||||||
printf("error in opening %s in zipfile\n",filenameinzip);
|
printf("error in opening %s in zipfile\n",filenameinzip);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fin = fopen64(filenameinzip,"rb");
|
fin = FOPEN_FUNC(filenameinzip,"rb");
|
||||||
if (fin==NULL)
|
if (fin==NULL)
|
||||||
{
|
{
|
||||||
err=ZIP_ERRNO;
|
err=ZIP_ERRNO;
|
||||||
|
|||||||
12
contrib/minizip/minizip.pc.in
Normal file
12
contrib/minizip/minizip.pc.in
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@/minizip
|
||||||
|
|
||||||
|
Name: minizip
|
||||||
|
Description: Minizip zip file manipulation library
|
||||||
|
Requires:
|
||||||
|
Version: @PACKAGE_VERSION@
|
||||||
|
Libs: -L${libdir} -lminizip
|
||||||
|
Libs.private: -lz
|
||||||
|
Cflags: -I${includedir}
|
||||||
@@ -42,7 +42,7 @@ uLong* bytesRecovered;
|
|||||||
int entries = 0;
|
int entries = 0;
|
||||||
uLong totalBytes = 0;
|
uLong totalBytes = 0;
|
||||||
char header[30];
|
char header[30];
|
||||||
char filename[256];
|
char filename[1024];
|
||||||
char extra[1024];
|
char extra[1024];
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
int offsetCD = 0;
|
int offsetCD = 0;
|
||||||
@@ -73,6 +73,7 @@ uLong* bytesRecovered;
|
|||||||
|
|
||||||
/* Filename */
|
/* Filename */
|
||||||
if (fnsize > 0) {
|
if (fnsize > 0) {
|
||||||
|
if (fnsize < sizeof(filename)) {
|
||||||
if (fread(filename, 1, fnsize, fpZip) == fnsize) {
|
if (fread(filename, 1, fnsize, fpZip) == fnsize) {
|
||||||
if (fwrite(filename, 1, fnsize, fpOut) == fnsize) {
|
if (fwrite(filename, 1, fnsize, fpOut) == fnsize) {
|
||||||
offset += fnsize;
|
offset += fnsize;
|
||||||
@@ -84,6 +85,10 @@ uLong* bytesRecovered;
|
|||||||
err = Z_ERRNO;
|
err = Z_ERRNO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
err = Z_ERRNO;
|
||||||
|
break;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
err = Z_STREAM_ERROR;
|
err = Z_STREAM_ERROR;
|
||||||
break;
|
break;
|
||||||
@@ -91,6 +96,7 @@ uLong* bytesRecovered;
|
|||||||
|
|
||||||
/* Extra field */
|
/* Extra field */
|
||||||
if (extsize > 0) {
|
if (extsize > 0) {
|
||||||
|
if (extsize < sizeof(extra)) {
|
||||||
if (fread(extra, 1, extsize, fpZip) == extsize) {
|
if (fread(extra, 1, extsize, fpZip) == extsize) {
|
||||||
if (fwrite(extra, 1, extsize, fpOut) == extsize) {
|
if (fwrite(extra, 1, extsize, fpOut) == extsize) {
|
||||||
offset += extsize;
|
offset += extsize;
|
||||||
@@ -102,6 +108,10 @@ uLong* bytesRecovered;
|
|||||||
err = Z_ERRNO;
|
err = Z_ERRNO;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
err = Z_ERRNO;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Data */
|
/* Data */
|
||||||
|
|||||||
@@ -28,4 +28,10 @@ extern int ZEXPORT unzRepair(const char* file,
|
|||||||
uLong* nRecovered,
|
uLong* nRecovered,
|
||||||
uLong* bytesRecovered);
|
uLong* bytesRecovered);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ typedef struct
|
|||||||
|
|
||||||
# ifndef NOUNCRYPT
|
# ifndef NOUNCRYPT
|
||||||
unsigned long keys[3]; /* keys defining the pseudo-random sequence */
|
unsigned long keys[3]; /* keys defining the pseudo-random sequence */
|
||||||
const unsigned long* pcrc_32_tab;
|
const z_crc_t* pcrc_32_tab;
|
||||||
# endif
|
# endif
|
||||||
} unz64_s;
|
} unz64_s;
|
||||||
|
|
||||||
@@ -801,9 +801,9 @@ extern unzFile ZEXPORT unzOpen64 (const void *path)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Close a ZipFile opened with unzipOpen.
|
Close a ZipFile opened with unzOpen.
|
||||||
If there is files inside the .Zip opened with unzipOpenCurrentFile (see later),
|
If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
|
||||||
these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
|
these files MUST be closed with unzCloseCurrentFile before call unzClose.
|
||||||
return UNZ_OK if there is no problem. */
|
return UNZ_OK if there is no problem. */
|
||||||
extern int ZEXPORT unzClose (unzFile file)
|
extern int ZEXPORT unzClose (unzFile file)
|
||||||
{
|
{
|
||||||
@@ -1040,26 +1040,26 @@ local int unz64local_GetCurrentFileInfoInternal (unzFile file,
|
|||||||
{
|
{
|
||||||
uLong uL;
|
uLong uL;
|
||||||
|
|
||||||
if(file_info.uncompressed_size == (ZPOS64_T)(unsigned long)-1)
|
if(file_info.uncompressed_size == MAXU32)
|
||||||
{
|
{
|
||||||
if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK)
|
if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK)
|
||||||
err=UNZ_ERRNO;
|
err=UNZ_ERRNO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(file_info.compressed_size == (ZPOS64_T)(unsigned long)-1)
|
if(file_info.compressed_size == MAXU32)
|
||||||
{
|
{
|
||||||
if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK)
|
if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK)
|
||||||
err=UNZ_ERRNO;
|
err=UNZ_ERRNO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(file_info_internal.offset_curfile == (ZPOS64_T)(unsigned long)-1)
|
if(file_info_internal.offset_curfile == MAXU32)
|
||||||
{
|
{
|
||||||
/* Relative Header offset */
|
/* Relative Header offset */
|
||||||
if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK)
|
if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK)
|
||||||
err=UNZ_ERRNO;
|
err=UNZ_ERRNO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(file_info.disk_num_start == (unsigned long)-1)
|
if(file_info.disk_num_start == MAXU32)
|
||||||
{
|
{
|
||||||
/* Disk Start Number */
|
/* Disk Start Number */
|
||||||
if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
|
if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
|
||||||
@@ -1145,7 +1145,7 @@ extern int ZEXPORT unzGetCurrentFileInfo (unzFile file,
|
|||||||
szFileName,fileNameBufferSize,
|
szFileName,fileNameBufferSize,
|
||||||
extraField,extraFieldBufferSize,
|
extraField,extraFieldBufferSize,
|
||||||
szComment,commentBufferSize);
|
szComment,commentBufferSize);
|
||||||
if (err==UNZ_OK)
|
if ((err==UNZ_OK) && (pfile_info != NULL))
|
||||||
{
|
{
|
||||||
pfile_info->version = file_info64.version;
|
pfile_info->version = file_info64.version;
|
||||||
pfile_info->version_needed = file_info64.version_needed;
|
pfile_info->version_needed = file_info64.version_needed;
|
||||||
@@ -1223,7 +1223,7 @@ extern int ZEXPORT unzGoToNextFile (unzFile file)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
Try locate the file szFileName in the zipfile.
|
Try locate the file szFileName in the zipfile.
|
||||||
For the iCaseSensitivity signification, see unzipStringFileNameCompare
|
For the iCaseSensitivity signification, see unzStringFileNameCompare
|
||||||
|
|
||||||
return value :
|
return value :
|
||||||
UNZ_OK if the file is found. It becomes the current file.
|
UNZ_OK if the file is found. It becomes the current file.
|
||||||
@@ -1696,7 +1696,7 @@ extern int ZEXPORT unzReadCurrentFile (unzFile file, voidp buf, unsigned len)
|
|||||||
return UNZ_PARAMERROR;
|
return UNZ_PARAMERROR;
|
||||||
|
|
||||||
|
|
||||||
if ((pfile_in_zip_read_info->read_buffer == NULL))
|
if (pfile_in_zip_read_info->read_buffer == NULL)
|
||||||
return UNZ_END_OF_LIST_OF_FILE;
|
return UNZ_END_OF_LIST_OF_FILE;
|
||||||
if (len==0)
|
if (len==0)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1998,7 +1998,7 @@ extern int ZEXPORT unzGetLocalExtrafield (unzFile file, voidp buf, unsigned len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Close the file in zip opened with unzipOpenCurrentFile
|
Close the file in zip opened with unzOpenCurrentFile
|
||||||
Return UNZ_CRCERROR if all the file was read but the CRC is not good
|
Return UNZ_CRCERROR if all the file was read but the CRC is not good
|
||||||
*/
|
*/
|
||||||
extern int ZEXPORT unzCloseCurrentFile (unzFile file)
|
extern int ZEXPORT unzCloseCurrentFile (unzFile file)
|
||||||
|
|||||||
@@ -197,9 +197,9 @@ extern unzFile ZEXPORT unzOpen2_64 OF((const void *path,
|
|||||||
|
|
||||||
extern int ZEXPORT unzClose OF((unzFile file));
|
extern int ZEXPORT unzClose OF((unzFile file));
|
||||||
/*
|
/*
|
||||||
Close a ZipFile opened with unzipOpen.
|
Close a ZipFile opened with unzOpen.
|
||||||
If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
|
If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
|
||||||
these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
|
these files MUST be closed with unzCloseCurrentFile before call unzClose.
|
||||||
return UNZ_OK if there is no problem. */
|
return UNZ_OK if there is no problem. */
|
||||||
|
|
||||||
extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
|
extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ typedef struct
|
|||||||
ZPOS64_T totalUncompressedData;
|
ZPOS64_T totalUncompressedData;
|
||||||
#ifndef NOCRYPT
|
#ifndef NOCRYPT
|
||||||
unsigned long keys[3]; /* keys defining the pseudo-random sequence */
|
unsigned long keys[3]; /* keys defining the pseudo-random sequence */
|
||||||
const unsigned long* pcrc_32_tab;
|
const z_crc_t* pcrc_32_tab;
|
||||||
int crypt_header_size;
|
int crypt_header_size;
|
||||||
#endif
|
#endif
|
||||||
} curfile64_info;
|
} curfile64_info;
|
||||||
@@ -1067,6 +1067,7 @@ extern int ZEXPORT zipOpenNewFileInZip4_64 (zipFile file, const char* filename,
|
|||||||
int err = ZIP_OK;
|
int err = ZIP_OK;
|
||||||
|
|
||||||
# ifdef NOCRYPT
|
# ifdef NOCRYPT
|
||||||
|
(crcForCrypting);
|
||||||
if (password != NULL)
|
if (password != NULL)
|
||||||
return ZIP_PARAMERROR;
|
return ZIP_PARAMERROR;
|
||||||
# endif
|
# endif
|
||||||
@@ -1114,9 +1115,9 @@ extern int ZEXPORT zipOpenNewFileInZip4_64 (zipFile file, const char* filename,
|
|||||||
zi->ci.flag = flagBase;
|
zi->ci.flag = flagBase;
|
||||||
if ((level==8) || (level==9))
|
if ((level==8) || (level==9))
|
||||||
zi->ci.flag |= 2;
|
zi->ci.flag |= 2;
|
||||||
if ((level==2))
|
if (level==2)
|
||||||
zi->ci.flag |= 4;
|
zi->ci.flag |= 4;
|
||||||
if ((level==1))
|
if (level==1)
|
||||||
zi->ci.flag |= 6;
|
zi->ci.flag |= 6;
|
||||||
if (password != NULL)
|
if (password != NULL)
|
||||||
zi->ci.flag |= 1;
|
zi->ci.flag |= 1;
|
||||||
@@ -1710,7 +1711,7 @@ extern int ZEXPORT zipCloseFileInZipRaw64 (zipFile file, ZPOS64_T uncompressed_s
|
|||||||
if (err==ZIP_OK)
|
if (err==ZIP_OK)
|
||||||
err = zip64local_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */
|
err = zip64local_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */
|
||||||
|
|
||||||
if(uncompressed_size >= 0xffffffff)
|
if(uncompressed_size >= 0xffffffff || compressed_size >= 0xffffffff )
|
||||||
{
|
{
|
||||||
if(zi->ci.pos_zip64extrainfo > 0)
|
if(zi->ci.pos_zip64extrainfo > 0)
|
||||||
{
|
{
|
||||||
@@ -1724,6 +1725,8 @@ extern int ZEXPORT zipCloseFileInZipRaw64 (zipFile file, ZPOS64_T uncompressed_s
|
|||||||
if (err==ZIP_OK) /* uncompressed size, unknown */
|
if (err==ZIP_OK) /* uncompressed size, unknown */
|
||||||
err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8);
|
err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
err = ZIP_BADZIPFILE; // Caller passed zip64 = 0, so no room for zip64 info -> fatal
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1919,7 +1922,7 @@ extern int ZEXPORT zipClose (zipFile file, const char* global_comment)
|
|||||||
free_linkedlist(&(zi->central_dir));
|
free_linkedlist(&(zi->central_dir));
|
||||||
|
|
||||||
pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
|
pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
|
||||||
if(pos >= 0xffffffff)
|
if(pos >= 0xffffffff || zi->number_entry > 0xFFFF)
|
||||||
{
|
{
|
||||||
ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream);
|
ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream);
|
||||||
Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
|
Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
|
||||||
|
|||||||
@@ -63,9 +63,9 @@ uncompr.obj: uncompr.c zlib.h zconf.h
|
|||||||
|
|
||||||
zutil.obj: zutil.c zutil.h zlib.h zconf.h
|
zutil.obj: zutil.c zutil.h zlib.h zconf.h
|
||||||
|
|
||||||
example.obj: example.c zlib.h zconf.h
|
example.obj: test/example.c zlib.h zconf.h
|
||||||
|
|
||||||
minigzip.obj: minigzip.c zlib.h zconf.h
|
minigzip.obj: test/minigzip.c zlib.h zconf.h
|
||||||
|
|
||||||
|
|
||||||
# For the sake of the old Borland make,
|
# For the sake of the old Borland make,
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ unit zlibpas;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
const
|
const
|
||||||
ZLIB_VERSION = '1.2.3';
|
ZLIB_VERSION = '1.2.8';
|
||||||
|
ZLIB_VERNUM = $1280;
|
||||||
|
|
||||||
type
|
type
|
||||||
alloc_func = function(opaque: Pointer; items, size: Integer): Pointer;
|
alloc_func = function(opaque: Pointer; items, size: Integer): Pointer;
|
||||||
@@ -45,6 +46,23 @@ type
|
|||||||
reserved: LongInt; (* reserved for future use *)
|
reserved: LongInt; (* reserved for future use *)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
gz_headerp = ^gz_header;
|
||||||
|
gz_header = packed record
|
||||||
|
text: Integer; (* true if compressed data believed to be text *)
|
||||||
|
time: LongInt; (* modification time *)
|
||||||
|
xflags: Integer; (* extra flags (not used when writing a gzip file) *)
|
||||||
|
os: Integer; (* operating system *)
|
||||||
|
extra: PChar; (* pointer to extra field or Z_NULL if none *)
|
||||||
|
extra_len: Integer; (* extra field length (valid if extra != Z_NULL) *)
|
||||||
|
extra_max: Integer; (* space at extra (only when reading header) *)
|
||||||
|
name: PChar; (* pointer to zero-terminated file name or Z_NULL *)
|
||||||
|
name_max: Integer; (* space at name (only when reading header) *)
|
||||||
|
comment: PChar; (* pointer to zero-terminated comment or Z_NULL *)
|
||||||
|
comm_max: Integer; (* space at comment (only when reading header) *)
|
||||||
|
hcrc: Integer; (* true if there was or will be a header crc *)
|
||||||
|
done: Integer; (* true when done reading gzip header *)
|
||||||
|
end;
|
||||||
|
|
||||||
(* constants *)
|
(* constants *)
|
||||||
const
|
const
|
||||||
Z_NO_FLUSH = 0;
|
Z_NO_FLUSH = 0;
|
||||||
@@ -52,6 +70,8 @@ const
|
|||||||
Z_SYNC_FLUSH = 2;
|
Z_SYNC_FLUSH = 2;
|
||||||
Z_FULL_FLUSH = 3;
|
Z_FULL_FLUSH = 3;
|
||||||
Z_FINISH = 4;
|
Z_FINISH = 4;
|
||||||
|
Z_BLOCK = 5;
|
||||||
|
Z_TREES = 6;
|
||||||
|
|
||||||
Z_OK = 0;
|
Z_OK = 0;
|
||||||
Z_STREAM_END = 1;
|
Z_STREAM_END = 1;
|
||||||
@@ -71,9 +91,11 @@ const
|
|||||||
Z_FILTERED = 1;
|
Z_FILTERED = 1;
|
||||||
Z_HUFFMAN_ONLY = 2;
|
Z_HUFFMAN_ONLY = 2;
|
||||||
Z_RLE = 3;
|
Z_RLE = 3;
|
||||||
|
Z_FIXED = 4;
|
||||||
Z_DEFAULT_STRATEGY = 0;
|
Z_DEFAULT_STRATEGY = 0;
|
||||||
|
|
||||||
Z_BINARY = 0;
|
Z_BINARY = 0;
|
||||||
|
Z_TEXT = 1;
|
||||||
Z_ASCII = 1;
|
Z_ASCII = 1;
|
||||||
Z_UNKNOWN = 2;
|
Z_UNKNOWN = 2;
|
||||||
|
|
||||||
@@ -96,14 +118,21 @@ function deflateSetDictionary(var strm: z_stream; const dictionary: PChar;
|
|||||||
function deflateCopy(var dest, source: z_stream): Integer;
|
function deflateCopy(var dest, source: z_stream): Integer;
|
||||||
function deflateReset(var strm: z_stream): Integer;
|
function deflateReset(var strm: z_stream): Integer;
|
||||||
function deflateParams(var strm: z_stream; level, strategy: Integer): Integer;
|
function deflateParams(var strm: z_stream; level, strategy: Integer): Integer;
|
||||||
|
function deflateTune(var strm: z_stream; good_length, max_lazy, nice_length, max_chain: Integer): Integer;
|
||||||
function deflateBound(var strm: z_stream; sourceLen: LongInt): LongInt;
|
function deflateBound(var strm: z_stream; sourceLen: LongInt): LongInt;
|
||||||
|
function deflatePending(var strm: z_stream; var pending: Integer; var bits: Integer): Integer;
|
||||||
function deflatePrime(var strm: z_stream; bits, value: Integer): Integer;
|
function deflatePrime(var strm: z_stream; bits, value: Integer): Integer;
|
||||||
|
function deflateSetHeader(var strm: z_stream; head: gz_header): Integer;
|
||||||
function inflateInit2(var strm: z_stream; windowBits: Integer): Integer;
|
function inflateInit2(var strm: z_stream; windowBits: Integer): Integer;
|
||||||
function inflateSetDictionary(var strm: z_stream; const dictionary: PChar;
|
function inflateSetDictionary(var strm: z_stream; const dictionary: PChar;
|
||||||
dictLength: Integer): Integer;
|
dictLength: Integer): Integer;
|
||||||
function inflateSync(var strm: z_stream): Integer;
|
function inflateSync(var strm: z_stream): Integer;
|
||||||
function inflateCopy(var dest, source: z_stream): Integer;
|
function inflateCopy(var dest, source: z_stream): Integer;
|
||||||
function inflateReset(var strm: z_stream): Integer;
|
function inflateReset(var strm: z_stream): Integer;
|
||||||
|
function inflateReset2(var strm: z_stream; windowBits: Integer): Integer;
|
||||||
|
function inflatePrime(var strm: z_stream; bits, value: Integer): Integer;
|
||||||
|
function inflateMark(var strm: z_stream): LongInt;
|
||||||
|
function inflateGetHeader(var strm: z_stream; var head: gz_header): Integer;
|
||||||
function inflateBackInit(var strm: z_stream;
|
function inflateBackInit(var strm: z_stream;
|
||||||
windowBits: Integer; window: PChar): Integer;
|
windowBits: Integer; window: PChar): Integer;
|
||||||
function inflateBack(var strm: z_stream; in_fn: in_func; in_desc: Pointer;
|
function inflateBack(var strm: z_stream; in_fn: in_func; in_desc: Pointer;
|
||||||
@@ -123,7 +152,9 @@ function uncompress(dest: PChar; var destLen: LongInt;
|
|||||||
|
|
||||||
(* checksum functions *)
|
(* checksum functions *)
|
||||||
function adler32(adler: LongInt; const buf: PChar; len: Integer): LongInt;
|
function adler32(adler: LongInt; const buf: PChar; len: Integer): LongInt;
|
||||||
|
function adler32_combine(adler1, adler2, len2: LongInt): LongInt;
|
||||||
function crc32(crc: LongInt; const buf: PChar; len: Integer): LongInt;
|
function crc32(crc: LongInt; const buf: PChar; len: Integer): LongInt;
|
||||||
|
function crc32_combine(crc1, crc2, len2: LongInt): LongInt;
|
||||||
|
|
||||||
(* various hacks, don't look :) *)
|
(* various hacks, don't look :) *)
|
||||||
function deflateInit_(var strm: z_stream; level: Integer;
|
function deflateInit_(var strm: z_stream; level: Integer;
|
||||||
@@ -155,10 +186,12 @@ implementation
|
|||||||
{$L zutil.obj}
|
{$L zutil.obj}
|
||||||
|
|
||||||
function adler32; external;
|
function adler32; external;
|
||||||
|
function adler32_combine; external;
|
||||||
function compress; external;
|
function compress; external;
|
||||||
function compress2; external;
|
function compress2; external;
|
||||||
function compressBound; external;
|
function compressBound; external;
|
||||||
function crc32; external;
|
function crc32; external;
|
||||||
|
function crc32_combine; external;
|
||||||
function deflate; external;
|
function deflate; external;
|
||||||
function deflateBound; external;
|
function deflateBound; external;
|
||||||
function deflateCopy; external;
|
function deflateCopy; external;
|
||||||
@@ -166,18 +199,25 @@ function deflateEnd; external;
|
|||||||
function deflateInit_; external;
|
function deflateInit_; external;
|
||||||
function deflateInit2_; external;
|
function deflateInit2_; external;
|
||||||
function deflateParams; external;
|
function deflateParams; external;
|
||||||
|
function deflatePending; external;
|
||||||
function deflatePrime; external;
|
function deflatePrime; external;
|
||||||
function deflateReset; external;
|
function deflateReset; external;
|
||||||
function deflateSetDictionary; external;
|
function deflateSetDictionary; external;
|
||||||
|
function deflateSetHeader; external;
|
||||||
|
function deflateTune; external;
|
||||||
function inflate; external;
|
function inflate; external;
|
||||||
function inflateBack; external;
|
function inflateBack; external;
|
||||||
function inflateBackEnd; external;
|
function inflateBackEnd; external;
|
||||||
function inflateBackInit_; external;
|
function inflateBackInit_; external;
|
||||||
function inflateCopy; external;
|
function inflateCopy; external;
|
||||||
function inflateEnd; external;
|
function inflateEnd; external;
|
||||||
|
function inflateGetHeader; external;
|
||||||
function inflateInit_; external;
|
function inflateInit_; external;
|
||||||
function inflateInit2_; external;
|
function inflateInit2_; external;
|
||||||
|
function inflateMark; external;
|
||||||
|
function inflatePrime; external;
|
||||||
function inflateReset; external;
|
function inflateReset; external;
|
||||||
|
function inflateReset2; external;
|
||||||
function inflateSetDictionary; external;
|
function inflateSetDictionary; external;
|
||||||
function inflateSync; external;
|
function inflateSync; external;
|
||||||
function uncompress; external;
|
function uncompress; external;
|
||||||
|
|||||||
@@ -1,8 +1,42 @@
|
|||||||
puff: puff.c puff.h
|
CFLAGS=-O
|
||||||
cc -DTEST -o puff puff.c
|
|
||||||
|
puff: puff.o pufftest.o
|
||||||
|
|
||||||
|
puff.o: puff.h
|
||||||
|
|
||||||
|
pufftest.o: puff.h
|
||||||
|
|
||||||
test: puff
|
test: puff
|
||||||
puff zeros.raw
|
puff zeros.raw
|
||||||
|
|
||||||
|
puft: puff.c puff.h pufftest.o
|
||||||
|
cc -fprofile-arcs -ftest-coverage -o puft puff.c pufftest.o
|
||||||
|
|
||||||
|
# puff full coverage test (should say 100%)
|
||||||
|
cov: puft
|
||||||
|
@rm -f *.gcov *.gcda
|
||||||
|
@puft -w zeros.raw 2>&1 | cat > /dev/null
|
||||||
|
@echo '04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
|
||||||
|
@echo '00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
|
||||||
|
@echo '00 00 00 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 254
|
||||||
|
@echo '00 01 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
|
||||||
|
@echo '01 01 00 fe ff 0a' | xxd -r -p | puft -f 2>&1 | cat > /dev/null
|
||||||
|
@echo '02 7e ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246
|
||||||
|
@echo '02' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
|
||||||
|
@echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2
|
||||||
|
@echo '04 80 49 92 24 49 92 24 71 ff ff 93 11 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 249
|
||||||
|
@echo '04 c0 81 08 00 00 00 00 20 7f eb 0b 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246
|
||||||
|
@echo '0b 00 00' | xxd -r -p | puft -f 2>&1 | cat > /dev/null
|
||||||
|
@echo '1a 07' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246
|
||||||
|
@echo '0c c0 81 00 00 00 00 00 90 ff 6b 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 245
|
||||||
|
@puft -f zeros.raw 2>&1 | cat > /dev/null
|
||||||
|
@echo 'fc 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 253
|
||||||
|
@echo '04 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 252
|
||||||
|
@echo '04 00 24 49' | xxd -r -p | puft 2> /dev/null || test $$? -eq 251
|
||||||
|
@echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 84' | xxd -r -p | puft 2> /dev/null || test $$? -eq 248
|
||||||
|
@echo '04 00 24 e9 ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 250
|
||||||
|
@echo '04 00 24 e9 ff 6d' | xxd -r -p | puft 2> /dev/null || test $$? -eq 247
|
||||||
|
@gcov -n puff.c
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f puff puff.o
|
rm -f puff puft *.o *.gc*
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* puff.c
|
* puff.c
|
||||||
* Copyright (C) 2002-2008 Mark Adler
|
* Copyright (C) 2002-2013 Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in puff.h
|
* For conditions of distribution and use, see copyright notice in puff.h
|
||||||
* version 2.0, 25 Jul 2008
|
* version 2.3, 21 Jan 2013
|
||||||
*
|
*
|
||||||
* puff.c is a simple inflate written to be an unambiguous way to specify the
|
* puff.c is a simple inflate written to be an unambiguous way to specify the
|
||||||
* deflate format. It is not written for speed but rather simplicity. As a
|
* deflate format. It is not written for speed but rather simplicity. As a
|
||||||
@@ -49,9 +49,9 @@
|
|||||||
* - Fix fixed codes table error
|
* - Fix fixed codes table error
|
||||||
* - Provide a scanning mode for determining size of
|
* - Provide a scanning mode for determining size of
|
||||||
* uncompressed data
|
* uncompressed data
|
||||||
* 1.3 20 Mar 2002 - Go back to lengths for puff() parameters [Jean-loup]
|
* 1.3 20 Mar 2002 - Go back to lengths for puff() parameters [Gailly]
|
||||||
* - Add a puff.h file for the interface
|
* - Add a puff.h file for the interface
|
||||||
* - Add braces in puff() for else do [Jean-loup]
|
* - Add braces in puff() for else do [Gailly]
|
||||||
* - Use indexes instead of pointers for readability
|
* - Use indexes instead of pointers for readability
|
||||||
* 1.4 31 Mar 2002 - Simplify construct() code set check
|
* 1.4 31 Mar 2002 - Simplify construct() code set check
|
||||||
* - Fix some comments
|
* - Fix some comments
|
||||||
@@ -67,13 +67,22 @@
|
|||||||
* - Add option in TEST code for puff to write the data
|
* - Add option in TEST code for puff to write the data
|
||||||
* - Add option in TEST code to skip input bytes
|
* - Add option in TEST code to skip input bytes
|
||||||
* - Allow TEST code to read from piped stdin
|
* - Allow TEST code to read from piped stdin
|
||||||
|
* 2.1 4 Apr 2010 - Avoid variable initialization for happier compilers
|
||||||
|
* - Avoid unsigned comparisons for even happier compilers
|
||||||
|
* 2.2 25 Apr 2010 - Fix bug in variable initializations [Oberhumer]
|
||||||
|
* - Add const where appropriate [Oberhumer]
|
||||||
|
* - Split if's and ?'s for coverage testing
|
||||||
|
* - Break out test code to separate file
|
||||||
|
* - Move NIL to puff.h
|
||||||
|
* - Allow incomplete code only if single code length is 1
|
||||||
|
* - Add full code coverage test to Makefile
|
||||||
|
* 2.3 21 Jan 2013 - Check for invalid code length codes in dynamic blocks
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
|
#include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
|
||||||
#include "puff.h" /* prototype for puff() */
|
#include "puff.h" /* prototype for puff() */
|
||||||
|
|
||||||
#define local static /* for local function definitions */
|
#define local static /* for local function definitions */
|
||||||
#define NIL ((unsigned char *)0) /* for no output option */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Maximums for allocations and loops. It is not useful to change these --
|
* Maximums for allocations and loops. It is not useful to change these --
|
||||||
@@ -93,7 +102,7 @@ struct state {
|
|||||||
unsigned long outcnt; /* bytes written to out so far */
|
unsigned long outcnt; /* bytes written to out so far */
|
||||||
|
|
||||||
/* input state */
|
/* input state */
|
||||||
unsigned char *in; /* input buffer */
|
const unsigned char *in; /* input buffer */
|
||||||
unsigned long inlen; /* available input at in */
|
unsigned long inlen; /* available input at in */
|
||||||
unsigned long incnt; /* bytes read so far */
|
unsigned long incnt; /* bytes read so far */
|
||||||
int bitbuf; /* bit buffer */
|
int bitbuf; /* bit buffer */
|
||||||
@@ -121,7 +130,8 @@ local int bits(struct state *s, int need)
|
|||||||
/* load at least need bits into val */
|
/* load at least need bits into val */
|
||||||
val = s->bitbuf;
|
val = s->bitbuf;
|
||||||
while (s->bitcnt < need) {
|
while (s->bitcnt < need) {
|
||||||
if (s->incnt == s->inlen) longjmp(s->env, 1); /* out of input */
|
if (s->incnt == s->inlen)
|
||||||
|
longjmp(s->env, 1); /* out of input */
|
||||||
val |= (long)(s->in[s->incnt++]) << s->bitcnt; /* load eight bits */
|
val |= (long)(s->in[s->incnt++]) << s->bitcnt; /* load eight bits */
|
||||||
s->bitcnt += 8;
|
s->bitcnt += 8;
|
||||||
}
|
}
|
||||||
@@ -160,7 +170,8 @@ local int stored(struct state *s)
|
|||||||
s->bitcnt = 0;
|
s->bitcnt = 0;
|
||||||
|
|
||||||
/* get length and check against its one's complement */
|
/* get length and check against its one's complement */
|
||||||
if (s->incnt + 4 > s->inlen) return 2; /* not enough input */
|
if (s->incnt + 4 > s->inlen)
|
||||||
|
return 2; /* not enough input */
|
||||||
len = s->in[s->incnt++];
|
len = s->in[s->incnt++];
|
||||||
len |= s->in[s->incnt++] << 8;
|
len |= s->in[s->incnt++] << 8;
|
||||||
if (s->in[s->incnt++] != (~len & 0xff) ||
|
if (s->in[s->incnt++] != (~len & 0xff) ||
|
||||||
@@ -168,7 +179,8 @@ local int stored(struct state *s)
|
|||||||
return -2; /* didn't match complement! */
|
return -2; /* didn't match complement! */
|
||||||
|
|
||||||
/* copy len bytes from in to out */
|
/* copy len bytes from in to out */
|
||||||
if (s->incnt + len > s->inlen) return 2; /* not enough input */
|
if (s->incnt + len > s->inlen)
|
||||||
|
return 2; /* not enough input */
|
||||||
if (s->out != NIL) {
|
if (s->out != NIL) {
|
||||||
if (s->outcnt + len > s->outlen)
|
if (s->outcnt + len > s->outlen)
|
||||||
return 1; /* not enough output space */
|
return 1; /* not enough output space */
|
||||||
@@ -220,7 +232,7 @@ struct huffman {
|
|||||||
* in the deflate format. See the format notes for fixed() and dynamic().
|
* in the deflate format. See the format notes for fixed() and dynamic().
|
||||||
*/
|
*/
|
||||||
#ifdef SLOW
|
#ifdef SLOW
|
||||||
local int decode(struct state *s, struct huffman *h)
|
local int decode(struct state *s, const struct huffman *h)
|
||||||
{
|
{
|
||||||
int len; /* current number of bits in code */
|
int len; /* current number of bits in code */
|
||||||
int code; /* len bits being decoded */
|
int code; /* len bits being decoded */
|
||||||
@@ -248,7 +260,7 @@ local int decode(struct state *s, struct huffman *h)
|
|||||||
* a few percent larger.
|
* a few percent larger.
|
||||||
*/
|
*/
|
||||||
#else /* !SLOW */
|
#else /* !SLOW */
|
||||||
local int decode(struct state *s, struct huffman *h)
|
local int decode(struct state *s, const struct huffman *h)
|
||||||
{
|
{
|
||||||
int len; /* current number of bits in code */
|
int len; /* current number of bits in code */
|
||||||
int code; /* len bits being decoded */
|
int code; /* len bits being decoded */
|
||||||
@@ -281,10 +293,13 @@ local int decode(struct state *s, struct huffman *h)
|
|||||||
len++;
|
len++;
|
||||||
}
|
}
|
||||||
left = (MAXBITS+1) - len;
|
left = (MAXBITS+1) - len;
|
||||||
if (left == 0) break;
|
if (left == 0)
|
||||||
if (s->incnt == s->inlen) longjmp(s->env, 1); /* out of input */
|
break;
|
||||||
|
if (s->incnt == s->inlen)
|
||||||
|
longjmp(s->env, 1); /* out of input */
|
||||||
bitbuf = s->in[s->incnt++];
|
bitbuf = s->in[s->incnt++];
|
||||||
if (left > 8) left = 8;
|
if (left > 8)
|
||||||
|
left = 8;
|
||||||
}
|
}
|
||||||
return -10; /* ran out of codes */
|
return -10; /* ran out of codes */
|
||||||
}
|
}
|
||||||
@@ -322,7 +337,7 @@ local int decode(struct state *s, struct huffman *h)
|
|||||||
* - Within a given code length, the symbols are kept in ascending order for
|
* - Within a given code length, the symbols are kept in ascending order for
|
||||||
* the code bits definition.
|
* the code bits definition.
|
||||||
*/
|
*/
|
||||||
local int construct(struct huffman *h, short *length, int n)
|
local int construct(struct huffman *h, const short *length, int n)
|
||||||
{
|
{
|
||||||
int symbol; /* current symbol when stepping through length[] */
|
int symbol; /* current symbol when stepping through length[] */
|
||||||
int len; /* current length when stepping through h->count[] */
|
int len; /* current length when stepping through h->count[] */
|
||||||
@@ -342,7 +357,8 @@ local int construct(struct huffman *h, short *length, int n)
|
|||||||
for (len = 1; len <= MAXBITS; len++) {
|
for (len = 1; len <= MAXBITS; len++) {
|
||||||
left <<= 1; /* one more bit, double codes left */
|
left <<= 1; /* one more bit, double codes left */
|
||||||
left -= h->count[len]; /* deduct count from possible codes */
|
left -= h->count[len]; /* deduct count from possible codes */
|
||||||
if (left < 0) return left; /* over-subscribed--return negative */
|
if (left < 0)
|
||||||
|
return left; /* over-subscribed--return negative */
|
||||||
} /* left > 0 means incomplete */
|
} /* left > 0 means incomplete */
|
||||||
|
|
||||||
/* generate offsets into symbol table for each length for sorting */
|
/* generate offsets into symbol table for each length for sorting */
|
||||||
@@ -418,8 +434,8 @@ local int construct(struct huffman *h, short *length, int n)
|
|||||||
* defined to do the wrong thing in this case.
|
* defined to do the wrong thing in this case.
|
||||||
*/
|
*/
|
||||||
local int codes(struct state *s,
|
local int codes(struct state *s,
|
||||||
struct huffman *lencode,
|
const struct huffman *lencode,
|
||||||
struct huffman *distcode)
|
const struct huffman *distcode)
|
||||||
{
|
{
|
||||||
int symbol; /* decoded symbol */
|
int symbol; /* decoded symbol */
|
||||||
int len; /* length for copy */
|
int len; /* length for copy */
|
||||||
@@ -442,11 +458,13 @@ local int codes(struct state *s,
|
|||||||
/* decode literals and length/distance pairs */
|
/* decode literals and length/distance pairs */
|
||||||
do {
|
do {
|
||||||
symbol = decode(s, lencode);
|
symbol = decode(s, lencode);
|
||||||
if (symbol < 0) return symbol; /* invalid symbol */
|
if (symbol < 0)
|
||||||
|
return symbol; /* invalid symbol */
|
||||||
if (symbol < 256) { /* literal: symbol is the byte */
|
if (symbol < 256) { /* literal: symbol is the byte */
|
||||||
/* write out the literal */
|
/* write out the literal */
|
||||||
if (s->out != NIL) {
|
if (s->out != NIL) {
|
||||||
if (s->outcnt == s->outlen) return 1;
|
if (s->outcnt == s->outlen)
|
||||||
|
return 1;
|
||||||
s->out[s->outcnt] = symbol;
|
s->out[s->outcnt] = symbol;
|
||||||
}
|
}
|
||||||
s->outcnt++;
|
s->outcnt++;
|
||||||
@@ -454,12 +472,14 @@ local int codes(struct state *s,
|
|||||||
else if (symbol > 256) { /* length */
|
else if (symbol > 256) { /* length */
|
||||||
/* get and compute length */
|
/* get and compute length */
|
||||||
symbol -= 257;
|
symbol -= 257;
|
||||||
if (symbol >= 29) return -10; /* invalid fixed code */
|
if (symbol >= 29)
|
||||||
|
return -10; /* invalid fixed code */
|
||||||
len = lens[symbol] + bits(s, lext[symbol]);
|
len = lens[symbol] + bits(s, lext[symbol]);
|
||||||
|
|
||||||
/* get and check distance */
|
/* get and check distance */
|
||||||
symbol = decode(s, distcode);
|
symbol = decode(s, distcode);
|
||||||
if (symbol < 0) return symbol; /* invalid symbol */
|
if (symbol < 0)
|
||||||
|
return symbol; /* invalid symbol */
|
||||||
dist = dists[symbol] + bits(s, dext[symbol]);
|
dist = dists[symbol] + bits(s, dext[symbol]);
|
||||||
#ifndef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
|
#ifndef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
|
||||||
if (dist > s->outcnt)
|
if (dist > s->outcnt)
|
||||||
@@ -468,11 +488,13 @@ local int codes(struct state *s,
|
|||||||
|
|
||||||
/* copy length bytes from distance bytes back */
|
/* copy length bytes from distance bytes back */
|
||||||
if (s->out != NIL) {
|
if (s->out != NIL) {
|
||||||
if (s->outcnt + len > s->outlen) return 1;
|
if (s->outcnt + len > s->outlen)
|
||||||
|
return 1;
|
||||||
while (len--) {
|
while (len--) {
|
||||||
s->out[s->outcnt] =
|
s->out[s->outcnt] =
|
||||||
#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
|
#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
|
||||||
dist > s->outcnt ? 0 :
|
dist > s->outcnt ?
|
||||||
|
0 :
|
||||||
#endif
|
#endif
|
||||||
s->out[s->outcnt - dist];
|
s->out[s->outcnt - dist];
|
||||||
s->outcnt++;
|
s->outcnt++;
|
||||||
@@ -516,14 +538,19 @@ local int fixed(struct state *s)
|
|||||||
static int virgin = 1;
|
static int virgin = 1;
|
||||||
static short lencnt[MAXBITS+1], lensym[FIXLCODES];
|
static short lencnt[MAXBITS+1], lensym[FIXLCODES];
|
||||||
static short distcnt[MAXBITS+1], distsym[MAXDCODES];
|
static short distcnt[MAXBITS+1], distsym[MAXDCODES];
|
||||||
static struct huffman lencode = {lencnt, lensym};
|
static struct huffman lencode, distcode;
|
||||||
static struct huffman distcode = {distcnt, distsym};
|
|
||||||
|
|
||||||
/* build fixed huffman tables if first call (may not be thread safe) */
|
/* build fixed huffman tables if first call (may not be thread safe) */
|
||||||
if (virgin) {
|
if (virgin) {
|
||||||
int symbol;
|
int symbol;
|
||||||
short lengths[FIXLCODES];
|
short lengths[FIXLCODES];
|
||||||
|
|
||||||
|
/* construct lencode and distcode */
|
||||||
|
lencode.count = lencnt;
|
||||||
|
lencode.symbol = lensym;
|
||||||
|
distcode.count = distcnt;
|
||||||
|
distcode.symbol = distsym;
|
||||||
|
|
||||||
/* literal/length table */
|
/* literal/length table */
|
||||||
for (symbol = 0; symbol < 144; symbol++)
|
for (symbol = 0; symbol < 144; symbol++)
|
||||||
lengths[symbol] = 8;
|
lengths[symbol] = 8;
|
||||||
@@ -643,11 +670,16 @@ local int dynamic(struct state *s)
|
|||||||
short lengths[MAXCODES]; /* descriptor code lengths */
|
short lengths[MAXCODES]; /* descriptor code lengths */
|
||||||
short lencnt[MAXBITS+1], lensym[MAXLCODES]; /* lencode memory */
|
short lencnt[MAXBITS+1], lensym[MAXLCODES]; /* lencode memory */
|
||||||
short distcnt[MAXBITS+1], distsym[MAXDCODES]; /* distcode memory */
|
short distcnt[MAXBITS+1], distsym[MAXDCODES]; /* distcode memory */
|
||||||
struct huffman lencode = {lencnt, lensym}; /* length code */
|
struct huffman lencode, distcode; /* length and distance codes */
|
||||||
struct huffman distcode = {distcnt, distsym}; /* distance code */
|
|
||||||
static const short order[19] = /* permutation of code length codes */
|
static const short order[19] = /* permutation of code length codes */
|
||||||
{16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
|
{16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
|
||||||
|
|
||||||
|
/* construct lencode and distcode */
|
||||||
|
lencode.count = lencnt;
|
||||||
|
lencode.symbol = lensym;
|
||||||
|
distcode.count = distcnt;
|
||||||
|
distcode.symbol = distsym;
|
||||||
|
|
||||||
/* get number of lengths in each table, check lengths */
|
/* get number of lengths in each table, check lengths */
|
||||||
nlen = bits(s, 5) + 257;
|
nlen = bits(s, 5) + 257;
|
||||||
ndist = bits(s, 5) + 1;
|
ndist = bits(s, 5) + 1;
|
||||||
@@ -663,7 +695,8 @@ local int dynamic(struct state *s)
|
|||||||
|
|
||||||
/* build huffman table for code lengths codes (use lencode temporarily) */
|
/* build huffman table for code lengths codes (use lencode temporarily) */
|
||||||
err = construct(&lencode, lengths, 19);
|
err = construct(&lencode, lengths, 19);
|
||||||
if (err != 0) return -4; /* require complete code set here */
|
if (err != 0) /* require complete code set here */
|
||||||
|
return -4;
|
||||||
|
|
||||||
/* read length/literal and distance code length tables */
|
/* read length/literal and distance code length tables */
|
||||||
index = 0;
|
index = 0;
|
||||||
@@ -672,12 +705,15 @@ local int dynamic(struct state *s)
|
|||||||
int len; /* last length to repeat */
|
int len; /* last length to repeat */
|
||||||
|
|
||||||
symbol = decode(s, &lencode);
|
symbol = decode(s, &lencode);
|
||||||
|
if (symbol < 0)
|
||||||
|
return symbol; /* invalid symbol */
|
||||||
if (symbol < 16) /* length in 0..15 */
|
if (symbol < 16) /* length in 0..15 */
|
||||||
lengths[index++] = symbol;
|
lengths[index++] = symbol;
|
||||||
else { /* repeat instruction */
|
else { /* repeat instruction */
|
||||||
len = 0; /* assume repeating zeros */
|
len = 0; /* assume repeating zeros */
|
||||||
if (symbol == 16) { /* repeat last length 3..6 times */
|
if (symbol == 16) { /* repeat last length 3..6 times */
|
||||||
if (index == 0) return -5; /* no last length! */
|
if (index == 0)
|
||||||
|
return -5; /* no last length! */
|
||||||
len = lengths[index - 1]; /* last length */
|
len = lengths[index - 1]; /* last length */
|
||||||
symbol = 3 + bits(s, 2);
|
symbol = 3 + bits(s, 2);
|
||||||
}
|
}
|
||||||
@@ -698,13 +734,13 @@ local int dynamic(struct state *s)
|
|||||||
|
|
||||||
/* build huffman table for literal/length codes */
|
/* build huffman table for literal/length codes */
|
||||||
err = construct(&lencode, lengths, nlen);
|
err = construct(&lencode, lengths, nlen);
|
||||||
if (err < 0 || (err > 0 && nlen - lencode.count[0] != 1))
|
if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
|
||||||
return -7; /* only allow incomplete codes if just one code */
|
return -7; /* incomplete code ok only for single length 1 code */
|
||||||
|
|
||||||
/* build huffman table for distance codes */
|
/* build huffman table for distance codes */
|
||||||
err = construct(&distcode, lengths + nlen, ndist);
|
err = construct(&distcode, lengths + nlen, ndist);
|
||||||
if (err < 0 || (err > 0 && ndist - distcode.count[0] != 1))
|
if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
|
||||||
return -8; /* only allow incomplete codes if just one code */
|
return -8; /* incomplete code ok only for single length 1 code */
|
||||||
|
|
||||||
/* decode data until end-of-block code */
|
/* decode data until end-of-block code */
|
||||||
return codes(s, &lencode, &distcode);
|
return codes(s, &lencode, &distcode);
|
||||||
@@ -756,7 +792,7 @@ local int dynamic(struct state *s)
|
|||||||
*/
|
*/
|
||||||
int puff(unsigned char *dest, /* pointer to destination pointer */
|
int puff(unsigned char *dest, /* pointer to destination pointer */
|
||||||
unsigned long *destlen, /* amount of output space */
|
unsigned long *destlen, /* amount of output space */
|
||||||
unsigned char *source, /* pointer to source data pointer */
|
const unsigned char *source, /* pointer to source data pointer */
|
||||||
unsigned long *sourcelen) /* amount of input available */
|
unsigned long *sourcelen) /* amount of input available */
|
||||||
{
|
{
|
||||||
struct state s; /* input/output state */
|
struct state s; /* input/output state */
|
||||||
@@ -783,11 +819,15 @@ int puff(unsigned char *dest, /* pointer to destination pointer */
|
|||||||
do {
|
do {
|
||||||
last = bits(&s, 1); /* one if last block */
|
last = bits(&s, 1); /* one if last block */
|
||||||
type = bits(&s, 2); /* block type 0..3 */
|
type = bits(&s, 2); /* block type 0..3 */
|
||||||
err = type == 0 ? stored(&s) :
|
err = type == 0 ?
|
||||||
(type == 1 ? fixed(&s) :
|
stored(&s) :
|
||||||
(type == 2 ? dynamic(&s) :
|
(type == 1 ?
|
||||||
|
fixed(&s) :
|
||||||
|
(type == 2 ?
|
||||||
|
dynamic(&s) :
|
||||||
-1)); /* type == 3, invalid */
|
-1)); /* type == 3, invalid */
|
||||||
if (err != 0) break; /* return with error */
|
if (err != 0)
|
||||||
|
break; /* return with error */
|
||||||
} while (!last);
|
} while (!last);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -798,145 +838,3 @@ int puff(unsigned char *dest, /* pointer to destination pointer */
|
|||||||
}
|
}
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TEST
|
|
||||||
/* Examples of how to use puff().
|
|
||||||
|
|
||||||
Usage: puff [-w] [-nnn] file
|
|
||||||
... | puff [-w] [-nnn]
|
|
||||||
|
|
||||||
where file is the input file with deflate data, nnn is the number of bytes
|
|
||||||
of input to skip before inflating (e.g. to skip a zlib or gzip header), and
|
|
||||||
-w is used to write the decompressed data to stdout */
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
/* Return size times approximately the cube root of 2, keeping the result as 1,
|
|
||||||
3, or 5 times a power of 2 -- the result is always > size, until the result
|
|
||||||
is the maximum value of an unsigned long, where it remains. This is useful
|
|
||||||
to keep reallocations less than ~33% over the actual data. */
|
|
||||||
local size_t bythirds(size_t size)
|
|
||||||
{
|
|
||||||
int n;
|
|
||||||
size_t m;
|
|
||||||
|
|
||||||
m = size;
|
|
||||||
for (n = 0; m; n++)
|
|
||||||
m >>= 1;
|
|
||||||
if (n < 3)
|
|
||||||
return size + 1;
|
|
||||||
n -= 3;
|
|
||||||
m = size >> n;
|
|
||||||
m += m == 6 ? 2 : 1;
|
|
||||||
m <<= n;
|
|
||||||
return m > size ? m : (size_t)(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Read the input file *name, or stdin if name is NULL, into allocated memory.
|
|
||||||
Reallocate to larger buffers until the entire file is read in. Return a
|
|
||||||
pointer to the allocated data, or NULL if there was a memory allocation
|
|
||||||
failure. *len is the number of bytes of data read from the input file (even
|
|
||||||
if load() returns NULL). If the input file was empty or could not be opened
|
|
||||||
or read, *len is zero. */
|
|
||||||
local void *load(char *name, size_t *len)
|
|
||||||
{
|
|
||||||
size_t size;
|
|
||||||
void *buf, *swap;
|
|
||||||
FILE *in;
|
|
||||||
|
|
||||||
*len = 0;
|
|
||||||
buf = malloc(size = 4096);
|
|
||||||
if (buf == NULL)
|
|
||||||
return NULL;
|
|
||||||
in = name == NULL ? stdin : fopen(name, "rb");
|
|
||||||
if (in != NULL) {
|
|
||||||
for (;;) {
|
|
||||||
*len += fread((char *)buf + *len, 1, size - *len, in);
|
|
||||||
if (*len < size) break;
|
|
||||||
size = bythirds(size);
|
|
||||||
if (size == *len || (swap = realloc(buf, size)) == NULL) {
|
|
||||||
free(buf);
|
|
||||||
buf = NULL;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
buf = swap;
|
|
||||||
}
|
|
||||||
fclose(in);
|
|
||||||
}
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
int ret, skip = 0, put = 0;
|
|
||||||
char *arg, *name = NULL;
|
|
||||||
unsigned char *source = NULL, *dest;
|
|
||||||
size_t len = 0;
|
|
||||||
unsigned long sourcelen, destlen;
|
|
||||||
|
|
||||||
/* process arguments */
|
|
||||||
while (arg = *++argv, --argc)
|
|
||||||
if (arg[0] == '-') {
|
|
||||||
if (arg[1] == 'w' && arg[2] == 0)
|
|
||||||
put = 1;
|
|
||||||
else if (arg[1] >= '0' && arg[1] <= '9')
|
|
||||||
skip = atoi(arg + 1);
|
|
||||||
else {
|
|
||||||
fprintf(stderr, "invalid option %s\n", arg);
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (name != NULL) {
|
|
||||||
fprintf(stderr, "only one file name allowed\n");
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
name = arg;
|
|
||||||
source = load(name, &len);
|
|
||||||
if (source == NULL) {
|
|
||||||
fprintf(stderr, "memory allocation failure\n");
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
if (len == 0) {
|
|
||||||
fprintf(stderr, "could not read %s, or it was empty\n",
|
|
||||||
name == NULL ? "<stdin>" : name);
|
|
||||||
free(source);
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
if (skip >= len) {
|
|
||||||
fprintf(stderr, "skip request of %d leaves no input\n", skip);
|
|
||||||
free(source);
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* test inflate data with offset skip */
|
|
||||||
len -= skip;
|
|
||||||
sourcelen = (unsigned long)len;
|
|
||||||
ret = puff(NIL, &destlen, source + skip, &sourcelen);
|
|
||||||
if (ret)
|
|
||||||
fprintf(stderr, "puff() failed with return code %d\n", ret);
|
|
||||||
else {
|
|
||||||
fprintf(stderr, "puff() succeeded uncompressing %lu bytes\n", destlen);
|
|
||||||
if (sourcelen < len) fprintf(stderr, "%lu compressed bytes unused\n",
|
|
||||||
len - sourcelen);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* if requested, inflate again and write decompressd data to stdout */
|
|
||||||
if (put) {
|
|
||||||
dest = malloc(destlen);
|
|
||||||
if (dest == NULL) {
|
|
||||||
fprintf(stderr, "memory allocation failure\n");
|
|
||||||
free(source);
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
puff(dest, &destlen, source + skip, &sourcelen);
|
|
||||||
fwrite(dest, 1, destlen, stdout);
|
|
||||||
free(dest);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* clean up */
|
|
||||||
free(source);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* puff.h
|
/* puff.h
|
||||||
Copyright (C) 2002-2008 Mark Adler, all rights reserved
|
Copyright (C) 2002-2013 Mark Adler, all rights reserved
|
||||||
version 1.9, 10 Jan 2008
|
version 2.3, 21 Jan 2013
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the author be held liable for any damages
|
warranty. In no event will the author be held liable for any damages
|
||||||
@@ -25,7 +25,11 @@
|
|||||||
/*
|
/*
|
||||||
* See puff.c for purpose and usage.
|
* See puff.c for purpose and usage.
|
||||||
*/
|
*/
|
||||||
|
#ifndef NIL
|
||||||
|
# define NIL ((unsigned char *)0) /* for no output option */
|
||||||
|
#endif
|
||||||
|
|
||||||
int puff(unsigned char *dest, /* pointer to destination pointer */
|
int puff(unsigned char *dest, /* pointer to destination pointer */
|
||||||
unsigned long *destlen, /* amount of output space */
|
unsigned long *destlen, /* amount of output space */
|
||||||
unsigned char *source, /* pointer to source data pointer */
|
const unsigned char *source, /* pointer to source data pointer */
|
||||||
unsigned long *sourcelen); /* amount of input available */
|
unsigned long *sourcelen); /* amount of input available */
|
||||||
|
|||||||
165
contrib/puff/pufftest.c
Normal file
165
contrib/puff/pufftest.c
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
/*
|
||||||
|
* pufftest.c
|
||||||
|
* Copyright (C) 2002-2013 Mark Adler
|
||||||
|
* For conditions of distribution and use, see copyright notice in puff.h
|
||||||
|
* version 2.3, 21 Jan 2013
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Example of how to use puff().
|
||||||
|
|
||||||
|
Usage: puff [-w] [-f] [-nnn] file
|
||||||
|
... | puff [-w] [-f] [-nnn]
|
||||||
|
|
||||||
|
where file is the input file with deflate data, nnn is the number of bytes
|
||||||
|
of input to skip before inflating (e.g. to skip a zlib or gzip header), and
|
||||||
|
-w is used to write the decompressed data to stdout. -f is for coverage
|
||||||
|
testing, and causes pufftest to fail with not enough output space (-f does
|
||||||
|
a write like -w, so -w is not required). */
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "puff.h"
|
||||||
|
|
||||||
|
#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__)
|
||||||
|
# include <fcntl.h>
|
||||||
|
# include <io.h>
|
||||||
|
# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
|
||||||
|
#else
|
||||||
|
# define SET_BINARY_MODE(file)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define local static
|
||||||
|
|
||||||
|
/* Return size times approximately the cube root of 2, keeping the result as 1,
|
||||||
|
3, or 5 times a power of 2 -- the result is always > size, until the result
|
||||||
|
is the maximum value of an unsigned long, where it remains. This is useful
|
||||||
|
to keep reallocations less than ~33% over the actual data. */
|
||||||
|
local size_t bythirds(size_t size)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
size_t m;
|
||||||
|
|
||||||
|
m = size;
|
||||||
|
for (n = 0; m; n++)
|
||||||
|
m >>= 1;
|
||||||
|
if (n < 3)
|
||||||
|
return size + 1;
|
||||||
|
n -= 3;
|
||||||
|
m = size >> n;
|
||||||
|
m += m == 6 ? 2 : 1;
|
||||||
|
m <<= n;
|
||||||
|
return m > size ? m : (size_t)(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Read the input file *name, or stdin if name is NULL, into allocated memory.
|
||||||
|
Reallocate to larger buffers until the entire file is read in. Return a
|
||||||
|
pointer to the allocated data, or NULL if there was a memory allocation
|
||||||
|
failure. *len is the number of bytes of data read from the input file (even
|
||||||
|
if load() returns NULL). If the input file was empty or could not be opened
|
||||||
|
or read, *len is zero. */
|
||||||
|
local void *load(const char *name, size_t *len)
|
||||||
|
{
|
||||||
|
size_t size;
|
||||||
|
void *buf, *swap;
|
||||||
|
FILE *in;
|
||||||
|
|
||||||
|
*len = 0;
|
||||||
|
buf = malloc(size = 4096);
|
||||||
|
if (buf == NULL)
|
||||||
|
return NULL;
|
||||||
|
in = name == NULL ? stdin : fopen(name, "rb");
|
||||||
|
if (in != NULL) {
|
||||||
|
for (;;) {
|
||||||
|
*len += fread((char *)buf + *len, 1, size - *len, in);
|
||||||
|
if (*len < size) break;
|
||||||
|
size = bythirds(size);
|
||||||
|
if (size == *len || (swap = realloc(buf, size)) == NULL) {
|
||||||
|
free(buf);
|
||||||
|
buf = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
buf = swap;
|
||||||
|
}
|
||||||
|
fclose(in);
|
||||||
|
}
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
int ret, put = 0, fail = 0;
|
||||||
|
unsigned skip = 0;
|
||||||
|
char *arg, *name = NULL;
|
||||||
|
unsigned char *source = NULL, *dest;
|
||||||
|
size_t len = 0;
|
||||||
|
unsigned long sourcelen, destlen;
|
||||||
|
|
||||||
|
/* process arguments */
|
||||||
|
while (arg = *++argv, --argc)
|
||||||
|
if (arg[0] == '-') {
|
||||||
|
if (arg[1] == 'w' && arg[2] == 0)
|
||||||
|
put = 1;
|
||||||
|
else if (arg[1] == 'f' && arg[2] == 0)
|
||||||
|
fail = 1, put = 1;
|
||||||
|
else if (arg[1] >= '0' && arg[1] <= '9')
|
||||||
|
skip = (unsigned)atoi(arg + 1);
|
||||||
|
else {
|
||||||
|
fprintf(stderr, "invalid option %s\n", arg);
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (name != NULL) {
|
||||||
|
fprintf(stderr, "only one file name allowed\n");
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
name = arg;
|
||||||
|
source = load(name, &len);
|
||||||
|
if (source == NULL) {
|
||||||
|
fprintf(stderr, "memory allocation failure\n");
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
if (len == 0) {
|
||||||
|
fprintf(stderr, "could not read %s, or it was empty\n",
|
||||||
|
name == NULL ? "<stdin>" : name);
|
||||||
|
free(source);
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
if (skip >= len) {
|
||||||
|
fprintf(stderr, "skip request of %d leaves no input\n", skip);
|
||||||
|
free(source);
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* test inflate data with offset skip */
|
||||||
|
len -= skip;
|
||||||
|
sourcelen = (unsigned long)len;
|
||||||
|
ret = puff(NIL, &destlen, source + skip, &sourcelen);
|
||||||
|
if (ret)
|
||||||
|
fprintf(stderr, "puff() failed with return code %d\n", ret);
|
||||||
|
else {
|
||||||
|
fprintf(stderr, "puff() succeeded uncompressing %lu bytes\n", destlen);
|
||||||
|
if (sourcelen < len) fprintf(stderr, "%lu compressed bytes unused\n",
|
||||||
|
len - sourcelen);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* if requested, inflate again and write decompressd data to stdout */
|
||||||
|
if (put && ret == 0) {
|
||||||
|
if (fail)
|
||||||
|
destlen >>= 1;
|
||||||
|
dest = malloc(destlen);
|
||||||
|
if (dest == NULL) {
|
||||||
|
fprintf(stderr, "memory allocation failure\n");
|
||||||
|
free(source);
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
puff(dest, &destlen, source + skip, &sourcelen);
|
||||||
|
SET_BINARY_MODE(stdout);
|
||||||
|
fwrite(dest, 1, destlen, stdout);
|
||||||
|
free(dest);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* clean up */
|
||||||
|
free(source);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
Binary file not shown.
@@ -116,10 +116,10 @@ DWORD GetMsecSincePerfCounter(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPe
|
|||||||
return dwRet;
|
return dwRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ReadFileMemory(const char* filename,long* plFileSize,void** pFilePtr)
|
int ReadFileMemory(const char* filename,long* plFileSize,unsigned char** pFilePtr)
|
||||||
{
|
{
|
||||||
FILE* stream;
|
FILE* stream;
|
||||||
void* ptr;
|
unsigned char* ptr;
|
||||||
int retVal=1;
|
int retVal=1;
|
||||||
stream=fopen(filename, "rb");
|
stream=fopen(filename, "rb");
|
||||||
if (stream==NULL)
|
if (stream==NULL)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
Building instructions for the DLL versions of Zlib 1.2.3
|
Building instructions for the DLL versions of Zlib 1.2.8
|
||||||
========================================================
|
========================================================
|
||||||
|
|
||||||
This directory contains projects that build zlib and minizip using
|
This directory contains projects that build zlib and minizip using
|
||||||
Microsoft Visual C++ 7.0/7.1/8.0/9.0/10.0, and Visual C++ .
|
Microsoft Visual C++ 9.0/10.0.
|
||||||
|
|
||||||
You don't need to build these projects yourself. You can download the
|
You don't need to build these projects yourself. You can download the
|
||||||
binaries from:
|
binaries from:
|
||||||
@@ -10,57 +10,28 @@ binaries from:
|
|||||||
|
|
||||||
More information can be found at this site.
|
More information can be found at this site.
|
||||||
|
|
||||||
first compile assembly code by running
|
|
||||||
bld_ml64.bat in contrib\masmx64
|
|
||||||
bld_ml32.bat in contrib\masmx86
|
|
||||||
|
|
||||||
|
|
||||||
Build instructions for Visual Studio 7.x (32 bits)
|
|
||||||
--------------------------------------------------
|
|
||||||
- Uncompress current zlib, including all contrib/* files
|
|
||||||
- Download the crtdll library from
|
|
||||||
http://www.winimage.com/zLibDll/crtdll.zip
|
|
||||||
Unzip crtdll.zip to extract crtdll.lib on contrib\vstudio\vc7.
|
|
||||||
- Open contrib\vstudio\vc7\zlibvc.sln with Microsoft Visual C++ 7.x
|
|
||||||
(Visual Studio .Net 2002 or 2003).
|
|
||||||
|
|
||||||
Build instructions for Visual Studio 2005 (32 bits or 64 bits)
|
|
||||||
--------------------------------------------------------------
|
|
||||||
- Uncompress current zlib, including all contrib/* files
|
|
||||||
- For 32 bits only: download the crtdll library from
|
|
||||||
http://www.winimage.com/zLibDll/crtdll.zip
|
|
||||||
Unzip crtdll.zip to extract crtdll.lib on contrib\vstudio\vc8.
|
|
||||||
- Open contrib\vstudio\vc8\zlibvc.sln with Microsoft Visual C++ 2005
|
|
||||||
|
|
||||||
Build instructions for Visual Studio 2005 64 bits, PSDK compiler
|
|
||||||
----------------------------------------------------------------
|
|
||||||
at the time of writing this text file, Visual Studio 2005 (and
|
|
||||||
Microsoft Visual C++ 8.0) is on the beta 2 stage.
|
|
||||||
Using you can get the free 64 bits compiler from Platform SDK,
|
|
||||||
which is NOT a beta, and compile using the Visual studio 2005 IDE
|
|
||||||
see http://www.winimage.com/misc/sdk64onvs2005/ for instruction
|
|
||||||
|
|
||||||
- Uncompress current zlib, including all contrib/* files
|
|
||||||
- start Visual Studio 2005 from a platform SDK command prompt, using
|
|
||||||
the /useenv switch
|
|
||||||
- Open contrib\vstudio\vc8\zlibvc.sln with Microsoft Visual C++ 2005
|
|
||||||
|
|
||||||
|
|
||||||
Build instructions for Visual Studio 2008 (32 bits or 64 bits)
|
Build instructions for Visual Studio 2008 (32 bits or 64 bits)
|
||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
- Uncompress current zlib, including all contrib/* files
|
- Uncompress current zlib, including all contrib/* files
|
||||||
- For 32 bits only: download the crtdll library from
|
- Compile assembly code (with Visual Studio Command Prompt) by running:
|
||||||
http://www.winimage.com/zLibDll/crtdll.zip
|
bld_ml64.bat (in contrib\masmx64)
|
||||||
Unzip crtdll.zip to extract crtdll.lib on contrib\vstudio\vc9.
|
bld_ml32.bat (in contrib\masmx86)
|
||||||
- Open contrib\vstudio\vc9\zlibvc.sln with Microsoft Visual C++ 2008.0
|
- Open contrib\vstudio\vc9\zlibvc.sln with Microsoft Visual C++ 2008
|
||||||
|
- Or run: vcbuild /rebuild contrib\vstudio\vc9\zlibvc.sln "Release|Win32"
|
||||||
|
|
||||||
Build instructions for Visual Studio 2010 (32 bits or 64 bits)
|
Build instructions for Visual Studio 2010 (32 bits or 64 bits)
|
||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
- Uncompress current zlib, including all contrib/* files
|
- Uncompress current zlib, including all contrib/* files
|
||||||
- For 32 bits only: download the crtdll library from
|
- Open contrib\vstudio\vc10\zlibvc.sln with Microsoft Visual C++ 2010
|
||||||
http://www.winimage.com/zLibDll/crtdll.zip
|
|
||||||
Unzip crtdll.zip to extract crtdll.lib on contrib\vstudio\vc10.
|
Build instructions for Visual Studio 2012 (32 bits or 64 bits)
|
||||||
- Open contrib\vstudio\vc10\zlibvc.sln with Microsoft Visual C++ 2010.0
|
--------------------------------------------------------------
|
||||||
|
- Uncompress current zlib, including all contrib/* files
|
||||||
|
- Open contrib\vstudio\vc11\zlibvc.sln with Microsoft Visual C++ 2012
|
||||||
|
|
||||||
|
|
||||||
Important
|
Important
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
</Project>
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
</Project>
|
|
||||||
@@ -194,7 +194,7 @@
|
|||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>..\..\masmx86\gvmat32.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
||||||
@@ -254,7 +254,7 @@
|
|||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>..\..\masmx86\gvmat32.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
@@ -397,14 +397,6 @@
|
|||||||
<ClCompile Include="..\..\..\compress.c" />
|
<ClCompile Include="..\..\..\compress.c" />
|
||||||
<ClCompile Include="..\..\..\crc32.c" />
|
<ClCompile Include="..\..\..\crc32.c" />
|
||||||
<ClCompile Include="..\..\..\deflate.c" />
|
<ClCompile Include="..\..\..\deflate.c" />
|
||||||
<ClCompile Include="..\..\masmx86\gvmat32c.c">
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\..\infback.c" />
|
<ClCompile Include="..\..\..\infback.c" />
|
||||||
<ClCompile Include="..\..\masmx64\inffas8664.c">
|
<ClCompile Include="..\..\masmx64\inffas8664.c">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
|
||||||
|
|||||||
@@ -27,9 +27,6 @@
|
|||||||
<ClCompile Include="..\..\..\deflate.c">
|
<ClCompile Include="..\..\..\deflate.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\masmx86\gvmat32c.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\..\infback.c">
|
<ClCompile Include="..\..\..\infback.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
</Project>
|
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
@@ -200,7 +200,7 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
@@ -227,7 +227,7 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
@@ -257,7 +257,7 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
@@ -288,7 +288,7 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
</Project>
|
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
#define IDR_VERSION1 1
|
#define IDR_VERSION1 1
|
||||||
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
||||||
FILEVERSION 1,2,3,0
|
FILEVERSION 1,2,8,0
|
||||||
PRODUCTVERSION 1,2,3,0
|
PRODUCTVERSION 1,2,8,0
|
||||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
FILEFLAGS 0
|
FILEFLAGS 0
|
||||||
FILEOS VOS_DOS_WINDOWS32
|
FILEOS VOS_DOS_WINDOWS32
|
||||||
@@ -16,13 +16,13 @@ BEGIN
|
|||||||
//language ID = U.S. English, char set = Windows, Multilingual
|
//language ID = U.S. English, char set = Windows, Multilingual
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "zlib data compression library\0"
|
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
|
||||||
VALUE "FileVersion", "1.2.3.0\0"
|
VALUE "FileVersion", "1.2.8\0"
|
||||||
VALUE "InternalName", "zlib\0"
|
VALUE "InternalName", "zlib\0"
|
||||||
VALUE "OriginalFilename", "zlib.dll\0"
|
VALUE "OriginalFilename", "zlibwapi.dll\0"
|
||||||
VALUE "ProductName", "ZLib.DLL\0"
|
VALUE "ProductName", "ZLib.DLL\0"
|
||||||
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
||||||
VALUE "LegalCopyright", "(C) 1995-2003 Jean-loup Gailly & Mark Adler\0"
|
VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
@@ -182,6 +182,10 @@
|
|||||||
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
</Lib>
|
</Lib>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx86
|
||||||
|
bld_ml32.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
@@ -206,10 +210,14 @@
|
|||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Lib>
|
<Lib>
|
||||||
<AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
||||||
<AdditionalDependencies>..\..\masmx86\gvmat32.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
</Lib>
|
</Lib>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx86
|
||||||
|
bld_ml32.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
@@ -266,6 +274,10 @@
|
|||||||
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
</Lib>
|
</Lib>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx64
|
||||||
|
bld_ml64.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -326,6 +338,10 @@
|
|||||||
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
</Lib>
|
</Lib>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx64
|
||||||
|
bld_ml64.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -422,16 +438,7 @@
|
|||||||
<ClCompile Include="..\..\..\compress.c" />
|
<ClCompile Include="..\..\..\compress.c" />
|
||||||
<ClCompile Include="..\..\..\crc32.c" />
|
<ClCompile Include="..\..\..\crc32.c" />
|
||||||
<ClCompile Include="..\..\..\deflate.c" />
|
<ClCompile Include="..\..\..\deflate.c" />
|
||||||
<ClCompile Include="..\..\masmx86\gvmat32c.c">
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\..\gzclose.c" />
|
<ClCompile Include="..\..\..\gzclose.c" />
|
||||||
<ClCompile Include="..\..\..\gzio.c" />
|
|
||||||
<ClCompile Include="..\..\..\gzlib.c" />
|
<ClCompile Include="..\..\..\gzlib.c" />
|
||||||
<ClCompile Include="..\..\..\gzread.c" />
|
<ClCompile Include="..\..\..\gzread.c" />
|
||||||
<ClCompile Include="..\..\..\gzwrite.c" />
|
<ClCompile Include="..\..\..\gzwrite.c" />
|
||||||
|
|||||||
@@ -18,15 +18,9 @@
|
|||||||
<ClCompile Include="..\..\..\deflate.c">
|
<ClCompile Include="..\..\..\deflate.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\masmx86\gvmat32c.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\..\gzclose.c">
|
<ClCompile Include="..\..\..\gzclose.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\..\gzio.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\..\gzlib.c">
|
<ClCompile Include="..\..\..\gzlib.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
</Project>
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
|
LIBRARY
|
||||||
|
; zlib data compression and ZIP file I/O library
|
||||||
|
|
||||||
VERSION 1.23
|
VERSION 1.2.8
|
||||||
|
|
||||||
HEAPSIZE 1048576,8192
|
|
||||||
|
|
||||||
EXPORTS
|
EXPORTS
|
||||||
adler32 @1
|
adler32 @1
|
||||||
@@ -55,6 +55,7 @@ EXPORTS
|
|||||||
gzungetc @49
|
gzungetc @49
|
||||||
zlibCompileFlags @50
|
zlibCompileFlags @50
|
||||||
deflatePrime @51
|
deflatePrime @51
|
||||||
|
deflatePending @52
|
||||||
|
|
||||||
unzOpen @61
|
unzOpen @61
|
||||||
unzClose @62
|
unzClose @62
|
||||||
@@ -90,11 +91,12 @@ EXPORTS
|
|||||||
unzGoToFilePos @101
|
unzGoToFilePos @101
|
||||||
|
|
||||||
fill_win32_filefunc @110
|
fill_win32_filefunc @110
|
||||||
|
|
||||||
|
; zlibwapi v1.2.4 added:
|
||||||
fill_win32_filefunc64 @111
|
fill_win32_filefunc64 @111
|
||||||
fill_win32_filefunc64A @112
|
fill_win32_filefunc64A @112
|
||||||
fill_win32_filefunc64W @113
|
fill_win32_filefunc64W @113
|
||||||
|
|
||||||
; quick hack by hkuno@microhouse.co.jp
|
|
||||||
unzOpen64 @120
|
unzOpen64 @120
|
||||||
unzOpen2_64 @121
|
unzOpen2_64 @121
|
||||||
unzGetGlobalInfo64 @122
|
unzGetGlobalInfo64 @122
|
||||||
@@ -111,4 +113,31 @@ EXPORTS
|
|||||||
zipOpenNewFileInZip3_64 @134
|
zipOpenNewFileInZip3_64 @134
|
||||||
zipOpenNewFileInZip4_64 @135
|
zipOpenNewFileInZip4_64 @135
|
||||||
zipCloseFileInZipRaw64 @136
|
zipCloseFileInZipRaw64 @136
|
||||||
; end hack
|
|
||||||
|
; zlib1 v1.2.4 added:
|
||||||
|
adler32_combine @140
|
||||||
|
crc32_combine @142
|
||||||
|
deflateSetHeader @144
|
||||||
|
deflateTune @145
|
||||||
|
gzbuffer @146
|
||||||
|
gzclose_r @147
|
||||||
|
gzclose_w @148
|
||||||
|
gzdirect @149
|
||||||
|
gzoffset @150
|
||||||
|
inflateGetHeader @156
|
||||||
|
inflateMark @157
|
||||||
|
inflatePrime @158
|
||||||
|
inflateReset2 @159
|
||||||
|
inflateUndermine @160
|
||||||
|
|
||||||
|
; zlib1 v1.2.6 added:
|
||||||
|
gzgetc_ @161
|
||||||
|
inflateResetKeep @163
|
||||||
|
deflateResetKeep @164
|
||||||
|
|
||||||
|
; zlib1 v1.2.7 added:
|
||||||
|
gzopen_w @165
|
||||||
|
|
||||||
|
; zlib1 v1.2.8 added:
|
||||||
|
inflateGetDictionary @166
|
||||||
|
gzvprintf @167
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ Global
|
|||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = ReleaseWithoutAsm|x64
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = ReleaseWithoutAsm|x64
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
@@ -94,8 +94,8 @@ Global
|
|||||||
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
@@ -110,8 +110,8 @@ Global
|
|||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
@@ -126,8 +126,8 @@ Global
|
|||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@@ -180,6 +180,12 @@
|
|||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">zlibwapid</TargetName>
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">zlibwapi</TargetName>
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">zlibwapi</TargetName>
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">zlibwapid</TargetName>
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">zlibwapi</TargetName>
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">zlibwapi</TargetName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -213,20 +219,20 @@
|
|||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
||||||
<AdditionalDependencies>..\..\masmx86\gvmat32.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
|
||||||
<GenerateMapFile>true</GenerateMapFile>
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
<DataExecutionPrevention>
|
<DataExecutionPrevention>
|
||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
|
||||||
</Link>
|
</Link>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx86
|
||||||
|
bld_ml32.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -262,18 +268,14 @@
|
|||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
||||||
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
|
||||||
<GenerateMapFile>true</GenerateMapFile>
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
<DataExecutionPrevention>
|
<DataExecutionPrevention>
|
||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
@@ -291,7 +293,7 @@
|
|||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<ExceptionHandling>
|
<ExceptionHandling>
|
||||||
</ExceptionHandling>
|
</ExceptionHandling>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
||||||
@@ -310,20 +312,20 @@
|
|||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
||||||
<AdditionalDependencies>..\..\masmx86\gvmat32.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
|
||||||
<GenerateMapFile>true</GenerateMapFile>
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
<DataExecutionPrevention>
|
<DataExecutionPrevention>
|
||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
|
||||||
</Link>
|
</Link>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx86
|
||||||
|
bld_ml32.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -357,17 +359,17 @@
|
|||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
|
||||||
<GenerateMapFile>true</GenerateMapFile>
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
|
||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx64
|
||||||
|
bld_ml64.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -445,15 +447,11 @@
|
|||||||
<Culture>0x040c</Culture>
|
<Culture>0x040c</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
|
||||||
<GenerateMapFile>true</GenerateMapFile>
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
|
||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
@@ -536,17 +534,17 @@
|
|||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
|
||||||
<GenerateMapFile>true</GenerateMapFile>
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
|
||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx64
|
||||||
|
bld_ml64.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -598,17 +596,7 @@
|
|||||||
<ClCompile Include="..\..\..\compress.c" />
|
<ClCompile Include="..\..\..\compress.c" />
|
||||||
<ClCompile Include="..\..\..\crc32.c" />
|
<ClCompile Include="..\..\..\crc32.c" />
|
||||||
<ClCompile Include="..\..\..\deflate.c" />
|
<ClCompile Include="..\..\..\deflate.c" />
|
||||||
<ClCompile Include="..\..\masmx86\gvmat32c.c">
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\..\gzclose.c" />
|
<ClCompile Include="..\..\..\gzclose.c" />
|
||||||
<ClCompile Include="..\..\..\gzio.c" />
|
|
||||||
<ClCompile Include="..\..\..\gzlib.c" />
|
<ClCompile Include="..\..\..\gzlib.c" />
|
||||||
<ClCompile Include="..\..\..\gzread.c" />
|
<ClCompile Include="..\..\..\gzread.c" />
|
||||||
<ClCompile Include="..\..\..\gzwrite.c" />
|
<ClCompile Include="..\..\..\gzwrite.c" />
|
||||||
|
|||||||
@@ -27,15 +27,9 @@
|
|||||||
<ClCompile Include="..\..\..\deflate.c">
|
<ClCompile Include="..\..\..\deflate.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\masmx86\gvmat32c.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\..\gzclose.c">
|
<ClCompile Include="..\..\..\gzclose.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\..\gzio.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\..\gzlib.c">
|
<ClCompile Include="..\..\..\gzlib.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
</Project>
|
|
||||||
314
contrib/vstudio/vc11/miniunz.vcxproj
Normal file
314
contrib/vstudio/vc11/miniunz.vcxproj
Normal file
@@ -0,0 +1,314 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Itanium">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Itanium">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{C52F9E7B-498A-42BE-8DB4-85A15694382A}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\MiniUnzip$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\MiniUnzip$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniUnzip$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniUnzip$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\MiniUnzip$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\MiniUnzip$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\MiniUnzip$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\MiniUnzip$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\MiniUnzip$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\MiniUnzip$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\MiniUnzip$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\MiniUnzip$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</GenerateManifest>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)miniunz.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)miniunz.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)miniunz.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)miniunz.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)miniunz.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)miniunz.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)miniunz.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)miniunz.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)miniunz.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\minizip\miniunz.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="zlibvc.vcxproj">
|
||||||
|
<Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
311
contrib/vstudio/vc11/minizip.vcxproj
Normal file
311
contrib/vstudio/vc11/minizip.vcxproj
Normal file
@@ -0,0 +1,311 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Itanium">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Itanium">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\MiniZip$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\MiniZip$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniZip$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniZip$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\$(Configuration)\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\$(Configuration)\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\$(Configuration)\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\$(Configuration)\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</LinkIncremental>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)minizip.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)minizip.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)minizip.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)minizip.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)minizip.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)minizip.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)minizip.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)minizip.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)minizip.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\minizip\minizip.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="zlibvc.vcxproj">
|
||||||
|
<Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
426
contrib/vstudio/vc11/testzlib.vcxproj
Normal file
426
contrib/vstudio/vc11/testzlib.vcxproj
Normal file
@@ -0,0 +1,426 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Itanium">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseWithoutAsm|Itanium">
|
||||||
|
<Configuration>ReleaseWithoutAsm</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseWithoutAsm|Win32">
|
||||||
|
<Configuration>ReleaseWithoutAsm</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseWithoutAsm|x64">
|
||||||
|
<Configuration>ReleaseWithoutAsm</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Itanium">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}</ProjectGuid>
|
||||||
|
<RootNamespace>testzlib</RootNamespace>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\TestZlib$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\TestZlib$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\TestZlib$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\TestZlib$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlib$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlib$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\TestZlib$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\TestZlib$(Configuration)\Tmp\</IntDir>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\TestZlib$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\TestZlib$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\TestZlib$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\TestZlib$(Configuration)\Tmp\</IntDir>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\TestZlib$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\TestZlib$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlib$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlib$(Configuration)\Tmp\</IntDir>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\TestZlib$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\TestZlib$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</GenerateManifest>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerOutput>AssemblyAndSourceCode</AssemblerOutput>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerOutput>AssemblyAndSourceCode</AssemblerOutput>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<OutputFile>$(OutDir)testzlib.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\adler32.c" />
|
||||||
|
<ClCompile Include="..\..\..\compress.c" />
|
||||||
|
<ClCompile Include="..\..\..\crc32.c" />
|
||||||
|
<ClCompile Include="..\..\..\deflate.c" />
|
||||||
|
<ClCompile Include="..\..\..\infback.c" />
|
||||||
|
<ClCompile Include="..\..\masmx64\inffas8664.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\inffast.c" />
|
||||||
|
<ClCompile Include="..\..\..\inflate.c" />
|
||||||
|
<ClCompile Include="..\..\..\inftrees.c" />
|
||||||
|
<ClCompile Include="..\..\testzlib\testzlib.c" />
|
||||||
|
<ClCompile Include="..\..\..\trees.c" />
|
||||||
|
<ClCompile Include="..\..\..\uncompr.c" />
|
||||||
|
<ClCompile Include="..\..\..\zutil.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
314
contrib/vstudio/vc11/testzlibdll.vcxproj
Normal file
314
contrib/vstudio/vc11/testzlibdll.vcxproj
Normal file
@@ -0,0 +1,314 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Itanium">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Itanium">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{C52F9E7B-498A-42BE-8DB4-85A15694366A}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\TestZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\TestZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\TestZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\TestZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\TestZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\TestZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\TestZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\TestZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</GenerateManifest>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)testzlib.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)testzlibdll.exe</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\testzlib\testzlib.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="zlibvc.vcxproj">
|
||||||
|
<Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
32
contrib/vstudio/vc11/zlib.rc
Normal file
32
contrib/vstudio/vc11/zlib.rc
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
#define IDR_VERSION1 1
|
||||||
|
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
||||||
|
FILEVERSION 1,2,8,0
|
||||||
|
PRODUCTVERSION 1,2,8,0
|
||||||
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
|
FILEFLAGS 0
|
||||||
|
FILEOS VOS_DOS_WINDOWS32
|
||||||
|
FILETYPE VFT_DLL
|
||||||
|
FILESUBTYPE 0 // not used
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904E4"
|
||||||
|
//language ID = U.S. English, char set = Windows, Multilingual
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
|
||||||
|
VALUE "FileVersion", "1.2.8\0"
|
||||||
|
VALUE "InternalName", "zlib\0"
|
||||||
|
VALUE "OriginalFilename", "zlibwapi.dll\0"
|
||||||
|
VALUE "ProductName", "ZLib.DLL\0"
|
||||||
|
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
||||||
|
VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x0409, 1252
|
||||||
|
END
|
||||||
|
END
|
||||||
464
contrib/vstudio/vc11/zlibstat.vcxproj
Normal file
464
contrib/vstudio/vc11/zlibstat.vcxproj
Normal file
@@ -0,0 +1,464 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Itanium">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseWithoutAsm|Itanium">
|
||||||
|
<Configuration>ReleaseWithoutAsm</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseWithoutAsm|Win32">
|
||||||
|
<Configuration>ReleaseWithoutAsm</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseWithoutAsm|x64">
|
||||||
|
<Configuration>ReleaseWithoutAsm</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Itanium">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}</ProjectGuid>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\ZlibStat$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\ZlibStat$(Configuration)\Tmp\</IntDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibStat$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibStat$(Configuration)\Tmp\</IntDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\ZlibStat$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\ZlibStat$(Configuration)\Tmp\</IntDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\ZlibStat$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\ZlibStat$(Configuration)\Tmp\</IntDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\ZlibStat$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\ZlibStat$(Configuration)\Tmp\</IntDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibStat$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibStat$(Configuration)\Tmp\</IntDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\ZlibStat$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\ZlibStat$(Configuration)\Tmp\</IntDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\ZlibStat$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\ZlibStat$(Configuration)\Tmp\</IntDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\ZlibStat$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\ZlibStat$(Configuration)\Tmp\</IntDir>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalOptions>/MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalOptions>/MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalOptions>/MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<OutputFile>$(OutDir)zlibstat.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\adler32.c" />
|
||||||
|
<ClCompile Include="..\..\..\compress.c" />
|
||||||
|
<ClCompile Include="..\..\..\crc32.c" />
|
||||||
|
<ClCompile Include="..\..\..\deflate.c" />
|
||||||
|
<ClCompile Include="..\..\..\gzclose.c" />
|
||||||
|
<ClCompile Include="..\..\..\gzlib.c" />
|
||||||
|
<ClCompile Include="..\..\..\gzread.c" />
|
||||||
|
<ClCompile Include="..\..\..\gzwrite.c" />
|
||||||
|
<ClCompile Include="..\..\..\infback.c" />
|
||||||
|
<ClCompile Include="..\..\masmx64\inffas8664.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\inffast.c" />
|
||||||
|
<ClCompile Include="..\..\..\inflate.c" />
|
||||||
|
<ClCompile Include="..\..\..\inftrees.c" />
|
||||||
|
<ClCompile Include="..\..\minizip\ioapi.c" />
|
||||||
|
<ClCompile Include="..\..\..\trees.c" />
|
||||||
|
<ClCompile Include="..\..\..\uncompr.c" />
|
||||||
|
<ClCompile Include="..\..\minizip\unzip.c" />
|
||||||
|
<ClCompile Include="..\..\minizip\zip.c" />
|
||||||
|
<ClCompile Include="..\..\..\zutil.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="zlib.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="zlibvc.def" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
|
LIBRARY
|
||||||
|
; zlib data compression and ZIP file I/O library
|
||||||
|
|
||||||
VERSION 1.23
|
VERSION 1.2.8
|
||||||
|
|
||||||
HEAPSIZE 1048576,8192
|
|
||||||
|
|
||||||
EXPORTS
|
EXPORTS
|
||||||
adler32 @1
|
adler32 @1
|
||||||
@@ -55,6 +55,7 @@ EXPORTS
|
|||||||
gzungetc @49
|
gzungetc @49
|
||||||
zlibCompileFlags @50
|
zlibCompileFlags @50
|
||||||
deflatePrime @51
|
deflatePrime @51
|
||||||
|
deflatePending @52
|
||||||
|
|
||||||
unzOpen @61
|
unzOpen @61
|
||||||
unzClose @62
|
unzClose @62
|
||||||
@@ -90,11 +91,12 @@ EXPORTS
|
|||||||
unzGoToFilePos @101
|
unzGoToFilePos @101
|
||||||
|
|
||||||
fill_win32_filefunc @110
|
fill_win32_filefunc @110
|
||||||
|
|
||||||
|
; zlibwapi v1.2.4 added:
|
||||||
fill_win32_filefunc64 @111
|
fill_win32_filefunc64 @111
|
||||||
fill_win32_filefunc64A @112
|
fill_win32_filefunc64A @112
|
||||||
fill_win32_filefunc64W @113
|
fill_win32_filefunc64W @113
|
||||||
|
|
||||||
; quick hack by hkuno@microhouse.co.jp
|
|
||||||
unzOpen64 @120
|
unzOpen64 @120
|
||||||
unzOpen2_64 @121
|
unzOpen2_64 @121
|
||||||
unzGetGlobalInfo64 @122
|
unzGetGlobalInfo64 @122
|
||||||
@@ -111,4 +113,31 @@ EXPORTS
|
|||||||
zipOpenNewFileInZip3_64 @134
|
zipOpenNewFileInZip3_64 @134
|
||||||
zipOpenNewFileInZip4_64 @135
|
zipOpenNewFileInZip4_64 @135
|
||||||
zipCloseFileInZipRaw64 @136
|
zipCloseFileInZipRaw64 @136
|
||||||
; end hack
|
|
||||||
|
; zlib1 v1.2.4 added:
|
||||||
|
adler32_combine @140
|
||||||
|
crc32_combine @142
|
||||||
|
deflateSetHeader @144
|
||||||
|
deflateTune @145
|
||||||
|
gzbuffer @146
|
||||||
|
gzclose_r @147
|
||||||
|
gzclose_w @148
|
||||||
|
gzdirect @149
|
||||||
|
gzoffset @150
|
||||||
|
inflateGetHeader @156
|
||||||
|
inflateMark @157
|
||||||
|
inflatePrime @158
|
||||||
|
inflateReset2 @159
|
||||||
|
inflateUndermine @160
|
||||||
|
|
||||||
|
; zlib1 v1.2.6 added:
|
||||||
|
gzgetc_ @161
|
||||||
|
inflateResetKeep @163
|
||||||
|
deflateResetKeep @164
|
||||||
|
|
||||||
|
; zlib1 v1.2.7 added:
|
||||||
|
gzopen_w @165
|
||||||
|
|
||||||
|
; zlib1 v1.2.8 added:
|
||||||
|
inflateGetDictionary @166
|
||||||
|
gzvprintf @167
|
||||||
117
contrib/vstudio/vc11/zlibvc.sln
Normal file
117
contrib/vstudio/vc11/zlibvc.sln
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 2012
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Itanium = Debug|Itanium
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Release|Itanium = Release|Itanium
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium
|
||||||
|
ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32
|
||||||
|
ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
|
||||||
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
|
||||||
|
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
|
||||||
|
{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
|
||||||
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
|
||||||
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
688
contrib/vstudio/vc11/zlibvc.vcxproj
Normal file
688
contrib/vstudio/vc11/zlibvc.vcxproj
Normal file
@@ -0,0 +1,688 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Itanium">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseWithoutAsm|Itanium">
|
||||||
|
<Configuration>ReleaseWithoutAsm</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseWithoutAsm|Win32">
|
||||||
|
<Configuration>ReleaseWithoutAsm</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseWithoutAsm|x64">
|
||||||
|
<Configuration>ReleaseWithoutAsm</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Itanium">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Itanium</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{8FD826F8-3739-44E6-8CC8-997122E53B8D}</ProjectGuid>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\ZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">x86\ZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\ZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">x86\ZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\ZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">x64\ZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\ZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">ia64\ZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\ZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">x64\ZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\ZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">ia64\ZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\ZlibDll$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ia64\ZlibDll$(Configuration)\Tmp\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</LinkIncremental>
|
||||||
|
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">false</GenerateManifest>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">zlibwapi</TargetName>
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">zlibwapi</TargetName>
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">zlibwapi</TargetName>
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">zlibwapi</TargetName>
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">zlibwapi</TargetName>
|
||||||
|
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">zlibwapi</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Midl>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<TargetEnvironment>Win32</TargetEnvironment>
|
||||||
|
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<BrowseInformation>
|
||||||
|
</BrowseInformation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
||||||
|
</Link>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx86
|
||||||
|
bld_ml32.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">
|
||||||
|
<Midl>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<TargetEnvironment>Win32</TargetEnvironment>
|
||||||
|
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerOutput>All</AssemblerOutput>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<BrowseInformation>
|
||||||
|
</BrowseInformation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Midl>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<TargetEnvironment>Win32</TargetEnvironment>
|
||||||
|
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerOutput>All</AssemblerOutput>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<BrowseInformation>
|
||||||
|
</BrowseInformation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<AdditionalDependencies>..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
||||||
|
</Link>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx86
|
||||||
|
bld_ml32.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Midl>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<BrowseInformation>
|
||||||
|
</BrowseInformation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\contrib\masmx64
|
||||||
|
bld_ml64.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<BrowseInformation>
|
||||||
|
</BrowseInformation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|x64'">
|
||||||
|
<Midl>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerOutput>All</AssemblerOutput>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<BrowseInformation>
|
||||||
|
</BrowseInformation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerOutput>All</AssemblerOutput>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<BrowseInformation>
|
||||||
|
</BrowseInformation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Midl>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerOutput>All</AssemblerOutput>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<BrowseInformation>
|
||||||
|
</BrowseInformation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\masmx64
|
||||||
|
bld_ml64.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">
|
||||||
|
<Midl>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<TargetEnvironment>Itanium</TargetEnvironment>
|
||||||
|
<TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile>
|
||||||
|
<AssemblerOutput>All</AssemblerOutput>
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||||
|
<BrowseInformation>
|
||||||
|
</BrowseInformation>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x040c</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<OutputFile>$(OutDir)zlibwapi.dll</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
|
<ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<MapFileName>$(OutDir)zlibwapi.map</MapFileName>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
||||||
|
<TargetMachine>MachineIA64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\adler32.c" />
|
||||||
|
<ClCompile Include="..\..\..\compress.c" />
|
||||||
|
<ClCompile Include="..\..\..\crc32.c" />
|
||||||
|
<ClCompile Include="..\..\..\deflate.c" />
|
||||||
|
<ClCompile Include="..\..\..\gzclose.c" />
|
||||||
|
<ClCompile Include="..\..\..\gzlib.c" />
|
||||||
|
<ClCompile Include="..\..\..\gzread.c" />
|
||||||
|
<ClCompile Include="..\..\..\gzwrite.c" />
|
||||||
|
<ClCompile Include="..\..\..\infback.c" />
|
||||||
|
<ClCompile Include="..\..\masmx64\inffas8664.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Itanium'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseWithoutAsm|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\inffast.c" />
|
||||||
|
<ClCompile Include="..\..\..\inflate.c" />
|
||||||
|
<ClCompile Include="..\..\..\inftrees.c" />
|
||||||
|
<ClCompile Include="..\..\minizip\ioapi.c" />
|
||||||
|
<ClCompile Include="..\..\minizip\iowin32.c" />
|
||||||
|
<ClCompile Include="..\..\..\trees.c" />
|
||||||
|
<ClCompile Include="..\..\..\uncompr.c" />
|
||||||
|
<ClCompile Include="..\..\minizip\unzip.c">
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\minizip\zip.c">
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Itanium'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ZLIB_INTERNAL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\zutil.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="zlib.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="zlibvc.def" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\deflate.h" />
|
||||||
|
<ClInclude Include="..\..\..\infblock.h" />
|
||||||
|
<ClInclude Include="..\..\..\infcodes.h" />
|
||||||
|
<ClInclude Include="..\..\..\inffast.h" />
|
||||||
|
<ClInclude Include="..\..\..\inftrees.h" />
|
||||||
|
<ClInclude Include="..\..\..\infutil.h" />
|
||||||
|
<ClInclude Include="..\..\..\zconf.h" />
|
||||||
|
<ClInclude Include="..\..\..\zlib.h" />
|
||||||
|
<ClInclude Include="..\..\..\zutil.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
|
|
||||||
VERSION 1.23
|
|
||||||
|
|
||||||
HEAPSIZE 1048576,8192
|
|
||||||
|
|
||||||
EXPORTS
|
|
||||||
adler32 @1
|
|
||||||
compress @2
|
|
||||||
crc32 @3
|
|
||||||
deflate @4
|
|
||||||
deflateCopy @5
|
|
||||||
deflateEnd @6
|
|
||||||
deflateInit2_ @7
|
|
||||||
deflateInit_ @8
|
|
||||||
deflateParams @9
|
|
||||||
deflateReset @10
|
|
||||||
deflateSetDictionary @11
|
|
||||||
gzclose @12
|
|
||||||
gzdopen @13
|
|
||||||
gzerror @14
|
|
||||||
gzflush @15
|
|
||||||
gzopen @16
|
|
||||||
gzread @17
|
|
||||||
gzwrite @18
|
|
||||||
inflate @19
|
|
||||||
inflateEnd @20
|
|
||||||
inflateInit2_ @21
|
|
||||||
inflateInit_ @22
|
|
||||||
inflateReset @23
|
|
||||||
inflateSetDictionary @24
|
|
||||||
inflateSync @25
|
|
||||||
uncompress @26
|
|
||||||
zlibVersion @27
|
|
||||||
gzprintf @28
|
|
||||||
gzputc @29
|
|
||||||
gzgetc @30
|
|
||||||
gzseek @31
|
|
||||||
gzrewind @32
|
|
||||||
gztell @33
|
|
||||||
gzeof @34
|
|
||||||
gzsetparams @35
|
|
||||||
zError @36
|
|
||||||
inflateSyncPoint @37
|
|
||||||
get_crc_table @38
|
|
||||||
compress2 @39
|
|
||||||
gzputs @40
|
|
||||||
gzgets @41
|
|
||||||
inflateCopy @42
|
|
||||||
inflateBackInit_ @43
|
|
||||||
inflateBack @44
|
|
||||||
inflateBackEnd @45
|
|
||||||
compressBound @46
|
|
||||||
deflateBound @47
|
|
||||||
gzclearerr @48
|
|
||||||
gzungetc @49
|
|
||||||
zlibCompileFlags @50
|
|
||||||
deflatePrime @51
|
|
||||||
|
|
||||||
unzOpen @61
|
|
||||||
unzClose @62
|
|
||||||
unzGetGlobalInfo @63
|
|
||||||
unzGetCurrentFileInfo @64
|
|
||||||
unzGoToFirstFile @65
|
|
||||||
unzGoToNextFile @66
|
|
||||||
unzOpenCurrentFile @67
|
|
||||||
unzReadCurrentFile @68
|
|
||||||
unzOpenCurrentFile3 @69
|
|
||||||
unztell @70
|
|
||||||
unzeof @71
|
|
||||||
unzCloseCurrentFile @72
|
|
||||||
unzGetGlobalComment @73
|
|
||||||
unzStringFileNameCompare @74
|
|
||||||
unzLocateFile @75
|
|
||||||
unzGetLocalExtrafield @76
|
|
||||||
unzOpen2 @77
|
|
||||||
unzOpenCurrentFile2 @78
|
|
||||||
unzOpenCurrentFilePassword @79
|
|
||||||
|
|
||||||
zipOpen @80
|
|
||||||
zipOpenNewFileInZip @81
|
|
||||||
zipWriteInFileInZip @82
|
|
||||||
zipCloseFileInZip @83
|
|
||||||
zipClose @84
|
|
||||||
zipOpenNewFileInZip2 @86
|
|
||||||
zipCloseFileInZipRaw @87
|
|
||||||
zipOpen2 @88
|
|
||||||
zipOpenNewFileInZip3 @89
|
|
||||||
|
|
||||||
unzGetFilePos @100
|
|
||||||
unzGoToFilePos @101
|
|
||||||
|
|
||||||
fill_win32_filefunc @110
|
|
||||||
fill_win32_filefunc64 @111
|
|
||||||
fill_win32_filefunc64A @112
|
|
||||||
fill_win32_filefunc64W @113
|
|
||||||
|
|
||||||
; quick hack by hkuno@microhouse.co.jp
|
|
||||||
unzOpen64 @120
|
|
||||||
unzOpen2_64 @121
|
|
||||||
unzGetGlobalInfo64 @122
|
|
||||||
unzGetCurrentFileInfo64 @124
|
|
||||||
unzGetCurrentFileZStreamPos64 @125
|
|
||||||
unztell64 @126
|
|
||||||
unzGetFilePos64 @127
|
|
||||||
unzGoToFilePos64 @128
|
|
||||||
|
|
||||||
zipOpen64 @130
|
|
||||||
zipOpen2_64 @131
|
|
||||||
zipOpenNewFileInZip64 @132
|
|
||||||
zipOpenNewFileInZip2_64 @133
|
|
||||||
zipOpenNewFileInZip3_64 @134
|
|
||||||
zipOpenNewFileInZip4_64 @135
|
|
||||||
zipCloseFileInZipRaw64 @136
|
|
||||||
; end hack
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="9.00"
|
Version="9,00"
|
||||||
Name="testzlib"
|
Name="testzlib"
|
||||||
ProjectGUID="{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
|
ProjectGUID="{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}"
|
||||||
RootNamespace="testzlib"
|
RootNamespace="testzlib"
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj"
|
AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj"
|
||||||
OutputFile="$(OutDir)/testzlib.exe"
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
GenerateManifest="false"
|
GenerateManifest="false"
|
||||||
@@ -104,179 +104,6 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
|
||||||
Name="ReleaseWithoutAsm|Win32"
|
|
||||||
OutputDirectory="x86\TestZlib$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="x86\TestZlib$(ConfigurationName)\Tmp"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
AdditionalIncludeDirectories="..\..\.."
|
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
|
|
||||||
StringPooling="true"
|
|
||||||
BasicRuntimeChecks="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
AssemblerListingLocation="$(IntDir)\"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/testzlib.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateManifest="false"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="x86\TestZlib$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="x86\TestZlib$(ConfigurationName)\Tmp"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
OmitFramePointers="true"
|
|
||||||
AdditionalIncludeDirectories="..\..\.."
|
|
||||||
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
|
|
||||||
StringPooling="true"
|
|
||||||
BasicRuntimeChecks="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
AssemblerListingLocation="$(IntDir)\"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj"
|
|
||||||
OutputFile="$(OutDir)/testzlib.exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateManifest="false"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
OutputDirectory="x64\TestZlib$(ConfigurationName)"
|
OutputDirectory="x64\TestZlib$(ConfigurationName)"
|
||||||
@@ -339,9 +166,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
@@ -423,7 +247,90 @@
|
|||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
|
OutputDirectory="x86\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
@@ -492,9 +399,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
@@ -581,7 +485,91 @@
|
|||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
OutputDirectory="x86\TestZlib$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\TestZlib$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="1"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="2"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
OmitFramePointers="true"
|
||||||
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
|
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
|
||||||
|
StringPooling="true"
|
||||||
|
BasicRuntimeChecks="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj"
|
||||||
|
OutputFile="$(OutDir)/testzlib.exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateManifest="false"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
@@ -614,7 +602,7 @@
|
|||||||
AdditionalIncludeDirectories="..\..\.."
|
AdditionalIncludeDirectories="..\..\.."
|
||||||
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
|
PreprocessorDefinitions="ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
|
||||||
BasicRuntimeChecks="0"
|
BasicRuntimeChecks="0"
|
||||||
RuntimeLibrary="2"
|
RuntimeLibrary="0"
|
||||||
BufferSecurityCheck="false"
|
BufferSecurityCheck="false"
|
||||||
AssemblerListingLocation="$(IntDir)\"
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
/>
|
/>
|
||||||
@@ -650,9 +638,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
@@ -738,9 +723,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
@@ -769,82 +751,6 @@
|
|||||||
RelativePath="..\..\..\deflate.c"
|
RelativePath="..\..\..\deflate.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\masmx86\gvmat32c.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Itanium"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseWithoutAsm|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseWithoutAsm|Itanium"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Itanium"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win64 (AMD64)"
|
|
||||||
ExcludedFromBuild="TRUE"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win64 (AMD64)"
|
|
||||||
ExcludedFromBuild="TRUE"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseAsm|Win64 (AMD64)"
|
|
||||||
ExcludedFromBuild="TRUE"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\infback.c"
|
RelativePath="..\..\..\infback.c"
|
||||||
>
|
>
|
||||||
@@ -860,22 +766,6 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseWithoutAsm|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Itanium"
|
Name="Debug|Itanium"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
@@ -884,6 +774,14 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="ReleaseWithoutAsm|Itanium"
|
Name="ReleaseWithoutAsm|Itanium"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
@@ -892,6 +790,14 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|Itanium"
|
Name="Release|Itanium"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
#define IDR_VERSION1 1
|
#define IDR_VERSION1 1
|
||||||
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
||||||
FILEVERSION 1,2,3,0
|
FILEVERSION 1,2,8,0
|
||||||
PRODUCTVERSION 1,2,3,0
|
PRODUCTVERSION 1,2,8,0
|
||||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
FILEFLAGS 0
|
FILEFLAGS 0
|
||||||
FILEOS VOS_DOS_WINDOWS32
|
FILEOS VOS_DOS_WINDOWS32
|
||||||
@@ -16,13 +16,13 @@ BEGIN
|
|||||||
//language ID = U.S. English, char set = Windows, Multilingual
|
//language ID = U.S. English, char set = Windows, Multilingual
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "zlib data compression library\0"
|
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
|
||||||
VALUE "FileVersion", "1.2.3.0\0"
|
VALUE "FileVersion", "1.2.8\0"
|
||||||
VALUE "InternalName", "zlib\0"
|
VALUE "InternalName", "zlib\0"
|
||||||
VALUE "OriginalFilename", "zlib.dll\0"
|
VALUE "OriginalFilename", "zlibwapi.dll\0"
|
||||||
VALUE "ProductName", "ZLib.DLL\0"
|
VALUE "ProductName", "ZLib.DLL\0"
|
||||||
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
||||||
VALUE "LegalCopyright", "(C) 1995-2003 Jean-loup Gailly & Mark Adler\0"
|
VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="9.00"
|
Version="9,00"
|
||||||
Name="zlibstat"
|
Name="zlibstat"
|
||||||
ProjectGUID="{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
|
ProjectGUID="{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
|
||||||
TargetFrameworkVersion="131072"
|
TargetFrameworkVersion="131072"
|
||||||
@@ -93,153 +93,6 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="x86\ZlibStat$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="x86\ZlibStat$(ConfigurationName)\Tmp"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
|
||||||
AssemblerListingLocation="$(IntDir)\"
|
|
||||||
ObjectFile="$(IntDir)\"
|
|
||||||
ProgramDataBaseFileName="$(OutDir)\"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"
|
|
||||||
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj "
|
|
||||||
OutputFile="$(OutDir)\zlibstat.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="ReleaseWithoutAsm|Win32"
|
|
||||||
OutputDirectory="x86\ZlibStat$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="x86\ZlibStat$(ConfigurationName)\Tmp"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
|
||||||
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
|
||||||
AssemblerListingLocation="$(IntDir)\"
|
|
||||||
ObjectFile="$(IntDir)\"
|
|
||||||
ProgramDataBaseFileName="$(OutDir)\"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"
|
|
||||||
OutputFile="$(OutDir)\zlibstat.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
OutputDirectory="x64\ZlibStat$(ConfigurationName)"
|
OutputDirectory="x64\ZlibStat$(ConfigurationName)"
|
||||||
@@ -388,6 +241,80 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
OutputDirectory="x86\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF"
|
||||||
|
StringPooling="true"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"
|
||||||
|
AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj "
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|x64"
|
Name="Release|x64"
|
||||||
OutputDirectory="x64\ZlibStat$(ConfigurationName)"
|
OutputDirectory="x64\ZlibStat$(ConfigurationName)"
|
||||||
@@ -537,6 +464,79 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
|
OutputDirectory="x86\ZlibStat$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\ZlibStat$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="4"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS"
|
||||||
|
StringPooling="true"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLibrarianTool"
|
||||||
|
AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"
|
||||||
|
OutputFile="$(OutDir)\zlibstat.lib"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="ReleaseWithoutAsm|x64"
|
Name="ReleaseWithoutAsm|x64"
|
||||||
OutputDirectory="x64\ZlibStat$(ConfigurationName)"
|
OutputDirectory="x64\ZlibStat$(ConfigurationName)"
|
||||||
@@ -708,64 +708,12 @@
|
|||||||
RelativePath="..\..\..\deflate.c"
|
RelativePath="..\..\..\deflate.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\masmx86\gvmat32c.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Itanium"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Itanium"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseWithoutAsm|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseWithoutAsm|Itanium"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\gzclose.c"
|
RelativePath="..\..\..\gzclose.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\gzio.c"
|
RelativePath="..\..\..\gzguts.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
@@ -795,22 +743,6 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseWithoutAsm|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Itanium"
|
Name="Debug|Itanium"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
@@ -819,6 +751,14 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|Itanium"
|
Name="Release|Itanium"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
@@ -827,6 +767,14 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="ReleaseWithoutAsm|Itanium"
|
Name="ReleaseWithoutAsm|Itanium"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
LIBRARY
|
||||||
|
; zlib data compression and ZIP file I/O library
|
||||||
|
|
||||||
VERSION 1.23
|
VERSION 1.2.8
|
||||||
|
|
||||||
HEAPSIZE 1048576,8192
|
|
||||||
|
|
||||||
EXPORTS
|
EXPORTS
|
||||||
adler32 @1
|
adler32 @1
|
||||||
@@ -55,6 +55,7 @@ EXPORTS
|
|||||||
gzungetc @49
|
gzungetc @49
|
||||||
zlibCompileFlags @50
|
zlibCompileFlags @50
|
||||||
deflatePrime @51
|
deflatePrime @51
|
||||||
|
deflatePending @52
|
||||||
|
|
||||||
unzOpen @61
|
unzOpen @61
|
||||||
unzClose @62
|
unzClose @62
|
||||||
@@ -90,11 +91,12 @@ EXPORTS
|
|||||||
unzGoToFilePos @101
|
unzGoToFilePos @101
|
||||||
|
|
||||||
fill_win32_filefunc @110
|
fill_win32_filefunc @110
|
||||||
|
|
||||||
|
; zlibwapi v1.2.4 added:
|
||||||
fill_win32_filefunc64 @111
|
fill_win32_filefunc64 @111
|
||||||
fill_win32_filefunc64A @112
|
fill_win32_filefunc64A @112
|
||||||
fill_win32_filefunc64W @113
|
fill_win32_filefunc64W @113
|
||||||
|
|
||||||
; quick hack by hkuno@microhouse.co.jp
|
|
||||||
unzOpen64 @120
|
unzOpen64 @120
|
||||||
unzOpen2_64 @121
|
unzOpen2_64 @121
|
||||||
unzGetGlobalInfo64 @122
|
unzGetGlobalInfo64 @122
|
||||||
@@ -111,4 +113,31 @@ EXPORTS
|
|||||||
zipOpenNewFileInZip3_64 @134
|
zipOpenNewFileInZip3_64 @134
|
||||||
zipOpenNewFileInZip4_64 @135
|
zipOpenNewFileInZip4_64 @135
|
||||||
zipCloseFileInZipRaw64 @136
|
zipCloseFileInZipRaw64 @136
|
||||||
; end hack
|
|
||||||
|
; zlib1 v1.2.4 added:
|
||||||
|
adler32_combine @140
|
||||||
|
crc32_combine @142
|
||||||
|
deflateSetHeader @144
|
||||||
|
deflateTune @145
|
||||||
|
gzbuffer @146
|
||||||
|
gzclose_r @147
|
||||||
|
gzclose_w @148
|
||||||
|
gzdirect @149
|
||||||
|
gzoffset @150
|
||||||
|
inflateGetHeader @156
|
||||||
|
inflateMark @157
|
||||||
|
inflatePrime @158
|
||||||
|
inflateReset2 @159
|
||||||
|
inflateUndermine @160
|
||||||
|
|
||||||
|
; zlib1 v1.2.6 added:
|
||||||
|
gzgetc_ @161
|
||||||
|
inflateResetKeep @163
|
||||||
|
deflateResetKeep @164
|
||||||
|
|
||||||
|
; zlib1 v1.2.7 added:
|
||||||
|
gzopen_w @165
|
||||||
|
|
||||||
|
; zlib1 v1.2.8 added:
|
||||||
|
inflateGetDictionary @166
|
||||||
|
gzvprintf @167
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ Global
|
|||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = ReleaseWithoutAsm|x64
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = ReleaseWithoutAsm|x64
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium
|
||||||
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
|
{8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
|
||||||
@@ -103,8 +103,8 @@ Global
|
|||||||
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
@@ -119,8 +119,8 @@ Global
|
|||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
|
||||||
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Itanium
|
{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
@@ -135,8 +135,8 @@ Global
|
|||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
|
||||||
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Itanium
|
{C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="9.00"
|
Version="9,00"
|
||||||
Name="zlibvc"
|
Name="zlibvc"
|
||||||
ProjectGUID="{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
|
ProjectGUID="{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
|
||||||
|
RootNamespace="zlibvc"
|
||||||
TargetFrameworkVersion="131072"
|
TargetFrameworkVersion="131072"
|
||||||
>
|
>
|
||||||
<Platforms>
|
<Platforms>
|
||||||
@@ -80,7 +81,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalOptions="/MACHINE:I386"
|
AdditionalOptions="/MACHINE:I386"
|
||||||
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj"
|
AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj"
|
||||||
OutputFile="$(OutDir)\zlibwapi.dll"
|
OutputFile="$(OutDir)\zlibwapi.dll"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
SuppressStartupBanner="true"
|
SuppressStartupBanner="true"
|
||||||
@@ -117,6 +118,195 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
OutputDirectory="x64\ZlibDll$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x64\ZlibDll$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="2"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
MkTypLibCompatible="true"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
TargetEnvironment="3"
|
||||||
|
TypeLibraryName="$(OutDir)/zlibvc.tlb"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
BrowseInformation="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "
|
||||||
|
OutputFile="$(OutDir)\zlibwapi.dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
GenerateManifest="false"
|
||||||
|
ModuleDefinitionFile=".\zlibvc.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"
|
||||||
|
GenerateMapFile="true"
|
||||||
|
MapFileName="$(OutDir)/zlibwapi.map"
|
||||||
|
SubSystem="2"
|
||||||
|
ImportLibrary="$(OutDir)/zlibwapi.lib"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Itanium"
|
||||||
|
OutputDirectory="ia64\ZlibDll$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="ia64\ZlibDll$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="2"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
MkTypLibCompatible="true"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
TargetEnvironment="2"
|
||||||
|
TypeLibraryName="$(OutDir)/zlibvc.tlb"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
BrowseInformation="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
OutputFile="$(OutDir)\zlibwapi.dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
GenerateManifest="false"
|
||||||
|
ModuleDefinitionFile=".\zlibvc.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"
|
||||||
|
GenerateMapFile="true"
|
||||||
|
MapFileName="$(OutDir)/zlibwapi.map"
|
||||||
|
SubSystem="2"
|
||||||
|
ImportLibrary="$(OutDir)/zlibwapi.lib"
|
||||||
|
TargetMachine="5"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="ReleaseWithoutAsm|Win32"
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
OutputDirectory="x86\ZlibDll$(ConfigurationName)"
|
OutputDirectory="x86\ZlibDll$(ConfigurationName)"
|
||||||
@@ -217,302 +407,6 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="x86\ZlibDll$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="x86\ZlibDll$(ConfigurationName)\Tmp"
|
|
||||||
ConfigurationType="2"
|
|
||||||
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="1"
|
|
||||||
TypeLibraryName="$(OutDir)/zlibvc.tlb"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
|
||||||
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
|
|
||||||
AssemblerOutput="2"
|
|
||||||
AssemblerListingLocation="$(IntDir)\"
|
|
||||||
ObjectFile="$(IntDir)\"
|
|
||||||
ProgramDataBaseFileName="$(OutDir)\"
|
|
||||||
BrowseInformation="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalOptions="/MACHINE:I386"
|
|
||||||
AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj "
|
|
||||||
OutputFile="$(OutDir)\zlibwapi.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
GenerateManifest="false"
|
|
||||||
IgnoreAllDefaultLibraries="false"
|
|
||||||
ModuleDefinitionFile=".\zlibvc.def"
|
|
||||||
ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"
|
|
||||||
GenerateMapFile="true"
|
|
||||||
MapFileName="$(OutDir)/zlibwapi.map"
|
|
||||||
SubSystem="2"
|
|
||||||
OptimizeForWindows98="1"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
ImportLibrary="$(OutDir)/zlibwapi.lib"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="x64\ZlibDll$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="x64\ZlibDll$(ConfigurationName)\Tmp"
|
|
||||||
ConfigurationType="2"
|
|
||||||
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
TypeLibraryName="$(OutDir)/zlibvc.tlb"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
|
||||||
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
|
|
||||||
AssemblerListingLocation="$(IntDir)\"
|
|
||||||
ObjectFile="$(IntDir)\"
|
|
||||||
ProgramDataBaseFileName="$(OutDir)\"
|
|
||||||
BrowseInformation="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "
|
|
||||||
OutputFile="$(OutDir)\zlibwapi.dll"
|
|
||||||
LinkIncremental="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
GenerateManifest="false"
|
|
||||||
ModuleDefinitionFile=".\zlibvc.def"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"
|
|
||||||
GenerateMapFile="true"
|
|
||||||
MapFileName="$(OutDir)/zlibwapi.map"
|
|
||||||
SubSystem="2"
|
|
||||||
ImportLibrary="$(OutDir)/zlibwapi.lib"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Itanium"
|
|
||||||
OutputDirectory="ia64\ZlibDll$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="ia64\ZlibDll$(ConfigurationName)\Tmp"
|
|
||||||
ConfigurationType="2"
|
|
||||||
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="2"
|
|
||||||
TypeLibraryName="$(OutDir)/zlibvc.tlb"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
|
||||||
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
|
|
||||||
AssemblerListingLocation="$(IntDir)\"
|
|
||||||
ObjectFile="$(IntDir)\"
|
|
||||||
ProgramDataBaseFileName="$(OutDir)\"
|
|
||||||
BrowseInformation="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1036"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)\zlibwapi.dll"
|
|
||||||
LinkIncremental="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
GenerateManifest="false"
|
|
||||||
ModuleDefinitionFile=".\zlibvc.def"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"
|
|
||||||
GenerateMapFile="true"
|
|
||||||
MapFileName="$(OutDir)/zlibwapi.map"
|
|
||||||
SubSystem="2"
|
|
||||||
ImportLibrary="$(OutDir)/zlibwapi.lib"
|
|
||||||
TargetMachine="5"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="ReleaseWithoutAsm|x64"
|
Name="ReleaseWithoutAsm|x64"
|
||||||
OutputDirectory="x64\ZlibDll$(ConfigurationName)"
|
OutputDirectory="x64\ZlibDll$(ConfigurationName)"
|
||||||
@@ -607,9 +501,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
@@ -709,7 +600,105 @@
|
|||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCWebDeploymentTool"
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
OutputDirectory="x86\ZlibDll$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="x86\ZlibDll$(ConfigurationName)\Tmp"
|
||||||
|
ConfigurationType="2"
|
||||||
|
InheritedPropertySheets="UpgradeFromVC70.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="NDEBUG"
|
||||||
|
MkTypLibCompatible="true"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
TargetEnvironment="1"
|
||||||
|
TypeLibraryName="$(OutDir)/zlibvc.tlb"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
InlineFunctionExpansion="1"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;..\..\masmx86"
|
||||||
|
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF"
|
||||||
|
StringPooling="true"
|
||||||
|
ExceptionHandling="0"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
BufferSecurityCheck="false"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"
|
||||||
|
AssemblerOutput="2"
|
||||||
|
AssemblerListingLocation="$(IntDir)\"
|
||||||
|
ObjectFile="$(IntDir)\"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\"
|
||||||
|
BrowseInformation="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="NDEBUG"
|
||||||
|
Culture="1036"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalOptions="/MACHINE:I386"
|
||||||
|
AdditionalDependencies="..\..\masmx86\match686.obj ..\..\masmx86\inffas32.obj "
|
||||||
|
OutputFile="$(OutDir)\zlibwapi.dll"
|
||||||
|
LinkIncremental="1"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
GenerateManifest="false"
|
||||||
|
IgnoreAllDefaultLibraries="false"
|
||||||
|
ModuleDefinitionFile=".\zlibvc.def"
|
||||||
|
ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"
|
||||||
|
GenerateMapFile="true"
|
||||||
|
MapFileName="$(OutDir)/zlibwapi.map"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeForWindows98="1"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
ImportLibrary="$(OutDir)/zlibwapi.lib"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
@@ -810,9 +799,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
@@ -911,9 +897,6 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCAppVerifierTool"
|
Name="VCAppVerifierTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
@@ -942,72 +925,12 @@
|
|||||||
RelativePath="..\..\..\deflate.c"
|
RelativePath="..\..\..\deflate.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\masmx86\gvmat32c.c"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseWithoutAsm|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Itanium"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseWithoutAsm|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseWithoutAsm|Itanium"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Itanium"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\gzclose.c"
|
RelativePath="..\..\..\gzclose.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\gzio.c"
|
RelativePath="..\..\..\gzguts.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
@@ -1037,22 +960,6 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="ReleaseWithoutAsm|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Itanium"
|
Name="Debug|Itanium"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
@@ -1061,6 +968,14 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="ReleaseWithoutAsm|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="ReleaseWithoutAsm|Itanium"
|
Name="ReleaseWithoutAsm|Itanium"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
@@ -1069,6 +984,14 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|Itanium"
|
Name="Release|Itanium"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
|
|||||||
85
crc32.c
85
crc32.c
@@ -1,5 +1,5 @@
|
|||||||
/* crc32.c -- compute the CRC-32 of a data stream
|
/* crc32.c -- compute the CRC-32 of a data stream
|
||||||
* Copyright (C) 1995-2006 Mark Adler
|
* Copyright (C) 1995-2006, 2010, 2011, 2012 Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*
|
*
|
||||||
* Thanks to Rodney Brown <rbrown64@csc.com.au> for his contribution of faster
|
* Thanks to Rodney Brown <rbrown64@csc.com.au> for his contribution of faster
|
||||||
@@ -17,6 +17,8 @@
|
|||||||
of the crc tables. Therefore, if you #define DYNAMIC_CRC_TABLE, you should
|
of the crc tables. Therefore, if you #define DYNAMIC_CRC_TABLE, you should
|
||||||
first call get_crc_table() to initialize the tables before allowing more than
|
first call get_crc_table() to initialize the tables before allowing more than
|
||||||
one thread to use crc32().
|
one thread to use crc32().
|
||||||
|
|
||||||
|
DYNAMIC_CRC_TABLE and MAKECRCH can be #defined to write out crc32.h.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef MAKECRCH
|
#ifdef MAKECRCH
|
||||||
@@ -30,31 +32,11 @@
|
|||||||
|
|
||||||
#define local static
|
#define local static
|
||||||
|
|
||||||
/* Find a four-byte integer type for crc32_little() and crc32_big(). */
|
|
||||||
#ifndef NOBYFOUR
|
|
||||||
# ifdef STDC /* need ANSI C limits.h to determine sizes */
|
|
||||||
# include <limits.h>
|
|
||||||
# define BYFOUR
|
|
||||||
# if (UINT_MAX == 0xffffffffUL)
|
|
||||||
typedef unsigned int u4;
|
|
||||||
# else
|
|
||||||
# if (ULONG_MAX == 0xffffffffUL)
|
|
||||||
typedef unsigned long u4;
|
|
||||||
# else
|
|
||||||
# if (USHRT_MAX == 0xffffffffUL)
|
|
||||||
typedef unsigned short u4;
|
|
||||||
# else
|
|
||||||
# undef BYFOUR /* can't find a four-byte integer type! */
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
# endif /* STDC */
|
|
||||||
#endif /* !NOBYFOUR */
|
|
||||||
|
|
||||||
/* Definitions for doing the crc four data bytes at a time. */
|
/* Definitions for doing the crc four data bytes at a time. */
|
||||||
|
#if !defined(NOBYFOUR) && defined(Z_U4)
|
||||||
|
# define BYFOUR
|
||||||
|
#endif
|
||||||
#ifdef BYFOUR
|
#ifdef BYFOUR
|
||||||
# define REV(w) ((((w)>>24)&0xff)+(((w)>>8)&0xff00)+ \
|
|
||||||
(((w)&0xff00)<<8)+(((w)&0xff)<<24))
|
|
||||||
local unsigned long crc32_little OF((unsigned long,
|
local unsigned long crc32_little OF((unsigned long,
|
||||||
const unsigned char FAR *, unsigned));
|
const unsigned char FAR *, unsigned));
|
||||||
local unsigned long crc32_big OF((unsigned long,
|
local unsigned long crc32_big OF((unsigned long,
|
||||||
@@ -68,16 +50,16 @@
|
|||||||
local unsigned long gf2_matrix_times OF((unsigned long *mat,
|
local unsigned long gf2_matrix_times OF((unsigned long *mat,
|
||||||
unsigned long vec));
|
unsigned long vec));
|
||||||
local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat));
|
local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat));
|
||||||
local uLong crc32_combine_(uLong crc1, uLong crc2, z_off64_t len2);
|
local uLong crc32_combine_ OF((uLong crc1, uLong crc2, z_off64_t len2));
|
||||||
|
|
||||||
|
|
||||||
#ifdef DYNAMIC_CRC_TABLE
|
#ifdef DYNAMIC_CRC_TABLE
|
||||||
|
|
||||||
local volatile int crc_table_empty = 1;
|
local volatile int crc_table_empty = 1;
|
||||||
local unsigned long FAR crc_table[TBLS][256];
|
local z_crc_t FAR crc_table[TBLS][256];
|
||||||
local void make_crc_table OF((void));
|
local void make_crc_table OF((void));
|
||||||
#ifdef MAKECRCH
|
#ifdef MAKECRCH
|
||||||
local void write_table OF((FILE *, const unsigned long FAR *));
|
local void write_table OF((FILE *, const z_crc_t FAR *));
|
||||||
#endif /* MAKECRCH */
|
#endif /* MAKECRCH */
|
||||||
/*
|
/*
|
||||||
Generate tables for a byte-wise 32-bit CRC calculation on the polynomial:
|
Generate tables for a byte-wise 32-bit CRC calculation on the polynomial:
|
||||||
@@ -107,9 +89,9 @@ local void make_crc_table OF((void));
|
|||||||
*/
|
*/
|
||||||
local void make_crc_table()
|
local void make_crc_table()
|
||||||
{
|
{
|
||||||
unsigned long c;
|
z_crc_t c;
|
||||||
int n, k;
|
int n, k;
|
||||||
unsigned long poly; /* polynomial exclusive-or pattern */
|
z_crc_t poly; /* polynomial exclusive-or pattern */
|
||||||
/* terms of polynomial defining this crc (except x^32): */
|
/* terms of polynomial defining this crc (except x^32): */
|
||||||
static volatile int first = 1; /* flag to limit concurrent making */
|
static volatile int first = 1; /* flag to limit concurrent making */
|
||||||
static const unsigned char p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};
|
static const unsigned char p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};
|
||||||
@@ -121,13 +103,13 @@ local void make_crc_table()
|
|||||||
first = 0;
|
first = 0;
|
||||||
|
|
||||||
/* make exclusive-or pattern from polynomial (0xedb88320UL) */
|
/* make exclusive-or pattern from polynomial (0xedb88320UL) */
|
||||||
poly = 0UL;
|
poly = 0;
|
||||||
for (n = 0; n < sizeof(p)/sizeof(unsigned char); n++)
|
for (n = 0; n < (int)(sizeof(p)/sizeof(unsigned char)); n++)
|
||||||
poly |= 1UL << (31 - p[n]);
|
poly |= (z_crc_t)1 << (31 - p[n]);
|
||||||
|
|
||||||
/* generate a crc for every 8-bit value */
|
/* generate a crc for every 8-bit value */
|
||||||
for (n = 0; n < 256; n++) {
|
for (n = 0; n < 256; n++) {
|
||||||
c = (unsigned long)n;
|
c = (z_crc_t)n;
|
||||||
for (k = 0; k < 8; k++)
|
for (k = 0; k < 8; k++)
|
||||||
c = c & 1 ? poly ^ (c >> 1) : c >> 1;
|
c = c & 1 ? poly ^ (c >> 1) : c >> 1;
|
||||||
crc_table[0][n] = c;
|
crc_table[0][n] = c;
|
||||||
@@ -138,11 +120,11 @@ local void make_crc_table()
|
|||||||
and then the byte reversal of those as well as the first table */
|
and then the byte reversal of those as well as the first table */
|
||||||
for (n = 0; n < 256; n++) {
|
for (n = 0; n < 256; n++) {
|
||||||
c = crc_table[0][n];
|
c = crc_table[0][n];
|
||||||
crc_table[4][n] = REV(c);
|
crc_table[4][n] = ZSWAP32(c);
|
||||||
for (k = 1; k < 4; k++) {
|
for (k = 1; k < 4; k++) {
|
||||||
c = crc_table[0][c & 0xff] ^ (c >> 8);
|
c = crc_table[0][c & 0xff] ^ (c >> 8);
|
||||||
crc_table[k][n] = c;
|
crc_table[k][n] = c;
|
||||||
crc_table[k + 4][n] = REV(c);
|
crc_table[k + 4][n] = ZSWAP32(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* BYFOUR */
|
#endif /* BYFOUR */
|
||||||
@@ -164,7 +146,7 @@ local void make_crc_table()
|
|||||||
if (out == NULL) return;
|
if (out == NULL) return;
|
||||||
fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n");
|
fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n");
|
||||||
fprintf(out, " * Generated automatically by crc32.c\n */\n\n");
|
fprintf(out, " * Generated automatically by crc32.c\n */\n\n");
|
||||||
fprintf(out, "local const unsigned long FAR ");
|
fprintf(out, "local const z_crc_t FAR ");
|
||||||
fprintf(out, "crc_table[TBLS][256] =\n{\n {\n");
|
fprintf(out, "crc_table[TBLS][256] =\n{\n {\n");
|
||||||
write_table(out, crc_table[0]);
|
write_table(out, crc_table[0]);
|
||||||
# ifdef BYFOUR
|
# ifdef BYFOUR
|
||||||
@@ -184,12 +166,13 @@ local void make_crc_table()
|
|||||||
#ifdef MAKECRCH
|
#ifdef MAKECRCH
|
||||||
local void write_table(out, table)
|
local void write_table(out, table)
|
||||||
FILE *out;
|
FILE *out;
|
||||||
const unsigned long FAR *table;
|
const z_crc_t FAR *table;
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
for (n = 0; n < 256; n++)
|
for (n = 0; n < 256; n++)
|
||||||
fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : " ", table[n],
|
fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : " ",
|
||||||
|
(unsigned long)(table[n]),
|
||||||
n == 255 ? "\n" : (n % 5 == 4 ? ",\n" : ", "));
|
n == 255 ? "\n" : (n % 5 == 4 ? ",\n" : ", "));
|
||||||
}
|
}
|
||||||
#endif /* MAKECRCH */
|
#endif /* MAKECRCH */
|
||||||
@@ -204,13 +187,13 @@ local void write_table(out, table)
|
|||||||
/* =========================================================================
|
/* =========================================================================
|
||||||
* This function can be used by asm versions of crc32()
|
* This function can be used by asm versions of crc32()
|
||||||
*/
|
*/
|
||||||
const unsigned long FAR * ZEXPORT get_crc_table()
|
const z_crc_t FAR * ZEXPORT get_crc_table()
|
||||||
{
|
{
|
||||||
#ifdef DYNAMIC_CRC_TABLE
|
#ifdef DYNAMIC_CRC_TABLE
|
||||||
if (crc_table_empty)
|
if (crc_table_empty)
|
||||||
make_crc_table();
|
make_crc_table();
|
||||||
#endif /* DYNAMIC_CRC_TABLE */
|
#endif /* DYNAMIC_CRC_TABLE */
|
||||||
return (const unsigned long FAR *)crc_table;
|
return (const z_crc_t FAR *)crc_table;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ========================================================================= */
|
/* ========================================================================= */
|
||||||
@@ -221,7 +204,7 @@ const unsigned long FAR * ZEXPORT get_crc_table()
|
|||||||
unsigned long ZEXPORT crc32(crc, buf, len)
|
unsigned long ZEXPORT crc32(crc, buf, len)
|
||||||
unsigned long crc;
|
unsigned long crc;
|
||||||
const unsigned char FAR *buf;
|
const unsigned char FAR *buf;
|
||||||
unsigned len;
|
uInt len;
|
||||||
{
|
{
|
||||||
if (buf == Z_NULL) return 0UL;
|
if (buf == Z_NULL) return 0UL;
|
||||||
|
|
||||||
@@ -232,7 +215,7 @@ unsigned long ZEXPORT crc32(crc, buf, len)
|
|||||||
|
|
||||||
#ifdef BYFOUR
|
#ifdef BYFOUR
|
||||||
if (sizeof(void *) == sizeof(ptrdiff_t)) {
|
if (sizeof(void *) == sizeof(ptrdiff_t)) {
|
||||||
u4 endian;
|
z_crc_t endian;
|
||||||
|
|
||||||
endian = 1;
|
endian = 1;
|
||||||
if (*((unsigned char *)(&endian)))
|
if (*((unsigned char *)(&endian)))
|
||||||
@@ -266,17 +249,17 @@ local unsigned long crc32_little(crc, buf, len)
|
|||||||
const unsigned char FAR *buf;
|
const unsigned char FAR *buf;
|
||||||
unsigned len;
|
unsigned len;
|
||||||
{
|
{
|
||||||
register u4 c;
|
register z_crc_t c;
|
||||||
register const u4 FAR *buf4;
|
register const z_crc_t FAR *buf4;
|
||||||
|
|
||||||
c = (u4)crc;
|
c = (z_crc_t)crc;
|
||||||
c = ~c;
|
c = ~c;
|
||||||
while (len && ((ptrdiff_t)buf & 3)) {
|
while (len && ((ptrdiff_t)buf & 3)) {
|
||||||
c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
|
c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
|
||||||
len--;
|
len--;
|
||||||
}
|
}
|
||||||
|
|
||||||
buf4 = (const u4 FAR *)(const void FAR *)buf;
|
buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
|
||||||
while (len >= 32) {
|
while (len >= 32) {
|
||||||
DOLIT32;
|
DOLIT32;
|
||||||
len -= 32;
|
len -= 32;
|
||||||
@@ -306,17 +289,17 @@ local unsigned long crc32_big(crc, buf, len)
|
|||||||
const unsigned char FAR *buf;
|
const unsigned char FAR *buf;
|
||||||
unsigned len;
|
unsigned len;
|
||||||
{
|
{
|
||||||
register u4 c;
|
register z_crc_t c;
|
||||||
register const u4 FAR *buf4;
|
register const z_crc_t FAR *buf4;
|
||||||
|
|
||||||
c = REV((u4)crc);
|
c = ZSWAP32((z_crc_t)crc);
|
||||||
c = ~c;
|
c = ~c;
|
||||||
while (len && ((ptrdiff_t)buf & 3)) {
|
while (len && ((ptrdiff_t)buf & 3)) {
|
||||||
c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
|
c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
|
||||||
len--;
|
len--;
|
||||||
}
|
}
|
||||||
|
|
||||||
buf4 = (const u4 FAR *)(const void FAR *)buf;
|
buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
|
||||||
buf4--;
|
buf4--;
|
||||||
while (len >= 32) {
|
while (len >= 32) {
|
||||||
DOBIG32;
|
DOBIG32;
|
||||||
@@ -333,7 +316,7 @@ local unsigned long crc32_big(crc, buf, len)
|
|||||||
c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
|
c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
|
||||||
} while (--len);
|
} while (--len);
|
||||||
c = ~c;
|
c = ~c;
|
||||||
return (unsigned long)(REV(c));
|
return (unsigned long)(ZSWAP32(c));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* BYFOUR */
|
#endif /* BYFOUR */
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user