This is the mail archive of the cygwin@cygwin.com 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]
Other format: [Raw text]

[ANNOUNCEMENT] Updated: libpng-1.0.13-2, libpng10-1.0.13-2, libpng10-devel-1.0.13-2


The libpng package has been updated to version 1.0.13-2, along with the 
libpng10 and libpng10-devel packages.  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.

CHANGES (since 1.0.13-1):

- harmonize the packaging for better coexistence with the upcoming
   1.2.3-1 package.

CHANGES (since 1.0.12-1):

- Correct a bug in pngconf.h (_cdecl), update to 1.0.13 release

- split into three packages, instead of just two (yes, it was
   necessary.  See below)
    libpng-1.0.13-1         : documentation and the postinstall script
	libpng10-1.0.13-1       : the dll
	libpng10-devel-1.0.13-1 : the link libs, headers, etc

- Aside: there are a few packages that depend on cygpng2.dll (that
   is, on the libpng2 package).  libpng2 can be installed alongside
   these three packages, but new compiles will link against
   cygpng10.dll.  Package maintainers should remember to update
   their setup.hints when recompiling dependent packages, to
   reflect the (future) new dependence on the libpng10 package.

--
Charles Wilson
libpng volunteer maintainer for cygwin

INSTALLATION:

To update your installation, click on the "Install Cygwin now" link
on the http://cygwin.com/ web page.  This downloads setup.exe to your
system.  Then, run setup and update the libpng package -- and also
install the new libpng2 package.

Note that we have recently stopped downloads from sources.redhat.com
(aka cygwin.com) due to bandwidth limitations.  This means that you
will  need to find a mirror which has this update.

In the US,
ftp://mirrors.rcn.net/mirrors/sources.redhat.com/cygwin/
is a reliable high bandwidth connection.

In the UK,
http://programming.ccp14.ac.uk/ftp-mirror/programming/cygwin/pub/cygwin/
is usually up-to-date within 48 hours.

If one of the above doesn't have the latest version of this package
then you can either wait for the site to be updated or find another
mirror.

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

NOTES:

In order to facilitate peaceful coexistence, the upstream libpng
folks made a few changes.  Now, you can use
   -I/usr/include/libpng10 -lpng10
to explicitly link against 1.0.x, or you can use (eventually)
   -I/usr/include/libpng12 -lpng12
to explicitly link against 1.2.x

Also, they recommend symlinks so that
   -I/usr/include/libpng -lpng
will link against the newest version of libpng installed on
the system.

They also decided to scrap the [cyg|lib]png2.dll, 3.dll,
sequence, instead, going with <MAJ><MIN>, so 1.0.x is now
cygpng10.dll -- ditto for the import libs and static libs,
as well as moving the header files into versioned subdirs
of /usr/include/, although symbolic links to those header
files are put directly into /usr/include..

So, we have:

   dynamic lib: cygpng10.dll
   import lib:  libpng10.dll.a
   static lib:  libpng10.a
   include files:  /usr/include/libpng10/*

The symlinks I mentioned earlier:

   in /usr/lib:            libpng.dll.a --> libpng10.dll.a
   in /usr/lib:            libpng.a     --> libpng10.a
   in /usr/include:        libpng       --> libpng10/
   in /usr/include:        png.h        --> libpng10/png.h
   in /usr/include:        pngconf.h    --> libpng10/pngconf.h
   in /usr/lib/pkgconfig:  libpng.pc    --> libpng10.pc

I've implemented this symlink creation as part of the postinstall
script.

Presumably, the 1.2.x version of libpng will use "12" suffixes.

o Now uses the auto-import functionality of newer binutils, and
doesn't use __declspec(dllimport).  This means you no longer need
-DPNG_STATIC when compiling objects intended for static linking.  Just
compile as normal. HOWEVER, you need to use a special flags when
linking statically: 'gcc -static'. For dynamic linking, you need no
special link-time flags (assuming you're using binutils newer than
20010930, when --enable-auto-import was made the default).

   -- PRO: no compile time flags needed when building
           client programs; ONLY need a link-time flag
           linking to static libraries.  NO special flags
           at compile-time nor link-time when linking to
           dynamic links.
   -- CON: (partial): if using binutils older than 20010930,
           you now need a special linktime flag for dynamic
           linking (-Wl,--enable-auto-import).  However,
           with an up-to-date binutils, you don't need this.

o The following packages have been converted from old style
"-DFOO_STATIC" to the new autoimport style of DLL structure:
   ncurses readline gettext zlib libpng xpm-nox
   jpeg    tiff     jbig    gdbm
The following have not (yet) and still need -DFOO_STATIC for
static builds:
   bzip2



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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