15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)README for libpng version 1.2.45 - July 7, 2011 (shared library 12.0)
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)See the note about version numbers near the top of png.h
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)See INSTALL for instructions on how to install libpng.
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Libpng comes in several distribution formats.  Get libpng-*.tar.gz,
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)libpng-*.tar.xz, or libpng-*.tar.bz2 if you want UNIX-style line
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)endings in the text files, or lpng*.7z or lpng*.zip if you want DOS-style
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)line endings.  You can get UNIX-style line endings from the *.zip file
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)by using "unzip -a" but there seems to be no simple way to recover
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)UNIX-style line endings from the *.7z file.  The *.tar.xz file is
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)recommended for *NIX users instead.
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Version 0.89 was the first official release of libpng.  Don't let the
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)fact that it's the first release fool you.  The libpng library has been in
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extensive use and testing since mid-1995.  By late 1997 it had
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)finally gotten to the stage where there hadn't been significant
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)changes to the API in some time, and people have a bad feeling about
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)libraries with versions < 1.0.  Version 1.0.0 was released in
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)March 1998.
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)****
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Note that some of the changes to the png_info structure render this
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)version of the library binary incompatible with libpng-0.89 or
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)earlier versions if you are using a shared library.  The type of the
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)"filler" parameter for png_set_filler() has changed from png_byte to
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)png_uint_32, which will affect shared-library applications that use
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)this function.
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)To avoid problems with changes to the internals of png_info_struct,
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)new APIs have been made available in 0.95 to avoid direct application
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)access to info_ptr.  These functions are the png_set_<chunk> and
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)png_get_<chunk> functions.  These functions should be used when
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)accessing/storing the info_struct data, rather than manipulating it
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)directly, to avoid such problems in the future.
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)It is important to note that the APIs do not make current programs
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)that access the info struct directly incompatible with the new
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)library.  However, it is strongly suggested that new programs use
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)the new APIs (as shown in example.c and pngtest.c), and older programs
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)be converted to the new format, to facilitate upgrades in the future.
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)****
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Additions since 0.90 include the ability to compile libpng as a
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Windows DLL, and new APIs for accessing data in the info struct.
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Experimental functions include the ability to set weighting and cost
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)factors for row filter selection, direct reads of integers from buffers
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)on big-endian processors that support misaligned data access, faster
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)methods of doing alpha composition, and more accurate 16->8 bit color
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)conversion.
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)The additions since 0.89 include the ability to read from a PNG stream
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)which has had some (or all) of the signature bytes read by the calling
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)application.  This also allows the reading of embedded PNG streams that
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)do not have the PNG file signature.  As well, it is now possible to set
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)the library action on the detection of chunk CRC errors.  It is possible
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)to set different actions based on whether the CRC error occurred in a
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)critical or an ancillary chunk.
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)The changes made to the library, and bugs fixed are based on discussions
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)on the png-mng-implement mailing list and not on material submitted
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)privately to Guy, Andreas, or Glenn.  They will forward any good
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)suggestions to the list.
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)For a detailed description on using libpng, read libpng.txt.  For
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)examples of libpng in a program, see example.c and pngtest.c.  For usage
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)information and restrictions (what little they are) on libpng, see
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)png.h.  For a description on using zlib (the compression library used by
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)libpng) and zlib's restrictions, see zlib.h
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)I have included a general makefile, as well as several machine and
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)compiler specific ones, but you may have to modify one for your own needs.
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)You should use zlib 1.0.4 or later to run this, but it MAY work with
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)versions as old as zlib 0.95.  Even so, there are bugs in older zlib
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)versions which can cause the output of invalid compression streams for
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)some images.  You will definitely need zlib 1.0.4 or later if you are
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)taking advantage of the MS-DOS "far" structure allocation for the small
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)and medium memory models.  You should also note that zlib is a
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)compression library that is useful for more things than just PNG files.
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)You can use zlib as a drop-in replacement for fread() and fwrite() if
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)you are so inclined.
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)zlib should be available at the same place that libpng is, or at
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ftp://ftp.simplesystems.org/pub/png/src/
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)You may also want a copy of the PNG specification.  It is available
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)as an RFC, a W3C Recommendation, and an ISO/IEC Standard.  You can find
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)these at http://www.libpng.org/pub/png/pngdocs.html
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)This code is currently being archived at libpng.sf.net in the
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)at GO GRAPHSUP.  If you can't find it in any of those places,
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)e-mail me, and I'll help you find it.
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)If you have any code changes, requests, problems, etc., please e-mail
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)them to me.  Also, I'd appreciate any make files or project files,
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)and any modifications you needed to make to get libpng to compile,
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)along with a #define variable to tell what compiler/system you are on.
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)If you needed to add transformations to libpng, or wish libpng would
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)provide the image in a different way, drop me a note (and code, if
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)possible), so I can consider supporting the transformation.
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Finally, if you get any warning messages when compiling libpng
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)(note: not zlib), and they are easy to fix, I'd appreciate the
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)fix.  Please mention "libpng" somewhere in the subject line.  Thanks.
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)This release was created and will be supported by myself (of course
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)based in a large way on Guy's and Andreas' earlier work), and the PNG
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)development group.
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Send comments/corrections/commendations to png-mng-implement at lists.sf.net
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)(subscription required; visit 
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)https://lists.sourceforge.net/lists/listinfo/png-mng-implement
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)to subscribe) or to glennrp at users.sourceforge.net
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)You can't reach Guy, the original libpng author, at the addresses
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)given in previous versions of this document.  He and Andreas will
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)read mail addressed to the png-mng-implement list, however.
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Please do not send general questions about PNG.  Send them to
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)the (png-mng-misc at lists.sourceforge.net, subscription required, visit
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)https://lists.sourceforge.net/lists/listinfo/png-mng-misc to
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)subscribe). On the other hand, please do not send libpng questions to
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)that address, send them to me or to the png-mng-implement list.  I'll
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)get them in the end anyway.  If you have a question about something
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)in the PNG specification that is related to using libpng, send it
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)to me.  Send me any questions that start with "I was using libpng,
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)and ...".  If in doubt, send questions to me.  I'll bounce them
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)to others, if necessary.
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Please do not send suggestions on how to change PNG.  We have
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)been discussing PNG for twelve years now, and it is official and
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)finished.  If you have suggestions for libpng, however, I'll
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)gladly listen.  Even if your suggestion is not used immediately,
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)it may be used later.
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Files in this distribution:
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ANNOUNCE      =>  Announcement of this version, with recent changes
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      CHANGES       =>  Description of changes between libpng versions
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      KNOWNBUG      =>  List of known bugs and deficiencies
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      LICENSE       =>  License to use and redistribute libpng
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      README        =>  This file
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      TODO          =>  Things not implemented in the current library
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      Y2KINFO       =>  Statement of Y2K compliance
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      example.c     =>  Example code for using libpng functions
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      libpng-*-*-diff.txt => Diff from previous release
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      libpng.3      =>  manual page for libpng (includes libpng.txt)
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      libpng.txt    =>  Description of libpng and its functions
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      libpngpf.3    =>  manual page for libpng's private functions
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      png.5         =>  manual page for the PNG format
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      png.c         =>  Basic interface functions common to library
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      png.h         =>  Library function and interface declarations
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngconf.h     =>  System specific library configuration
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngerror.c    =>  Error/warning message I/O functions
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngget.c      =>  Functions for retrieving info from struct
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngmem.c      =>  Memory handling functions
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngbar.png    =>  PNG logo, 88x31
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngnow.png    =>  PNG logo, 98x31
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngpread.c    =>  Progressive reading functions
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngread.c     =>  Read data/helper high-level functions
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngrio.c      =>  Lowest-level data read I/O functions
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngrtran.c    =>  Read data transformation functions
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngrutil.c    =>  Read data utility functions
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngset.c      =>  Functions for storing data into the info_struct
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngtest.c     =>  Library test program
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngtest.png   =>  Library test sample image
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngtrans.c    =>  Common data transformation functions
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngwio.c      =>  Lowest-level write I/O functions
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngwrite.c    =>  High-level write functions
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngwtran.c    =>  Write data transformations
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      pngwutil.c    =>  Write utility functions
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      contrib       =>  Contributions
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       gregbook         =>  source code for PNG reading and writing, from
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            Greg Roelofs' "PNG: The Definitive Guide",
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            O'Reilly, 1999
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       msvctest     =>  Builds and runs pngtest using a MSVC workspace
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       pngminim     =>  Simple pnm2pngm and png2pnmm programs
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       pngminus     =>  Simple pnm2png and png2pnm programs
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       pngsuite     =>  Test images
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       visupng      =>  Contains a MSVC workspace for VisualPng
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      projects      =>  Contains project files and workspaces for
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                        building a DLL
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       beos             =>  Contains a Beos workspace for building libpng
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       c5builder        =>  Contains a Borland workspace for building
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            libpng and zlib
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       netware.txt      =>  Contains instructions for downloading a set
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            of project files for building libpng and
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            zlib on Netware.
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       visualc6         =>  Contains a Microsoft Visual C++ (MSVC)
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            workspace for building libpng and zlib
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       wince.txt        =>  Contains instructions for downloading a
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            Microsoft Visual C++ (Windows CD Toolkit)
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            workspace for building libpng and zlib on
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            WindowsCE
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       xcode            =>  Contains xcode project files
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      scripts       =>  Directory containing scripts for building libpng:
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       descrip.mms      =>  VMS makefile for MMS or MMK
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.std     =>  Generic UNIX makefile (cc, creates static
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            libpng.a)
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.elf     =>  Linux/ELF gcc makefile symbol versioning,
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            creates libpng12.so.0.1.2.45)
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.linux   =>  Linux/ELF makefile (gcc, creates
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            libpng12.so.0.1.2.45)
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            libpng12.so.0.1.2.45, previously
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            used assembler code tuned for Intel MMX
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            platform)
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.gcc     =>  Generic makefile (gcc, creates static
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            libpng.a)
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.knr     =>  Archaic UNIX Makefile that converts files
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            with ansi2knr (Requires ansi2knr.c from
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            ftp://ftp.cs.wisc.edu/ghost)
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.aix     =>  AIX makefile
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.cygwin  =>  Cygwin/gcc makefile
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.darwin  =>  Darwin makefile
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.dec     =>  DEC Alpha UNIX makefile
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.freebsd =>  FreeBSD makefile
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.hpgcc   =>  HPUX makefile using gcc
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.hpux    =>  HPUX (10.20 and 11.00) makefile
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.hp64    =>  HPUX (10.20 and 11.00) makefile, 64 bit
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.ibmc    =>  IBM C/C++ version 3.x for Win32 and OS/2
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            (static)
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.intel   =>  Intel C/C++ version 4.0 and later
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       libpng.icc       =>  Project file, IBM VisualAge/C++ 4.0 or later
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.netbsd  =>  NetBSD/cc makefile, makes libpng.so.
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.ne12bsd  =>  NetBSD/cc makefile, makes libpng12.so
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.openbsd =>  OpenBSD makefile
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.sggcc   =>  Silicon Graphics
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            (gcc, creates libpng12.so.0.1.2.45)
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.sunos   =>  Sun makefile
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.solaris =>  Solaris 2.X makefile
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            (gcc, creates libpng12.so.0.1.2.45)
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.so9     =>  Solaris 9 makefile
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            (gcc, creates libpng12.so.0.1.2.45)
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.32sunu  =>  Sun Ultra 32-bit makefile
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.64sunu  =>  Sun Ultra 64-bit makefile
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.mips    =>  MIPS makefile
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.acorn   =>  Acorn makefile
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.amiga   =>  Amiga makefile
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       smakefile.ppc    =>  AMIGA smakefile for SAS C V6.58/7.00 PPC
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            compiler (Requires SCOPTIONS, copied from
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            scripts/SCOPTIONS.ppc)
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.atari   =>  Atari makefile
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.beos    =>  BEOS makefile for X86
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.bor     =>  Borland makefile (uses bcc)
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.bc32    =>  32-bit Borland C++ (all modules compiled in C mode)
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.tc3     =>  Turbo C 3.0 makefile
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.dj2     =>  DJGPP 2 makefile
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.msc     =>  Microsoft C makefile
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.vcawin32=>  makefile for Microsoft Visual C++ 5.0 and
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            later (previously used assembler code tuned
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            for Intel MMX platform)
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.vcwin32 =>  makefile for Microsoft Visual C++ 4.0 and
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                            later (does not use assembler code)
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.os2     =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       pngos2.def       =>  OS/2 module definition file used by makefile.os2
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makefile.watcom  =>  Watcom 10a+ Makefile, 32-bit flat memory model
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       makevms.com      =>  VMS build script
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)       SCOPTIONS.ppc    =>  Used with smakefile.ppc
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Good luck, and happy coding.
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)-Glenn Randers-Pehrson (current maintainer, since 1998)
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Internet: glennrp at users.sourceforge.net
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)-Andreas Eric Dilger (former maintainer, 1996-1997)
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Internet: adilger at enel.ucalgary.ca
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Web: http://members.shaw.ca/adilger/
2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)-Guy Eric Schalnat (original author and former maintainer, 1995-1996)
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) (formerly of Group 42, Inc)
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Internet: gschal at infinet.com
276