Mailing-List: contact cygwin-announce-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-announce-owner AT cygwin DOT com Reply-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin-announce AT cygwin DOT com Delivered-To: moderator for cygwin-announce AT cygwin DOT com Message-ID: <3CC010BC.8020003@ece.gatech.edu> Date: Fri, 19 Apr 2002 08:42:36 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2 X-Accept-Language: en-us MIME-Version: 1.0 To: cygwin-announce AT cygwin DOT com Subject: Updated: libpng-1.0.13-1 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit The libpng package has been updated to version 1.0.13-1. 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: - 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 - Note: most people will get the libpng10 package automagically, but you need to explicitly select and install the libpng10-devel package. - 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 libpng10 and libpng10-devel 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 AT cygwin DOT 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 DOT com AT cygwin DOT 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 , 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/. This is a major pain, but nobody asked me. 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/ I've implemented this symlink creation as part of the postinstall script. Finally, they recommend removing the /usr/include/png[conf].h files completely -- setup.exe handles this for us. However, this means that dependent packages MUST adjust their -I paths... 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