Commit Graph

696 Commits

Author SHA1 Message Date
Mark Adler 41a18e1d7e Fix bug in test/minigzip.c for configure --solo. 2012-03-03 22:43:15 -08:00
Mark Adler 755c41dc4b Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen(). 2012-03-03 10:27:57 -08:00
Mark Adler 53bfe01cea Fix bug in gzclose_w() when gzwrite() fails to allocate memory. 2012-03-03 09:28:00 -08:00
Mark Adler dab7531ecc Simplify test and use of gcc hidden attribute. 2012-03-03 00:20:00 -08:00
Mark Adler 2547c6c81f Don't use library or built-in byte swaps.
Using optimized byte swaps reduced portability for no real benefit,
since they are in parts of the code that represent a tiny fraction
of the execution time.  So a simple definition of a byte swap is
now used.
2012-03-03 00:03:30 -08:00
Mark Adler 513dfcc00e Fix make_vms.com for VAX [Zinser]. 2012-03-02 23:50:17 -08:00
Mark Adler 05de38d11e Cast to char * in gzprintf to avoid warnings [Zinser]. 2012-03-02 23:47:42 -08:00
Mark Adler 80f3e39eb8 Avoid using __int64 for gcc or solo compilation. 2012-02-20 09:24:30 -08:00
Mark Adler 3f4339b61b Improve the detection of no hidden visibility attribute. 2012-02-19 23:33:10 -08:00
Mark Adler e6d2a8471b Do not use the visibility attribute if NO_VIZ defined. 2012-02-19 22:45:10 -08:00
Mark Adler 8435052a6b Update version numbers and year in win32/README-WIN32.txt. 2012-02-19 22:36:40 -08:00
Mark Adler d63c888039 Use __WATCOMC__ instead of __WATCOM__. 2012-02-18 23:11:49 -08:00
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