[devel] Imported from libpng-1.5.0beta01.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 476f426..5028687 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.4.0rc08 - January 2, 2010
+Libpng 1.5.0beta01 - February 8, 2010
 
 This is not intended to be a public release.  It will be replaced
 within a few weeks by a public version or by another test version.
@@ -9,767 +9,25 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   1.4.0rc08.tar.xz (LZMA-compressed, recommended)
-   1.4.0rc08.tar.gz
-   1.4.0rc08.tar.bz2
+   1.5.0beta01.tar.xz (LZMA-compressed, recommended)
+   1.5.0beta01.tar.gz
+   1.5.0beta01.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp140r08.zip
-   lp140r08.7z
+   lp150b01.zip
+   lp150b01.7z
 
 Other information:
 
-   1.4.0rc08-README.txt
-   1.4.0rc08-LICENSE.txt
+   1.5.0beta01-README.txt
+   1.5.0beta01-LICENSE.txt
 
-Changes since the last public release (1.2.10):
+Changes since the last public release (1.4.1):
 
-version 1.2.10beta1 [April 15, 2006]
-  Renamed "config.h" to "png_conf.h" and revised Makefile.am to add
-    -DPNG_BUILDING_LIBPNG to compile directive, and modified pngconf.h
-    to include png_conf.h only when PNG_BUILDING_LIBPNG is defined.
-
-version 1.2.10beta2 [April 15, 2006]
-  Manually updated Makefile.in and configure.  Changed png_conf.h.in
-    back to config.h.
-
-version 1.2.10beta3 [April 15, 2006]
-  Change png_conf.h back to config.h in pngconf.h.
-
-version 1.2.10beta4 [April 16, 2006]
-  Change PNG_BUILDING_LIBPNG to PNG_CONFIGURE_LIBPNG in config/Makefile*.
-
-version 1.2.10beta5 [April 16, 2006]
-  Added a configure check for compiling assembler code in pnggccrd.c
-
-version 1.2.10beta6 [April 17, 2006]
-  Revised the configure check for pnggccrd.c
-  Moved -DPNG_CONFIGURE_LIBPNG into @LIBPNG_DEFINES@
-  Added @LIBPNG_DEFINES@ to arguments when building libpng.sym
-
-version 1.2.10beta7 [April 18, 2006]
-  Change "exec_prefix=$prefix" to "exec_prefix=$(prefix)" in makefiles.
-
-version 1.2.10rc1 [April 19, 2006]
-  Ensure pngconf.h doesn't define both PNG_USE_PNGGCCRD and PNG_USE_PNGVCRD
-  Fixed "LN_FS" typo in makefile.sco and makefile.solaris.
-
-version 1.2.10rc2 [April 19, 2006]
-  Added a backslash between -DPNG_CONFIGURE_LIBPNG and -DPNG_NO_ASSEMBLER_CODE
-    in configure.ac
-  Made the configure warning about versioned symbols less arrogant.
-
-version 1.2.10rc3 [April 20, 2006]
-  Added a note in libpng.txt that png_set_sig_bytes(8) can be used when
-    writing an embedded PNG without the 8-byte signature.
-
-version 1.4.0beta1 [April 20, 2006]
-  Enabled iTXt support (changes png_struct, thus requires so-number change).
-  Cleaned up PNG_ASSEMBLER_CODE_SUPPORTED vs PNG_MMX_CODE_SUPPORTED
-  Eliminated PNG_1_0_X and PNG_1_2_X macros.
-  Removed deprecated functions png_read_init, png_write_init, png_info_init,
-    png_permit_empty_plte, png_set_gray_1_2_4_to_8, and removed the
-    deprecated macro PNG_MAX_UINT.
-  Moved "PNG_INTERNAL" parts of png.h and pngconf.h into pngintrn.h
-  Removed many WIN32_WCE #ifdefs (Cosmin).
-  Reduced dependency on C-runtime library when on Windows (Simon-Pierre)
-  Replaced sprintf() with png_sprintf() (Simon-Pierre)
-
-version 1.4.0beta2 [April 20, 2006]
-  Revised makefiles to avoid making links to libpng.so.*
-  Moved some leftover MMX-related defines from pngconf.h to pngintrn.h
-  Updated scripts/pngos2.def, pngw32.def, and projects/wince/png32ce.def
-  Updated scripts/pngw32.def to comment out MMX functions.
-
-version 1.2.11beta1 [May 31, 2006]
-  scripts/libpng.pc.in contained "configure" style version info and would
-    not work with makefiles.
-  The shared-library makefiles were linking to libpng.so.0 instead of
-    libpng.so.3 compatibility as the library.
-
-version 1.4.0beta3 [May 10, 2006]
-  Updated scripts/pngw32.def to comment out MMX functions.
-  Added PNG_NO_GET_INT_32 and PNG_NO_SAVE_INT_32 macros.
-  Revised pngconf.h and added pngconf.h.in so makefiles and configure can
-    pass defines to libpng and applications.
-
-version 1.4.0beta4 [May 11, 2006]
-  Revised configure.ac, Makefile.am, and many of the makefiles to write
-    their defines in pngconf.h.
-
-version 1.4.0beta5 [May 15, 2006]
-  Added a missing semicolon in Makefile.am and Makefile.in
-  Deleted extraneous square brackets from configure.ac
-
-version 1.2.11beta2 [June 2, 2006]
-  Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
-    buffer overflow.
-  Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb))
-
-version 1.4.0beta6 [June 2, 2006]
-  Changed sonum from 0 to 1.
-  Removed unused prototype for png_check_sig() from png.h
-
-version 1.2.11beta3 [June 5, 2006]
-  Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin).
-  Removed the accidental leftover Makefile.in~ (Cosmin).
-  Avoided potential buffer overflow and optimized buffer in
-    png_write_sCAL(), png_write_sCAL_s() (Cosmin).
-  Removed the include directories and libraries from CFLAGS and LDFLAGS
-    in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin).
-
-version 1.2.11beta4 [June 6, 2006]
-  Allow zero-length IDAT chunks after the entire zlib datastream, but not
-    after another intervening chunk type.
-
-version 1.2.11rc2 [June 14, 2006]
-  Added prototypes for PNG_INCH_CONVERSIONS functions to png.h
-  Revised INSTALL and autogen.sh
-  Fixed typo in several makefiles (-W1 should be -Wl)
-
-version 1.2.11rc3 [June 15, 2006]
-  Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
-    reading out of bounds.
-
-version 1.4.0beta7 [June 16, 2006]
-  Exported png_write_sig (Cosmin).
-  Optimized buffer in png_handle_cHRM() (Cosmin).
-  Set pHYs = 2835 x 2835 pixels per meter, and added
-    sCAL = 0.352778e-3 x 0.352778e-3 meters, in pngtest.png (Cosmin).
-  Added png_set_benign_errors(), png_benign_error(), png_chunk_benign_error().
-  Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
-
-version 1.4.0beta8 [June 21, 2006]
-  Added demonstration of user chunk support in pngtest.c, to support the
-    public sTER chunk and a private vpAg chunk.
-
-version 1.4.0beta9 [July 3, 2006]
-  Removed ordinals from scripts/pngw32.def and removed png_info_int and
-    png_set_gray_1_2_4_to_8 entries.
-  Inline call of png_get_uint_32() in png_get_uint_31().
-  Use png_get_uint_31() to get vpAg width and height in pngtest.c
-  Removed WINCE and Netware projects.
-  Removed standalone Y2KINFO file.
-
-version 1.4.0beta10 [July 12, 2006]
-  Added "all: pngconf.h.in pngconf.h" target to Makefile.am
-
-version 1.4.0beta11 [August 19, 2006]
-  Removed AC_FUNC_MALLOC from configure.ac.
-  Added a warning when writing iCCP profile with mismatched profile length.
-  Patched pnggccrd.c to assemble on x86_64 platforms.
-  Moved chunk header reading into a separate function png_read_chunk_header()
-    in pngrutil.c.  The chunk header (len+sig) is now serialized in a single
-    operation (Cosmin).
-  Implemented support for I/O states. Added png_ptr member io_state, and
-    functions png_get_io_chunk_name() and png_get_io_state() in pngget.c
-    (Cosmin).
-  Added png_get_io_chunk_name and png_get_io_state to scripts/*.def (Cosmin).
-  Renamed scripts/pngw32.* to scripts/pngwin.* (Cosmin).
-  Removed the include directories and libraries from CFLAGS and LDFLAGS
-    in scripts/makefile.gcc (Cosmin).
-  Used png_save_uint_32() to set vpAg width and height in pngtest.c (Cosmin).
-  Cast to proper type when getting/setting vpAg units in pngtest.c (Cosmin).
-  Added pngintrn.h to the Visual C++ projects (Cosmin).
-  Removed scripts/list (Cosmin).
-  Updated copyright year in scripts/pngwin.def (Cosmin).
-  Removed PNG_TYPECAST_NULL and used standard NULL consistently (Cosmin).
-  Disallowed the user to redefine png_size_t, and enforced a consistent use
-    of png_size_t across libpng (Cosmin).
-  Changed the type of png_ptr->rowbytes, PNG_ROWBYTES() and friends
-    to png_size_t (Cosmin).
-  Removed png_convert_size() and replaced png_sizeof with sizeof (Cosmin).
-  Removed some unnecessary type casts (Cosmin).
-  Changed prototype of png_get_compression_buffer_size() and
-    png_set_compression_buffer_size() to work with png_size_t instead of
-    png_uint_32 (Cosmin).
-  Removed png_memcpy_check() and png_memset_check() (Cosmin).
-  Fixed a typo (png_byte --> png_bytep) in libpng.3 and libpng.txt (Cosmin).
-  Clarified that png_zalloc() does not clear the allocated memory,
-    and png_zalloc() and png_zfree() cannot be PNGAPI (Cosmin).
-  Renamed png_mem_size_t to png_alloc_size_t, fixed its definition in
-    pngconf.h, and used it in all memory allocation functions (Cosmin).
-  Renamed pngintrn.h to pngpriv.h, added a comment at the top of the file
-    mentioning that the symbols declared in that file are private, and
-    updated the scripts and the Visual C++ projects accordingly (Cosmin).
-  Removed circular references between pngconf.h and pngconf.h.in in
-    scripts/makefile.vc*win32 (Cosmin).
-  Removing trailing '.' from the warning and error messages (Cosmin).
-  Added pngdefs.h that is built by makefile or configure, instead of
-    pngconf.h.in (Glenn).
-  Detect and fix attempt to write wrong iCCP profile length.
-
-version 1.4.0beta12 [October 19, 2006]
-  Changed "logical" to "bitwise" in the documentation.
-  Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
-  Add a typecast to stifle compiler warning in pngrutil.c
-
-version 1.4.0beta13 [November 10, 2006]
-  Fix potential buffer overflow in sPLT chunk handler.
-  Fix Makefile.am to not try to link to noexistent files.
-
-version 1.4.0beta14 [November 15, 2006]
-  Check all exported functions for NULL png_ptr.
-
-version 1.4.0beta15 [November 17, 2006]
-  Relocated two misplaced tests for NULL png_ptr.
-  Built Makefile.in with automake-1.9.6 instead of 1.9.2.
-  Build configure with autoconf-2.60 instead of 2.59.
-  Add "install: all" in Makefile.am so "configure; make install" will work.
-
-version 1.4.0beta16 [November 17, 2006]
-  Added a typecast in png_zalloc().
-
-version 1.4.0beta17 [December 4, 2006]
-  Changed "new_key[79] = '\0';" to "(*new_key)[79] = '\0';" in pngwutil.c
-
-version 1.4.0beta18 [December 7, 2006]
-  Added scripts/CMakeLists.txt
-
-version 1.4.0beta19 [May 16, 2007]
-  Revised scripts/CMakeLists.txt
-  Rebuilt configure and Makefile.in with newer tools.
-  Added "png_ptr->num_trans=0" before error return in png_handle_tRNS,
-    to eliminate a vulnerability (CVE-2007-2554, CERT VU#684664)
-
-version 1.4.0beta20 [July 9, 2008]
-  Moved several PNG_HAVE_* macros from pngpriv.h to png.h because applications
-    calling set_unknown_chunk_location() need them.
-  Moved several macro definitions from pngpriv.h to pngconf.h
-  Added png_ptr->unknown_chunk to hold working unknown chunk data, so it
-    can be free'ed in case of error.  Revised unknown chunk handling in
-    pngrutil.c and pngpread.c to use this structure.
-  Merge with changes to the 1.2.X branch, as of 1.2.19beta10.
-  Revised makefile.mingw
-  Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h
-
-version 1.4.0beta21 [July 21, 2008]
-  Moved local array "chunkdata" from pngrutil.c to the png_struct, so
-    it will be freed by png_read_destroy() in case of a read error (Kurt
-    Christensen).
-
-version 1.4.0beta22 [July 21, 2008]
-  Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
-
-version 1.4.0beta23 [July 22, 2008]
-  Change "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
-    png_decompress_chunk().
-
-version 1.4.0beta24 [July 25, 2008]
-  Change all remaining "chunkdata" to "png_ptr->chunkdata" in
-    png_decompress_chunk(), and remove "chunkdata" from parameter list.
-  Put a call to png_check_chunk_name() in png_read_chunk_header().
-  Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
-  Removed two calls to png_check_chunk_name() occuring later in the process.
-  Define PNG_NO_ERROR_NUMBERS by default in pngconf.h
-
-version 1.4.0beta25 [July 30, 2008]
-  Added a call to png_check_chunk_name() in pngpread.c
-  Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte.
-  Added png_push_have_buffer() function to pngpread.c
-  Eliminated PNG_BIG_ENDIAN_SUPPORTED and associated png_get_* macros.
-  Made inline expansion of png_get_*() optional with PNG_USE_READ_MACROS.
-  Eliminated all PNG_USELESS_TESTS and PNG_CORRECT_PALETTE_SUPPORTED code.
-  Synced contrib directory and configure files with libpng-1.2.30beta06.
-  Eliminated no-longer-used pngdefs.h (but it's still built in the makefiles)
-  Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c
-
-version 1.4.0beta26 [August 4, 2008]
-  Removed png_push_have_buffer() function in pngpread.c.  It increased the
-    compiled library size slightly.
-  Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
-  Declared png_ptr "volatile" in pngread.c and pngwrite.c to avoid warnings.
-  Updated contrib/visupng/cexcept.h to version 2.0.1
-  Added PNG_LITERAL_CHARACTER macros for #, [, and ].
-
-version 1.4.0beta27 [August 5, 2008]
-  Revised usage of PNG_LITERAL_SHARP in pngerror.c.
-  Moved newline character from individual png_debug messages into the
-    png_debug macros.
-  Allow user to #define their own png_debug, png_debug1, and png_debug2.
-
-version 1.4.0beta28 [August 5, 2008]
-  Revised usage of PNG_LITERAL_SHARP in pngerror.c.
-  Added PNG_STRING_NEWLINE macro
-
-version 1.4.0beta29 [August 9, 2008]
-  Revised usage of PNG_STRING_NEWLINE to work on non-ISO compilers.
-  Added PNG_STRING_COPYRIGHT macro.
-  Added non-ISO versions of png_debug macros.
-
-version 1.4.0beta30 [August 14, 2008]
-  Added premultiplied alpha feature (Volker Wiendl).
-
-version 1.4.0beta31 [August 18, 2008]
-  Moved png_set_premultiply_alpha from pngtrans.c to pngrtran.c
-  Removed extra crc check at the end of png_handle_cHRM().  Bug introduced
-    in libpng-1.4.0beta20.
-
-version 1.4.0beta32 [August 19, 2008]
-  Added PNG_WRITE_FLUSH_SUPPORTED block around new png_flush() call.
-  Revised PNG_NO_STDIO version of png_write_flush()
-
-version 1.4.0beta33 [August 20, 2008]
-  Added png_set_chunk_cache_max() to limit the total number of sPLT,
-    text, and unknown chunks that can be stored.
-
-version 1.4.0beta34 [September 6, 2008]
-  Shortened tIME_string to 29 bytes in pngtest.c
-  Fixed off-by-one error introduced in png_push_read_zTXt() function in
-    libpng-1.2.30beta04/pngpread.c (Harald van Dijk)
-
-version 1.4.0beta35 [October 6, 2008]
-  Changed "trans_values" to "trans_color".
-  Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
-    in example.c (debian bug report)
-
-version 1.4.0beta36 [October 25, 2008]
-  Sync with tEXt vulnerability fix in libpng-1.2.33rc02.
-
-version 1.4.0beta37 [November 13, 2008]
-  Added png_check_cHRM in png.c and moved checking from pngget.c, pngrutil.c,
-    and pngwrite.c
-
-version 1.4.0beta38 [November 22, 2008]
-  Added check for zero-area RGB cHRM triange in png_check_cHRM() and
-    png_check_cHRM_fixed().
-
-version 1.4.0beta39 [November 23, 2008]
-  Revised png_warning() to write its message on standard output by default
-    when warning_fn is NULL.
-
-version 1.4.0beta40 [November 24, 2008]
-  Eliminated png_check_cHRM().  Instead, always use png_check_cHRM_fixed().
-  In png_check_cHRM_fixed(), ensure white_y is > 0, and removed redundant
-    check for all-zero coordinates that is detected by the triangle check.
-
-version 1.4.0beta41 [November 26, 2008]
-  Fixed string vs pointer-to-string error in png_check_keyword().
-  Rearranged test expressions in png_check_cHRM_fixed() to avoid internal
-    overflows.
-  Added PNG_NO_CHECK_cHRM conditional.
-
-version 1.4.0beta42, 43 [December 1, 2008]
-  Merge png_debug with version 1.2.34beta04.
-
-version 1.4.0beta44 [December 6, 2008]
-  Removed redundant check for key==NULL before calling png_check_keyword()
-    to ensure that new_key gets initialized and removed extra warning
-    (Merge with version 1.2.34beta05 -- Arvan Pritchard).
-
-version 1.4.0beta45 [December 9, 2008]
-  In png_write_png(), respect the placement of the filler bytes in an earlier
-    call to png_set_filler() (Jim Barry).
-
-version 1.4.0beta46 [December 10, 2008]
-  Undid previous change and added PNG_TRANSFORM_STRIP_FILLER_BEFORE and
-    PNG_TRANSFORM_STRIP_FILLER_AFTER conditionals and deprecated
-    PNG_TRANSFORM_STRIP_FILLER (Jim Barry).
-
-version 1.4.0beta47 [December 15, 2008]
-  Turned off PNG_READ_DITHER_SUPPORTED by default.
-
-version 1.4.0beta48 [February 14, 2009]
-  Added new exported function png_calloc().
-  Combined several instances of png_malloc(); png_memset() into png_calloc().
-  Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
-
-version 1.4.0beta49 [February 28, 2009]
-  Added png_fileno() macro to pngconf.h, used in pngwio.c
-  Corrected order of #ifdef's in png_debug definition in png.h
-  Fixed bug introduced in libpng-1.4.0beta48 with the memset arguments
-    for pcal_params.
-  Fixed order of #ifdef directives in the png_debug defines in png.h
-    (bug introduced in libpng-1.2.34/1.4.0beta29).
-  Revised comments in png_set_read_fn() and png_set_write_fn().
-
-version 1.4.0beta50 [March 18, 2009]
-  Use png_calloc() instead of png_malloc() to allocate big_row_buf when
-    reading an interlaced file, to avoid a possible UMR.
-  Undid recent revision of PNG_NO_STDIO version of png_write_flush().  Users
-    having trouble with fflush() can build with PNG_NO_WRITE_FLUSH defined
-    or supply their own flush_fn() replacement.
-  Revised libpng*.txt and png.h documentation about use of png_write_flush()
-    and png_set_write_fn().
-  Removed fflush() from pngtest.c.
-  Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
-
-version 1.4.0beta51 [March 21, 2009]
-  Removed new png_fileno() macro from pngconf.h .
-
-version 1.4.0beta52 [March 27, 2009]
-  Relocated png_do_chop() ahead of building gamma tables in pngrtran.c
-    This avoids building 16-bit gamma tables unnecessarily.
-  Removed fflush() from pngtest.c.
-  Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
-  Added a section on differences between 1.0.x and 1.2.x to libpng.3/libpng.txt
-
-version 1.4.0beta53 [April 1, 2009]
-  Removed some remaining MMX macros from pngpriv.h
-  Fixed potential memory leak of "new_name" in png_write_iCCP() (Ralph Giles)
-
-version 1.4.0beta54 [April 13, 2009]
-  Added "ifndef PNG_SKIP_SETJMP_CHECK" block in pngconf.h to allow
-    application code writers to bypass the check for multiple inclusion
-    of setjmp.h when they know that it is safe to ignore the situation.
-  Eliminated internal use of setjmp() in pngread.c and pngwrite.c
-  Reordered ancillary chunks in pngtest.png to be the same as what
-    pngtest now produces, and made some cosmetic changes to pngtest output.
-  Eliminated deprecated png_read_init_3() and png_write_init_3() functions.
-
-version 1.4.0beta55 [April 15, 2009]
-  Simplified error handling in pngread.c and pngwrite.c by putting
-    the new png_read_cleanup() and png_write_cleanup() functions inline.
-
-version 1.4.0beta56 [April 25, 2009]
-  Renamed "user_chunk_data" to "my_user_chunk_data" in pngtest.c to suppress
-    "shadowed declaration" warning from gcc-4.3.3.
-  Renamed "gamma" to "png_gamma" in pngset.c to avoid "shadowed declaration"
-    warning about a global "gamma" variable in math.h on some platforms.
-
-version 1.4.0beta57 [May 2, 2009]
-  Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
-    but was never defined (again).
-  Rebuilt configure scripts with autoconf-2.63 instead of 2.62
-  Removed pngprefs.h and MMX from makefiles
-
-version 1.4.0beta58 [May 14, 2009]
-  Changed pngw32.def to pngwin.def in makefile.mingw (typo was intruduced
-    in beta57).
-  Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
-
-version 1.4.0beta59 [May 15, 2009]
-  Reformated sources in libpng style (3-space intentation, comment format)
-  Fixed typo in libpng docs (PNG_FILTER_AVE should be PNG_FILTER_AVG)
-  Added sections about the git repository and our coding style to the
-    documentation
-  Relocated misplaced #endif in pngwrite.c, sCAL chunk handler.
-
-version 1.4.0beta60 [May 19, 2009]
-  Conditionally compile png_read_finish_row() which is not used by
-    progressive readers.
-  Added contrib/pngminim/preader to demonstrate building minimal progressive
-    decoder, based on contrib/gregbook with embedded libpng and zlib.
-
-version 1.4.0beta61 [May 20, 2009]
-  In contrib/pngminim/*, renamed "makefile.std" to "makefile", since there
-    is only one makefile in those directories, and revised the README files
-    accordingly.
-  More reformatting of comments, mostly to capitalize sentences.
-
-version 1.4.0beta62 [June 2, 2009]
-  Added "#define PNG_NO_WRITE_SWAP" to contrib/pngminim/encoder/pngusr.h
-    and "define PNG_NO_READ_SWAP" to decoder/pngusr.h and preader/pngusr.h
-  Reformatted several remaining "else statement" into two lines.
-  Added a section to the libpng documentation about using png_get_io_ptr()
-    in configure scripts to detect the presence of libpng.
-
-version 1.4.0beta63 [June 15, 2009]
-  Revised libpng*.txt and libpng.3 to mention calling png_set_IHDR()
-    multiple times and to specify the sample order in the tRNS chunk,
-    because the ISO PNG specification has a typo in the tRNS table.
-  Changed several PNG_UNKNOWN_CHUNK_SUPPORTED to
-    PNG_HANDLE_AS_UNKNOWN_SUPPORTED, to make the png_set_keep mechanism
-    available for ignoring known chunks even when not saving unknown chunks.
-  Adopted preference for consistent use of "#ifdef" and "#ifndef" versus
-    "#if defined()" and "if !defined()" where possible.
-
-version 1.4.0beta64 [June 24, 2009]
-  Eliminated PNG_LEGACY_SUPPORTED code.
-  Moved the various unknown chunk macro definitions outside of the
-     PNG_READ|WRITE_ANCILLARY_CHUNK_SUPPORTED blocks.
-
-version 1.4.0beta65 [June 26, 2009]
-  Added a reference to the libpng license in each file.
-
-version 1.4.0beta66 [June 27, 2009]
-  Refer to the libpng license instead of the libpng license in each file.
-
-version 1.4.0beta67 [July 6, 2009]
-  Relocated INVERT_ALPHA within png_read_png() and png_write_png().
-  Added high-level API transform PNG_TRANSFORM_GRAY_TO_RGB.
-  Added an "xcode" project to the projects directory (Alam Arias).
-
-version 1.4.0beta68 [July 19, 2009]
-  Avoid some tests in filter selection in pngwutil.c
-
-version 1.4.0beta69 [July 25, 2009]
-  Simplified the new filter-selection test.  This runs faster in the
-    common "PNG_ALL_FILTERS" and PNG_FILTER_NONE cases.
-  Removed extraneous declaration from the new call to png_read_gray_to_rgb()
-    (bug introduced in libpng-1.4.0beta67).
-  Fixed up xcode project (Alam Arias)
-
-version 1.4.0beta70 [July 27, 2009]
-  Avoid a possible NULL dereference in debug build, in png_set_text_2().
-    (bug introduced in libpng-0.95, discovered by Evan Rouault)
-
-version 1.4.0beta71 [July 29, 2009]
-  Rebuilt configure scripts with autoconf-2.64.
-  Added a prototype for png_64bit_product() in png.c
-
-version 1.4.0beta72 [August 1, 2009]
-  Replaced *.tar.lzma with *.tar.xz in distribution.  Get the xz codec
-    from <http://tukaani.org/xz>.
-
-version 1.4.0beta73 [August 1, 2009]
-  Reject attempt to write iCCP chunk with negative embedded profile length
-    (JD Chen)
-
-version 1.4.0beta74 [August 8, 2009]
-  Changed png_ptr and info_ptr member "trans" to "trans_alpha".
-
-version 1.4.0beta75 [August 21, 2009]
-  Removed an extra png_debug() recently added to png_write_find_filter().
-  Fixed incorrect #ifdef in pngset.c regarding unknown chunk support.
-
-version 1.4.0beta76 [August 22, 2009]
-  Moved an incorrectly located test in png_read_row() in pngread.c
-
-version 1.4.0beta77 [August 27, 2009]
-  Removed lpXYZ.tar.bz2 (with CRLF), KNOWNBUG, libpng-x.y.z-KNOWNBUG.txt,
-    and the "noconfig" files from the distribution.
-  Moved CMakeLists.txt from scripts into the main libpng directory.
-  Various bugfixes and improvements to CMakeLists.txt (Philip Lowman)
-
-version 1.4.0beta78 [August 31, 2009]
-  Converted all PNG_NO_* tests to PNG_*_SUPPORTED everywhere except pngconf.h
-  Eliminated PNG_NO_FREE_ME and PNG_FREE_ME_SUPPORTED macros.
-  Use png_malloc plus a loop instead of png_calloc() to initialize
-    row_pointers in png_read_png().
-
-version 1.4.0beta79 [September 1, 2009]
-  Eliminated PNG_GLOBAL_ARRAYS and PNG_LOCAL_ARRAYS; always use local arrays.
-  Eliminated PNG_CALLOC_SUPPORTED macro and always provide png_calloc().
-
-version 1.4.0beta80 [September 17, 2009]
-  Removed scripts/libpng.icc
-  Changed typecast of filler from png_byte to png_uint_16 in png_set_filler().
-    (Dennis Gustafsson)
-  Fixed typo introduced in beta78 in pngtest.c ("#if def " should be "#ifdef ")
-
-version 1.4.0beta81 [September 23, 2009]
-  Eliminated unused PNG_FLAG_FREE_* defines from pngpriv.h
-  Expanded TAB characters in pngrtran.c
-  Removed PNG_CONST from all "PNG_CONST PNG_CHNK" declarations to avoid
-    compiler complaints about doubly declaring things "const".
-  Changed all "#if [!]defined(X)" to "if[n]def X" where possible.
-  Eliminated unused png_ptr->row_buf_size
-
-version 1.4.0beta82 [September 25, 2009]
-  Moved redundant IHDR checking into new png_check_IHDR() in png.c
-    and report all errors found in the IHDR data.
-  Eliminated useless call to png_check_cHRM() from pngset.c
-
-version 1.4.0beta83 [September 25, 2009]
-  Revised png_check_IHDR() to eliminate bogus complaint about filter_type.
-
-version 1.4.0beta84 [September 30, 2009]
-  Fixed some inconsistent indentation in pngconf.h
-  Revised png_check_IHDR() to add a test for width variable less than 32-bit.
-
-version 1.4.0beta85 [October 1, 2009]
-  Revised png_check_IHDR() again, to check info_ptr members instead of
-    the contents of the returned parameters.
-
-version 1.4.0beta86 [October 9, 2009]
-  Updated the "xcode" project (Alam Arias).
-  Eliminated a shadowed declaration of "pp" in png_handle_sPLT().
-
-version 1.4.0rc01 [October 19, 2009]
-  Trivial cosmetic changes.
-
-version 1.4.0beta87 [October 30, 2009]
-  Moved version 1.4.0 back into beta.
-
-version 1.4.0beta88 [October 30, 2009]
-  Revised libpng*.txt section about differences between 1.2.x and 1.4.0
-    because most of the new features have now been ported back to 1.2.41
-
-version 1.4.0beta89 [November 1, 2009]
-  More bugfixes and improvements to CMakeLists.txt (Philip Lowman)
-  Removed a harmless extra png_set_invert_alpha() from pngwrite.c
-  Apply png_user_chunk_cache_max within png_decompress_chunk().
-  Merged libpng-1.2.41.txt with libpng-1.4.0.txt where appropriate.
-
-version 1.4.0beta90 [November 2, 2009]
-  Removed all remaining WIN32_WCE #ifdefs except those involving the
-    time.h "tm" structure
-
-version 1.4.0beta91 [November 3, 2009]
-  Updated scripts/pngw32.def and projects/wince/png32ce.def
-  Copied projects/wince/png32ce.def to the scripts directory.
-  Added scripts/makefile.wce
-  Patched ltmain.sh for wince support.
-  Added PNG_CONVERT_tIME_SUPPORTED macro.
-
-version 1.4.0beta92 [November 4, 2009]
-  Make inclusion of time.h in pngconf.h depend on PNG_CONVERT_tIME_SUPPORTED
-  Make #define PNG_CONVERT_tIME_SUPPORTED depend on PNG_WRITE_tIME_SUPPORTED
-  Revised libpng*.txt to describe differences from 1.2.40 to 1.4.0 (instead
-    of differences from 1.2.41 to 1.4.0)
-
-version 1.4.0beta93 [November 7, 2009]
-  Added PNG_DEPSTRUCT, PNG_DEPRECATED, PNG_USE_RESULT, PNG_NORETURN, and
-    PNG_ALLOCATED macros to detect deprecated direct access to the
-    png_struct or info_struct members and other deprecated usage in
-    applications (John Bowler).
-  Updated scripts/makefile* to add "-DPNG_CONFIGURE_LIBPNG" to CFLAGS,
-    to prevent warnings about direct access to png structs by libpng
-    functions while building libpng.  They need to be tested, especially
-    those using compilers other than gcc.
-  Updated projects/visualc6 and visualc71 with "/d PNG_CONFIGURE_LIBPNG".
-    They should work but still need to be updated to remove
-    references to pnggccrd.c or pngvcrd.c and ASM building.
-  Added README.txt to the beos, cbuilder5, netware, and xcode projects warning
-    that they need to be updated, to remove references to pnggccrd.c and
-    pngvcrd.c and to depend on pngpriv.h
-  Removed three direct references to read_info_ptr members in pngtest.c
-    that were detected by the new PNG_DEPSTRUCT macro.
-  Moved the png_debug macro definitions and the png_read_destroy(),
-    png_write_destroy() and png_far_to_near() prototypes from png.h
-    to pngpriv.h (John Bowler)
-  Moved the synopsis lines for png_read_destroy(), png_write_destroy()
-    png_debug(), png_debug1(), and png_debug2() from libpng.3 to libpngpf.3.
-
-version 1.4.0beta94 [November 9, 2009]
-  Removed the obsolete, unused pnggccrd.c and pngvcrd.c files.
-  Updated CMakeLists.txt to add "-DPNG_CONFIGURE_LIBPNG" to the definitions.
-  Removed dependency of pngtest.o on pngpriv.h in the makefiles.
-  Only #define PNG_DEPSTRUCT, etc. in pngconf.h if not already defined.
-
-version 1.4.0beta95 [November 10, 2009]
-  Changed png_check_sig() to !png_sig_cmp() in contrib programs.
-  Added -DPNG_CONFIGURE_LIBPNG to contrib/pngminm/*/makefile
-  Changed png_check_sig() to !png_sig_cmp() in contrib programs.
-  Corrected the png_get_IHDR() call in contrib/gregbook/readpng2.c
-  Changed pngminim/*/gather.sh to stop trying to remove pnggccrd.c and pngvcrd.c
-  Added dependency on pngpriv.h in contrib/pngminim/*/makefile
-
-version 1.4.0beta96 [November 12, 2009]
-  Renamed scripts/makefile.wce to scripts/makefile.cegcc
-  Revised Makefile.am to use libpng.sys while building libpng.so
-    so that only PNG_EXPORT functions are exported.
-  Removed the deprecated png_check_sig() function/macro.
-  Removed recently removed function names from scripts/*.def
-  Revised pngtest.png to put chunks in the same order written by pngtest
-    (evidently the same change made in libpng-1.0beta54 was lost).
-  Added PNG_PRIVATE macro definition in pngconf.h for possible future use.
-
-version 1.4.0beta97 [November 13, 2009]
-  Restored pngtest.png to the libpng-1.4.0beta7 version.
-  Removed projects/beos and netware.txt; no one seems to be supporting them.
-  Revised Makefile.in
-
-version 1.4.0beta98 [November 13, 2009]
-  Added the "xcode" project to zip distributions,
-  Fixed a typo in scripts/pngwin.def introduced in beta97.
-
-version 1.4.0beta99 [November 14, 2009]
-  Moved libpng-config.in and libpng.pc-configure.in out of the scripts
-    directory, to libpng-config.in and libpng-pc.in, respectively, and
-    modified Makefile.am and configure.ac accordingly.  Now "configure"
-    needs nothing from the "scripts" directory.
-
-version 1.4.0beta100 [November 14, 2009]
-  Removed ASM builds from projects/visualc6 and projects/visualc71
-  Removed scripts/makefile.nommx and makefile.vcawin32
-  Revised CMakeLists.txt to account for new location of libpng-config.in
-    and libpng-pc.in
-  Updated INSTALL to reflect removal and relocation of files.
-
-version 1.4.0beta101 [November 14, 2009]
-  Restored the binary files (*.jpg, *.png, some project files) that were
-    accidentally deleted from the zip and 7z distributions when the xcode
-    project was added.
-
-version 1.4.0beta102 [November 18, 2009]
-  Added libpng-config.in and libpng-pc.in to the zip and 7z distributions.
-  Fixed a typo in projects/visualc6/pngtest.dsp, introduced in beta100.
-  Moved descriptions of makefiles and other scripts out of INSTALL into
-    scripts/README.txt
-  Updated the copyright year in scripts/pngwin.rc from 2006 to 2009.
-
-version 1.4.0beta103 [November 21, 2009]
-  Removed obsolete comments about ASM from projects/visualc71/README_zlib.txt
-  Align row_buf on 16-byte boundary in memory.
-  Restored the PNG_WRITE_FLUSH_AFTER_IEND guard around the call to png_flush()
-    after png_write_IEND().  See 1.4.0beta32, 1.4.0beta50 changes above
-    and 1.2.30, 1.2.30rc01 and rc03 in 1.2.41 CHANGES.  Someone needs this
-    feature.
-  Make the 'png_jmpbuf' macro expand to a call that records the correct
-    longjmp function as well as returning a pointer to the setjmp
-    jmp_buf buffer, and marked direct access to jmpbuf 'deprecated'.
-    (John Bowler)
-
-version 1.4.0beta104 [November 22, 2009]
-  Removed png_longjmp_ptr from scripts/*.def and libpng.3
-  Rebuilt configure scripts with autoconf-2.65
-
-version 1.4.0beta105 [November 25, 2009]
-  Use fast integer PNG_DIVIDE_BY_255() or PNG_DIVIDE_BY_65535()
-    to accomplish alpha premultiplication when
-    PNG_READ_COMPOSITE_NODIV_SUPPORTED is defined.
-  Changed "/255" to "/255.0" in background calculations to make it clear
-    that the 255 is used as a double.
-
-version 1.4.0beta106 [November 27, 2009]
-  Removed premultiplied alpha feature.
-
-version 1.4.0beta107 [December 4, 2009]
-  Updated README
-  Added "#define PNG_NO_PEDANTIC_WARNINGS" in the libpng source files.
-  Removed "-DPNG_CONFIGURE_LIBPNG" from the makefiles and projects.
-  Revised scripts/makefile.netbsd, makefile.openbsd, and makefile.sco
-    to put png.h and pngconf.h in $prefix/include, like the other scripts,
-    instead of in $prefix/include/libpng.  Also revised makefile.sco
-    to put them in $prefix/include/libpng14 instead of in
-    $prefix/include/libpng/libpng14.
-
-version 1.4.0beta108 [December 11, 2009]
-  Removed leftover "-DPNG_CONFIGURE_LIBPNG" from contrib/pngminim/*/makefile
-  Relocated png_do_chop() to its original position in pngrtran.c; the
-    change in version 1.2.41beta08 caused transparency to be handled wrong
-    in some 16-bit datastreams (Yusaku Sugai).
-
-version 1.4.0beta109 [December 13, 2009]
-  Added "bit_depth" parameter to the private png_build_gamma_table() function.
-  Pass bit_depth=8 to png_build_gamma_table() when bit_depth is 16 but the
-    PNG_16_TO_8 transform has been set, to avoid unnecessary build of 16-bit
-    tables.
-
-version 1.4.0rc02 [December 20, 2009]
-  Declared png_cleanup_needed "volatile" in pngread.c and pngwrite.c
-
-version 1.4.0rc03 [December 22, 2009]
-  Renamed libpng-pc.in back to libpng.pc.in and revised CMakeLists.txt
-    (revising the change in 1.4.0beta99)
-
-version 1.4.0rc04 [December 25, 2009]
-  Swapped PNG_UNKNOWN_CHUNKS_SUPPORTED and PNG_HANDLE_AS_UNKNOWN_SUPPORTED
-    in pngset.c to be consistent with other changes in version 1.2.38.
-
-version 1.4.0rc05 [December 25, 2009]
-  Changed "libpng-pc.in" to "libpng.pc.in" in configure.ac, configure, and
-    Makefile.in to be consistent with changes in libpng-1.4.0rc03
-
-version 1.4.0rc06 [December 29, 2009]
-  Reverted the gamma_table changes from libpng-1.4.0beta109.
-  Fixed some indentation errors.
-
-version 1.4.0rc07 [January 1, 2010]
-  Revised libpng*.txt and libpng.3 about 1.2.x->1.4.x differences.
-  Use png_calloc() instead of png_malloc(); png_memset() in pngrutil.c
-  Update copyright year to 2010.
-
-version 1.4.0rc08 [January 2, 2010]
-  Avoid deprecated references to png_ptr-io_ptr and png_ptr->error_ptr
-    in pngtest.c
-
-version 1.4.0 [January 2, 2010]
-  No changes.
+version 1.5.0beta01 [February 8, 2010]
+  Moved declaration of png_struct into private pngstruct.h and png_info into pnginfo.h
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
diff --git a/CHANGES b/CHANGES
index 45e43de..e27196a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2455,9 +2455,56 @@
   Avoid deprecated references to png_ptr-io_ptr and png_ptr->error_ptr
     in pngtest.c
 
