Commit Graph

284 Commits

Author SHA1 Message Date
Mark Adler
10fca844b1 Include unistd.h for Watcom C. 2012-02-18 15:37:37 -08:00
Mark Adler
a75d6ea070 Require gcc 4.0 or later on Mac OS X to use the hidden attribute. 2012-02-18 15:37:28 -08:00
Török Edwin
660103339f Fix build with non-GNU make on Solaris. 2012-02-18 14:40:59 -08:00
Mark Adler
d81e7213b7 Restore gzgetc_ for backward compatibility with 1.2.6. 2012-02-18 14:15:17 -08:00
Mark Adler
6838df9246 Test for existence of strerror.
SunOS 4.1 claims that it is __STDC__, but it does not have strerror
in string.h.  Instead of using __STDC__, this puts a direct test
for strerror in configure, and uses that information in gzguts.h.
2012-02-18 13:55:09 -08:00
Mark Adler
d1714a57c5 Replace use of memmove() with a simple copy for portability.
SunOS 4.1 doesn't have memmove(), and there may be others.  memcpy()
should not be used for overlapping copies, so here a simple copy is
implemented that works for the particular direction of the overlap,
which is where the destination precedes the source.
2012-02-18 13:37:45 -08:00
Mark Adler
455adc3029 Expunge gzgetc_ from configuration files. 2012-02-13 23:34:48 -08:00
Mark Adler
eee7b9e576 Remove unnecessary include for byte swap built-in [Bosmans]. 2012-02-13 23:03:36 -08:00
Mark Adler
5bbdc122ad Don't use built-in byte swaps if compiled solo. 2012-02-12 19:28:06 -08:00
Mark Adler
72e2c8f088 Change version number to 1.2.7. 2012-02-12 16:15:47 -08:00
Mark Adler
94acb3c1a0 zlib 1.2.6.1 2012-02-12 14:20:33 -08:00
Mark Adler
75143f819f Fix minor typo in zlib.h comments [Rześniowiecki]. 2012-02-11 00:31:24 -08:00
Mark Adler
7d45cf5a1d Use optimized byte swap operations for Microsoft and GNU [Snyder]. 2012-02-11 00:26:38 -08:00
Mark Adler
1a4ba8cd91 Remove unnecessary gzgetc_ function. 2012-02-10 23:55:12 -08:00
Mark Adler
9894494537 Update make_vms.com [Zinser]. 2012-02-05 10:55:09 -08:00
Mark Adler
fc68b60086 Minor cleanup in contrib/minizip/zip.c [Vollant]. 2012-02-04 10:14:13 -08:00
Mark Adler
2dadd2fab4 Use name in GCC_CLASSIC as C compiler for coverage testing, if set.
Apple removed support for gcov in the default gcc compiler chain,
when they moved to llvm.  This can be circumvented in XCode 4.2 by
using the gcc chain with gcc-4.2.  This patch allows setting
GCC_CLASSIC to the name of a real gcc executable (e.g. "gcc-4.2")
to allow coverage testing.
2012-02-04 10:00:48 -08:00
Mark Adler
f9e4edc996 Avoid library header include in crc32.c for Z_SOLO.
crc32.c was #including limits.h in order to find a four-byte integer
type.  It was doing this even if Z_SOLO were defined, violating the
intent of Z_SOLO, which is to include no library headers and require
no library functions.  Now crc32.c obeys the intent of Z_SOLO, but
with the downside that crc32() will be slower than when not compiled
with Z_SOLO.  This can be remedied manually by typedefing u4 to a
known four-byte unsigned integer type, and #defining BYFOUR in
crc32.c.
2012-02-01 23:55:29 -08:00
Mark Adler
55b8b5fec1 Put gzflags() functionality back in zutil.c.
gzflags() was put in gzwrite.c in order to be compiled exactly the
same as gzprintf(), so that it was guaranteed to return the correct
information.  However that causes a static linkage to zlib to bring
in many routines that are often not used.  All that is required to
duplicate the compilation environment of gzprintf() is to include
gzguts.h.  So that is now done in zutil.c to assure that the correct
flags are returned.
2012-02-01 23:25:34 -08:00
Mark Adler
a8d23bb675 Include gz_header definition when compiling zlib solo. 2012-02-01 23:04:20 -08:00
Mark Adler
98e5787e1b Fix problem with ./configure --prefix and gzgetc macro. 2012-01-30 23:55:14 -08:00
Mark Adler
3fb727c34d Include io.h in gzguts.h for Microsoft compilers. 2012-01-29 21:15:24 -08:00
Mark Adler
5dac2aa007 Avoid the use of the Objective-C reserved name "id". 2012-01-29 21:15:24 -08:00
Mark Adler
7b3f71ba5f Change version number to 1.2.6.1. 2012-01-29 21:15:24 -08:00
Mark Adler
e75de023b6 zlib 1.2.6 2012-01-29 10:13:15 -08:00
Mark Adler
68a02240a6 Correct in zlib.map when deflateResetKeep was added. 2012-01-29 09:57:58 -08:00
Mark Adler
5461db945c Use the -m option on ldconfig for BSD systems [Tobias]. 2012-01-29 09:48:11 -08:00
Mark Adler
22eb01184f Have gzputc return the character written instead of the argument.
When successful, gzputc would return the second argument.  If the
second argument were -1, gzputc would return -1 instead of the
character written, which was 255.  However the -1 would not be
distinguishable from an error.  Now gzputc returns 255 in that
case.
2012-01-29 09:47:29 -08:00
Mark Adler
8fbd9f1340 Exit when required parameters not provided to win32/Makefile.gcc. 2012-01-29 08:53:53 -08:00
Mark Adler
520561c577 Add the generation of configure.log by ./configure. 2012-01-28 14:48:50 -08:00
Jonathan Nieder
32d8a5379e Add an --enable-demos option to contrib/minizip/configure.
This makes build-testing and installing the minizip/miniunzip programs
as simple as "autoreconf -if && ./configure --enable-demos && make &&
make install".  Without --enable-demos, the makefile will only build
and install the library, as before.  Helped by Mike Frysinger.

