Updated: zlib-1.1.3-5

Charles S. Wilson cwilson@ece.gatech.edu
Mon Oct 30 09:10:00 GMT 2000


The zlib package has been updated to version 1.1.3-5.  zlib is a
standard lossless compression library.

CHANGES:

- dll is now called 'cygz.dll' to avoid naming conflicts dlls from other
platforms. If you have an application that depends on libz.dll, you must
either recompile so that the app depends on cygz.dll, or take special
steps to preserve libz.dll (see below).  Hopefully this short-term
inconvenience will reduce long-term difficulties.

- see this thread: "DLL naming flamefest"
http://www.cygwin.com/ml/cygwin/2000-10/msg01275.html for a detailed
discussion of the arguments for/against this renaming.

- minor fixes from Dr. Volker Zell

INSTALLATION:

To update your installation, click on the "Install Cygwin now" link on
the http://sources.redhat.com/cygwin web page.  This downloads setup.exe
to your system.

Since setup will uninstall the old version, if you want to preserve
/usr/bin/libz.dll, do:
   'cp /usr/bin/libz.dll /usr/bin/libz.dll.bak'
BEFORE continuing.  AFTER running setup.exe, do:
   'cp /usr/bin/libz.dll.bak /usr/bin/libz.dll'
(yes, I know this is obvious; I just wanted to emphasize that there is
no automated way of doing it)

Run setup and answer all of the questions.  PLEASE, PLEASE, PLEASE
choose a mirror site for your download.  The 'sources.redhat.com' site
is badly overloaded.  The mirrors below have the latest version of this
package:

ftp://ftp.sunsite.utk.edu/pub/cygwin/ (US)
ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/mirrors/cygnus/
(Germany)
ftp://ftp.ntua.gr/pub/pc/cygwin/ (Greece)

The setup.exe program will figure out what needs to be updated on your
system and should install the less package automatically.

If you have questions or comments, please send them to the Cygwin
mailing list at:  cygwin@sources.redhat.com .  I would appreciate if you
would use this mailing list rather than emailing me directly. This
includes ideas and comments about the setup utility or Cygwin general.

If you want to make a point or ask a question the Cygwin mailing list is
the appropriate place.

              *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

If you want to unsubscribe to the cygwin-announce mailing list, look at
the "List-Unsubscribe: " tag in the email header of this message. Send
email to the address specified there.  It will be in the format:

cygwin-announce-unsubscribe-you=yourdomain.com@sources.redhat.com

NOTES:

o Building the package from source requires gcc-2.95.2-2 and
binutils-20000722-1 or later

o minor fixes from Dr. Volker Zell

o follows new naming scheme for dlls:
  - import-lib   /usr/lib/libz.dll.a
  - static-lib   /usr/lib/libz.a
  - stripped dll /usr/bin/cygz.dll (**)
  - cygwin-specific docs in /usr/doc/Cygwin/zlib-1.1.3.README
  - generic docs in /usr/doc/zlib-1.1.3/*

(**) Under this new naming scheme, the dll's should really be
versioned.  However, zlib hasn't been changed in ages, and its interface
is *very* stable.  So, no version number necessary.

o The source archive has already had the cygwin-specific patch applied
to it.

o A cygwin-specific README and PATCH are stored in the source archive,
under <top>/CYGWIN-PATCHES/* (although that patch has already been
applied to the archive itself). The cygwin-specific README is also
installed by the binary distribution as described above.

o If you are building a package that depends on zlib, and you wish to
link *statically*, define -DZLIB_STATIC to get the 'correct' #define's
in zlib.h/zconf.h when compiling the .o files in your package. Also, use
'gcc -static' when linking your package.

o No special -Ddefine options or link options are needed when building a
package that depends on libz and you want to link dynamically
(recommended).

o I was able to successfully compile and pass zlib's internal tests
('make test') with all of the following build enviromenments:
  - static library  
  - dll
  - static library with 686 optimized assembly code
  - dll with 686 optimized assembly code
  - static library with 586 optimized assembly code
  - dll with 586 optimized assembly code
  - static library (compiled with 'gcc -mno-win32')
  - dll (+ 'gcc -mno-win32')
  - static library (+ 686 assembly code) (+ 'gcc -mno-win32')
  - dll (+ 686 assembly code) (+ 'gcc -mno-win32')
  - static library (+ 586 assembly code) (+ 'gcc -mno-win32')
  - dll (+ 586 assembly code) (+ 'gcc -mno-win32')

However, the binary package does not use any of the assembler code, and
I
didn't use 'gcc -mno-win32' to compile it. According to tests reported
on the libpng-developer's mailing list, the zlib assembly code did not
speed it up all that much, and it breaks cygwin's compatibility with
older processors (a no-no). If you want to build your own zlib with
those enhancements, download the source -- there are instructions for
doing so.


Charles Wilson
zlib volunteer maintainer for cygwin


More information about the Cygwin-announce mailing list