-version 1.4.0 [January 2, 2010]
+version 1.4.0 [January 3, 2010]
   No changes.
 
+version 1.4.1beta01 [January 8, 2010]
+  Updated CMakeLists.txt for consistent indentation and to avoid an
+    unclosed if-statement warning (Philip Lowman).
+  Revised Makefile.am and Makefile.in to remove references to Y2KINFO,
+    KNOWNBUG, and libpng.la (Robert Schwebel).
+  Revised the makefiles to install the same files and symbolic
+    links as configure, except for libpng.la and libpng14.la.
+  Make png_set|get_compression_buffer_size() available even when
+    PNG_WRITE_SUPPORTED is not enabled.
+  Revised Makefile.am and Makefile.in to simplify their maintenance.
+  Revised scripts/makefile.linux to install a link to libpng14.so.14.1
+
+version 1.4.1beta02 [January 9, 2010]
+  Revised the rest of the makefiles to install a link to libpng14.so.14.1
+
+version 1.4.1beta03 [January 10, 2010]
+  Removed png_set_premultiply_alpha() from scripts/*.def
+
+version 1.4.1rc01 [January 16, 2010]
+  No changes.
+
+version 1.4.1beta04 [January 23, 2010]
+  Revised png_decompress_chunk() to improve speed and memory usage when
+    decoding large chunks.
+  Added png_set|get_chunk_malloc_max() functions.
+
+version 1.4.1beta05 [January 26, 2010]
+  Relocated "int k" declaration in pngtest.c to minimize its scope.
+
+version 1.4.1beta06 [January 28, 2010]
+  Revised png_decompress_chunk() to use a two-pass method suggested by
+    John Bowler.
+
+version 1.4.1beta07 [February 6, 2010]
+  Folded some long lines in the source files.
+  Added defineable PNG_USER_CHUNK_CACHE_MAX, PNG_USER_CHUNK_MALLOC_MAX,
+    and a PNG_USER_LIMITS_SUPPORTED flag.
+  Eliminated use of png_ptr->irowbytes and reused the slot in png_ptr as
+    png_ptr->png_user_chunk_malloc_max.
+  Revised png_push_save_buffer() to do fewer but larger png_malloc() calls.
+
+version 1.4.1beta08 [February 6, 2010]
+  Minor cleanup and updating of dates and copyright year.
+
+version 1.5.0beta01 [February 8, 2010]
+  Moved declaration of png_struct into private pngstruct.h and png_info into pnginfo.h
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c52dda9..0f26897 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,11 +1,17 @@
 cmake_minimum_required(VERSION 2.4.3)
+set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
+
 if(UNIX AND NOT DEFINED CMAKE_BUILD_TYPE)
-   set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of
-   build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug
-   Release RelWithDebInfo MinSizeRel.")
+  set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING 
+      "Choose the type of build, options are:
+         None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used)
+         Debug
+         Release
+         RelWithDebInfo
+         MinSizeRel.")
 endif()
 
-project(PNG C)
+project(libpng C)
 enable_testing()
 
 # Copyright (C) 2007-2010 Glenn Randers-Pehrson
@@ -15,29 +21,27 @@
 # and license in png.h
 
 set(PNGLIB_MAJOR 1)
-set(PNGLIB_MINOR 4)
+set(PNGLIB_MINOR 5)
 set(PNGLIB_RELEASE 0)
 set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR})
 set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE})
 
-set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
-
 # needed packages
 find_package(ZLIB REQUIRED)
 include_directories(${ZLIB_INCLUDE_DIR})
 
 if(NOT WIN32)
- find_library(M_LIBRARY
-     NAMES m
-     PATHS /usr/lib /usr/local/lib
- )
- if(NOT M_LIBRARY)
-   message(STATUS
-     "math library 'libm' not found - floating point support disabled")
- endif()
+  find_library(M_LIBRARY
+    NAMES m
+    PATHS /usr/lib /usr/local/lib
+  )
+  if(NOT M_LIBRARY)
+    message(STATUS
+      "math library 'libm' not found - floating point support disabled")
+  endif()
 else()
- # not needed on windows
- set(M_LIBRARY "")
+  # not needed on windows
+  set(M_LIBRARY "")
 endif()
 
 # COMMAND LINE OPTIONS
@@ -54,9 +58,9 @@
 
 if(MINGW)
   option(PNG_TESTS  "Build pngtest" NO)
-else(MINGW)
+else()
   option(PNG_TESTS  "Build pngtest" YES)
-endif(MINGW)
+endif()
 
 option(PNG_NO_CONSOLE_IO "FIXME" YES)
 option(PNG_NO_STDIO      "FIXME" YES)
@@ -68,21 +72,22 @@
 # maybe needs improving, but currently I don't know when we can enable what :)
 set(png_asm_tmp "OFF")
 if(NOT WIN32)
- find_program(uname_executable NAMES uname PATHS /bin /usr/bin /usr/local/bin)
- if(uname_executable)
-   EXEC_PROGRAM(${uname_executable} ARGS --machine OUTPUT_VARIABLE uname_output)
-   if("uname_output" MATCHES "^.*i[1-9]86.*$")
+  find_program(uname_executable NAMES uname PATHS /bin /usr/bin /usr/local/bin)
+  if(uname_executable)
+    exec_program(${uname_executable}
+                 ARGS --machine OUTPUT_VARIABLE uname_output)
+    if("uname_output" MATCHES "^.*i[1-9]86.*$")
       set(png_asm_tmp "ON")
-   else("uname_output" MATCHES "^.*i[1-9]86.*$")
+    else("uname_output" MATCHES "^.*i[1-9]86.*$")
       set(png_asm_tmp "OFF")
-   endif("uname_output" MATCHES "^.*i[1-9]86.*$")
- endif(uname_executable)
+    endif("uname_output" MATCHES "^.*i[1-9]86.*$")
+  endif(uname_executable)
 else()
- # this env var is normally only set on win64
- SET(TEXT "ProgramFiles(x86)")
- if("$ENV{${TEXT}}" STREQUAL "")
-  set(png_asm_tmp "ON")
- endif("$ENV{${TEXT}}" STREQUAL "")
+  # this env var is normally only set on win64
+  set(TEXT "ProgramFiles(x86)")
+  if("$ENV{${TEXT}}" STREQUAL "")
+    set(png_asm_tmp "ON")
+  endif("$ENV{${TEXT}}" STREQUAL "")
 endif()
 
 # SET LIBNAME
@@ -94,27 +99,27 @@
 
 # OUR SOURCES
 set(libpng_sources
- png.h
- pngconf.h
+  png.h
+  pngconf.h
  pngpriv.h
- png.c
- pngerror.c
- pngget.c
- pngmem.c
- pngpread.c
- pngread.c
- pngrio.c
- pngrtran.c
- pngrutil.c
- pngset.c
- pngtrans.c
- pngwio.c
- pngwrite.c
- pngwtran.c
- pngwutil.c
+  png.c
+  pngerror.c
+  pngget.c
+  pngmem.c
+  pngpread.c
+  pngread.c
+  pngrio.c
+  pngrtran.c
+  pngrutil.c
+  pngset.c
+  pngtrans.c
+  pngwio.c
+  pngwrite.c
+  pngwtran.c
+  pngwutil.c
 )
 set(pngtest_sources
-       pngtest.c
+  pngtest.c
 )
 # SOME NEEDED DEFINITIONS
 
@@ -125,62 +130,63 @@
 endif(MSVC)
 
 if(PNG_SHARED OR  NOT MSVC)
-	#if building msvc static this has NOT to be defined
-	add_definitions(-DZLIB_DLL)
+  #if building msvc static this has NOT to be defined
+  add_definitions(-DZLIB_DLL)
 endif()
 
+
 if(PNG_CONSOLE_IO_SUPPORTED)
- add_definitions(-DPNG_CONSOLE_IO_SUPPORTED)
+  add_definitions(-DPNG_CONSOLE_IO_SUPPORTED)
 endif()
 
 if(PNG_NO_CONSOLE_IO)
- add_definitions(-DPNG_NO_CONSOLE_IO)
+  add_definitions(-DPNG_NO_CONSOLE_IO)
 endif()
 
 if(PNG_NO_STDIO)
- add_definitions(-DPNG_NO_STDIO)
+  add_definitions(-DPNG_NO_STDIO)
 endif()
 
 if(PNG_DEBUG)
- add_definitions(-DPNG_DEBUG)
+  add_definitions(-DPNG_DEBUG)
 endif()
 
 if(NOT M_LIBRARY AND NOT WIN32)
- add_definitions(-DPNG_NO_FLOATING_POINT_SUPPORTED)
+  add_definitions(-DPNG_NO_FLOATING_POINT_SUPPORTED)
 endif()
 
 # NOW BUILD OUR TARGET
-include_directories(${PNG_SOURCE_DIR} ${ZLIB_INCLUDE_DIR})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR})
 
 if(PNG_SHARED)
- add_library(${PNG_LIB_NAME} SHARED ${libpng_sources})
- if(MSVC)
-   # msvc does not append 'lib' - do it here to have consistent name
-   set_target_properties(${PNG_LIB_NAME} PROPERTIES PREFIX "lib")
- endif()
- target_link_libraries(${PNG_LIB_NAME} ${ZLIB_LIBRARY} ${M_LIBRARY})
+  add_library(${PNG_LIB_NAME} SHARED ${libpng_sources})
+  if(MSVC)
+    # msvc does not append 'lib' - do it here to have consistent name
+    set_target_properties(${PNG_LIB_NAME} PROPERTIES PREFIX "lib")
+  endif()
+  target_link_libraries(${PNG_LIB_NAME} ${ZLIB_LIBRARY} ${M_LIBRARY})
 endif()
 
 if(PNG_STATIC)
 # does not work without changing name
- set(PNG_LIB_NAME_STATIC ${PNG_LIB_NAME}_static)
- add_library(${PNG_LIB_NAME_STATIC} STATIC ${libpng_sources})
- if(MSVC)
-   # msvc does not append 'lib' - do it here to have consistent name
-   set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES PREFIX "lib")
- endif()
+  set(PNG_LIB_NAME_STATIC ${PNG_LIB_NAME}_static)
+  add_library(${PNG_LIB_NAME_STATIC} STATIC ${libpng_sources})
+  if(MSVC)
+    # msvc does not append 'lib' - do it here to have consistent name
+    set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES PREFIX "lib")
+  endif()
 endif()
 
 
 if(PNG_SHARED AND WIN32)
- set_target_properties(${PNG_LIB_NAME} PROPERTIES DEFINE_SYMBOL PNG_BUILD_DLL)
+  set_target_properties(${PNG_LIB_NAME} PROPERTIES DEFINE_SYMBOL PNG_BUILD_DLL)
 endif()
 
 if(PNG_TESTS AND PNG_SHARED)
-# does not work with msvc due to png_lib_ver issue
- add_executable(pngtest ${pngtest_sources})
- target_link_libraries(pngtest ${PNG_LIB_NAME})
- add_test(pngtest pngtest ${PNG_SOURCE_DIR}/pngtest.png)
+  # does not work with msvc due to png_lib_ver issue
+  add_executable(pngtest ${pngtest_sources})
+  target_link_libraries(pngtest ${PNG_LIB_NAME})
+  add_test(pngtest pngtest ${CMAKE_CURRENT_SOURCE_DIR}/pngtest.png)
 endif()
 
 
@@ -191,62 +197,69 @@
 set(libdir      ${CMAKE_INSTALL_PREFIX}/lib)
 set(includedir  ${CMAKE_INSTALL_PREFIX}/include)
 
-configure_file(${PNG_SOURCE_DIR}/libpng.pc.in
-  ${PNG_BINARY_DIR}/libpng.pc)
-configure_file(${PNG_SOURCE_DIR}/libpng-config.in
-  ${PNG_BINARY_DIR}/libpng-config)
-configure_file(${PNG_SOURCE_DIR}/libpng.pc.in
-  ${PNG_BINARY_DIR}/${PNGLIB_NAME}.pc)
-configure_file(${PNG_SOURCE_DIR}/libpng-config.in
-  ${PNG_BINARY_DIR}/${PNGLIB_NAME}-config)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in
+  ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in
+  ${CMAKE_CURRENT_BINARY_DIR}/libpng-config)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in
+  ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in
+  ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config)
 
 # SET UP LINKS
 if(PNG_SHARED)
   set_target_properties(${PNG_LIB_NAME} PROPERTIES
-#    VERSION 14.${PNGLIB_RELEASE}.1.4.0rc08
-     VERSION 14.${PNGLIB_RELEASE}.0
-     SOVERSION 14
-     CLEAN_DIRECT_OUTPUT 1)
+#   VERSION 14.${PNGLIB_RELEASE}.1.5.0beta01
+    VERSION 14.${PNGLIB_RELEASE}.0
+    SOVERSION 14
+    CLEAN_DIRECT_OUTPUT 1)
 endif()
 if(PNG_STATIC)
   if(NOT WIN32)
     # that's uncool on win32 - it overwrites our static import lib...
     set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES
-       OUTPUT_NAME ${PNG_LIB_NAME}
-       CLEAN_DIRECT_OUTPUT 1)
+      OUTPUT_NAME ${PNG_LIB_NAME}
+      CLEAN_DIRECT_OUTPUT 1)
   endif()
 endif()
 
 # INSTALL
 if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
-    if(PNG_SHARED)
-        install(TARGETS ${PNG_LIB_NAME}
+  if(PNG_SHARED)
+    install(TARGETS ${PNG_LIB_NAME}
             RUNTIME DESTINATION bin
             LIBRARY DESTINATION lib
             ARCHIVE DESTINATION lib)
-    endif()
-    if(PNG_STATIC)
-        install(TARGETS ${PNG_LIB_NAME_STATIC}
+  endif()
+  if(PNG_STATIC)
+    install(TARGETS ${PNG_LIB_NAME_STATIC}
             LIBRARY DESTINATION lib
             ARCHIVE DESTINATION lib)
-    endif()
+  endif()
 endif()
 
 if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL )
-    install(FILES png.h pngconf.h pngpriv.h         DESTINATION include)
-    install(FILES png.h pngconf.h pngpriv.h         DESTINATION include/${PNGLIB_NAME})
+  install(FILES png.h pngconf.h         DESTINATION include)
+  install(FILES png.h pngconf.h         DESTINATION include/${PNGLIB_NAME})
 endif()
 if(NOT SKIP_INSTALL_EXECUTABLES AND NOT SKIP_INSTALL_ALL )
-    install(PROGRAMS ${PNG_BINARY_DIR}/libpng-config      DESTINATION bin)
-    install(PROGRAMS ${PNG_BINARY_DIR}/${PNGLIB_NAME}-config DESTINATION bin)
+  install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config DESTINATION bin)
+  install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config
+          DESTINATION bin)
 endif()
 if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
-    install(FILES libpng.3 libpngpf.3             DESTINATION man/man3)
-    install(FILES png.5                           DESTINATION man/man5)
-    install(FILES ${PNG_BINARY_DIR}/libpng.pc     DESTINATION lib/pkgconfig)
-    install(FILES ${PNG_BINARY_DIR}/libpng-config      DESTINATION bin)
-    install(FILES ${PNG_BINARY_DIR}/${PNGLIB_NAME}.pc  DESTINATION lib/pkgconfig)
-    install(FILES ${PNG_BINARY_DIR}/${PNGLIB_NAME}-config DESTINATION bin)
+  # Install man pages
+  install(FILES libpng.3 libpngpf.3             DESTINATION man/man3)
+  install(FILES png.5                           DESTINATION man/man5)
+  # Install pkg-config files
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc
+          DESTINATION lib/pkgconfig)
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng-config
+          DESTINATION bin)
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc
+          DESTINATION lib/pkgconfig)
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config
+          DESTINATION bin)
 endif()
 
 # what's with libpng.txt and all the extra files?
diff --git a/INSTALL b/INSTALL
index 3bb7fc1..effc79c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.4.0rc08 - January 2, 2010
+Installing libpng version 1.5.0beta01 - February 8, 2010
 
 On Unix/Linux and similar systems, you can simply type
 
@@ -46,7 +46,7 @@
 correspond to the version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.4.0rc08" or "libpng14" and "zlib-1.2.3"
+might be called "libpng-1.5.0beta01" or "libpng14" and "zlib-1.2.3"
 or "zlib123") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
diff --git a/LICENSE b/LICENSE
index c47953f..7cee8e0 100644
--- a/LICENSE
+++ b/LICENSE
@@ -10,7 +10,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.4.0rc08, January 2, 2010, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.0beta01, February 8, 2010, are
 Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -108,4 +108,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-January 2, 2010
+February 8, 2010
diff --git a/Makefile.am b/Makefile.am
index e621c1a..512f2bd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,12 +1,6 @@
 # Makefile.am:
 #   Source file for Makefile.in (and hence Makefile)
 #
-# Makefile.am need only be changed on a major version number
-# change (e.g. libpng12 --> libpng13).  In that case seach
-# this file for every instance of the old base name (libpng12)
-# and change to the new one (libpng13), then change the
-# -version-number settings below so that the new values have
-# the correct major part (first field).
 
 PNGLIB_BASENAME= libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@
 
@@ -16,7 +10,7 @@
 # test programs - run on make check, make distcheck
 check_PROGRAMS= pngtest
 pngtest_SOURCES = pngtest.c
-pngtest_LDADD = libpng14.la
+pngtest_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
 TESTS = test-pngtest.sh
 TESTS_ENVIRONMENT= srcdir=$(srcdir) 
 
@@ -24,33 +18,32 @@
 dist_man_MANS= libpng.3 libpngpf.3 png.5
 
 # generate the -config scripts if required
-binconfigs= libpng14-config 
-EXTRA_SCRIPTS= libpng-config libpng14-config
+binconfigs= libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config 
+EXTRA_SCRIPTS= libpng-config libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config
 bin_SCRIPTS= @binconfigs@
 
 # rules to build libpng, only build the old library on request
-lib_LTLIBRARIES=libpng14.la
-EXTRA_LTLIBRARIES= libpng.la
-libpng14_la_SOURCES = png.c pngset.c pngget.c pngrutil.c \
+lib_LTLIBRARIES=libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
+# EXTRA_LTLIBRARIES= libpng.la
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES = png.c pngset.c pngget.c pngrutil.c \
 	pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c \
-	png.h pngconf.h pngpriv.h
+	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
-libpng14_la_CPPFLAGS = @LIBPNG_DEFINES@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS = @LIBPNG_DEFINES@
 
-# MAJOR UPGRADE: the version-number settings below must be changed.
-libpng14_la_LDFLAGS = -no-undefined -export-dynamic \
-	-version-number 14:@PNGLIB_RELEASE@:0
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS = -no-undefined -export-dynamic \
+	-version-number @PNGLIB_MAJOR@@PNGLIB_MINOR@:@PNGLIB_RELEASE@:0
 
 if HAVE_LD_VERSION_SCRIPT
   # Versioned symbols and restricted exports
-  libpng14_la_LDFLAGS += -Wl,--version-script=libpng.vers
-  libpng14_la_DEPENDENCIES = libpng.vers
+  libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS += -Wl,--version-script=libpng.vers
+  libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = libpng.vers
 else
   # Only restricted exports when possible
-  libpng14_la_LDFLAGS += -export-symbols libpng.sym
-  libpng14_la_DEPENDENCIES = libpng.sym
+  libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS += -export-symbols libpng.sym
+  libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = libpng.sym
 endif
 
 # Avoid depending upon Character Ranges.
@@ -63,11 +56,11 @@
 # pkg-config stuff, note that libpng.pc is always required in order
 # to get the correct library
 pkgconfigdir = @pkgconfigdir@
-pkgconfig_DATA = libpng14.pc
+pkgconfig_DATA = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc
 
 #extra source distribution files.
 EXTRA_DIST= \
-	ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO \
+	ANNOUNCE CHANGES INSTALL LICENSE README TODO \
 	pngtest.png pngbar.png pngnow.png pngbar.jpg autogen.sh \
 	${srcdir}/projects/cbuilder5/* \
 	${srcdir}/projects/visualc6/* \
@@ -80,9 +73,9 @@
 	${srcdir}/contrib/pngsuite/* \
 	${srcdir}/contrib/visupng/* \
 	$(TESTS) \
-	example.c libpng-1.4.0rc08.txt
+	example.c libpng-1.5.0beta01.txt
 
-CLEANFILES= pngout.png libpng14.pc libpng14-config libpng.vers \
+CLEANFILES= pngout.png libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config libpng.vers \
 libpng.sym
 
 MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \
@@ -121,13 +114,13 @@
 	cd $(DESTDIR)$(pkgconfigdir); rm -f libpng.pc
 	cd $(DESTDIR)$(pkgconfigdir); $(LN_S) $(PNGLIB_BASENAME).pc libpng.pc
 
-# do evil things to libpng to cause libpng14 to be used
+# do evil things to libpng to cause libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@ to be used
 install-exec-hook:
 	cd $(DESTDIR)$(bindir); rm -f libpng-config
 	cd $(DESTDIR)$(bindir); $(LN_S) $(PNGLIB_BASENAME)-config libpng-config
 	@set -x;\
 	cd $(DESTDIR)$(libdir);\
-	for ext in a la so sl dylib; do\
+	for ext in a la so so.@PNGLIB_MAJOR@@PNGLIB_MINOR@.@PNGLIB_RELEASE@ sl dylib; do\
 		rm -f libpng.$$ext;\
                 if test -f $(PNGLIB_BASENAME).$$ext; then\
                        $(LN_S) $(PNGLIB_BASENAME).$$ext libpng.$$ext;\
diff --git a/Makefile.in b/Makefile.in
index faa1e59..f676bd5 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -18,12 +18,6 @@
 # Makefile.am:
 #   Source file for Makefile.in (and hence Makefile)
 #
-# Makefile.am need only be changed on a major version number
-# change (e.g. libpng12 --> libpng13).  In that case seach
-# this file for every instance of the old base name (libpng12)
-# and change to the new one (libpng13), then change the
-# -version-number settings below so that the new values have
-# the correct major part (first field).
 
 
 
@@ -91,25 +85,33 @@
 	"$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" \
 	"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pkgincludedir)"
 LTLIBRARIES = $(lib_LTLIBRARIES)
-libpng_la_LIBADD =
-libpng_la_SOURCES = libpng.c
-libpng_la_OBJECTS = libpng.lo
-libpng14_la_LIBADD =
-am_libpng14_la_OBJECTS = libpng14_la-png.lo libpng14_la-pngset.lo \
-	libpng14_la-pngget.lo libpng14_la-pngrutil.lo \
-	libpng14_la-pngtrans.lo libpng14_la-pngwutil.lo \
-	libpng14_la-pngread.lo libpng14_la-pngrio.lo \
-	libpng14_la-pngwio.lo libpng14_la-pngwrite.lo \
-	libpng14_la-pngrtran.lo libpng14_la-pngwtran.lo \
-	libpng14_la-pngmem.lo libpng14_la-pngerror.lo \
-	libpng14_la-pngpread.lo
-libpng14_la_OBJECTS = $(am_libpng14_la_OBJECTS)
-libpng14_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(libpng14_la_LDFLAGS) $(LDFLAGS) -o $@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LIBADD =
+am_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS =  \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-png.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngset.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngget.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrutil.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngtrans.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwutil.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngread.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrio.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwio.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwrite.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrtran.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwtran.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngmem.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngerror.lo \
+	libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngpread.lo
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS =  \
+	$(am_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS)
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LINK = $(LIBTOOL) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(AM_CFLAGS) $(CFLAGS) \
+	$(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS) $(LDFLAGS) -o \
+	$@
 am_pngtest_OBJECTS = pngtest.$(OBJEXT)
 pngtest_OBJECTS = $(am_pngtest_OBJECTS)
-pngtest_DEPENDENCIES = libpng14.la
+pngtest_DEPENDENCIES = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
 SCRIPTS = $(bin_SCRIPTS)
 DEFAULT_INCLUDES = -I.@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -124,8 +126,10 @@
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = libpng.c $(libpng14_la_SOURCES) $(pngtest_SOURCES)
-DIST_SOURCES = libpng.c $(libpng14_la_SOURCES) $(pngtest_SOURCES)
+SOURCES = $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES) \
+	$(pngtest_SOURCES)
+DIST_SOURCES = $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES) \
+	$(pngtest_SOURCES)
 man3dir = $(mandir)/man3
 man5dir = $(mandir)/man5
 NROFF = nroff
@@ -232,7 +236,7 @@
 am__untar = @am__untar@
 
 # generate the -config scripts if required
-binconfigs = libpng14-config 
+binconfigs = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config 
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -283,40 +287,40 @@
 # libpng does not follow GNU file name conventions
 AUTOMAKE_OPTIONS = foreign
 pngtest_SOURCES = pngtest.c
-pngtest_LDADD = libpng14.la
+pngtest_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
 TESTS = test-pngtest.sh
 TESTS_ENVIRONMENT = srcdir=$(srcdir) 
 
 # man pages
 dist_man_MANS = libpng.3 libpngpf.3 png.5
-EXTRA_SCRIPTS = libpng-config libpng14-config
+EXTRA_SCRIPTS = libpng-config libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config
 bin_SCRIPTS = @binconfigs@
 
 # rules to build libpng, only build the old library on request
-lib_LTLIBRARIES = libpng14.la
-EXTRA_LTLIBRARIES = libpng.la
-libpng14_la_SOURCES = png.c pngset.c pngget.c pngrutil.c \
+lib_LTLIBRARIES = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
+# EXTRA_LTLIBRARIES= libpng.la
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES = png.c pngset.c pngget.c pngrutil.c \
 	pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c \
-	png.h pngconf.h pngpriv.h
+	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
-libpng14_la_CPPFLAGS = @LIBPNG_DEFINES@
-
-# MAJOR UPGRADE: the version-number settings below must be changed.
-libpng14_la_LDFLAGS = -no-undefined -export-dynamic -version-number \
-	14:@PNGLIB_RELEASE@:0 $(am__append_1) $(am__append_2)
-@HAVE_LD_VERSION_SCRIPT_FALSE@libpng14_la_DEPENDENCIES = libpng.sym
-@HAVE_LD_VERSION_SCRIPT_TRUE@libpng14_la_DEPENDENCIES = libpng.vers
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS = @LIBPNG_DEFINES@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS = -no-undefined \
+	-export-dynamic -version-number \
+	@PNGLIB_MAJOR@@PNGLIB_MINOR@:@PNGLIB_RELEASE@:0 \
+	$(am__append_1) $(am__append_2)
+@HAVE_LD_VERSION_SCRIPT_FALSE@libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = libpng.sym
+@HAVE_LD_VERSION_SCRIPT_TRUE@libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = libpng.vers
 
 # Avoid depending upon Character Ranges.
 AN = '_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
 pkginclude_HEADERS = png.h pngconf.h
-pkgconfig_DATA = libpng14.pc
+pkgconfig_DATA = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc
 
 #extra source distribution files.
 EXTRA_DIST = \
-	ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO \
+	ANNOUNCE CHANGES INSTALL LICENSE README TODO \
 	pngtest.png pngbar.png pngnow.png pngbar.jpg autogen.sh \
 	${srcdir}/projects/cbuilder5/* \
 	${srcdir}/projects/visualc6/* \
@@ -329,9 +333,9 @@
 	${srcdir}/contrib/pngsuite/* \
 	${srcdir}/contrib/visupng/* \
 	$(TESTS) \
-	example.c libpng-1.4.0rc08.txt
+	example.c libpng-1.5.0beta01.txt
 
-CLEANFILES = pngout.png libpng14.pc libpng14-config libpng.vers \
+CLEANFILES = pngout.png libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config libpng.vers \
 libpng.sym
 
 MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \
@@ -428,10 +432,8 @@
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libpng.la: $(libpng_la_OBJECTS) $(libpng_la_DEPENDENCIES) 
-	$(LINK)  $(libpng_la_OBJECTS) $(libpng_la_LIBADD) $(LIBS)
-libpng14.la: $(libpng14_la_OBJECTS) $(libpng14_la_DEPENDENCIES) 
-	$(libpng14_la_LINK) -rpath $(libdir) $(libpng14_la_OBJECTS) $(libpng14_la_LIBADD) $(LIBS)
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la: $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES) 
+	$(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LINK) -rpath $(libdir) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LIBADD) $(LIBS)
 
 clean-checkPROGRAMS:
 	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
@@ -485,22 +487,21 @@
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-png.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngerror.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngget.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngmem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngpread.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngread.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngrio.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngrtran.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngrutil.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngset.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngtrans.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngwio.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngwrite.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngwtran.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng14_la-pngwutil.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-png.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngerror.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngget.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngmem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngpread.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngread.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrio.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrtran.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrutil.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngset.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngtrans.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwio.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwrite.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwtran.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwutil.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pngtest.Po@am__quote@
 
 .c.o:
@@ -524,110 +525,110 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 
-libpng14_la-png.lo: png.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-png.lo -MD -MP -MF $(DEPDIR)/libpng14_la-png.Tpo -c -o libpng14_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-png.Tpo $(DEPDIR)/libpng14_la-png.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='png.c' object='libpng14_la-png.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-png.lo: png.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-png.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-png.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-png.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-png.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='png.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-png.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c
 
-libpng14_la-pngset.lo: pngset.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngset.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngset.Tpo -c -o libpng14_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngset.Tpo $(DEPDIR)/libpng14_la-pngset.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngset.c' object='libpng14_la-pngset.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngset.lo: pngset.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngset.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngset.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngset.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngset.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngset.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngset.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c
 
-libpng14_la-pngget.lo: pngget.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngget.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngget.Tpo -c -o libpng14_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngget.Tpo $(DEPDIR)/libpng14_la-pngget.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngget.c' object='libpng14_la-pngget.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngget.lo: pngget.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngget.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngget.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngget.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngget.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngget.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngget.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c
 
-libpng14_la-pngrutil.lo: pngrutil.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngrutil.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngrutil.Tpo -c -o libpng14_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngrutil.Tpo $(DEPDIR)/libpng14_la-pngrutil.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrutil.c' object='libpng14_la-pngrutil.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrutil.lo: pngrutil.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrutil.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrutil.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrutil.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrutil.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrutil.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrutil.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c
 
-libpng14_la-pngtrans.lo: pngtrans.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngtrans.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngtrans.Tpo -c -o libpng14_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngtrans.Tpo $(DEPDIR)/libpng14_la-pngtrans.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngtrans.c' object='libpng14_la-pngtrans.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngtrans.lo: pngtrans.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngtrans.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngtrans.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngtrans.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngtrans.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngtrans.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngtrans.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c
 
-libpng14_la-pngwutil.lo: pngwutil.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngwutil.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngwutil.Tpo -c -o libpng14_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngwutil.Tpo $(DEPDIR)/libpng14_la-pngwutil.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwutil.c' object='libpng14_la-pngwutil.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwutil.lo: pngwutil.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwutil.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwutil.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwutil.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwutil.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwutil.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwutil.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c
 
-libpng14_la-pngread.lo: pngread.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngread.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngread.Tpo -c -o libpng14_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngread.Tpo $(DEPDIR)/libpng14_la-pngread.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngread.c' object='libpng14_la-pngread.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngread.lo: pngread.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngread.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngread.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngread.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngread.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngread.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngread.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c
 
-libpng14_la-pngrio.lo: pngrio.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngrio.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngrio.Tpo -c -o libpng14_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngrio.Tpo $(DEPDIR)/libpng14_la-pngrio.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrio.c' object='libpng14_la-pngrio.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrio.lo: pngrio.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrio.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrio.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrio.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrio.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrio.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrio.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c
 
-libpng14_la-pngwio.lo: pngwio.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngwio.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngwio.Tpo -c -o libpng14_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngwio.Tpo $(DEPDIR)/libpng14_la-pngwio.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwio.c' object='libpng14_la-pngwio.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwio.lo: pngwio.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwio.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwio.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwio.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwio.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwio.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwio.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c
 
-libpng14_la-pngwrite.lo: pngwrite.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngwrite.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngwrite.Tpo -c -o libpng14_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngwrite.Tpo $(DEPDIR)/libpng14_la-pngwrite.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwrite.c' object='libpng14_la-pngwrite.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwrite.lo: pngwrite.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwrite.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwrite.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwrite.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwrite.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwrite.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwrite.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c
 
-libpng14_la-pngrtran.lo: pngrtran.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngrtran.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngrtran.Tpo -c -o libpng14_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngrtran.Tpo $(DEPDIR)/libpng14_la-pngrtran.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrtran.c' object='libpng14_la-pngrtran.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrtran.lo: pngrtran.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrtran.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrtran.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrtran.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrtran.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrtran.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrtran.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c
 
-libpng14_la-pngwtran.lo: pngwtran.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngwtran.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngwtran.Tpo -c -o libpng14_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngwtran.Tpo $(DEPDIR)/libpng14_la-pngwtran.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwtran.c' object='libpng14_la-pngwtran.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwtran.lo: pngwtran.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwtran.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwtran.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwtran.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwtran.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwtran.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwtran.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c
 
-libpng14_la-pngmem.lo: pngmem.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngmem.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngmem.Tpo -c -o libpng14_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngmem.Tpo $(DEPDIR)/libpng14_la-pngmem.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngmem.c' object='libpng14_la-pngmem.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngmem.lo: pngmem.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngmem.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngmem.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngmem.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngmem.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngmem.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngmem.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c
 
-libpng14_la-pngerror.lo: pngerror.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngerror.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngerror.Tpo -c -o libpng14_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngerror.Tpo $(DEPDIR)/libpng14_la-pngerror.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngerror.c' object='libpng14_la-pngerror.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngerror.lo: pngerror.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngerror.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngerror.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngerror.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngerror.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngerror.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngerror.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c
 
-libpng14_la-pngpread.lo: pngpread.c
-@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pngpread.lo -MD -MP -MF $(DEPDIR)/libpng14_la-pngpread.Tpo -c -o libpng14_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng14_la-pngpread.Tpo $(DEPDIR)/libpng14_la-pngpread.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngpread.c' object='libpng14_la-pngpread.lo' libtool=yes @AMDEPBACKSLASH@
+libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngpread.lo: pngpread.c
+@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngpread.lo -MD -MP -MF $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngpread.Tpo -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngpread.Tpo $(DEPDIR)/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngpread.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngpread.c' object='libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngpread.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
+@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1238,13 +1239,13 @@
 	cd $(DESTDIR)$(pkgconfigdir); rm -f libpng.pc
 	cd $(DESTDIR)$(pkgconfigdir); $(LN_S) $(PNGLIB_BASENAME).pc libpng.pc
 
-# do evil things to libpng to cause libpng14 to be used
+# do evil things to libpng to cause libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@ to be used
 install-exec-hook:
 	cd $(DESTDIR)$(bindir); rm -f libpng-config
 	cd $(DESTDIR)$(bindir); $(LN_S) $(PNGLIB_BASENAME)-config libpng-config
 	@set -x;\
 	cd $(DESTDIR)$(libdir);\
-	for ext in a la so sl dylib; do\
+	for ext in a la so so.@PNGLIB_MAJOR@@PNGLIB_MINOR@.@PNGLIB_RELEASE@ sl dylib; do\
 		rm -f libpng.$$ext;\
                 if test -f $(PNGLIB_BASENAME).$$ext; then\
                        $(LN_S) $(PNGLIB_BASENAME).$$ext libpng.$$ext;\
diff --git a/README b/README
index 1a765d6..c389aa4 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.4.0rc08 - January 2, 2010 (shared library 14.0)
+README for libpng version 1.5.0beta01 - February 8, 2010 (shared library 14.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
@@ -185,9 +185,9 @@
        makefile.std     =>  Generic UNIX makefile (cc, creates static
                             libpng.a)
        makefile.elf     =>  Linux/ELF makefile symbol versioning,
-                            gcc, creates libpng14.so.14.1.4.0rc08)
+                            gcc, creates libpng14.so.14.1.5.0beta01)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng14.so.14.1.4.0rc08)
+                            (gcc, creates libpng14.so.14.1.5.0beta01)
        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
        makefile.knr     =>  Archaic UNIX Makefile that converts files with
                             ansi2knr (Requires ansi2knr.c from
@@ -209,12 +209,12 @@
        makefile.openbsd =>  OpenBSD makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
        makefile.sggcc   =>  Silicon Graphics
-                            (gcc, creates libpng14.so.14.1.4.0rc08)
+                            (gcc, creates libpng14.so.14.1.5.0beta01)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng14.so.14.1.4.0rc08)
+                            (gcc, creates libpng14.so.14.1.5.0beta01)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng14.so.14.1.4.0rc08)
+                            (gcc, creates libpng14.so.14.1.5.0beta01)
        makefile.32sunu  =>  Sun Ultra 32-bit makefile
        makefile.64sunu  =>  Sun Ultra 64-bit makefile
        makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
diff --git a/configure b/configure
index 9b64852..ed595d4 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for libpng 1.4.0rc08.
+# Generated by GNU Autoconf 2.65 for libpng 1.5.0beta01.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -701,8 +701,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.4.0rc08'
-PACKAGE_STRING='libpng 1.4.0rc08'
+PACKAGE_VERSION='1.5.0beta01'
+PACKAGE_STRING='libpng 1.5.0beta01'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1432,7 +1432,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libpng 1.4.0rc08 to adapt to many kinds of systems.
+\`configure' configures libpng 1.5.0beta01 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1502,7 +1502,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.4.0rc08:";;
+     short | recursive ) echo "Configuration of libpng 1.5.0beta01:";;
    esac
   cat <<\_ACEOF
 
@@ -1607,7 +1607,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.4.0rc08
+libpng configure 1.5.0beta01
 generated by GNU Autoconf 2.65
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2032,7 +2032,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libpng $as_me 1.4.0rc08, which was
+It was created by libpng $as_me 1.5.0beta01, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   $ $0 $@
@@ -2840,7 +2840,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.4.0rc08'
+ VERSION='1.5.0beta01'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2904,9 +2904,9 @@
 
 
 
-PNGLIB_VERSION=1.4.0rc08
+PNGLIB_VERSION=1.5.0beta01
 PNGLIB_MAJOR=1
-PNGLIB_MINOR=4
+PNGLIB_MINOR=5
 PNGLIB_RELEASE=0
 
 
@@ -12027,7 +12027,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libpng $as_me 1.4.0rc08, which was
+This file was extended by libpng $as_me 1.5.0beta01, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12093,7 +12093,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libpng config.status 1.4.0rc08
+libpng config.status 1.5.0beta01
 configured by $0, generated by GNU Autoconf 2.65,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 420c78c..451a38b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,14 +18,14 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.4.0rc08], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.5.0beta01], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.4.0rc08
+PNGLIB_VERSION=1.5.0beta01
 PNGLIB_MAJOR=1
-PNGLIB_MINOR=4
+PNGLIB_MINOR=5
 PNGLIB_RELEASE=0
 
 dnl End of version number stuff
diff --git a/contrib/pngminim/decoder/makefile b/contrib/pngminim/decoder/makefile
index 2858f9c..13c56d1 100644
--- a/contrib/pngminim/decoder/makefile
+++ b/contrib/pngminim/decoder/makefile
@@ -25,7 +25,7 @@
 
 # implicit make rules -------------------------------------------------------
 
-.c$(O): png.h pngconf.h pngpriv.h pngusr.h zlib.h
+.c$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngusr.h zlib.h
 	$(CC) -c $(CFLAGS) $<
 
 # dependencies
diff --git a/contrib/pngminim/decoder/pngusr.h b/contrib/pngminim/decoder/pngusr.h
index 49e6f01..9cbfc53 100644
--- a/contrib/pngminim/decoder/pngusr.h
+++ b/contrib/pngminim/decoder/pngusr.h
@@ -69,5 +69,7 @@
 #define PNG_NO_ERROR_NUMBERS
 #define PNG_NO_EASY_ACCESS
 #define PNG_NO_PROGRESSIVE_READ
+#define PNG_NO_USER_LIMITS
+#define PNG_NO_SET_USER_LIMITS
 
 #endif /* MINRDPNGCONF_H */