minizip/miniunzip were not intended to be general-purpose installed
utilities, but they can be useful from time to time as a lightweight
substitute for zip/unzip.  You can also use them to quickly test that
the library installation procedure worked.
2012-01-21 17:15:48 -08:00
Jonathan Nieder
f0cff24214 Add support for VPATH builds in contrib/minizip.
Instead of using relative paths directly, use paths relative to
top_srcdir and top_builddir to refer to source files and built files,
respectively.

Note that the toplevel zlib configure script still does not have any
special support for out-of-tree builds.  But now you can do

	(cd contrib/minizip && autoreconf -fis)

	mkdir -p BUILD/test
	cp *.c *.h *.in zlib.map configure zlib.3 BUILD
	cp test/*.c BUILD/test
	(cd BUILD && ./configure --shared)
	(cd BUILD && make)

	mkdir -p BUILD/contrib/minizip
	cd BUILD/contrib/minizip
	../../../contrib/minizip/configure
	make

While at it, move the include path and library path settings to
CPPFLAGS and LDFLAGS respectively instead of setting both in CFLAGS.
Thanks to Mike Frysinger for advice.
2012-01-21 12:56:57 -08:00
Jonathan Nieder
81015585d2 Add missing libs to minizip linker command.
Trying to build the minizip utility from contrib/minizip after an
autoreconf -f:

	libtool: link: gcc -g -O2 -o minizip minizip.o
	minizip.o: In function `getFileCrc':
	/tmp/zlib/contrib/minizip/minizip.c:211: undefined reference to `crc32'
	minizip.o: In function `main':
	/tmp/zlib/contrib/minizip/minizip.c:378: undefined reference to `zipOpen64'
	/tmp/zlib/contrib/minizip/minizip.c:451: undefined reference to `zipOpenNewFileInZip3_64'
	/tmp/zlib/contrib/minizip/minizip.c:502: undefined reference to `zipCloseFileInZip'
	/tmp/zlib/contrib/minizip/minizip.c:509: undefined reference to `zipClose'
	/tmp/zlib/contrib/minizip/minizip.c:485: undefined reference to `zipWriteInFileInZip'
	collect2: error: ld returned 1 exit status

The cause: contrib/minizip/Makefile.am does not specify that minizip
needs to be linked to libminizip.  With some linkers (e.g., GNU
binutils without --copy-dt-needed-entries), an indirect dependency
cannot be used to resolve symbols, so link to libz for crc32(), too.
2012-01-21 12:46:25 -08:00
Jonathan Nieder
ad88c19baa Add -I../.. -L../.. to CFLAGS for minizip and miniunzip.
Trying to build miniunzip utility from contrib/minizip after an
autoreconf -f produces

	[...]
	In file included from minizip.c:61:0:
	zip.h:50:18: fatal error: zlib.h: No such file or directory

unless zlib is already installed.  Use AM_CFLAGS to set the include
path and library path to point to the just-build copy of zlib to
fix this.  (This was already done for libminizip but not the binaries
that use it before this patch.)
2012-01-21 12:45:38 -08:00
Mark Adler
17741efa02 Remove trailing space in contrib/minizip/minizip.c. 2012-01-21 12:00:26 -08:00
Mark Adler
de6cb6fe5c Avoid some warnings in contrib/minizip [Vollant]. 2012-01-21 11:58:45 -08:00
Mark Adler
601b542a9d Protect for long name and extra fields in contrib/minizip [Vollant]. 2012-01-21 11:58:45 -08:00
Mark Adler
0458bbf2c0 Fix bug when compiling minizip with C++ [Vollant]. 2012-01-21 11:58:35 -08:00
Mark Adler
06c0e754ce Minor cleanup up contrib/minizip/unzip.c [Vollant]. 2012-01-21 11:49:31 -08:00
Mark Adler
9cdb49c96e Avoid warning for no encryption in contrib/minizip/zip.c [Vollant]. 2012-01-21 11:48:14 -08:00
Mark Adler
09bbe4c7f0 Make version explicit in contrib/minizip/configure.ac [Bosmans]. 2012-01-20 23:36:59 -08:00
Mark Adler
b9a778a2b8 Include io.h for Turbo C / Borland C on all platforms [Truta]. 2012-01-18 19:33:02 -08:00
Mark Adler
4a9e4dff0d Correct suggested usages in win32/Makefile.msc [שחר, Horvath]. 2012-01-16 18:51:31 -08:00
Mark Adler
5c312df969 Fix compilation of contrib/minizip on FreeBSD [Márquez]. 2012-01-16 18:51:31 -08:00
Mark Adler
e1f45fed54 Fix contrib/minizip/zip.c for 64-bit architectures [Dalsnes]. 2012-01-16 18:51:31 -08:00
Mark Adler
509c1d2860 Fix CMakeLists.txt for cross compilation [McClure]. 2012-01-16 18:51:23 -08:00
Mark Adler
2d55657c03 Have ./configure use the compiler return code for error indication.
Previously ./configure would use any output on stderr as an indication
that the compilation failed.  However if some compiler wrapper uses
stderr for some other purpose, e.g. distcc for nodes going down, then
./configure would not properly configure the build.  This problem was
noted by Mike Frysinger.  For backwards compatibility, ./configure
will revert to the old way, i.e. checking for anything on stderr, if
when it deliberately runs the compiler with an error, a zero exit
status is returned.
2012-01-16 16:44:40 -08:00
Mark Adler
5a5dd2c793 Fix large-entry detection in minizip on 64-bit systems [Schiffer]. 2012-01-16 16:44:40 -08:00
Mark Adler
eb33abcc55 Fix configure.ac for contrib/minizip [Schiffer]. 2012-01-16 16:44:40 -08:00
Mark Adler
ce0ca940c2 Fix function numbers for gzgetc_ in zlibvc.def files. 2012-01-16 16:44:40 -08:00