Updated: zlib-1.1.3-4

Charles Wilson cwilson@ece.gatech.edu
Mon Jul 31 21:49:00 GMT 2000


The zlib package in cygwin/latest has been updated (and moved). 

Please read this message in its entirety. A list of changes/notes
concerning this package appear below.

zlib now appears in cygwin/contrib/zlib/ instead of cygwin/latest/zlib.
This should not affect most users; for now, packages in the contrib
directory are treated exactly as if they were in the latest directory.
In the future, setup.exe may have the ability to mark certain packages
-- especially those in contrib -- as optional. If you are keeping a
personal archive of installation packages, as I am, don't forget to
remove your copy of cygwin/latest/zlib/*.

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.

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://gd.tuwien.ac.at/gnu/cygwin/ (Austria)
http://programming.ccp14.ac.uk/ftp-mirror/programming/cygwin/pub/cygwin/
   (UK)

Note that if this is the first time that you've run the new GUI version
of setup, it will currently download the whole cygwin net release again.
After this point it will only download what is needed.

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 Update to abide by the cygwin package system standard:
  - import-lib   /usr/lib/libz.dll.a
  - static-lib   /usr/lib/libz.a
  - stripped dll /usr/bin/libz.dll
  - cygwin-specific docs in /usr/doc/Cygwin/zlib-1.1.3.README
  - generic docs in /usr/doc/zlib-1.1.3/*
  
o The old package, zlib-1.1.3-1, was built prior to certain changes in
the linker that allowed us to change the naming scheme for static
libraries, import libraries, and header files. Specifically,
/usr/include/static/* and the libz.a symlink are obsolete.  To
completely remove all obsoleted files from your system, you must remove
the following files by hand:
  - /usr/include/static/zlib.h 
  - /usr/include/static/zconf.h
  - /usr/lib/libz.a-dll
  - /usr/lib/libz.a-static
  - setup will overwrite the symlink with the new lib automatically 
If you choose not to remove any of these files, that's okay -- your
system will still use the newest stuff. If you also update libpng to
libpng-1.0.8-1, then you can also remove
/usr/include/static/png.h,pngconf.h, and eliminate the
/usr/include/static directory itself.

o If you have installed or plan to install the usr-local package from
cygutils, read this note:
http://cygutils.netpedia.net/V1.1/index.html#note1

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 did 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