diff --git a/contrib/pngminim/encoder/makefile b/contrib/pngminim/encoder/makefile
index 8f05e8d..035ecff 100644
--- a/contrib/pngminim/encoder/makefile
+++ b/contrib/pngminim/encoder/makefile
@@ -24,7 +24,7 @@
 
 # implicit make rules -------------------------------------------------------
 
-.c$(O): png.h pngconf.h pngpriv.h pngusr.h zlib.h
+.c$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngusr.h zlib.h
 	$(CC) -c $(CFLAGS) $<
 
 # dependencies
diff --git a/contrib/pngminim/encoder/pngusr.h b/contrib/pngminim/encoder/pngusr.h
index f51fad1..2feed2e 100644
--- a/contrib/pngminim/encoder/pngusr.h
+++ b/contrib/pngminim/encoder/pngusr.h
@@ -67,5 +67,7 @@
 #define PNG_NO_ZALLOC_ZERO
 #define PNG_NO_ERROR_NUMBERS
 #define PNG_NO_EASY_ACCESS
+#define PNG_NO_USER_LIMITS
+#define PNG_NO_SET_USER_LIMITS
 
 #endif /* MINWRPNGCONF_H */
diff --git a/contrib/pngminim/preader/makefile b/contrib/pngminim/preader/makefile
index 46dd93d..007236f 100644
--- a/contrib/pngminim/preader/makefile
+++ b/contrib/pngminim/preader/makefile
@@ -41,7 +41,7 @@
 
 # implicit make rules -------------------------------------------------------
 
-.c$(O): png.h pngconf.h pngpriv.h readpng2.h pngusr.h zlib.h
+.c$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h readpng2.h pngusr.h zlib.h
 	$(CC) -c $(CFLAGS) $<
 
 # dependencies
diff --git a/contrib/pngminim/preader/pngusr.h b/contrib/pngminim/preader/pngusr.h
index 98688a5..ca851e0 100644
--- a/contrib/pngminim/preader/pngusr.h
+++ b/contrib/pngminim/preader/pngusr.h
@@ -59,5 +59,7 @@
 #define PNG_NO_ZALLOC_ZERO
 #define PNG_NO_ERROR_NUMBERS
 #define PNG_NO_EASY_ACCESS
+#define PNG_NO_USER_LIMITS
+#define PNG_NO_SET_USER_LIMITS
 
 #endif /* MINPRDPNGCONF_H */
diff --git a/example.c b/example.c
index d126df4..8c5d87b 100644
--- a/example.c
+++ b/example.c
@@ -2,7 +2,7 @@
 #if 0 /* in case someone actually tries to compile this */
 
 /* example.c - an example of using libpng
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.0 [January 3, 2010]
  * This file has been placed in the public domain by the authors.
  * Maintained 1998-2010 Glenn Randers-Pehrson
  * Maintained 1996, 1997 Andreas Dilger)
diff --git a/libpng-1.4.0rc08.txt b/libpng-1.5.0beta01.txt
similarity index 98%
rename from libpng-1.4.0rc08.txt
rename to libpng-1.5.0beta01.txt
index b699034..faa3cc7 100644
--- a/libpng-1.4.0rc08.txt
+++ b/libpng-1.5.0beta01.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.4.0rc08 - January 2, 2010
+ libpng version 1.5.0beta01 - February 8, 2010
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2009 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.4.0rc08 - January 2, 2010
+ libpng versions 0.97, January 1998, through 1.5.0beta01 - February 8, 2010
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2009 Glenn Randers-Pehrson
 
@@ -260,6 +260,15 @@
 
     png_set_sig_bytes(png_ptr, number);
 
+You can change the zlib compression buffer size to be used while
+reading compressed data with
+
+    png_set_compression_buffer_size(png_ptr, buffer_size);
+
+where the default size is 8192 bytes.  Note that the buffer size
+is changed immediately and the buffer is reallocated immediately,
+instead of setting a flag to be acted upon later.
+
 Setting up callback code
 
 You can set up a callback function to handle any unknown chunks in the
@@ -423,6 +432,18 @@
 This limit also applies to the number of buffers that can be allocated
 by png_decompress_chunk() while decompressing iTXt, zTXt, and iCCP chunks.
 
+You can also set a limit on the amount of memory that a compressed chunk
+other than IDAT can occupy, with
+
+   png_set_chunk_malloc_max(png_ptr, user_chunk_malloc_max);
+
+and you can retrieve the limit with
+
+   chunk_malloc_max = png_get_chunk_malloc_max(png_ptr);
+
+Any chunks that would cause either of these limits to be exceeded will
+be ignored.
+
 The high-level read interface
 
 At this point there are two ways to proceed; through the high-level
@@ -878,7 +899,7 @@
 As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
 added.  It expands the sample depth without changing tRNS to alpha.
 
-As of libpng version 1.4.0rc08, not all possible expansions are supported.
+As of libpng version 1.5.0beta01, not all possible expansions are supported.
 
 In the following table, the 01 means grayscale with depth<8, 31 means
 indexed with depth<8, other numerals represent the color type, "T" means
@@ -2479,7 +2500,7 @@
 Your replacement memory functions must have prototypes as follows:
 
     png_voidp malloc_fn(png_structp png_ptr,
-       png_size_t size);
+       png_alloc_size_t size);
     void free_fn(png_structp png_ptr, png_voidp ptr);
 
 Your malloc_fn() must return NULL in case of failure.  The png_malloc()
@@ -2994,6 +3015,7 @@
 which also expands tRNS to alpha was replaced with
     png_set_expand_gray_1_2_4_to_8()
 which does not. It has been deprecated since libpng-1.0.18 and 1.2.9.
+
 IX.  Changes to Libpng from version 1.0.x/1.2.x to 1.4.x
 
 Private libpng prototypes and macro definitions were moved from
@@ -3028,7 +3050,7 @@
 changed to "trans_alpha" and "trans_color", respectively.
 
 The obsolete, unused pnggccrd.c and pngvcrd.c files and related makefiles
-%were removed.
+were removed.
 
 The PNG_1_0_X and PNG_1_2_X macros were eliminated.
 
@@ -3052,11 +3074,18 @@
 png_memset_check() functions.  Instead use !png_sig_cmp(), png_memcpy(),
 and png_memset(), respectively.
 
+The function png_set_gray_1_2_4_to_8() was removed. It has been
+deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
+png_set_expand_gray_1_2_4_to_8() because the former function also
+expanded palette images.
+
 We changed the prototype for png_malloc() from
     png_malloc(png_structp png_ptr, png_uint_32 size)
 to
     png_malloc(png_structp png_ptr, png_alloc_size_t size)
 
+This also applies to the prototype for the user replacement malloc_fn().
+
 The png_calloc() function was added and is used in place of
 of "png_malloc(); png_memset();" except in the case in png_read_png()
 where the array consists of pointers; in this case a "for" loop is used
@@ -3216,13 +3245,13 @@
 
 XIII. Y2K Compliance in libpng
 
-January 2, 2010
+February 8, 2010
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.4.0rc08 are Y2K compliant.  It is my belief that earlier
+upward through 1.5.0beta01 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
diff --git a/libpng.3 b/libpng.3
index ffeb2da..0bdf94e 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "January 2, 2010"
+.TH LIBPNG 3 "February 8, 2010"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0rc08
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta01
 .SH SYNOPSIS
 \fI\fB
 
@@ -192,6 +192,10 @@
 
 \fI\fB
 
+\fBpng_alloc_size_t png_get_chunk_malloc_max (png_structp \fIpng_ptr\fP\fB);\fP
+
+\fI\fB
+
 \fBpng_voidp png_get_mem_ptr(png_structp \fIpng_ptr\fP\fB);\fP
 
 \fI\fB
@@ -538,6 +542,10 @@
 
 \fI\fB
 
+\fBvoid png_set_chunk_malloc_max (png_structp \fP\fIpng_ptr\fP\fB, png_alloc_size_t \fIuser_chunk_cache_max\fP\fB);\fP
+
+\fI\fB
+
 \fBvoid png_set_mem_fn(png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fImem_ptr\fP\fB, png_malloc_ptr \fP\fImalloc_fn\fP\fB, png_free_ptr \fIfree_fn\fP\fB);\fP
 
 \fI\fB
@@ -777,7 +785,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.4.0rc08 - January 2, 2010
+ libpng version 1.5.0beta01 - February 8, 2010
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2009 Glenn Randers-Pehrson
@@ -788,7 +796,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.4.0rc08 - January 2, 2010
+ libpng versions 0.97, January 1998, through 1.5.0beta01 - February 8, 2010
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2009 Glenn Randers-Pehrson
 
@@ -1037,6 +1045,15 @@
 
     png_set_sig_bytes(png_ptr, number);
 
+You can change the zlib compression buffer size to be used while
+reading compressed data with
+
+    png_set_compression_buffer_size(png_ptr, buffer_size);
+
+where the default size is 8192 bytes.  Note that the buffer size
+is changed immediately and the buffer is reallocated immediately,
+instead of setting a flag to be acted upon later.
+
 .SS Setting up callback code
 
 You can set up a callback function to handle any unknown chunks in the
@@ -1200,6 +1217,18 @@
 This limit also applies to the number of buffers that can be allocated
 by png_decompress_chunk() while decompressing iTXt, zTXt, and iCCP chunks.
 
+You can also set a limit on the amount of memory that a compressed chunk
+other than IDAT can occupy, with
+
+   png_set_chunk_malloc_max(png_ptr, user_chunk_malloc_max);
+
+and you can retrieve the limit with
+
+   chunk_malloc_max = png_get_chunk_malloc_max(png_ptr);
+
+Any chunks that would cause either of these limits to be exceeded will
+be ignored.
+
 .SS The high-level read interface
 
 At this point there are two ways to proceed; through the high-level
@@ -1655,7 +1684,7 @@
 As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
 added.  It expands the sample depth without changing tRNS to alpha.
 
-As of libpng version 1.4.0rc08, not all possible expansions are supported.
+As of libpng version 1.5.0beta01, not all possible expansions are supported.
 
 In the following table, the 01 means grayscale with depth<8, 31 means
 indexed with depth<8, other numerals represent the color type, "T" means
@@ -3256,7 +3285,7 @@
 Your replacement memory functions must have prototypes as follows:
 
     png_voidp malloc_fn(png_structp png_ptr,
-       png_size_t size);
+       png_alloc_size_t size);
     void free_fn(png_structp png_ptr, png_voidp ptr);
 
 Your malloc_fn() must return NULL in case of failure.  The png_malloc()
@@ -3771,6 +3800,7 @@
 which also expands tRNS to alpha was replaced with
     png_set_expand_gray_1_2_4_to_8()
 which does not. It has been deprecated since libpng-1.0.18 and 1.2.9.
+
 .SH IX.  Changes to Libpng from version 1.0.x/1.2.x to 1.4.x
 
 Private libpng prototypes and macro definitions were moved from
@@ -3805,7 +3835,7 @@
 changed to "trans_alpha" and "trans_color", respectively.
 
 The obsolete, unused pnggccrd.c and pngvcrd.c files and related makefiles
-%were removed.
+were removed.
 
 The PNG_1_0_X and PNG_1_2_X macros were eliminated.
 
@@ -3829,11 +3859,18 @@
 png_memset_check() functions.  Instead use !png_sig_cmp(), png_memcpy(),
 and png_memset(), respectively.
 
+The function png_set_gray_1_2_4_to_8() was removed. It has been
+deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
+png_set_expand_gray_1_2_4_to_8() because the former function also
+expanded palette images.
+
 We changed the prototype for png_malloc() from
     png_malloc(png_structp png_ptr, png_uint_32 size)
 to
     png_malloc(png_structp png_ptr, png_alloc_size_t size)
 
+This also applies to the prototype for the user replacement malloc_fn().
+
 The png_calloc() function was added and is used in place of
 of "png_malloc(); png_memset();" except in the case in png_read_png()
 where the array consists of pointers; in this case a "for" loop is used
@@ -3993,13 +4030,13 @@
 
 .SH XIII. Y2K Compliance in libpng
 
-January 2, 2010
+February 8, 2010
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.4.0rc08 are Y2K compliant.  It is my belief that earlier
+upward through 1.5.0beta01 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
@@ -4172,6 +4209,10 @@
  1.4.0beta88-109     14    10400  14.so.14.0[.0]
  1.4.0rc02-08        14    10400  14.so.14.0[.0]
  1.4.0               14    10400  14.so.14.0[.0]
+ 1.4.1beta01-03      14    10401  14.so.14.1[.0]
+ 1.4.1rc01           14    10401  14.so.14.1[.0]
+ 1.4.1beta04-09      14    10401  14.so.14.1[.0]
+ 1.5.0beta01         15    10500  15.so.15.1[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -4227,7 +4268,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.4.0rc08 - January 2, 2010:
+Libpng version 1.5.0beta01 - February 8, 2010:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -4250,7 +4291,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.4.0rc08, January 2, 2010, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.0beta01, February 8, 2010, are
 Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -4349,7 +4390,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-January 2, 2010
+February 8, 2010
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index a8a716b..0a50823 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "January 2, 2010"
+.TH LIBPNGPF 3 "February 8, 2010"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0rc08
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta01
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 10e2f00..529c92e 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "January 2, 2010"
+.TH PNG 5 "February 8, 2010"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 1ad8900..1e530c5 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,13 +11,14 @@
  * and license in png.h
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_EXTERN
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #include "pngpriv.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_4_0rc08 Your_png_h_is_not_version_1_4_0rc08;
+typedef version_1_5_0beta01 Your_png_h_is_not_version_1_5_0beta01;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.
@@ -551,13 +552,13 @@
 #else
 #ifdef __STDC__
    return ((png_charp) PNG_STRING_NEWLINE \
-     "libpng version 1.4.0rc08 - January 2, 2010" PNG_STRING_NEWLINE \
+     "libpng version 1.5.0beta01 - February 8, 2010" PNG_STRING_NEWLINE \
      "Copyright (c) 1998-2010 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
      "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
      "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
      PNG_STRING_NEWLINE);
 #else
-      return ((png_charp) "libpng version 1.4.0rc08 - January 2, 2010\
+      return ((png_charp) "libpng version 1.5.0beta01 - February 8, 2010\
       Copyright (c) 1998-2010 Glenn Randers-Pehrson\
       Copyright (c) 1996-1997 Andreas Dilger\
       Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.");
diff --git a/png.h b/png.h
index d5b6060..de8b7a9 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.4.0rc08 - January 2, 2010
+ * libpng version 1.5.0beta01 - February 8, 2010
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,7 +11,7 @@
  * Authors and maintainers:
  *  libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *  libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *  libpng versions 0.97, January 1998, through 1.4.0rc08 - January 2, 2010: Glenn
+ *  libpng versions 0.97, January 1998, through 1.5.0beta01 - February 8, 2010: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -134,6 +134,10 @@
  *    1.4.0beta88-109         14    10400  14.so.14.0[.0]
  *    1.4.0rc02-08            14    10400  14.so.14.0[.0]
  *    1.4.0                   14    10400  14.so.14.0[.0]
+ *    1.4.1beta01-03          14    10401  14.so.14.1[.0]
+ *    1.4.1rc01               14    10401  14.so.14.1[.0]
+ *    1.4.1beta04-09          14    10401  14.so.14.1[.0]
+ *    1.5.0beta01             15    10500  15.so.15.0[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -165,7 +169,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.4.0rc08, January 2, 2010, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.5.0beta01, February 8, 2010, are
  * Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.2.5
  * with the following individual added to the list of Contributing Authors:
@@ -277,13 +281,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    January 2, 2010
+ *    February 8, 2010
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
  *
  *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.4.0rc08 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.5.0beta01 are Y2K compliant.  It is my belief that earlier
  *    versions were also Y2K compliant.
  *
  *    Libpng only has three year fields.  One is a 2-byte unsigned integer
@@ -339,22 +343,22 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.4.0rc08"
+#define PNG_LIBPNG_VER_STRING "1.5.0beta01"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.4.0rc08 - January 2, 2010\n"
+   " libpng version 1.5.0beta01 - February 8, 2010\n"
 
 #define PNG_LIBPNG_VER_SONUM   14
 #define PNG_LIBPNG_VER_DLLNUM  14
 
 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
 #define PNG_LIBPNG_VER_MAJOR   1
-#define PNG_LIBPNG_VER_MINOR   4
+#define PNG_LIBPNG_VER_MINOR   5
 #define PNG_LIBPNG_VER_RELEASE 0
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero:
  */
 
-#define PNG_LIBPNG_VER_BUILD  08
+#define PNG_LIBPNG_VER_BUILD  01
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -379,7 +383,7 @@
  * version 1.0.0 was mis-numbered 100 instead of 10000).  From
  * version 1.0.1 it's    xxyyzz, where x=major, y=minor, z=release
  */
-#define PNG_LIBPNG_VER 10400 /* 1.4.0 */
+#define PNG_LIBPNG_VER 10500 /* 1.5.0 */
 
 #ifndef PNG_VERSION_INFO_ONLY
 /* Include the compression library's header */
@@ -587,282 +591,14 @@
 typedef png_unknown_chunk FAR * FAR * png_unknown_chunkpp;
 #endif
 
-/* png_info is a structure that holds the information in a PNG file so
- * that the application can find out the characteristics of the image.
- * If you are reading the file, this structure will tell you what is
- * in the PNG file.  If you are writing the file, fill in the information
- * you want to put into the PNG file, then call png_write_info().
- * The names chosen should be very close to the PNG specification, so
- * consult that document for information about the meaning of each field.
- *
- * With libpng < 0.95, it was only possible to directly set and read the
- * the values in the png_info_struct, which meant that the contents and
- * order of the values had to remain fixed.  With libpng 0.95 and later,
- * however, there are now functions that abstract the contents of
- * png_info_struct from the application, so this makes it easier to use
- * libpng with dynamic libraries, and even makes it possible to use
- * libraries that don't have all of the libpng ancillary chunk-handing
- * functionality.
- *
- * In any case, the order of the parameters in png_info_struct should NOT
- * be changed for as long as possible to keep compatibility with applications
- * that use the old direct-access method with png_info_struct.
- *
- * The following members may have allocated storage attached that should be
- * cleaned up before the structure is discarded: palette, trans, text,
- * pcal_purpose, pcal_units, pcal_params, hist, iccp_name, iccp_profile,
- * splt_palettes, scal_unit, row_pointers, and unknowns.   By default, these
- * are automatically freed when the info structure is deallocated, if they were
- * allocated internally by libpng.  This behavior can be changed by means
- * of the png_data_freer() function.
- *
- * More allocation details: all the chunk-reading functions that
- * change these members go through the corresponding png_set_*
- * functions.  A function to clear these members is available: see
- * png_free_data().  The png_set_* functions do not depend on being
- * able to point info structure members to any of the storage they are
- * passed (they make their own copies), EXCEPT that the png_set_text
- * functions use the same storage passed to them in the text_ptr or
- * itxt_ptr structure argument, and the png_set_rows and png_set_unknowns
- * functions do not make their own copies.
- */
-typedef struct png_info_struct
-{
-   /* the following are necessary for every PNG file */
-   png_uint_32 width PNG_DEPSTRUCT;       /* width of image in pixels (from IHDR) */
-   png_uint_32 height PNG_DEPSTRUCT;      /* height of image in pixels (from IHDR) */
-   png_uint_32 valid PNG_DEPSTRUCT;       /* valid chunk data (see PNG_INFO_ below) */
-   png_size_t rowbytes PNG_DEPSTRUCT;     /* bytes needed to hold an untransformed row */
-   png_colorp palette PNG_DEPSTRUCT;      /* array of color values (valid & PNG_INFO_PLTE) */
-   png_uint_16 num_palette PNG_DEPSTRUCT; /* number of color entries in "palette" (PLTE) */
-   png_uint_16 num_trans PNG_DEPSTRUCT;   /* number of transparent palette color (tRNS) */
-   png_byte bit_depth PNG_DEPSTRUCT;      /* 1, 2, 4, 8, or 16 bits/channel (from IHDR) */
-   png_byte color_type PNG_DEPSTRUCT;     /* see PNG_COLOR_TYPE_ below (from IHDR) */
-   /* The following three should have been named *_method not *_type */
-   png_byte compression_type PNG_DEPSTRUCT; /* must be PNG_COMPRESSION_TYPE_BASE (IHDR) */
-   png_byte filter_type PNG_DEPSTRUCT;    /* must be PNG_FILTER_TYPE_BASE (from IHDR) */
-   png_byte interlace_type PNG_DEPSTRUCT; /* One of PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
 
-   /* The following is informational only on read, and not used on writes. */
-   png_byte channels PNG_DEPSTRUCT;       /* number of data channels per pixel (1, 2, 3, 4) */
-   png_byte pixel_depth PNG_DEPSTRUCT;    /* number of bits per pixel */
-   png_byte spare_byte PNG_DEPSTRUCT;     /* to align the data, and for future use */
-   png_byte signature[8] PNG_DEPSTRUCT;   /* magic bytes read by libpng from start of file */
-
-   /* The rest of the data is optional.  If you are reading, check the
-    * valid field to see if the information in these are valid.  If you
-    * are writing, set the valid field to those chunks you want written,
-    * and initialize the appropriate fields below.
-    */
-
-#if defined(PNG_gAMA_SUPPORTED) && defined(PNG_FLOATING_POINT_SUPPORTED)
-   /* The gAMA chunk describes the gamma characteristics of the system
-    * on which the image was created, normally in the range [1.0, 2.5].
-    * Data is valid if (valid & PNG_INFO_gAMA) is non-zero.
-    */
-   float gamma PNG_DEPSTRUCT; /* gamma value of image, if (valid & PNG_INFO_gAMA) */
+#ifdef PNG_INTERNAL
+#include "pnginfo.h"
+#else
+typedef struct { ; } png_info_struct;
+typedef struct png_info_struct png_info;
 #endif
 
-#ifdef PNG_sRGB_SUPPORTED
-    /* GR-P, 0.96a */
-    /* Data valid if (valid & PNG_INFO_sRGB) non-zero. */
-   png_byte srgb_intent PNG_DEPSTRUCT; /* sRGB rendering intent [0, 1, 2, or 3] */
-#endif
-
-#ifdef PNG_TEXT_SUPPORTED
-   /* The tEXt, and zTXt chunks contain human-readable textual data in
-    * uncompressed, compressed, and optionally compressed forms, respectively.
-    * The data in "text" is an array of pointers to uncompressed,
-    * null-terminated C strings. Each chunk has a keyword that describes the
-    * textual data contained in that chunk.  Keywords are not required to be
-    * unique, and the text string may be empty.  Any number of text chunks may
-    * be in an image.
-    */
-   int num_text PNG_DEPSTRUCT; /* number of comments read/to write */
-   int max_text PNG_DEPSTRUCT; /* current size of text array */
-   png_textp text PNG_DEPSTRUCT; /* array of comments read/to write */
-#endif /* PNG_TEXT_SUPPORTED */
-
-#ifdef PNG_tIME_SUPPORTED
-   /* The tIME chunk holds the last time the displayed image data was
-    * modified.  See the png_time struct for the contents of this struct.
-    */
-   png_time mod_time PNG_DEPSTRUCT;
-#endif
-
-#ifdef PNG_sBIT_SUPPORTED
-   /* The sBIT chunk specifies the number of significant high-order bits
-    * in the pixel data.  Values are in the range [1, bit_depth], and are
-    * only specified for the channels in the pixel data.  The contents of
-    * the low-order bits is not specified.  Data is valid if
-    * (valid & PNG_INFO_sBIT) is non-zero.
-    */
-   png_color_8 sig_bit PNG_DEPSTRUCT; /* significant bits in color channels */
-#endif
-
-#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_EXPAND_SUPPORTED) || \
-defined(PNG_READ_BACKGROUND_SUPPORTED)
-   /* The tRNS chunk supplies transparency data for paletted images and
-    * other image types that don't need a full alpha channel.  There are
-    * "num_trans" transparency values for a paletted image, stored in the
-    * same order as the palette colors, starting from index 0.  Values
-    * for the data are in the range [0, 255], ranging from fully transparent
-    * to fully opaque, respectively.  For non-paletted images, there is a
-    * single color specified that should be treated as fully transparent.
-    * Data is valid if (valid & PNG_INFO_tRNS) is non-zero.
-    */
-   png_bytep trans_alpha PNG_DEPSTRUCT;    /* alpha values for paletted image */
-   png_color_16 trans_color PNG_DEPSTRUCT; /* transparent color for non-palette image */
-#endif
-
-#if defined(PNG_bKGD_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
-   /* The bKGD chunk gives the suggested image background color if the
-    * display program does not have its own background color and the image
-    * is needs to composited onto a background before display.  The colors
-    * in "background" are normally in the same color space/depth as the
-    * pixel data.  Data is valid if (valid & PNG_INFO_bKGD) is non-zero.
-    */
-   png_color_16 background PNG_DEPSTRUCT;
-#endif
-
-#ifdef PNG_oFFs_SUPPORTED
-   /* The oFFs chunk gives the offset in "offset_unit_type" units rightwards
-    * and downwards from the top-left corner of the display, page, or other
-    * application-specific co-ordinate space.  See the PNG_OFFSET_ defines
-    * below for the unit types.  Valid if (valid & PNG_INFO_oFFs) non-zero.
-    */
-   png_int_32 x_offset PNG_DEPSTRUCT; /* x offset on page */
-   png_int_32 y_offset PNG_DEPSTRUCT; /* y offset on page */
-   png_byte offset_unit_type PNG_DEPSTRUCT; /* offset units type */
-#endif
-
-#ifdef PNG_pHYs_SUPPORTED
-   /* The pHYs chunk gives the physical pixel density of the image for
-    * display or printing in "phys_unit_type" units (see PNG_RESOLUTION_
-    * defines below).  Data is valid if (valid & PNG_INFO_pHYs) is non-zero.
-    */
-   png_uint_32 x_pixels_per_unit PNG_DEPSTRUCT; /* horizontal pixel density */
-   png_uint_32 y_pixels_per_unit PNG_DEPSTRUCT; /* vertical pixel density */
-   png_byte phys_unit_type PNG_DEPSTRUCT; /* resolution type (see PNG_RESOLUTION_ below) */
-#endif
-
-#ifdef PNG_hIST_SUPPORTED
-   /* The hIST chunk contains the relative frequency or importance of the
-    * various palette entries, so that a viewer can intelligently select a
-    * reduced-color palette, if required.  Data is an array of "num_palette"
-    * values in the range [0,65535]. Data valid if (valid & PNG_INFO_hIST)
-    * is non-zero.
-    */
-   png_uint_16p hist PNG_DEPSTRUCT;
-#endif
-
-#ifdef PNG_cHRM_SUPPORTED
-   /* The cHRM chunk describes the CIE color characteristics of the monitor
-    * on which the PNG was created.  This data allows the viewer to do gamut
-    * mapping of the input image to ensure that the viewer sees the same
-    * colors in the image as the creator.  Values are in the range
-    * [0.0, 0.8].  Data valid if (valid & PNG_INFO_cHRM) non-zero.
-    */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-   float x_white PNG_DEPSTRUCT;
-   float y_white PNG_DEPSTRUCT;
-   float x_red PNG_DEPSTRUCT;
-   float y_red PNG_DEPSTRUCT;
-   float x_green PNG_DEPSTRUCT;
-   float y_green PNG_DEPSTRUCT;
-   float x_blue PNG_DEPSTRUCT;
-   float y_blue PNG_DEPSTRUCT;
-#endif
-#endif
-
-#ifdef PNG_pCAL_SUPPORTED
-   /* The pCAL chunk describes a transformation between the stored pixel
-    * values and original physical data values used to create the image.
-    * The integer range [0, 2^bit_depth - 1] maps to the floating-point
-    * range given by [pcal_X0, pcal_X1], and are further transformed by a
-    * (possibly non-linear) transformation function given by "pcal_type"
-    * and "pcal_params" into "pcal_units".  Please see the PNG_EQUATION_
-    * defines below, and the PNG-Group's PNG extensions document for a
-    * complete description of the transformations and how they should be
-    * implemented, and for a description of the ASCII parameter strings.
-    * Data values are valid if (valid & PNG_INFO_pCAL) non-zero.
-    */
-   png_charp pcal_purpose PNG_DEPSTRUCT;  /* pCAL chunk description string */
-   png_int_32 pcal_X0 PNG_DEPSTRUCT;      /* minimum value */
-   png_int_32 pcal_X1 PNG_DEPSTRUCT;      /* maximum value */
-   png_charp pcal_units PNG_DEPSTRUCT;    /* Latin-1 string giving physical units */
-   png_charpp pcal_params PNG_DEPSTRUCT;  /* ASCII strings containing parameter values */
-   png_byte pcal_type PNG_DEPSTRUCT;      /* equation type (see PNG_EQUATION_ below) */
-   png_byte pcal_nparams PNG_DEPSTRUCT;   /* number of parameters given in pcal_params */
-#endif
-
-/* New members added in libpng-1.0.6 */
-   png_uint_32 free_me PNG_DEPSTRUCT;     /* flags items libpng is responsible for freeing */
-
-#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) || \
- defined(PNG_HANDLE_AS_UNKNOWN_SUPPORTED)
-   /* Storage for unknown chunks that the library doesn't recognize. */
-   png_unknown_chunkp unknown_chunks PNG_DEPSTRUCT;
-   png_size_t unknown_chunks_num PNG_DEPSTRUCT;
-#endif
-
-#ifdef PNG_iCCP_SUPPORTED
-   /* iCCP chunk data. */
-   png_charp iccp_name PNG_DEPSTRUCT;     /* profile name */
-   png_charp iccp_profile PNG_DEPSTRUCT;  /* International Color Consortium profile data */
-                            /* Note to maintainer: should be png_bytep */
-   png_uint_32 iccp_proflen PNG_DEPSTRUCT;  /* ICC profile data length */
-   png_byte iccp_compression PNG_DEPSTRUCT; /* Always zero */
-#endif
-
-#ifdef PNG_sPLT_SUPPORTED
-   /* Data on sPLT chunks (there may be more than one). */
-   png_sPLT_tp splt_palettes PNG_DEPSTRUCT;
-   png_uint_32 splt_palettes_num PNG_DEPSTRUCT;
-#endif
-
-#ifdef PNG_sCAL_SUPPORTED
-   /* The sCAL chunk describes the actual physical dimensions of the
-    * subject matter of the graphic.  The chunk contains a unit specification
-    * a byte value, and two ASCII strings representing floating-point
-    * values.  The values are width and height corresponsing to one pixel
-    * in the image.  This external representation is converted to double
-    * here.  Data values are valid if (valid & PNG_INFO_sCAL) is non-zero.
-    */
-   png_byte scal_unit PNG_DEPSTRUCT;         /* unit of physical scale */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-   double scal_pixel_width PNG_DEPSTRUCT;    /* width of one pixel */
-   double scal_pixel_height PNG_DEPSTRUCT;   /* height of one pixel */
-#endif
-#ifdef PNG_FIXED_POINT_SUPPORTED
-   png_charp scal_s_width PNG_DEPSTRUCT;     /* string containing height */
-   png_charp scal_s_height PNG_DEPSTRUCT;    /* string containing width */
-#endif
-#endif
-
-#ifdef PNG_INFO_IMAGE_SUPPORTED
-   /* Memory has been allocated if (valid & PNG_ALLOCATED_INFO_ROWS) non-zero */
-   /* Data valid if (valid & PNG_INFO_IDAT) non-zero */
-   png_bytepp row_pointers PNG_DEPSTRUCT;        /* the image bits */
-#endif
-
-#if defined(PNG_FIXED_POINT_SUPPORTED) && defined(PNG_gAMA_SUPPORTED)
-   png_fixed_point int_gamma PNG_DEPSTRUCT; /* gamma of image, if (valid & PNG_INFO_gAMA) */
-#endif
-
-#if defined(PNG_cHRM_SUPPORTED) && defined(PNG_FIXED_POINT_SUPPORTED)
-   png_fixed_point int_x_white PNG_DEPSTRUCT;
-   png_fixed_point int_y_white PNG_DEPSTRUCT;
-   png_fixed_point int_x_red PNG_DEPSTRUCT;
-   png_fixed_point int_y_red PNG_DEPSTRUCT;
-   png_fixed_point int_x_green PNG_DEPSTRUCT;
-   png_fixed_point int_y_green PNG_DEPSTRUCT;
-   png_fixed_point int_x_blue PNG_DEPSTRUCT;
-   png_fixed_point int_y_blue PNG_DEPSTRUCT;
-#endif
-
-} png_info;
-
 typedef png_info FAR * png_infop;
 typedef png_info FAR * FAR * png_infopp;
 
