src/3rdparty/libpng/README
changeset 30 5dc02b23752f
parent 0 1918ee327afb
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
     1 README for libpng version 1.2.40 - September 10, 2009 (shared library 12.0)
     1 README for libpng version 1.4.0 - January 3, 2010 (shared library 14.0)
     2 See the note about version numbers near the top of png.h
     2 See the note about version numbers near the top of png.h
     3 
     3 
     4 See INSTALL for instructions on how to install libpng.
     4 See INSTALL for instructions on how to install libpng.
     5 
     5 
     6 Libpng comes in several distribution formats.  Get libpng-*.tar.gz,
     6 Libpng comes in several distribution formats.  Get libpng-*.tar.gz,
     7 libpng-*.tar.lzma, or libpng-*.tar.bz2 if you want UNIX-style line
     7 libpng-*.tar.xz or libpng-*.tar.bz2 if you want UNIX-style line endings
     8 endings in the text files, or lpng*.7z or lpng*.zip if you want DOS-style
     8 in the text files, or lpng*.zip if you want DOS-style line endings.
     9 line endings.  You can get UNIX-style line endings from the *.zip file
       
    10 by using "unzip -a" but there seems to be no simple way to recover
       
    11 UNIX-style line endings from the *.7z file.  The *.tar.lzma file is
       
    12 recommended for *NIX users instead.
       
    13 
     9 
    14 Version 0.89 was the first official release of libpng.  Don't let the
    10 Version 0.89 was the first official release of libpng.  Don't let the
    15 fact that it's the first release fool you.  The libpng library has been in
    11 fact that it's the first release fool you.  The libpng library has been in
    16 extensive use and testing since mid-1995.  By late 1997 it had
    12 extensive use and testing since mid-1995.  By late 1997 it had
    17 finally gotten to the stage where there hadn't been significant
    13 finally gotten to the stage where there hadn't been significant
    56 the library action on the detection of chunk CRC errors.  It is possible
    52 the library action on the detection of chunk CRC errors.  It is possible
    57 to set different actions based on whether the CRC error occurred in a
    53 to set different actions based on whether the CRC error occurred in a
    58 critical or an ancillary chunk.
    54 critical or an ancillary chunk.
    59 
    55 
    60 The changes made to the library, and bugs fixed are based on discussions
    56 The changes made to the library, and bugs fixed are based on discussions
    61 on the png-mng-implement mailing list
    57 on the PNG-implement mailing list and not on material submitted
    62 and not on material submitted privately to Guy, Andreas, or Glenn.  They will
    58 privately to Guy, Andreas, or Glenn.  They will forward any good
    63 forward any good suggestions to the list.
    59 suggestions to the list.
    64 
    60 
    65 For a detailed description on using libpng, read libpng.txt.  For
    61 For a detailed description on using libpng, read libpng.txt.  For
    66 examples of libpng in a program, see example.c and pngtest.c.  For usage
    62 examples of libpng in a program, see example.c and pngtest.c.  For usage
    67 information and restrictions (what little they are) on libpng, see
    63 information and restrictions (what little they are) on libpng, see
    68 png.h.  For a description on using zlib (the compression library used by
    64 png.h.  For a description on using zlib (the compression library used by
    79 and medium memory models.  You should also note that zlib is a
    75 and medium memory models.  You should also note that zlib is a
    80 compression library that is useful for more things than just PNG files.
    76 compression library that is useful for more things than just PNG files.
    81 You can use zlib as a drop-in replacement for fread() and fwrite() if
    77 You can use zlib as a drop-in replacement for fread() and fwrite() if
    82 you are so inclined.
    78 you are so inclined.
    83 
    79 
    84 zlib should be available at the same place that libpng is, or at
    80 zlib should be available at the same place that libpng is, or at.
    85 ftp://ftp.simplesystems.org/pub/png/src/
    81 ftp://ftp.info-zip.org/pub/infozip/zlib
    86 
    82 
    87 You may also want a copy of the PNG specification.  It is available
    83 You may also want a copy of the PNG specification.  It is available
    88 as an RFC, a W3C Recommendation, and an ISO/IEC Standard.  You can find
    84 as an RFC, a W3C Recommendation, and an ISO/IEC Standard.  You can find
    89 these at http://www.libpng.org/pub/png/pngdocs.html
    85 these at http://www.libpng.org/pub/png/documents/
    90 
    86 
    91 This code is currently being archived at libpng.sf.net in the
    87 This code is currently being archived at libpng.sf.net in the
    92 [DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
    88 [DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
    93 at GO GRAPHSUP.  If you can't find it in any of those places,
    89 at GO GRAPHSUP.  If you can't find it in any of those places,
    94 e-mail me, and I'll help you find it.
    90 e-mail me, and I'll help you find it.
   103 Finally, if you get any warning messages when compiling libpng
    99 Finally, if you get any warning messages when compiling libpng
   104 (note: not zlib), and they are easy to fix, I'd appreciate the
   100 (note: not zlib), and they are easy to fix, I'd appreciate the
   105 fix.  Please mention "libpng" somewhere in the subject line.  Thanks.
   101 fix.  Please mention "libpng" somewhere in the subject line.  Thanks.
   106 
   102 
   107 This release was created and will be supported by myself (of course
   103 This release was created and will be supported by myself (of course
   108 based in a large way on Guy's and Andreas' earlier work), and the PNG group.
   104 based in a large way on Guy's and Andreas' earlier work), and the PNG
   109 
   105 development group.
   110 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
   106 
   111 (subscription required; visit 
   107 Send comments/corrections/commendations to png-mng-implement at
       
   108 lists.sourceforge.net (subscription required; visit 
   112 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
   109 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
   113 to subscribe) or to glennrp at users.sourceforge.net
   110 to subscribe) or to glennrp at users.sourceforge.net
   114 
   111 
   115 You can't reach Guy, the original libpng author, at the addresses
   112 You can't reach Guy, the original libpng author, at the addresses
   116 given in previous versions of this document.  He and Andreas will read mail
   113 given in previous versions of this document.  He and Andreas will
   117 addressed to the png-mng-implement list, however.
   114 read mail addressed to the png-implement list, however.
   118 
   115 
   119 Please do not send general questions about PNG.  Send them to
   116 Please do not send general questions about PNG.  Send them to
   120 the (png-mng-misc at lists.sourceforge.net, subscription required, visit
   117 the (png-list at ccrc.wustl.edu, subscription required, write to
   121 https://lists.sourceforge.net/lists/listinfo/png-mng-implement to subscribe)
   118 majordomo at ccrc.wustl.edu with "subscribe png-list" in your message).
   122 On the other hand,
   119 On the other hand,
   123 please do not send libpng questions to that address, send them to me
   120 please do not send libpng questions to that address, send them to me
   124 or to the png-mng-implement list.  I'll
   121 or to the png-implement list.  I'll
   125 get them in the end anyway.  If you have a question about something
   122 get them in the end anyway.  If you have a question about something
   126 in the PNG specification that is related to using libpng, send it
   123 in the PNG specification that is related to using libpng, send it
   127 to me.  Send me any questions that start with "I was using libpng,
   124 to me.  Send me any questions that start with "I was using libpng,
   128 and ...".  If in doubt, send questions to me.  I'll bounce them
   125 and ...".  If in doubt, send questions to me.  I'll bounce them
   129 to others, if necessary.
   126 to others, if necessary.
   130 
   127 
   131 Please do not send suggestions on how to change PNG.  We have
   128 Please do not send suggestions on how to change PNG.  We have
   132 been discussing PNG for twelve years now, and it is official and
   129 been discussing PNG for nine years now, and it is official and
   133 finished.  If you have suggestions for libpng, however, I'll
   130 finished.  If you have suggestions for libpng, however, I'll
   134 gladly listen.  Even if your suggestion is not used immediately,
   131 gladly listen.  Even if your suggestion is not used immediately,
   135 it may be used later.
   132 it may be used later.
   136 
   133 
   137 Files in this distribution:
   134 Files in this distribution:
   142       LICENSE       =>  License to use and redistribute libpng
   139       LICENSE       =>  License to use and redistribute libpng
   143       README        =>  This file
   140       README        =>  This file
   144       TODO          =>  Things not implemented in the current library
   141       TODO          =>  Things not implemented in the current library
   145       Y2KINFO       =>  Statement of Y2K compliance
   142       Y2KINFO       =>  Statement of Y2K compliance
   146       example.c     =>  Example code for using libpng functions
   143       example.c     =>  Example code for using libpng functions
   147       libpng-*-*-diff.txt => Diff from previous release
       
   148       libpng.3      =>  manual page for libpng (includes libpng.txt)
   144       libpng.3      =>  manual page for libpng (includes libpng.txt)
   149       libpng.txt    =>  Description of libpng and its functions
   145       libpng.txt    =>  Description of libpng and its functions
   150       libpngpf.3    =>  manual page for libpng's private functions
   146       libpngpf.3    =>  manual page for libpng's private functions
   151       png.5         =>  manual page for the PNG format
   147       png.5         =>  manual page for the PNG format
   152       png.c         =>  Basic interface functions common to library
   148       png.c         =>  Basic interface functions common to library
   176                             O'Reilly, 1999
   172                             O'Reilly, 1999
   177        msvctest     =>  Builds and runs pngtest using a MSVC workspace
   173        msvctest     =>  Builds and runs pngtest using a MSVC workspace
   178        pngminus     =>  Simple pnm2png and png2pnm programs
   174        pngminus     =>  Simple pnm2png and png2pnm programs
   179        pngsuite     =>  Test images
   175        pngsuite     =>  Test images
   180        visupng      =>  Contains a MSVC workspace for VisualPng
   176        visupng      =>  Contains a MSVC workspace for VisualPng
   181       projects      =>  Contains project files and workspaces for building DLL
   177       projects      =>  Contains project files and workspaces for
   182        beos             =>  Contains a Beos workspace for building libpng
   178                         building a DLL
   183        c5builder        =>  Contains a Borland workspace for building libpng
   179        c5builder        =>  Contains a Borland workspace for building
   184                             and zlib
   180                             libpng and zlib
   185        visualc6         =>  Contains a Microsoft Visual C++ (MSVC) workspace
   181        visualc6         =>  Contains a Microsoft Visual C++ (MSVC)
   186                             for building libpng and zlib
   182                             workspace for building libpng and zlib
   187        netware.txt      =>  Contains instructions for downloading a set of
       
   188                             project files for building libpng and zlib on
       
   189                             Netware.
       
   190        wince.txt        =>  Contains instructions for downloading a Microsoft
       
   191                             Visual C++ (Windows CD Toolkit) workspace for
       
   192                             building libpng and zlib on WindowsCE
       
   193       scripts       =>  Directory containing scripts for building libpng:
   183       scripts       =>  Directory containing scripts for building libpng:
   194        descrip.mms      =>  VMS makefile for MMS or MMK
   184        descrip.mms      =>  VMS makefile for MMS or MMK
   195        makefile.std     =>  Generic UNIX makefile (cc, creates static libpng.a)
   185        makefile.std     =>  Generic UNIX makefile (cc, creates static
       
   186                             libpng.a)
   196        makefile.elf     =>  Linux/ELF makefile symbol versioning,
   187        makefile.elf     =>  Linux/ELF makefile symbol versioning,
   197                             gcc, creates libpng12.so.0.1.2.40)
   188                             gcc, creates libpng14.so.14.1.4.0)
   198        makefile.linux   =>  Linux/ELF makefile
   189        makefile.linux   =>  Linux/ELF makefile
   199                             (gcc, creates libpng12.so.0.1.2.40)
   190                             (gcc, creates libpng14.so.14.1.4.0)
   200        makefile.gcmmx   =>  Linux/ELF makefile
       
   201                             (gcc, creates libpng12.so.0.1.2.40,
       
   202                             uses assembler code tuned for Intel MMX platform)
       
   203        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
   191        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
   204        makefile.knr     =>  Archaic UNIX Makefile that converts files with
   192        makefile.knr     =>  Archaic UNIX Makefile that converts files with
   205                             ansi2knr (Requires ansi2knr.c from
   193                             ansi2knr (Requires ansi2knr.c from
   206                             ftp://ftp.cs.wisc.edu/ghost)
   194                             ftp://ftp.cs.wisc.edu/ghost)
   207        makefile.aix     =>  AIX makefile
   195        makefile.aix     =>  AIX makefile
   212        makefile.hpgcc   =>  HPUX makefile using gcc
   200        makefile.hpgcc   =>  HPUX makefile using gcc
   213        makefile.hpux    =>  HPUX (10.20 and 11.00) makefile
   201        makefile.hpux    =>  HPUX (10.20 and 11.00) makefile
   214        makefile.hp64    =>  HPUX (10.20 and 11.00) makefile, 64 bit
   202        makefile.hp64    =>  HPUX (10.20 and 11.00) makefile, 64 bit
   215        makefile.ibmc    =>  IBM C/C++ version 3.x for Win32 and OS/2 (static)
   203        makefile.ibmc    =>  IBM C/C++ version 3.x for Win32 and OS/2 (static)
   216        makefile.intel   =>  Intel C/C++ version 4.0 and later
   204        makefile.intel   =>  Intel C/C++ version 4.0 and later
   217        libpng.icc       =>  Project file, IBM VisualAge/C++ 4.0 or later
   205        makefile.mingw   =>  Mingw/gcc makefile
   218        makefile.netbsd  =>  NetBSD/cc makefile, PNGGCCRD, makes libpng.so.
   206        makefile.netbsd  =>  NetBSD/cc makefile, makes libpng.so.
   219        makefile.ne12bsd  =>  NetBSD/cc makefile, PNGGCCRD, makes libpng12.so
   207        makefile.ne14bsd  =>  NetBSD/cc makefile, makes
       
   208                             libpng14.so
   220        makefile.openbsd =>  OpenBSD makefile
   209        makefile.openbsd =>  OpenBSD makefile
   221        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
   210        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
   222        makefile.sggcc   =>  Silicon Graphics
   211        makefile.sggcc   =>  Silicon Graphics
   223                             (gcc, creates libpng12.so.0.1.2.40)
   212                             (gcc, creates libpng14.so.14.1.4.0)
   224        makefile.sunos   =>  Sun makefile
   213        makefile.sunos   =>  Sun makefile
   225        makefile.solaris =>  Solaris 2.X makefile
   214        makefile.solaris =>  Solaris 2.X makefile
   226                             (gcc, creates libpng12.so.0.1.2.40)
   215                             (gcc, creates libpng14.so.14.1.4.0)
   227        makefile.so9     =>  Solaris 9 makefile
   216        makefile.so9     =>  Solaris 9 makefile
   228                             (gcc, creates libpng12.so.0.1.2.40)
   217                             (gcc, creates libpng14.so.14.1.4.0)
   229        makefile.32sunu  =>  Sun Ultra 32-bit makefile
   218        makefile.32sunu  =>  Sun Ultra 32-bit makefile
   230        makefile.64sunu  =>  Sun Ultra 64-bit makefile
   219        makefile.64sunu  =>  Sun Ultra 64-bit makefile
   231        makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
   220        makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
   232        makefile.mips    =>  MIPS makefile
   221        makefile.mips    =>  MIPS makefile
   233        makefile.acorn   =>  Acorn makefile
   222        makefile.acorn   =>  Acorn makefile
   240        makefile.bor     =>  Borland makefile (uses bcc)
   229        makefile.bor     =>  Borland makefile (uses bcc)
   241        makefile.bc32    =>  32-bit Borland C++ (all modules compiled in C mode)
   230        makefile.bc32    =>  32-bit Borland C++ (all modules compiled in C mode)
   242        makefile.tc3     =>  Turbo C 3.0 makefile
   231        makefile.tc3     =>  Turbo C 3.0 makefile
   243        makefile.dj2     =>  DJGPP 2 makefile
   232        makefile.dj2     =>  DJGPP 2 makefile
   244        makefile.msc     =>  Microsoft C makefile
   233        makefile.msc     =>  Microsoft C makefile
   245        makefile.vcawin32=>  makefile for Microsoft Visual C++ 5.0 and
       
   246                             later (uses assembler code tuned for Intel MMX
       
   247                             platform)
       
   248        makefile.vcwin32 =>  makefile for Microsoft Visual C++ 4.0 and
   234        makefile.vcwin32 =>  makefile for Microsoft Visual C++ 4.0 and
   249                             later (does not use assembler code)
   235                             later (does not use assembler code)
   250        makefile.os2     =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
   236        makefile.os2     =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
   251        pngos2.def       =>  OS/2 module definition file used by makefile.os2
   237        png32ce.def      =>  module definition for makefile.cegccg
       
   238        pngos2.def       =>  OS/2 module definition file used by
       
   239                             makefile.os2
       
   240        pngwin.def       =>  module definition file used by
       
   241                             makefile.cygwin and makefile.mingw
   252        makefile.watcom  =>  Watcom 10a+ Makefile, 32-bit flat memory model
   242        makefile.watcom  =>  Watcom 10a+ Makefile, 32-bit flat memory model
   253        makevms.com      =>  VMS build script
   243        makevms.com      =>  VMS build script
   254        SCOPTIONS.ppc    =>  Used with smakefile.ppc
   244        SCOPTIONS.ppc    =>  Used with smakefile.ppc
   255 
   245 
   256 Good luck, and happy coding.
   246 Good luck, and happy coding.
   257 
   247 
   258 -Glenn Randers-Pehrson (current maintainer)
   248 -Glenn Randers-Pehrson (current maintainer, since 1998)
   259  Internet: glennrp at users.sourceforge.net
   249  Internet: glennrp at users.sourceforge.net
   260 
   250 
   261 -Andreas Eric Dilger (former maintainer, 1996-1997)
   251 -Andreas Eric Dilger (former maintainer, 1996-1997)
   262  Internet: adilger at enel.ucalgary.ca
   252  Internet: adilger at enel.ucalgary.ca
   263  Web: http://members.shaw.ca/adilger/
   253  Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/
   264 
   254 
   265 -Guy Eric Schalnat (original author and former maintainer, 1995-1996)
   255 -Guy Eric Schalnat (original author and former maintainer, 1995-1996)
   266  (formerly of Group 42, Inc)
   256  (formerly of Group 42, Inc)
   267  Internet: gschal at infinet.com
   257  Internet: gschal at infinet.com