This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Updated: libpng-1.0.9-3

The libpng package has been updated to version 1.0.9-3.  libpng is a
library that provides routines to access and manipulate Portable Network
Graphics (PNG) images.  PNG is a lossless, patent-unencumbered image
format intended to replace GIF.

Since the png-developers group released version 1.0.9 and our previous
cygwin version was based on 1.0.8, I updated our package.  This is
cygwin release 1.0.9-3 because 1.0.9-1 and 1.0.9-2 were internal
versions based on the 1.0.9 release candidates from the png-developers


- many bugfixes from the png-developers group between 1.0.8 and 1.0.9.

- supports the '-DALL_STATIC' compile-time flag as a synonym for
-DPNG_STATIC (and ZLIB_STATIC).  This should help make it easier to
compile statically a project with many dependencies.  However, this is a
long-term project: each 'dll-ized' library must be updated before
'-DALL_STATIC' is useful.  Don't hold your breath.  So far, the
following libraries support -DALL_STATIC:


To update your installation, click on the "Install Cygwin now" link on
the 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 '' site
is badly overloaded.  The mirrors below have the latest version of this
package: (US)
(Germany) (Greece)

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

If you have questions or comments, please send them to the Cygwin
mailing list at: .  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.


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:


o Building the package from source requires gcc-2.95.2-7 and
binutils-20001221-1 or later (the -mno-win32 flag was inverted
to -mwin32 at that release)

o depends on zlib-1.1.3-6, so you should also update zlib to that

o If you are building a package that depends on libpng, and you wish to
link *statically*, define -DPNG_STATIC *and* -DZLIB_STATIC (or just
define -DALL_STATIC) to get the 'correct' #define's in png.h/pngconf.h 
*and* 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 libpng and you want to link dynamically

o I was able to successfully compile and pass libpng's internal tests
('make test') with all of the following build enviromenments:
  - static
  - dll
  - static with pnggccrd (assembler optimizations)
  - dll with pnggccrd
  - static (compiled with 'gcc -mwin32')
  - dll (+ 'gcc -mwin32')
  - static with pnggccrd (+ 'gcc -mnin32')
  - dll with pnggccrd (+ 'gcc -mwin32')
However, the binary package did not use any of the assembler code, and I
didn't use 'gcc -mwin32' to compile it. According to tests reported
on the libpng-developer's mailing list, the pnggccrd 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 libpng with those
enhancements, download the source -- /usr/doc/Cygwin/libpng-1.0.9.README 
contains instructions for building your own asm-accelerated libpng. 

Charles Wilson
libpng volunteer maintainer for cygwin

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]