@@ -994,7 +730,8 @@
    int));
 
 #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
-typedef void (PNGAPI *png_progressive_info_ptr) PNGARG((png_structp, png_infop));
+typedef void (PNGAPI *png_progressive_info_ptr) PNGARG((png_structp,
+   png_infop));
 typedef void (PNGAPI *png_progressive_end_ptr) PNGARG((png_structp, png_infop));
 typedef void (PNGAPI *png_progressive_row_ptr) PNGARG((png_structp, png_bytep,
    png_uint_32, int));
@@ -1007,7 +744,8 @@
 #endif
 
 #ifdef PNG_USER_CHUNKS_SUPPORTED
-typedef int (PNGAPI *png_user_chunk_ptr) PNGARG((png_structp, png_unknown_chunkp));
+typedef int (PNGAPI *png_user_chunk_ptr) PNGARG((png_structp,
+   png_unknown_chunkp));
 #endif
 #ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED
 typedef void (PNGAPI *png_unknown_chunk_ptr) PNGARG((png_structp));
@@ -1048,302 +786,16 @@
 typedef png_voidp (*png_malloc_ptr) PNGARG((png_structp, png_alloc_size_t));
 typedef void (*png_free_ptr) PNGARG((png_structp, png_voidp));
 
-/* The structure that holds the information to read and write PNG files.
- * The only people who need to care about what is inside of this are the
- * people who will be modifying the library for their own special needs.
- * It should NOT be accessed directly by an application, except to store
- * the jmp_buf.
- */
-
-struct png_struct_def
-{
-#ifdef PNG_SETJMP_SUPPORTED
-   jmp_buf jmpbuf PNG_DEPSTRUCT;            /* used in png_error */
-   png_longjmp_ptr longjmp_fn PNG_DEPSTRUCT;/* setjmp non-local goto function. */
+#ifdef PNG_INTERNAL
+#include "pngstruct.h"
+#else
+typedef struct { ; } png_struct_def;
 #endif
-   png_error_ptr error_fn PNG_DEPSTRUCT;    /* function for printing errors and aborting */
-   png_error_ptr warning_fn PNG_DEPSTRUCT;  /* function for printing warnings */
-   png_voidp error_ptr PNG_DEPSTRUCT;       /* user supplied struct for error functions */
-   png_rw_ptr write_data_fn PNG_DEPSTRUCT;  /* function for writing output data */
-   png_rw_ptr read_data_fn PNG_DEPSTRUCT;   /* function for reading input data */
-   png_voidp io_ptr PNG_DEPSTRUCT;          /* ptr to application struct for I/O functions */
-
-#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED
-   png_user_transform_ptr read_user_transform_fn PNG_DEPSTRUCT; /* user read transform */
-#endif
-
-#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED
-   png_user_transform_ptr write_user_transform_fn PNG_DEPSTRUCT; /* user write transform */
-#endif
-
-/* These were added in libpng-1.0.2 */
-#ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED
-#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
-    defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
-   png_voidp user_transform_ptr PNG_DEPSTRUCT; /* user supplied struct for user transform */
-   png_byte user_transform_depth PNG_DEPSTRUCT;    /* bit depth of user transformed pixels */
-   png_byte user_transform_channels PNG_DEPSTRUCT; /* channels in user transformed pixels */
-#endif
-#endif
-
-   png_uint_32 mode PNG_DEPSTRUCT;          /* tells us where we are in the PNG file */
-   png_uint_32 flags PNG_DEPSTRUCT;         /* flags indicating various things to libpng */
-   png_uint_32 transformations PNG_DEPSTRUCT; /* which transformations to perform */
-
-   z_stream zstream PNG_DEPSTRUCT;          /* pointer to decompression structure (below) */
-   png_bytep zbuf PNG_DEPSTRUCT;            /* buffer for zlib */
-   png_size_t zbuf_size PNG_DEPSTRUCT;      /* size of zbuf */
-   int zlib_level PNG_DEPSTRUCT;            /* holds zlib compression level */
-   int zlib_method PNG_DEPSTRUCT;           /* holds zlib compression method */
-   int zlib_window_bits PNG_DEPSTRUCT;      /* holds zlib compression window bits */
-   int zlib_mem_level PNG_DEPSTRUCT;        /* holds zlib compression memory level */
-   int zlib_strategy PNG_DEPSTRUCT;         /* holds zlib compression strategy */
-
-   png_uint_32 width PNG_DEPSTRUCT;         /* width of image in pixels */
-   png_uint_32 height PNG_DEPSTRUCT;        /* height of image in pixels */
-   png_uint_32 num_rows PNG_DEPSTRUCT;      /* number of rows in current pass */
-   png_uint_32 usr_width PNG_DEPSTRUCT;     /* width of row at start of write */
-   png_size_t rowbytes PNG_DEPSTRUCT;       /* size of row in bytes */
-   png_size_t irowbytes PNG_DEPSTRUCT;      /* size of current interlaced row in bytes */
-   png_uint_32 iwidth PNG_DEPSTRUCT;        /* width of current interlaced row in pixels */
-   png_uint_32 row_number PNG_DEPSTRUCT;    /* current row in interlace pass */
-   png_bytep prev_row PNG_DEPSTRUCT;        /* buffer to save previous (unfiltered) row */
-   png_bytep row_buf PNG_DEPSTRUCT;         /* buffer to save current (unfiltered) row */
-   png_bytep sub_row PNG_DEPSTRUCT;         /* buffer to save "sub" row when filtering */
-   png_bytep up_row PNG_DEPSTRUCT;          /* buffer to save "up" row when filtering */
-   png_bytep avg_row PNG_DEPSTRUCT;         /* buffer to save "avg" row when filtering */
-   png_bytep paeth_row PNG_DEPSTRUCT;       /* buffer to save "Paeth" row when filtering */
-   png_row_info row_info PNG_DEPSTRUCT;     /* used for transformation routines */
-
-   png_uint_32 idat_size PNG_DEPSTRUCT;     /* current IDAT size for read */
-   png_uint_32 crc PNG_DEPSTRUCT;           /* current chunk CRC value */
-   png_colorp palette PNG_DEPSTRUCT;        /* palette from the input file */
-   png_uint_16 num_palette PNG_DEPSTRUCT;   /* number of color entries in palette */
-   png_uint_16 num_trans PNG_DEPSTRUCT;     /* number of transparency values */
-   png_byte chunk_name[5] PNG_DEPSTRUCT;    /* null-terminated name of current chunk */
-   png_byte compression PNG_DEPSTRUCT;      /* file compression type (always 0) */
-   png_byte filter PNG_DEPSTRUCT;           /* file filter type (always 0) */
-   png_byte interlaced PNG_DEPSTRUCT;       /* PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */
-   png_byte pass PNG_DEPSTRUCT;             /* current interlace pass (0 - 6) */
-   png_byte do_filter PNG_DEPSTRUCT;        /* row filter flags (see PNG_FILTER_ below ) */
-   png_byte color_type PNG_DEPSTRUCT;       /* color type of file */
-   png_byte bit_depth PNG_DEPSTRUCT;        /* bit depth of file */
-   png_byte usr_bit_depth PNG_DEPSTRUCT;    /* bit depth of users row */
-   png_byte pixel_depth PNG_DEPSTRUCT;      /* number of bits per pixel */
-   png_byte channels PNG_DEPSTRUCT;         /* number of channels in file */
-   png_byte usr_channels PNG_DEPSTRUCT;     /* channels at start of write */
-   png_byte sig_bytes PNG_DEPSTRUCT;        /* magic bytes read/written from start of file */
-
-#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
-   png_uint_16 filler PNG_DEPSTRUCT;           /* filler bytes for pixel expansion */
-#endif
-
-#ifdef PNG_bKGD_SUPPORTED
-   png_byte background_gamma_type PNG_DEPSTRUCT;
-#  ifdef PNG_FLOATING_POINT_SUPPORTED
-   float background_gamma PNG_DEPSTRUCT;
-#  endif
-   png_color_16 background PNG_DEPSTRUCT;   /* background color in screen gamma space */
-#ifdef PNG_READ_GAMMA_SUPPORTED
-   png_color_16 background_1 PNG_DEPSTRUCT; /* background normalized to gamma 1.0 */
-#endif
-#endif /* PNG_bKGD_SUPPORTED */
-
-#ifdef PNG_WRITE_FLUSH_SUPPORTED
-   png_flush_ptr output_flush_fn PNG_DEPSTRUCT; /* Function for flushing output */
-   png_uint_32 flush_dist PNG_DEPSTRUCT;    /* how many rows apart to flush, 0 - no flush */
-   png_uint_32 flush_rows PNG_DEPSTRUCT;    /* number of rows written since last flush */
-#endif
-
-#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
-   int gamma_shift PNG_DEPSTRUCT;      /* number of "insignificant" bits 16-bit gamma */
-#ifdef PNG_FLOATING_POINT_SUPPORTED
-   float gamma PNG_DEPSTRUCT;          /* file gamma value */
-   float screen_gamma PNG_DEPSTRUCT;   /* screen gamma value (display_exponent) */
-#endif
-#endif
-
-#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
-   png_bytep gamma_table PNG_DEPSTRUCT;     /* gamma table for 8-bit depth files */
-   png_bytep gamma_from_1 PNG_DEPSTRUCT;    /* converts from 1.0 to screen */
-   png_bytep gamma_to_1 PNG_DEPSTRUCT;      /* converts from file to 1.0 */
-   png_uint_16pp gamma_16_table PNG_DEPSTRUCT; /* gamma table for 16-bit depth files */
-   png_uint_16pp gamma_16_from_1 PNG_DEPSTRUCT; /* converts from 1.0 to screen */
-   png_uint_16pp gamma_16_to_1 PNG_DEPSTRUCT; /* converts from file to 1.0 */
-#endif
-
-#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_sBIT_SUPPORTED)
-   png_color_8 sig_bit PNG_DEPSTRUCT;       /* significant bits in each available channel */
-#endif
-
-#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED)
-   png_color_8 shift PNG_DEPSTRUCT;         /* shift for significant bit tranformation */
-#endif
-
-#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) \
- || defined(PNG_READ_EXPAND_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
-   png_bytep trans_alpha PNG_DEPSTRUCT;           /* alpha values for paletted files */
-   png_color_16 trans_color PNG_DEPSTRUCT;  /* transparent color for non-paletted files */
-#endif
-
-   png_read_status_ptr read_row_fn PNG_DEPSTRUCT;   /* called after each row is decoded */
-   png_write_status_ptr write_row_fn PNG_DEPSTRUCT; /* called after each row is encoded */
-#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
-   png_progressive_info_ptr info_fn PNG_DEPSTRUCT; /* called after header data fully read */
-   png_progressive_row_ptr row_fn PNG_DEPSTRUCT;   /* called after each prog. row is decoded */
-   png_progressive_end_ptr end_fn PNG_DEPSTRUCT;   /* called after image is complete */
-   png_bytep save_buffer_ptr PNG_DEPSTRUCT;        /* current location in save_buffer */
-   png_bytep save_buffer PNG_DEPSTRUCT;            /* buffer for previously read data */
-   png_bytep current_buffer_ptr PNG_DEPSTRUCT;     /* current location in current_buffer */
-   png_bytep current_buffer PNG_DEPSTRUCT;         /* buffer for recently used data */
-   png_uint_32 push_length PNG_DEPSTRUCT;          /* size of current input chunk */
-   png_uint_32 skip_length PNG_DEPSTRUCT;          /* bytes to skip in input data */
-   png_size_t save_buffer_size PNG_DEPSTRUCT;      /* amount of data now in save_buffer */
-   png_size_t save_buffer_max PNG_DEPSTRUCT;       /* total size of save_buffer */
-   png_size_t buffer_size PNG_DEPSTRUCT;           /* total amount of available input data */
-   png_size_t current_buffer_size PNG_DEPSTRUCT;   /* amount of data now in current_buffer */
-   int process_mode PNG_DEPSTRUCT;                 /* what push library is currently doing */
-   int cur_palette PNG_DEPSTRUCT;                  /* current push library palette index */
-
-#  ifdef PNG_TEXT_SUPPORTED
-     png_size_t current_text_size PNG_DEPSTRUCT;   /* current size of text input data */
-     png_size_t current_text_left PNG_DEPSTRUCT;   /* how much text left to read in input */
-     png_charp current_text PNG_DEPSTRUCT;         /* current text chunk buffer */
-     png_charp current_text_ptr PNG_DEPSTRUCT;     /* current location in current_text */
-#  endif /* PNG_PROGRESSIVE_READ_SUPPORTED && PNG_TEXT_SUPPORTED */
-
-#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
-
-#if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__)
-/* For the Borland special 64K segment handler */
-   png_bytepp offset_table_ptr PNG_DEPSTRUCT;
-   png_bytep offset_table PNG_DEPSTRUCT;
-   png_uint_16 offset_table_number PNG_DEPSTRUCT;
-   png_uint_16 offset_table_count PNG_DEPSTRUCT;
-   png_uint_16 offset_table_count_free PNG_DEPSTRUCT;
-#endif
-
-#ifdef PNG_READ_DITHER_SUPPORTED
-   png_bytep palette_lookup PNG_DEPSTRUCT;         /* lookup table for dithering */
-   png_bytep dither_index PNG_DEPSTRUCT;           /* index translation for palette files */
-#endif
-
-#if defined(PNG_READ_DITHER_SUPPORTED) || defined(PNG_hIST_SUPPORTED)
-   png_uint_16p hist PNG_DEPSTRUCT;                /* histogram */
-#endif
-
-#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
-   png_byte heuristic_method PNG_DEPSTRUCT;        /* heuristic for row filter selection */
-   png_byte num_prev_filters PNG_DEPSTRUCT;        /* number of weights for previous rows */
-   png_bytep prev_filters PNG_DEPSTRUCT;           /* filter type(s) of previous row(s) */
-   png_uint_16p filter_weights PNG_DEPSTRUCT;      /* weight(s) for previous line(s) */
-   png_uint_16p inv_filter_weights PNG_DEPSTRUCT;  /* 1/weight(s) for previous line(s) */
-   png_uint_16p filter_costs PNG_DEPSTRUCT;        /* relative filter calculation cost */
-   png_uint_16p inv_filter_costs PNG_DEPSTRUCT;    /* 1/relative filter calculation cost */
-#endif
-
-#ifdef PNG_TIME_RFC1123_SUPPORTED
-   png_charp time_buffer PNG_DEPSTRUCT;            /* String to hold RFC 1123 time text */
-#endif
-
-/* New members added in libpng-1.0.6 */
-
-   png_uint_32 free_me PNG_DEPSTRUCT;     /* flags items libpng is responsible for freeing */
-
-#ifdef PNG_USER_CHUNKS_SUPPORTED
-   png_voidp user_chunk_ptr PNG_DEPSTRUCT;
-   png_user_chunk_ptr read_user_chunk_fn PNG_DEPSTRUCT; /* user read chunk handler */
-#endif
-
-#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
-   int num_chunk_list PNG_DEPSTRUCT;
-   png_bytep chunk_list PNG_DEPSTRUCT;
-#endif
-
-/* New members added in libpng-1.0.3 */
-#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
-   png_byte rgb_to_gray_status PNG_DEPSTRUCT;
-   /* These were changed from png_byte in libpng-1.0.6 */
-   png_uint_16 rgb_to_gray_red_coeff PNG_DEPSTRUCT;
-   png_uint_16 rgb_to_gray_green_coeff PNG_DEPSTRUCT;
-   png_uint_16 rgb_to_gray_blue_coeff PNG_DEPSTRUCT;
-#endif
-
-/* New member added in libpng-1.0.4 (renamed in 1.0.9) */
-#if defined(PNG_MNG_FEATURES_SUPPORTED) || \
-    defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \
-    defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED)
-/* Changed from png_byte to png_uint_32 at version 1.2.0 */
-   png_uint_32 mng_features_permitted PNG_DEPSTRUCT;
-#endif
-
-/* New member added in libpng-1.0.7 */
-#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
-   png_fixed_point int_gamma PNG_DEPSTRUCT;
-#endif
-
-/* New member added in libpng-1.0.9, ifdef'ed out in 1.0.12, enabled in 1.2.0 */
-#ifdef PNG_MNG_FEATURES_SUPPORTED
-   png_byte filter_type PNG_DEPSTRUCT;
-#endif
-
-/* New members added in libpng-1.2.0 */
-
-/* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
-#ifdef PNG_USER_MEM_SUPPORTED
-   png_voidp mem_ptr PNG_DEPSTRUCT;                /* user supplied struct for mem functions */
-   png_malloc_ptr malloc_fn PNG_DEPSTRUCT;         /* function for allocating memory */
-   png_free_ptr free_fn PNG_DEPSTRUCT;             /* function for freeing memory */
-#endif
-
-/* New member added in libpng-1.0.13 and 1.2.0 */
-   png_bytep big_row_buf PNG_DEPSTRUCT;         /* buffer to save current (unfiltered) row */
-
-#ifdef PNG_READ_DITHER_SUPPORTED
-/* The following three members were added at version 1.0.14 and 1.2.4 */
-   png_bytep dither_sort PNG_DEPSTRUCT;            /* working sort array */
-   png_bytep index_to_palette PNG_DEPSTRUCT;       /* where the original index currently is */
-                                     /* in the palette */
-   png_bytep palette_to_index PNG_DEPSTRUCT;       /* which original index points to this */
-                                     /* palette color */
-#endif
-
-/* New members added in libpng-1.0.16 and 1.2.6 */
-   png_byte compression_type PNG_DEPSTRUCT;
-
-#ifdef PNG_SET_USER_LIMITS_SUPPORTED
-   png_uint_32 user_width_max PNG_DEPSTRUCT;
-   png_uint_32 user_height_max PNG_DEPSTRUCT;
-   /* Added in libpng-1.4.0: Total number of sPLT, text, and unknown
-    * chunks that can be stored (0x7fffffff means unlimited).
-    */
-   png_uint_32 user_chunk_cache_max PNG_DEPSTRUCT;
-#endif
-
-/* New member added in libpng-1.0.25 and 1.2.17 */
-#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED
-   /* Storage for unknown chunk that the library doesn't recognize. */
-   png_unknown_chunk unknown_chunk PNG_DEPSTRUCT;
-#endif
-
-/* New members added in libpng-1.2.26 */
-  png_uint_32 old_big_row_buf_size PNG_DEPSTRUCT;
-  png_uint_32 old_prev_row_size PNG_DEPSTRUCT;
-
-/* New member added in libpng-1.2.30 */
-  png_charp chunkdata PNG_DEPSTRUCT;  /* buffer for reading chunk data */
-
-/* New member added in libpng-1.4.0 */
-#ifdef PNG_IO_STATE_SUPPORTED
-   png_uint_32 io_state PNG_DEPSTRUCT;
-#endif
-};
-
 
 /* This triggers a compiler error in png.c, if png.c and png.h
  * do not agree upon the version number.
  */
-typedef png_structp version_1_4_0rc08;
+typedef png_structp version_1_5_0beta01;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -1380,15 +832,11 @@
    PNGARG((png_const_charp user_png_ver, png_voidp error_ptr,
    png_error_ptr error_fn, png_error_ptr warn_fn)) PNG_ALLOCATED;
 
-#ifdef PNG_WRITE_SUPPORTED
 extern PNG_EXPORT(png_size_t,png_get_compression_buffer_size)
    PNGARG((png_structp png_ptr));
-#endif
 
-#ifdef PNG_WRITE_SUPPORTED
 extern PNG_EXPORT(void,png_set_compression_buffer_size)
    PNGARG((png_structp png_ptr, png_size_t size));
-#endif
 
 /* Moved from pngconf.h in 1.4.0 and modified to ensure setjmp/longjmp
  * match up.
@@ -1402,7 +850,8 @@
  * indicating an ABI mismatch.
  */
 extern PNG_EXPORT(jmp_buf*, png_set_longjmp_fn)
-   PNGARG((png_structp png_ptr, png_longjmp_ptr longjmp_fn, size_t jmp_buf_size));
+   PNGARG((png_structp png_ptr, png_longjmp_ptr longjmp_fn, size_t
+       jmp_buf_size));
 #  define png_jmpbuf(png_ptr) \
    (*png_set_longjmp_fn((png_ptr), longjmp, sizeof (jmp_buf)))
 #else
@@ -1547,7 +996,8 @@
 extern PNG_EXPORT(void,png_set_packing) PNGARG((png_structp png_ptr));
 #endif
 
-#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED)
+#if defined(PNG_READ_PACKSWAP_SUPPORTED) || \
+    defined(PNG_WRITE_PACKSWAP_SUPPORTED)
 /* Swap packing order of pixels in bytes. */
 extern PNG_EXPORT(void,png_set_packswap) PNGARG((png_structp png_ptr));
 #endif
@@ -1588,7 +1038,9 @@
 #endif
 
 #ifdef PNG_READ_DITHER_SUPPORTED
-/* Turn on dithering, and reduce the palette to the number of colors available. */
+/* Turn on dithering, and reduce the palette to the number of colors
+ * available.
+ */
 extern PNG_EXPORT(void,png_set_dither) PNGARG((png_structp png_ptr,
    png_colorp palette, int num_palette, int maximum_colors,
    png_uint_16p histogram, int full_dither));
@@ -1805,7 +1257,8 @@
 
 #ifdef PNG_STDIO_SUPPORTED
 /* Initialize the input/output for the PNG file to the default functions. */
-extern PNG_EXPORT(void,png_init_io) PNGARG((png_structp png_ptr, png_FILE_p fp));
+extern PNG_EXPORT(void,png_init_io) PNGARG((png_structp png_ptr,
+    png_FILE_p fp));
 #endif
 
 /* Replace the (error and abort), and warning functions with user
@@ -2362,7 +1815,8 @@
 
 extern PNG_EXPORT(png_charp,png_get_copyright) PNGARG((png_structp png_ptr));
 extern PNG_EXPORT(png_charp,png_get_header_ver) PNGARG((png_structp png_ptr));
-extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp png_ptr));
+extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp
+    png_ptr));
 extern PNG_EXPORT(png_charp,png_get_libpng_ver) PNGARG((png_structp png_ptr));
 
 #ifdef PNG_MNG_FEATURES_SUPPORTED
@@ -2397,6 +1851,11 @@
    png_ptr, png_uint_32 user_chunk_cache_max));
 extern PNG_EXPORT(png_uint_32,png_get_chunk_cache_max)
    PNGARG((png_structp png_ptr));
+/* Added in libpng-1.4.1 */
+extern PNG_EXPORT(void,png_set_chunk_malloc_max) PNGARG((png_structp
+   png_ptr, png_alloc_size_t user_chunk_cache_max));
+extern PNG_EXPORT(png_alloc_size_t,png_get_chunk_malloc_max)
+   PNGARG((png_structp png_ptr));
 #endif
 
 #if defined(PNG_INCH_CONVERSIONS) && defined(PNG_FLOATING_POINT_SUPPORTED)
@@ -2459,16 +1918,18 @@
 
  /* fg and bg should be in `gamma 1.0' space; alpha is the opacity          */
 
-#  define png_composite(composite, fg, alpha, bg)                            \
-     { png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) * (png_uint_16)(alpha) \
-                        +        (png_uint_16)(bg)*(png_uint_16)(255 -       \
-                        (png_uint_16)(alpha)) + (png_uint_16)128);           \
+#  define png_composite(composite, fg, alpha, bg)         \
+     { png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) \
+           * (png_uint_16)(alpha)                         \
+           + (png_uint_16)(bg)*(png_uint_16)(255          \
+           - (png_uint_16)(alpha)) + (png_uint_16)128);   \
        (composite) = (png_byte)((temp + (temp >> 8)) >> 8); }
 
-#  define png_composite_16(composite, fg, alpha, bg)                         \
-     { png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) * (png_uint_32)(alpha) \
-                        + (png_uint_32)(bg)*(png_uint_32)(65535L -           \
-                        (png_uint_32)(alpha)) + (png_uint_32)32768L);        \
+#  define png_composite_16(composite, fg, alpha, bg)       \
+     { png_uint_32 temp = (png_uint_32)((png_uint_32)(fg)  \
+           * (png_uint_32)(alpha)                          \
+           + (png_uint_32)(bg)*(png_uint_32)(65535L        \
+           - (png_uint_32)(alpha)) + (png_uint_32)32768L); \
        (composite) = (png_uint_16)((temp + (temp >> 16)) >> 16); }
 
 #else  /* Standard method using integer division */
diff --git a/pngconf.h b/pngconf.h
index 78373cc..5998642 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.4.0rc08 - January 2, 2010
+ * libpng version 1.5.0beta01 - February 8, 2010
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -28,7 +28,9 @@
 
 /* Added at libpng-1.2.9 */
 
-/* config.h is created by and PNG_CONFIGURE_LIBPNG is set by the "configure" script. */
+/* config.h is created by and PNG_CONFIGURE_LIBPNG is set by the "configure"
+ * script.
+ */
 #ifdef PNG_CONFIGURE_LIBPNG
 #  ifdef HAVE_CONFIG_H
 #    include "config.h"
@@ -672,14 +674,29 @@
 #endif
 
 /* Added at libpng-1.2.6 */
-#ifndef PNG_SET_USER_LIMITS_SUPPORTED
-#  ifndef PNG_NO_SET_USER_LIMITS
+#ifndef PNG_NO_SET_USER_LIMITS
+#  ifndef PNG_SET_USER_LIMITS_SUPPORTED
 #    define PNG_SET_USER_LIMITS_SUPPORTED
 #  endif
+  /* Feature added at libpng-1.4.0, this flag added at 1.4.1 */
+#  ifndef PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
+#    define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
+#  endif
+  /* Feature added at libpng-1.4.1, this flag added at 1.4.1 */
+#  ifndef PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
+#    define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
+#  endif
+#endif
+
+/* Added at libpng-1.2.43 */
+#ifndef PNG_NO_USER_LIMITS
+#  ifndef PNG_USER_LIMITS_SUPPORTED
+#    define PNG_USER_LIMITS_SUPPORTED
+#  endif
 #endif
 
 /* Added at libpng-1.0.16 and 1.2.6.  To accept all valid PNGs no matter
- * how large, set these limits to 0x7fffffffL
+ * how large, set these two limits to 0x7fffffffL
  */
 #ifndef PNG_USER_WIDTH_MAX
 #  define PNG_USER_WIDTH_MAX 1000000L
@@ -688,9 +705,16 @@
 #  define PNG_USER_HEIGHT_MAX 1000000L
 #endif
 
-/* Added at libpng-1.4.0 */
+/* Added at libpng-1.2.43.  To accept all valid PNGs no matter
+ * how large, set these two limits to 0.
+ */
 #ifndef PNG_USER_CHUNK_CACHE_MAX
-#  define PNG_USER_CHUNK_CACHE_MAX 0x7fffffffL
+#  define PNG_USER_CHUNK_CACHE_MAX 0
+#endif
+
+/* Added at libpng-1.2.43 */
+#ifndef PNG_USER_CHUNK_MALLOC_MAX
+#  define PNG_USER_CHUNK_MALLOC_MAX 0
 #endif
 
 /* Added at libpng-1.4.0 */
@@ -861,20 +885,22 @@
 #endif /* PNG_READ_ANCILLARY_CHUNKS_SUPPORTED */
 
 #ifndef PNG_NO_READ_UNKNOWN_CHUNKS
-#  define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
+#  ifndef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
+#    define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
+#  endif
 #  ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED
 #    define PNG_UNKNOWN_CHUNKS_SUPPORTED
 #  endif
