Compare commits
105 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 |
@@ -3,9 +3,13 @@ set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
|
|||||||
|
|
||||||
project(zlib C)
|
project(zlib C)
|
||||||
|
|
||||||
if(NOT DEFINED BUILD_SHARED_LIBS)
|
set(VERSION "1.2.7")
|
||||||
option(BUILD_SHARED_LIBS "Build a shared library form of zlib" ON)
|
|
||||||
endif()
|
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)
|
||||||
@@ -56,23 +60,27 @@ 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
|
message(STATUS "Renaming")
|
||||||
"You must remove ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h "
|
message(STATUS " ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h")
|
||||||
"from the source tree. This file is included with zlib "
|
message(STATUS "to 'zconf.h.included' because this file is included with zlib")
|
||||||
"but CMake generates this file for you automatically "
|
message(STATUS "but CMake generates it automatically in the build directory.")
|
||||||
"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.cmakein
|
set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc)
|
||||||
|
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein
|
||||||
|
${ZLIB_PC} @ONLY)
|
||||||
|
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
|
${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
|
||||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
|
||||||
|
|
||||||
|
|
||||||
#============================================================================
|
#============================================================================
|
||||||
@@ -110,16 +118,25 @@ set(ZLIB_SRCS
|
|||||||
trees.c
|
trees.c
|
||||||
uncompr.c
|
uncompr.c
|
||||||
zutil.c
|
zutil.c
|
||||||
win32/zlib1.rc
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(NOT MINGW)
|
||||||
|
set(ZLIB_SRCS ${ZLIB_SRCS}
|
||||||
|
win32/zlib1.rc # If present will override custom build rule below.
|
||||||
|
)
|
||||||
|
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 ${CMAKE_RC_COMPILER}
|
COMMAND ${CMAKE_RC_COMPILER}
|
||||||
-D GCC_WINDRES
|
-D GCC_WINDRES
|
||||||
@@ -130,9 +147,9 @@ if(MINGW)
|
|||||||
set(ZLIB_SRCS ${ZLIB_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
set(ZLIB_SRCS ${ZLIB_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_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||||
|
add_library(zlibstatic STATIC ${ZLIB_SRCS} ${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)
|
||||||
@@ -148,23 +165,27 @@ 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)
|
||||||
|
set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/zlib.map")
|
||||||
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()
|
||||||
|
|
||||||
#============================================================================
|
#============================================================================
|
||||||
|
|||||||
89
ChangeLog
89
ChangeLog
@@ -1,6 +1,95 @@
|
|||||||
|
|
||||||
ChangeLog file for zlib
|
ChangeLog file for zlib
|
||||||
|
|
||||||
|
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)
|
Changes in 1.2.5.3 (15 Jan 2012)
|
||||||
- Restore gzgetc function for binary compatibility
|
- Restore gzgetc function for binary compatibility
|
||||||
- Do not use _lseeki64 under Borland C++ [Truta]
|
- Do not use _lseeki64 under Borland C++ [Truta]
|
||||||
|
|||||||
1
INDEX
1
INDEX
@@ -17,6 +17,7 @@ zlib.3 Man page for zlib
|
|||||||
zlib.3.pdf Man page in PDF format
|
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
|
||||||
|
|||||||
35
Makefile.in
35
Makefile.in
@@ -32,7 +32,7 @@ CPP=$(CC) -E
|
|||||||
|
|
||||||
STATICLIB=libz.a
|
STATICLIB=libz.a
|
||||||
SHAREDLIB=libz.so
|
SHAREDLIB=libz.so
|
||||||
SHAREDLIBV=libz.so.1.2.5.3
|
SHAREDLIBV=libz.so.1.2.7
|
||||||
SHAREDLIBM=libz.so.1
|
SHAREDLIBM=libz.so.1
|
||||||
LIBS=$(STATICLIB) $(SHAREDLIBV)
|
LIBS=$(STATICLIB) $(SHAREDLIBV)
|
||||||
|
|
||||||
@@ -53,7 +53,6 @@ includedir = ${prefix}/include
|
|||||||
mandir = ${prefix}/share/man
|
mandir = ${prefix}/share/man
|
||||||
man3dir = ${mandir}/man3
|
man3dir = ${mandir}/man3
|
||||||
pkgconfigdir = ${libdir}/pkgconfig
|
pkgconfigdir = ${libdir}/pkgconfig
|
||||||
tempfile := $(shell mktemp -u __XXXXXX)
|
|
||||||
|
|
||||||
OBJZ = adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o
|
OBJZ = adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o
|
||||||
OBJG = compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
|
OBJG = compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
|
||||||
@@ -84,32 +83,35 @@ check: test
|
|||||||
test: all teststatic testshared
|
test: all teststatic testshared
|
||||||
|
|
||||||
teststatic: static
|
teststatic: static
|
||||||
@if echo hello world | ./minigzip | ./minigzip -d && ./example; then \
|
@TMPST=`mktemp fooXXXXXX`; \
|
||||||
|
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=`mktemp fooXXXXXX`; \
|
||||||
|
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=`mktemp fooXXXXXX`; \
|
||||||
|
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
|
infcover.o: test/infcover.c zlib.h zconf.h
|
||||||
$(CC) $(CFLAGS) -I. -c -o $@ test/infcover.c
|
$(CC) $(CFLAGS) -I. -c -o $@ test/infcover.c
|
||||||
@@ -228,10 +230,11 @@ zlib.3.pdf: zlib.3
|
|||||||
groff -mandoc -f H -T ps zlib.3 | ps2pdf - zlib.3.pdf
|
groff -mandoc -f H -T ps zlib.3 | ps2pdf - zlib.3.pdf
|
||||||
|
|
||||||
zconf.h.cmakein: zconf.h.in
|
zconf.h.cmakein: zconf.h.in
|
||||||
-@echo "/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" > $(tempfile)
|
-@ TEMPFILE=`mktemp __XXXXXX`; \
|
||||||
-@sed -f $(tempfile) zconf.h.in > zconf.h.cmakein
|
echo "/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" >> $$TEMPFILE &&\
|
||||||
-@touch -r zconf.h.in zconf.h.cmakein
|
sed -f $$TEMPFILE zconf.h.in > zconf.h.cmakein &&\
|
||||||
-@rm $(tempfile)
|
touch -r zconf.h.in zconf.h.cmakein &&\
|
||||||
|
rm $$TEMPFILE
|
||||||
|
|
||||||
zconf: zconf.h.in
|
zconf: zconf.h.in
|
||||||
cp -p zconf.h.in zconf.h
|
cp -p zconf.h.in zconf.h
|
||||||
@@ -250,7 +253,7 @@ clean:
|
|||||||
|
|
||||||
maintainer-clean: distclean
|
maintainer-clean: distclean
|
||||||
distclean: clean zconf zconf.h.cmakein docs
|
distclean: clean zconf zconf.h.cmakein docs
|
||||||
rm -f Makefile zlib.pc
|
rm -f Makefile zlib.pc configure.log
|
||||||
-@rm -f .DS_Store
|
-@rm -f .DS_Store
|
||||||
-@printf 'all:\n\t-@echo "Please 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
|
-@printf '\ndistclean:\n\tmake -f Makefile.in distclean\n' >> Makefile
|
||||||
|
|||||||
6
README
6
README
@@ -1,6 +1,6 @@
|
|||||||
ZLIB DATA COMPRESSION LIBRARY
|
ZLIB DATA COMPRESSION LIBRARY
|
||||||
|
|
||||||
zlib 1.2.5.3 is a general purpose data compression library. All the code is
|
zlib 1.2.7 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://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
|
http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
|
||||||
@@ -31,7 +31,7 @@ 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 at
|
issue of Dr. Dobb's Journal; a copy of the article is available at
|
||||||
http://marknelson.us/1997/01/01/zlib-engine/ .
|
http://marknelson.us/1997/01/01/zlib-engine/ .
|
||||||
|
|
||||||
The changes made in version 1.2.5.3 are documented in the file ChangeLog.
|
The changes made in version 1.2.7 are documented in the file ChangeLog.
|
||||||
|
|
||||||
Unsupported third party contributions are provided in directory contrib/ .
|
Unsupported third party contributions are provided in directory contrib/ .
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ Acknowledgments:
|
|||||||
|
|
||||||
Copyright notice:
|
Copyright notice:
|
||||||
|
|
||||||
(C) 1995-2011 Jean-loup Gailly and Mark Adler
|
(C) 1995-2012 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
|
||||||
|
|||||||
@@ -195,7 +195,6 @@ STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
|
|||||||
/********************************************************************/
|
/********************************************************************/
|
||||||
|
|
||||||
EXPORT SYMBOL("gzgetc_")
|
EXPORT SYMBOL("gzgetc_")
|
||||||
EXPORT SYMBOL("gzflags")
|
|
||||||
|
|
||||||
/********************************************************************/
|
/********************************************************************/
|
||||||
/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
|
/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
|
||||||
|
|||||||
@@ -105,6 +105,6 @@
|
|||||||
&MODLIB/TREES &MODLIB/UNCOMPR +
|
&MODLIB/TREES &MODLIB/UNCOMPR +
|
||||||
&MODLIB/ZUTIL) +
|
&MODLIB/ZUTIL) +
|
||||||
SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) +
|
SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) +
|
||||||
TEXT('ZLIB 1.2.5.3') TGTRLS(&TGTRLS)
|
TEXT('ZLIB 1.2.7') TGTRLS(&TGTRLS)
|
||||||
|
|
||||||
ENDPGM
|
ENDPGM
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
ZLIB version 1.2.5.3 for AS400 installation instructions
|
ZLIB version 1.2.7 for AS400 installation instructions
|
||||||
|
|
||||||
I) From an AS400 *SAVF file:
|
I) From an AS400 *SAVF file:
|
||||||
|
|
||||||
|
|||||||
@@ -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.5.3
|
* Version 1.2.7
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* WARNING:
|
* WARNING:
|
||||||
@@ -22,14 +22,14 @@
|
|||||||
*
|
*
|
||||||
* Versioning information.
|
* Versioning information.
|
||||||
*
|
*
|
||||||
D ZLIB_VERSION C '1.2.5.3'
|
D ZLIB_VERSION C '1.2.7'
|
||||||
D ZLIB_VERNUM C X'1253'
|
D ZLIB_VERNUM C X'1270'
|
||||||
D ZLIB_VER_MAJOR C 1
|
D ZLIB_VER_MAJOR C 1
|
||||||
D ZLIB_VER_MINOR C 2
|
D ZLIB_VER_MINOR C 2
|
||||||
D ZLIB_VER_REVISION...
|
D ZLIB_VER_REVISION...
|
||||||
D C 5
|
D C 7
|
||||||
D ZLIB_VER_SUBREVISION...
|
D ZLIB_VER_SUBREVISION...
|
||||||
D C 3
|
D C 0
|
||||||
*
|
*
|
||||||
* Other equates.
|
* Other equates.
|
||||||
*
|
*
|
||||||
@@ -442,6 +442,4 @@
|
|||||||
D PR 10I 0 extproc('deflateResetKeep') End and init. stream
|
D PR 10I 0 extproc('deflateResetKeep') End and init. stream
|
||||||
D strm like(z_stream) Expansion stream
|
D strm like(z_stream) Expansion stream
|
||||||
*
|
*
|
||||||
D gzflags PR 10U 0 extproc('gzflags')
|
|
||||||
*
|
|
||||||
/endif
|
/endif
|
||||||
|
|||||||
432
configure
vendored
432
configure
vendored
@@ -13,36 +13,49 @@
|
|||||||
# 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
|
if [ -n "${CHOST}" ]; then
|
||||||
uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`"
|
uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`"
|
||||||
CROSS_PREFIX="${CHOST}-"
|
CROSS_PREFIX="${CHOST}-"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# destination name for static library
|
||||||
STATICLIB=libz.a
|
STATICLIB=libz.a
|
||||||
|
|
||||||
|
# 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
|
if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
|
||||||
AR=${AR-"${CROSS_PREFIX}ar"}
|
AR=${AR-"${CROSS_PREFIX}ar"}
|
||||||
test -n "${CROSS_PREFIX}" && echo Using ${AR}
|
test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
|
||||||
else
|
else
|
||||||
AR=${AR-"ar"}
|
AR=${AR-"ar"}
|
||||||
test -n "${CROSS_PREFIX}" && echo Using ${AR}
|
test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
|
||||||
fi
|
fi
|
||||||
ARFLAGS=${ARFLAGS-"rc"}
|
ARFLAGS=${ARFLAGS-"rc"}
|
||||||
if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then
|
if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then
|
||||||
RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"}
|
RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"}
|
||||||
test -n "${CROSS_PREFIX}" && echo Using ${RANLIB}
|
test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} | tee -a configure.log
|
||||||
else
|
else
|
||||||
RANLIB=${RANLIB-"ranlib"}
|
RANLIB=${RANLIB-"ranlib"}
|
||||||
fi
|
fi
|
||||||
if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then
|
if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then
|
||||||
NM=${NM-"${CROSS_PREFIX}nm"}
|
NM=${NM-"${CROSS_PREFIX}nm"}
|
||||||
test -n "${CROSS_PREFIX}" && echo Using ${NM}
|
test -n "${CROSS_PREFIX}" && echo Using ${NM} | tee -a configure.log
|
||||||
else
|
else
|
||||||
NM=${NM-"nm"}
|
NM=${NM-"nm"}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# set defaults before processing command line options
|
||||||
LDCONFIG=${LDCONFIG-"ldconfig"}
|
LDCONFIG=${LDCONFIG-"ldconfig"}
|
||||||
LDSHAREDLIBC="${LDSHAREDLIBC--lc}"
|
LDSHAREDLIBC="${LDSHAREDLIBC--lc}"
|
||||||
ARCHS=
|
ARCHS=
|
||||||
@@ -64,14 +77,15 @@ old_cflags="$CFLAGS"
|
|||||||
OBJC='$(OBJZ) $(OBJG)'
|
OBJC='$(OBJZ) $(OBJG)'
|
||||||
PIC_OBJC='$(PIC_OBJZ) $(PIC_OBJG)'
|
PIC_OBJC='$(PIC_OBJZ) $(PIC_OBJG)'
|
||||||
|
|
||||||
|
# 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 [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]' | tee -a configure.log
|
||||||
echo ' [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]'
|
echo ' [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log
|
||||||
echo ' [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]'
|
echo ' [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' | tee -a configure.log
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
-p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;;
|
-p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;;
|
||||||
-e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;;
|
-e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;;
|
||||||
@@ -90,30 +104,84 @@ case "$1" in
|
|||||||
-z* | --zprefix) zprefix=1; shift ;;
|
-z* | --zprefix) zprefix=1; shift ;;
|
||||||
-6* | --64) build64=1; shift ;;
|
-6* | --64) build64=1; shift ;;
|
||||||
-a*=* | --archs=*) ARCHS=`echo $1 | sed 's/.*=//'`; shift ;;
|
-a*=* | --archs=*) ARCHS=`echo $1 | sed 's/.*=//'`; shift ;;
|
||||||
--sysconfdir=*) echo "ignored option: --sysconfdir"; shift ;;
|
--sysconfdir=*) echo "ignored option: --sysconfdir" | tee -a configure.log; shift ;;
|
||||||
--localstatedir=*) echo "ignored option: --localstatedir"; shift ;;
|
--localstatedir=*) echo "ignored option: --localstatedir" | tee -a configure.log; shift ;;
|
||||||
*) echo "unknown option: $1"; echo "$0 --help for help"; exit 1 ;;
|
*) echo "unknown option: $1"; echo "$0 --help for help" | tee -a configure.log; exit 1 ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# define functions for testing compiler and library characteristics and logging the results
|
||||||
test=ztest$$
|
test=ztest$$
|
||||||
|
|
||||||
|
show()
|
||||||
|
{
|
||||||
|
case "$*" in
|
||||||
|
*$test.c*)
|
||||||
|
echo === $test.c === >> configure.log
|
||||||
|
cat $test.c >> configure.log
|
||||||
|
echo === >> configure.log;;
|
||||||
|
esac
|
||||||
|
echo $* >> configure.log
|
||||||
|
}
|
||||||
|
|
||||||
|
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" = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
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 ${CROSS_PREFIX}gcc...
|
test -z "$CC" && echo Checking for ${CROSS_PREFIX}gcc... | tee -a configure.log
|
||||||
cc=${CC-${CROSS_PREFIX}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
|
esac
|
||||||
case `$cc -v 2>&1` in
|
case `$cc -v 2>&1` in
|
||||||
*gcc*) gcc=1 ;;
|
*gcc*) gcc=1 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
|
show $cc -c $cflags $test.c
|
||||||
|
if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) >> configure.log 2>&1; then
|
||||||
|
echo ... using gcc >> configure.log
|
||||||
CC="$cc"
|
CC="$cc"
|
||||||
CFLAGS="${CFLAGS--O3} ${ARCHS}"
|
CFLAGS="${CFLAGS--O3} ${ARCHS}"
|
||||||
SFLAGS="${CFLAGS--O3} -fPIC"
|
SFLAGS="${CFLAGS--O3} -fPIC"
|
||||||
@@ -129,14 +197,17 @@ if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; 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 | *bsd* | DragonFly | solaris*)
|
Linux* | linux* | GNU | GNU/* | solaris*)
|
||||||
LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
|
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*)
|
MINGW* | mingw*)
|
||||||
# temporary bypass
|
# temporary bypass
|
||||||
rm -f $test.[co] $test $test$shared_ext
|
rm -f $test.[co] $test $test$shared_ext
|
||||||
echo "Please use win32/Makefile.gcc instead."
|
echo "Please use win32/Makefile.gcc instead." | tee -a configure.log
|
||||||
exit 1
|
exit 1
|
||||||
LDSHARED=${LDSHARED-"$cc -shared"}
|
LDSHARED=${LDSHARED-"$cc -shared"}
|
||||||
LDSHAREDLIBC=""
|
LDSHAREDLIBC=""
|
||||||
@@ -160,7 +231,7 @@ if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
|
|||||||
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"}
|
||||||
AR="libtool"
|
AR="/usr/bin/libtool"
|
||||||
ARFLAGS="-o" ;;
|
ARFLAGS="-o" ;;
|
||||||
*) LDSHARED=${LDSHARED-"$cc -shared"} ;;
|
*) LDSHARED=${LDSHARED-"$cc -shared"} ;;
|
||||||
esac
|
esac
|
||||||
@@ -168,6 +239,7 @@ else
|
|||||||
# find system name and corresponding cc options
|
# find system name and corresponding cc options
|
||||||
CC=${CC-cc}
|
CC=${CC-cc}
|
||||||
gcc=0
|
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
|
||||||
@@ -204,15 +276,28 @@ else
|
|||||||
CFLAGS=${CFLAGS-"-O3"}
|
CFLAGS=${CFLAGS-"-O3"}
|
||||||
LDSHARED=${LDSHARED-"cc -dy -KPIC -G"} ;;
|
LDSHARED=${LDSHARED-"cc -dy -KPIC -G"} ;;
|
||||||
SunOS\ 5* | solaris*)
|
SunOS\ 5* | solaris*)
|
||||||
LDSHARED=${LDSHARED-"cc -G"}
|
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"} ;;
|
||||||
@@ -242,25 +327,25 @@ 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
|
||||||
|
|
||||||
|
# see if shared library build supported
|
||||||
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
|
||||||
@@ -271,25 +356,45 @@ if test $shared -eq 0; then
|
|||||||
SHAREDLIB=""
|
SHAREDLIB=""
|
||||||
SHAREDLIBV=""
|
SHAREDLIBV=""
|
||||||
SHAREDLIBM=""
|
SHAREDLIBM=""
|
||||||
echo Building static library $STATICLIB version $VER with $CC.
|
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
|
||||||
|
|
||||||
|
echo >> configure.log
|
||||||
|
|
||||||
|
# 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) {
|
||||||
@@ -297,47 +402,73 @@ 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
|
||||||
|
|
||||||
|
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
|
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
|
cat > $test.c <<EOF
|
||||||
#include <stdarg.h>
|
#include <stdarg.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_STDARG_H.* may be/s/def HAVE_STDARG_H\(.*\) may be/ 1\1 was/" > zconf.temp.h
|
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
|
mv zconf.temp.h zconf.h
|
||||||
echo "Checking for stdarg.h... Yes."
|
echo "Checking for stdarg.h... Yes." | tee -a configure.log
|
||||||
else
|
else
|
||||||
echo "Checking for stdarg.h... No."
|
echo "Checking for stdarg.h... No." | tee -a configure.log
|
||||||
fi
|
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
|
if test $solo -eq 1; then
|
||||||
sed '/#define ZCONF_H/a\
|
sed '/#define ZCONF_H/a\
|
||||||
#define Z_SOLO
|
#define Z_SOLO
|
||||||
@@ -348,246 +479,290 @@ OBJC='$(OBJZ)'
|
|||||||
PIC_OBJC='$(PIC_OBJZ)'
|
PIC_OBJC='$(PIC_OBJZ)'
|
||||||
fi
|
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
|
if test $cover -eq 1; then
|
||||||
CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage"
|
CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage"
|
||||||
|
if test -n "$GCC_CLASSIC"; then
|
||||||
|
CC=$GCC_CLASSIC
|
||||||
|
fi
|
||||||
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 test "`($CC $CFLAGS -o $test $test.c) 2>&1`" = ""; then
|
if try $CC $CFLAGS -o $test $test.c; then
|
||||||
echo "Checking for vsnprintf() in stdio.h... Yes."
|
echo "Checking for vsnprintf() 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>
|
||||||
#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
|
if test "$gcc" -eq 1; then
|
||||||
|
echo >> configure.log
|
||||||
cat > $test.c <<EOF
|
cat > $test.c <<EOF
|
||||||
#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33)
|
#define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
|
||||||
# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
|
|
||||||
#else
|
|
||||||
# define ZLIB_INTERNAL
|
|
||||||
#endif
|
|
||||||
int ZLIB_INTERNAL foo;
|
int ZLIB_INTERNAL foo;
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
return 0;
|
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 attribute(visibility) support... Yes."
|
CFLAGS="$CFLAGS -DHAVE_HIDDEN"
|
||||||
|
SFLAGS="$SFLAGS -DHAVE_HIDDEN"
|
||||||
|
echo "Checking for attribute(visibility) support... Yes." | tee -a configure.log
|
||||||
else
|
else
|
||||||
CFLAGS="$CFLAGS -DNO_VIZ"
|
echo "Checking for attribute(visibility) support... No." | tee -a configure.log
|
||||||
SFLAGS="$SFLAGS -DNO_VIZ"
|
|
||||||
echo "Checking for attribute(visibility) support... No."
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CPP=${CPP-"$CC -E"}
|
echo >> configure.log
|
||||||
case $CFLAGS in
|
|
||||||
*ASMV*)
|
|
||||||
if test "`$NM $test.o | grep _hello`" = ""; then
|
|
||||||
CPP="$CPP -DNO_UNDERLINE"
|
|
||||||
echo Checking for underline in external names... No.
|
|
||||||
else
|
|
||||||
echo Checking for underline in external names... Yes.
|
|
||||||
fi ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
# find a four-byte unsiged integer type for crc calculations
|
||||||
|
cat > $test.c <<EOF
|
||||||
|
#include <stdio.h>
|
||||||
|
#define is32(n,t) for(n=1,k=0;n;n<<=1,k++);if(k==32){puts(t);return 0;}
|
||||||
|
int main() {
|
||||||
|
int k;
|
||||||
|
unsigned i;
|
||||||
|
unsigned long l;
|
||||||
|
unsigned short s;
|
||||||
|
is32(i, "unsigned")
|
||||||
|
is32(l, "unsigned long")
|
||||||
|
is32(s, "unsigned short")
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
Z_U4=""
|
||||||
|
if try $CC $CFLAGS $test.c -o $test && Z_U4=`./$test` && test -n "$Z_U4"; then
|
||||||
|
sed < zconf.h "/#define Z_U4/s/\/\* \.\/configure may/#define Z_U4 $Z_U4 \/* .\/configure put the/" > zconf.temp.h
|
||||||
|
mv zconf.temp.h zconf.h
|
||||||
|
echo "Looking for a four-byte integer type... Found." | tee -a configure.log
|
||||||
|
else
|
||||||
|
echo "Looking for a four-byte integer type... Not found." | tee -a configure.log
|
||||||
|
fi
|
||||||
|
|
||||||
|
# clean up files produced by running the compiler and linker
|
||||||
rm -f $test.[co] $test $test$shared_ext $test.gcno
|
rm -f $test.[co] $test $test$shared_ext $test.gcno
|
||||||
|
|
||||||
# udpate Makefile
|
# show the results in the log
|
||||||
|
echo >> configure.log
|
||||||
|
echo ALL = $ALL >> configure.log
|
||||||
|
echo AR = $AR >> configure.log
|
||||||
|
echo ARFLAGS = $ARFLAGS >> configure.log
|
||||||
|
echo CC = $CC >> configure.log
|
||||||
|
echo CFLAGS = $CFLAGS >> configure.log
|
||||||
|
echo CPP = $CPP >> configure.log
|
||||||
|
echo EXE = $EXE >> configure.log
|
||||||
|
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
|
||||||
|
echo -------------------- >> configure.log
|
||||||
|
echo >> configure.log
|
||||||
|
echo >> configure.log
|
||||||
|
|
||||||
|
# udpate Makefile with the configure results
|
||||||
sed < Makefile.in "
|
sed < Makefile.in "
|
||||||
/^CC *=/s#=.*#=$CC#
|
/^CC *=/s#=.*#=$CC#
|
||||||
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
/^CFLAGS *=/s#=.*#=$CFLAGS#
|
||||||
@@ -617,6 +792,7 @@ sed < Makefile.in "
|
|||||||
/^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#
|
||||||
|
|||||||
@@ -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.5.3';
|
zlib_version = '1.2.7';
|
||||||
|
|
||||||
type
|
type
|
||||||
EZlibError = class(Exception);
|
EZlibError = class(Exception);
|
||||||
|
|||||||
@@ -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.5.3", Info.Version);
|
Assert.AreEqual("1.2.7", 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);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* inftree9.c -- generate Huffman trees for efficient decoding
|
/* inftree9.c -- generate Huffman trees for efficient decoding
|
||||||
* Copyright (C) 1995-2011 Mark Adler
|
* Copyright (C) 1995-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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
#define MAXBITS 15
|
#define MAXBITS 15
|
||||||
|
|
||||||
const char inflate9_copyright[] =
|
const char inflate9_copyright[] =
|
||||||
" inflate9 1.2.5.3 Copyright 1995-2011 Mark Adler ";
|
" inflate9 1.2.7 Copyright 1995-2012 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, 71, 64};
|
133, 133, 133, 133, 144, 78, 68};
|
||||||
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,
|
||||||
|
|||||||
@@ -1,13 +1,28 @@
|
|||||||
lib_LTLIBRARIES = libminizip.la
|
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 = \
|
libminizip_la_SOURCES = \
|
||||||
ioapi.c \
|
ioapi.c \
|
||||||
mztools.c \
|
mztools.c \
|
||||||
unzip.c \
|
unzip.c \
|
||||||
zip.c
|
zip.c \
|
||||||
|
${iowin32_src}
|
||||||
|
|
||||||
libminizip_la_CFLAGS = -I../.. -L../..
|
libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz
|
||||||
libminizip_la_LDFLAGS = -version-info 1:0:0 -lz
|
|
||||||
|
|
||||||
minizip_includedir = $(includedir)/minizip
|
minizip_includedir = $(includedir)/minizip
|
||||||
minizip_include_HEADERS = \
|
minizip_include_HEADERS = \
|
||||||
@@ -15,7 +30,8 @@ minizip_include_HEADERS = \
|
|||||||
ioapi.h \
|
ioapi.h \
|
||||||
mztools.h \
|
mztools.h \
|
||||||
unzip.h \
|
unzip.h \
|
||||||
zip.h
|
zip.h \
|
||||||
|
${iowin32_h}
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = minizip.pc
|
pkgconfig_DATA = minizip.pc
|
||||||
@@ -26,3 +42,4 @@ miniunzip_SOURCES = miniunz.c
|
|||||||
miniunzip_LDADD = libminizip.la
|
miniunzip_LDADD = libminizip.la
|
||||||
|
|
||||||
minizip_SOURCES = minizip.c
|
minizip_SOURCES = minizip.c
|
||||||
|
minizip_LDADD = libminizip.la -lz
|
||||||
|
|||||||
@@ -1,11 +1,31 @@
|
|||||||
# -*- Autoconf -*-
|
# -*- Autoconf -*-
|
||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_INIT([minizip], [@ZLIB_VER@], [bugzilla.redhat.com])
|
AC_INIT([minizip], [1.2.7], [bugzilla.redhat.com])
|
||||||
AC_CONFIG_SRCDIR([minigzip.c])
|
AC_CONFIG_SRCDIR([minizip.c])
|
||||||
AM_INIT_AUTOMAKE([foreign])
|
AM_INIT_AUTOMAKE([foreign])
|
||||||
LT_INIT
|
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_SUBST([HAVE_UNISTD_H], [0])
|
||||||
AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], [])
|
AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], [])
|
||||||
AC_CONFIG_FILES([Makefile minizip.pc])
|
AC_CONFIG_FILES([Makefile minizip.pc])
|
||||||
|
|||||||
@@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if (defined(_WIN32))
|
#if defined(_WIN32) && (!(defined(_CRT_SECURE_NO_WARNINGS)))
|
||||||
#define _CRT_SECURE_NO_WARNINGS
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#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
|
// 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 FOPEN_FUNC(filename, mode) fopen(filename, mode)
|
||||||
#define FTELLO_FUNC(stream) ftello(stream)
|
#define FTELLO_FUNC(stream) ftello(stream)
|
||||||
@@ -59,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;
|
||||||
|
|||||||
@@ -50,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)))
|
||||||
@@ -86,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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ unit zlibpas;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
const
|
const
|
||||||
ZLIB_VERSION = '1.2.5.3';
|
ZLIB_VERSION = '1.2.7';
|
||||||
|
ZLIB_VERNUM = $1270;
|
||||||
|
|
||||||
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,15 +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 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;
|
||||||
@@ -124,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;
|
||||||
@@ -156,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;
|
||||||
@@ -171,15 +203,21 @@ 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,8 @@
|
|||||||
Building instructions for the DLL versions of Zlib 1.2.4
|
Building instructions for the DLL versions of Zlib 1.2.7
|
||||||
========================================================
|
========================================================
|
||||||
|
|
||||||
This directory contains projects that build zlib and minizip using
|
This directory contains projects that build zlib and minizip using
|
||||||
Microsoft Visual C++ 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,9 +10,6 @@ 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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -20,13 +17,16 @@ bld_ml32.bat in contrib\masmx86
|
|||||||
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
|
||||||
- Open contrib\vstudio\vc9\zlibvc.sln with Microsoft Visual C++ 2008.0
|
- Compile assembly code (with Visual Studio Command Prompt) by running:
|
||||||
|
bld_ml64.bat (in contrib\masmx64)
|
||||||
|
bld_ml32.bat (in contrib\masmx86)
|
||||||
|
- Open contrib\vstudio\vc9\zlibvc.sln with Microsoft Visual C++ 2008
|
||||||
- Or run: vcbuild /rebuild contrib\vstudio\vc9\zlibvc.sln "Release|Win32"
|
- 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
|
||||||
- Open contrib\vstudio\vc10\zlibvc.sln with Microsoft Visual C++ 2010.0
|
- Open contrib\vstudio\vc10\zlibvc.sln with Microsoft Visual C++ 2010
|
||||||
|
|
||||||
|
|
||||||
Important
|
Important
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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.5.3,1
|
FILEVERSION 1.2.7,0
|
||||||
PRODUCTVERSION 1.2.5.3,1
|
PRODUCTVERSION 1.2.7,0
|
||||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
FILEFLAGS 0
|
FILEFLAGS 0
|
||||||
FILEOS VOS_DOS_WINDOWS32
|
FILEOS VOS_DOS_WINDOWS32
|
||||||
@@ -17,12 +17,12 @@ BEGIN
|
|||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
|
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
|
||||||
VALUE "FileVersion", "1.2.5.3\0"
|
VALUE "FileVersion", "1.2.7\0"
|
||||||
VALUE "InternalName", "zlib\0"
|
VALUE "InternalName", "zlib\0"
|
||||||
VALUE "OriginalFilename", "zlib.dll\0"
|
VALUE "OriginalFilename", "zlib.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-2011 Jean-loup Gailly & Mark Adler\0"
|
VALUE "LegalCopyright", "(C) 1995-2012 Jean-loup Gailly & Mark Adler\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
LIBRARY
|
LIBRARY
|
||||||
; zlib data compression and ZIP file I/O library
|
; zlib data compression and ZIP file I/O library
|
||||||
|
|
||||||
VERSION 1.24
|
VERSION 1.2.7
|
||||||
|
|
||||||
EXPORTS
|
EXPORTS
|
||||||
adler32 @1
|
adler32 @1
|
||||||
@@ -131,7 +131,9 @@ EXPORTS
|
|||||||
inflateUndermine @160
|
inflateUndermine @160
|
||||||
|
|
||||||
; zlib1 v1.2.6 added:
|
; zlib1 v1.2.6 added:
|
||||||
gzgetc_ @30
|
gzgetc_ @161
|
||||||
gzflags @162
|
|
||||||
inflateResetKeep @163
|
inflateResetKeep @163
|
||||||
deflateResetKeep @164
|
deflateResetKeep @164
|
||||||
|
|
||||||
|
; zlib1 v1.2.7 added:
|
||||||
|
gzopen_w @165
|
||||||
|
|||||||
@@ -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'">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>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -227,6 +233,10 @@
|
|||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
<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>
|
||||||
@@ -324,6 +334,10 @@
|
|||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
<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>
|
||||||
@@ -368,6 +382,10 @@
|
|||||||
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>cd ..\..\contrib\masmx64
|
||||||
|
bld_ml64.bat</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Itanium'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@@ -547,6 +565,10 @@
|
|||||||
<ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary>
|
<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>
|
||||||
|
|||||||
@@ -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.5.3,1
|
FILEVERSION 1.2.7,0
|
||||||
PRODUCTVERSION 1.2.5.3,1
|
PRODUCTVERSION 1.2.7,0
|
||||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
FILEFLAGS 0
|
FILEFLAGS 0
|
||||||
FILEOS VOS_DOS_WINDOWS32
|
FILEOS VOS_DOS_WINDOWS32
|
||||||
@@ -17,12 +17,12 @@ BEGIN
|
|||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
|
VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0"
|
||||||
VALUE "FileVersion", "1.2.5.3\0"
|
VALUE "FileVersion", "1.2.7\0"
|
||||||
VALUE "InternalName", "zlib\0"
|
VALUE "InternalName", "zlib\0"
|
||||||
VALUE "OriginalFilename", "zlib.dll\0"
|
VALUE "OriginalFilename", "zlib.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-2011 Jean-loup Gailly & Mark Adler\0"
|
VALUE "LegalCopyright", "(C) 1995-2012 Jean-loup Gailly & Mark Adler\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
LIBRARY
|
LIBRARY
|
||||||
; zlib data compression and ZIP file I/O library
|
; zlib data compression and ZIP file I/O library
|
||||||
|
|
||||||
VERSION 1.24
|
VERSION 1.2.7
|
||||||
|
|
||||||
EXPORTS
|
EXPORTS
|
||||||
adler32 @1
|
adler32 @1
|
||||||
@@ -131,7 +131,9 @@ EXPORTS
|
|||||||
inflateUndermine @160
|
inflateUndermine @160
|
||||||
|
|
||||||
; zlib1 v1.2.6 added:
|
; zlib1 v1.2.6 added:
|
||||||
gzgetc_ @30
|
gzgetc_ @161
|
||||||
gzflags @162
|
|
||||||
inflateResetKeep @163
|
inflateResetKeep @163
|
||||||
deflateResetKeep @164
|
deflateResetKeep @164
|
||||||
|
|
||||||
|
; zlib1 v1.2.7 added:
|
||||||
|
gzopen_w @165
|
||||||
|
|||||||
74
crc32.c
74
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, 2010, 2011 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
|
||||||
@@ -32,39 +32,17 @@
|
|||||||
|
|
||||||
#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
|
||||||
typedef u4 crc_table_t;
|
|
||||||
# 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,
|
||||||
const unsigned char FAR *, unsigned));
|
const unsigned char FAR *, unsigned));
|
||||||
# define TBLS 8
|
# define TBLS 8
|
||||||
#else
|
#else
|
||||||
typedef unsigned long crc_table_t;
|
|
||||||
# define TBLS 1
|
# define TBLS 1
|
||||||
#endif /* BYFOUR */
|
#endif /* BYFOUR */
|
||||||
|
|
||||||
@@ -78,10 +56,10 @@ 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 crc_table_t 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 crc_table_t 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:
|
||||||
@@ -111,9 +89,9 @@ local void make_crc_table OF((void));
|
|||||||
*/
|
*/
|
||||||
local void make_crc_table()
|
local void make_crc_table()
|
||||||
{
|
{
|
||||||
crc_table_t c;
|
z_crc_t c;
|
||||||
int n, k;
|
int n, k;
|
||||||
crc_table_t 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};
|
||||||
@@ -127,11 +105,11 @@ local void make_crc_table()
|
|||||||
/* make exclusive-or pattern from polynomial (0xedb88320UL) */
|
/* make exclusive-or pattern from polynomial (0xedb88320UL) */
|
||||||
poly = 0;
|
poly = 0;
|
||||||
for (n = 0; n < (int)(sizeof(p)/sizeof(unsigned char)); n++)
|
for (n = 0; n < (int)(sizeof(p)/sizeof(unsigned char)); n++)
|
||||||
poly |= (crc_table_t)1 << (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 = (crc_table_t)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;
|
||||||
@@ -142,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 */
|
||||||
@@ -168,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 crc_table_t 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
|
||||||
@@ -188,7 +166,7 @@ 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 crc_table_t FAR *table;
|
const z_crc_t FAR *table;
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
@@ -209,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ========================================================================= */
|
/* ========================================================================= */
|
||||||
@@ -237,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)))
|
||||||
@@ -271,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;
|
||||||
@@ -311,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;
|
||||||
@@ -338,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 */
|
||||||
|
|||||||
2
crc32.h
2
crc32.h
@@ -2,7 +2,7 @@
|
|||||||
* Generated automatically by crc32.c
|
* Generated automatically by crc32.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
local const crc_table_t FAR crc_table[TBLS][256] =
|
local const z_crc_t FAR crc_table[TBLS][256] =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL, 0x076dc419UL,
|
0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL, 0x076dc419UL,
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
#include "deflate.h"
|
#include "deflate.h"
|
||||||
|
|
||||||
const char deflate_copyright[] =
|
const char deflate_copyright[] =
|
||||||
" deflate 1.2.5.3 Copyright 1995-2012 Jean-loup Gailly and Mark Adler ";
|
" deflate 1.2.7 Copyright 1995-2012 Jean-loup Gailly and 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
|
||||||
|
|||||||
13
gzguts.h
13
gzguts.h
@@ -1,5 +1,5 @@
|
|||||||
/* gzguts.h -- zlib internal header definitions for gz* operations
|
/* gzguts.h -- zlib internal header definitions for gz* operations
|
||||||
* Copyright (C) 2004, 2005, 2010, 2011 Mark Adler
|
* Copyright (C) 2004, 2005, 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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ)
|
#ifdef HAVE_HIDDEN
|
||||||
# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
|
# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
|
||||||
#else
|
#else
|
||||||
# define ZLIB_INTERNAL
|
# define ZLIB_INTERNAL
|
||||||
@@ -27,7 +27,11 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
#if defined(MSDOS) && defined(__TURBOC__)
|
#ifdef _WIN32
|
||||||
|
# include <stddef.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__TURBOC__) || defined(_MSC_VER) || defined(_WIN32)
|
||||||
# include <io.h>
|
# include <io.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -66,7 +70,6 @@
|
|||||||
/* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
|
/* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
|
||||||
# if !defined(vsnprintf) && !defined(NO_vsnprintf)
|
# if !defined(vsnprintf) && !defined(NO_vsnprintf)
|
||||||
# if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 )
|
# if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 )
|
||||||
# include <io.h>
|
|
||||||
# define vsnprintf _vsnprintf
|
# define vsnprintf _vsnprintf
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
@@ -101,7 +104,7 @@
|
|||||||
# include <windows.h>
|
# include <windows.h>
|
||||||
# define zstrerror() gz_strwinerror((DWORD)GetLastError())
|
# define zstrerror() gz_strwinerror((DWORD)GetLastError())
|
||||||
#else
|
#else
|
||||||
# ifdef STDC
|
# ifndef NO_STRERROR
|
||||||
# include <errno.h>
|
# include <errno.h>
|
||||||
# define zstrerror() strerror(errno)
|
# define zstrerror() strerror(errno)
|
||||||
# else
|
# else
|
||||||
|
|||||||
78
gzlib.c
78
gzlib.c
@@ -1,5 +1,5 @@
|
|||||||
/* gzlib.c -- zlib functions common to reading and writing gzip files
|
/* gzlib.c -- zlib functions common to reading and writing gzip files
|
||||||
* Copyright (C) 2004, 2010, 2011 Mark Adler
|
* Copyright (C) 2004, 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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
/* Local functions */
|
/* Local functions */
|
||||||
local void gz_reset OF((gz_statep));
|
local void gz_reset OF((gz_statep));
|
||||||
local gzFile gz_open OF((const char *, int, const char *));
|
local gzFile gz_open OF((const void *, int, const char *));
|
||||||
|
|
||||||
#if defined UNDER_CE
|
#if defined UNDER_CE
|
||||||
|
|
||||||
@@ -89,11 +89,19 @@ local void gz_reset(state)
|
|||||||
|
|
||||||
/* Open a gzip file either by name or file descriptor. */
|
/* Open a gzip file either by name or file descriptor. */
|
||||||
local gzFile gz_open(path, fd, mode)
|
local gzFile gz_open(path, fd, mode)
|
||||||
const char *path;
|
const void *path;
|
||||||
int fd;
|
int fd;
|
||||||
const char *mode;
|
const char *mode;
|
||||||
{
|
{
|
||||||
gz_statep state;
|
gz_statep state;
|
||||||
|
size_t len;
|
||||||
|
int oflag;
|
||||||
|
#ifdef O_CLOEXEC
|
||||||
|
int cloexec = 0;
|
||||||
|
#endif
|
||||||
|
#ifdef O_EXCL
|
||||||
|
int exclusive = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* check input */
|
/* check input */
|
||||||
if (path == NULL)
|
if (path == NULL)
|
||||||
@@ -133,6 +141,16 @@ local gzFile gz_open(path, fd, mode)
|
|||||||
return NULL;
|
return NULL;
|
||||||
case 'b': /* ignore -- will request binary anyway */
|
case 'b': /* ignore -- will request binary anyway */
|
||||||
break;
|
break;
|
||||||
|
#ifdef O_CLOEXEC
|
||||||
|
case 'e':
|
||||||
|
cloexec = 1;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
#ifdef O_EXCL
|
||||||
|
case 'x':
|
||||||
|
exclusive = 1;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
case 'f':
|
case 'f':
|
||||||
state->strategy = Z_FILTERED;
|
state->strategy = Z_FILTERED;
|
||||||
break;
|
break;
|
||||||
@@ -168,29 +186,57 @@ local gzFile gz_open(path, fd, mode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* save the path name for error messages */
|
/* save the path name for error messages */
|
||||||
state->path = malloc(strlen(path) + 1);
|
#ifdef _WIN32
|
||||||
|
if (fd == -2) {
|
||||||
|
len = wcstombs(NULL, path, 0);
|
||||||
|
if (len == (size_t)-1)
|
||||||
|
len = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
len = strlen(path);
|
||||||
|
state->path = malloc(len + 1);
|
||||||
if (state->path == NULL) {
|
if (state->path == NULL) {
|
||||||
free(state);
|
free(state);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
#ifdef _WIN32
|
||||||
|
if (fd == -2)
|
||||||
|
if (len)
|
||||||
|
wcstombs(state->path, path, len + 1);
|
||||||
|
else
|
||||||
|
*(state->path) = 0;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
strcpy(state->path, path);
|
strcpy(state->path, path);
|
||||||
|
|
||||||
/* open the file with the appropriate mode (or just use fd) */
|
/* compute the flags for open() */
|
||||||
state->fd = fd != -1 ? fd :
|
oflag =
|
||||||
open(path,
|
|
||||||
#ifdef O_LARGEFILE
|
#ifdef O_LARGEFILE
|
||||||
O_LARGEFILE |
|
O_LARGEFILE |
|
||||||
#endif
|
#endif
|
||||||
#ifdef O_BINARY
|
#ifdef O_BINARY
|
||||||
O_BINARY |
|
O_BINARY |
|
||||||
|
#endif
|
||||||
|
#ifdef O_CLOEXEC
|
||||||
|
(cloexec ? O_CLOEXEC : 0) |
|
||||||
#endif
|
#endif
|
||||||
(state->mode == GZ_READ ?
|
(state->mode == GZ_READ ?
|
||||||
O_RDONLY :
|
O_RDONLY :
|
||||||
(O_WRONLY | O_CREAT | (
|
(O_WRONLY | O_CREAT |
|
||||||
state->mode == GZ_WRITE ?
|
#ifdef O_EXCL
|
||||||
|
(exclusive ? O_EXCL : 0) |
|
||||||
|
#endif
|
||||||
|
(state->mode == GZ_WRITE ?
|
||||||
O_TRUNC :
|
O_TRUNC :
|
||||||
O_APPEND))),
|
O_APPEND)));
|
||||||
0666);
|
|
||||||
|
/* open the file with the appropriate flags (or just use fd) */
|
||||||
|
state->fd = fd > -1 ? fd : (
|
||||||
|
#ifdef _WIN32
|
||||||
|
fd == -2 ? _wopen(path, oflag, 0666) :
|
||||||
|
#endif
|
||||||
|
open(path, oflag, 0666));
|
||||||
if (state->fd == -1) {
|
if (state->fd == -1) {
|
||||||
free(state->path);
|
free(state->path);
|
||||||
free(state);
|
free(state);
|
||||||
@@ -244,6 +290,16 @@ gzFile ZEXPORT gzdopen(fd, mode)
|
|||||||
return gz;
|
return gz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -- see zlib.h -- */
|
||||||
|
#ifdef _WIN32
|
||||||
|
gzFile ZEXPORT gzopen_w(path, mode)
|
||||||
|
const wchar_t *path;
|
||||||
|
const char *mode;
|
||||||
|
{
|
||||||
|
return gz_open(path, -2, mode);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* -- see zlib.h -- */
|
/* -- see zlib.h -- */
|
||||||
int ZEXPORT gzbuffer(file, size)
|
int ZEXPORT gzbuffer(file, size)
|
||||||
gzFile file;
|
gzFile file;
|
||||||
|
|||||||
21
gzread.c
21
gzread.c
@@ -1,5 +1,5 @@
|
|||||||
/* gzread.c -- zlib functions for reading gzip files
|
/* gzread.c -- zlib functions for reading gzip files
|
||||||
* Copyright (C) 2004, 2005, 2010, 2011 Mark Adler
|
* Copyright (C) 2004, 2005, 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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -57,8 +57,13 @@ local int gz_avail(state)
|
|||||||
if (state->err != Z_OK && state->err != Z_BUF_ERROR)
|
if (state->err != Z_OK && state->err != Z_BUF_ERROR)
|
||||||
return -1;
|
return -1;
|
||||||
if (state->eof == 0) {
|
if (state->eof == 0) {
|
||||||
if (strm->avail_in)
|
if (strm->avail_in) { /* copy what's there to the start */
|
||||||
memmove(state->in, strm->next_in, strm->avail_in);
|
unsigned char *p = state->in, *q = strm->next_in;
|
||||||
|
unsigned n = strm->avail_in;
|
||||||
|
do {
|
||||||
|
*p++ = *q++;
|
||||||
|
} while (--n);
|
||||||
|
}
|
||||||
if (gz_load(state, state->in + strm->avail_in,
|
if (gz_load(state, state->in + strm->avail_in,
|
||||||
state->size - strm->avail_in, &got) == -1)
|
state->size - strm->avail_in, &got) == -1)
|
||||||
return -1;
|
return -1;
|
||||||
@@ -340,7 +345,7 @@ int ZEXPORT gzread(file, buf, len)
|
|||||||
/* get more output, looking for header if required */
|
/* get more output, looking for header if required */
|
||||||
if (gz_fetch(state) == -1)
|
if (gz_fetch(state) == -1)
|
||||||
return -1;
|
return -1;
|
||||||
continue; /* no progress yet -- go back to memcpy() above */
|
continue; /* no progress yet -- go back to copy above */
|
||||||
/* the copy above assures that we will leave with space in the
|
/* the copy above assures that we will leave with space in the
|
||||||
output buffer, allowing at least one gzungetc() to succeed */
|
output buffer, allowing at least one gzungetc() to succeed */
|
||||||
}
|
}
|
||||||
@@ -373,7 +378,8 @@ int ZEXPORT gzread(file, buf, len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -- see zlib.h -- */
|
/* -- see zlib.h -- */
|
||||||
int ZEXPORT gzgetc_(file)
|
#undef gzgetc
|
||||||
|
int ZEXPORT gzgetc(file)
|
||||||
gzFile file;
|
gzFile file;
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
@@ -402,11 +408,10 @@ int ZEXPORT gzgetc_(file)
|
|||||||
return ret < 1 ? -1 : buf[0];
|
return ret < 1 ? -1 : buf[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef gzgetc
|
int ZEXPORT gzgetc_(file)
|
||||||
int ZEXPORT gzgetc(file)
|
|
||||||
gzFile file;
|
gzFile file;
|
||||||
{
|
{
|
||||||
return gzgetc_(file);
|
return gzgetc(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -- see zlib.h -- */
|
/* -- see zlib.h -- */
|
||||||
|
|||||||
60
gzwrite.c
60
gzwrite.c
@@ -1,5 +1,5 @@
|
|||||||
/* gzwrite.c -- zlib functions for writing gzip files
|
/* gzwrite.c -- zlib functions for writing gzip files
|
||||||
* Copyright (C) 2004, 2005, 2010, 2011 Mark Adler
|
* Copyright (C) 2004, 2005, 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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -272,14 +272,14 @@ int ZEXPORT gzputc(file, c)
|
|||||||
strm->next_in = state->in;
|
strm->next_in = state->in;
|
||||||
strm->next_in[strm->avail_in++] = c;
|
strm->next_in[strm->avail_in++] = c;
|
||||||
state->x.pos++;
|
state->x.pos++;
|
||||||
return c;
|
return c & 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* no room in buffer or not initialized, use gz_write() */
|
/* no room in buffer or not initialized, use gz_write() */
|
||||||
buf[0] = c;
|
buf[0] = c;
|
||||||
if (gzwrite(file, buf, 1) != 1)
|
if (gzwrite(file, buf, 1) != 1)
|
||||||
return -1;
|
return -1;
|
||||||
return c;
|
return c & 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -- see zlib.h -- */
|
/* -- see zlib.h -- */
|
||||||
@@ -338,19 +338,19 @@ int ZEXPORTVA gzprintf (gzFile file, const char *format, ...)
|
|||||||
va_start(va, format);
|
va_start(va, format);
|
||||||
#ifdef NO_vsnprintf
|
#ifdef NO_vsnprintf
|
||||||
# ifdef HAS_vsprintf_void
|
# ifdef HAS_vsprintf_void
|
||||||
(void)vsprintf(state->in, format, va);
|
(void)vsprintf((char *)(state->in), format, va);
|
||||||
va_end(va);
|
va_end(va);
|
||||||
for (len = 0; len < size; len++)
|
for (len = 0; len < size; len++)
|
||||||
if (state->in[len] == 0) break;
|
if (state->in[len] == 0) break;
|
||||||
# else
|
# else
|
||||||
len = vsprintf(state->in, format, va);
|
len = vsprintf((char *)(state->in), format, va);
|
||||||
va_end(va);
|
va_end(va);
|
||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
# ifdef HAS_vsnprintf_void
|
# ifdef HAS_vsnprintf_void
|
||||||
(void)vsnprintf(state->in, size, format, va);
|
(void)vsnprintf((char *)(state->in), size, format, va);
|
||||||
va_end(va);
|
va_end(va);
|
||||||
len = strlen(state->in);
|
len = strlen((char *)(state->in));
|
||||||
# else
|
# else
|
||||||
len = vsnprintf((char *)(state->in), size, format, va);
|
len = vsnprintf((char *)(state->in), size, format, va);
|
||||||
va_end(va);
|
va_end(va);
|
||||||
@@ -416,22 +416,23 @@ int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
|
|||||||
state->in[size - 1] = 0;
|
state->in[size - 1] = 0;
|
||||||
#ifdef NO_snprintf
|
#ifdef NO_snprintf
|
||||||
# ifdef HAS_sprintf_void
|
# ifdef HAS_sprintf_void
|
||||||
sprintf(state->in, format, a1, a2, a3, a4, a5, a6, a7, a8,
|
sprintf((char *)(state->in), format, a1, a2, a3, a4, a5, a6, a7, a8,
|
||||||
a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
|
a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
|
||||||
for (len = 0; len < size; len++)
|
for (len = 0; len < size; len++)
|
||||||
if (state->in[len] == 0) break;
|
if (state->in[len] == 0) break;
|
||||||
# else
|
# else
|
||||||
len = sprintf(state->in, format, a1, a2, a3, a4, a5, a6, a7, a8,
|
len = sprintf((char *)(state->in), format, a1, a2, a3, a4, a5, a6, a7, a8,
|
||||||
a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
|
a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
|
||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
# ifdef HAS_snprintf_void
|
# ifdef HAS_snprintf_void
|
||||||
snprintf(state->in, size, format, a1, a2, a3, a4, a5, a6, a7, a8,
|
snprintf((char *)(state->in), size, format, a1, a2, a3, a4, a5, a6, a7, a8,
|
||||||
a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
|
a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
|
||||||
len = strlen(state->in);
|
len = strlen((char *)(state->in));
|
||||||
# else
|
# else
|
||||||
len = snprintf(state->in, size, format, a1, a2, a3, a4, a5, a6, a7, a8,
|
len = snprintf((char *)(state->in), size, format, a1, a2, a3, a4, a5, a6,
|
||||||
a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
|
a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18,
|
||||||
|
a19, a20);
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -546,6 +547,7 @@ int ZEXPORT gzclose_w(file)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* flush, free memory, and close file */
|
/* flush, free memory, and close file */
|
||||||
|
if (state->size) {
|
||||||
if (gz_comp(state, Z_FINISH) == -1)
|
if (gz_comp(state, Z_FINISH) == -1)
|
||||||
ret = state->err;
|
ret = state->err;
|
||||||
if (!state->direct) {
|
if (!state->direct) {
|
||||||
@@ -553,6 +555,7 @@ int ZEXPORT gzclose_w(file)
|
|||||||
free(state->out);
|
free(state->out);
|
||||||
}
|
}
|
||||||
free(state->in);
|
free(state->in);
|
||||||
|
}
|
||||||
gz_error(state, Z_OK, NULL);
|
gz_error(state, Z_OK, NULL);
|
||||||
free(state->path);
|
free(state->path);
|
||||||
if (close(state->fd) == -1)
|
if (close(state->fd) == -1)
|
||||||
@@ -560,34 +563,3 @@ int ZEXPORT gzclose_w(file)
|
|||||||
free(state);
|
free(state);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* used by zlibVersion() to get the vsnprintf story from the horse's mouth */
|
|
||||||
unsigned long ZEXPORT gzflags()
|
|
||||||
{
|
|
||||||
unsigned long flags = 0;
|
|
||||||
#if defined(STDC) || defined(Z_HAVE_STDARG_H)
|
|
||||||
# ifdef NO_vsnprintf
|
|
||||||
flags += 1L << 25;
|
|
||||||
# ifdef HAS_vsprintf_void
|
|
||||||
flags += 1L << 26;
|
|
||||||
# endif
|
|
||||||
# else
|
|
||||||
# ifdef HAS_vsnprintf_void
|
|
||||||
flags += 1L << 26;
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
flags += 1L << 24;
|
|
||||||
# ifdef NO_snprintf
|
|
||||||
flags += 1L << 25;
|
|
||||||
# ifdef HAS_sprintf_void
|
|
||||||
flags += 1L << 26;
|
|
||||||
# endif
|
|
||||||
# else
|
|
||||||
# ifdef HAS_snprintf_void
|
|
||||||
flags += 1L << 26;
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
return flags;
|
|
||||||
}
|
|
||||||
|
|||||||
21
inflate.c
21
inflate.c
@@ -1,5 +1,5 @@
|
|||||||
/* inflate.c -- zlib decompression
|
/* inflate.c -- zlib decompression
|
||||||
* Copyright (C) 1995-2011 Mark Adler
|
* Copyright (C) 1995-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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -519,11 +519,6 @@ unsigned out;
|
|||||||
bits -= bits & 7; \
|
bits -= bits & 7; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* Reverse the bytes in a 32-bit value */
|
|
||||||
#define REVERSE(q) \
|
|
||||||
((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
|
|
||||||
(((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
inflate() uses a state machine to process as much input data and generate as
|
inflate() uses a state machine to process as much input data and generate as
|
||||||
much output data as possible before returning. The state machine is
|
much output data as possible before returning. The state machine is
|
||||||
@@ -817,7 +812,7 @@ int flush;
|
|||||||
#endif
|
#endif
|
||||||
case DICTID:
|
case DICTID:
|
||||||
NEEDBITS(32);
|
NEEDBITS(32);
|
||||||
strm->adler = state->check = REVERSE(hold);
|
strm->adler = state->check = ZSWAP32(hold);
|
||||||
INITBITS();
|
INITBITS();
|
||||||
state->mode = DICT;
|
state->mode = DICT;
|
||||||
case DICT:
|
case DICT:
|
||||||
@@ -1189,7 +1184,7 @@ int flush;
|
|||||||
#ifdef GUNZIP
|
#ifdef GUNZIP
|
||||||
state->flags ? hold :
|
state->flags ? hold :
|
||||||
#endif
|
#endif
|
||||||
REVERSE(hold)) != state->check) {
|
ZSWAP32(hold)) != state->check) {
|
||||||
strm->msg = (char *)"incorrect data check";
|
strm->msg = (char *)"incorrect data check";
|
||||||
state->mode = BAD;
|
state->mode = BAD;
|
||||||
break;
|
break;
|
||||||
@@ -1275,7 +1270,7 @@ const Bytef *dictionary;
|
|||||||
uInt dictLength;
|
uInt dictLength;
|
||||||
{
|
{
|
||||||
struct inflate_state FAR *state;
|
struct inflate_state FAR *state;
|
||||||
unsigned long id;
|
unsigned long dictid;
|
||||||
unsigned char *next;
|
unsigned char *next;
|
||||||
unsigned avail;
|
unsigned avail;
|
||||||
int ret;
|
int ret;
|
||||||
@@ -1286,11 +1281,11 @@ uInt dictLength;
|
|||||||
if (state->wrap != 0 && state->mode != DICT)
|
if (state->wrap != 0 && state->mode != DICT)
|
||||||
return Z_STREAM_ERROR;
|
return Z_STREAM_ERROR;
|
||||||
|
|
||||||
/* check for correct dictionary id */
|
/* check for correct dictionary identifier */
|
||||||
if (state->mode == DICT) {
|
if (state->mode == DICT) {
|
||||||
id = adler32(0L, Z_NULL, 0);
|
dictid = adler32(0L, Z_NULL, 0);
|
||||||
id = adler32(id, dictionary, dictLength);
|
dictid = adler32(dictid, dictionary, dictLength);
|
||||||
if (id != state->check)
|
if (dictid != state->check)
|
||||||
return Z_DATA_ERROR;
|
return Z_DATA_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* inftrees.c -- generate Huffman trees for efficient decoding
|
/* inftrees.c -- generate Huffman trees for efficient decoding
|
||||||
* Copyright (C) 1995-2011 Mark Adler
|
* Copyright (C) 1995-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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
#define MAXBITS 15
|
#define MAXBITS 15
|
||||||
|
|
||||||
const char inflate_copyright[] =
|
const char inflate_copyright[] =
|
||||||
" inflate 1.2.5.3 Copyright 1995-2011 Mark Adler ";
|
" inflate 1.2.7 Copyright 1995-2012 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
|
||||||
@@ -62,7 +62,7 @@ unsigned short FAR *work;
|
|||||||
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
|
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
|
||||||
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
|
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
|
||||||
16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
|
16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
|
||||||
19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 71, 64};
|
19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 78, 68};
|
||||||
static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
|
static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
|
||||||
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
|
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
|
||||||
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
|
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
|
||||||
|
|||||||
385
make_vms.com
385
make_vms.com
@@ -3,7 +3,7 @@ $! Martin P.J. Zinser
|
|||||||
$!
|
$!
|
||||||
$! In case of problems with the install you might contact me at
|
$! In case of problems with the install you might contact me at
|
||||||
$! zinser@zinser.no-ip.info(preferred) or
|
$! zinser@zinser.no-ip.info(preferred) or
|
||||||
$! zinser@sysdev.deutsche-boerse.com (work)
|
$! martin.zinser@eurexchange.com (work)
|
||||||
$!
|
$!
|
||||||
$! Make procedure history for Zlib
|
$! Make procedure history for Zlib
|
||||||
$!
|
$!
|
||||||
@@ -14,9 +14,16 @@ $! 0.02 20061008 Adapt to new Makefile.in
|
|||||||
$! 0.03 20091224 Add support for large file check
|
$! 0.03 20091224 Add support for large file check
|
||||||
$! 0.04 20100110 Add new gzclose, gzlib, gzread, gzwrite
|
$! 0.04 20100110 Add new gzclose, gzlib, gzread, gzwrite
|
||||||
$! 0.05 20100221 Exchange zlibdefs.h by zconf.h.in
|
$! 0.05 20100221 Exchange zlibdefs.h by zconf.h.in
|
||||||
|
$! 0.06 20120111 Fix missing amiss_err, update zconf_h.in, fix new exmples
|
||||||
|
$! subdir path, update module search in makefile.in
|
||||||
|
$! 0.07 20120115 Triggered by work done by Alexey Chupahin completly redesigned
|
||||||
|
$! shared image creation
|
||||||
|
$! 0.08 20120219 Make it work on VAX again, pre-load missing symbols to shared
|
||||||
|
$! image
|
||||||
|
$! 0.09 20120305 SMS. P1 sets builder ("MMK", "MMS", " " (built-in)).
|
||||||
|
$! "" -> automatic, preference: MMK, MMS, built-in.
|
||||||
$!
|
$!
|
||||||
$ on error then goto err_exit
|
$ on error then goto err_exit
|
||||||
$ set proc/parse=ext
|
|
||||||
$!
|
$!
|
||||||
$ true = 1
|
$ true = 1
|
||||||
$ false = 0
|
$ false = 0
|
||||||
@@ -32,31 +39,43 @@ $ s_case = False
|
|||||||
$!
|
$!
|
||||||
$! Setup variables holding "config" information
|
$! Setup variables holding "config" information
|
||||||
$!
|
$!
|
||||||
$ Make = ""
|
$ Make = "''p1'"
|
||||||
$ name = "Zlib"
|
$ name = "Zlib"
|
||||||
$ version = "?.?.?"
|
$ version = "?.?.?"
|
||||||
$ v_string = "ZLIB_VERSION"
|
$ v_string = "ZLIB_VERSION"
|
||||||
$ v_file = "zlib.h"
|
$ v_file = "zlib.h"
|
||||||
$ ccopt = ""
|
$ ccopt = "/include = []"
|
||||||
$ lopts = ""
|
$ lopts = ""
|
||||||
$ dnsrl = ""
|
$ dnsrl = ""
|
||||||
$ aconf_in_file = "zconf.h.in#zconf.h_in"
|
$ aconf_in_file = "zconf.h.in#zconf.h_in#zconf_h.in"
|
||||||
$ conf_check_string = ""
|
$ conf_check_string = ""
|
||||||
$ linkonly = false
|
$ linkonly = false
|
||||||
$ optfile = name + ".opt"
|
$ optfile = name + ".opt"
|
||||||
|
$ mapfile = name + ".map"
|
||||||
$ libdefs = ""
|
$ libdefs = ""
|
||||||
|
$ vax = f$getsyi("HW_MODEL").lt.1024
|
||||||
$ axp = f$getsyi("HW_MODEL").ge.1024 .and. f$getsyi("HW_MODEL").lt.4096
|
$ axp = f$getsyi("HW_MODEL").ge.1024 .and. f$getsyi("HW_MODEL").lt.4096
|
||||||
|
$ ia64 = f$getsyi("HW_MODEL").ge.4096
|
||||||
$!
|
$!
|
||||||
$ whoami = f$parse(f$enviornment("Procedure"),,,,"NO_CONCEAL")
|
$! 2012-03-05 SMS.
|
||||||
|
$! Why is this needed? And if it is needed, why not simply ".not. vax"?
|
||||||
|
$!
|
||||||
|
$!!! if axp .or. ia64 then set proc/parse=extended
|
||||||
|
$!
|
||||||
|
$ whoami = f$parse(f$environment("Procedure"),,,,"NO_CONCEAL")
|
||||||
$ mydef = F$parse(whoami,,,"DEVICE")
|
$ mydef = F$parse(whoami,,,"DEVICE")
|
||||||
$ mydir = f$parse(whoami,,,"DIRECTORY") - "]["
|
$ mydir = f$parse(whoami,,,"DIRECTORY") - "]["
|
||||||
$ myproc = f$parse(whoami,,,"Name") + f$parse(whoami,,,"type")
|
$ myproc = f$parse(whoami,,,"Name") + f$parse(whoami,,,"type")
|
||||||
$!
|
$!
|
||||||
$! Check for MMK/MMS
|
$! Check for MMK/MMS
|
||||||
$!
|
$!
|
||||||
|
$ if (Make .eqs. "")
|
||||||
|
$ then
|
||||||
$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
|
$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
|
||||||
$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
|
$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
|
||||||
$!
|
$ else
|
||||||
|
$ Make = f$edit( Make, "trim")
|
||||||
|
$ endif
|
||||||
$!
|
$!
|
||||||
$ gosub find_version
|
$ gosub find_version
|
||||||
$!
|
$!
|
||||||
@@ -69,6 +88,7 @@ $! Look for the compiler used
|
|||||||
$!
|
$!
|
||||||
$ gosub check_compiler
|
$ gosub check_compiler
|
||||||
$ close topt
|
$ close topt
|
||||||
|
$ close optf
|
||||||
$!
|
$!
|
||||||
$ if its_decc
|
$ if its_decc
|
||||||
$ then
|
$ then
|
||||||
@@ -83,6 +103,15 @@ $ ccopt = "/decc" + ccopt
|
|||||||
$ define sys decc$library_include:
|
$ define sys decc$library_include:
|
||||||
$ endif
|
$ endif
|
||||||
$ endif
|
$ endif
|
||||||
|
$!
|
||||||
|
$! 2012-03-05 SMS.
|
||||||
|
$! Why /NAMES = AS_IS? Why not simply ".not. vax"? And why not on VAX?
|
||||||
|
$!
|
||||||
|
$ if axp .or. ia64
|
||||||
|
$ then
|
||||||
|
$ ccopt = ccopt + "/name=as_is/opt=(inline=speed)"
|
||||||
|
$ s_case = true
|
||||||
|
$ endif
|
||||||
$ endif
|
$ endif
|
||||||
$ if its_vaxc .or. its_gnuc
|
$ if its_vaxc .or. its_gnuc
|
||||||
$ then
|
$ then
|
||||||
@@ -122,15 +151,20 @@ $ gosub check_config
|
|||||||
$ endif
|
$ endif
|
||||||
$ goto aconf_loop
|
$ goto aconf_loop
|
||||||
$ACONF_EXIT:
|
$ACONF_EXIT:
|
||||||
|
$ write aconf ""
|
||||||
|
$ write aconf "/* VMS specifics added by make_vms.com: */"
|
||||||
$ write aconf "#define VMS 1"
|
$ write aconf "#define VMS 1"
|
||||||
$ write aconf "#include <unistd.h>"
|
$ write aconf "#include <unistd.h>"
|
||||||
$ write aconf "#include <unixio.h>"
|
$ write aconf "#include <unixio.h>"
|
||||||
$ write aconf "#ifdef _LARGEFILE"
|
$ write aconf "#ifdef _LARGEFILE"
|
||||||
$ write aconf "#define off64_t __off64_t"
|
$ write aconf "# define off64_t __off64_t"
|
||||||
$ write aconf "#define fopen64 fopen"
|
$ write aconf "# define fopen64 fopen"
|
||||||
$ write aconf "#define fseeko64 fseeko"
|
$ write aconf "# define fseeko64 fseeko"
|
||||||
$ write aconf "#define lseek64 lseek"
|
$ write aconf "# define lseek64 lseek"
|
||||||
$ write aconf "#define ftello64 ftell"
|
$ write aconf "# define ftello64 ftell"
|
||||||
|
$ write aconf "#endif"
|
||||||
|
$ write aconf "#if !defined( __VAX) && (__CRTL_VER >= 70312000)"
|
||||||
|
$ write aconf "# define HAVE_VSNPRINTF"
|
||||||
$ write aconf "#endif"
|
$ write aconf "#endif"
|
||||||
$ close aconf_in
|
$ close aconf_in
|
||||||
$ close aconf
|
$ close aconf
|
||||||
@@ -140,7 +174,8 @@ $!
|
|||||||
$ write sys$output "Compiling Zlib sources ..."
|
$ write sys$output "Compiling Zlib sources ..."
|
||||||
$ if make.eqs.""
|
$ if make.eqs.""
|
||||||
$ then
|
$ then
|
||||||
$ dele example.obj;*,minigzip.obj;*
|
$ if (f$search( "example.obj;*") .nes. "") then delete example.obj;*
|
||||||
|
$ if (f$search( "minigzip.obj;*") .nes. "") then delete minigzip.obj;*
|
||||||
$ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" -
|
$ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" -
|
||||||
adler32.c zlib.h zconf.h
|
adler32.c zlib.h zconf.h
|
||||||
$ CALL MAKE compress.OBJ "CC ''CCOPT' compress" -
|
$ CALL MAKE compress.OBJ "CC ''CCOPT' compress" -
|
||||||
@@ -174,41 +209,34 @@ $ CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" -
|
|||||||
$ write sys$output "Building Zlib ..."
|
$ write sys$output "Building Zlib ..."
|
||||||
$ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ
|
$ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ
|
||||||
$ write sys$output "Building example..."
|
$ write sys$output "Building example..."
|
||||||
$ CALL MAKE example.OBJ "CC ''CCOPT' example" -
|
$ CALL MAKE example.OBJ "CC ''CCOPT' [.test]example" -
|
||||||
test/example.c zlib.h zconf.h
|
[.test]example.c zlib.h zconf.h
|
||||||
$ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb
|
$ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb
|
||||||
$ if f$search("x11vms:xvmsutils.olb") .nes. ""
|
|
||||||
$ then
|
|
||||||
$ write sys$output "Building minigzip..."
|
$ write sys$output "Building minigzip..."
|
||||||
$ CALL MAKE minigzip.OBJ "CC ''CCOPT' minigzip" -
|
$ CALL MAKE minigzip.OBJ "CC ''CCOPT' [.test]minigzip" -
|
||||||
test/minigzip.c zlib.h zconf.h
|
[.test]minigzip.c zlib.h zconf.h
|
||||||
$ call make minigzip.exe -
|
$ call make minigzip.exe -
|
||||||
"LINK minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib" -
|
"LINK minigzip,libz.olb/lib" -
|
||||||
minigzip.obj libz.olb
|
minigzip.obj libz.olb
|
||||||
$ endif
|
|
||||||
$ else
|
$ else
|
||||||
$ gosub crea_mms
|
$ gosub crea_mms
|
||||||
$ write sys$output "Make ''name' ''version' with ''Make' "
|
$ write sys$output "Make ''name' ''version' with ''Make' "
|
||||||
$ 'make'
|
$ 'make'
|
||||||
$ endif
|
$ endif
|
||||||
$!
|
$!
|
||||||
$! Alpha gets a shareable image
|
$! Create shareable image
|
||||||
$!
|
$!
|
||||||
$ If axp
|
|
||||||
$ Then
|
|
||||||
$ gosub crea_olist
|
$ gosub crea_olist
|
||||||
$ write sys$output "Creating libzshr.exe"
|
$ write sys$output "Creating libzshr.exe"
|
||||||
$ call anal_obj_axp modules.opt _link.opt
|
$ call map_2_shopt 'mapfile' 'optfile'
|
||||||
$ if s_case
|
$ LINK_'lopts'/SHARE=libzshr.exe modules.opt/opt,'optfile'/opt
|
||||||
$ then
|
|
||||||
$ open/append optf modules.opt
|
|
||||||
$ write optf "case_sensitive=YES"
|
|
||||||
$ close optf
|
|
||||||
$ endif
|
|
||||||
$ LINK_'lopts'/SHARE=libzshr.exe modules.opt/opt,_link.opt/opt
|
|
||||||
$ endif
|
|
||||||
$ write sys$output "Zlib build completed"
|
$ write sys$output "Zlib build completed"
|
||||||
|
$ delete/nolog tmp.opt;*
|
||||||
$ exit
|
$ exit
|
||||||
|
$AMISS_ERR:
|
||||||
|
$ write sys$output "No source for config.hin found."
|
||||||
|
$ write sys$output "Tried any of ''aconf_in_file'"
|
||||||
|
$ goto err_exit
|
||||||
$CC_ERR:
|
$CC_ERR:
|
||||||
$ write sys$output "C compiler required to build ''name'"
|
$ write sys$output "C compiler required to build ''name'"
|
||||||
$ goto err_exit
|
$ goto err_exit
|
||||||
@@ -216,7 +244,6 @@ $ERR_EXIT:
|
|||||||
$ set message/facil/ident/sever/text
|
$ set message/facil/ident/sever/text
|
||||||
$ close/nolog optf
|
$ close/nolog optf
|
||||||
$ close/nolog topt
|
$ close/nolog topt
|
||||||
$ close/nolog conf_hin
|
|
||||||
$ close/nolog aconf_in
|
$ close/nolog aconf_in
|
||||||
$ close/nolog aconf
|
$ close/nolog aconf
|
||||||
$ close/nolog out
|
$ close/nolog out
|
||||||
@@ -397,7 +424,7 @@ $ copy sys$input: out
|
|||||||
$ deck
|
$ deck
|
||||||
# descrip.mms: MMS description file for building zlib on VMS
|
# descrip.mms: MMS description file for building zlib on VMS
|
||||||
# written by Martin P.J. Zinser
|
# written by Martin P.J. Zinser
|
||||||
# <zinser@zinser.no-ip.info or zinser@sysdev.deutsche-boerse.com>
|
# <zinser@zinser.no-ip.info or martin.zinser@eurexchange.com>
|
||||||
|
|
||||||
OBJS = adler32.obj, compress.obj, crc32.obj, gzclose.obj, gzlib.obj\
|
OBJS = adler32.obj, compress.obj, crc32.obj, gzclose.obj, gzlib.obj\
|
||||||
gzread.obj, gzwrite.obj, uncompr.obj, infback.obj\
|
gzread.obj, gzwrite.obj, uncompr.obj, infback.obj\
|
||||||
@@ -407,10 +434,9 @@ OBJS = adler32.obj, compress.obj, crc32.obj, gzclose.obj, gzlib.obj\
|
|||||||
$ eod
|
$ eod
|
||||||
$ write out "CFLAGS=", ccopt
|
$ write out "CFLAGS=", ccopt
|
||||||
$ write out "LOPTS=", lopts
|
$ write out "LOPTS=", lopts
|
||||||
|
$ write out "all : example.exe minigzip.exe libz.olb"
|
||||||
$ copy sys$input: out
|
$ copy sys$input: out
|
||||||
$ deck
|
$ deck
|
||||||
|
|
||||||
all : example.exe minigzip.exe libz.olb
|
|
||||||
@ write sys$output " Example applications available"
|
@ write sys$output " Example applications available"
|
||||||
|
|
||||||
libz.olb : libz.olb($(OBJS))
|
libz.olb : libz.olb($(OBJS))
|
||||||
@@ -420,7 +446,7 @@ example.exe : example.obj libz.olb
|
|||||||
link $(LOPTS) example,libz.olb/lib
|
link $(LOPTS) example,libz.olb/lib
|
||||||
|
|
||||||
minigzip.exe : minigzip.obj libz.olb
|
minigzip.exe : minigzip.obj libz.olb
|
||||||
link $(LOPTS) minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib
|
link $(LOPTS) minigzip,libz.olb/lib
|
||||||
|
|
||||||
clean :
|
clean :
|
||||||
delete *.obj;*,libz.olb;*,*.opt;*,*.exe;*
|
delete *.obj;*,libz.olb;*,*.opt;*,*.exe;*
|
||||||
@@ -431,7 +457,7 @@ adler32.obj : adler32.c zutil.h zlib.h zconf.h
|
|||||||
compress.obj : compress.c zlib.h zconf.h
|
compress.obj : compress.c zlib.h zconf.h
|
||||||
crc32.obj : crc32.c zutil.h zlib.h zconf.h
|
crc32.obj : crc32.c zutil.h zlib.h zconf.h
|
||||||
deflate.obj : deflate.c deflate.h zutil.h zlib.h zconf.h
|
deflate.obj : deflate.c deflate.h zutil.h zlib.h zconf.h
|
||||||
example.obj : test/example.c zlib.h zconf.h
|
example.obj : [.test]example.c zlib.h zconf.h
|
||||||
gzclose.obj : gzclose.c zutil.h zlib.h zconf.h
|
gzclose.obj : gzclose.c zutil.h zlib.h zconf.h
|
||||||
gzlib.obj : gzlib.c zutil.h zlib.h zconf.h
|
gzlib.obj : gzlib.c zutil.h zlib.h zconf.h
|
||||||
gzread.obj : gzread.c zutil.h zlib.h zconf.h
|
gzread.obj : gzread.c zutil.h zlib.h zconf.h
|
||||||
@@ -439,7 +465,7 @@ gzwrite.obj : gzwrite.c zutil.h zlib.h zconf.h
|
|||||||
inffast.obj : inffast.c zutil.h zlib.h zconf.h inftrees.h inffast.h
|
inffast.obj : inffast.c zutil.h zlib.h zconf.h inftrees.h inffast.h
|
||||||
inflate.obj : inflate.c zutil.h zlib.h zconf.h
|
inflate.obj : inflate.c zutil.h zlib.h zconf.h
|
||||||
inftrees.obj : inftrees.c zutil.h zlib.h zconf.h inftrees.h
|
inftrees.obj : inftrees.c zutil.h zlib.h zconf.h inftrees.h
|
||||||
minigzip.obj : test/minigzip.c zlib.h zconf.h
|
minigzip.obj : [.test]minigzip.c zlib.h zconf.h
|
||||||
trees.obj : trees.c deflate.h zutil.h zlib.h zconf.h
|
trees.obj : trees.c deflate.h zutil.h zlib.h zconf.h
|
||||||
uncompr.obj : uncompr.c zlib.h zconf.h
|
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
|
||||||
@@ -455,13 +481,18 @@ $!
|
|||||||
$CREA_OLIST:
|
$CREA_OLIST:
|
||||||
$ open/read min makefile.in
|
$ open/read min makefile.in
|
||||||
$ open/write mod modules.opt
|
$ open/write mod modules.opt
|
||||||
$ src_check = "OBJC ="
|
$ src_check_list = "OBJZ =#OBJG ="
|
||||||
$MRLOOP:
|
$MRLOOP:
|
||||||
$ read/end=mrdone min rec
|
$ read/end=mrdone min rec
|
||||||
$ if (f$extract(0,6,rec) .nes. src_check) then goto mrloop
|
$ i = 0
|
||||||
|
$SRC_CHECK_LOOP:
|
||||||
|
$ src_check = f$element(i, "#", src_check_list)
|
||||||
|
$ i = i+1
|
||||||
|
$ if src_check .eqs. "#" then goto mrloop
|
||||||
|
$ if (f$extract(0,6,rec) .nes. src_check) then goto src_check_loop
|
||||||
$ rec = rec - src_check
|
$ rec = rec - src_check
|
||||||
$ gosub extra_filnam
|
$ gosub extra_filnam
|
||||||
$ if (f$element(1,"\",rec) .eqs. "\") then goto mrdone
|
$ if (f$element(1,"\",rec) .eqs. "\") then goto mrloop
|
||||||
$MRSLOOP:
|
$MRSLOOP:
|
||||||
$ read/end=mrdone min rec
|
$ read/end=mrdone min rec
|
||||||
$ gosub extra_filnam
|
$ gosub extra_filnam
|
||||||
@@ -672,124 +703,6 @@ $ endif
|
|||||||
$ return
|
$ return
|
||||||
$!------------------------------------------------------------------------------
|
$!------------------------------------------------------------------------------
|
||||||
$!
|
$!
|
||||||
$! Analyze Object files for OpenVMS AXP to extract Procedure and Data
|
|
||||||
$! information to build a symbol vector for a shareable image
|
|
||||||
$! All the "brains" of this logic was suggested by Hartmut Becker
|
|
||||||
$! (Hartmut.Becker@compaq.com). All the bugs were introduced by me
|
|
||||||
$! (zinser@zinser.no-ip.info), so if you do have problem reports please do not
|
|
||||||
$! bother Hartmut/HP, but get in touch with me
|
|
||||||
$!
|
|
||||||
$! Version history
|
|
||||||
$! 0.01 20040406 Skip over shareable images in option file
|
|
||||||
$! 0.02 20041109 Fix option file for shareable images with case_sensitive=YES
|
|
||||||
$! 0.03 20050107 Skip over Identification labels in option file
|
|
||||||
$! 0.04 20060117 Add uppercase alias to code compiled with /name=as_is
|
|
||||||
$!
|
|
||||||
$ ANAL_OBJ_AXP: Subroutine
|
|
||||||
$ V = 'F$Verify(0)
|
|
||||||
$ SAY := "WRITE_ SYS$OUTPUT"
|
|
||||||
$
|
|
||||||
$ IF F$SEARCH("''P1'") .EQS. ""
|
|
||||||
$ THEN
|
|
||||||
$ SAY "ANAL_OBJ_AXP-E-NOSUCHFILE: Error, inputfile ''p1' not available"
|
|
||||||
$ goto exit_aa
|
|
||||||
$ ENDIF
|
|
||||||
$ IF "''P2'" .EQS. ""
|
|
||||||
$ THEN
|
|
||||||
$ SAY "ANAL_OBJ_AXP: Error, no output file provided"
|
|
||||||
$ goto exit_aa
|
|
||||||
$ ENDIF
|
|
||||||
$
|
|
||||||
$ open/read in 'p1
|
|
||||||
$ create a.tmp
|
|
||||||
$ open/append atmp a.tmp
|
|
||||||
$ loop:
|
|
||||||
$ read/end=end_loop in line
|
|
||||||
$ if f$locate("/SHARE",f$edit(line,"upcase")) .lt. f$length(line)
|
|
||||||
$ then
|
|
||||||
$ write sys$output "ANAL_SKP_SHR-i-skipshare, ''line'"
|
|
||||||
$ goto loop
|
|
||||||
$ endif
|
|
||||||
$ if f$locate("IDENTIFICATION=",f$edit(line,"upcase")) .lt. f$length(line)
|
|
||||||
$ then
|
|
||||||
$ write sys$output "ANAL_OBJ_AXP-i-ident: Identification ", -
|
|
||||||
f$element(1,"=",line)
|
|
||||||
$ goto loop
|
|
||||||
$ endif
|
|
||||||
$ f= f$search(line)
|
|
||||||
$ if f .eqs. ""
|
|
||||||
$ then
|
|
||||||
$ write sys$output "ANAL_OBJ_AXP-w-nosuchfile, ''line'"
|
|
||||||
$ goto loop
|
|
||||||
$ endif
|
|
||||||
$ define/user sys$output nl:
|
|
||||||
$ define/user sys$error nl:
|
|
||||||
$ anal/obj/gsd 'f /out=x.tmp
|
|
||||||
$ open/read xtmp x.tmp
|
|
||||||
$ XLOOP:
|
|
||||||
$ read/end=end_xloop xtmp xline
|
|
||||||
$ xline = f$edit(xline,"compress")
|
|
||||||
$ write atmp xline
|
|
||||||
$ goto xloop
|
|
||||||
$ END_XLOOP:
|
|
||||||
$ close xtmp
|
|
||||||
$ goto loop
|
|
||||||
$ end_loop:
|
|
||||||
$ close in
|
|
||||||
$ close atmp
|
|
||||||
$ if f$search("a.tmp") .eqs. "" -
|
|
||||||
then $ exit
|
|
||||||
$ ! all global definitions
|
|
||||||
$ search a.tmp "symbol:","EGSY$V_DEF 1","EGSY$V_NORM 1"/out=b.tmp
|
|
||||||
$ ! all procedures
|
|
||||||
$ search b.tmp "EGSY$V_NORM 1"/wind=(0,1) /out=c.tmp
|
|
||||||
$ search c.tmp "symbol:"/out=d.tmp
|
|
||||||
$ define/user sys$output nl:
|
|
||||||
$ edito/edt/command=sys$input d.tmp
|
|
||||||
sub/symbol: "/symbol_vector=(/whole
|
|
||||||
sub/"/=PROCEDURE)/whole
|
|
||||||
exit
|
|
||||||
$ ! all data
|
|
||||||
$ search b.tmp "EGSY$V_DEF 1"/wind=(0,1) /out=e.tmp
|
|
||||||
$ search e.tmp "symbol:"/out=f.tmp
|
|
||||||
$ define/user sys$output nl:
|
|
||||||
$ edito/edt/command=sys$input f.tmp
|
|
||||||
sub/symbol: "/symbol_vector=(/whole
|
|
||||||
sub/"/=DATA)/whole
|
|
||||||
exit
|
|
||||||
$ sort/nodupl d.tmp,f.tmp g.tmp
|
|
||||||
$ open/read raw_vector g.tmp
|
|
||||||
$ open/write case_vector 'p2'
|
|
||||||
$ RAWLOOP:
|
|
||||||
$ read/end=end_rawloop raw_vector raw_element
|
|
||||||
$ write case_vector raw_element
|
|
||||||
$ if f$locate("=PROCEDURE)",raw_element) .lt. f$length(raw_element)
|
|
||||||
$ then
|
|
||||||
$ name = f$element(1,"=",raw_element) - "("
|
|
||||||
$ if f$edit(name,"UPCASE") .nes. name then -
|
|
||||||
write case_vector f$fao(" symbol_vector=(!AS/!AS=PROCEDURE)", -
|
|
||||||
f$edit(name,"UPCASE"), name)
|
|
||||||
$ endif
|
|
||||||
$ if f$locate("=DATA)",raw_element) .lt. f$length(raw_element)
|
|
||||||
$ then
|
|
||||||
$ name = f$element(1,"=",raw_element) - "("
|
|
||||||
$ if f$edit(name,"UPCASE") .nes. name then -
|
|
||||||
write case_vector f$fao(" symbol_vector=(!AS/!AS=DATA)", -
|
|
||||||
f$edit(name,"UPCASE"), name)
|
|
||||||
$ endif
|
|
||||||
$ goto rawloop
|
|
||||||
$ END_RAWLOOP:
|
|
||||||
$ close raw_vector
|
|
||||||
$ close case_vector
|
|
||||||
$ delete a.tmp;*,b.tmp;*,c.tmp;*,d.tmp;*,e.tmp;*,f.tmp;*,g.tmp;*
|
|
||||||
$ if f$search("x.tmp") .nes. "" -
|
|
||||||
then $ delete x.tmp;*
|
|
||||||
$!
|
|
||||||
$ EXIT_AA:
|
|
||||||
$ if V then set verify
|
|
||||||
$ endsubroutine
|
|
||||||
$!------------------------------------------------------------------------------
|
|
||||||
$!
|
|
||||||
$! Write configuration to both permanent and temporary config file
|
$! Write configuration to both permanent and temporary config file
|
||||||
$!
|
$!
|
||||||
$! Version history
|
$! Version history
|
||||||
@@ -802,3 +715,153 @@ $ write confh 'p1'
|
|||||||
$ close confh
|
$ close confh
|
||||||
$ENDSUBROUTINE
|
$ENDSUBROUTINE
|
||||||
$!------------------------------------------------------------------------------
|
$!------------------------------------------------------------------------------
|
||||||
|
$!
|
||||||
|
$! Analyze the project map file and create the symbol vector for a shareable
|
||||||
|
$! image from it
|
||||||
|
$!
|
||||||
|
$! Version history
|
||||||
|
$! 0.01 20120128 First version
|
||||||
|
$! 0.02 20120226 Add pre-load logic
|
||||||
|
$!
|
||||||
|
$ MAP_2_SHOPT: Subroutine
|
||||||
|
$!
|
||||||
|
$ SAY := "WRITE_ SYS$OUTPUT"
|
||||||
|
$!
|
||||||
|
$ IF F$SEARCH("''P1'") .EQS. ""
|
||||||
|
$ THEN
|
||||||
|
$ SAY "MAP_2_SHOPT-E-NOSUCHFILE: Error, inputfile ''p1' not available"
|
||||||
|
$ goto exit_m2s
|
||||||
|
$ ENDIF
|
||||||
|
$ IF "''P2'" .EQS. ""
|
||||||
|
$ THEN
|
||||||
|
$ SAY "MAP_2_SHOPT: Error, no output file provided"
|
||||||
|
$ goto exit_m2s
|
||||||
|
$ ENDIF
|
||||||
|
$!
|
||||||
|
$ module1 = "deflate#deflateEnd#deflateInit_#deflateParams#deflateSetDictionary"
|
||||||
|
$ module2 = "gzclose#gzerror#gzgetc#gzgets#gzopen#gzprintf#gzputc#gzputs#gzread"
|
||||||
|
$ module3 = "gzseek#gztell#inflate#inflateEnd#inflateInit_#inflateSetDictionary"
|
||||||
|
$ module4 = "inflateSync#uncompress#zlibVersion#compress"
|
||||||
|
$ open/read map 'p1
|
||||||
|
$ if axp .or. ia64
|
||||||
|
$ then
|
||||||
|
$ open/write aopt a.opt
|
||||||
|
$ open/write bopt b.opt
|
||||||
|
$ write aopt " CASE_SENSITIVE=YES"
|
||||||
|
$ write bopt "SYMBOL_VECTOR= (-"
|
||||||
|
$ mod_sym_num = 1
|
||||||
|
$ MOD_SYM_LOOP:
|
||||||
|
$ if f$type(module'mod_sym_num') .nes. ""
|
||||||
|
$ then
|
||||||
|
$ mod_in = 0
|
||||||
|
$ MOD_SYM_IN:
|
||||||
|
$ shared_proc = f$element(mod_in, "#", module'mod_sym_num')
|
||||||
|
$ if shared_proc .nes. "#"
|
||||||
|
$ then
|
||||||
|
$ write aopt f$fao(" symbol_vector=(!AS/!AS=PROCEDURE)",-
|
||||||
|
f$edit(shared_proc,"upcase"),shared_proc)
|
||||||
|
$ write bopt f$fao("!AS=PROCEDURE,-",shared_proc)
|
||||||
|
$ mod_in = mod_in + 1
|
||||||
|
$ goto mod_sym_in
|
||||||
|
$ endif
|
||||||
|
$ mod_sym_num = mod_sym_num + 1
|
||||||
|
$ goto mod_sym_loop
|
||||||
|
$ endif
|
||||||
|
$MAP_LOOP:
|
||||||
|
$ read/end=map_end map line
|
||||||
|
$ if (f$locate("{",line).lt. f$length(line)) .or. -
|
||||||
|
(f$locate("global:", line) .lt. f$length(line))
|
||||||
|
$ then
|
||||||
|
$ proc = true
|
||||||
|
$ goto map_loop
|
||||||
|
$ endif
|
||||||
|
$ if f$locate("}",line).lt. f$length(line) then proc = false
|
||||||
|
$ if f$locate("local:", line) .lt. f$length(line) then proc = false
|
||||||
|
$ if proc
|
||||||
|
$ then
|
||||||
|
$ shared_proc = f$edit(line,"collapse")
|
||||||
|
$ chop_semi = f$locate(";", shared_proc)
|
||||||
|
$ if chop_semi .lt. f$length(shared_proc) then -
|
||||||
|
shared_proc = f$extract(0, chop_semi, shared_proc)
|
||||||
|
$ write aopt f$fao(" symbol_vector=(!AS/!AS=PROCEDURE)",-
|
||||||
|
f$edit(shared_proc,"upcase"),shared_proc)
|
||||||
|
$ write bopt f$fao("!AS=PROCEDURE,-",shared_proc)
|
||||||
|
$ endif
|
||||||
|
$ goto map_loop
|
||||||
|
$MAP_END:
|
||||||
|
$ close/nolog aopt
|
||||||
|
$ close/nolog bopt
|
||||||
|
$ open/append libopt 'p2'
|
||||||
|
$ open/read aopt a.opt
|
||||||
|
$ open/read bopt b.opt
|
||||||
|
$ALOOP:
|
||||||
|
$ read/end=aloop_end aopt line
|
||||||
|
$ write libopt line
|
||||||
|
$ goto aloop
|
||||||
|
$ALOOP_END:
|
||||||
|
$ close/nolog aopt
|
||||||
|
$ sv = ""
|
||||||
|
$BLOOP:
|
||||||
|
$ read/end=bloop_end bopt svn
|
||||||
|
$ if (svn.nes."")
|
||||||
|
$ then
|
||||||
|
$ if (sv.nes."") then write libopt sv
|
||||||
|
$ sv = svn
|
||||||
|
$ endif
|
||||||
|
$ goto bloop
|
||||||
|
$BLOOP_END:
|
||||||
|
$ write libopt f$extract(0,f$length(sv)-2,sv), "-"
|
||||||
|
$ write libopt ")"
|
||||||
|
$ close/nolog bopt
|
||||||
|
$ delete/nolog/noconf a.opt;*,b.opt;*
|
||||||
|
$ else
|
||||||
|
$ if vax
|
||||||
|
$ then
|
||||||
|
$ open/append libopt 'p2'
|
||||||
|
$ mod_sym_num = 1
|
||||||
|
$ VMOD_SYM_LOOP:
|
||||||
|
$ if f$type(module'mod_sym_num') .nes. ""
|
||||||
|
$ then
|
||||||
|
$ mod_in = 0
|
||||||
|
$ VMOD_SYM_IN:
|
||||||
|
$ shared_proc = f$element(mod_in, "#", module'mod_sym_num')
|
||||||
|
$ if shared_proc .nes. "#"
|
||||||
|
$ then
|
||||||
|
$ write libopt f$fao("UNIVERSAL=!AS",-
|
||||||
|
f$edit(shared_proc,"upcase"))
|
||||||
|
$ mod_in = mod_in + 1
|
||||||
|
$ goto vmod_sym_in
|
||||||
|
$ endif
|
||||||
|
$ mod_sym_num = mod_sym_num + 1
|
||||||
|
$ goto vmod_sym_loop
|
||||||
|
$ endif
|
||||||
|
$VMAP_LOOP:
|
||||||
|
$ read/end=vmap_end map line
|
||||||
|
$ if (f$locate("{",line).lt. f$length(line)) .or. -
|
||||||
|
(f$locate("global:", line) .lt. f$length(line))
|
||||||
|
$ then
|
||||||
|
$ proc = true
|
||||||
|
$ goto vmap_loop
|
||||||
|
$ endif
|
||||||
|
$ if f$locate("}",line).lt. f$length(line) then proc = false
|
||||||
|
$ if f$locate("local:", line) .lt. f$length(line) then proc = false
|
||||||
|
$ if proc
|
||||||
|
$ then
|
||||||
|
$ shared_proc = f$edit(line,"collapse")
|
||||||
|
$ chop_semi = f$locate(";", shared_proc)
|
||||||
|
$ if chop_semi .lt. f$length(shared_proc) then -
|
||||||
|
shared_proc = f$extract(0, chop_semi, shared_proc)
|
||||||
|
$ write libopt f$fao("UNIVERSAL=!AS",-
|
||||||
|
f$edit(shared_proc,"upcase"))
|
||||||
|
$ endif
|
||||||
|
$ goto vmap_loop
|
||||||
|
$VMAP_END:
|
||||||
|
$ else
|
||||||
|
$ write sys$output "Unknown Architecture (Not VAX, AXP, or IA64)"
|
||||||
|
$ write sys$output "No options file created"
|
||||||
|
$ endif
|
||||||
|
$ endif
|
||||||
|
$ EXIT_M2S:
|
||||||
|
$ close/nolog map
|
||||||
|
$ close/nolog libopt
|
||||||
|
$ endsubroutine
|
||||||
|
|||||||
@@ -25,10 +25,10 @@
|
|||||||
<QPG:Files>
|
<QPG:Files>
|
||||||
<QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
|
<QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
|
||||||
<QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
|
<QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
|
||||||
<QPG:Add file="../libz.so.1.2.5.3" install="/opt/lib/" user="root:bin" permission="644"/>
|
<QPG:Add file="../libz.so.1.2.7" install="/opt/lib/" user="root:bin" permission="644"/>
|
||||||
<QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.5.3"/>
|
<QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.7"/>
|
||||||
<QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.5.3"/>
|
<QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.7"/>
|
||||||
<QPG:Add file="../libz.so.1.2.5.3" install="/opt/lib/" component="slib"/>
|
<QPG:Add file="../libz.so.1.2.7" install="/opt/lib/" component="slib"/>
|
||||||
</QPG:Files>
|
</QPG:Files>
|
||||||
|
|
||||||
<QPG:PackageFilter>
|
<QPG:PackageFilter>
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
</QPM:ProductDescription>
|
</QPM:ProductDescription>
|
||||||
|
|
||||||
<QPM:ReleaseDescription>
|
<QPM:ReleaseDescription>
|
||||||
<QPM:ReleaseVersion>1.2.5.3</QPM:ReleaseVersion>
|
<QPM:ReleaseVersion>1.2.7</QPM:ReleaseVersion>
|
||||||
<QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
|
<QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
|
||||||
<QPM:ReleaseStability>Stable</QPM:ReleaseStability>
|
<QPM:ReleaseStability>Stable</QPM:ReleaseStability>
|
||||||
<QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>
|
<QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ gzFile gz_open(path, fd, mode)
|
|||||||
gzFile gz;
|
gzFile gz;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
gz = malloc(sizeof(gzFile));
|
gz = malloc(sizeof(struct gzFile_s));
|
||||||
if (gz == NULL)
|
if (gz == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
gz->write = strchr(mode, 'w') != NULL;
|
gz->write = strchr(mode, 'w') != NULL;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" ?>
|
<?xml version="1.0" ?>
|
||||||
<package name="zlib" version="1.2.5.3">
|
<package name="zlib" version="1.2.7">
|
||||||
<library name="zlib" dlversion="1.2.5.3" dlname="z">
|
<library name="zlib" dlversion="1.2.7" dlname="z">
|
||||||
<property name="description"> zip compression library </property>
|
<property name="description"> zip compression library </property>
|
||||||
<property name="include-target-dir" value="$(@PACKAGE/install-includedir)" />
|
<property name="include-target-dir" value="$(@PACKAGE/install-includedir)" />
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +1,29 @@
|
|||||||
# Makefile for zlib, derived from Makefile.dj2.
|
# Makefile for zlib, derived from Makefile.dj2.
|
||||||
# Modified for mingw32 by C. Spieler, 6/16/98.
|
# Modified for mingw32 by C. Spieler, 6/16/98.
|
||||||
# Updated for zlib 1.2.x by Christian Spieler and Cosmin Truta, Mar-2003.
|
# Updated for zlib 1.2.x by Christian Spieler and Cosmin Truta, Mar-2003.
|
||||||
# Last updated: 1-Aug-2003.
|
# Last updated: Mar 2012.
|
||||||
# Tested under Cygwin and MinGW.
|
# Tested under Cygwin and MinGW.
|
||||||
|
|
||||||
# Copyright (C) 1995-2003 Jean-loup Gailly.
|
# Copyright (C) 1995-2003 Jean-loup Gailly.
|
||||||
# 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, or to compile and test, type:
|
# To compile, or to compile and test, type from the top level zlib directory:
|
||||||
#
|
#
|
||||||
# make -fmakefile.gcc; make test testdll -fmakefile.gcc
|
# make -fwin32/Makefile.gcc; make test testdll -fwin32/Makefile.gcc
|
||||||
#
|
#
|
||||||
# To use the asm code, type:
|
# To use the asm code, type:
|
||||||
# cp contrib/asm?86/match.S ./match.S
|
# cp contrib/asm?86/match.S ./match.S
|
||||||
# make LOC=-DASMV OBJA=match.o -fmakefile.gcc
|
# make LOC=-DASMV OBJA=match.o -fwin32/Makefile.gcc
|
||||||
#
|
#
|
||||||
# To install libz.a, zconf.h and zlib.h in the system directories, type:
|
# To install libz.a, zconf.h and zlib.h in the system directories, type:
|
||||||
#
|
#
|
||||||
# make install -fmakefile.gcc
|
# make install -fwin32/Makefile.gcc
|
||||||
|
#
|
||||||
|
# BINARY_PATH, INCLUDE_PATH and LIBRARY_PATH must be set.
|
||||||
|
#
|
||||||
|
# To install the shared lib, append SHARED_MODE=1 to the make command :
|
||||||
|
#
|
||||||
|
# make install -fwin32/Makefile.gcc SHARED_MODE=1
|
||||||
|
|
||||||
# Note:
|
# Note:
|
||||||
# If the platform is *not* MinGW (e.g. it is Cygwin or UWIN),
|
# If the platform is *not* MinGW (e.g. it is Cygwin or UWIN),
|
||||||
@@ -38,7 +44,6 @@ SHARED_MODE=0
|
|||||||
PREFIX =
|
PREFIX =
|
||||||
CC = $(PREFIX)gcc
|
CC = $(PREFIX)gcc
|
||||||
CFLAGS = $(LOC) -O3 -Wall
|
CFLAGS = $(LOC) -O3 -Wall
|
||||||
EXTRA_CFLAGS = -DNO_VIZ
|
|
||||||
|
|
||||||
AS = $(CC)
|
AS = $(CC)
|
||||||
ASFLAGS = $(LOC) -Wall
|
ASFLAGS = $(LOC) -Wall
|
||||||
@@ -77,7 +82,7 @@ testdll: example_d.exe minigzip_d.exe
|
|||||||
echo hello world | ./minigzip_d | ./minigzip_d -d
|
echo hello world | ./minigzip_d | ./minigzip_d -d
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
.S.o:
|
.S.o:
|
||||||
$(AS) $(ASFLAGS) -c -o $@ $<
|
$(AS) $(ASFLAGS) -c -o $@ $<
|
||||||
@@ -109,30 +114,31 @@ minigzip_d.exe: minigzip.o $(IMPLIB)
|
|||||||
$(STRIP) $@
|
$(STRIP) $@
|
||||||
|
|
||||||
example.o: test/example.c zlib.h zconf.h
|
example.o: test/example.c zlib.h zconf.h
|
||||||
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I. -c -o $@ test/example.c
|
$(CC) $(CFLAGS) -I. -c -o $@ test/example.c
|
||||||
|
|
||||||
minigzip.o: test/minigzip.c zlib.h zconf.h
|
minigzip.o: test/minigzip.c zlib.h zconf.h
|
||||||
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I. -c -o $@ test/minigzip.c
|
$(CC) $(CFLAGS) -I. -c -o $@ test/minigzip.c
|
||||||
|
|
||||||
zlibrc.o: win32/zlib1.rc
|
zlibrc.o: win32/zlib1.rc
|
||||||
$(RC) $(RCFLAGS) -o $@ win32/zlib1.rc
|
$(RC) $(RCFLAGS) -o $@ win32/zlib1.rc
|
||||||
|
|
||||||
|
|
||||||
# BINARY_PATH, INCLUDE_PATH and LIBRARY_PATH must be set.
|
|
||||||
|
|
||||||
.PHONY: install uninstall clean
|
.PHONY: install uninstall clean
|
||||||
|
|
||||||
install: zlib.h zconf.h $(STATICLIB) $(IMPLIB)
|
install: zlib.h zconf.h $(STATICLIB) $(IMPLIB)
|
||||||
-@mkdir -p $(INCLUDE_PATH)
|
@if test -z "$(DESTDIR)$(INCLUDE_PATH)" -o -z "$(DESTDIR)$(LIBRARY_PATH)" -o -z "$(DESTDIR)$(BINARY_PATH)"; then \
|
||||||
-@mkdir -p $(LIBRARY_PATH) $(LIBRARY_PATH)/pkgconfig
|
echo INCLUDE_PATH, LIBRARY_PATH, and BINARY_PATH must be specified; \
|
||||||
-if [ "$(SHARED_MODE)" = "1" ]; then \
|
exit 1; \
|
||||||
mkdir -p $(BINARY_PATH); \
|
|
||||||
$(INSTALL) $(SHAREDLIB) $(BINARY_PATH); \
|
|
||||||
$(INSTALL) $(IMPLIB) $(LIBRARY_PATH); \
|
|
||||||
fi
|
fi
|
||||||
-$(INSTALL) zlib.h $(INCLUDE_PATH)
|
-@mkdir -p '$(DESTDIR)$(INCLUDE_PATH)'
|
||||||
-$(INSTALL) zconf.h $(INCLUDE_PATH)
|
-@mkdir -p '$(DESTDIR)$(LIBRARY_PATH)' '$(DESTDIR)$(LIBRARY_PATH)'/pkgconfig
|
||||||
-$(INSTALL) $(STATICLIB) $(LIBRARY_PATH)
|
-if [ "$(SHARED_MODE)" = "1" ]; then \
|
||||||
|
mkdir -p '$(DESTDIR)$(BINARY_PATH)'; \
|
||||||
|
$(INSTALL) $(SHAREDLIB) '$(DESTDIR)$(BINARY_PATH)'; \
|
||||||
|
$(INSTALL) $(IMPLIB) '$(DESTDIR)$(LIBRARY_PATH)'; \
|
||||||
|
fi
|
||||||
|
-$(INSTALL) zlib.h '$(DESTDIR)$(INCLUDE_PATH)'
|
||||||
|
-$(INSTALL) zconf.h '$(DESTDIR)$(INCLUDE_PATH)'
|
||||||
|
-$(INSTALL) $(STATICLIB) '$(DESTDIR)$(LIBRARY_PATH)'
|
||||||
sed \
|
sed \
|
||||||
-e 's|@prefix@|${prefix}|g' \
|
-e 's|@prefix@|${prefix}|g' \
|
||||||
-e 's|@exec_prefix@|${exec_prefix}|g' \
|
-e 's|@exec_prefix@|${exec_prefix}|g' \
|
||||||
@@ -140,16 +146,16 @@ install: zlib.h zconf.h $(STATICLIB) $(IMPLIB)
|
|||||||
-e 's|@sharedlibdir@|$(LIBRARY_PATH)|g' \
|
-e 's|@sharedlibdir@|$(LIBRARY_PATH)|g' \
|
||||||
-e 's|@includedir@|$(INCLUDE_PATH)|g' \
|
-e 's|@includedir@|$(INCLUDE_PATH)|g' \
|
||||||
-e 's|@VERSION@|'`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' zlib.h`'|g' \
|
-e 's|@VERSION@|'`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' zlib.h`'|g' \
|
||||||
zlib.pc.in > $(LIBRARY_PATH)/pkgconfig/zlib.pc
|
zlib.pc.in > '$(DESTDIR)$(LIBRARY_PATH)'/pkgconfig/zlib.pc
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
-if [ "$(SHARED_MODE)" = "1" ]; then \
|
-if [ "$(SHARED_MODE)" = "1" ]; then \
|
||||||
$(RM) $(BINARY_PATH)/$(SHAREDLIB); \
|
$(RM) '$(DESTDIR)$(BINARY_PATH)'/$(SHAREDLIB); \
|
||||||
$(RM) $(LIBRARY_PATH)/$(IMPLIB); \
|
$(RM) '$(DESTDIR)$(LIBRARY_PATH)'/$(IMPLIB); \
|
||||||
fi
|
fi
|
||||||
-$(RM) $(INCLUDE_PATH)/zlib.h
|
-$(RM) '$(DESTDIR)$(INCLUDE_PATH)'/zlib.h
|
||||||
-$(RM) $(INCLUDE_PATH)/zconf.h
|
-$(RM) '$(DESTDIR)$(INCLUDE_PATH)'/zconf.h
|
||||||
-$(RM) $(LIBRARY_PATH)/$(STATICLIB)
|
-$(RM) '$(DESTDIR)$(LIBRARY_PATH)'/$(STATICLIB)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-$(RM) $(STATICLIB)
|
-$(RM) $(STATICLIB)
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
# nmake -f win32/Makefile.msc LOC=-DFOO (nonstandard build)
|
# nmake -f win32/Makefile.msc LOC=-DFOO (nonstandard build)
|
||||||
# nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" \
|
# nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" \
|
||||||
# OBJA="inffas32.obj match686.obj" (use ASM code, x86)
|
# OBJA="inffas32.obj match686.obj" (use ASM code, x86)
|
||||||
# nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF" \
|
# nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." \
|
||||||
# OBJA="inffasx64.obj gvmat64.obj inffas8664.c" (use ASM code, x64)
|
# OBJA="inffasx64.obj gvmat64.obj inffas8664.obj" (use ASM code, x64)
|
||||||
|
|
||||||
# optional build flags
|
# optional build flags
|
||||||
LOC =
|
LOC =
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
ZLIB DATA COMPRESSION LIBRARY
|
ZLIB DATA COMPRESSION LIBRARY
|
||||||
|
|
||||||
zlib 1.2.4 is a general purpose data compression library. All the code is
|
zlib 1.2.7 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://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
|
||||||
@@ -22,7 +22,7 @@ before asking for help.
|
|||||||
|
|
||||||
Manifest:
|
Manifest:
|
||||||
|
|
||||||
The package zlib-1.2.4-win32-x86.zip contains the following files:
|
The package zlib-1.2.7-win32-x86.zip will contain the following files:
|
||||||
|
|
||||||
README-WIN32.txt This document
|
README-WIN32.txt This document
|
||||||
ChangeLog Changes since previous zlib packages
|
ChangeLog Changes since previous zlib packages
|
||||||
@@ -58,7 +58,7 @@ The package zlib-1.2.4-win32-x86.zip contains the following files:
|
|||||||
|
|
||||||
All .pdb files above are entirely optional, but are very useful to a developer
|
All .pdb files above are entirely optional, but are very useful to a developer
|
||||||
attempting to diagnose program misbehavior or a crash. Many additional
|
attempting to diagnose program misbehavior or a crash. Many additional
|
||||||
important files for developers can be found in the zlib124.zip source package
|
important files for developers can be found in the zlib127.zip source package
|
||||||
available from http://zlib.net/ - review that package's README file for details.
|
available from http://zlib.net/ - review that package's README file for details.
|
||||||
|
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ are too numerous to cite here.
|
|||||||
|
|
||||||
Copyright notice:
|
Copyright notice:
|
||||||
|
|
||||||
(C) 1995-2010 Jean-loup Gailly and Mark Adler
|
(C) 1995-2012 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
|
||||||
|
|||||||
@@ -74,11 +74,11 @@ EXPORTS
|
|||||||
inflateInit_
|
inflateInit_
|
||||||
inflateInit2_
|
inflateInit2_
|
||||||
inflateBackInit_
|
inflateBackInit_
|
||||||
|
gzgetc_
|
||||||
zError
|
zError
|
||||||
inflateSyncPoint
|
inflateSyncPoint
|
||||||
get_crc_table
|
get_crc_table
|
||||||
inflateUndermine
|
inflateUndermine
|
||||||
inflateResetKeep
|
inflateResetKeep
|
||||||
deflateResetKeep
|
deflateResetKeep
|
||||||
gzgetc_
|
gzopen_w
|
||||||
gzflags
|
|
||||||
|
|||||||
68
zconf.h
68
zconf.h
@@ -1,5 +1,5 @@
|
|||||||
/* zconf.h -- configuration of the zlib compression library
|
/* zconf.h -- configuration of the zlib compression library
|
||||||
* Copyright (C) 1995-2011 Jean-loup Gailly.
|
* Copyright (C) 1995-2012 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -65,7 +65,6 @@
|
|||||||
# define gzdopen z_gzdopen
|
# define gzdopen z_gzdopen
|
||||||
# define gzeof z_gzeof
|
# define gzeof z_gzeof
|
||||||
# define gzerror z_gzerror
|
# define gzerror z_gzerror
|
||||||
# define gzflags z_gzflags
|
|
||||||
# define gzflush z_gzflush
|
# define gzflush z_gzflush
|
||||||
# define gzgetc z_gzgetc
|
# define gzgetc z_gzgetc
|
||||||
# define gzgetc_ z_gzgetc_
|
# define gzgetc_ z_gzgetc_
|
||||||
@@ -74,6 +73,9 @@
|
|||||||
# define gzoffset64 z_gzoffset64
|
# define gzoffset64 z_gzoffset64
|
||||||
# define gzopen z_gzopen
|
# define gzopen z_gzopen
|
||||||
# define gzopen64 z_gzopen64
|
# define gzopen64 z_gzopen64
|
||||||
|
# ifdef _WIN32
|
||||||
|
# define gzopen_w z_gzopen_w
|
||||||
|
# endif
|
||||||
# define gzprintf z_gzprintf
|
# define gzprintf z_gzprintf
|
||||||
# define gzputc z_gzputc
|
# define gzputc z_gzputc
|
||||||
# define gzputs z_gzputs
|
# define gzputs z_gzputs
|
||||||
@@ -127,9 +129,9 @@
|
|||||||
# define free_func z_free_func
|
# define free_func z_free_func
|
||||||
# ifndef Z_SOLO
|
# ifndef Z_SOLO
|
||||||
# define gzFile z_gzFile
|
# define gzFile z_gzFile
|
||||||
|
# endif
|
||||||
# define gz_header z_gz_header
|
# define gz_header z_gz_header
|
||||||
# define gz_headerp z_gz_headerp
|
# define gz_headerp z_gz_headerp
|
||||||
# endif
|
|
||||||
# define in_func z_in_func
|
# define in_func z_in_func
|
||||||
# define intf z_intf
|
# define intf z_intf
|
||||||
# define out_func z_out_func
|
# define out_func z_out_func
|
||||||
@@ -142,9 +144,7 @@
|
|||||||
# define voidpf z_voidpf
|
# define voidpf z_voidpf
|
||||||
|
|
||||||
/* all zlib structs in zlib.h and zconf.h */
|
/* all zlib structs in zlib.h and zconf.h */
|
||||||
# ifndef Z_SOLO
|
|
||||||
# define gz_header_s z_gz_header_s
|
# define gz_header_s z_gz_header_s
|
||||||
# endif
|
|
||||||
# define internal_state z_internal_state
|
# define internal_state z_internal_state
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -388,6 +388,29 @@ typedef uLong FAR uLongf;
|
|||||||
typedef Byte *voidp;
|
typedef Byte *voidp;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* ./configure may #define Z_U4 here */
|
||||||
|
|
||||||
|
#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
|
||||||
|
# include <limits.h>
|
||||||
|
# if (UINT_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned
|
||||||
|
# else
|
||||||
|
# if (ULONG_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned long
|
||||||
|
# else
|
||||||
|
# if (USHRT_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned short
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef Z_U4
|
||||||
|
typedef Z_U4 z_crc_t;
|
||||||
|
#else
|
||||||
|
typedef unsigned long z_crc_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
||||||
# define Z_HAVE_UNISTD_H
|
# define Z_HAVE_UNISTD_H
|
||||||
#endif
|
#endif
|
||||||
@@ -402,28 +425,45 @@ typedef uLong FAR uLongf;
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# include <stddef.h> /* for wchar_t */
|
||||||
|
#endif
|
||||||
|
|
||||||
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
|
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
|
||||||
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
|
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
|
||||||
* though the former does not conform to the LFS document), but considering
|
* though the former does not conform to the LFS document), but considering
|
||||||
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
|
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
|
||||||
* equivalently requesting no 64-bit operations
|
* equivalently requesting no 64-bit operations
|
||||||
*/
|
*/
|
||||||
#if -_LARGEFILE64_SOURCE - -1 == 1
|
#if defined(LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
|
||||||
# undef _LARGEFILE64_SOURCE
|
# undef _LARGEFILE64_SOURCE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
|
#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
|
||||||
# define Z_LARGE
|
# define Z_HAVE_UNISTD_H
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef Z_SOLO
|
||||||
#if (defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE)) && !defined(Z_SOLO)
|
# if defined(Z_HAVE_UNISTD_H) || defined(LARGEFILE64_SOURCE)
|
||||||
# include <unistd.h> /* for SEEK_* and off_t */
|
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
|
||||||
# ifdef VMS
|
# ifdef VMS
|
||||||
# include <unixio.h> /* for off_t */
|
# include <unixio.h> /* for off_t */
|
||||||
# endif
|
# endif
|
||||||
# ifndef z_off_t
|
# ifndef z_off_t
|
||||||
# define z_off_t off_t
|
# define z_off_t off_t
|
||||||
# endif
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
|
||||||
|
# define Z_LFS64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
|
||||||
|
# define Z_LARGE64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
|
||||||
|
# define Z_WANT64
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(SEEK_SET) && !defined(Z_SOLO)
|
#if !defined(SEEK_SET) && !defined(Z_SOLO)
|
||||||
@@ -436,14 +476,14 @@ typedef uLong FAR uLongf;
|
|||||||
# define z_off_t long
|
# define z_off_t long
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(_WIN32) && (defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0)
|
#if !defined(_WIN32) && defined(Z_LARGE64)
|
||||||
# define z_off64_t off64_t
|
# define z_off64_t off64_t
|
||||||
#else
|
#else
|
||||||
# if defined(_WIN32)
|
# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
|
||||||
# define z_off64_t __int64
|
# define z_off64_t __int64
|
||||||
# else
|
# else
|
||||||
# define z_off64_t z_off_t
|
# define z_off64_t z_off_t
|
||||||
#endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* MVS linker does not support external names larger than 8 bytes */
|
/* MVS linker does not support external names larger than 8 bytes */
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* zconf.h -- configuration of the zlib compression library
|
/* zconf.h -- configuration of the zlib compression library
|
||||||
* Copyright (C) 1995-2011 Jean-loup Gailly.
|
* Copyright (C) 1995-2012 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -67,7 +67,6 @@
|
|||||||
# define gzdopen z_gzdopen
|
# define gzdopen z_gzdopen
|
||||||
# define gzeof z_gzeof
|
# define gzeof z_gzeof
|
||||||
# define gzerror z_gzerror
|
# define gzerror z_gzerror
|
||||||
# define gzflags z_gzflags
|
|
||||||
# define gzflush z_gzflush
|
# define gzflush z_gzflush
|
||||||
# define gzgetc z_gzgetc
|
# define gzgetc z_gzgetc
|
||||||
# define gzgetc_ z_gzgetc_
|
# define gzgetc_ z_gzgetc_
|
||||||
@@ -76,6 +75,9 @@
|
|||||||
# define gzoffset64 z_gzoffset64
|
# define gzoffset64 z_gzoffset64
|
||||||
# define gzopen z_gzopen
|
# define gzopen z_gzopen
|
||||||
# define gzopen64 z_gzopen64
|
# define gzopen64 z_gzopen64
|
||||||
|
# ifdef _WIN32
|
||||||
|
# define gzopen_w z_gzopen_w
|
||||||
|
# endif
|
||||||
# define gzprintf z_gzprintf
|
# define gzprintf z_gzprintf
|
||||||
# define gzputc z_gzputc
|
# define gzputc z_gzputc
|
||||||
# define gzputs z_gzputs
|
# define gzputs z_gzputs
|
||||||
@@ -129,9 +131,9 @@
|
|||||||
# define free_func z_free_func
|
# define free_func z_free_func
|
||||||
# ifndef Z_SOLO
|
# ifndef Z_SOLO
|
||||||
# define gzFile z_gzFile
|
# define gzFile z_gzFile
|
||||||
|
# endif
|
||||||
# define gz_header z_gz_header
|
# define gz_header z_gz_header
|
||||||
# define gz_headerp z_gz_headerp
|
# define gz_headerp z_gz_headerp
|
||||||
# endif
|
|
||||||
# define in_func z_in_func
|
# define in_func z_in_func
|
||||||
# define intf z_intf
|
# define intf z_intf
|
||||||
# define out_func z_out_func
|
# define out_func z_out_func
|
||||||
@@ -144,9 +146,7 @@
|
|||||||
# define voidpf z_voidpf
|
# define voidpf z_voidpf
|
||||||
|
|
||||||
/* all zlib structs in zlib.h and zconf.h */
|
/* all zlib structs in zlib.h and zconf.h */
|
||||||
# ifndef Z_SOLO
|
|
||||||
# define gz_header_s z_gz_header_s
|
# define gz_header_s z_gz_header_s
|
||||||
# endif
|
|
||||||
# define internal_state z_internal_state
|
# define internal_state z_internal_state
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -390,6 +390,29 @@ typedef uLong FAR uLongf;
|
|||||||
typedef Byte *voidp;
|
typedef Byte *voidp;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* ./configure may #define Z_U4 here */
|
||||||
|
|
||||||
|
#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
|
||||||
|
# include <limits.h>
|
||||||
|
# if (UINT_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned
|
||||||
|
# else
|
||||||
|
# if (ULONG_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned long
|
||||||
|
# else
|
||||||
|
# if (USHRT_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned short
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef Z_U4
|
||||||
|
typedef Z_U4 z_crc_t;
|
||||||
|
#else
|
||||||
|
typedef unsigned long z_crc_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
||||||
# define Z_HAVE_UNISTD_H
|
# define Z_HAVE_UNISTD_H
|
||||||
#endif
|
#endif
|
||||||
@@ -404,28 +427,45 @@ typedef uLong FAR uLongf;
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# include <stddef.h> /* for wchar_t */
|
||||||
|
#endif
|
||||||
|
|
||||||
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
|
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
|
||||||
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
|
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
|
||||||
* though the former does not conform to the LFS document), but considering
|
* though the former does not conform to the LFS document), but considering
|
||||||
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
|
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
|
||||||
* equivalently requesting no 64-bit operations
|
* equivalently requesting no 64-bit operations
|
||||||
*/
|
*/
|
||||||
#if -_LARGEFILE64_SOURCE - -1 == 1
|
#if defined(LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
|
||||||
# undef _LARGEFILE64_SOURCE
|
# undef _LARGEFILE64_SOURCE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
|
#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
|
||||||
# define Z_LARGE
|
# define Z_HAVE_UNISTD_H
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef Z_SOLO
|
||||||
#if (defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE)) && !defined(Z_SOLO)
|
# if defined(Z_HAVE_UNISTD_H) || defined(LARGEFILE64_SOURCE)
|
||||||
# include <unistd.h> /* for SEEK_* and off_t */
|
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
|
||||||
# ifdef VMS
|
# ifdef VMS
|
||||||
# include <unixio.h> /* for off_t */
|
# include <unixio.h> /* for off_t */
|
||||||
# endif
|
# endif
|
||||||
# ifndef z_off_t
|
# ifndef z_off_t
|
||||||
# define z_off_t off_t
|
# define z_off_t off_t
|
||||||
# endif
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
|
||||||
|
# define Z_LFS64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
|
||||||
|
# define Z_LARGE64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
|
||||||
|
# define Z_WANT64
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(SEEK_SET) && !defined(Z_SOLO)
|
#if !defined(SEEK_SET) && !defined(Z_SOLO)
|
||||||
@@ -438,14 +478,14 @@ typedef uLong FAR uLongf;
|
|||||||
# define z_off_t long
|
# define z_off_t long
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(_WIN32) && (defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0)
|
#if !defined(_WIN32) && defined(Z_LARGE64)
|
||||||
# define z_off64_t off64_t
|
# define z_off64_t off64_t
|
||||||
#else
|
#else
|
||||||
# if defined(_WIN32)
|
# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
|
||||||
# define z_off64_t __int64
|
# define z_off64_t __int64
|
||||||
# else
|
# else
|
||||||
# define z_off64_t z_off_t
|
# define z_off64_t z_off_t
|
||||||
#endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* MVS linker does not support external names larger than 8 bytes */
|
/* MVS linker does not support external names larger than 8 bytes */
|
||||||
|
|||||||
68
zconf.h.in
68
zconf.h.in
@@ -1,5 +1,5 @@
|
|||||||
/* zconf.h -- configuration of the zlib compression library
|
/* zconf.h -- configuration of the zlib compression library
|
||||||
* Copyright (C) 1995-2011 Jean-loup Gailly.
|
* Copyright (C) 1995-2012 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -65,7 +65,6 @@
|
|||||||
# define gzdopen z_gzdopen
|
# define gzdopen z_gzdopen
|
||||||
# define gzeof z_gzeof
|
# define gzeof z_gzeof
|
||||||
# define gzerror z_gzerror
|
# define gzerror z_gzerror
|
||||||
# define gzflags z_gzflags
|
|
||||||
# define gzflush z_gzflush
|
# define gzflush z_gzflush
|
||||||
# define gzgetc z_gzgetc
|
# define gzgetc z_gzgetc
|
||||||
# define gzgetc_ z_gzgetc_
|
# define gzgetc_ z_gzgetc_
|
||||||
@@ -74,6 +73,9 @@
|
|||||||
# define gzoffset64 z_gzoffset64
|
# define gzoffset64 z_gzoffset64
|
||||||
# define gzopen z_gzopen
|
# define gzopen z_gzopen
|
||||||
# define gzopen64 z_gzopen64
|
# define gzopen64 z_gzopen64
|
||||||
|
# ifdef _WIN32
|
||||||
|
# define gzopen_w z_gzopen_w
|
||||||
|
# endif
|
||||||
# define gzprintf z_gzprintf
|
# define gzprintf z_gzprintf
|
||||||
# define gzputc z_gzputc
|
# define gzputc z_gzputc
|
||||||
# define gzputs z_gzputs
|
# define gzputs z_gzputs
|
||||||
@@ -127,9 +129,9 @@
|
|||||||
# define free_func z_free_func
|
# define free_func z_free_func
|
||||||
# ifndef Z_SOLO
|
# ifndef Z_SOLO
|
||||||
# define gzFile z_gzFile
|
# define gzFile z_gzFile
|
||||||
|
# endif
|
||||||
# define gz_header z_gz_header
|
# define gz_header z_gz_header
|
||||||
# define gz_headerp z_gz_headerp
|
# define gz_headerp z_gz_headerp
|
||||||
# endif
|
|
||||||
# define in_func z_in_func
|
# define in_func z_in_func
|
||||||
# define intf z_intf
|
# define intf z_intf
|
||||||
# define out_func z_out_func
|
# define out_func z_out_func
|
||||||
@@ -142,9 +144,7 @@
|
|||||||
# define voidpf z_voidpf
|
# define voidpf z_voidpf
|
||||||
|
|
||||||
/* all zlib structs in zlib.h and zconf.h */
|
/* all zlib structs in zlib.h and zconf.h */
|
||||||
# ifndef Z_SOLO
|
|
||||||
# define gz_header_s z_gz_header_s
|
# define gz_header_s z_gz_header_s
|
||||||
# endif
|
|
||||||
# define internal_state z_internal_state
|
# define internal_state z_internal_state
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -388,6 +388,29 @@ typedef uLong FAR uLongf;
|
|||||||
typedef Byte *voidp;
|
typedef Byte *voidp;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* ./configure may #define Z_U4 here */
|
||||||
|
|
||||||
|
#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
|
||||||
|
# include <limits.h>
|
||||||
|
# if (UINT_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned
|
||||||
|
# else
|
||||||
|
# if (ULONG_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned long
|
||||||
|
# else
|
||||||
|
# if (USHRT_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned short
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef Z_U4
|
||||||
|
typedef Z_U4 z_crc_t;
|
||||||
|
#else
|
||||||
|
typedef unsigned long z_crc_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
||||||
# define Z_HAVE_UNISTD_H
|
# define Z_HAVE_UNISTD_H
|
||||||
#endif
|
#endif
|
||||||
@@ -402,28 +425,45 @@ typedef uLong FAR uLongf;
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# include <stddef.h> /* for wchar_t */
|
||||||
|
#endif
|
||||||
|
|
||||||
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
|
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
|
||||||
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
|
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
|
||||||
* though the former does not conform to the LFS document), but considering
|
* though the former does not conform to the LFS document), but considering
|
||||||
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
|
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
|
||||||
* equivalently requesting no 64-bit operations
|
* equivalently requesting no 64-bit operations
|
||||||
*/
|
*/
|
||||||
#if -_LARGEFILE64_SOURCE - -1 == 1
|
#if defined(LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
|
||||||
# undef _LARGEFILE64_SOURCE
|
# undef _LARGEFILE64_SOURCE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
|
#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
|
||||||
# define Z_LARGE
|
# define Z_HAVE_UNISTD_H
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef Z_SOLO
|
||||||
#if (defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE)) && !defined(Z_SOLO)
|
# if defined(Z_HAVE_UNISTD_H) || defined(LARGEFILE64_SOURCE)
|
||||||
# include <unistd.h> /* for SEEK_* and off_t */
|
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
|
||||||
# ifdef VMS
|
# ifdef VMS
|
||||||
# include <unixio.h> /* for off_t */
|
# include <unixio.h> /* for off_t */
|
||||||
# endif
|
# endif
|
||||||
# ifndef z_off_t
|
# ifndef z_off_t
|
||||||
# define z_off_t off_t
|
# define z_off_t off_t
|
||||||
# endif
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
|
||||||
|
# define Z_LFS64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
|
||||||
|
# define Z_LARGE64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
|
||||||
|
# define Z_WANT64
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(SEEK_SET) && !defined(Z_SOLO)
|
#if !defined(SEEK_SET) && !defined(Z_SOLO)
|
||||||
@@ -436,14 +476,14 @@ typedef uLong FAR uLongf;
|
|||||||
# define z_off_t long
|
# define z_off_t long
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(_WIN32) && (defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0)
|
#if !defined(_WIN32) && defined(Z_LARGE64)
|
||||||
# define z_off64_t off64_t
|
# define z_off64_t off64_t
|
||||||
#else
|
#else
|
||||||
# if defined(_WIN32)
|
# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
|
||||||
# define z_off64_t __int64
|
# define z_off64_t __int64
|
||||||
# else
|
# else
|
||||||
# define z_off64_t z_off_t
|
# define z_off64_t z_off_t
|
||||||
#endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* MVS linker does not support external names larger than 8 bytes */
|
/* MVS linker does not support external names larger than 8 bytes */
|
||||||
|
|||||||
4
zlib.3
4
zlib.3
@@ -1,4 +1,4 @@
|
|||||||
.TH ZLIB 3 "15 Jan 2012"
|
.TH ZLIB 3 "2 May 2012"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
zlib \- compression/decompression library
|
zlib \- compression/decompression library
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@@ -125,7 +125,7 @@ before asking for help.
|
|||||||
Send questions and/or comments to zlib@gzip.org,
|
Send questions and/or comments to zlib@gzip.org,
|
||||||
or (for the Windows DLL version) to Gilles Vollant (info@winimage.com).
|
or (for the Windows DLL version) to Gilles Vollant (info@winimage.com).
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Version 1.2.5.3
|
Version 1.2.7
|
||||||
Copyright (C) 1995-2012 Jean-loup Gailly (jloup@gzip.org)
|
Copyright (C) 1995-2012 Jean-loup Gailly (jloup@gzip.org)
|
||||||
and Mark Adler (madler@alumni.caltech.edu).
|
and Mark Adler (madler@alumni.caltech.edu).
|
||||||
.LP
|
.LP
|
||||||
|
|||||||
BIN
zlib.3.pdf
BIN
zlib.3.pdf
Binary file not shown.
64
zlib.h
64
zlib.h
@@ -1,5 +1,5 @@
|
|||||||
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
||||||
version 1.2.5.3, January 15th, 2012
|
version 1.2.7, May 2nd, 2012
|
||||||
|
|
||||||
Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler
|
Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler
|
||||||
|
|
||||||
@@ -37,12 +37,12 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ZLIB_VERSION "1.2.5.3"
|
#define ZLIB_VERSION "1.2.7"
|
||||||
#define ZLIB_VERNUM 0x1253
|
#define ZLIB_VERNUM 0x1270
|
||||||
#define ZLIB_VER_MAJOR 1
|
#define ZLIB_VER_MAJOR 1
|
||||||
#define ZLIB_VER_MINOR 2
|
#define ZLIB_VER_MINOR 2
|
||||||
#define ZLIB_VER_REVISION 5
|
#define ZLIB_VER_REVISION 7
|
||||||
#define ZLIB_VER_SUBREVISION 3
|
#define ZLIB_VER_SUBREVISION 0
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The 'zlib' compression library provides in-memory compression and
|
The 'zlib' compression library provides in-memory compression and
|
||||||
@@ -452,14 +452,17 @@ ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
|
|||||||
error. However if all decompression is to be performed in a single step (a
|
error. However if all decompression is to be performed in a single step (a
|
||||||
single call of inflate), the parameter flush should be set to Z_FINISH. In
|
single call of inflate), the parameter flush should be set to Z_FINISH. In
|
||||||
this case all pending input is processed and all pending output is flushed;
|
this case all pending input is processed and all pending output is flushed;
|
||||||
avail_out must be large enough to hold all the uncompressed data. (The size
|
avail_out must be large enough to hold all of the uncompressed data for the
|
||||||
of the uncompressed data may have been saved by the compressor for this
|
operation to complete. (The size of the uncompressed data may have been
|
||||||
purpose.) The next operation on this stream must be inflateEnd to deallocate
|
saved by the compressor for this purpose.) The use of Z_FINISH is not
|
||||||
the decompression state. The use of Z_FINISH is not required to perform an
|
required to perform an inflation in one step. However it may be used to
|
||||||
inflation in one step. However it may be used to inform inflate that a
|
inform inflate that a faster approach can be used for the single inflate()
|
||||||
faster approach can be used for the single inflate() call. Z_FINISH also
|
call. Z_FINISH also informs inflate to not maintain a sliding window if the
|
||||||
informs inflate to not maintain a sliding window if the stream completes,
|
stream completes, which reduces inflate's memory footprint. If the stream
|
||||||
which reduces inflate's memory footprint.
|
does not complete, either because not all of the stream is provided or not
|
||||||
|
enough output space is provided, then a sliding window will be allocated and
|
||||||
|
inflate() can be called again to continue the operation as if Z_NO_FLUSH had
|
||||||
|
been used.
|
||||||
|
|
||||||
In this implementation, inflate() always flushes as much output as
|
In this implementation, inflate() always flushes as much output as
|
||||||
possible to the output buffer, and always uses the faster approach on the
|
possible to the output buffer, and always uses the faster approach on the
|
||||||
@@ -1217,7 +1220,10 @@ ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
|
|||||||
|
|
||||||
"a" can be used instead of "w" to request that the gzip stream that will
|
"a" can be used instead of "w" to request that the gzip stream that will
|
||||||
be written be appended to the file. "+" will result in an error, since
|
be written be appended to the file. "+" will result in an error, since
|
||||||
reading and writing to the same gzip file is not supported.
|
reading and writing to the same gzip file is not supported. The addition of
|
||||||
|
"x" when writing will create the file exclusively, which fails if the file
|
||||||
|
already exists. On systems that support it, the addition of "e" when
|
||||||
|
reading or writing will set the flag to close the file on an execve() call.
|
||||||
|
|
||||||
These functions, as well as gzip, will read and decode a sequence of gzip
|
These functions, as well as gzip, will read and decode a sequence of gzip
|
||||||
streams in a file. The append function of gzopen() can be used to create
|
streams in a file. The append function of gzopen() can be used to create
|
||||||
@@ -1578,9 +1584,8 @@ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
|
|||||||
/*
|
/*
|
||||||
Update a running CRC-32 with the bytes buf[0..len-1] and return the
|
Update a running CRC-32 with the bytes buf[0..len-1] and return the
|
||||||
updated CRC-32. If buf is Z_NULL, this function returns the required
|
updated CRC-32. If buf is Z_NULL, this function returns the required
|
||||||
initial value for the for the crc. Pre- and post-conditioning (one's
|
initial value for the crc. Pre- and post-conditioning (one's complement) is
|
||||||
complement) is performed within this function so it shouldn't be done by the
|
performed within this function so it shouldn't be done by the application.
|
||||||
application.
|
|
||||||
|
|
||||||
Usage example:
|
Usage example:
|
||||||
|
|
||||||
@@ -1650,9 +1655,15 @@ struct gzFile_s {
|
|||||||
unsigned char *next;
|
unsigned char *next;
|
||||||
z_off64_t pos;
|
z_off64_t pos;
|
||||||
};
|
};
|
||||||
ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file));
|
ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
|
||||||
#define gzgetc(g) \
|
#ifdef Z_PREFIX_SET
|
||||||
((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc_(g))
|
# undef z_gzgetc
|
||||||
|
# define z_gzgetc(g) \
|
||||||
|
((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
|
||||||
|
#else
|
||||||
|
# define gzgetc(g) \
|
||||||
|
((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
|
||||||
|
#endif
|
||||||
|
|
||||||
/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
|
/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
|
||||||
* change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
|
* change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
|
||||||
@@ -1660,7 +1671,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file));
|
|||||||
* functions are changed to 64 bits) -- in case these are set on systems
|
* functions are changed to 64 bits) -- in case these are set on systems
|
||||||
* without large file support, _LFS64_LARGEFILE must also be true
|
* without large file support, _LFS64_LARGEFILE must also be true
|
||||||
*/
|
*/
|
||||||
#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
|
#ifdef Z_LARGE64
|
||||||
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
|
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
|
||||||
ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
|
ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
|
||||||
ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
|
ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
|
||||||
@@ -1669,7 +1680,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file));
|
|||||||
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
|
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
|
#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64)
|
||||||
# ifdef Z_PREFIX_SET
|
# ifdef Z_PREFIX_SET
|
||||||
# define z_gzopen z_gzopen64
|
# define z_gzopen z_gzopen64
|
||||||
# define z_gzseek z_gzseek64
|
# define z_gzseek z_gzseek64
|
||||||
@@ -1685,7 +1696,7 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file));
|
|||||||
# define adler32_combine adler32_combine64
|
# define adler32_combine adler32_combine64
|
||||||
# define crc32_combine crc32_combine64
|
# define crc32_combine crc32_combine64
|
||||||
# endif
|
# endif
|
||||||
# ifndef _LARGEFILE64_SOURCE
|
# ifndef Z_LARGE64
|
||||||
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
|
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
|
||||||
ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
|
ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
|
||||||
ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
|
ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
|
||||||
@@ -1717,12 +1728,13 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file));
|
|||||||
/* undocumented functions */
|
/* undocumented functions */
|
||||||
ZEXTERN const char * ZEXPORT zError OF((int));
|
ZEXTERN const char * ZEXPORT zError OF((int));
|
||||||
ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
|
ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
|
||||||
ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
|
ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
|
||||||
ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
|
ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
|
||||||
ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
|
ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
|
||||||
ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
|
ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
|
||||||
#ifndef Z_SOLO
|
#if defined(_WIN32) && !defined(Z_SOLO)
|
||||||
ZEXTERN unsigned long ZEXPORT gzflags OF((void));
|
ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
|
||||||
|
const char *mode));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
6
zlib.map
6
zlib.map
@@ -72,11 +72,7 @@ ZLIB_1.2.5.1 {
|
|||||||
} ZLIB_1.2.3.5;
|
} ZLIB_1.2.3.5;
|
||||||
|
|
||||||
ZLIB_1.2.5.2 {
|
ZLIB_1.2.5.2 {
|
||||||
gzflags;
|
deflateResetKeep;
|
||||||
gzgetc_;
|
gzgetc_;
|
||||||
inflateResetKeep;
|
inflateResetKeep;
|
||||||
} ZLIB_1.2.5.1;
|
} ZLIB_1.2.5.1;
|
||||||
|
|
||||||
ZLIB_1.2.5.3 {
|
|
||||||
deflateResetKeep;
|
|
||||||
} ZLIB_1.2.5.2;
|
|
||||||
|
|||||||
13
zlib.pc.cmakein
Normal file
13
zlib.pc.cmakein
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
prefix=@CMAKE_INSTALL_PREFIX@
|
||||||
|
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||||
|
libdir=@INSTALL_LIB_DIR@
|
||||||
|
sharedlibdir=@INSTALL_LIB_DIR@
|
||||||
|
includedir=@INSTALL_INC_DIR@
|
||||||
|
|
||||||
|
Name: zlib
|
||||||
|
Description: zlib compression library
|
||||||
|
Version: @VERSION@
|
||||||
|
|
||||||
|
Requires:
|
||||||
|
Libs: -L${libdir} -L${sharedlibdir} -lz
|
||||||
|
Cflags: -I${includedir}
|
||||||
31
zutil.c
31
zutil.c
@@ -1,11 +1,14 @@
|
|||||||
/* zutil.c -- target dependent utility functions for the compression library
|
/* zutil.c -- target dependent utility functions for the compression library
|
||||||
* Copyright (C) 1995-2005, 2010, 2011 Jean-loup Gailly.
|
* Copyright (C) 1995-2005, 2010, 2011, 2012 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* @(#) $Id$ */
|
/* @(#) $Id$ */
|
||||||
|
|
||||||
#include "zutil.h"
|
#include "zutil.h"
|
||||||
|
#ifndef Z_SOLO
|
||||||
|
# include "gzguts.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NO_DUMMY_DECL
|
#ifndef NO_DUMMY_DECL
|
||||||
struct internal_state {int dummy;}; /* for buggy compilers */
|
struct internal_state {int dummy;}; /* for buggy compilers */
|
||||||
@@ -85,11 +88,31 @@ uLong ZEXPORT zlibCompileFlags()
|
|||||||
#ifdef FASTEST
|
#ifdef FASTEST
|
||||||
flags += 1L << 21;
|
flags += 1L << 21;
|
||||||
#endif
|
#endif
|
||||||
#ifdef Z_SOLO
|
#if defined(STDC) || defined(Z_HAVE_STDARG_H)
|
||||||
return flags;
|
# ifdef NO_vsnprintf
|
||||||
|
flags += 1L << 25;
|
||||||
|
# ifdef HAS_vsprintf_void
|
||||||
|
flags += 1L << 26;
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# ifdef HAS_vsnprintf_void
|
||||||
|
flags += 1L << 26;
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
#else
|
#else
|
||||||
return flags + gzflags();
|
flags += 1L << 24;
|
||||||
|
# ifdef NO_snprintf
|
||||||
|
flags += 1L << 25;
|
||||||
|
# ifdef HAS_sprintf_void
|
||||||
|
flags += 1L << 26;
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# ifdef HAS_snprintf_void
|
||||||
|
flags += 1L << 26;
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
return flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
|||||||
8
zutil.h
8
zutil.h
@@ -1,5 +1,5 @@
|
|||||||
/* zutil.h -- internal interface and configuration of the compression library
|
/* zutil.h -- internal interface and configuration of the compression library
|
||||||
* Copyright (C) 1995-2011 Jean-loup Gailly.
|
* Copyright (C) 1995-2012 Jean-loup Gailly.
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
#ifndef ZUTIL_H
|
#ifndef ZUTIL_H
|
||||||
#define ZUTIL_H
|
#define ZUTIL_H
|
||||||
|
|
||||||
#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ)
|
#ifdef HAVE_HIDDEN
|
||||||
# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
|
# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
|
||||||
#else
|
#else
|
||||||
# define ZLIB_INTERNAL
|
# define ZLIB_INTERNAL
|
||||||
@@ -245,4 +245,8 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
|||||||
#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
|
#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
|
||||||
#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
|
#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
|
||||||
|
|
||||||
|
/* Reverse the bytes in a 32-bit value */
|
||||||
|
#define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
|
||||||
|
(((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
|
||||||
|
|
||||||
#endif /* ZUTIL_H */
|
#endif /* ZUTIL_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user