Mailing-List: contact cygwin-announce-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-announce-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-announce AT sources DOT redhat DOT com Delivered-To: moderator for cygwin-announce AT sources DOT redhat DOT com Message-ID: <39FD9161.10AE3F59@ece.gatech.edu> Date: Mon, 30 Oct 2000 10:18:57 -0500 From: "Charles S. Wilson" X-Mailer: Mozilla 4.75 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: cygwin-announce AT sources DOT redhat DOT com Subject: Updated: libpng-1.0.8-2 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit The libpng package has been updated to version 1.0.8-2. 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: - dll is now called 'cygpng2.dll' to avoid naming conflicts dlls from other platforms. If you have an application that depends on libpng.dll, you must either recompile so that the app depends on cygpng2.dll, or take special steps to preserve libpng.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, and concerning dll versioning. - updates from 1.0.9pre3 (I've tested these, but they only apply to the asm acceleration code, which isn't included in the binary package. So, I didn't bump the version number) 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/libpng.dll, do: 'cp /usr/bin/libpng.dll /usr/bin/libpng.dll.bak' BEFORE continuing. AFTER running setup.exe, do: 'cp /usr/bin/libpng.dll.bak /usr/bin/libpng.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 AT sources DOT redhat 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 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 DOT com AT sources DOT redhat DOT com NOTES: o Building the package from source requires gcc-2.95.2-2 and binutils-20000722-1 or later o depends on zlib-1.1.3-5, so you should also update zlib to that version. o updates from 1.0.9pre3 (I've tested these, but they only apply to the asm acceleration code -- which isn't included in the binary package. So, I didn't bump the version number) o follows new naming scheme for dlls: - import-lib /usr/lib/libpng.dll.a - static-lib /usr/lib/libpng.a - stripped dll /usr/bin/cygpng2.dll (**) - cygwin-specific docs in /usr/doc/Cygwin/libpng-1.0.8.README - generic docs in /usr/doc/libpng-1.0.8/* (**) png-developers specify that 1.x.y packages have an interface version number of 2. The 2.x.y packages are forthcoming, and will be have a version number of 3. 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 /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 libpng, and you wish to link *statically*, define -DPNG_STATIC *and* -DZLIB_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 (recommended). 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 -mno-win32') - dll (+ 'gcc -mno-win32') - static with pnggccrd (+ 'gcc -mno-win32') - dll with pnggccrd (+ '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 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.8.README contains instructions for building your own asm-accelerated libpng. o Most of the cygwin changes have been accepted into the official libpng-1.0.8 tree. The remaining changes have to do with the CYGWIN-PATCHES directory and slight modifications to the Makefile install: process, and so it's appropriate that these minor changes be maintained outside the official tree. Charles Wilson libpng volunteer maintainer for cygwin