-#endif
-#if !defined(PNG_NO_READ_USER_CHUNKS) && \
-     defined(PNG_READ_UNKNOWN_CHUNKS_SUPPORTED)
-#  define PNG_READ_USER_CHUNKS_SUPPORTED
-#  define PNG_USER_CHUNKS_SUPPORTED
-#  ifdef PNG_NO_READ_UNKNOWN_CHUNKS
-#    undef PNG_NO_READ_UNKNOWN_CHUNKS
+#  ifndef PNG_READ_USER_CHUNKS_SUPPORTED
+#    define PNG_READ_USER_CHUNKS_SUPPORTED
 #  endif
-#  ifdef PNG_NO_HANDLE_AS_UNKNOWN
-#    undef PNG_NO_HANDLE_AS_UNKNOWN
+#endif
+#ifndef PNG_NO_READ_USER_CHUNKS
+#  ifndef PNG_READ_USER_CHUNKS_SUPPORTED
+#    define PNG_READ_USER_CHUNKS_SUPPORTED
+#  endif
+#  ifndef PNG_USER_CHUNKS_SUPPORTED
+#    define PNG_USER_CHUNKS_SUPPORTED
 #  endif
 #endif
 #ifndef PNG_NO_HANDLE_AS_UNKNOWN
@@ -1016,8 +1042,10 @@
 
 #endif /* PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED */
 
-#if !defined(PNG_NO_WRITE_FILTER) && !defined(PNG_WRITE_FILTER_SUPPORTED)
-#  define PNG_WRITE_FILTER_SUPPORTED
+#ifndef PNG_NO_WRITE_FILTER
+#  ifndef PNG_WRITE_FILTER_SUPPORTED
+#    define PNG_WRITE_FILTER_SUPPORTED
+#  endif
 #endif
 
 #ifndef PNG_NO_WRITE_UNKNOWN_CHUNKS
diff --git a/pngerror.c b/pngerror.c
index 8732f1c..7fbf7ea 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.0 [January 3, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -16,6 +16,7 @@
  * at each function.
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
diff --git a/pngget.c b/pngget.c
index d90a114..fd8f188 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -12,6 +12,7 @@
  *
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
@@ -872,17 +873,16 @@
 }
 #endif
 
-#ifdef PNG_WRITE_SUPPORTED
 png_size_t PNGAPI
 png_get_compression_buffer_size(png_structp png_ptr)
 {
    return (png_ptr ? png_ptr->zbuf_size : 0L);
 }
-#endif
 
 
 #ifdef PNG_SET_USER_LIMITS_SUPPORTED
-/* These functions were added to libpng 1.2.6 */
+/* These functions were added to libpng 1.2.6 and were enabled
+ * by default in libpng-1.4.0 */
 png_uint_32 PNGAPI
 png_get_user_width_max (png_structp png_ptr)
 {
@@ -897,11 +897,18 @@
 png_uint_32 PNGAPI
 png_get_chunk_cache_max (png_structp png_ptr)
 {
-    return (png_ptr? png_ptr->user_chunk_cache_max? 0x7fffffffL :
-       png_ptr->user_chunk_cache_max - 1 : 0);
+    return (png_ptr? png_ptr->user_chunk_cache_max : 0);
+}
+/* This function was added to libpng 1.4.1 */
+png_uint_32 PNGAPI
+png_get_chunk_malloc_max (png_structp png_ptr)
+{
+    return (png_ptr?
+       (png_uint_32)png_ptr->user_chunk_malloc_max : 0);
 }
 #endif /* ?PNG_SET_USER_LIMITS_SUPPORTED */
 
+/* These functions were added to libpng 1.4.0 */
 #ifdef PNG_IO_STATE_SUPPORTED
 png_uint_32 PNGAPI
 png_get_io_state (png_structp png_ptr)
diff --git a/pnginfo.h b/pnginfo.h
new file mode 100644
index 0000000..65deec6
--- /dev/null
+++ b/pnginfo.h
@@ -0,0 +1,301 @@
+/* png_info is a structure that holds the information in a PNG file so
+ * that the application can find out the characteristics of the image.
+ * If you are reading the file, this structure will tell you what is
+ * in the PNG file.  If you are writing the file, fill in the information
+ * you want to put into the PNG file, then call png_write_info().
+ * The names chosen should be very close to the PNG specification, so
+ * consult that document for information about the meaning of each field.
+ *
+ * With libpng < 0.95, it was only possible to directly set and read the
+ * the values in the png_info_struct, which meant that the contents and
+ * order of the values had to remain fixed.  With libpng 0.95 and later,
+ * however, there are now functions that abstract the contents of
+ * png_info_struct from the application, so this makes it easier to use
+ * libpng with dynamic libraries, and even makes it possible to use
+ * libraries that don't have all of the libpng ancillary chunk-handing
+ * functionality.
+ *
+ * In any case, the order of the parameters in png_info_struct should NOT
+ * be changed for as long as possible to keep compatibility with applications
+ * that use the old direct-access method with png_info_struct.
+ *
+ * The following members may have allocated storage attached that should be
+ * cleaned up before the structure is discarded: palette, trans, text,
+ * pcal_purpose, pcal_units, pcal_params, hist, iccp_name, iccp_profile,
+ * splt_palettes, scal_unit, row_pointers, and unknowns.   By default, these
+ * are automatically freed when the info structure is deallocated, if they were
+ * allocated internally by libpng.  This behavior can be changed by means
+ * of the png_data_freer() function.
+ *
+ * More allocation details: all the chunk-reading functions that
+ * change these members go through the corresponding png_set_*
+ * functions.  A function to clear these members is available: see
+ * png_free_data().  The png_set_* functions do not depend on being
+ * able to point info structure members to any of the storage they are
+ * passed (they make their own copies), EXCEPT that the png_set_text
+ * functions use the same storage passed to them in the text_ptr or
+ * itxt_ptr structure argument, and the png_set_rows and png_set_unknowns
+ * functions do not make their own copies.
+ */
+typedef struct png_info_struct
+{
+   /* the following are necessary for every PNG file */
+   png_uint_32 width PNG_DEPSTRUCT;  /* width of image in pixels (from IHDR) */
+   png_uint_32 height PNG_DEPSTRUCT; /* height of image in pixels (from IHDR) */
+   png_uint_32 valid PNG_DEPSTRUCT;  /* valid chunk data (see PNG_INFO_
+                                        below) */
+   png_size_t rowbytes PNG_DEPSTRUCT; /* bytes needed to hold an untransformed
+                                         row */
+   png_colorp palette PNG_DEPSTRUCT;      /* array of color values
+                                             (valid & PNG_INFO_PLTE) */
+   png_uint_16 num_palette PNG_DEPSTRUCT; /* number of color entries in
+                                             "palette" (PLTE) */
+   png_uint_16 num_trans PNG_DEPSTRUCT;   /* number of transparent palette
+                                             color (tRNS) */
+   png_byte bit_depth PNG_DEPSTRUCT;      /* 1, 2, 4, 8, or 16 bits/channel
+                                             (from IHDR) */
+   png_byte color_type PNG_DEPSTRUCT;     /* see PNG_COLOR_TYPE_ below
+                                             (from IHDR) */
+   /* The following three should have been named *_method not *_type */
+   png_byte compression_type PNG_DEPSTRUCT; /* must be
+                                             PNG_COMPRESSION_TYPE_BASE (IHDR) */
+   png_byte filter_type PNG_DEPSTRUCT;    /* must be PNG_FILTER_TYPE_BASE
+                                             (from IHDR) */
+   png_byte interlace_type PNG_DEPSTRUCT; /* One of PNG_INTERLACE_NONE,
+                                             PNG_INTERLACE_ADAM7 */
+
+   /* The following is informational only on read, and not used on writes. */
+   png_byte channels PNG_DEPSTRUCT;       /* number of data channels per
+                                             pixel (1, 2, 3, 4) */
+   png_byte pixel_depth PNG_DEPSTRUCT;    /* number of bits per pixel */
+   png_byte spare_byte PNG_DEPSTRUCT;     /* to align the data, and for
+                                             future use */
+   png_byte signature[8] PNG_DEPSTRUCT;   /* magic bytes read by libpng
+                                             from start of file */
+
+   /* The rest of the data is optional.  If you are reading, check the
+    * valid field to see if the information in these are valid.  If you
+    * are writing, set the valid field to those chunks you want written,
+    * and initialize the appropriate fields below.
+    */
+
+#if defined(PNG_gAMA_SUPPORTED) && defined(PNG_FLOATING_POINT_SUPPORTED)
+   /* The gAMA chunk describes the gamma characteristics of the system
+    * on which the image was created, normally in the range [1.0, 2.5].
+    * Data is valid if (valid & PNG_INFO_gAMA) is non-zero.
+    */
+   float gamma PNG_DEPSTRUCT; /* gamma value of image,
+                                 if (valid & PNG_INFO_gAMA) */
+#endif
+
+#ifdef PNG_sRGB_SUPPORTED
+    /* GR-P, 0.96a */
+    /* Data valid if (valid & PNG_INFO_sRGB) non-zero. */
+   png_byte srgb_intent PNG_DEPSTRUCT; /* sRGB rendering intent
+                                          [0, 1, 2, or 3] */
+#endif
+
+#ifdef PNG_TEXT_SUPPORTED
+   /* The tEXt, and zTXt chunks contain human-readable textual data in
+    * uncompressed, compressed, and optionally compressed forms, respectively.
+    * The data in "text" is an array of pointers to uncompressed,
+    * null-terminated C strings. Each chunk has a keyword that describes the
+    * textual data contained in that chunk.  Keywords are not required to be
+    * unique, and the text string may be empty.  Any number of text chunks may
+    * be in an image.
+    */
+   int num_text PNG_DEPSTRUCT; /* number of comments read/to write */
+   int max_text PNG_DEPSTRUCT; /* current size of text array */
+   png_textp text PNG_DEPSTRUCT; /* array of comments read/to write */
+#endif /* PNG_TEXT_SUPPORTED */
+
+#ifdef PNG_tIME_SUPPORTED
+   /* The tIME chunk holds the last time the displayed image data was
+    * modified.  See the png_time struct for the contents of this struct.
+    */
+   png_time mod_time PNG_DEPSTRUCT;
+#endif
+
+#ifdef PNG_sBIT_SUPPORTED
+   /* The sBIT chunk specifies the number of significant high-order bits
+    * in the pixel data.  Values are in the range [1, bit_depth], and are
+    * only specified for the channels in the pixel data.  The contents of
+    * the low-order bits is not specified.  Data is valid if
+    * (valid & PNG_INFO_sBIT) is non-zero.
+    */
+   png_color_8 sig_bit PNG_DEPSTRUCT; /* significant bits in color channels */
+#endif
+
+#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_EXPAND_SUPPORTED) || \
+defined(PNG_READ_BACKGROUND_SUPPORTED)
+   /* The tRNS chunk supplies transparency data for paletted images and
+    * other image types that don't need a full alpha channel.  There are
+    * "num_trans" transparency values for a paletted image, stored in the
+    * same order as the palette colors, starting from index 0.  Values
+    * for the data are in the range [0, 255], ranging from fully transparent
+    * to fully opaque, respectively.  For non-paletted images, there is a
+    * single color specified that should be treated as fully transparent.
+    * Data is valid if (valid & PNG_INFO_tRNS) is non-zero.
+    */
+   png_bytep trans_alpha PNG_DEPSTRUCT;    /* alpha values for paletted
+                                              image */
+   png_color_16 trans_color PNG_DEPSTRUCT; /* transparent color for
+                                              non-palette image */
+#endif
+
+#if defined(PNG_bKGD_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
+   /* The bKGD chunk gives the suggested image background color if the
+    * display program does not have its own background color and the image
+    * is needs to composited onto a background before display.  The colors
+    * in "background" are normally in the same color space/depth as the
+    * pixel data.  Data is valid if (valid & PNG_INFO_bKGD) is non-zero.
+    */
+   png_color_16 background PNG_DEPSTRUCT;
+#endif
+
+#ifdef PNG_oFFs_SUPPORTED
+   /* The oFFs chunk gives the offset in "offset_unit_type" units rightwards
+    * and downwards from the top-left corner of the display, page, or other
+    * application-specific co-ordinate space.  See the PNG_OFFSET_ defines
+    * below for the unit types.  Valid if (valid & PNG_INFO_oFFs) non-zero.
+    */
+   png_int_32 x_offset PNG_DEPSTRUCT; /* x offset on page */
+   png_int_32 y_offset PNG_DEPSTRUCT; /* y offset on page */
+   png_byte offset_unit_type PNG_DEPSTRUCT; /* offset units type */
+#endif
+
+#ifdef PNG_pHYs_SUPPORTED
+   /* The pHYs chunk gives the physical pixel density of the image for
+    * display or printing in "phys_unit_type" units (see PNG_RESOLUTION_
+    * defines below).  Data is valid if (valid & PNG_INFO_pHYs) is non-zero.
+    */
+   png_uint_32 x_pixels_per_unit PNG_DEPSTRUCT; /* horizontal pixel density */
+   png_uint_32 y_pixels_per_unit PNG_DEPSTRUCT; /* vertical pixel density */
+   png_byte phys_unit_type PNG_DEPSTRUCT; /* resolution type (see
+                                             PNG_RESOLUTION_ below) */
+#endif
+
+#ifdef PNG_hIST_SUPPORTED
+   /* The hIST chunk contains the relative frequency or importance of the
+    * various palette entries, so that a viewer can intelligently select a
+    * reduced-color palette, if required.  Data is an array of "num_palette"
+    * values in the range [0,65535]. Data valid if (valid & PNG_INFO_hIST)
+    * is non-zero.
+    */
+   png_uint_16p hist PNG_DEPSTRUCT;
+#endif
+
+#ifdef PNG_cHRM_SUPPORTED
+   /* The cHRM chunk describes the CIE color characteristics of the monitor
+    * on which the PNG was created.  This data allows the viewer to do gamut
+    * mapping of the input image to ensure that the viewer sees the same
+    * colors in the image as the creator.  Values are in the range
+    * [0.0, 0.8].  Data valid if (valid & PNG_INFO_cHRM) non-zero.
+    */
+#ifdef PNG_FLOATING_POINT_SUPPORTED
+   float x_white PNG_DEPSTRUCT;
+   float y_white PNG_DEPSTRUCT;
+   float x_red PNG_DEPSTRUCT;
+   float y_red PNG_DEPSTRUCT;
+   float x_green PNG_DEPSTRUCT;
+   float y_green PNG_DEPSTRUCT;
+   float x_blue PNG_DEPSTRUCT;
+   float y_blue PNG_DEPSTRUCT;
+#endif
+#endif
+
+#ifdef PNG_pCAL_SUPPORTED
+   /* The pCAL chunk describes a transformation between the stored pixel
+    * values and original physical data values used to create the image.
+    * The integer range [0, 2^bit_depth - 1] maps to the floating-point
+    * range given by [pcal_X0, pcal_X1], and are further transformed by a
+    * (possibly non-linear) transformation function given by "pcal_type"
+    * and "pcal_params" into "pcal_units".  Please see the PNG_EQUATION_
+    * defines below, and the PNG-Group's PNG extensions document for a
+    * complete description of the transformations and how they should be
+    * implemented, and for a description of the ASCII parameter strings.
+    * Data values are valid if (valid & PNG_INFO_pCAL) non-zero.
+    */
+   png_charp pcal_purpose PNG_DEPSTRUCT;  /* pCAL chunk description string */
+   png_int_32 pcal_X0 PNG_DEPSTRUCT;      /* minimum value */
+   png_int_32 pcal_X1 PNG_DEPSTRUCT;      /* maximum value */
+   png_charp pcal_units PNG_DEPSTRUCT;    /* Latin-1 string giving physical
+                                             units */
+   png_charpp pcal_params PNG_DEPSTRUCT;  /* ASCII strings containing
+                                             parameter values */
+   png_byte pcal_type PNG_DEPSTRUCT;      /* equation type
+                                             (see PNG_EQUATION_ below) */
+   png_byte pcal_nparams PNG_DEPSTRUCT;   /* number of parameters given
+                                             in pcal_params */
+#endif
+
+/* New members added in libpng-1.0.6 */
+   png_uint_32 free_me PNG_DEPSTRUCT;     /* flags items libpng is
+                                             responsible for freeing */
+
+#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) || \
+ defined(PNG_HANDLE_AS_UNKNOWN_SUPPORTED)
+   /* Storage for unknown chunks that the library doesn't recognize. */
+   png_unknown_chunkp unknown_chunks PNG_DEPSTRUCT;
+   png_size_t unknown_chunks_num PNG_DEPSTRUCT;
+#endif
+
+#ifdef PNG_iCCP_SUPPORTED
+   /* iCCP chunk data. */
+   png_charp iccp_name PNG_DEPSTRUCT;     /* profile name */
+   png_charp iccp_profile PNG_DEPSTRUCT;  /* International Color Consortium
+                                             profile data */
+                            /* Note to maintainer: should be png_bytep */
+   png_uint_32 iccp_proflen PNG_DEPSTRUCT;  /* ICC profile data length */
+   png_byte iccp_compression PNG_DEPSTRUCT; /* Always zero */
+#endif
+
+#ifdef PNG_sPLT_SUPPORTED
+   /* Data on sPLT chunks (there may be more than one). */
+   png_sPLT_tp splt_palettes PNG_DEPSTRUCT;
+   png_uint_32 splt_palettes_num PNG_DEPSTRUCT;
+#endif
+
+#ifdef PNG_sCAL_SUPPORTED
+   /* The sCAL chunk describes the actual physical dimensions of the
+    * subject matter of the graphic.  The chunk contains a unit specification
+    * a byte value, and two ASCII strings representing floating-point
+    * values.  The values are width and height corresponsing to one pixel
+    * in the image.  This external representation is converted to double
+    * here.  Data values are valid if (valid & PNG_INFO_sCAL) is non-zero.
+    */
+   png_byte scal_unit PNG_DEPSTRUCT;         /* unit of physical scale */
+#ifdef PNG_FLOATING_POINT_SUPPORTED
+   double scal_pixel_width PNG_DEPSTRUCT;    /* width of one pixel */
+   double scal_pixel_height PNG_DEPSTRUCT;   /* height of one pixel */
+#endif
+#ifdef PNG_FIXED_POINT_SUPPORTED
+   png_charp scal_s_width PNG_DEPSTRUCT;     /* string containing height */
+   png_charp scal_s_height PNG_DEPSTRUCT;    /* string containing width */
+#endif
+#endif
+
+#ifdef PNG_INFO_IMAGE_SUPPORTED
+   /* Memory has been allocated if (valid & PNG_ALLOCATED_INFO_ROWS)
+      non-zero */
+   /* Data valid if (valid & PNG_INFO_IDAT) non-zero */
+   png_bytepp row_pointers PNG_DEPSTRUCT;        /* the image bits */
+#endif
+
+#if defined(PNG_FIXED_POINT_SUPPORTED) && defined(PNG_gAMA_SUPPORTED)
+   png_fixed_point int_gamma PNG_DEPSTRUCT; /* gamma of image,
+                                               if (valid & PNG_INFO_gAMA) */
+#endif
+
+#if defined(PNG_cHRM_SUPPORTED) && defined(PNG_FIXED_POINT_SUPPORTED)
+   png_fixed_point int_x_white PNG_DEPSTRUCT;
+   png_fixed_point int_y_white PNG_DEPSTRUCT;
+   png_fixed_point int_x_red PNG_DEPSTRUCT;
+   png_fixed_point int_y_red PNG_DEPSTRUCT;
+   png_fixed_point int_x_green PNG_DEPSTRUCT;
+   png_fixed_point int_y_green PNG_DEPSTRUCT;
+   png_fixed_point int_x_blue PNG_DEPSTRUCT;
+   png_fixed_point int_y_blue PNG_DEPSTRUCT;
+#endif
+
+} png_info;
diff --git a/pngmem.c b/pngmem.c
index b5e7e5a..11a84cf 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.0 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -17,6 +17,7 @@
  * identify the replacement functions.
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
@@ -201,7 +202,7 @@
             {
 #ifndef PNG_USER_MEM_SUPPORTED
                if ((png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
-                  png_error(png_ptr, "Out Of Memory"); /* Note "O" and "M" */
+                  png_error(png_ptr, "Out Of Memory"); /* Note "O", "M" */
                else
                   png_warning(png_ptr, "Out Of Memory");
 #endif
@@ -229,7 +230,7 @@
             {
 #ifndef PNG_USER_MEM_SUPPORTED
                if ((png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
-                  png_error(png_ptr, "Out Of memory"); /* Note "O" and "M" */
+                  png_error(png_ptr, "Out Of memory"); /* Note "O", "m" */
                else
                   png_warning(png_ptr, "Out Of memory");
 #endif
diff --git a/pngpread.c b/pngpread.c
index c1cb2a6..6d6c921 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,6 +11,7 @@
  * and license in png.h
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
@@ -329,7 +330,9 @@
       png_ptr->mode |= PNG_HAVE_IDAT;
       png_ptr->process_mode = PNG_READ_IDAT_MODE;
       png_push_have_info(png_ptr, info_ptr);
-      png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
+      png_ptr->zstream.avail_out =
+          (uInt) PNG_ROWBYTES(png_ptr->pixel_depth,
+          png_ptr->iwidth) + 1;
       png_ptr->zstream.next_out = png_ptr->row_buf;
       return;
    }
@@ -684,19 +687,25 @@
          }
       }
    }
-   if (png_ptr->save_buffer_size + png_ptr->current_buffer_size >
-      png_ptr->save_buffer_max)
+   if (png_ptr->save_buffer_size >
+       (png_ptr->save_buffer_max - png_ptr->current_buffer_size))
    {
       png_size_t new_max;
       png_bytep old_buffer;
 
-      if (png_ptr->save_buffer_size > PNG_SIZE_MAX -
-         (png_ptr->current_buffer_size + 256))
-      {
-        png_error(png_ptr, "Potential overflow of save_buffer");
-      }
+      if (png_ptr->save_buffer_size == PNG_SIZE_MAX)
+        png_error(png_ptr, "Overflow of save_buffer");
 
-      new_max = png_ptr->save_buffer_size + png_ptr->current_buffer_size + 256;
+      if (png_ptr->save_buffer_size > PNG_SIZE_MAX -
+          (png_ptr->current_buffer_size +
+          (png_ptr->save_buffer_size >> 3) + 256))
+         new_max = PNG_SIZE_MAX;
+
+      else
+         new_max = png_ptr->save_buffer_size + png_ptr->current_buffer_size +
+             (png_ptr->save_buffer_size >> 3) + 256;
+
+      
       old_buffer = png_ptr->save_buffer;
       png_ptr->save_buffer = (png_bytep)png_malloc(png_ptr,
          (png_size_t)new_max);
@@ -797,7 +806,7 @@
 
       png_calculate_crc(png_ptr, png_ptr->current_buffer_ptr, save_size);
       if (!(png_ptr->flags & PNG_FLAG_ZLIB_FINISHED))
-        png_process_IDAT_data(png_ptr, png_ptr->current_buffer_ptr, save_size);
+         png_process_IDAT_data(png_ptr, png_ptr->current_buffer_ptr, save_size);
 
       png_ptr->idat_size -= save_size;
       png_ptr->buffer_size -= save_size;
@@ -869,7 +878,9 @@
            break;
          }
          png_push_process_row(png_ptr);
-         png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
+         png_ptr->zstream.avail_out =
+             (uInt) PNG_ROWBYTES(png_ptr->pixel_depth,
+             png_ptr->iwidth) + 1;
          png_ptr->zstream.next_out = png_ptr->row_buf;
       }
 
@@ -1134,9 +1145,6 @@
             png_pass_start[png_ptr->pass]) /
             png_pass_inc[png_ptr->pass];
 
-         png_ptr->irowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,
-            png_ptr->iwidth) + 1;
-
          if (png_ptr->transformations & PNG_INTERLACE)
             break;
 
diff --git a/pngpriv.h b/pngpriv.h
index f76ea4e..47ad9b8 100644
--- a/pngpriv.h
+++ b/pngpriv.h
@@ -1,7 +1,7 @@
 
 /* pngpriv.h - private declarations for use inside libpng
  *
- * libpng version 1.4.0rc08 - January 2, 2010
+ * libpng version 1.5.0beta01 - February 8, 2010
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -306,6 +306,8 @@
 /* Decompress data in a chunk that uses compression */
 #if defined(PNG_zTXt_SUPPORTED) || defined(PNG_iTXt_SUPPORTED) || \
     defined(PNG_iCCP_SUPPORTED) || defined(PNG_sPLT_SUPPORTED)
+PNG_EXTERN png_size_t png_measure_decompressed_chunk PNGARG((png_structp
+    png_ptr, int comp_type, png_size_t chunklength, png_size_t prefix_length));
 PNG_EXTERN void png_decompress_chunk PNGARG((png_structp png_ptr,
    int comp_type, png_size_t chunklength, png_size_t prefix_length,
    png_size_t *data_length));
@@ -351,8 +353,8 @@
 PNG_EXTERN void png_write_gAMA PNGARG((png_structp png_ptr, double file_gamma));
 #endif
 #ifdef PNG_FIXED_POINT_SUPPORTED
-PNG_EXTERN void png_write_gAMA_fixed PNGARG((png_structp png_ptr, png_fixed_point
-    file_gamma));
+PNG_EXTERN void png_write_gAMA_fixed PNGARG((png_structp png_ptr,
+    png_fixed_point file_gamma));
 #endif
 #endif
 
@@ -556,7 +558,8 @@
 PNG_EXTERN void png_do_swap PNGARG((png_row_infop row_info, png_bytep row));
 #endif
 
-#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED)
+#if defined(PNG_READ_PACKSWAP_SUPPORTED) || \
+    defined(PNG_WRITE_PACKSWAP_SUPPORTED)
 PNG_EXTERN void png_do_packswap PNGARG((png_row_infop row_info, png_bytep row));
 #endif
 
diff --git a/pngread.c b/pngread.c
index 5140706..be78ec0 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -14,6 +14,7 @@
  * read a PNG file or stream.
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #ifdef PNG_READ_SUPPORTED
@@ -31,7 +32,9 @@
       warn_fn, NULL, NULL, NULL));
 }
 
-/* Alternate create PNG structure for reading, and allocate any memory needed. */
+/* Alternate create PNG structure for reading, and allocate any memory
+ * needed.
+ */
 png_structp PNGAPI
 png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr,
    png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr,
@@ -65,11 +68,17 @@
       return (NULL);
 
    /* Added at libpng-1.2.6 */
-#ifdef PNG_SET_USER_LIMITS_SUPPORTED
+#ifdef PNG_USER_LIMITS_SUPPORTED
    png_ptr->user_width_max = PNG_USER_WIDTH_MAX;
    png_ptr->user_height_max = PNG_USER_HEIGHT_MAX;
-   /* Added at libpng-1.4.0 */
+#  ifdef PNG_USER_CHUNK_CACHE_MAX
+   /* Added at libpng-1.2.43 and 1.4.0 */
    png_ptr->user_chunk_cache_max = PNG_USER_CHUNK_CACHE_MAX;
+#  endif
+#  ifdef PNG_SET_USER_CHUNK_MALLOC_MAX
+   /* Added at libpng-1.2.43 and 1.4.1 */
+   png_ptr->user_chunk_malloc_max = PNG_USER_CHUNK_MALLOC_MAX;
+#  endif
 #endif
 
 #ifdef PNG_SETJMP_SUPPORTED
@@ -477,7 +486,8 @@
    if (png_ptr->transformations & PNG_FILLER)
       png_warning(png_ptr, "PNG_READ_FILLER_SUPPORTED is not defined");
 #endif
-#if defined(PNG_WRITE_PACKSWAP_SUPPORTED) && !defined(PNG_READ_PACKSWAP_SUPPORTED)
+#if defined(PNG_WRITE_PACKSWAP_SUPPORTED) && \
+    !defined(PNG_READ_PACKSWAP_SUPPORTED)
    if (png_ptr->transformations & PNG_PACKSWAP)
       png_warning(png_ptr, "PNG_READ_PACKSWAP_SUPPORTED is not defined");
 #endif
@@ -580,7 +590,9 @@
       png_error(png_ptr, "Invalid attempt to read row data");
 
    png_ptr->zstream.next_out = png_ptr->row_buf;
-   png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
+   png_ptr->zstream.avail_out =
+       (uInt)(PNG_ROWBYTES(png_ptr->pixel_depth,
+       png_ptr->iwidth) + 1);
    do
    {
       if (!(png_ptr->zstream.avail_in))
@@ -1044,7 +1056,8 @@
 
 /* Free all memory used by the read (old method) */
 void /* PRIVATE */
-png_read_destroy(png_structp png_ptr, png_infop info_ptr, png_infop end_info_ptr)
+png_read_destroy(png_structp png_ptr, png_infop info_ptr,
+    png_infop end_info_ptr)
 {
 #ifdef PNG_SETJMP_SUPPORTED
    jmp_buf tmp_jmp;
diff --git a/pngrio.c b/pngrio.c
index ccdd03b..72b43c3 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -18,6 +18,7 @@
  * libpng use it at run time with png_set_read_fn(...).
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #ifdef PNG_READ_SUPPORTED
diff --git a/pngrtran.c b/pngrtran.c
index 2541a7b..f27a857 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -16,6 +16,7 @@
  * in pngtrans.c.
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #ifdef PNG_READ_SUPPORTED
@@ -432,8 +433,10 @@
                         png_ptr->palette_to_index[png_ptr->index_to_palette[j]]
                            = png_ptr->palette_to_index[num_new_palette];
 
-                        png_ptr->index_to_palette[j] = (png_byte)num_new_palette;
-                        png_ptr->palette_to_index[num_new_palette] = (png_byte)j;
+                        png_ptr->index_to_palette[j] =
+                            (png_byte)num_new_palette;
+                        png_ptr->palette_to_index[num_new_palette] =
+                            (png_byte)j;
                      }
                      if (num_new_palette <= maximum_colors)
                         break;
@@ -502,7 +505,8 @@
          {
             /* int dr = abs(ir - r); */
             int dr = ((ir > r) ? ir - r : r - ir);
-            int index_r = (ir << (PNG_DITHER_BLUE_BITS + PNG_DITHER_GREEN_BITS));
+            int index_r = (ir << (PNG_DITHER_BLUE_BITS +
+                PNG_DITHER_GREEN_BITS));
 
             for (ig = 0; ig < num_green; ig++)
             {
@@ -747,8 +751,9 @@
    png_debug(1, "in png_init_read_transformations");
 
   {
-#if defined(PNG_READ_BACKGROUND_SUPPORTED) || defined(PNG_READ_SHIFT_SUPPORTED) \
- || defined(PNG_READ_GAMMA_SUPPORTED)
+#if defined(PNG_READ_BACKGROUND_SUPPORTED) || \
+    defined(PNG_READ_SHIFT_SUPPORTED) || \
+    defined(PNG_READ_GAMMA_SUPPORTED)
    int color_type = png_ptr->color_type;
 #endif
 
@@ -945,7 +950,8 @@
                   back.red = (png_byte)(pow(
                      (double)png_ptr->background.red/255.0, gs) * 255.0 + .5);
                   back.green = (png_byte)(pow(
-                     (double)png_ptr->background.green/255.0, gs) * 255.0 + .5);
+                     (double)png_ptr->background.green/255.0, gs) * 255.0
+                         + .5);
                   back.blue = (png_byte)(pow(
                      (double)png_ptr->background.blue/255.0, gs) * 255.0 + .5);
                }
@@ -1357,7 +1363,8 @@
    if (png_ptr->transformations & PNG_RGB_TO_GRAY)
    {
       int rgb_error =
-         png_do_rgb_to_gray(png_ptr, &(png_ptr->row_info), png_ptr->row_buf + 1);
+         png_do_rgb_to_gray(png_ptr, &(png_ptr->row_info),
+             png_ptr->row_buf + 1);
       if (rgb_error)
       {
          png_ptr->rgb_to_gray_status=1;
@@ -2343,7 +2350,8 @@
                   {
                      png_uint_16 red_1   = png_ptr->gamma_16_to_1[(red&0xff) >>
                                   png_ptr->gamma_shift][red>>8];
-                     png_uint_16 green_1 = png_ptr->gamma_16_to_1[(green&0xff) >>
+                     png_uint_16 green_1 =
+                         png_ptr->gamma_16_to_1[(green&0xff) >>
                                   png_ptr->gamma_shift][green>>8];
                      png_uint_16 blue_1  = png_ptr->gamma_16_to_1[(blue&0xff) >>
                                   png_ptr->gamma_shift][blue>>8];
@@ -2439,13 +2447,14 @@
                   else
                   {
                      png_uint_16 red_1   = png_ptr->gamma_16_to_1[(red&0xff) >>
-                                  png_ptr->gamma_shift][red>>8];
-                     png_uint_16 green_1 = png_ptr->gamma_16_to_1[(green&0xff) >>
-                                  png_ptr->gamma_shift][green>>8];
+                         png_ptr->gamma_shift][red>>8];
+                     png_uint_16 green_1 =
+                         png_ptr->gamma_16_to_1[(green&0xff) >>
+                         png_ptr->gamma_shift][green>>8];
                      png_uint_16 blue_1  = png_ptr->gamma_16_to_1[(blue&0xff) >>
-                                  png_ptr->gamma_shift][blue>>8];
+                         png_ptr->gamma_shift][blue>>8];
                      png_uint_16 gray16  = (png_uint_16)((rc * red_1
-                                  + gc * green_1 + bc * blue_1)>>15);
+                         + gc * green_1 + bc * blue_1)>>15);
                      w = png_ptr->gamma_16_from_1[(gray16&0xff) >>
                          png_ptr->gamma_shift][gray16 >> 8];
                      rgb_error |= 1;
@@ -3375,10 +3384,10 @@
                   int d = *sp & 0x03;
 
                   *sp = (png_byte)(
-                        ((((int)gamma_table[a|(a>>2)|(a>>4)|(a>>6)])   ) & 0xc0)|
-                        ((((int)gamma_table[(b<<2)|b|(b>>2)|(b>>4)])>>2) & 0x30)|
-                        ((((int)gamma_table[(c<<4)|(c<<2)|c|(c>>2)])>>4) & 0x0c)|
-                        ((((int)gamma_table[(d<<6)|(d<<4)|(d<<2)|d])>>6) ));
+                      ((((int)gamma_table[a|(a>>2)|(a>>4)|(a>>6)])   ) & 0xc0)|
+                      ((((int)gamma_table[(b<<2)|b|(b>>2)|(b>>4)])>>2) & 0x30)|
+                      ((((int)gamma_table[(c<<4)|(c<<2)|c|(c>>2)])>>4) & 0x0c)|
+                      ((((int)gamma_table[(d<<6)|(d<<4)|(d<<2)|d])>>6) ));
                   sp++;
                }
             }
@@ -3392,7 +3401,7 @@
                   int lsb = *sp & 0x0f;
 
                   *sp = (png_byte)((((int)gamma_table[msb | (msb >> 4)]) & 0xf0)
-                          | (((int)gamma_table[(lsb << 4) | lsb]) >> 4));
+                      | (((int)gamma_table[(lsb << 4) | lsb]) >> 4));
                   sp++;
                }
             }
diff --git a/pngrutil.c b/pngrutil.c
index 94a9a0b..e29fc6f 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -14,6 +14,7 @@
  * libpng itself during the course of reading an image.
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #ifdef PNG_READ_SUPPORTED
@@ -201,6 +202,72 @@
 
 #if defined(PNG_READ_zTXt_SUPPORTED) || defined(PNG_READ_iTXt_SUPPORTED) || \
     defined(PNG_READ_iCCP_SUPPORTED)
+png_size_t
+png_measure_decompressed_chunk(png_structp png_ptr, int comp_type,
+    png_size_t chunklength, png_size_t prefix_size)
+{
+   png_charp text;
+   png_charp test = "X";
+   png_size_t text_size = 0;
+
+   if (comp_type == PNG_COMPRESSION_TYPE_BASE)
+   {
+      int ret = Z_OK;
+
+      png_ptr->zstream.next_in = (png_bytep)(png_ptr->chunkdata + prefix_size);
+      png_ptr->zstream.avail_in = (uInt)(chunklength - prefix_size);
+      png_ptr->zstream.next_out = png_ptr->zbuf;
+      png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
+
+      text = NULL;
+
+      while (png_ptr->zstream.avail_in)
+      {
+         ret = inflate(&png_ptr->zstream, Z_PARTIAL_FLUSH);
+         if (ret != Z_OK && ret != Z_STREAM_END)
+         {
+            inflateReset(&png_ptr->zstream);
+            png_ptr->zstream.avail_in = 0;
+            break;
+         }
+         if (!png_ptr->zstream.avail_out || ret == Z_STREAM_END)
+         {
+            if (text == NULL)  /* Initialize the decompression buffer */
+            {
+               text_size = prefix_size +
+                   png_ptr->zbuf_size - png_ptr->zstream.avail_out;
+
+               text=test;
+            }
+            else               /* Enlarge the decompression buffer */
+            {
+              text_size += png_ptr->zbuf_size - png_ptr->zstream.avail_out;
+#ifdef PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
+              if (png_ptr->user_chunk_malloc_max &&
+                  (text_size >= png_ptr->user_chunk_malloc_max - 1))
+#else
+              if ((PNG_USER_CHUNK_MALLOC_MAX > 0) &&
+                  text_size >= PNG_USER_CHUNK_MALLOC_MAX - 1)
+#endif
+                 return 0;
+            }
+         }
+         if (ret == Z_STREAM_END)
+            break;
+
+         else
+         {
+            png_ptr->zstream.next_out = png_ptr->zbuf;
+            png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
+         }
+      }
+
+      inflateReset(&png_ptr->zstream);
+      png_ptr->zstream.avail_in = 0;
+   }
+   return text_size;
+}
+
 /*
  * Decompress trailing data in a chunk.  The assumption is that chunkdata
  * points at an allocated area holding the contents of a chunk with a
@@ -210,16 +277,27 @@
  */
 void /* PRIVATE */
 png_decompress_chunk(png_structp png_ptr, int comp_type,
-                              png_size_t chunklength,
-                              png_size_t prefix_size, png_size_t *newlength)
+    png_size_t chunklength,
+    png_size_t prefix_size, png_size_t *newlength)
 {
    static PNG_CONST char msg[] = "Error decoding compressed chunk";
    png_charp text;
    png_size_t text_size;
+   png_size_t expanded_size;
+
+   expanded_size= png_measure_decompressed_chunk(png_ptr, comp_type,
+      chunklength, prefix_size);
+   if (expanded_size == 0)
+   {
+      *newlength=0;
+      return;
+   }
 
    if (comp_type == PNG_COMPRESSION_TYPE_BASE)
    {
       int ret = Z_OK;
+      png_size_t buffer_size;
+
       png_ptr->zstream.next_in = (png_bytep)(png_ptr->chunkdata + prefix_size);
       png_ptr->zstream.avail_in = (uInt)(chunklength - prefix_size);
       png_ptr->zstream.next_out = png_ptr->zbuf;
@@ -227,6 +305,7 @@
 
       text_size = 0;
       text = NULL;
+      buffer_size = 0;
 
       while (png_ptr->zstream.avail_in)
       {
@@ -245,11 +324,12 @@
                text_size = prefix_size + png_sizeof(msg) + 1;
                text = (png_charp)png_malloc_warn(png_ptr, text_size);
                if (text ==  NULL)
-                 {
-                    png_free(png_ptr, png_ptr->chunkdata);
-                    png_ptr->chunkdata = NULL;
-                    png_error(png_ptr, "Not enough memory to decompress chunk");
-                 }
+               {
+                  png_error(png_ptr,
+                     "Not enough memory to decompress chunk");
+                  text_size = 0;
+                  break;
+               }
                png_memcpy(text, png_ptr->chunkdata, prefix_size);
             }
 
@@ -257,77 +337,46 @@
 
             /* Copy what we can of the error message into the text chunk */
             text_size = (png_size_t)(chunklength -
-              (text - png_ptr->chunkdata) - 1);
+                (text - png_ptr->chunkdata) - 1);
+
             if (text_size > png_sizeof(msg))
                text_size = png_sizeof(msg);
+
             png_memcpy(text + prefix_size, msg, text_size);
+            buffer_size = text_size;
             break;
          }
          if (!png_ptr->zstream.avail_out || ret == Z_STREAM_END)
          {
-            if (text == NULL)
+            if (text == NULL)  /* Initialize the decompression buffer */
             {
-               text_size = prefix_size +
-                   png_ptr->zbuf_size - png_ptr->zstream.avail_out;
+               text_size = expanded_size;
+
                text = (png_charp)png_malloc_warn(png_ptr, text_size + 1);
                if (text ==  NULL)
                {
-                  png_free(png_ptr, png_ptr->chunkdata);
-                  png_ptr->chunkdata = NULL;
                   png_error(png_ptr,
                     "Not enough memory to decompress chunk");
+                  text_size = 0;
+                  break;
                }
                png_memcpy(text + prefix_size, png_ptr->zbuf,
                     text_size - prefix_size);
                png_memcpy(text, png_ptr->chunkdata, prefix_size);
                *(text + text_size) = 0x00;
-            }
-            else
-            {
-               png_charp tmp;
-
-               tmp = text;
-#ifdef PNG_SET_USER_LIMITS_SUPPORTED
-               if ((png_ptr->user_chunk_cache_max != 0) &&
-                  (--png_ptr->user_chunk_cache_max == 0))
-               {
-                  png_warning(png_ptr, "No space in chunk cache");
-                  text = NULL;
-               }
-
-               else
-               {
-#endif
-                  text = (png_charp)png_malloc_warn(png_ptr,
-                     (png_size_t)(text_size +
-                      png_ptr->zbuf_size - png_ptr->zstream.avail_out + 1));
-#ifdef PNG_SET_USER_LIMITS_SUPPORTED
-               }
-#endif
-               if (text == NULL)
-               {
-                  png_free(png_ptr, tmp);
-                  png_free(png_ptr, png_ptr->chunkdata);
-                  png_ptr->chunkdata = NULL;
-                  png_error(png_ptr,
-                    "Not enough memory to decompress chunk");
-               }
-               png_memcpy(text, tmp, text_size);
-               png_free(png_ptr, tmp);
-               png_memcpy(text + text_size, png_ptr->zbuf,
-                  (png_ptr->zbuf_size - png_ptr->zstream.avail_out));
-               text_size += png_ptr->zbuf_size - png_ptr->zstream.avail_out;
-               *(text + text_size) = 0x00;
-            }
-            if (ret == Z_STREAM_END)
-               break;
-            else
-            {
-               png_ptr->zstream.next_out = png_ptr->zbuf;
-               png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
+               buffer_size = text_size;
             }
          }
+         if (ret == Z_STREAM_END)
+            break;
+
+         else
+         {
+            png_ptr->zstream.next_out = png_ptr->zbuf;
+            png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
+         }
       }
+
       if (ret != Z_STREAM_END)
       {
 #ifdef PNG_STDIO_SUPPORTED
@@ -358,11 +407,11 @@
          {
             text = (png_charp)png_malloc_warn(png_ptr, text_size+1);
             if (text == NULL)
-              {
-                png_free(png_ptr, png_ptr->chunkdata);
-                png_ptr->chunkdata = NULL;
-                png_error(png_ptr, "Not enough memory for text");
-              }
+            {
+               png_free(png_ptr, png_ptr->chunkdata);
+               png_ptr->chunkdata = NULL;
+               png_error(png_ptr, "Not enough memory for text");
+            }
             png_memcpy(text, png_ptr->chunkdata, prefix_size);
          }
          *(text + text_size) = 0x00;
@@ -1135,7 +1184,7 @@
 
    png_debug(1, "in png_handle_sPLT");
 
-#ifdef PNG_SET_USER_LIMITS_SUPPORTED
+#ifdef PNG_USER_LIMITS_SUPPORTED
 
    if (png_ptr->user_chunk_cache_max != 0)
    {
@@ -1185,7 +1234,8 @@
 
    png_ptr->chunkdata[slength] = 0x00;
 
-   for (entry_start = (png_bytep)png_ptr->chunkdata; *entry_start; entry_start++)
+   for (entry_start = (png_bytep)png_ptr->chunkdata; *entry_start;
+       entry_start++)
       /* Empty loop to find end of name */ ;
    ++entry_start;
 
@@ -1939,7 +1989,7 @@
 
    png_debug(1, "in png_handle_tEXt");
 
-#ifdef PNG_SET_USER_LIMITS_SUPPORTED
+#ifdef PNG_USER_LIMITS_SUPPORTED
    if (png_ptr->user_chunk_cache_max != 0)
    {
       if (png_ptr->user_chunk_cache_max == 1)
@@ -2041,7 +2091,7 @@
 
    png_debug(1, "in png_handle_zTXt");
 
-#ifdef PNG_SET_USER_LIMITS_SUPPORTED
+#ifdef PNG_USER_LIMITS_SUPPORTED
    if (png_ptr->user_chunk_cache_max != 0)
    {
       if (png_ptr->user_chunk_cache_max == 1)
@@ -2162,7 +2212,7 @@
 
    png_debug(1, "in png_handle_iTXt");
 
-#ifdef PNG_SET_USER_LIMITS_SUPPORTED
+#ifdef PNG_USER_LIMITS_SUPPORTED
    if (png_ptr->user_chunk_cache_max != 0)
    {
       if (png_ptr->user_chunk_cache_max == 1)
@@ -2306,7 +2356,7 @@
 
    png_debug(1, "in png_handle_unknown");
 
-#ifdef PNG_SET_USER_LIMITS_SUPPORTED
+#ifdef PNG_USER_LIMITS_SUPPORTED
    if (png_ptr->user_chunk_cache_max != 0)
    {
       if (png_ptr->user_chunk_cache_max == 1)
@@ -2361,7 +2411,8 @@
        png_memcpy((png_charp)png_ptr->unknown_chunk.name,
                   (png_charp)png_ptr->chunk_name,
                   png_sizeof(png_ptr->unknown_chunk.name));
-       png_ptr->unknown_chunk.name[png_sizeof(png_ptr->unknown_chunk.name)-1] = '\0';
+       png_ptr->unknown_chunk.name[png_sizeof(png_ptr->unknown_chunk.name)-1]
+           = '\0';
        png_ptr->unknown_chunk.size = (png_size_t)length;
        if (length == 0)
          png_ptr->unknown_chunk.data = NULL;
@@ -2833,7 +2884,8 @@
          default:
          {
             png_size_t pixel_bytes = (row_info->pixel_depth >> 3);
-            png_bytep sp = row + (png_size_t)(row_info->width - 1) * pixel_bytes;
+            png_bytep sp = row + (png_size_t)(row_info->width - 1)
+                * pixel_bytes;
             png_bytep dp = row + (png_size_t)(final_width - 1) * pixel_bytes;
 
             int jstop = png_pass_inc[pass];
@@ -3028,9 +3080,6 @@
             png_pass_start[png_ptr->pass]) /
             png_pass_inc[png_ptr->pass];
 
-         png_ptr->irowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,
-            png_ptr->iwidth) + 1;
-
          if (!(png_ptr->transformations & PNG_INTERLACE))
          {
             png_ptr->num_rows = (png_ptr->height +
@@ -3155,16 +3204,12 @@
          png_pass_inc[png_ptr->pass] - 1 -
          png_pass_start[png_ptr->pass]) /
          png_pass_inc[png_ptr->pass];
-
-         png_ptr->irowbytes =
-            PNG_ROWBYTES(png_ptr->pixel_depth, png_ptr->iwidth) + 1;
    }
    else
 #endif /* PNG_READ_INTERLACING_SUPPORTED */
    {
       png_ptr->num_rows = png_ptr->height;
       png_ptr->iwidth = png_ptr->width;
-      png_ptr->irowbytes = png_ptr->rowbytes + 1;
    }
    max_pixel_depth = png_ptr->pixel_depth;
 
@@ -3329,7 +3374,8 @@
    png_debug1(3, "iwidth = %lu,", png_ptr->iwidth);
    png_debug1(3, "num_rows = %lu,", png_ptr->num_rows);
    png_debug1(3, "rowbytes = %lu,", png_ptr->rowbytes);
-   png_debug1(3, "irowbytes = %lu", png_ptr->irowbytes);
+   png_debug1(3, "irowbytes = %lu",
+       PNG_ROWBYTES(png_ptr->pixel_depth, png_ptr->iwidth) + 1);
 
    png_ptr->flags |= PNG_FLAG_ROW_INIT;
 }
diff --git a/pngset.c b/pngset.c
index fda22f0..cb55aee 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -16,6 +16,7 @@
  * info struct and allows us to change the structure in the future.
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
@@ -1093,7 +1094,6 @@
 }
 #endif
 
-#ifdef PNG_WRITE_SUPPORTED
 void PNGAPI
 png_set_compression_buffer_size(png_structp png_ptr,
     png_size_t size)
@@ -1106,7 +1106,6 @@
     png_ptr->zstream.next_out = png_ptr->zbuf;
     png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
 }
-#endif
 
 void PNGAPI
 png_set_invalid(png_structp png_ptr, png_infop info_ptr, int mask)
@@ -1132,18 +1131,24 @@
    png_ptr->user_width_max = user_width_max;
    png_ptr->user_height_max = user_height_max;
 }
+
 /* This function was added to libpng 1.4.0 */
 void PNGAPI
 png_set_chunk_cache_max (png_structp png_ptr,
    png_uint_32 user_chunk_cache_max)
 {
-    if (png_ptr == NULL)
-      return;
-    png_ptr->user_chunk_cache_max = user_chunk_cache_max;
-    if (user_chunk_cache_max == 0x7fffffffL)  /* Unlimited */
-       png_ptr->user_chunk_cache_max = 0;
-    else
-       png_ptr->user_chunk_cache_max = user_chunk_cache_max + 1;
+    if (png_ptr)
+       png_ptr->user_chunk_cache_max = user_chunk_cache_max;
+}
+
+/* This function was added to libpng 1.4.1 */
+void PNGAPI
+png_set_chunk_malloc_max (png_structp png_ptr,
+   png_alloc_size_t user_chunk_malloc_max)
+{
+    if (png_ptr)
+       png_ptr->user_chunk_malloc_max =
+          (png_size_t)user_chunk_malloc_max;
 }
 #endif /* ?PNG_SET_USER_LIMITS_SUPPORTED */
 
diff --git a/pngstruct.h b/pngstruct.h
new file mode 100644
index 0000000..da6f238
--- /dev/null
+++ b/pngstruct.h
@@ -0,0 +1,378 @@
+/* The structure that holds the information to read and write PNG files.
+ * The only people who need to care about what is inside of this are the
+ * people who will be modifying the library for their own special needs.
+ * It should NOT be accessed directly by an application, except to store
+ * the jmp_buf.
+ */
+
+struct png_struct_def
+{
+#ifdef PNG_SETJMP_SUPPORTED
+   jmp_buf jmpbuf PNG_DEPSTRUCT;            /* used in png_error */
+   png_longjmp_ptr longjmp_fn PNG_DEPSTRUCT;/* setjmp non-local goto
+                                               function. */
+#endif
+   png_error_ptr error_fn PNG_DEPSTRUCT;    /* function for printing
+                                               errors and aborting */
+   png_error_ptr warning_fn PNG_DEPSTRUCT;  /* function for printing
+                                               warnings */
+   png_voidp error_ptr PNG_DEPSTRUCT;       /* user supplied struct for
+                                               error functions */
+   png_rw_ptr write_data_fn PNG_DEPSTRUCT;  /* function for writing
+                                               output data */
+   png_rw_ptr read_data_fn PNG_DEPSTRUCT;   /* function for reading
+                                               input data */
+   png_voidp io_ptr PNG_DEPSTRUCT;          /* ptr to application struct
+                                               for I/O functions */
+
+#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED
+   png_user_transform_ptr read_user_transform_fn PNG_DEPSTRUCT; /* user read
+                                                                 transform */
+#endif
+
+#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED
+   png_user_transform_ptr write_user_transform_fn PNG_DEPSTRUCT; /* user write
+                                                                  transform */
+#endif
+
+/* These were added in libpng-1.0.2 */
+#ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED
+#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
+    defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
+   png_voidp user_transform_ptr PNG_DEPSTRUCT; /* user supplied struct
+                                                  for user transform */
+   png_byte user_transform_depth PNG_DEPSTRUCT;    /* bit depth of user
+                                                      transformed pixels */
+   png_byte user_transform_channels PNG_DEPSTRUCT; /* channels in user
+                                                      transformed pixels */
+#endif
+#endif
+
+   png_uint_32 mode PNG_DEPSTRUCT;          /* tells us where we are in
+                                               the PNG file */
+   png_uint_32 flags PNG_DEPSTRUCT;         /* flags indicating various
+                                               things to libpng */
+   png_uint_32 transformations PNG_DEPSTRUCT; /* which transformations
+                                                 to perform */
+
+   z_stream zstream PNG_DEPSTRUCT;          /* pointer to decompression
+                                               structure (below) */
+   png_bytep zbuf PNG_DEPSTRUCT;            /* buffer for zlib */
+   png_size_t zbuf_size PNG_DEPSTRUCT;      /* size of zbuf */
+   int zlib_level PNG_DEPSTRUCT;            /* holds zlib compression level */
+   int zlib_method PNG_DEPSTRUCT;           /* holds zlib compression method */
+   int zlib_window_bits PNG_DEPSTRUCT;      /* holds zlib compression window
+                                               bits */
+   int zlib_mem_level PNG_DEPSTRUCT;        /* holds zlib compression memory
+                                               level */
+   int zlib_strategy PNG_DEPSTRUCT;         /* holds zlib compression
+                                               strategy */
+
+   png_uint_32 width PNG_DEPSTRUCT;         /* width of image in pixels */
+   png_uint_32 height PNG_DEPSTRUCT;        /* height of image in pixels */
+   png_uint_32 num_rows PNG_DEPSTRUCT;      /* number of rows in current pass */
+   png_uint_32 usr_width PNG_DEPSTRUCT;     /* width of row at start of write */
+   png_size_t rowbytes PNG_DEPSTRUCT;       /* size of row in bytes */
+   png_uint_32 iwidth PNG_DEPSTRUCT;        /* width of current interlaced
+                                               row in pixels */
+   png_uint_32 row_number PNG_DEPSTRUCT;    /* current row in interlace pass */
+   png_bytep prev_row PNG_DEPSTRUCT;        /* buffer to save previous
+                                               (unfiltered) row */
+   png_bytep row_buf PNG_DEPSTRUCT;         /* buffer to save current
+                                               (unfiltered) row */
+   png_bytep sub_row PNG_DEPSTRUCT;         /* buffer to save "sub" row
+                                               when filtering */
+   png_bytep up_row PNG_DEPSTRUCT;          /* buffer to save "up" row
+                                               when filtering */
+   png_bytep avg_row PNG_DEPSTRUCT;         /* buffer to save "avg" row
+                                               when filtering */
+   png_bytep paeth_row PNG_DEPSTRUCT;       /* buffer to save "Paeth" row
+                                               when filtering */
+   png_row_info row_info PNG_DEPSTRUCT;     /* used for transformation
+                                               routines */
+
+   png_uint_32 idat_size PNG_DEPSTRUCT;     /* current IDAT size for read */
+   png_uint_32 crc PNG_DEPSTRUCT;           /* current chunk CRC value */
+   png_colorp palette PNG_DEPSTRUCT;        /* palette from the input file */
+   png_uint_16 num_palette PNG_DEPSTRUCT;   /* number of color entries in
+                                               palette */
+   png_uint_16 num_trans PNG_DEPSTRUCT;     /* number of transparency values */
+   png_byte chunk_name[5] PNG_DEPSTRUCT;    /* null-terminated name of current
+                                               chunk */
+   png_byte compression PNG_DEPSTRUCT;      /* file compression type
+                                               (always 0) */
+   png_byte filter PNG_DEPSTRUCT;           /* file filter type (always 0) */
+   png_byte interlaced PNG_DEPSTRUCT;       /* PNG_INTERLACE_NONE,
+                                               PNG_INTERLACE_ADAM7 */
+   png_byte pass PNG_DEPSTRUCT;             /* current interlace pass (0 - 6) */
+   png_byte do_filter PNG_DEPSTRUCT;        /* row filter flags (see
+                                               PNG_FILTER_ below ) */
+   png_byte color_type PNG_DEPSTRUCT;       /* color type of file */
+   png_byte bit_depth PNG_DEPSTRUCT;        /* bit depth of file */
+   png_byte usr_bit_depth PNG_DEPSTRUCT;    /* bit depth of users row */
+   png_byte pixel_depth PNG_DEPSTRUCT;      /* number of bits per pixel */
+   png_byte channels PNG_DEPSTRUCT;         /* number of channels in file */
+   png_byte usr_channels PNG_DEPSTRUCT;     /* channels at start of write */
+   png_byte sig_bytes PNG_DEPSTRUCT;        /* magic bytes read/written from
+                                               start of file */
+
+#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
+   png_uint_16 filler PNG_DEPSTRUCT;           /* filler bytes for pixel
+                                                  expansion */
+#endif
+
+#ifdef PNG_bKGD_SUPPORTED
+   png_byte background_gamma_type PNG_DEPSTRUCT;
+#  ifdef PNG_FLOATING_POINT_SUPPORTED
+   float background_gamma PNG_DEPSTRUCT;
+#  endif
+   png_color_16 background PNG_DEPSTRUCT;   /* background color in
+                                               screen gamma space */
+#ifdef PNG_READ_GAMMA_SUPPORTED
+   png_color_16 background_1 PNG_DEPSTRUCT; /* background normalized
+                                               to gamma 1.0 */
+#endif
+#endif /* PNG_bKGD_SUPPORTED */
+
+#ifdef PNG_WRITE_FLUSH_SUPPORTED
+   png_flush_ptr output_flush_fn PNG_DEPSTRUCT; /* Function for flushing
+                                               output */
+   png_uint_32 flush_dist PNG_DEPSTRUCT;    /* how many rows apart to flush,
+                                               0 - no flush */
+   png_uint_32 flush_rows PNG_DEPSTRUCT;    /* number of rows written since
+                                               last flush */
+#endif
+
+#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
+   int gamma_shift PNG_DEPSTRUCT;      /* number of "insignificant" bits
+                                          16-bit gamma */
+#ifdef PNG_FLOATING_POINT_SUPPORTED
+   float gamma PNG_DEPSTRUCT;          /* file gamma value */
+   float screen_gamma PNG_DEPSTRUCT;   /* screen gamma value
+                                          (display_exponent) */
+#endif
+#endif
+
+#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
+   png_bytep gamma_table PNG_DEPSTRUCT;     /* gamma table for 8-bit
+                                               depth files */
+   png_bytep gamma_from_1 PNG_DEPSTRUCT;    /* converts from 1.0 to screen */
+   png_bytep gamma_to_1 PNG_DEPSTRUCT;      /* converts from file to 1.0 */
+   png_uint_16pp gamma_16_table PNG_DEPSTRUCT; /* gamma table for 16-bit
+                                                  depth files */
+   png_uint_16pp gamma_16_from_1 PNG_DEPSTRUCT; /* converts from 1.0 to
+                                                   screen */
+   png_uint_16pp gamma_16_to_1 PNG_DEPSTRUCT; /* converts from file to 1.0 */
+#endif
+
+#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_sBIT_SUPPORTED)
+   png_color_8 sig_bit PNG_DEPSTRUCT;       /* significant bits in each
+                                               available channel */
+#endif
+
+#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED)
+   png_color_8 shift PNG_DEPSTRUCT;         /* shift for significant bit
+                                               tranformation */
+#endif
+
+#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) \
+ || defined(PNG_READ_EXPAND_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
+   png_bytep trans_alpha PNG_DEPSTRUCT;           /* alpha values for
+                                                     paletted files */
+   png_color_16 trans_color PNG_DEPSTRUCT;  /* transparent color for
+                                               non-paletted files */
+#endif
+
+   png_read_status_ptr read_row_fn PNG_DEPSTRUCT;   /* called after each
+                                                       row is decoded */
+   png_write_status_ptr write_row_fn PNG_DEPSTRUCT; /* called after each
+                                                       row is encoded */
+#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
+   png_progressive_info_ptr info_fn PNG_DEPSTRUCT; /* called after header
+                                                      data fully read */
+   png_progressive_row_ptr row_fn PNG_DEPSTRUCT;   /* called after each
+                                                      prog. row is decoded */
+   png_progressive_end_ptr end_fn PNG_DEPSTRUCT;   /* called after image
+                                                      is complete */
+   png_bytep save_buffer_ptr PNG_DEPSTRUCT;        /* current location in
+                                                      save_buffer */
+   png_bytep save_buffer PNG_DEPSTRUCT;            /* buffer for previously
+                                                      read data */
+   png_bytep current_buffer_ptr PNG_DEPSTRUCT;     /* current location in
+                                                      current_buffer */
+   png_bytep current_buffer PNG_DEPSTRUCT;         /* buffer for recently
+                                                      used data */
+   png_uint_32 push_length PNG_DEPSTRUCT;          /* size of current input
+                                                      chunk */
+   png_uint_32 skip_length PNG_DEPSTRUCT;          /* bytes to skip in
+                                                      input data */
+   png_size_t save_buffer_size PNG_DEPSTRUCT;      /* amount of data now
+                                                      in save_buffer */
+   png_size_t save_buffer_max PNG_DEPSTRUCT;       /* total size of
+                                                      save_buffer */
+   png_size_t buffer_size PNG_DEPSTRUCT;           /* total amount of
+                                                      available input data */
+   png_size_t current_buffer_size PNG_DEPSTRUCT;   /* amount of data now
+                                                      in current_buffer */
+   int process_mode PNG_DEPSTRUCT;                 /* what push library
+                                                      is currently doing */
+   int cur_palette PNG_DEPSTRUCT;                  /* current push library
+                                                      palette index */
+
+#  ifdef PNG_TEXT_SUPPORTED
+     png_size_t current_text_size PNG_DEPSTRUCT;   /* current size of
+                                                      text input data */
+     png_size_t current_text_left PNG_DEPSTRUCT;   /* how much text left
+                                                      to read in input */
+     png_charp current_text PNG_DEPSTRUCT;         /* current text chunk
+                                                      buffer */
+     png_charp current_text_ptr PNG_DEPSTRUCT;     /* current location
+                                                      in current_text */
+#  endif /* PNG_PROGRESSIVE_READ_SUPPORTED && PNG_TEXT_SUPPORTED */
+
+#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
+
+#if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__)
+/* For the Borland special 64K segment handler */
+   png_bytepp offset_table_ptr PNG_DEPSTRUCT;
+   png_bytep offset_table PNG_DEPSTRUCT;
+   png_uint_16 offset_table_number PNG_DEPSTRUCT;
+   png_uint_16 offset_table_count PNG_DEPSTRUCT;
+   png_uint_16 offset_table_count_free PNG_DEPSTRUCT;
+#endif
+
+#ifdef PNG_READ_DITHER_SUPPORTED
+   png_bytep palette_lookup PNG_DEPSTRUCT; /* lookup table for dithering */
+   png_bytep dither_index PNG_DEPSTRUCT;   /* index translation for palette
+                                              files */
+#endif
+
+#if defined(PNG_READ_DITHER_SUPPORTED) || defined(PNG_hIST_SUPPORTED)
+   png_uint_16p hist PNG_DEPSTRUCT;                /* histogram */
+#endif
+
+#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
+   png_byte heuristic_method PNG_DEPSTRUCT;        /* heuristic for row
+                                                      filter selection */
+   png_byte num_prev_filters PNG_DEPSTRUCT;        /* number of weights
+                                                      for previous rows */
+   png_bytep prev_filters PNG_DEPSTRUCT;           /* filter type(s) of
+                                                      previous row(s) */
+   png_uint_16p filter_weights PNG_DEPSTRUCT;      /* weight(s) for previous
+                                                      line(s) */
+   png_uint_16p inv_filter_weights PNG_DEPSTRUCT;  /* 1/weight(s) for
+                                                      previous line(s) */
+   png_uint_16p filter_costs PNG_DEPSTRUCT;        /* relative filter
+                                                      calculation cost */
+   png_uint_16p inv_filter_costs PNG_DEPSTRUCT;    /* 1/relative filter
+                                                      calculation cost */
+#endif
+
+#ifdef PNG_TIME_RFC1123_SUPPORTED
+   png_charp time_buffer PNG_DEPSTRUCT; /* String to hold RFC 1123 time text */
+#endif
+
+/* New members added in libpng-1.0.6 */
+
+   png_uint_32 free_me PNG_DEPSTRUCT;    /* flags items libpng is
+                                            responsible for freeing */
+
+#ifdef PNG_USER_CHUNKS_SUPPORTED
+   png_voidp user_chunk_ptr PNG_DEPSTRUCT;
+   png_user_chunk_ptr read_user_chunk_fn PNG_DEPSTRUCT; /* user read
+                                                           chunk handler */
+#endif
+
+#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
+   int num_chunk_list PNG_DEPSTRUCT;
+   png_bytep chunk_list PNG_DEPSTRUCT;
+#endif
+
+/* New members added in libpng-1.0.3 */
+#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
+   png_byte rgb_to_gray_status PNG_DEPSTRUCT;
+   /* These were changed from png_byte in libpng-1.0.6 */
+   png_uint_16 rgb_to_gray_red_coeff PNG_DEPSTRUCT;
+   png_uint_16 rgb_to_gray_green_coeff PNG_DEPSTRUCT;
+   png_uint_16 rgb_to_gray_blue_coeff PNG_DEPSTRUCT;
+#endif
+
+/* New member added in libpng-1.0.4 (renamed in 1.0.9) */
+#if defined(PNG_MNG_FEATURES_SUPPORTED) || \
+    defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \
+    defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED)
+/* Changed from png_byte to png_uint_32 at version 1.2.0 */
+   png_uint_32 mng_features_permitted PNG_DEPSTRUCT;
+#endif
+
+/* New member added in libpng-1.0.7 */
+#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
+   png_fixed_point int_gamma PNG_DEPSTRUCT;
+#endif
+
+/* New member added in libpng-1.0.9, ifdef'ed out in 1.0.12, enabled in 1.2.0 */
+#ifdef PNG_MNG_FEATURES_SUPPORTED
+   png_byte filter_type PNG_DEPSTRUCT;
+#endif
+
+/* New members added in libpng-1.2.0 */
+
+/* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
+#ifdef PNG_USER_MEM_SUPPORTED
+   png_voidp mem_ptr PNG_DEPSTRUCT;             /* user supplied struct for
+                                                   mem functions */
+   png_malloc_ptr malloc_fn PNG_DEPSTRUCT;      /* function for
+                                                   allocating memory */
+   png_free_ptr free_fn PNG_DEPSTRUCT;          /* function for
+                                                   freeing memory */
+#endif
+
+/* New member added in libpng-1.0.13 and 1.2.0 */
+   png_bytep big_row_buf PNG_DEPSTRUCT;         /* buffer to save current
+                                                   (unfiltered) row */
+
+#ifdef PNG_READ_DITHER_SUPPORTED
+/* The following three members were added at version 1.0.14 and 1.2.4 */
+   png_bytep dither_sort PNG_DEPSTRUCT;            /* working sort array */
+   png_bytep index_to_palette PNG_DEPSTRUCT;       /* where the original
+                                                     index currently is
+                                                     in the palette */
+   png_bytep palette_to_index PNG_DEPSTRUCT;       /* which original index
+                                                      points to this
+                                                      palette color */
+#endif
+
+/* New members added in libpng-1.0.16 and 1.2.6 */
+   png_byte compression_type PNG_DEPSTRUCT;
+
+#ifdef PNG_USER_LIMITS_SUPPORTED
+   png_uint_32 user_width_max PNG_DEPSTRUCT;
+   png_uint_32 user_height_max PNG_DEPSTRUCT;
+   /* Added in libpng-1.4.0: Total number of sPLT, text, and unknown
+    * chunks that can be stored (0 means unlimited).
+    */
+   png_uint_32 user_chunk_cache_max PNG_DEPSTRUCT;
+   /* Total memory that a zTXt, sPLT, iTXt, iCCP, or unknown chunk
+    * can occupy when decompressed.  0 means unlimited.
+    */
+   png_uint_32 user_chunk_malloc_max PNG_DEPSTRUCT;
+#endif
+
+/* New member added in libpng-1.0.25 and 1.2.17 */
+#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED
+   /* Storage for unknown chunk that the library doesn't recognize. */
+   png_unknown_chunk unknown_chunk PNG_DEPSTRUCT;
+#endif
+
+/* New members added in libpng-1.2.26 */
+  png_uint_32 old_big_row_buf_size PNG_DEPSTRUCT;
+  png_uint_32 old_prev_row_size PNG_DEPSTRUCT;
+
+/* New member added in libpng-1.2.30 */
+  png_charp chunkdata PNG_DEPSTRUCT;  /* buffer for reading chunk data */
+
+#ifdef PNG_IO_STATE_SUPPORTED
+/* New member added in libpng-1.4.0 */
+   png_uint_32 io_state PNG_DEPSTRUCT;
+#endif
+};
diff --git a/pngtest.c b/pngtest.c
index 39f3778..6fbaabd 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -859,8 +859,8 @@
    {
       png_fixed_point white_x, white_y, red_x, red_y, green_x, green_y, blue_x,
          blue_y;
-      if (png_get_cHRM_fixed(read_ptr, read_info_ptr, &white_x, &white_y, &red_x,
-         &red_y, &green_x, &green_y, &blue_x, &blue_y))
+      if (png_get_cHRM_fixed(read_ptr, read_info_ptr, &white_x, &white_y,
+         &red_x, &red_y, &green_x, &green_y, &blue_x, &blue_y))
       {
          png_set_cHRM_fixed(write_ptr, write_info_ptr, white_x, white_y, red_x,
             red_y, green_x, green_y, blue_x, blue_y);
@@ -1012,7 +1012,8 @@
       if (png_get_sCAL_s(read_ptr, read_info_ptr, &unit, &scal_width,
           &scal_height))
       {
-         png_set_sCAL_s(write_ptr, write_info_ptr, unit, scal_width, scal_height);
+         png_set_sCAL_s(write_ptr, write_info_ptr, unit, scal_width,
+             scal_height);
       }
    }
 #endif
@@ -1390,8 +1391,6 @@
    /* Show the version of libpng used in building the application */
    fprintf(STDERR, " pngtest (%lu):%s", (unsigned long)PNG_LIBPNG_VER,
       PNG_HEADER_VERSION_STRING);
-   fprintf(STDERR, " sizeof(png_struct)=%ld, sizeof(png_info)=%ld\n",
-                    (long)png_sizeof(png_struct), (long)png_sizeof(png_info));
 
    /* Do some consistency checking on the memory allocation settings, I'm
     * not sure this matters, but it is nice to know, the first of these
@@ -1465,14 +1464,14 @@
 #endif
       for (i=2; i<argc; ++i)
       {
-#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED
-         int k;
-#endif
          int kerror;
          fprintf(STDERR, "\n Testing %s:", argv[i]);
          kerror = test_one_file(argv[i], outname);
          if (kerror == 0)
          {
+#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED
+            int k;
+#endif
 #ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED
             fprintf(STDERR, "\n PASS (%lu zero samples)\n",
                (unsigned long)zero_samples);
@@ -1558,8 +1557,7 @@
                 for (k = 0; k<256; k++)
                    if (filters_used[k])
                       fprintf(STDERR, " Filter %d was used %lu times\n",
-                         k,
-                         (unsigned long)filters_used[k]);
+                         k, (unsigned long)filters_used[k]);
 #endif
 #ifdef PNG_TIME_RFC1123_SUPPORTED
              if (tIME_chunk_present != 0)
@@ -1627,4 +1625,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_4_0rc08 your_png_h_is_not_version_1_4_0rc08;
+typedef version_1_5_0beta01 your_png_h_is_not_version_1_5_0beta01;
diff --git a/pngtrans.c b/pngtrans.c
index 9dc8cf1..47bd9e7 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,7 +1,7 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.0 [January 3, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,6 +11,7 @@
  * and license in png.h
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
diff --git a/pngwio.c b/pngwio.c
index 1c30049..65718c8 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
 
 /* pngwio.c - functions for data output
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.0 [January 3, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -18,6 +18,7 @@
  * them at run time with png_set_write_fn(...).
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #ifdef PNG_WRITE_SUPPORTED
diff --git a/pngwrite.c b/pngwrite.c
index c5db993..3c63bc8 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.0 [January 3, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -12,6 +12,7 @@
  */
 
 /* Get internal access to png.h */
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #ifdef PNG_WRITE_SUPPORTED
@@ -38,7 +39,8 @@
    /* Write PNG signature */
    png_write_sig(png_ptr);
 #ifdef PNG_MNG_FEATURES_SUPPORTED
-   if ((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE)&&(png_ptr->mng_features_permitted))
+   if ((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE) && \
+      (png_ptr->mng_features_permitted))
    {
       png_warning(png_ptr, "MNG features are not allowed in a PNG datastream");
       png_ptr->mng_features_permitted = 0;
@@ -680,9 +682,11 @@
       if (png_ptr->transformations & PNG_FILLER)
          png_warning(png_ptr, "PNG_WRITE_FILLER_SUPPORTED is not defined");
 #endif
-#if !defined(PNG_WRITE_PACKSWAP_SUPPORTED) && defined(PNG_READ_PACKSWAP_SUPPORTED)
+#if !defined(PNG_WRITE_PACKSWAP_SUPPORTED) && \
+    defined(PNG_READ_PACKSWAP_SUPPORTED)
       if (png_ptr->transformations & PNG_PACKSWAP)
-         png_warning(png_ptr, "PNG_WRITE_PACKSWAP_SUPPORTED is not defined");
+         png_warning(png_ptr,
+             "PNG_WRITE_PACKSWAP_SUPPORTED is not defined");
 #endif
 #if !defined(PNG_WRITE_PACK_SUPPORTED) && defined(PNG_READ_PACK_SUPPORTED)
       if (png_ptr->transformations & PNG_PACK)
@@ -936,7 +940,7 @@
       {
         png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1);
 
-#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED
+#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
         if (png_ptr->num_chunk_list)
         {
            png_free(png_ptr, png_ptr->chunk_list);
diff --git a/pngwtran.c b/pngwtran.c
index 4258844..2fa7b34 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,6 +11,7 @@
  * and license in png.h
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #ifdef PNG_WRITE_SUPPORTED
@@ -30,7 +31,8 @@
 #ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED
    if (png_ptr->transformations & PNG_USER_TRANSFORM)
       if (png_ptr->write_user_transform_fn != NULL)
-        (*(png_ptr->write_user_transform_fn)) /* User write transform function */
+        (*(png_ptr->write_user_transform_fn)) /* User write transform
+                                                 function */
           (png_ptr,                    /* png_ptr */
            &(png_ptr->row_info),       /* row_info:     */
              /*  png_uint_32 width;          width of row */
diff --git a/pngwutil.c b/pngwutil.c
index e852136..ed687e7 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * Last changed in libpng 1.4.0 [January 2, 2010]
+ * Last changed in libpng 1.4.1 [February 8, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,6 +11,7 @@
  * and license in png.h
  */
 
+#define PNG_INTERNAL
 #define PNG_NO_PEDANTIC_WARNINGS
 #include "png.h"
 #ifdef PNG_WRITE_SUPPORTED
@@ -436,7 +437,8 @@
             case 4:
             case 8:
             case 16: png_ptr->channels = 1; break;
-            default: png_error(png_ptr, "Invalid bit depth for grayscale image");
+            default: png_error(png_ptr,
+                         "Invalid bit depth for grayscale image");
          }
          break;
       case PNG_COLOR_TYPE_RGB:
@@ -639,7 +641,9 @@
       png_write_chunk_data(png_ptr, buf, (png_size_t)3);
    }
 #else
-   /* This is a little slower but some buggy compilers need to do this instead */
+   /* This is a little slower but some buggy compilers need to do this
+    * instead
+    */
    pal_ptr=palette;
    for (i = 0; i < num_pal; i++)
    {
diff --git a/projects/xcode/libpng.xcodeproj/project.pbxproj b/projects/xcode/libpng.xcodeproj/project.pbxproj
index 7509713..bbfd131 100644
--- a/projects/xcode/libpng.xcodeproj/project.pbxproj
+++ b/projects/xcode/libpng.xcodeproj/project.pbxproj
@@ -226,7 +226,7 @@
 				COPY_PHASE_STRIP = NO;
 				DYLIB_COMPATIBILITY_VERSION = 14;
 				DYLIB_CURRENT_VERSION = 14;
-				FRAMEWORK_VERSION = 1.4.0rc08;
+				FRAMEWORK_VERSION = 1.5.0beta01;
 				GCC_PRECOMPILE_PREFIX_HEADER = NO;
 				GCC_PREFIX_HEADER = "";
 				INFOPLIST_FILE = Info.plist;
@@ -244,7 +244,7 @@
 			buildSettings = {
 				DYLIB_COMPATIBILITY_VERSION = 14;
 				DYLIB_CURRENT_VERSION = 14;
-				FRAMEWORK_VERSION = 1.4.0rc08;
+				FRAMEWORK_VERSION = 1.5.0beta01;
 				GCC_PRECOMPILE_PREFIX_HEADER = NO;
 				GCC_PREFIX_HEADER = "";
 				INFOPLIST_FILE = Info.plist;
diff --git a/scripts/README.txt b/scripts/README.txt
index a238eab..14968f1 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,8 +1,8 @@
 
-Makefiles for  libpng version 1.4.0rc08 - January 2, 2010
+Makefiles for  libpng version 1.5.0beta01 - February 8, 2010
 
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng14.so.14.1.4.0rc08)
+                       (gcc, creates libpng14.so.14.1.5.0beta01)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
                        ansi2knr (Requires ansi2knr.c from
@@ -20,7 +20,7 @@
  makefile.dec      =>  DEC Alpha UNIX makefile
  makefile.dj2      =>  DJGPP 2 makefile
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       gcc, creates libpng14.so.14.1.4.0rc08)
+                       gcc, creates libpng14.so.14.1.5.0beta01)
  makefile.freebsd  =>  FreeBSD makefile
  makefile.gcc      =>  Generic gcc makefile
  makefile.hpgcc    =>  HPUX makefile using gcc
@@ -36,12 +36,12 @@
  makefile.os2      =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
  makefile.sggcc    =>  Silicon Graphics (gcc,
-                       creates libpng14.so.14.1.4.0rc08)
+                       creates libpng14.so.14.1.5.0beta01)
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng14.so.14.1.4.0rc08)
+                       creates libpng14.so.14.1.5.0beta01)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng14.so.14.1.4.0rc08)
+                       creates libpng14.so.14.1.5.0beta01)
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.sunos    =>  Sun makefile
  makefile.32sunu   =>  Sun Ultra 32-bit makefile
diff --git a/scripts/descrip.mms b/scripts/descrip.mms
index d0642c0..2c6f614 100644
--- a/scripts/descrip.mms
+++ b/scripts/descrip.mms
@@ -33,20 +33,20 @@
 
 
 # Other dependencies.
-png.obj : png.h, pngconf.h, pngpriv.h
-pngpread.obj : png.h, pngconf.h, pngpriv.h
-pngset.obj : png.h, pngconf.h, pngpriv.h
-pngget.obj : png.h, pngconf.h, pngpriv.h
-pngread.obj : png.h, pngconf.h, pngpriv.h
-pngrtran.obj : png.h, pngconf.h, pngpriv.h
-pngrutil.obj : png.h, pngconf.h, pngpriv.h
-pngerror.obj : png.h, pngconf.h, pngpriv.h
-pngmem.obj : png.h, pngconf.h, pngpriv.h
-pngrio.obj : png.h, pngconf.h, pngpriv.h
-pngwio.obj : png.h, pngconf.h, pngpriv.h
-pngtrans.obj : png.h, pngconf.h, pngpriv.h
-pngwrite.obj : png.h, pngconf.h, pngpriv.h
-pngwtran.obj : png.h, pngconf.h, pngpriv.h
-pngwutil.obj : png.h, pngconf.h, pngpriv.h
+png.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngpread.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngset.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngget.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngread.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngrtran.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngrutil.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngerror.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngmem.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngrio.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngwio.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngtrans.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngwrite.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngwtran.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
+pngwutil.obj : png.h, pngconf.h, pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.obj : png.h, pngconf.h
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index bf806cd..36cd0df 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -11,7 +11,7 @@
 
 # Modeled after libxml-config.
 
-version=1.4.0rc08
+version=1.5.0beta01
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 368b435..b3be8b7 100644
--- a/scripts/libpng.pc.in
+++ b/scripts/libpng.pc.in
@@ -5,6 +5,6 @@
 
 Name: libpng
 Description: Loads and saves PNG files
-Version: 1.4.0rc08
+Version: 1.5.0beta01
 Libs: -L${libdir} -lpng14
 Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index 559f834..5feee17 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -1,6 +1,6 @@
 # makefile for libpng on Solaris 2.x with cc
 # Contributed by William L. Sebok, based on makefile.linux
-# Copyright (C) 2002, 2006 Glenn Randers-Pehrson
+# Copyright (C) 2002, 2006, 2010 Glenn Randers-Pehrson
 # Copyright (C) 1998 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
 
@@ -11,16 +11,12 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 CC=cc
@@ -113,10 +109,7 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
 	@case "`type ld`" in *ucb*) \
 	echo; \
 	echo '## WARNING:'; \
@@ -130,11 +123,7 @@
 	;; \
 	esac
 	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBSOMAJ) \
-	 -o $(LIBSOVER) $(OBJSDLL)
-
-$(OLDSOVER): $(OBJSDLL)
-	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(OLDSOMAJ) \
-	 -o $(OLDSOVER)  $(OBJSDLL)
+	 -o $(LIBSOMAJ) $(OBJSDLL)
 
 pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -158,24 +147,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
 	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ).$(PNGVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -229,7 +210,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -238,20 +218,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index 8101302..59e5b08 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -1,6 +1,6 @@
 # makefile for libpng on Solaris 2.x with cc
 # Contributed by William L. Sebok, based on makefile.linux
-# Copyright (C) 2002, 2006 Glenn Randers-Pehrson
+# Copyright (C) 2002, 2006, 2010 Glenn Randers-Pehrson
 # Copyright (C) 1998 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
 
@@ -11,16 +11,12 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 CC=cc
@@ -113,10 +109,7 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
 	@case "`type ld`" in *ucb*) \
 	echo; \
 	echo '## WARNING:'; \
@@ -130,11 +123,7 @@
 	;; \
 	esac
 	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBSOMAJ) \
-	 -o $(LIBSOVER) $(OBJSDLL)
-
-$(OLDSOVER): $(OBJSDLL)
-	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(OLDSOMAJ) \
-	 -o $(OLDSOVER)  $(OBJSDLL)
+	 -o $(LIBSOMAJ) $(OBJSDLL)
 
 pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -158,24 +147,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
 	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ).$(PNGVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -229,7 +210,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -238,20 +218,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 9c8d4a9..f09280c 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -23,8 +23,6 @@
 
 LIBNAME=libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
 INCPATH=$(prefix)/include
@@ -97,20 +95,20 @@
 clean:
 	$(RM_F) *.o $(LIBNAME)$(A) pngtest pngout.png
 
-png$(O):      png.h pngconf.h pngpriv.h
-pngerror$(O): png.h pngconf.h pngpriv.h
-pngget$(O):   png.h pngconf.h pngpriv.h
-pngmem$(O):   png.h pngconf.h pngpriv.h
-pngpread$(O): png.h pngconf.h pngpriv.h
-pngread$(O):  png.h pngconf.h pngpriv.h
-pngrio$(O):   png.h pngconf.h pngpriv.h
-pngrtran$(O): png.h pngconf.h pngpriv.h
-pngrutil$(O): png.h pngconf.h pngpriv.h
-pngset$(O):   png.h pngconf.h pngpriv.h
-pngtrans$(O): png.h pngconf.h pngpriv.h
-pngwio$(O):   png.h pngconf.h pngpriv.h
-pngwrite$(O): png.h pngconf.h pngpriv.h
-pngwtran$(O): png.h pngconf.h pngpriv.h
-pngwutil$(O): png.h pngconf.h pngpriv.h
+png$(O):      png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread$(O):  png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest$(O):  png.h pngconf.h
diff --git a/scripts/makefile.bc32 b/scripts/makefile.bc32
index 2020e6e..25584b0 100644
--- a/scripts/makefile.bc32
+++ b/scripts/makefile.bc32
@@ -109,21 +109,21 @@
 
 ## Minor Targets
 
-png.obj: png.c png.h pngconf.h pngpriv.h
-pngerror.obj: pngerror.c png.h pngconf.h pngpriv.h
-pngget.obj: pngget.c png.h pngconf.h pngpriv.h
-pngmem.obj: pngmem.c png.h pngconf.h pngpriv.h
-pngpread.obj: pngpread.c png.h pngconf.h pngpriv.h
-pngread.obj: pngread.c png.h pngconf.h pngpriv.h
-pngrio.obj: pngrio.c png.h pngconf.h pngpriv.h
-pngrtran.obj: pngrtran.c png.h pngconf.h pngpriv.h
-pngrutil.obj: pngrutil.c png.h pngconf.h pngpriv.h
-pngset.obj: pngset.c png.h pngconf.h pngpriv.h
-pngtrans.obj: pngtrans.c png.h pngconf.h pngpriv.h
-pngwio.obj: pngwio.c png.h pngconf.h pngpriv.h
-pngwrite.obj: pngwrite.c png.h pngconf.h pngpriv.h
-pngwtran.obj: pngwtran.c png.h pngconf.h pngpriv.h
-pngwutil.obj: pngwutil.c png.h pngconf.h pngpriv.h
+png.obj: png.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.obj: pngerror.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.obj: pngget.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.obj: pngmem.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.obj: pngpread.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.obj: pngread.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.obj: pngrio.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.obj: pngrtran.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.obj: pngrutil.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.obj: pngset.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.obj: pngtrans.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.obj: pngwio.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.obj: pngwrite.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.obj: pngwtran.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.obj: pngwutil.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 pngtest.obj: pngtest.c png.h pngconf.h
 
 $(LIBNAME): $(OBJS)
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index b472c28..04b1db6 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -1,6 +1,6 @@
 # makefile for libpng on BeOS x86 ELF with gcc
 # modified from makefile.linux by Sander Stoks
-# Copyright (C) 2002, 2006, 2008 Glenn Randers-Pehrson
+# Copyright (C) 2002, 2006, 2008, 2010 Glenn Randers-Pehrson
 # Copyright (C) 1999 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
 #
@@ -11,16 +11,12 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 CC=gcc
@@ -105,16 +101,9 @@
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 	cp $(LIBSO)* /boot/home/config/lib
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
 	$(CC) -nostart -Wl,-soname,$(LIBSOMAJ) -o \
-	$(LIBSOVER) $(OBJSDLL) $(LDFLAGS)
-
-$(OLDSOVER): $(OBJSDLL)
-	$(CC) -nostart -Wl,-soname,$(OLDSOMAJ) -o \
-	$(OLDSOVER) $(OBJSDLL) $(LDFLAGS)
+	$(LIBSOMAJ) $(OBJSDLL) $(LDFLAGS)
 
 pngtest: pngtest.o $(LIBSO)
 	$(CC) -L$(ZLIBLIB) -L. -lz -lpng14 -o pngtest pngtest.o
@@ -138,23 +127,17 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
+
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -206,25 +189,24 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
 	$(LIBSO) $(LIBSOMAJ)* pngtesti \
-	$(OLDSOVER) \
 	libpng.pc
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.bor b/scripts/makefile.bor
index dcc3c63..3d30e36 100644
--- a/scripts/makefile.bor
+++ b/scripts/makefile.bor
@@ -117,21 +117,21 @@
 
 ## Minor Targets
 
-png.obj: png.c png.h pngconf.h pngpriv.h
-pngerror.obj: pngerror.c png.h pngconf.h pngpriv.h
-pngget.obj: pngget.c png.h pngconf.h pngpriv.h
-pngmem.obj: pngmem.c png.h pngconf.h pngpriv.h
-pngpread.obj: pngpread.c png.h pngconf.h pngpriv.h
-pngread.obj: pngread.c png.h pngconf.h pngpriv.h
-pngrio.obj: pngrio.c png.h pngconf.h pngpriv.h
-pngrtran.obj: pngrtran.c png.h pngconf.h pngpriv.h
-pngrutil.obj: pngrutil.c png.h pngconf.h pngpriv.h
-pngset.obj: pngset.c png.h pngconf.h pngpriv.h
-pngtrans.obj: pngtrans.c png.h pngconf.h pngpriv.h
-pngwio.obj: pngwio.c png.h pngconf.h pngpriv.h
-pngwrite.obj: pngwrite.c png.h pngconf.h pngpriv.h
-pngwtran.obj: pngwtran.c png.h pngconf.h pngpriv.h
-pngwutil.obj: pngwutil.c png.h pngconf.h pngpriv.h
+png.obj: png.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.obj: pngerror.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.obj: pngget.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.obj: pngmem.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.obj: pngpread.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.obj: pngread.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.obj: pngrio.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.obj: pngrtran.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.obj: pngrutil.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.obj: pngset.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.obj: pngtrans.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.obj: pngwio.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.obj: pngwrite.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.obj: pngwtran.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.obj: pngwutil.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 $(LIBNAME): $(OBJS)
 	-del $(LIBNAME)
diff --git a/scripts/makefile.cegcc b/scripts/makefile.cegcc
index 5b023df..a84a0a8 100644
--- a/scripts/makefile.cegcc
+++ b/scripts/makefile.cegcc
@@ -22,15 +22,15 @@
 # make clean
 
 VERMAJ = 1
-VERMIN = 4
+VERMIN = 5
 VERMIC = 0
 VER = $(VERMAJ).$(VERMIN).$(VERMIC)
 NAME = libpng
 PACKAGE = $(NAME)-$(VER)
 
-BIN = libpng14-0.dll libpng-14.dll
+BIN = libpng14-0.dll
 LIB = libpng14.a libpng14.dll.a libpng.a libpng.dll.a scripts/png32ce.def
-INCLUDE = png.h pngconf.h pngpriv.h
+INCLUDE = png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 PC = libpng14.pc libpng.pc
 
 MANIFESTVERBIN = "Libpng-$(VER): Binary files"
@@ -64,7 +64,7 @@
 
 compilation:
 	@echo " * Compilation of $(PACKAGE)"
-	cd $(PACKAGE) && CPPFLAGS="$(CPPFLAGS) -DPNG_BUILD_DLL -DPNG_CONSOLE_IO_SUPPORTED -DPNG_NO_MMX_CODE -D_WIN32_WCE=0x0420" CFLAGS="$(CFLAGS) -mms-bitfields -O3 -pipe -fomit-frame-pointer" LDFLAGS="$(LDFLAGS) -Wl,--enable-auto-import -Wl,-s" ./configure --prefix=/opt/wince --host=arm-mingw32ce && make
+	cd $(PACKAGE) && CPPFLAGS="$(CPPFLAGS) -DPNG_BUILD_DLL -DPNG_CONSOLE_IO_SUPPORTED -D_WIN32_WCE=0x0420" CFLAGS="$(CFLAGS) -mms-bitfields -O3 -pipe -fomit-frame-pointer" LDFLAGS="$(LDFLAGS) -Wl,--enable-auto-import -Wl,-s" ./configure --prefix=/opt/wince --host=arm-mingw32ce && make
 
 copy:
 	@echo " * Copy of binary and development files"
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index 004149a..adf704c 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -68,8 +68,6 @@
 LIBNAME = libpng14
 PNGMAJ = 14
 CYGDLL = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
 STATLIB=libpng.a
@@ -270,21 +268,21 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o:		png.h pngconf.h pngpriv.h png.c
-pngerror.o pngerror.pic.o:	png.h pngconf.h pngpriv.h pngerror.c
-pngrio.o pngrio.pic.o:		png.h pngconf.h pngpriv.h pngrio.c
-pngwio.o pngwio.pic.o:		png.h pngconf.h pngpriv.h pngwio.c
-pngmem.o pngmem.pic.o:		png.h pngconf.h pngpriv.h pngmem.c
-pngset.o pngset.pic.o:		png.h pngconf.h pngpriv.h pngset.c
-pngget.o pngget.pic.o:		png.h pngconf.h pngpriv.h pngget.c
-pngread.o pngread.pic.o:	png.h pngconf.h pngpriv.h pngread.c
-pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngpriv.h pngrtran.c
-pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngpriv.h pngrutil.c
-pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngpriv.h pngtrans.c
-pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngpriv.h pngwrite.c
-pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngpriv.h pngwtran.c
-pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngpriv.h pngwutil.c
-pngpread.o pngpread.pic.o:	png.h pngconf.h pngpriv.h pngpread.c
+png.o png.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h png.c
+pngerror.o pngerror.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngerror.c
+pngrio.o pngrio.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngrio.c
+pngwio.o pngwio.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngwio.c
+pngmem.o pngmem.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngmem.c
+pngset.o pngset.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngset.c
+pngget.o pngget.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngget.c
+pngread.o pngread.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngread.c
+pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngrtran.c
+pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngrutil.c
+pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngtrans.c
+pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngwrite.c
+pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngwtran.c
+pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngwutil.c
+pngpread.o pngpread.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngpread.c
 
 pngtest.o:			png.h pngconf.h pngtest.c
 pngtest-stat.o:			png.h pngconf.h pngtest.c
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index a9759ad..2f77069 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -1,5 +1,5 @@
 # makefile for libpng on Darwin / Mac OS X
-# Copyright (C) 2002, 2004, 2006, 2008 Glenn Randers-Pehrson
+# Copyright (C) 2002, 2004, 2006, 2008, 2010 Glenn Randers-Pehrson
 # Copyright (C) 2001 Christoph Pfisterer
 # derived from makefile.linux:
 #  Copyright (C) 1998, 1999 Greg Roelofs
@@ -22,16 +22,12 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).dylib
 LIBSOMAJ=$(LIBNAME).$(PNGMAJ).dylib
-LIBSOVER=$(LIBNAME).$(PNGVER).dylib
+LIBSOREL=$(LIBNAME).$(PNGMAJ).$(RELEASE).dylib
 OLDSO=libpng.dylib
-OLDSOMAJ=libpng.14.dylib
-OLDSOVER=libpng.14.$(PNGMIN).dylib
 
 # Utilities:
 CC=cc
@@ -101,21 +97,11 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
 	$(CC) -dynamiclib \
 	 -install_name $(LIBPATH)/$(LIBSOMAJ) \
 	 -current_version 14 -compatibility_version 14 \
-	 -o $(LIBSOVER) \
-	 $(OBJSDLL) -L$(ZLIBLIB) -lz
-
-$(OLDSOVER): $(OBJSDLL)
-	$(CC) -dynamiclib \
-	 -install_name $(LIBPATH)/$(OLDSOMAJ) \
-	 -current_version 14 -compatibility_version 14 \
-	 -o $(OLDSOVER) \
+	 -o $(LIBSOMAJ) \
 	 $(OBJSDLL) -L$(ZLIBLIB) -lz
 
 pngtest: pngtest.o $(LIBSO)
@@ -141,24 +127,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSO) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).$(PNGVER)*.dylib
-	-@$(RM_F) $(DL)/$(LIBNAME).$(PNGMAJ)*.dylib
 	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/libpng.3.$(PNGMIN)*.dylib
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -209,7 +187,6 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
-	$(OLDSOVER) \
 	libpng.pc $(LIBNAME).*dylib pngtesti
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -218,20 +195,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 8548778..310e339 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -1,5 +1,5 @@
 # makefile for libpng on DEC Alpha Unix
-# Copyright (C) 2000-2002, 2006 Glenn Randers-Pehrson
+# Copyright (C) 2000-2002, 2006, 2010 Glenn Randers-Pehrson
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
 #
 # This code is released under the libpng license.
@@ -8,17 +8,13 @@
 
 # Library name:
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng14
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 AR_RC=ar rc
@@ -90,17 +86,10 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJS)
+$(LIBSOMAJ): $(OBJS)
 	$(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB) \
 	-soname $(LIBSOMAJ)
 
-$(OLDSOVER): $(OBJS)
-	$(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB) \
-	-soname $(OLDSOMAJ)
-
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -123,29 +112,22 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); $(LN_SF)(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@/bin/rm -f $(DL)/$(LIBSOMAJ)
-	-@/bin/rm -f $(DL)/$(OLDSO)
-	-@/bin/rm -f $(DL)/$(OLDSOMAJ)
-	-@/bin/rm -f $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF)(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF)(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
-	-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
-	-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
+	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
+	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
 	cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
 	chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
-	(cd $(DL)/pkgconfig; $(LN_SF)(LIBNAME).pc libpng.pc)
+	(cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
 	-@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
@@ -193,25 +175,24 @@
 clean:
 	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	$(OLDSOVER) \
 	libpng.pc
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngpriv.h
-pngerror.o: png.h pngconf.h pngpriv.h
-pngrio.o: png.h pngconf.h pngpriv.h
-pngwio.o: png.h pngconf.h pngpriv.h
-pngmem.o: png.h pngconf.h pngpriv.h
-pngset.o: png.h pngconf.h pngpriv.h
-pngget.o: png.h pngconf.h pngpriv.h
-pngread.o: png.h pngconf.h pngpriv.h
-pngrtran.o: png.h pngconf.h pngpriv.h
-pngrutil.o: png.h pngconf.h pngpriv.h
-pngtrans.o: png.h pngconf.h pngpriv.h
-pngwrite.o: png.h pngconf.h pngpriv.h
-pngwtran.o: png.h pngconf.h pngpriv.h
-pngwutil.o: png.h pngconf.h pngpriv.h
-pngpread.o: png.h pngconf.h pngpriv.h
+png.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.dj2 b/scripts/makefile.dj2
index 021e969..c45f2a0 100644
--- a/scripts/makefile.dj2
+++ b/scripts/makefile.dj2
@@ -39,20 +39,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngpriv.h
-pngerror.o: png.h pngconf.h pngpriv.h
-pngrio.o: png.h pngconf.h pngpriv.h
-pngwio.o: png.h pngconf.h pngpriv.h
-pngmem.o: png.h pngconf.h pngpriv.h
-pngset.o: png.h pngconf.h pngpriv.h
-pngget.o: png.h pngconf.h pngpriv.h
-pngread.o: png.h pngconf.h pngpriv.h
-pngpread.o: png.h pngconf.h pngpriv.h
-pngrtran.o: png.h pngconf.h pngpriv.h
-pngrutil.o: png.h pngconf.h pngpriv.h
-pngtrans.o: png.h pngconf.h pngpriv.h
-pngwrite.o: png.h pngconf.h pngpriv.h
-pngwtran.o: png.h pngconf.h pngpriv.h
-pngwutil.o: png.h pngconf.h pngpriv.h
+png.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index 382d66d..1cf49fe 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -1,5 +1,5 @@
 # makefile for libpng.a and libpng14.so on Linux ELF with gcc
-# Copyright (C) 1998, 1999, 2002, 2006, 2008 Greg Roelofs
+# Copyright (C) 1998, 1999, 2002, 2006, 2008, 2010 Greg Roelofs
 # and Glenn Randers-Pehrson
 # Copyright (C) 1996, 1997 Andreas Dilger
 #
@@ -16,16 +16,13 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
 OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 AR_RC=ar rc
@@ -136,19 +133,10 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL) libpng.syms
+$(LIBSOMAJ): $(OBJSDLL) libpng.syms
 	$(CC) -shared -Wl,-soname,$(LIBSOMAJ) \
 	-Wl,-version-script,libpng.syms \
-	-o $(LIBSOVER) \
-	$(OBJSDLL)
-
-$(OLDSOVER): $(OBJSDLL) libpng.syms
-	$(CC) -shared -Wl,-soname,$(OLDSOMAJ) \
-	-Wl,-version-script,libpng.syms \
-	-o $(OLDSOVER) \
+	-o $(LIBSOMAJ) \
 	$(OBJSDLL)
 
 pngtest: pngtest.o $(LIBSO)
@@ -183,23 +171,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -251,7 +232,6 @@
 clean:
 	$(RM_F) *.o libpng.a libpng.syms pngtest pngout.png libpng-config \
 	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -260,20 +240,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.freebsd b/scripts/makefile.freebsd
index c0014af..d4d386f 100644
--- a/scripts/makefile.freebsd
+++ b/scripts/makefile.freebsd
@@ -17,7 +17,7 @@
 # where make install puts libpng.a and png.h
 DESTDIR=	${PREFIX}
 LIBDIR=		/lib
-INCS=		png.h pngconf.h pngpriv.h
+INCS=		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 INCSDIR=	/include/libpng
 INCDIR=		${INCSDIR}		# for 4.x bsd.lib.mk
 MAN=		libpng.3 libpngpf.3 png.5
diff --git a/scripts/makefile.gcc b/scripts/makefile.gcc
index b31adee..19db10a 100644
--- a/scripts/makefile.gcc
+++ b/scripts/makefile.gcc
@@ -64,20 +64,20 @@
 clean:
 	$(RM_F) *$(O) libpng$(A) pngtest$(EXE) pngout.png
 
-png$(O):      png.h pngconf.h pngpriv.h
-pngerror$(O): png.h pngconf.h pngpriv.h
-pngget$(O):   png.h pngconf.h pngpriv.h
-pngmem$(O):   png.h pngconf.h pngpriv.h
-pngpread$(O): png.h pngconf.h pngpriv.h
-pngread$(O):  png.h pngconf.h pngpriv.h
-pngrio$(O):   png.h pngconf.h pngpriv.h
-pngrtran$(O): png.h pngconf.h pngpriv.h
-pngrutil$(O): png.h pngconf.h pngpriv.h
-pngset$(O):   png.h pngconf.h pngpriv.h
-pngtrans$(O): png.h pngconf.h pngpriv.h
-pngwio$(O):   png.h pngconf.h pngpriv.h
-pngwrite$(O): png.h pngconf.h pngpriv.h
-pngwtran$(O): png.h pngconf.h pngpriv.h
-pngwutil$(O): png.h pngconf.h pngpriv.h
+png$(O):      png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread$(O):  png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest$(O):  png.h pngconf.h
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index f4dcb96..442ecb5 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -1,5 +1,5 @@
 # makefile for libpng, HPUX (10.20 and 11.00) using the ANSI/C product.
-# Copyright (C) 1999-2002, 2006, 2009 Glenn Randers-Pehrson
+# Copyright (C) 1999-2002, 2006, 2009, 2010 Glenn Randers-Pehrson
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42
 # contributed by Jim Rice and updated by Chris Schleicher, Hewlett Packard
 #
@@ -21,16 +21,12 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).sl
 LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).sl.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.sl
-OLDSOMAJ=libpng.sl.14
-OLDSOVER=libpng.sl.14.$(PNGMIN)
 
 # Utilities:
 AR_RC=ar rc
@@ -108,16 +104,9 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
 	$(LD) -b +s \
-	+h $(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
-
-$(OLDSOVER): $(OBJSDLL)
-	$(LD) -b +s \
-	+h $(OLDSOMAJ) -o $(OLDSOVER) $(OBJSDLL)
+	+h $(LIBSOMAJ) -o $(LIBSOMAJ) $(OBJSDLL)
 
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
@@ -141,23 +130,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -211,7 +193,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -220,20 +201,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngpriv.h
-pngerror.o: png.h pngconf.h pngpriv.h
-pngrio.o: png.h pngconf.h pngpriv.h
-pngwio.o: png.h pngconf.h pngpriv.h
-pngmem.o: png.h pngconf.h pngpriv.h
-pngset.o: png.h pngconf.h pngpriv.h
-pngget.o: png.h pngconf.h pngpriv.h
-pngread.o: png.h pngconf.h pngpriv.h
-pngrtran.o: png.h pngconf.h pngpriv.h
-pngrutil.o: png.h pngconf.h pngpriv.h
-pngtrans.o: png.h pngconf.h pngpriv.h
-pngwrite.o: png.h pngconf.h pngpriv.h
-pngwtran.o: png.h pngconf.h pngpriv.h
-pngwutil.o: png.h pngconf.h pngpriv.h
-pngpread.o: png.h pngconf.h pngpriv.h
+png.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index d857d4b..8baa1bc 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -1,5 +1,5 @@
 # makefile for libpng on HP-UX using GCC with the HP ANSI/C linker.
-# Copyright (C) 2002, 2006-2008 Glenn Randers-Pehrson
+# Copyright (C) 2002, 2006-2008, 2010 Glenn Randers-Pehrson
 # Copyright (C) 2001, Laurent faillie
 # Copyright (C) 1998, 1999 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
@@ -11,16 +11,12 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).sl
 LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).sl.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.sl
-OLDSOMAJ=libpng.sl.14
-OLDSOVER=libpng.sl.14.$(PNGMIN)
 
 # Utilities:
 CC=gcc
@@ -116,16 +112,9 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
 	$(LD) -b +s \
-	+h $(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
-
-$(OLDSOVER): $(OBJSDLL)
-	$(LD) -b +s \
-	+h $(OLDSOMAJ) -o $(OLDSOVER) $(OBJSDLL)
+	+h $(LIBSOMAJ) -o $(LIBSOMAJ) $(OBJSDLL)
 
 pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -150,23 +139,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -220,7 +202,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -229,20 +210,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 926b425..435d22b 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -1,5 +1,5 @@
 # makefile for libpng, HPUX (10.20 and 11.00) using the ANSI/C product.
-# Copyright (C) 1999-2002, 2006 Glenn Randers-Pehrson
+# Copyright (C) 1999-2002, 2006, 2010 Glenn Randers-Pehrson
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42
 # contributed by Jim Rice and updated by Chris Schleicher, Hewlett Packard
 #
@@ -21,16 +21,12 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).sl
 LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).sl.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.sl
-OLDSOMAJ=libpng.sl.14
-OLDSOVER=libpng.sl.14.$(PNGMIN)
 
 # Utilities:
 AR_RC=ar rc
@@ -105,16 +101,9 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
 	$(LD) -b +s \
-	+h $(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
-
-$(OLDSOVER): $(OBJSDLL)
-	$(LD) -b +s \
-	+h $(OLDSOMAJ) -o $(OLDSOVER) $(OBJSDLL)
+	+h $(LIBSOMAJ) -o $(LIBSOMAJ) $(OBJSDLL)
 
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
@@ -138,23 +127,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -208,7 +190,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -217,20 +198,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngpriv.h
-pngerror.o: png.h pngconf.h pngpriv.h
-pngrio.o: png.h pngconf.h pngpriv.h
-pngwio.o: png.h pngconf.h pngpriv.h
-pngmem.o: png.h pngconf.h pngpriv.h
-pngset.o: png.h pngconf.h pngpriv.h
-pngget.o: png.h pngconf.h pngpriv.h
-pngread.o: png.h pngconf.h pngpriv.h
-pngrtran.o: png.h pngconf.h pngpriv.h
-pngrutil.o: png.h pngconf.h pngpriv.h
-pngtrans.o: png.h pngconf.h pngpriv.h
-pngwrite.o: png.h pngconf.h pngpriv.h
-pngwtran.o: png.h pngconf.h pngpriv.h
-pngwutil.o: png.h pngconf.h pngpriv.h
-pngpread.o: png.h pngconf.h pngpriv.h
+png.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.ibmc b/scripts/makefile.ibmc
index b0b445a..dad0d3d 100644
--- a/scripts/makefile.ibmc
+++ b/scripts/makefile.ibmc
@@ -58,20 +58,20 @@
 	$(RM) pngtest$(E)
 	$(RM) pngout.png
 
-png$(O):      png.h pngconf.h pngpriv.h
-pngerror$(O): png.h pngconf.h pngpriv.h
-pngget$(O):   png.h pngconf.h pngpriv.h
-pngmem$(O):   png.h pngconf.h pngpriv.h
-pngpread$(O): png.h pngconf.h pngpriv.h
-pngread$(O):  png.h pngconf.h pngpriv.h
-pngrio$(O):   png.h pngconf.h pngpriv.h
-pngrtran$(O): png.h pngconf.h pngpriv.h
-pngrutil$(O): png.h pngconf.h pngpriv.h
-pngset$(O):   png.h pngconf.h pngpriv.h
-pngtrans$(O): png.h pngconf.h pngpriv.h
-pngwio$(O):   png.h pngconf.h pngpriv.h
-pngwrite$(O): png.h pngconf.h pngpriv.h
-pngwtran$(O): png.h pngconf.h pngpriv.h
-pngwutil$(O): png.h pngconf.h pngpriv.h
+png$(O):      png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread$(O):  png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio$(O):   png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest$(O):  png.h pngconf.h
diff --git a/scripts/makefile.intel b/scripts/makefile.intel
index fb705e1..6829fc5 100644
--- a/scripts/makefile.intel
+++ b/scripts/makefile.intel
@@ -44,49 +44,49 @@
 
 all: test
 
-png$(O): png.h pngconf.h pngpriv.h
+png$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngset$(O): png.h pngconf.h pngpriv.h
+pngset$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngget$(O): png.h pngconf.h pngpriv.h
+pngget$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngread$(O): png.h pngconf.h pngpriv.h
+pngread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngpread$(O): png.h pngconf.h pngpriv.h
+pngpread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrtran$(O): png.h pngconf.h pngpriv.h
+pngrtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h pngpriv.h
+pngrutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngerror$(O): png.h pngconf.h pngpriv.h
+pngerror$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngmem$(O): png.h pngconf.h pngpriv.h
+pngmem$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrio$(O): png.h pngconf.h pngpriv.h
+pngrio$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwio$(O): png.h pngconf.h pngpriv.h
+pngwio$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngtrans$(O): png.h pngconf.h pngpriv.h
+pngtrans$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwrite$(O): png.h pngconf.h pngpriv.h
+pngwrite$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwtran$(O): png.h pngconf.h pngpriv.h
+pngwtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwutil$(O): png.h pngconf.h pngpriv.h
+pngwutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
 libpng.lib: $(OBJS)
diff --git a/scripts/makefile.knr b/scripts/makefile.knr
index 75cb1b5..13d0808 100644
--- a/scripts/makefile.knr
+++ b/scripts/makefile.knr
@@ -84,20 +84,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngpriv.h
-pngerror.o: png.h pngconf.h pngpriv.h
-pngrio.o: png.h pngconf.h pngpriv.h
-pngwio.o: png.h pngconf.h pngpriv.h
-pngmem.o: png.h pngconf.h pngpriv.h
-pngset.o: png.h pngconf.h pngpriv.h
-pngget.o: png.h pngconf.h pngpriv.h
-pngread.o: png.h pngconf.h pngpriv.h
-pngpread.o: png.h pngconf.h pngpriv.h
-pngrtran.o: png.h pngconf.h pngpriv.h
-pngrutil.o: png.h pngconf.h pngpriv.h
-pngtrans.o: png.h pngconf.h pngpriv.h
-pngwrite.o: png.h pngconf.h pngpriv.h
-pngwtran.o: png.h pngconf.h pngpriv.h
-pngwutil.o: png.h pngconf.h pngpriv.h
+png.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index cea2195..c425fa8 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -1,5 +1,5 @@
 # makefile for libpng.a and libpng14.so on Linux ELF with gcc
-# Copyright (C) 1998, 1999, 2002, 2006, 2008 Greg Roelofs and
+# Copyright (C) 1998, 1999, 2002, 2006, 2008, 2010 Greg Roelofs and
 # Glenn Randers-Pehrson
 # Copyright (C) 1996, 1997 Andreas Dilger
 #
@@ -10,16 +10,13 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
+RELEASE = 0
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 AR_RC=ar rc
@@ -114,16 +111,8 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
-	$(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
-
-$(OLDSOVER): $(OBJSDLL)
-	$(CC) -shared -Wl,-soname,$(OLDSOMAJ) \
-	-o $(OLDSOVER) \
-	$(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
+	$(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOMAJ) $(OBJSDLL)
 
 pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -157,23 +146,17 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
+
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -225,7 +208,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
 	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -234,20 +216,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index 23d5d6a..0d4d027 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -68,8 +68,6 @@
 LIBNAME = libpng14
 PNGMAJ = 14
 MINGDLL = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=libpng$(MINGDLL).dll
 STATLIB=libpng.a
@@ -261,20 +259,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o:		png.h pngconf.h pngpriv.h png.c
-pngerror.o pngerror.pic.o:	png.h pngconf.h pngpriv.h pngerror.c
-pngrio.o pngrio.pic.o:		png.h pngconf.h pngpriv.h pngrio.c
-pngwio.o pngwio.pic.o:		png.h pngconf.h pngpriv.h pngwio.c
-pngmem.o pngmem.pic.o:		png.h pngconf.h pngpriv.h pngmem.c
-pngset.o pngset.pic.o:		png.h pngconf.h pngpriv.h pngset.c
-pngget.o pngget.pic.o:		png.h pngconf.h pngpriv.h pngget.c
-pngread.o pngread.pic.o:	png.h pngconf.h pngpriv.h pngread.c
-pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngpriv.h pngrtran.c
-pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngpriv.h pngrutil.c
-pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngpriv.h pngtrans.c
-pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngpriv.h pngwrite.c
-pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngpriv.h pngwtran.c
-pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngpriv.h pngwutil.c
-pngpread.o pngpread.pic.o:	png.h pngconf.h pngpriv.h pngpread.c
+png.o png.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h png.c
+pngerror.o pngerror.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngerror.c
+pngrio.o pngrio.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngrio.c
+pngwio.o pngwio.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngwio.c
+pngmem.o pngmem.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngmem.c
+pngset.o pngset.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngset.c
+pngget.o pngget.pic.o:		png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngget.c
+pngread.o pngread.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngread.c
+pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngrtran.c
+pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngrutil.c
+pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngtrans.c
+pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngwrite.c
+pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngwtran.c
+pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngwutil.c
+pngpread.o pngpread.pic.o:	png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h pngpread.c
 
 pngtest.o pngtest.pic.o:	png.h pngconf.h pngtest.c
diff --git a/scripts/makefile.mips b/scripts/makefile.mips
index 5e1040e..5182181 100644
--- a/scripts/makefile.mips
+++ b/scripts/makefile.mips
@@ -68,20 +68,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngpriv.h
-pngerror.o: png.h pngconf.h pngpriv.h
-pngrio.o: png.h pngconf.h pngpriv.h
-pngwio.o: png.h pngconf.h pngpriv.h
-pngmem.o: png.h pngconf.h pngpriv.h
-pngset.o: png.h pngconf.h pngpriv.h
-pngget.o: png.h pngconf.h pngpriv.h
-pngread.o: png.h pngconf.h pngpriv.h
-pngpread.o: png.h pngconf.h pngpriv.h
-pngrtran.o: png.h pngconf.h pngpriv.h
-pngrutil.o: png.h pngconf.h pngpriv.h
-pngtrans.o: png.h pngconf.h pngpriv.h
-pngwrite.o: png.h pngconf.h pngpriv.h
-pngwtran.o: png.h pngconf.h pngpriv.h
-pngwutil.o: png.h pngconf.h pngpriv.h
+png.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.msc b/scripts/makefile.msc
index e744644..8f81766 100644
--- a/scripts/makefile.msc
+++ b/scripts/makefile.msc
@@ -27,49 +27,49 @@
 
 all: libpng.lib
 
-png$(O): png.h pngconf.h pngpriv.h
+png$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 		  $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngset$(O): png.h pngconf.h pngpriv.h
+pngset$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngget$(O): png.h pngconf.h pngpriv.h
+pngget$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngread$(O): png.h pngconf.h pngpriv.h
+pngread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngpread$(O): png.h pngconf.h pngpriv.h
+pngpread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 		  $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrtran$(O): png.h pngconf.h pngpriv.h
+pngrtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h pngpriv.h
+pngrutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngerror$(O): png.h pngconf.h pngpriv.h
+pngerror$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngmem$(O): png.h pngconf.h pngpriv.h
+pngmem$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrio$(O): png.h pngconf.h pngpriv.h
+pngrio$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwio$(O): png.h pngconf.h pngpriv.h
+pngwio$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngtrans$(O): png.h pngconf.h pngpriv.h
+pngtrans$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwrite$(O): png.h pngconf.h pngpriv.h
+pngwrite$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwtran$(O): png.h pngconf.h pngpriv.h
+pngwtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwutil$(O): png.h pngconf.h pngpriv.h
+pngwutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
 libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 8549e69..21c8126 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -17,7 +17,7 @@
 
 LIB=	png14
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.4.0rc08
+SHLIB_MINOR=	1.5.0beta01
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 55a6c42..0239e90 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -17,7 +17,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.4.0rc08
+SHLIB_MINOR=	1.5.0beta01
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index facf9de..de878e1 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -11,7 +11,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.4.0rc08
+SHLIB_MINOR=	1.5.0beta01
 
 LIB=	png
 SRCS=	png.c pngerror.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.os2 b/scripts/makefile.os2
index affb03c..cf677dd 100644
--- a/scripts/makefile.os2
+++ b/scripts/makefile.os2
@@ -53,20 +53,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 9c90eca..8168d55 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -1,7 +1,7 @@
 # makefile for SCO OSr5  ELF and Unixware 7 with Native cc
 # Contributed by Mike Hopkirk (hops@sco.com) modified from Makefile.lnx
 #   force ELF build dynamic linking, SONAME setting in lib and RPATH in app
-# Copyright (C) 2002, 2006 Glenn Randers-Pehrson
+# Copyright (C) 2002, 2006, 2010 Glenn Randers-Pehrson
 # Copyright (C) 1998 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
 #
@@ -12,16 +12,12 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 CC=cc
@@ -101,17 +97,10 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
-	$(CC) -G  -Wl,-h,$(LIBSOMAJ) -o $(LIBSOVER) \
+$(LIBSOMAJ): $(OBJSDLL)
+	$(CC) -G  -Wl,-h,$(LIBSOMAJ) -o $(LIBSOMAJ) \
 	 $(OBJSDLL)
 
-$(OLDSOVER): $(OBJSDLL)
-	$(CC) -G  -Wl,-h,$(OLDSOMAJ) -o $(OLDSOVER) \
-	$(OBJSDLL)
-
 pngtest: pngtest.o $(LIBSO)
 	LD_RUN_PATH=.:$(ZLIBLIB) $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -136,23 +125,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -204,7 +186,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
 	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -213,20 +194,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index b2cd395..8930f7b 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -1,5 +1,5 @@
 # makefile for libpng.a and libpng14.so, SGI IRIX with 'cc'
-# Copyright (C) 2001-2002, 2006 Glenn Randers-Pehrson
+# Copyright (C) 2001-2002, 2006, 2010 Glenn Randers-Pehrson
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
 #
 # This code is released under the libpng license.
@@ -9,16 +9,12 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 AR_RC=ar rc
@@ -51,8 +47,6 @@
 LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
 LDSHARED=cc $(ABI) -shared -soname $(LIBSOMAJ) \
   -set_version sgi$(PNGMAJ).0
-LDLEGACY=cc $(ABI) -shared -soname $(OLDSOMAJ) \
-  -set_version sgi$3.0
 # See "man dso" for info about shared objects
 
 INCPATH=$(prefix)/include
@@ -86,7 +80,7 @@
 	$(AR_RC) $@ $(OBJS)
 	$(RANLIB) $@
 
-shared: $(LIBSOVER)
+shared: $(LIBSOMAJ)
 
 libpng.pc:
 	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
@@ -111,16 +105,10 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJS)
+$(LIBSOMAJ): $(OBJS)
 	$(LDSHARED) -o $@ $(OBJS)
 	$(RM_F) $(LIBSO) $(LIBSOMAJ)
 
-$(OLDSOVER): $(OBJS)
-	$(LDLEGACY) -o $@ $(OBJS)
-
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -145,23 +133,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -216,7 +197,7 @@
 
 clean:
 	$(RM_F) libpng.a pngtest pngtesti pngout.png libpng.pc \
-        so_locations libpng-config $(LIBSO) $(LIBSOMAJ)* $(OLDSOVER)
+        so_locations libpng-config $(LIBSO) $(LIBSOMAJ)*
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -224,20 +205,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngpriv.h
-pngerror.o: png.h pngconf.h pngpriv.h
-pngrio.o: png.h pngconf.h pngpriv.h
-pngwio.o: png.h pngconf.h pngpriv.h
-pngmem.o: png.h pngconf.h pngpriv.h
-pngset.o: png.h pngconf.h pngpriv.h
-pngget.o: png.h pngconf.h pngpriv.h
-pngread.o: png.h pngconf.h pngpriv.h
-pngrtran.o: png.h pngconf.h pngpriv.h
-pngrutil.o: png.h pngconf.h pngpriv.h
-pngtrans.o: png.h pngconf.h pngpriv.h
-pngwrite.o: png.h pngconf.h pngpriv.h
-pngwtran.o: png.h pngconf.h pngpriv.h
-pngwutil.o: png.h pngconf.h pngpriv.h
-pngpread.o: png.h pngconf.h pngpriv.h
+png.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 50436de..1a372d6 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -1,5 +1,5 @@
 # makefile for libpng.a and libpng14.so, SGI IRIX with 'cc'
-# Copyright (C) 2001-2002, 2006, 2007 Glenn Randers-Pehrson
+# Copyright (C) 2001-2002, 2006, 2007, 2010 Glenn Randers-Pehrson
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
 #
 # This code is released under the libpng license.
@@ -9,16 +9,12 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 AR_RC=ar rc
@@ -54,8 +50,6 @@
 LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
 LDSHARED=cc $(ABI) -shared -soname $(LIBSOMAJ) \
   -set_version sgi$(PNGMAJ).0
-LDLEGACY=cc $(ABI) -shared -soname $(OLDSOMAJ) \
-  -set_version sgi$3.0
 # See "man dso" for info about shared objects
 
 INCPATH=$(prefix)/include
@@ -89,8 +83,6 @@
 	$(AR_RC) $@ $(OBJS)
 	$(RANLIB) $@
 
-shared: $(LIBSOVER)
-
 libpng.pc:
 	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
 	-e s!@exec_prefix@!$(exec_prefix)! \
@@ -113,16 +105,10 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJS)
+$(LIBSOMAJ): $(OBJS)
 	$(LDSHARED) -o $@ $(OBJS)
 	$(RM_F) $(LIBSO) $(LIBSOMAJ)
 
-$(OLDSOVER): $(OBJS)
-	$(LDLEGACY) -o $@ $(OBJS)
-
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -147,23 +133,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -219,7 +198,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
 	$(LIBSO) $(LIBSOMAJ)* \
-	$(OLDSOVER) \
 	so_locations
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -228,20 +206,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngpriv.h
-pngerror.o: png.h pngconf.h pngpriv.h
-pngrio.o: png.h pngconf.h pngpriv.h
-pngwio.o: png.h pngconf.h pngpriv.h
-pngmem.o: png.h pngconf.h pngpriv.h
-pngset.o: png.h pngconf.h pngpriv.h
-pngget.o: png.h pngconf.h pngpriv.h
-pngread.o: png.h pngconf.h pngpriv.h
-pngrtran.o: png.h pngconf.h pngpriv.h
-pngrutil.o: png.h pngconf.h pngpriv.h
-pngtrans.o: png.h pngconf.h pngpriv.h
-pngwrite.o: png.h pngconf.h pngpriv.h
-pngwtran.o: png.h pngconf.h pngpriv.h
-pngwutil.o: png.h pngconf.h pngpriv.h
-pngpread.o: png.h pngconf.h pngpriv.h
+png.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 8b356fb..fc43b02 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -1,7 +1,7 @@
 # makefile for libpng on Solaris 9 (beta) with Forte cc
 # Updated by Chad Schrock for Solaris 9
 # Contributed by William L. Sebok, based on makefile.linux
-# Copyright (C) 2002, 2006, 2008 Glenn Randers-Pehrson
+# Copyright (C) 2002, 2006, 2008, 2010 Glenn Randers-Pehrson
 # Copyright (C) 1998-2001 Greg Roelofs
 # Copyright (C) 1996-1997 Andreas Dilger
 #
@@ -11,17 +11,13 @@
 
 # Library name:
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng14
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 # gcc 2.95 doesn't work.
@@ -111,10 +107,7 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
 	@case "`type ld`" in *ucb*) \
 	echo; \
 	echo '## WARNING:'; \
@@ -128,11 +121,7 @@
 	;; \
 	esac
 	$(LD) -G -h $(LIBSOMAJ) \
-	 -o $(LIBSOVER) $(OBJSDLL)
-
-$(OLDSOVER): $(OBJS)
-	$(LD) -G -h $(OLDSOMAJ) \
-	 -o $(OLDSOVER) $(OBJSDLL)
+	 -o $(LIBSOMAJ) $(OBJSDLL)
 
 pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -156,23 +145,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
-	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -226,7 +208,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -235,20 +216,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index f60d359..451ef1f 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -1,5 +1,5 @@
 # makefile for libpng on Solaris 2.x with gcc
-# Copyright (C) 2004, 2006-2008 Glenn Randers-Pehrson
+# Copyright (C) 2004, 2006-2008, 2010 Glenn Randers-Pehrson
 # Contributed by William L. Sebok, based on makefile.linux
 # Copyright (C) 1998 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
@@ -11,16 +11,12 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 AR_RC=ar rc
@@ -108,10 +104,7 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
 	@case "`type ld`" in *ucb*) \
 	echo; \
 	echo '## WARNING:'; \
@@ -125,11 +118,7 @@
 	;; \
 	esac
 	$(LD) -G -h $(LIBSOMAJ) \
-	 -o $(LIBSOVER) $(OBJSDLL)
-
-$(OLDSOVER): $(OBJS)
-	$(LD) -G -h $(OLDSOMAJ) \
-	 -o $(OLDSOVER) $(OBJSDLL)
+	 -o $(LIBSOMAJ) $(OBJSDLL)
 
 pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -153,23 +142,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -223,7 +205,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -232,20 +213,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86
index f51fbd5..7a04105 100644
--- a/scripts/makefile.solaris-x86
+++ b/scripts/makefile.solaris-x86
@@ -1,5 +1,5 @@
 # makefile for libpng on Solaris 2.x with gcc
-# Copyright (C) 2004, 2006-2008 Glenn Randers-Pehrson
+# Copyright (C) 2004, 2006-2008, 2010 Glenn Randers-Pehrson
 # Contributed by William L. Sebok, based on makefile.linux
 # Copyright (C) 1998 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
@@ -11,16 +11,12 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 14
-PNGMIN = 1.4.0rc08
-PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
 LIBSO=$(LIBNAME).so
 LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
-LIBSOVER=$(LIBNAME).so.$(PNGVER)
+LIBSOREL=$(LIBSOMAJ).$(RELEASE)
 OLDSO=libpng.so
-OLDSOMAJ=libpng.so.14
-OLDSOVER=libpng.so.14.$(PNGMIN)
 
 # Utilities:
 AR_RC=ar rc
@@ -108,10 +104,7 @@
 $(LIBSO): $(LIBSOMAJ)
 	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBSOMAJ): $(LIBSOVER)
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
-
-$(LIBSOVER): $(OBJSDLL)
+$(LIBSOMAJ): $(OBJSDLL)
 	@case "`type ld`" in *ucb*) \
 	echo; \
 	echo '## WARNING:'; \
@@ -125,11 +118,7 @@
 	;; \
 	esac
 	$(LD) -G -h $(LIBSOMAJ) \
-	 -o $(LIBSOVER) $(OBJSDLL)
-
-$(OLDSOVER): $(OBJS)
-	$(LD) -G -h $(OLDSOMAJ) \
-	 -o $(OLDSOVER) $(OBJSDLL)
+	 -o $(LIBSOMAJ) $(OBJSDLL)
 
 pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -153,23 +142,16 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBSOVER) libpng.pc \
-	$(OLDSOVER)
+install-shared: install-headers $(LIBSOMAJ) libpng.pc
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
-	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOREL)
 	-@$(RM_F) $(DL)/$(OLDSO)
-	-@$(RM_F) $(DL)/$(OLDSOMAJ)
-	-@$(RM_F) $(DL)/$(OLDSOVER)*
-	cp $(LIBSOVER) $(DL)
-	cp $(OLDSOVER) $(DL)
-	chmod 755 $(DL)/$(LIBSOVER)
-	chmod 755 $(DL)/$(OLDSOVER)
+	cp $(LIBSOMAJ) $(DL)/$(LIBSOREL)
+	chmod 755 $(DL)/$(LIBSOREL)
 	(cd $(DL); \
-	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
-	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSO); \
-	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ))
+	$(LN_SF) $(LIBSOREL) $(LIBSO); \
+	$(LN_SF) $(LIBSO) $(OLDSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -223,7 +205,6 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
@@ -232,20 +213,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngpriv.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
-pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
-pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
-pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
+png.o png.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.std b/scripts/makefile.std
index afb885a..f0caf00 100644
--- a/scripts/makefile.std
+++ b/scripts/makefile.std
@@ -76,20 +76,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngpriv.h
-pngerror.o: png.h pngconf.h pngpriv.h
-pngrio.o: png.h pngconf.h pngpriv.h
-pngwio.o: png.h pngconf.h pngpriv.h
-pngmem.o: png.h pngconf.h pngpriv.h
-pngset.o: png.h pngconf.h pngpriv.h
-pngget.o: png.h pngconf.h pngpriv.h
-pngread.o: png.h pngconf.h pngpriv.h
-pngrtran.o: png.h pngconf.h pngpriv.h
-pngrutil.o: png.h pngconf.h pngpriv.h
-pngtrans.o: png.h pngconf.h pngpriv.h
-pngwrite.o: png.h pngconf.h pngpriv.h
-pngwtran.o: png.h pngconf.h pngpriv.h
-pngwutil.o: png.h pngconf.h pngpriv.h
-pngpread.o: png.h pngconf.h pngpriv.h
+png.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.sunos b/scripts/makefile.sunos
index 984379c..2cfe2dd 100644
--- a/scripts/makefile.sunos
+++ b/scripts/makefile.sunos
@@ -81,20 +81,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngpriv.h
-pngerror.o: png.h pngconf.h pngpriv.h
-pngrio.o: png.h pngconf.h pngpriv.h
-pngwio.o: png.h pngconf.h pngpriv.h
-pngmem.o: png.h pngconf.h pngpriv.h
-pngset.o: png.h pngconf.h pngpriv.h
-pngget.o: png.h pngconf.h pngpriv.h
-pngread.o: png.h pngconf.h pngpriv.h
-pngrtran.o: png.h pngconf.h pngpriv.h
-pngrutil.o: png.h pngconf.h pngpriv.h
-pngtrans.o: png.h pngconf.h pngpriv.h
-pngwrite.o: png.h pngconf.h pngpriv.h
-pngwtran.o: png.h pngconf.h pngpriv.h
-pngwutil.o: png.h pngconf.h pngpriv.h
-pngpread.o: png.h pngconf.h pngpriv.h
+png.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngerror.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwio.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngmem.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngset.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngget.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngrutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngtrans.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwrite.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwtran.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngwutil.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
+pngpread.o: png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 
 pngtest.o: png.h pngconf.h
diff --git a/scripts/makefile.tc3 b/scripts/makefile.tc3
index bf6ade6..456a1bf 100644
--- a/scripts/makefile.tc3
+++ b/scripts/makefile.tc3
@@ -30,52 +30,52 @@
 test: pngtest$(E)
 	pngtest$(E)
 
-png$(O): png.h pngconf.h pngpriv.h
+png$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngset$(O): png.h pngconf.h pngpriv.h
+pngset$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngget$(O): png.h pngconf.h pngpriv.h
+pngget$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngread$(O): png.h pngconf.h pngpriv.h
+pngread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngpread$(O): png.h pngconf.h pngpriv.h
+pngpread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngrtran$(O): png.h pngconf.h pngpriv.h
+pngrtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngrutil$(O): png.h pngconf.h pngpriv.h
+pngrutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngerror$(O): png.h pngconf.h pngpriv.h
+pngerror$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngmem$(O): png.h pngconf.h pngpriv.h
+pngmem$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngrio$(O): png.h pngconf.h pngpriv.h
+pngrio$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngwio$(O): png.h pngconf.h pngpriv.h
+pngwio$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c
 
 pngtest$(O): png.h pngconf.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngtrans$(O): png.h pngconf.h pngpriv.h
+pngtrans$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngwrite$(O): png.h pngconf.h pngpriv.h
+pngwrite$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngwtran$(O): png.h pngconf.h pngpriv.h
+pngwtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngwutil$(O): png.h pngconf.h pngpriv.h
+pngwutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c
 
 libpng$(MODEL).lib: $(OBJS1) $(OBJS2) $(OBJS3)
diff --git a/scripts/makefile.vcwin32 b/scripts/makefile.vcwin32
index a65f1c1..8176bdf 100644
--- a/scripts/makefile.vcwin32
+++ b/scripts/makefile.vcwin32
@@ -35,49 +35,49 @@
 # Targets
 all: libpng.lib
 
-png$(O): png.h pngconf.h pngpriv.h
+png$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngset$(O): png.h pngconf.h pngpriv.h
+pngset$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngget$(O): png.h pngconf.h pngpriv.h
+pngget$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngread$(O): png.h pngconf.h pngpriv.h
+pngread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngpread$(O): png.h pngconf.h pngpriv.h
+pngpread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrtran$(O): png.h pngconf.h pngpriv.h
+pngrtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h pngpriv.h
+pngrutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngerror$(O): png.h pngconf.h pngpriv.h
+pngerror$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngmem$(O): png.h pngconf.h pngpriv.h
+pngmem$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrio$(O): png.h pngconf.h pngpriv.h
+pngrio$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwio$(O): png.h pngconf.h pngpriv.h
+pngwio$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngtrans$(O): png.h pngconf.h pngpriv.h
+pngtrans$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwrite$(O): png.h pngconf.h pngpriv.h
+pngwrite$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwtran$(O): png.h pngconf.h pngpriv.h
+pngwtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwutil$(O): png.h pngconf.h pngpriv.h
+pngwutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
 libpng.lib: $(OBJS)
diff --git a/scripts/makefile.watcom b/scripts/makefile.watcom
index db4d534..79ac92d 100644
--- a/scripts/makefile.watcom
+++ b/scripts/makefile.watcom
@@ -49,52 +49,52 @@
 
 all: test
 
-png$(O): png.h pngconf.h pngpriv.h
+png$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngset$(O): png.h pngconf.h pngpriv.h
+pngset$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngget$(O): png.h pngconf.h pngpriv.h
+pngget$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngread$(O): png.h pngconf.h pngpriv.h
+pngread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngpread$(O): png.h pngconf.h pngpriv.h
+pngpread$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrtran$(O): png.h pngconf.h pngpriv.h
+pngrtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h pngpriv.h
+pngrutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngerror$(O): png.h pngconf.h pngpriv.h
+pngerror$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngmem$(O): png.h pngconf.h pngpriv.h
+pngmem$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrio$(O): png.h pngconf.h pngpriv.h
+pngrio$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwio$(O): png.h pngconf.h pngpriv.h
+pngwio$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
 pngtest$(O): png.h pngconf.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngtrans$(O): png.h pngconf.h pngpriv.h
+pngtrans$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwrite$(O): png.h pngconf.h pngpriv.h
+pngwrite$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwtran$(O): png.h pngconf.h pngpriv.h
+pngwtran$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwutil$(O): png.h pngconf.h pngpriv.h
+pngwutil$(O): png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
 libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
diff --git a/scripts/makevms.com b/scripts/makevms.com
index 2fa9d0d..7750c3a 100644
--- a/scripts/makevms.com
+++ b/scripts/makevms.com
@@ -54,35 +54,35 @@
 $  then
 $   dele pngtest.obj;*
 $   CALL MAKE png.OBJ "cc ''CCOPT' png" -
-	png.c png.h pngconf.h pngpriv.h
+	png.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
-	pngset.c png.h pngconf.h pngpriv.h
+	pngset.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
-	pngget.c png.h pngconf.h pngpriv.h
+	pngget.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
-	pngread.c png.h pngconf.h pngpriv.h
+	pngread.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
-	pngpread.c png.h pngconf.h pngpriv.h
+	pngpread.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
-	pngrtran.c png.h pngconf.h pngpriv.h
+	pngrtran.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
-	pngrutil.c png.h pngconf.h pngpriv.h
+	pngrutil.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
-	pngerror.c png.h pngconf.h pngpriv.h
+	pngerror.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
-	pngmem.c png.h pngconf.h pngpriv.h
+	pngmem.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
-	pngrio.c png.h pngconf.h pngpriv.h
+	pngrio.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
-	pngwio.c png.h pngconf.h pngpriv.h
+	pngwio.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
-	pngtrans.c png.h pngconf.h pngpriv.h
+	pngtrans.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
-	pngwrite.c png.h pngconf.h pngpriv.h
+	pngwrite.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
-	pngwtran.c png.h pngconf.h pngpriv.h
+	pngwtran.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
-	pngwutil.c png.h pngconf.h pngpriv.h
+	pngwutil.c png.h pngconf.h pngpriv.h pngstruct.h pnginfo.h
 $   write sys$output "Building Libpng ..."
 $   CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
 $   write sys$output "Building pngtest..."
diff --git a/scripts/png32ce.def b/scripts/png32ce.def
index ae17c61..8e83d20 100644
--- a/scripts/png32ce.def
+++ b/scripts/png32ce.def
@@ -15,7 +15,7 @@
  png_get_int_32
 
 EXPORTS
-;Version 1.4.0rc08
+;Version 1.5.0beta01
   png_build_grayscale_palette  @1
 ;  png_check_sig        @2
   png_chunk_error      @3
@@ -249,9 +249,11 @@
   png_set_benign_error @211
   png_get_io_chunk_name @212
   png_get_io_state @213
-  png_set_premultiply_alpha @214
   png_get_chunk_cache_max @215
   png_set_chunk_cache_max @216
   png_check_cHRM_fixed @217
   png_calloc @218
   png_set_longjmp_fn @219
+; Added at version 1.4.1
+  png_get_chunk_malloc_max @220
+  png_set_chunk_malloc_max @221
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 4930e6b..a2216ff 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.4.0rc08
+; Version 1.5.0beta01
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
@@ -209,12 +209,14 @@
 ; png_set_benign_error
   png_get_io_chunk_name
   png_get_io_state
-  png_set_premultiply_alpha
   png_get_chunk_cache_max
   png_set_chunk_cache_max
   png_check_cHRM_fixed
   png_calloc
   png_set_longjmp_fn
+; Added at version 1.4.1
+  png_get_chunk_malloc_max
+  png_set_chunk_malloc_max
 
 ; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
   png_libpng_ver
diff --git a/scripts/pngwin.def b/scripts/pngwin.def
index 6bb5202..0038880 100644
--- a/scripts/pngwin.def
+++ b/scripts/pngwin.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.4.0rc08
+;Version 1.5.0beta01
   png_build_grayscale_palette
   png_chunk_error
   png_chunk_warning
@@ -204,9 +204,11 @@
 ; png_set_benign_error
   png_get_io_chunk_name
   png_get_io_state
-  png_set_premultiply_alpha
   png_get_chunk_cache_max
   png_set_chunk_cache_max
   png_check_cHRM_fixed
   png_calloc
   png_set_longjmp_fn
+; Added at version 1.4.1
+  png_get_chunk_malloc_max
+  png_set_chunk_malloc_max