Imported from libpng-1.4.0beta11.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 4fb4613..53769da 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.4.0beta10 - July 12, 2006
+Libpng 1.4.0beta11 - August 19, 2006
 
 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,27 +9,27 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   1.4.0beta10.tar.gz
-   1.4.0beta10.tar.bz2
+   1.4.0beta11.tar.gz
+   1.4.0beta11.tar.bz2
 
 Source files with LF line endings (for Unix/Linux) without the
 "configure" script
 
-   1.4.0beta10-no-config.tar.gz
-   1.4.0beta10-no-config.tar.bz2
+   1.4.0beta11-no-config.tar.gz
+   1.4.0beta11-no-config.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp140b10.zip
-   lp140b10.tar.bz2
+   lp140b11.zip
+   lp140b11.tar.bz2
 
 Other information:
 
-   1.4.0beta10-README.txt
-   1.4.0beta10-KNOWNBUGS.txt
-   1.4.0beta10-LICENSE.txt
-   1.4.0beta10-Y2K-compliance.txt
+   1.4.0beta11-README.txt
+   1.4.0beta11-KNOWNBUGS.txt
+   1.4.0beta11-LICENSE.txt
+   1.4.0beta11-Y2K-compliance.txt
 
 Changes since the last public release (1.2.10):
 
@@ -156,15 +156,62 @@
   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 heigh in pngtest.c
+  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).
+
+version 1.4.0betaN [future]
+  Build shared libraries with -lz and sometimes -lm.
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
-(subscription required; visit 
+(subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
 to subscribe) or to glennrp at users.sourceforge.net
 
diff --git a/CHANGES b/CHANGES
index 4a08a15..d5d19da 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1655,7 +1655,7 @@
   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 heigh in pngtest.c
+  Use png_get_uint_31() to get vpAg width and height in pngtest.c
   Removed WINCE and Netware projects.
   Removed standalone Y2KINFO file.
 
@@ -1666,8 +1666,51 @@
     makefiles to update pngconf.h from pngconf.h.in.
   Added pngconf.h to DEPENDENCIES in 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).
+
 version 1.4.0betaN [future]
-  Cleaned up error and warning messages.
   Build shared libraries with -lz and sometimes -lm.
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
diff --git a/INSTALL b/INSTALL
index 1148491..35f879c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.4.0beta10 - July 12, 2006
+Installing libpng version 1.4.0beta11 - August 19, 2006
 
 On Unix/Linux and similar systems, you can simply type
 
@@ -37,7 +37,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.0beta10" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.4.0beta11" or "lpng109" and "zlib-1.2.1"
 or "zlib121") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
@@ -87,11 +87,11 @@
 
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       gcc, creates libpng14.so.1.1.4.0beta10)
+                       gcc, creates libpng14.so.1.1.4.0beta11)
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng14.so.1.1.4.0beta10)
+                       (gcc, creates libpng14.so.1.1.4.0beta11)
  makefile.gcmmx    =>  Linux/ELF makefile
-                       (gcc, creates libpng14.so.1.1.4.0beta10,
+                       (gcc, creates libpng14.so.1.1.4.0beta11,
                        uses assembler code tuned for Intel MMX platform)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
@@ -114,12 +114,12 @@
  makefile.openbsd  =>  OpenBSD makefile
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.sggcc    =>  Silicon Graphics (gcc,
-                       creates libpng14.so.1.1.4.0beta10)
+                       creates libpng14.so.1.1.4.0beta11)
  makefile.sunos    =>  Sun makefile
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng14.so.1.1.4.0beta10)
+                       creates libpng14.so.1.1.4.0beta11)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng14.so.1.1.4.0beta10)
+                       creates libpng14.so.1.1.4.0beta11)
  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
@@ -204,6 +204,6 @@
 --with-pkgconfigdir=/usr/lib/pkgconfig --includedir=/usr/include
 
 You can alternatively specify --includedir=/usr/include, /usr/local/include,
-/usr/include/png%N%, or whatever.
+/usr/include/png14, or whatever.
 
 
diff --git a/INSTALL1 b/INSTALL1
deleted file mode 100644
index 45fa59c..0000000
--- a/INSTALL1
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-Using the ./configure script -- 16 December 2002.
-=================================================
-
-
-The ./configure script should work compatibly with what scripts/makefile.*
-did, however there are some options you need to add to configure explicitly,
-which previously was done semi-automatically (if you didn't edit
-scripts/makefile.* yourself, that is)
-
-
-CFLAGS="-Wall -O3 -funroll-loops \
--malign-loops=2 -malign-functions=2" ./configure --prefix=/usr/include \
---with-pkgconfigdir=/usr/lib/pkgconfig --includedir=/usr/include
-
-You can alternatively specify --includedir=/usr/include, /usr/local/include,
-/usr/include/png14, or whatever.
-
-
diff --git a/KNOWNBUG b/KNOWNBUG
index 1fd3984..2563993 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.4.0beta10
+Known bugs in libpng version 1.4.0beta11
 
 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
    reading interlaced PNG files, when assembler code is enabled but running
diff --git a/LICENSE b/LICENSE
index 3765470..1a8ca07 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.4.0beta10, July 12, 2006, are
+libpng versions 1.2.6, August 15, 2004, through 1.4.0beta11, August 19, 2006, are
 Copyright (c) 2004, 2006 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
@@ -106,4 +106,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-July 12, 2006
+August 19, 2006
diff --git a/Makefile.am b/Makefile.am
index 4c604a8..32ab3b3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -34,7 +34,7 @@
 libpng14_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 pnggccrd.c \
-	png.h pngconf.h pngintrn.h
+	png.h pngconf.h pngdefs.h pngpriv.h
 libpng_la_SOURCES = $(libpng14_la_SOURCES)
 
 libpng_la_CPPFLAGS = @LIBPNG_DEFINES@
@@ -60,7 +60,7 @@
 
 #distribute headers in /usr/include/libpng/*
 pkgincludedir= $(includedir)/$(PNGLIB_BASENAME)
-pkginclude_HEADERS= png.h pngconf.h
+pkginclude_HEADERS= png.h pngconf.h pngdefs.h
 
 # pkg-config stuff, note that libpng.pc is always required in order
 # to get the correct library
@@ -87,17 +87,13 @@
 
 CLEANFILES= pngout.png libpng14.pc libpng14-config libpng.vers libpng.sym
 
-pngconf.h.in:
-	cat pngconf.h > pngconf.h.in
+all: pngdefs.h
 
-pngconf.h: pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
+pngdefs.h:
+	echo "/* pngdefs.h created by \"configure\". */" > pngdefs.h
 	@if test -n "@LIBPNG_NO_MMX@"; then \
-	echo "#define PNG_NO_MMX_CODE" >> pngconf.h; \
+	echo "#define PNG_NO_MMX_CODE" >> pngdefs.h; \
 	fi
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
-
-all: pngconf.h.in pngconf.h
 
 $(PNGLIB_BASENAME).pc: libpng.pc
 	cp libpng.pc $@
@@ -105,7 +101,7 @@
 $(PNGLIB_BASENAME)-config: libpng-config
 	cp libpng-config $@
 
-libpng.sym: png.h pngconf.h
+libpng.sym: png.h pngconf.h pngdefs.h
 	rm -f $@ $@.new
 	$(CPP) @LIBPNG_DEFINES@ $(CPPFLAGS) -DPNG_BUILDSYMS $(srcdir)/png.h | \
 		$(SED) -n -e \
@@ -123,9 +119,10 @@
 
 # install the .../include headers as links to the new ones
 install-data-hook:
-	cd $(DESTDIR)$(includedir); rm -f png.h pngconf.h
+	cd $(DESTDIR)$(includedir); rm -f png.h pngconf.h pngdefs.h
 	cd $(DESTDIR)$(includedir); $(LN_S) $(PNGLIB_BASENAME)/png.h png.h
 	cd $(DESTDIR)$(includedir); $(LN_S) $(PNGLIB_BASENAME)/pngconf.h pngconf.h
+	cd $(DESTDIR)$(includedir); $(LN_S) $(PNGLIB_BASENAME)/pngdefs.h pngdefs.h
 	cd $(DESTDIR)$(pkgconfigdir); rm -f libpng.pc
 	cd $(DESTDIR)$(pkgconfigdir); $(LN_S) $(PNGLIB_BASENAME).pc libpng.pc
 
@@ -141,7 +138,7 @@
 	done
 
 uninstall-hook:
-	cd $(DESTDIR)$(includedir); rm -f png.h pngconf.h
+	cd $(DESTDIR)$(includedir); rm -f png.h pngconf.h pngdefs.h
 	rm -f $(DESTDIR)$(pkgconfigdir)/libpng.pc
 	rm -f $(DESTDIR)$(bindir)/libpng-config
 	@if test -n "@compatlib@"; then\
diff --git a/Makefile.in b/Makefile.in
index 2167a14..ab1594c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile.in generated by automake 1.9.2 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005  Free Software Foundation, Inc.
+# 2003, 2004  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -27,6 +27,8 @@
 
 
 
+SOURCES = $(libpng_la_SOURCES) $(libpng14_la_SOURCES) $(pngtest_SOURCES)
+
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
 VPATH = @srcdir@
@@ -110,11 +112,11 @@
 am__depfiles_maybe = depfiles
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(libpng_la_SOURCES) $(libpng14_la_SOURCES) \
 	$(pngtest_SOURCES)
@@ -281,7 +283,7 @@
 libpng14_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 pnggccrd.c \
-	png.h pngconf.h pngintrn.h
+	png.h pngconf.h pngdefs.h pngpriv.h
 
 libpng_la_SOURCES = $(libpng14_la_SOURCES)
 libpng_la_CPPFLAGS = @LIBPNG_DEFINES@
@@ -297,7 +299,7 @@
 @HAVE_LD_VERSION_SCRIPT_FALSE@libpng14_la_DEPENDENCIES = libpng.sym
 @HAVE_LD_VERSION_SCRIPT_TRUE@libpng14_la_DEPENDENCIES = libpng.vers
 libpng_la_DEPENDENCIES = $(libpng14_la_DEPENDENCIES)
-pkginclude_HEADERS = png.h pngconf.h
+pkginclude_HEADERS = png.h pngconf.h pngdefs.h
 pkgconfig_DATA = libpng14.pc
 
 #extra source distribution files.
@@ -501,228 +503,228 @@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
 
 libpng_la-png.lo: png.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-png.lo -MD -MP -MF "$(DEPDIR)/libpng_la-png.Tpo" -c -o libpng_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-png.lo -MD -MP -MF "$(DEPDIR)/libpng_la-png.Tpo" -c -o libpng_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-png.Tpo" "$(DEPDIR)/libpng_la-png.Plo"; else rm -f "$(DEPDIR)/libpng_la-png.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='png.c' object='libpng_la-png.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-png.lo `test -f 'png.c' || echo '$(srcdir)/'`png.c
 
 libpng_la-pngset.lo: pngset.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngset.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngset.Tpo" -c -o libpng_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngset.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngset.Tpo" -c -o libpng_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngset.Tpo" "$(DEPDIR)/libpng_la-pngset.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngset.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngset.c' object='libpng_la-pngset.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngset.lo `test -f 'pngset.c' || echo '$(srcdir)/'`pngset.c
 
 libpng_la-pngget.lo: pngget.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngget.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngget.Tpo" -c -o libpng_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngget.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngget.Tpo" -c -o libpng_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngget.Tpo" "$(DEPDIR)/libpng_la-pngget.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngget.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngget.c' object='libpng_la-pngget.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngget.lo `test -f 'pngget.c' || echo '$(srcdir)/'`pngget.c
 
 libpng_la-pngrutil.lo: pngrutil.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngrutil.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngrutil.Tpo" -c -o libpng_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngrutil.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngrutil.Tpo" -c -o libpng_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngrutil.Tpo" "$(DEPDIR)/libpng_la-pngrutil.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngrutil.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrutil.c' object='libpng_la-pngrutil.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngrutil.lo `test -f 'pngrutil.c' || echo '$(srcdir)/'`pngrutil.c
 
 libpng_la-pngtrans.lo: pngtrans.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngtrans.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngtrans.Tpo" -c -o libpng_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngtrans.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngtrans.Tpo" -c -o libpng_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngtrans.Tpo" "$(DEPDIR)/libpng_la-pngtrans.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngtrans.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngtrans.c' object='libpng_la-pngtrans.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngtrans.lo `test -f 'pngtrans.c' || echo '$(srcdir)/'`pngtrans.c
 
 libpng_la-pngwutil.lo: pngwutil.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngwutil.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngwutil.Tpo" -c -o libpng_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngwutil.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngwutil.Tpo" -c -o libpng_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngwutil.Tpo" "$(DEPDIR)/libpng_la-pngwutil.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngwutil.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwutil.c' object='libpng_la-pngwutil.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngwutil.lo `test -f 'pngwutil.c' || echo '$(srcdir)/'`pngwutil.c
 
 libpng_la-pngread.lo: pngread.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngread.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngread.Tpo" -c -o libpng_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngread.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngread.Tpo" -c -o libpng_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngread.Tpo" "$(DEPDIR)/libpng_la-pngread.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngread.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngread.c' object='libpng_la-pngread.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngread.lo `test -f 'pngread.c' || echo '$(srcdir)/'`pngread.c
 
 libpng_la-pngrio.lo: pngrio.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngrio.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngrio.Tpo" -c -o libpng_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngrio.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngrio.Tpo" -c -o libpng_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngrio.Tpo" "$(DEPDIR)/libpng_la-pngrio.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngrio.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrio.c' object='libpng_la-pngrio.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngrio.lo `test -f 'pngrio.c' || echo '$(srcdir)/'`pngrio.c
 
 libpng_la-pngwio.lo: pngwio.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngwio.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngwio.Tpo" -c -o libpng_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngwio.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngwio.Tpo" -c -o libpng_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngwio.Tpo" "$(DEPDIR)/libpng_la-pngwio.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngwio.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwio.c' object='libpng_la-pngwio.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngwio.lo `test -f 'pngwio.c' || echo '$(srcdir)/'`pngwio.c
 
 libpng_la-pngwrite.lo: pngwrite.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngwrite.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngwrite.Tpo" -c -o libpng_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngwrite.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngwrite.Tpo" -c -o libpng_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngwrite.Tpo" "$(DEPDIR)/libpng_la-pngwrite.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngwrite.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwrite.c' object='libpng_la-pngwrite.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngwrite.lo `test -f 'pngwrite.c' || echo '$(srcdir)/'`pngwrite.c
 
 libpng_la-pngrtran.lo: pngrtran.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngrtran.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngrtran.Tpo" -c -o libpng_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngrtran.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngrtran.Tpo" -c -o libpng_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngrtran.Tpo" "$(DEPDIR)/libpng_la-pngrtran.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngrtran.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrtran.c' object='libpng_la-pngrtran.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngrtran.lo `test -f 'pngrtran.c' || echo '$(srcdir)/'`pngrtran.c
 
 libpng_la-pngwtran.lo: pngwtran.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngwtran.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngwtran.Tpo" -c -o libpng_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngwtran.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngwtran.Tpo" -c -o libpng_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngwtran.Tpo" "$(DEPDIR)/libpng_la-pngwtran.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngwtran.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwtran.c' object='libpng_la-pngwtran.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngwtran.lo `test -f 'pngwtran.c' || echo '$(srcdir)/'`pngwtran.c
 
 libpng_la-pngmem.lo: pngmem.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngmem.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngmem.Tpo" -c -o libpng_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngmem.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngmem.Tpo" -c -o libpng_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngmem.Tpo" "$(DEPDIR)/libpng_la-pngmem.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngmem.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngmem.c' object='libpng_la-pngmem.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngmem.lo `test -f 'pngmem.c' || echo '$(srcdir)/'`pngmem.c
 
 libpng_la-pngerror.lo: pngerror.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngerror.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngerror.Tpo" -c -o libpng_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngerror.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngerror.Tpo" -c -o libpng_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngerror.Tpo" "$(DEPDIR)/libpng_la-pngerror.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngerror.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngerror.c' object='libpng_la-pngerror.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngerror.lo `test -f 'pngerror.c' || echo '$(srcdir)/'`pngerror.c
 
 libpng_la-pngpread.lo: pngpread.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngpread.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngpread.Tpo" -c -o libpng_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pngpread.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pngpread.Tpo" -c -o libpng_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pngpread.Tpo" "$(DEPDIR)/libpng_la-pngpread.Plo"; else rm -f "$(DEPDIR)/libpng_la-pngpread.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngpread.c' object='libpng_la-pngpread.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pngpread.lo `test -f 'pngpread.c' || echo '$(srcdir)/'`pngpread.c
 
 libpng_la-pnggccrd.lo: pnggccrd.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pnggccrd.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pnggccrd.Tpo" -c -o libpng_la-pnggccrd.lo `test -f 'pnggccrd.c' || echo '$(srcdir)/'`pnggccrd.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng_la-pnggccrd.lo -MD -MP -MF "$(DEPDIR)/libpng_la-pnggccrd.Tpo" -c -o libpng_la-pnggccrd.lo `test -f 'pnggccrd.c' || echo '$(srcdir)/'`pnggccrd.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng_la-pnggccrd.Tpo" "$(DEPDIR)/libpng_la-pnggccrd.Plo"; else rm -f "$(DEPDIR)/libpng_la-pnggccrd.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pnggccrd.c' object='libpng_la-pnggccrd.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pnggccrd.lo `test -f 'pnggccrd.c' || echo '$(srcdir)/'`pnggccrd.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng_la-pnggccrd.lo `test -f 'pnggccrd.c' || echo '$(srcdir)/'`pnggccrd.c
 
 libpng14_la-png.lo: png.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-png.Tpo" "$(DEPDIR)/libpng14_la-png.Plo"; else rm -f "$(DEPDIR)/libpng14_la-png.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='png.c' object='libpng14_la-png.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngset.lo: pngset.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngset.Tpo" "$(DEPDIR)/libpng14_la-pngset.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngset.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngset.c' object='libpng14_la-pngset.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngget.lo: pngget.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngget.Tpo" "$(DEPDIR)/libpng14_la-pngget.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngget.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngget.c' object='libpng14_la-pngget.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngrutil.lo: pngrutil.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngrutil.Tpo" "$(DEPDIR)/libpng14_la-pngrutil.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngrutil.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrutil.c' object='libpng14_la-pngrutil.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngtrans.lo: pngtrans.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngtrans.Tpo" "$(DEPDIR)/libpng14_la-pngtrans.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngtrans.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngtrans.c' object='libpng14_la-pngtrans.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngwutil.lo: pngwutil.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngwutil.Tpo" "$(DEPDIR)/libpng14_la-pngwutil.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngwutil.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwutil.c' object='libpng14_la-pngwutil.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngread.lo: pngread.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngread.Tpo" "$(DEPDIR)/libpng14_la-pngread.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngread.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngread.c' object='libpng14_la-pngread.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngrio.lo: pngrio.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngrio.Tpo" "$(DEPDIR)/libpng14_la-pngrio.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngrio.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrio.c' object='libpng14_la-pngrio.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngwio.lo: pngwio.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngwio.Tpo" "$(DEPDIR)/libpng14_la-pngwio.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngwio.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwio.c' object='libpng14_la-pngwio.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngwrite.lo: pngwrite.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngwrite.Tpo" "$(DEPDIR)/libpng14_la-pngwrite.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngwrite.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwrite.c' object='libpng14_la-pngwrite.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngrtran.lo: pngrtran.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngrtran.Tpo" "$(DEPDIR)/libpng14_la-pngrtran.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngrtran.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngrtran.c' object='libpng14_la-pngrtran.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngwtran.lo: pngwtran.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngwtran.Tpo" "$(DEPDIR)/libpng14_la-pngwtran.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngwtran.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngwtran.c' object='libpng14_la-pngwtran.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngmem.lo: pngmem.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngmem.Tpo" "$(DEPDIR)/libpng14_la-pngmem.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngmem.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngmem.c' object='libpng14_la-pngmem.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngerror.lo: pngerror.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngerror.Tpo" "$(DEPDIR)/libpng14_la-pngerror.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngerror.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngerror.c' object='libpng14_la-pngerror.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pngpread.lo: pngpread.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --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@	if $(LIBTOOL) --mode=compile --tag=CC $(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@	then mv -f "$(DEPDIR)/libpng14_la-pngpread.Tpo" "$(DEPDIR)/libpng14_la-pngpread.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pngpread.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pngpread.c' object='libpng14_la-pngpread.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --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) --mode=compile --tag=CC $(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
 
 libpng14_la-pnggccrd.lo: pnggccrd.c
-@am__fastdepCC_TRUE@	if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pnggccrd.lo -MD -MP -MF "$(DEPDIR)/libpng14_la-pnggccrd.Tpo" -c -o libpng14_la-pnggccrd.lo `test -f 'pnggccrd.c' || echo '$(srcdir)/'`pnggccrd.c; \
+@am__fastdepCC_TRUE@	if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpng14_la-pnggccrd.lo -MD -MP -MF "$(DEPDIR)/libpng14_la-pnggccrd.Tpo" -c -o libpng14_la-pnggccrd.lo `test -f 'pnggccrd.c' || echo '$(srcdir)/'`pnggccrd.c; \
 @am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libpng14_la-pnggccrd.Tpo" "$(DEPDIR)/libpng14_la-pnggccrd.Plo"; else rm -f "$(DEPDIR)/libpng14_la-pnggccrd.Tpo"; exit 1; fi
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='pnggccrd.c' object='libpng14_la-pnggccrd.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pnggccrd.lo `test -f 'pnggccrd.c' || echo '$(srcdir)/'`pnggccrd.c
+@am__fastdepCC_FALSE@	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpng14_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpng14_la-pnggccrd.lo `test -f 'pnggccrd.c' || echo '$(srcdir)/'`pnggccrd.c
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1230,17 +1232,13 @@
 @HAVE_LD_VERSION_SCRIPT_TRUE@  # Versioned symbols and restricted exports
 @HAVE_LD_VERSION_SCRIPT_FALSE@  # Only restricted exports when possible
 
-pngconf.h.in:
-	cat pngconf.h > pngconf.h.in
+all: pngdefs.h
 
-pngconf.h: pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
+pngdefs.h:
+	echo "/* pngdefs.h created by \"configure\". */" > pngdefs.h
 	@if test -n "@LIBPNG_NO_MMX@"; then \
-	echo "#define PNG_NO_MMX_CODE" >> pngconf.h; \
+	echo "#define PNG_NO_MMX_CODE" >> pngdefs.h; \
 	fi
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
-
-all: pngconf.h.in pngconf.h
 
 $(PNGLIB_BASENAME).pc: libpng.pc
 	cp libpng.pc $@
@@ -1248,7 +1246,7 @@
 $(PNGLIB_BASENAME)-config: libpng-config
 	cp libpng-config $@
 
-libpng.sym: png.h pngconf.h
+libpng.sym: png.h pngconf.h pngdefs.h
 	rm -f $@ $@.new
 	$(CPP) @LIBPNG_DEFINES@ $(CPPFLAGS) -DPNG_BUILDSYMS $(srcdir)/png.h | \
 		$(SED) -n -e \
@@ -1266,9 +1264,10 @@
 
 # install the .../include headers as links to the new ones
 install-data-hook:
-	cd $(DESTDIR)$(includedir); rm -f png.h pngconf.h
+	cd $(DESTDIR)$(includedir); rm -f png.h pngconf.h pngdefs.h
 	cd $(DESTDIR)$(includedir); $(LN_S) $(PNGLIB_BASENAME)/png.h png.h
 	cd $(DESTDIR)$(includedir); $(LN_S) $(PNGLIB_BASENAME)/pngconf.h pngconf.h
+	cd $(DESTDIR)$(includedir); $(LN_S) $(PNGLIB_BASENAME)/pngdefs.h pngdefs.h
 	cd $(DESTDIR)$(pkgconfigdir); rm -f libpng.pc
 	cd $(DESTDIR)$(pkgconfigdir); $(LN_S) $(PNGLIB_BASENAME).pc libpng.pc
 
@@ -1284,7 +1283,7 @@
 	done
 
 uninstall-hook:
-	cd $(DESTDIR)$(includedir); rm -f png.h pngconf.h
+	cd $(DESTDIR)$(includedir); rm -f png.h pngconf.h pngdefs.h
 	rm -f $(DESTDIR)$(pkgconfigdir)/libpng.pc
 	rm -f $(DESTDIR)$(bindir)/libpng-config
 	@if test -n "@compatlib@"; then\
diff --git a/README b/README
index 6372e69..5652fa3 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.4.0beta10 - July 12, 2006 (shared library 14.0)
+README for libpng version 1.4.0beta11 - August 19, 2006 (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.
@@ -184,11 +184,11 @@
        descrip.mms      =>  VMS makefile for MMS or MMK
        makefile.std     =>  Generic UNIX makefile (cc, creates static libpng.a)
        makefile.elf     =>  Linux/ELF makefile symbol versioning,
-                            gcc, creates libpng14.so.1.1.4.0beta10)
+                            gcc, creates libpng14.so.1.1.4.0beta11)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng14.so.1.1.4.0beta10)
+                            (gcc, creates libpng14.so.1.1.4.0beta11)
        makefile.gcmmx   =>  Linux/ELF makefile
-                            (gcc, creates libpng14.so.1.1.4.0beta10,
+                            (gcc, creates libpng14.so.1.1.4.0beta11,
                             uses assembler code tuned for Intel MMX platform)
        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
        makefile.knr     =>  Archaic UNIX Makefile that converts files with
@@ -210,12 +210,12 @@
        makefile.openbsd =>  OpenBSD makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
        makefile.sggcc   =>  Silicon Graphics
-                            (gcc, creates libpng14.so.1.1.4.0beta10)
+                            (gcc, creates libpng14.so.1.1.4.0beta11)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng14.so.1.1.4.0beta10)
+                            (gcc, creates libpng14.so.1.1.4.0beta11)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng14.so.1.1.4.0beta10)
+                            (gcc, creates libpng14.so.1.1.4.0beta11)
        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 29373ca..7953900 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.59 for libpng 1.4.0beta10.
+# Generated by GNU Autoconf 2.59 for libpng 1.4.0beta11.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -423,8 +423,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.4.0beta10'
-PACKAGE_STRING='libpng 1.4.0beta10'
+PACKAGE_VERSION='1.4.0beta11'
+PACKAGE_STRING='libpng 1.4.0beta11'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 
 ac_unique_file="pngget.c"
@@ -954,7 +954,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.0beta10 to adapt to many kinds of systems.
+\`configure' configures libpng 1.4.0beta11 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1020,7 +1020,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.4.0beta10:";;
+     short | recursive ) echo "Configuration of libpng 1.4.0beta11:";;
    esac
   cat <<\_ACEOF
 
@@ -1167,7 +1167,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.4.0beta10
+libpng configure 1.4.0beta11
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1181,7 +1181,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.0beta10, which was
+It was created by libpng $as_me 1.4.0beta11, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1824,7 +1824,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.4.0beta10'
+ VERSION='1.4.0beta11'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -1979,7 +1979,7 @@
 
 
 
-PNGLIB_VERSION=1.4.0beta10
+PNGLIB_VERSION=1.4.0beta11
 PNGLIB_MAJOR=14
 PNGLIB_MINOR=0
 
@@ -19451,86 +19451,6 @@
 
 done
 
-echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5
-echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6
-if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_func_malloc_0_nonnull=no
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#if STDC_HEADERS || HAVE_STDLIB_H
-# include <stdlib.h>
-#else
-char *malloc ();
-#endif
-
-int
-main ()
-{
-exit (malloc (0) ? 0 : 1);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_func_malloc_0_nonnull=yes
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_func_malloc_0_nonnull=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5
-echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6
-if test $ac_cv_func_malloc_0_nonnull = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MALLOC 1
-_ACEOF
-
-else
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_MALLOC 0
-_ACEOF
-
-   case $LIBOBJS in
-    "malloc.$ac_objext"   | \
-  *" malloc.$ac_objext"   | \
-    "malloc.$ac_objext "* | \
-  *" malloc.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;;
-esac
-
-
-cat >>confdefs.h <<\_ACEOF
-#define malloc rpl_malloc
-_ACEOF
-
-fi
-
-
 
 echo "$as_me:$LINENO: checking for working strtod" >&5
 echo $ECHO_N "checking for working strtod... $ECHO_C" >&6
@@ -20683,7 +20603,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by libpng $as_me 1.4.0beta10, which was
+This file was extended by libpng $as_me 1.4.0beta11, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20746,7 +20666,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libpng config.status 1.4.0beta10
+libpng config.status 1.4.0beta11
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index f300c28..dd6f8a7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.4.0beta10], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.4.0beta11], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.4.0beta10
+PNGLIB_VERSION=1.4.0beta11
 PNGLIB_MAJOR=14
 PNGLIB_MINOR=0
 
@@ -52,7 +52,6 @@
 AC_STRUCT_TM
 
 # Checks for library functions.
-AC_FUNC_MALLOC
 AC_FUNC_STRTOD
 AC_CHECK_FUNCS([memset], , AC_ERROR([memset not found in libc]))
 AC_CHECK_FUNCS([pow], , AC_CHECK_LIB(m, pow, , AC_ERROR([cannot find pow])) )
diff --git a/example.c b/example.c
index fd7096e..4cd7148 100644
--- a/example.c
+++ b/example.c
@@ -70,7 +70,7 @@
    /* Compare the first PNG_BYTES_TO_CHECK bytes of the signature.
       Return nonzero (true) if they match */
 
-   return(!png_sig_cmp(buf, (png_size_t)0, PNG_BYTES_TO_CHECK));
+   return(!png_sig_cmp(buf, 0, PNG_BYTES_TO_CHECK));
 }
 
 /* Read a PNG file.  You may want to return an error code if the read
@@ -120,7 +120,7 @@
    if (info_ptr == NULL)
    {
       fclose(fp);
-      png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
+      png_destroy_read_struct(&png_ptr, NULL, NULL);
       return (ERROR);
    }
 
@@ -132,7 +132,7 @@
    if (setjmp(png_jmpbuf(png_ptr)))
    {
       /* Free all of the memory associated with the png_ptr and info_ptr */
-      png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
+      png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
       fclose(fp);
       /* If we get here, we had a problem reading the file */
       return (ERROR);
@@ -163,7 +163,7 @@
     * adjustment), then you can read the entire image (including
     * pixels) into the info structure with this call:
     */
-   png_read_png(png_ptr, info_ptr, png_transforms, png_voidp_NULL);
+   png_read_png(png_ptr, info_ptr, png_transforms, NULL);
 #else
    /* OK, you're doing it the hard way, with the lower-level functions */
 
@@ -173,7 +173,7 @@
    png_read_info(png_ptr, info_ptr);
 
    png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
-       &interlace_type, int_p_NULL, int_p_NULL);
+       &interlace_type, NULL, NULL);
 
 /* Set up the data transformations you want.  Note that these are all
  * optional.  Only call them if you want/need them.  Many of the
@@ -283,7 +283,7 @@
          png_color std_color_cube[MAX_SCREEN_COLORS];
 
          png_set_dither(png_ptr, std_color_cube, MAX_SCREEN_COLORS,
-            MAX_SCREEN_COLORS, png_uint_16p_NULL, 0);
+            MAX_SCREEN_COLORS, NULL, 0);
       }
       /* This reduces the image to the palette supplied in the file */
       else if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette))
@@ -360,18 +360,16 @@
 #ifdef single /* Read the image a single row at a time */
       for (y = 0; y < height; y++)
       {
-         png_read_rows(png_ptr, &row_pointers[y], png_bytepp_NULL, 1);
+         png_read_rows(png_ptr, &row_pointers[y], NULL, 1);
       }
 
 #else no_single /* Read the image several rows at a time */
       for (y = 0; y < height; y += number_of_rows)
       {
 #ifdef sparkle /* Read the image using the "sparkle" effect. */
-         png_read_rows(png_ptr, &row_pointers[y], png_bytepp_NULL,
-            number_of_rows);
+         png_read_rows(png_ptr, &row_pointers[y], NULL, number_of_rows);
 #else no_sparkle /* Read the image using the "rectangle" effect */
-         png_read_rows(png_ptr, png_bytepp_NULL, &row_pointers[y],
-            number_of_rows);
+         png_read_rows(png_ptr, NULL, &row_pointers[y], number_of_rows);
 #endif no_sparkle /* use only one of these two methods */
       }
 
@@ -388,7 +386,7 @@
    /* At this point you have read the entire image */
 
    /* clean up after the read, and free any memory allocated - REQUIRED */
-   png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
+   png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
 
    /* close the file */
    fclose(fp);
@@ -421,13 +419,13 @@
 
    if (*info_ptr == NULL)
    {
-      png_destroy_read_struct(png_ptr, info_ptr, png_infopp_NULL);
+      png_destroy_read_struct(png_ptr, info_ptr, NULL);
       return (ERROR);
    }
 
    if (setjmp(png_jmpbuf((*png_ptr))))
    {
-      png_destroy_read_struct(png_ptr, info_ptr, png_infopp_NULL);
+      png_destroy_read_struct(png_ptr, info_ptr, NULL);
       return (ERROR);
    }
 
@@ -456,7 +454,7 @@
    if (setjmp(png_jmpbuf((*png_ptr))))
    {
       /* Free the png_ptr and info_ptr memory on error */
-      png_destroy_read_struct(png_ptr, info_ptr, png_infopp_NULL);
+      png_destroy_read_struct(png_ptr, info_ptr, NULL);
       return (ERROR);
    }
 
@@ -588,7 +586,7 @@
    if (info_ptr == NULL)
    {
       fclose(fp);
-      png_destroy_write_struct(&png_ptr,  png_infopp_NULL);
+      png_destroy_write_struct(&png_ptr,  NULL);
       return (ERROR);
    }
 
@@ -620,7 +618,7 @@
     * image info living info in the structure.  You could "|" many
     * PNG_TRANSFORM flags into the png_transforms integer here.
     */
-   png_write_png(png_ptr, info_ptr, png_transforms, png_voidp_NULL);
+   png_write_png(png_ptr, info_ptr, png_transforms, NULL);
 #else
    /* This is the hard way */
 
@@ -637,7 +635,7 @@
 
    /* set the palette if there is one.  REQUIRED for indexed-color images */
    palette = (png_colorp)png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH
-             * png_sizeof (png_color));
+             * sizeof (png_color));
    /* ... set palette colors ... */
    png_set_PLTE(png_ptr, info_ptr, palette, PNG_MAX_PALETTE_LENGTH);
    /* You must not free palette here, because png_set_PLTE only makes a link to
@@ -748,7 +746,7 @@
    png_byte image[height][width*bytes_per_pixel];
    png_bytep row_pointers[height];
 
-   if (height > PNG_UINT_32_MAX/png_sizeof(png_bytep))
+   if (height > PNG_UINT_32_MAX/sizeof(png_bytep))
      png_error (png_ptr, "Image is too tall to process in memory");
 
    for (k = 0; k < height; k++)
diff --git a/libpng.3 b/libpng.3
index bd8f598..e424b54 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "July 12, 2006"
+.TH LIBPNG 3 "August 19, 2006"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta10
+libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta11
 .SH SYNOPSIS
 \fI\fB
 
@@ -350,19 +350,11 @@
 
 \fI\fB
 
-\fBDEPRECATED: void png_info_init (png_infop \fIinfo_ptr\fP\fB);\fP
+\fBpng_voidp png_malloc (png_structp \fP\fIpng_ptr\fP\fB, png_alloc_size_t \fIsize\fP\fB);\fP
 
 \fI\fB
 
-\fBDEPRECATED: void png_info_init_2 (png_infopp \fP\fIptr_ptr\fP\fB, png_size_t \fIpng_info_struct_size\fP\fB);\fP
-
-\fI\fB
-
-\fBpng_voidp png_malloc (png_structp \fP\fIpng_ptr\fP\fB, png_uint_32 \fIsize\fP\fB);\fP
-
-\fI\fB
-
-\fBpng_voidp png_malloc_default(png_structp \fP\fIpng_ptr\fP\fB, png_uint_32 \fIsize\fP\fB);\fP
+\fBpng_voidp png_malloc_default(png_structp \fP\fIpng_ptr\fP\fB, png_alloc_size_t \fIsize\fP\fB);\fP
 
 \fI\fB
 
@@ -370,22 +362,10 @@
 
 \fI\fB
 
-\fBpng_voidp png_memcpy_check (png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fIs1\fP\fB, png_voidp \fP\fIs2\fP\fB, png_uint_32 \fIsize\fP\fB);\fP
-
-\fI\fB
-
 \fBvoidp png_memset (png_voidp \fP\fIs1\fP\fB, int \fP\fIvalue\fP\fB, png_size_t \fIsize\fP\fB);\fP
 
 \fI\fB
 
-\fBpng_voidp png_memset_check (png_structp \fP\fIpng_ptr\fP\fB, png_voidp \fP\fIs1\fP\fB, int \fP\fIvalue\fP\fB, png_uint_32 \fIsize\fP\fB);\fP
-
-\fI\fB
-
-\fBDEPRECATED: void png_permit_empty_plte (png_structp \fP\fIpng_ptr\fP\fB, int \fIempty_plte_permitted\fP\fB);\fP
-
-\fI\fB
-
 \fBvoid png_process_data (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_bytep \fP\fIbuffer\fP\fB, png_size_t \fIbuffer_size\fP\fB);\fP
 
 \fI\fB
@@ -406,14 +386,6 @@
 
 \fI\fB
 
-\fBDEPRECATED: void png_read_init (png_structp \fIpng_ptr\fP\fB);\fP
-
-\fI\fB
-
-\fBDEPRECATED: void png_read_init_2 (png_structpp \fP\fIptr_ptr\fP\fB, png_const_charp \fP\fIuser_png_ver\fP\fB, png_size_t \fP\fIpng_struct_size\fP\fB, png_size_t \fIpng_info_size\fP\fB);\fP
-
-\fI\fB
-
 \fBvoid png_read_info (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fIinfo_ptr\fP\fB);\fP
 
 \fI\fB
@@ -782,14 +754,6 @@
 
 \fI\fB
 
-\fBDEPRECATED: void png_write_init (png_structp \fIpng_ptr\fP\fB);\fP
-
-\fI\fB
-
-\fBDEPRECATED: void png_write_init_2 (png_structpp \fP\fIptr_ptr\fP\fB, png_const_charp \fP\fIuser_png_ver\fP\fB, png_size_t \fP\fIpng_struct_size\fP\fB, png_size_t \fIpng_info_size\fP\fB);\fP
-
-\fI\fB
-
 \fBvoid png_write_info (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fIinfo_ptr\fP\fB);\fP
 
 \fI\fB
@@ -833,7 +797,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.4.0beta10 - July 12, 2006
+ libpng version 1.4.0beta11 - August 19, 2006
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -1248,14 +1212,14 @@
 If you know your image size and pixel size ahead of time, you can allocate
 row_pointers prior to calling png_read_png() with
 
-   if (height > PNG_UINT_32_MAX/png_sizeof(png_byte))
+   if (height > PNG_UINT_32_MAX/sizeof(png_bytep))
       png_error (png_ptr,
          "Image is too tall to process in memory");
    if (width > PNG_UINT_32_MAX/pixel_size)
       png_error (png_ptr,
          "Image is too wide to process in memory");
    row_pointers = png_malloc(png_ptr,
-      height*png_sizeof(png_bytep));
+      height*sizeof(png_bytep));
    for (int i=0; i<height, i++)
       row_pointers[i]=png_malloc(png_ptr,
          width*pixel_size);
@@ -3358,11 +3322,10 @@
 
 .SS Configuring for compiler xxx:
 
-All includes for libpng are in pngconf.h.  If you need to add/change/delete
-an include, this is the place to do it.  The includes that are not
-needed outside libpng are protected by the PNG_INTERNAL definition,
-which is only defined for those routines inside libpng itself.  The
-files in libpng proper only include png.h, which includes pngconf.h.
+All includes for libpng are in pngconf.h.  If you need to add, change
+or delete an include, this is the place to do it.  The includes that
+are not needed outside libpng are placed inside pngpriv.h, which is
+only used by the routines inside libpng itself.
 
 .SS Configuring zlib:
 
@@ -3748,13 +3711,13 @@
 
 .SH IX. Y2K Compliance in libpng
 
-July 12, 2006
+August 19, 2006
 
 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.0beta10 are Y2K compliant.  It is my belief that earlier
+upward through 1.4.0beta11 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
@@ -3919,7 +3882,7 @@
  1.4.0beta7-8        14    10400  14.so.0.0[.0]
  1.2.11              13    10211  12.so.0.10[.0]
  1.2.12              13    10212  12.so.0.10[.0]
- 1.4.0beta9-10       14    10400  14.so.0.0[.0]
+ 1.4.0beta9-11       14    10400  14.so.0.0[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3975,7 +3938,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.4.0beta10 - July 12, 2006:
+Libpng version 1.4.0beta11 - August 19, 2006:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -3996,7 +3959,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.4.0beta10, July 12, 2006, are
+libpng versions 1.2.6, August 15, 2004, through 1.4.0beta11, August 19, 2006, are
 Copyright (c) 2004-2006 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
@@ -4095,7 +4058,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-July 12, 2006
+August 19, 2006
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index 7b31448..484659b 100644
--- a/libpng.txt
+++ b/libpng.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.4.0beta10 - July 12, 2006
+ libpng version 1.4.0beta11 - August 19, 2006
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -415,14 +415,14 @@
 If you know your image size and pixel size ahead of time, you can allocate
 row_pointers prior to calling png_read_png() with
 
-   if (height > PNG_UINT_32_MAX/png_sizeof(png_byte))
+   if (height > PNG_UINT_32_MAX/sizeof(png_bytep))
       png_error (png_ptr,
          "Image is too tall to process in memory");
    if (width > PNG_UINT_32_MAX/pixel_size)
       png_error (png_ptr,
          "Image is too wide to process in memory");
    row_pointers = png_malloc(png_ptr,
-      height*png_sizeof(png_bytep));
+      height*sizeof(png_bytep));
    for (int i=0; i<height, i++)
       row_pointers[i]=png_malloc(png_ptr,
          width*pixel_size);
@@ -2525,11 +2525,10 @@
 
 Configuring for compiler xxx:
 
-All includes for libpng are in pngconf.h.  If you need to add/change/delete
-an include, this is the place to do it.  The includes that are not
-needed outside libpng are protected by the PNG_INTERNAL definition,
-which is only defined for those routines inside libpng itself.  The
-files in libpng proper only include png.h, which includes pngconf.h.
+All includes for libpng are in pngconf.h.  If you need to add, change
+or delete an include, this is the place to do it.  The includes that
+are not needed outside libpng are placed inside pngpriv.h, which is
+only used by the routines inside libpng itself.
 
 Configuring zlib:
 
@@ -2915,13 +2914,13 @@
 
 IX. Y2K Compliance in libpng
 
-July 12, 2006
+August 19, 2006
 
 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.0beta10 are Y2K compliant.  It is my belief that earlier
+upward through 1.4.0beta11 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/libpngpf.3 b/libpngpf.3
index b4b61a4..93a571d 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "July 12, 2006"
+.TH LIBPNGPF 3 "August 19, 2006"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta10
+libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta11
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 1a45598..8c6f2f9 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "July 12, 2006"
+.TH PNG 5 "August 19, 2006"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 2fe4edd..b48e377 100644
--- a/png.c
+++ b/png.c
@@ -10,10 +10,10 @@
 
 #define PNG_NO_EXTERN
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_4_0beta10 Your_png_h_is_not_version_1_4_0beta10;
+typedef version_1_4_0beta11 Your_png_h_is_not_version_1_4_0beta11;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
@@ -99,7 +99,7 @@
 {
    png_debug(1, "in png_set_sig_bytes\n");
    if (num_bytes > 8)
-      png_error(png_ptr, "Too many bytes for PNG signature.");
+      png_error(png_ptr, "Too many bytes for PNG signature");
 
    png_ptr->sig_bytes = (png_byte)(num_bytes < 0 ? 0 : num_bytes);
 }
@@ -127,36 +127,37 @@
    if (start + num_to_check > 8)
       num_to_check = 8 - start;
 
-   return ((int)(png_memcmp(&sig[start], &png_signature[start], num_to_check)));
+   return (png_memcmp(&sig[start], &png_signature[start], num_to_check));
 }
 
 #endif /* PNG_READ_SUPPORTED */
 
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
-/* Function to allocate memory for zlib and clear it to 0. */
+/* Function to allocate memory for zlib.
+ * Since libpng-1.2.x, this does NOT clear the allocated memory to 0.
+ */
 voidpf /* private */
 png_zalloc(voidpf png_ptr, uInt items, uInt size)
 {
-   png_voidp ptr;
-   png_structp p=png_ptr;
-   png_uint_32 save_flags=p->flags;
-   png_uint_32 num_bytes;
+   voidpf ptr;
+   png_structp p = png_ptr;
+   png_uint_32 save_flags = p->flags;
+   png_alloc_size_t num_bytes;
 
    if (items > PNG_UINT_32_MAX/size)
    {
-     png_warning (png_ptr, "Potential overflow in png_zalloc()");
-     return (NULL);
+      png_warning(p, "Potential overflow in png_zalloc()");
+      return NULL;
    }
-   num_bytes = (png_uint_32)items * size;
+   num_bytes = (png_alloc_size_t)items * size;
 
-   p->flags|=PNG_FLAG_MALLOC_NULL_MEM_OK;
-   ptr = (png_voidp)png_malloc((png_structp)png_ptr, num_bytes);
-   p->flags=save_flags;
+   p->flags |= PNG_FLAG_MALLOC_NULL_MEM_OK;
+   ptr = (voidpf)png_malloc(p, num_bytes);
+   p->flags = save_flags;
+   return ptr;
+  }
 
-   return ((voidpf)ptr);
-}
-
-/* function to free memory for zlib */
+/* Function to free memory for zlib. */
 void /* private */
 png_zfree(voidpf png_ptr, voidpf ptr)
 {
@@ -200,7 +201,7 @@
 
 /* Allocate the memory for an info_struct for the application.  We don't
  * really need the png_ptr, but it could potentially be useful in the
- * future.  This should be used in favour of malloc(png_sizeof(png_info))
+ * future.  This should be used in favour of malloc(sizeof(png_info))
  * and png_info_init() so that applications that want to use a shared
  * libpng don't have to be recompiled if png_info changes size.
  */
@@ -218,7 +219,7 @@
    info_ptr = (png_infop)png_create_struct(PNG_STRUCT_INFO);
 #endif
    if (info_ptr != NULL)
-      png_info_init_3(&info_ptr, png_sizeof(png_info));
+      png_info_init_3(&info_ptr, sizeof(png_info));
 
    return (info_ptr);
 }
@@ -262,7 +263,7 @@
 
    png_debug(1, "in png_info_init_3\n");
 
-   if(png_sizeof(png_info) > png_info_struct_size)
+   if (sizeof(png_info) > png_info_struct_size)
      {
        png_destroy_struct(info_ptr);
        info_ptr = (png_infop)png_create_struct(PNG_STRUCT_INFO);
@@ -270,7 +271,7 @@
      }
 
    /* set everything to 0 */
-   png_memset(info_ptr, 0, png_sizeof (png_info));
+   png_memset(info_ptr, 0, sizeof(png_info));
 }
 
 #ifdef PNG_FREE_ME_SUPPORTED
@@ -287,7 +288,7 @@
       info_ptr->free_me &= ~mask;
    else
       png_warning(png_ptr,
-         "Unknown freer parameter in png_data_freer.");
+         "Unknown freer parameter in png_data_freer");
 }
 #endif
 
@@ -556,7 +557,7 @@
    }
 #endif
 
-   png_info_init_3(&info_ptr, png_sizeof(png_info));
+   png_info_init_3(&info_ptr, sizeof(png_info));
 }
 #endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */
 
@@ -598,10 +599,7 @@
          "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
 
    if (png_ptr->time_buffer == NULL)
-   {
-      png_ptr->time_buffer = (png_charp)png_malloc(png_ptr, (png_uint_32)(29*
-         png_sizeof(char)));
-   }
+      png_ptr->time_buffer = (png_charp)png_malloc(png_ptr, 29*sizeof(char));
 
 #ifdef USE_FAR_KEYWORD
    {
@@ -611,7 +609,7 @@
           ptime->year, ptime->hour % 24, ptime->minute % 60,
           ptime->second % 61);
       png_memcpy(png_ptr->time_buffer, near_time_buf,
-          29*png_sizeof(char));
+          29*sizeof(char));
    }
 #else
    png_sprintf(png_ptr->time_buffer, "%d %s %d %02d:%02d:%02d +0000",
@@ -637,7 +635,7 @@
 png_get_copyright(png_structp png_ptr)
 {
    if (&png_ptr != NULL)  /* silence compiler warning about unused png_ptr */
-   return ((png_charp) "\n libpng version 1.4.0beta10 - July 12, 2006\n\
+   return ((png_charp) "\n libpng version 1.4.0beta11 - August 19, 2006\n\
    Copyright (c) 1998-2006 Glenn Randers-Pehrson\n\
    Copyright (c) 1996-1997 Andreas Dilger\n\
    Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
@@ -773,17 +771,3 @@
 }
 #endif
 #endif /* PNG_READ_SUPPORTED */
-
-#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
-#ifdef PNG_SIZE_T
-/* Added at libpng version 1.2.6 */
-   PNG_EXTERN png_size_t PNGAPI png_convert_size PNGARG((size_t size));
-png_size_t PNGAPI
-png_convert_size(size_t size)
-{
-  if (size > (png_size_t)-1)
-     PNG_ABORT();  /* We haven't got access to png_ptr, so no png_error() */
-  return ((png_size_t)size);
-}
-#endif /* PNG_SIZE_T */
-#endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */
diff --git a/png.h b/png.h
index 5ed5612..3ebf3f2 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.4.0beta10 - July 12, 2006
+ * libpng version 1.4.0beta11 - August 19, 2006
  * Copyright (c) 1998-2006 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.)
@@ -9,7 +9,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.0beta10 - July 12, 2006: Glenn
+ *  libpng versions 0.97, January 1998, through 1.4.0beta11 - August 19, 2006: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -124,7 +124,7 @@
  *    1.4.0beta7-8            14    10400  14.so.0.0[.0]
  *    1.2.11                  13    10211  12.so.0.10[.0]
  *    1.2.12                  13    10212  12.so.0.10[.0]
- *    1.4.0beta9-10           14    10400  14.so.0.0[.0]
+ *    1.4.0beta9-11           14    10400  14.so.0.0[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -154,7 +154,7 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.4.0beta10, July 12, 2006, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.4.0beta11, August 19, 2006, are
  * Copyright (c) 2004, 2006 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:
@@ -266,13 +266,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    July 12, 2006
+ *    August 19, 2006
  *
  *    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.0beta10 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.4.0beta11 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
@@ -328,9 +328,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.4.0beta10"
+#define PNG_LIBPNG_VER_STRING "1.4.0beta11"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.4.0beta10 - July 12, 2006 (header)\n"
+   " libpng version 1.4.0beta11 - August 19, 2006 (header)\n"
 
 #define PNG_LIBPNG_VER_SONUM   1
 #define PNG_LIBPNG_VER_DLLNUM  14
@@ -342,7 +342,7 @@
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
 
-#define PNG_LIBPNG_VER_BUILD  10
+#define PNG_LIBPNG_VER_BUILD  11
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -350,7 +350,7 @@
 #define PNG_LIBPNG_BUILD_RC       3
 #define PNG_LIBPNG_BUILD_STABLE   4
 #define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7
-  
+
 /* Release-Specific Flags */
 #define PNG_LIBPNG_BUILD_PATCH    8 /* Can be OR'ed with
                                        PNG_LIBPNG_BUILD_STABLE only */
@@ -381,12 +381,12 @@
 /* Ref MSDN: Private as priority over Special
  * VS_FF_PRIVATEBUILD File *was not* built using standard release
  * procedures. If this value is given, the StringFileInfo block must
- * contain a PrivateBuild string. 
+ * contain a PrivateBuild string.
  *
  * VS_FF_SPECIALBUILD File *was* built by the original company using
  * standard release procedures but is a variation of the standard
  * file of the same version number. If this value is given, the
- * StringFileInfo block must contain a SpecialBuild string. 
+ * StringFileInfo block must contain a SpecialBuild string.
  */
 
 #if defined(PNG_USER_PRIVATEBUILD)
@@ -414,40 +414,6 @@
  * which applications aren't expected to use directly.
  */
 
-#ifndef PNG_NO_TYPECAST_NULL
-#define int_p_NULL                (int *)NULL
-#define png_bytep_NULL            (png_bytep)NULL
-#define png_bytepp_NULL           (png_bytepp)NULL
-#define png_doublep_NULL          (png_doublep)NULL
-#define png_error_ptr_NULL        (png_error_ptr)NULL
-#define png_flush_ptr_NULL        (png_flush_ptr)NULL
-#define png_free_ptr_NULL         (png_free_ptr)NULL
-#define png_infopp_NULL           (png_infopp)NULL
-#define png_malloc_ptr_NULL       (png_malloc_ptr)NULL
-#define png_read_status_ptr_NULL  (png_read_status_ptr)NULL
-#define png_rw_ptr_NULL           (png_rw_ptr)NULL
-#define png_structp_NULL          (png_structp)NULL
-#define png_uint_16p_NULL         (png_uint_16p)NULL
-#define png_voidp_NULL            (png_voidp)NULL
-#define png_write_status_ptr_NULL (png_write_status_ptr)NULL
-#else
-#define int_p_NULL                NULL
-#define png_bytep_NULL            NULL
-#define png_bytepp_NULL           NULL
-#define png_doublep_NULL          NULL
-#define png_error_ptr_NULL        NULL
-#define png_flush_ptr_NULL        NULL
-#define png_free_ptr_NULL         NULL
-#define png_infopp_NULL           NULL
-#define png_malloc_ptr_NULL       NULL
-#define png_read_status_ptr_NULL  NULL
-#define png_rw_ptr_NULL           NULL
-#define png_structp_NULL          NULL
-#define png_uint_16p_NULL         NULL
-#define png_voidp_NULL            NULL
-#define png_write_status_ptr_NULL NULL
-#endif
-
 /* variables declared in png.c - only it needs to define PNG_NO_EXTERN */
 #if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
 /* Version information for C files, stored in png.c.  This had better match
@@ -669,7 +635,7 @@
    png_uint_32 width;       /* width of image in pixels (from IHDR) */
    png_uint_32 height;      /* height of image in pixels (from IHDR) */
    png_uint_32 valid;       /* valid chunk data (see PNG_INFO_ below) */
-   png_uint_32 rowbytes;    /* bytes needed to hold an untransformed row */
+   png_size_t rowbytes;     /* bytes needed to hold an untransformed row */
    png_colorp palette;      /* array of color values (valid & PNG_INFO_PLTE) */
    png_uint_16 num_palette; /* number of color entries in "palette" (PLTE) */
    png_uint_16 num_trans;   /* number of transparent palette color (tRNS) */
@@ -1004,7 +970,7 @@
 typedef struct png_row_info_struct
 {
    png_uint_32 width; /* width of row */
-   png_uint_32 rowbytes; /* number of bytes in row */
+   png_size_t rowbytes; /* number of bytes in row */
    png_byte color_type; /* color type of row */
    png_byte bit_depth; /* bit depth of row */
    png_byte channels; /* number of channels (1, 2, 3, or 4) */
@@ -1072,7 +1038,7 @@
 #define PNG_FLAG_MNG_FILTER_64      0x04
 #define PNG_ALL_MNG_FEATURES        0x05
 
-typedef png_voidp (*png_malloc_ptr) PNGARG((png_structp, png_size_t));
+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.
@@ -1129,8 +1095,8 @@
    png_uint_32 height;        /* height of image in pixels */
    png_uint_32 num_rows;      /* number of rows in current pass */
    png_uint_32 usr_width;     /* width of row at start of write */
-   png_uint_32 rowbytes;      /* size of row in bytes */
-   png_uint_32 irowbytes;     /* size of current interlaced row in bytes */
+   png_size_t rowbytes;       /* size of row in bytes */
+   png_size_t irowbytes;      /* size of current interlaced row in bytes */
    png_uint_32 iwidth;        /* width of current interlaced row in pixels */
    png_uint_32 row_number;    /* current row in interlace pass */
    png_bytep prev_row;        /* buffer to save previous (unfiltered) row */
@@ -1360,13 +1326,18 @@
    png_uint_32 user_height_max;
 #endif
 
+/* New member added in libpng-1.4.0 */
+#if defined(PNG_IO_STATE_SUPPORTED)
+   png_uint_32 io_state;
+#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_0beta10;
+typedef png_structp version_1_4_0beta11;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -1404,13 +1375,13 @@
    png_error_ptr error_fn, png_error_ptr warn_fn));
 
 #ifdef PNG_WRITE_SUPPORTED
-extern PNG_EXPORT(png_uint_32,png_get_compression_buffer_size)
+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_uint_32 size));
+   PNGARG((png_structp png_ptr, png_size_t size));
 #endif
 
 /* Reset the compression stream */
@@ -1916,13 +1887,13 @@
 #endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
 
 extern PNG_EXPORT(png_voidp,png_malloc) PNGARG((png_structp png_ptr,
-   png_uint_32 size));
+   png_alloc_size_t size));
 
 /* Added at libpng version 1.2.4 */
 extern PNG_EXPORT(png_voidp,png_malloc_warn) PNGARG((png_structp png_ptr,
-   png_uint_32 size));
+   png_alloc_size_t size));
 
-/* frees a pointer allocated by png_malloc() */
+/* Frees a pointer allocated by png_malloc() */
 extern PNG_EXPORT(void,png_free) PNGARG((png_structp png_ptr, png_voidp ptr));
 
 /* Free data that was allocated internally */
@@ -1955,17 +1926,11 @@
 
 #ifdef PNG_USER_MEM_SUPPORTED
 extern PNG_EXPORT(png_voidp,png_malloc_default) PNGARG((png_structp png_ptr,
-   png_uint_32 size));
+   png_alloc_size_t size));
 extern PNG_EXPORT(void,png_free_default) PNGARG((png_structp png_ptr,
    png_voidp ptr));
 #endif
 
-extern PNG_EXPORT(png_voidp,png_memcpy_check) PNGARG((png_structp png_ptr,
-   png_voidp s1, png_voidp s2, png_uint_32 size));
-
-extern PNG_EXPORT(png_voidp,png_memset_check) PNGARG((png_structp png_ptr,
-   png_voidp s1, int value, png_uint_32 size));
-
 #if defined(USE_FAR_KEYWORD)  /* memory model conversion function */
 extern void *png_far_to_near PNGARG((png_structp png_ptr,png_voidp ptr,
    int check));
@@ -2018,7 +1983,7 @@
 png_infop info_ptr, png_uint_32 flag));
 
 /* Returns number of bytes needed to hold a transformed row. */
-extern PNG_EXPORT(png_uint_32,png_get_rowbytes) PNGARG((png_structp png_ptr,
+extern PNG_EXPORT(png_size_t,png_get_rowbytes) PNGARG((png_structp png_ptr,
 png_infop info_ptr));
 
 #if defined(PNG_INFO_IMAGE_SUPPORTED)
@@ -2514,7 +2479,7 @@
 #endif
 
 
-/* Added at libpng-1.2.6 */
+/* Added in libpng-1.2.6 */
 #ifdef PNG_SET_USER_LIMITS_SUPPORTED
 extern PNG_EXPORT(void,png_set_user_limits) PNGARG((png_structp
    png_ptr, png_uint_32 user_width_max, png_uint_32 user_height_max));
@@ -2546,6 +2511,25 @@
 #endif /* PNG_pHYs_SUPPORTED */
 #endif  /* PNG_INCH_CONVERSIONS && PNG_FLOATING_POINT_SUPPORTED */
 
+/* Added in libpng-1.4.0 */
+#ifdef PNG_IO_STATE_SUPPORTED
+extern PNG_EXPORT(png_uint_32,png_get_io_state) PNGARG((png_structp png_ptr));
+
+extern PNG_EXPORT(png_bytep,png_get_io_chunk_name)
+   PNGARG((png_structp png_ptr));
+
+/* The flags returned by png_get_io_state() are the following: */
+#define PNG_IO_NONE        0x0000   /* no I/O at this moment */
+#define PNG_IO_READING     0x0001   /* currently reading */
+#define PNG_IO_WRITING     0x0002   /* currently writing */
+#define PNG_IO_SIGNATURE   0x0010   /* currently at the file signature */
+#define PNG_IO_CHUNK_HDR   0x0020   /* currently at the chunk header */
+#define PNG_IO_CHUNK_DATA  0x0040   /* currently at the chunk data */
+#define PNG_IO_CHUNK_CRC   0x0080   /* currently at the chunk crc */
+#define PNG_IO_MASK_OP     0x000f   /* current operation: reading/writing */
+#define PNG_IO_MASK_LOC    0x00f0   /* current location: sig/hdr/data/crc */
+#endif /* ?PNG_IO_STATE_SUPPORTED */
+
 /* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
 
 #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
diff --git a/pngconf.h b/pngconf.h
index 0731e3a..27dd060 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.4.0beta10 - July 12, 2006
+ * libpng version 1.4.0beta11 - August 19, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -18,8 +18,8 @@
 #define PNGCONF_H
 
 /* Added at libpng-1.4.0 */
-/* Makefile-supplied defines go here: */
-/* End of Makefile-supplied defines. */
+/* pngdefs.h is created by the makefile or the "configure" script. */
+#include "pngdefs.h"
 
 #ifndef PNG_NO_LIMITS_H
 #include <limits.h>
@@ -27,7 +27,7 @@
 
 /* Added at libpng-1.2.9 */
 
-/* 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"
@@ -285,9 +285,6 @@
 
 #ifdef _NO_PROTO
 #  define PNGARG(arglist) ()
-#  ifndef PNG_TYPECAST_NULL
-#     define PNG_TYPECAST_NULL
-#  endif
 #else
 #  define PNGARG(arglist) arglist
 #endif /* _NO_PROTO */
@@ -667,7 +664,7 @@
 #endif
 #endif
 
-/* Added at libpng-1.0.16 and 1.2.6.  To accept all valid PNGS no matter
+/* Added at libpng-1.0.16 and 1.2.6.  To accept all valid PNGs no matter
  * how large, set these limits to 0x7fffffffL
  */
 #ifndef PNG_USER_WIDTH_MAX
@@ -677,6 +674,11 @@
 #  define PNG_USER_HEIGHT_MAX 1000000L
 #endif
 
+/* Added at libpng-1.4.0 */
+#ifndef PNG_NO_IO_STATE
+#  define PNG_IO_STATE_SUPPORTED
+#endif
+
 /* These are currently experimental features, define them if you want */
 
 /* very little testing */
@@ -988,8 +990,7 @@
  * numbers suggest (a png_uint_32 must be at least 32 bits long), but they
  * don't have to be exactly that size.  Some compilers dislike passing
  * unsigned shorts as function parameters, so you may be better off using
- * unsigned int for png_uint_16.  Likewise, for 64-bit systems, you may
- * want to have unsigned int for png_uint_32 instead of unsigned long.
+ * unsigned int for png_uint_16.
  */
 
 #if defined(INT_MAX) && (INT_MAX > 0x7ffffffeL)
@@ -1003,14 +1004,10 @@
 typedef short png_int_16;
 typedef unsigned char png_byte;
 
-/* This is usually size_t.  It is typedef'ed just in case you need it to
-   change (I'm not sure if you will or not, so I thought I'd be safe) */
-#ifdef PNG_SIZE_T
-   typedef PNG_SIZE_T png_size_t;
-#  define png_sizeof(x) png_convert_size(sizeof (x))
+#ifdef PNG_NO_SIZE_T
+   typedef unsigned int png_size_t;
 #else
    typedef size_t png_size_t;
-#  define png_sizeof(x) sizeof (x)
 #endif
 
 /* The following is needed for medium model support.  It cannot be in the
@@ -1281,8 +1278,8 @@
 #  endif
 #endif
 
-/* User may want to use these so they are not in PNG_INTERNAL. Any library
- * functions that are passed far data must be model independent.
+/* Users may want to use these so they are not private.  Any library
+ * functions that are passed far data must be model-independent.
  */
 
 #ifdef PNG_SETJMP_SUPPORTED
@@ -1338,24 +1335,33 @@
 #  endif
 #endif
 
+/* png_alloc_size_t is guaranteed to be no smaller than png_size_t,
+ * and no smaller than png_uint_32.  Casts from png_size_t or png_uint_32
+ * to png_alloc_size_t are not necessary; in fact, it is recommended
+ * not to use them at all so that the compiler can complain when something
+ * turns out to be problematic.
+ * Casts in the other direction (from png_alloc_size_t to png_size_t or
+ * png_uint_32) should be explicitly applied; however, we do not expect
+ * to encounter practical situations that require such conversions.
+ */
 #if defined(__TURBOC__) && !defined(__FLAT__)
 #  define  png_mem_alloc farmalloc
 #  define  png_mem_free  farfree
-   typedef unsigned long png_mem_size_t;
+   typedef unsigned long png_alloc_size_t;
 #else
 #  if defined(_MSC_VER) && defined(MAXSEG_64K)
 #    define  png_mem_alloc(s) halloc(s, 1)
 #    define  png_mem_free     hfree
-     typedef unsigned long    png_mem_size_t;
-#else
-#    if defined(_WINDOWS_)
+     typedef unsigned long    png_alloc_size_t;
+#  else
+#    if defined(_WINDOWS_) && (!defined(INT_MAX) || INT_MAX <= 0x7ffffffeL)
 #      define  png_mem_alloc(s) HeapAlloc(GetProcessHeap(), 0, s)
 #      define  png_mem_free(p)  HeapFree(GetProcessHeap(), 0, p)
-       typedef SIZE_T           png_mem_size_t;
+       typedef DWORD            png_alloc_size_t;
 #    else
 #      define  png_mem_alloc malloc
 #      define  png_mem_free  free
-       typedef size_t        png_mem_size_t;
+       typedef png_size_t    png_alloc_size_t;
 #    endif
 #  endif
 #endif
diff --git a/pngerror.c b/pngerror.c
index 0acc754..97a5699 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -14,7 +14,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
 static void /* PRIVATE */
@@ -231,7 +231,7 @@
 #  ifdef USE_FAR_KEYWORD
    {
       jmp_buf jmpbuf;
-      png_memcpy(jmpbuf,png_ptr->jmpbuf,png_sizeof(jmp_buf));
+      png_memcpy(jmpbuf, png_ptr->jmpbuf, sizeof(jmp_buf));
       longjmp(jmpbuf, 1);
    }
 #  else
diff --git a/pnggccrd.c b/pnggccrd.c
index 4c4d028..2ed8e6b 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -7,7 +7,7 @@
  *     and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
  *     for Intel's performance analysis of the MMX vs. non-MMX code.
  *
- * Last changed in libpng 1.4.0 April 20, 2006
+ * Last changed in libpng 1.4.0 August 3, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
@@ -228,6 +228,8 @@
  *   - more tinkering with clobber list at lines 4529 and 5033, to get
  *     it to compile on gcc-3.4.
  *
+ * 20060803: patch to compile on x86_64
+ *
  * STILL TO DO:
  *     - test png_do_read_interlace() 64-bit case (pixel_bytes == 8)
  *     - write MMX code for 48-bit case (pixel_bytes == 6)
@@ -243,7 +245,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_USE_PNGGCCRD)
 
@@ -428,7 +430,7 @@
    {
       png_debug(2,"mask == 0xff:  doing single png_memcpy()\n");
       png_memcpy(row, png_ptr->row_buf + 1,
-       (png_size_t)PNG_ROWBYTES(png_ptr->row_info.pixel_depth,png_ptr->width));
+         PNG_ROWBYTES(png_ptr->row_info.pixel_depth,png_ptr->width));
    }
    else   /* (png_combine_row() is never called with mask == 0) */
    {
@@ -1711,7 +1713,7 @@
                      int dummy_value_c;   // fix 'forbidden register spilled'
                      int dummy_value_S;
                      int dummy_value_D;
-                     int dummy_value_a;
+                     long dummy_value_a;
 
                      __asm__ __volatile__ (
                         "subl $21, %%edi         \n\t"
@@ -1764,7 +1766,7 @@
                      int dummy_value_c;   // fix 'forbidden register spilled'
                      int dummy_value_S;
                      int dummy_value_D;
-                     int dummy_value_a;
+                     long dummy_value_a;
 
                      __asm__ __volatile__ (
                         "subl $9, %%edi          \n\t"
@@ -1818,8 +1820,8 @@
                         int dummy_value_c;  // fix 'forbidden register spilled'
                         int dummy_value_S;
                         int dummy_value_D;
-                        int dummy_value_a;
-                        int dummy_value_d;
+                        long dummy_value_a;
+                        long dummy_value_d;
 
                         __asm__ __volatile__ (
                            "subl $3, %%esi          \n\t"
@@ -2767,8 +2769,12 @@
    __asm__ __volatile__ (
       // initialize address pointers and offset
 #ifdef __PIC__
+#ifdef __x86_64__
+      "pushq %%rbx                 \n\t" // save index to Global Offset Table
+#else
       "pushl %%ebx                 \n\t" // save index to Global Offset Table
 #endif
+#endif
 //pre "movl row, %%edi             \n\t" // edi:  Avg(x)
       "xorl %%ebx, %%ebx           \n\t" // ebx:  x
       "movl %%edi, %%edx           \n\t"
@@ -2823,8 +2829,12 @@
       "subl %%eax, %%ecx           \n\t" // drop over bytes from original length
       "movl %%ecx, _MMXLength      \n\t"
 #ifdef __PIC__
+#ifdef __x86_64__
+      "popq %%rbx                  \n\t" // restore index to Global Offset Table
+#else
       "popl %%ebx                  \n\t" // restore index to Global Offset Table
 #endif
+#endif
 
       : "=c" (dummy_value_c),            // output regs (dummy)
         "=S" (dummy_value_S),
@@ -3199,8 +3209,12 @@
          __asm__ __volatile__ (
             // re-init address pointers and offset
 #ifdef __PIC__
+#ifdef __x86_64__
+            "pushq %%rbx                 \n\t" // save Global Offset Table index
+#else
             "pushl %%ebx                 \n\t" // save Global Offset Table index
 #endif
+#endif
             "movl _dif, %%ebx            \n\t" // ebx:  x = offset to alignment
                                                // boundary
 // preload  "movl row, %%edi             \n\t" // edi:  Avg(x)
@@ -3230,8 +3244,12 @@
 
          "avg_1end:                      \n\t"
 #ifdef __PIC__
+#ifdef __x86_64
+            "popq %%rbx                  \n\t" // Global Offset Table index
+#else
             "popl %%ebx                  \n\t" // Global Offset Table index
 #endif
+#endif
 
             : "=c" (dummy_value_c),            // output regs (dummy)
               "=S" (dummy_value_S),
@@ -3359,8 +3377,12 @@
       // MMX acceleration complete; now do clean-up
       // check if any remaining bytes left to decode
 #ifdef __PIC__
+#ifdef __x86_64__
+      "pushq %%rbx                 \n\t" // save index to Global Offset Table
+#else
       "pushl %%ebx                 \n\t" // save index to Global Offset Table
 #endif
+#endif
       "movl _MMXLength, %%ebx      \n\t" // ebx:  x == offset bytes after MMX
 //pre "movl row, %%edi             \n\t" // edi:  Avg(x)
       "cmpl _FullLength, %%ebx     \n\t" // test if offset at end of array
@@ -3389,8 +3411,12 @@
    "avg_end:                       \n\t"
       "EMMS                        \n\t" // end MMX; prep for poss. FP instrs.
 #ifdef __PIC__
+#ifdef __x86_64__
+      "popq %%rbx                  \n\t" // restore index to Global Offset Table
+#else
       "popl %%ebx                  \n\t" // restore index to Global Offset Table
 #endif
+#endif
 
       : "=c" (dummy_value_c),            // output regs (dummy)
         "=S" (dummy_value_S),
@@ -3434,8 +3460,12 @@
 
    __asm__ __volatile__ (
 #ifdef __PIC__
+#ifdef __x86_64__
+      "pushq %%rbx                 \n\t" // save index to Global Offset Table
+#else
       "pushl %%ebx                 \n\t" // save index to Global Offset Table
 #endif
+#endif
       "xorl %%ebx, %%ebx           \n\t" // ebx:  x offset
 //pre "movl row, %%edi             \n\t"
       "xorl %%edx, %%edx           \n\t" // edx:  x-bpp offset
@@ -3544,8 +3574,12 @@
       "subl %%eax, %%ecx           \n\t" // drop over bytes from original length
       "movl %%ecx, _MMXLength      \n\t"
 #ifdef __PIC__
+#ifdef __x86_64__
+      "popq %%rbx                  \n\t" // restore index to Global Offset Table
+#else
       "popl %%ebx                  \n\t" // restore index to Global Offset Table
 #endif
+#endif
 
       : "=c" (dummy_value_c),            // output regs (dummy)
         "=S" (dummy_value_S),
@@ -4244,8 +4278,12 @@
       {
          __asm__ __volatile__ (
 #ifdef __PIC__
+#ifdef __x86_64__
+            "pushq %%rbx                 \n\t" // save Global Offset Table index
+#else
             "pushl %%ebx                 \n\t" // save Global Offset Table index
 #endif
+#endif
             "movl _dif, %%ebx            \n\t"
             "cmpl _FullLength, %%ebx     \n\t"
             "jnb paeth_dend              \n\t"
@@ -4331,8 +4369,12 @@
 
          "paeth_dend:                    \n\t"
 #ifdef __PIC__
+#ifdef __x86_64__
+            "popq %%rbx                  \n\t" // index to Global Offset Table
+#else
             "popl %%ebx                  \n\t" // index to Global Offset Table
 #endif
+#endif
 
             : "=c" (dummy_value_c),            // output regs (dummy)
               "=S" (dummy_value_S),
@@ -4356,8 +4398,12 @@
       // MMX acceleration complete; now do clean-up
       // check if any remaining bytes left to decode
 #ifdef __PIC__
+#ifdef __x86_64__
+      "pushq %%rbx                 \n\t" // save index to Global Offset Table
+#else
       "pushl %%ebx                 \n\t" // save index to Global Offset Table
 #endif
+#endif
       "movl _MMXLength, %%ebx      \n\t"
       "cmpl _FullLength, %%ebx     \n\t"
       "jnb paeth_end               \n\t"
@@ -4443,8 +4489,12 @@
    "paeth_end:                     \n\t"
       "EMMS                        \n\t" // end MMX; prep for poss. FP instrs.
 #ifdef __PIC__
+#ifdef __x86_64__
+      "popq %%rbx                  \n\t" // restore index to Global Offset Table
+#else
       "popl %%ebx                  \n\t" // restore index to Global Offset Table
 #endif
+#endif
 
       : "=c" (dummy_value_c),            // output regs (dummy)
         "=S" (dummy_value_S),
@@ -4912,8 +4962,12 @@
 //pre "movl row, %%edi              \n\t"
       // get # of bytes to alignment
 #ifdef __PIC__
+#ifdef __x86_64__
+      "pushq %%rbx                  \n\t"
+#else
       "pushl %%ebx                  \n\t"
 #endif
+#endif
       "movl %%edi, %%ecx            \n\t"
       "xorl %%ebx, %%ebx            \n\t"
       "addl $0x7, %%ecx             \n\t"
@@ -5014,8 +5068,12 @@
    "up_end:                         \n\t"
       "EMMS                         \n\t" // conversion of filtered row complete
 #ifdef __PIC__
+#ifdef __x86_64__
+      "popq %%rbx                   \n\t"
+#else
       "popl %%ebx                   \n\t"
 #endif
+#endif
 
       : "=d" (dummy_value_d),   // 0      // output regs (dummy)
         "=S" (dummy_value_S),   // 1
@@ -5298,23 +5356,45 @@
 #if defined(PNG_MMX_CODE_SUPPORTED)
     int result;
     __asm__ __volatile__ (
+#ifdef __x86_64__
+        "pushq %%rbx          \n\t"  // rbx gets clobbered by CPUID instruction
+        "pushq %%rcx          \n\t"  // so does rcx...
+        "pushq %%rdx          \n\t"  // ...and rdx (but rcx & rdx safe on Linux)
+#else
         "pushl %%ebx          \n\t"  // ebx gets clobbered by CPUID instruction
         "pushl %%ecx          \n\t"  // so does ecx...
         "pushl %%edx          \n\t"  // ...and edx (but ecx & edx safe on Linux)
+#endif
 //      ".byte  0x66          \n\t"  // convert 16-bit pushf to 32-bit pushfd
 //      "pushf                \n\t"  // 16-bit pushf
+#ifdef __x86_64__
+        "pushfq               \n\t"  // save Eflag to stack
+        "popq %%rax           \n\t"  // get Eflag from stack into rax
+        "movq %%rax, %%rcx    \n\t"  // make another copy of Eflag in rcx
+        "xorl $0x200000, %%eax \n\t" // toggle ID bit in Eflag (i.e., bit 21)
+        "pushq %%rax          \n\t"  // save modified Eflag back to stack
+#else
         "pushfl               \n\t"  // save Eflag to stack
         "popl %%eax           \n\t"  // get Eflag from stack into eax
         "movl %%eax, %%ecx    \n\t"  // make another copy of Eflag in ecx
         "xorl $0x200000, %%eax \n\t" // toggle ID bit in Eflag (i.e., bit 21)
         "pushl %%eax          \n\t"  // save modified Eflag back to stack
+#endif
 //      ".byte  0x66          \n\t"  // convert 16-bit popf to 32-bit popfd
 //      "popf                 \n\t"  // 16-bit popf
+#ifdef __x86_64__
+        "popfq                \n\t"  // restore modified value to Eflag reg
+        "pushfq               \n\t"  // save Eflag to stack
+        "popq %%rax           \n\t"  // get Eflag from stack
+        "pushq %%rcx          \n\t"  // save original Eflag to stack
+        "popfq                \n\t"  // restore original Eflag
+#else
         "popfl                \n\t"  // restore modified value to Eflag reg
         "pushfl               \n\t"  // save Eflag to stack
         "popl %%eax           \n\t"  // get Eflag from stack
         "pushl %%ecx          \n\t"  // save original Eflag to stack
         "popfl                \n\t"  // restore original Eflag
+#endif
         "xorl %%ecx, %%eax    \n\t"  // compare new Eflag with original Eflag
         "jz 0f                \n\t"  // if same, CPUID instr. is not supported
 
@@ -5338,9 +5418,15 @@
     "0:                       \n\t"  // .NOT_SUPPORTED: target label for jump instructions
         "movl $0, %%eax       \n\t"  // set return value to 0
     "1:                       \n\t"  // .RETURN: target label for jump instructions
+#ifdef __x86_64__
+        "popq %%rdx           \n\t"  // restore rdx
+        "popq %%rcx           \n\t"  // restore rcx
+        "popq %%rbx           \n\t"  // restore rbx
+#else
         "popl %%edx           \n\t"  // restore edx
         "popl %%ecx           \n\t"  // restore ecx
         "popl %%ebx           \n\t"  // restore ebx
+#endif
 
 //      "ret                  \n\t"  // DONE:  no MMX support
                                      // (fall through to standard C "ret")
diff --git a/pngget.c b/pngget.c
index ccba640..bcc0dce 100644
--- a/pngget.c
+++ b/pngget.c
@@ -9,7 +9,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
 
@@ -22,7 +22,7 @@
       return(0);
 }
 
-png_uint_32 PNGAPI
+png_size_t PNGAPI
 png_get_rowbytes(png_structp png_ptr, png_infop info_ptr)
 {
    if (png_ptr != NULL && info_ptr != NULL)
@@ -571,7 +571,7 @@
                  - 8)       /* extra max_pixel_depth pad */
       {
          png_warning(png_ptr,
-            "Width too large for libpng to process image data.");
+            "Width too large for libpng to process image data");
       }
       return (1);
    }
@@ -822,10 +822,10 @@
 #endif
 
 #ifdef PNG_WRITE_SUPPORTED
-png_uint_32 PNGAPI
+png_size_t PNGAPI
 png_get_compression_buffer_size(png_structp png_ptr)
 {
-   return (png_uint_32)(png_ptr? png_ptr->zbuf_size : 0L);
+   return (png_ptr ? png_ptr->zbuf_size : 0);
 }
 #endif
 
@@ -933,4 +933,18 @@
 }
 #endif /* ?PNG_SET_USER_LIMITS_SUPPORTED */
 
+#ifdef PNG_IO_STATE_SUPPORTED
+png_uint_32 PNGAPI
+png_get_io_state (png_structp png_ptr)
+{
+    return png_ptr->io_state;
+}
+
+png_bytep PNGAPI
+png_get_io_chunk_name (png_structp png_ptr)
+{
+   return png_ptr->chunk_name;
+}
+#endif /* ?PNG_IO_STATE_SUPPORTED */
+
 #endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
diff --git a/pngmem.c b/pngmem.c
index be2431a..1c87f60 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 April 20, 2006
+ * Last changed in libpng 1.4.0 July 13, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -15,7 +15,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
 
@@ -29,7 +29,7 @@
 png_create_struct(int type)
 {
 #ifdef PNG_USER_MEM_SUPPORTED
-   return (png_create_struct_2(type, png_malloc_ptr_NULL, png_voidp_NULL));
+   return (png_create_struct_2(type, NULL, NULL));
 }
 
 /* Alternate version of png_create_struct, for use with user-defined malloc. */
@@ -41,9 +41,9 @@
    png_voidp struct_ptr;
 
    if (type == PNG_STRUCT_INFO)
-     size = png_sizeof(png_info);
+     size = sizeof(png_info);
    else if (type == PNG_STRUCT_PNG)
-     size = png_sizeof(png_struct);
+     size = sizeof(png_struct);
    else
      return (png_get_copyright(NULL));
 
@@ -53,7 +53,7 @@
       png_struct dummy_struct;
       png_structp png_ptr = &dummy_struct;
       png_ptr->mem_ptr=mem_ptr;
-      struct_ptr = (*(malloc_fn))(png_ptr, (png_uint_32)size);
+      struct_ptr = (*(malloc_fn))(png_ptr, size);
    }
    else
 #endif /* PNG_USER_MEM_SUPPORTED */
@@ -68,7 +68,7 @@
 png_destroy_struct(png_voidp struct_ptr)
 {
 #ifdef PNG_USER_MEM_SUPPORTED
-   png_destroy_struct_2(struct_ptr, png_free_ptr_NULL, png_voidp_NULL);
+   png_destroy_struct_2(struct_ptr, NULL, NULL);
 }
 
 /* Free memory allocated by a png_create_struct() call */
@@ -114,7 +114,7 @@
  */
 
 png_voidp PNGAPI
-png_malloc(png_structp png_ptr, png_uint_32 size)
+png_malloc(png_structp png_ptr, png_alloc_size_t size)
 {
    png_voidp ret;
 
@@ -123,22 +123,22 @@
 
 #ifdef PNG_USER_MEM_SUPPORTED
    if(png_ptr->malloc_fn != NULL)
-       ret = ((png_voidp)(*(png_ptr->malloc_fn))(png_ptr, (png_size_t)size));
+       ret = (*(png_ptr->malloc_fn))(png_ptr, size);
    else
-       ret = (png_malloc_default(png_ptr, size));
+       ret = png_malloc_default(png_ptr, size);
    if (ret == NULL && (png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
        png_error(png_ptr, "Out of memory!");
    return (ret);
 }
 
 png_voidp PNGAPI
-png_malloc_default(png_structp png_ptr, png_uint_32 size)
+png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
 {
    png_voidp ret;
 #endif /* PNG_USER_MEM_SUPPORTED */
 
 #ifdef PNG_MAX_MALLOC_64K
-   if (size > (png_uint_32)65536L)
+   if (size > (png_alloc_size_t)65536L)
    {
       png_warning(png_ptr, "Cannot Allocate > 64K");
       ret = NULL;
@@ -146,9 +146,12 @@
    else
 #endif
 
+#if !defined(INT_MAX) || (INT_MAX <= 0x7ffffffeL)
    if (size != (size_t)size)
-     ret = NULL;
-   else if (size == (png_uint_32)65536L)
+      ret = NULL;
+   else
+#endif
+   if (size == (png_alloc_size_t)65536L)
    {
       if (png_ptr->offset_table == NULL)
       {
@@ -185,9 +188,9 @@
             {
 #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" and "M" */
                else
-                  png_warning(png_ptr, "Out Of Memory.");
+                  png_warning(png_ptr, "Out Of Memory");
 #endif
                return (NULL);
             }
@@ -207,15 +210,15 @@
 
             png_ptr->offset_table = table;
             png_ptr->offset_table_ptr = farmalloc(num_blocks *
-               png_sizeof (png_bytep));
+               sizeof(png_bytep));
 
             if (png_ptr->offset_table_ptr == NULL)
             {
 #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" and "M" */
                else
-                  png_warning(png_ptr, "Out Of memory.");
+                  png_warning(png_ptr, "Out Of memory");
 #endif
                return (NULL);
             }
@@ -242,9 +245,9 @@
       {
 #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" and "M" */
          else
-            png_warning(png_ptr, "Out of Memory.");
+            png_warning(png_ptr, "Out of Memory");
 #endif
          return (NULL);
       }
@@ -258,9 +261,9 @@
    if (ret == NULL)
    {
       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" and "m" */
       else
-         png_warning(png_ptr, "Out of memory."); /* Note "o" and "m" */
+         png_warning(png_ptr, "Out of memory"); /* Note "o" and "m" */
    }
 #endif
 
@@ -327,7 +330,7 @@
 png_create_struct(int type)
 {
 #ifdef PNG_USER_MEM_SUPPORTED
-   return (png_create_struct_2(type, png_malloc_ptr_NULL, png_voidp_NULL));
+   return (png_create_struct_2(type, NULL, NULL));
 }
 
 /* Allocate memory for a png_struct or a png_info.  The malloc and
@@ -341,14 +344,14 @@
    png_voidp struct_ptr;
 
    if (type == PNG_STRUCT_INFO)
-      size = png_sizeof(png_info);
+      size = sizeof(png_info);
    else if (type == PNG_STRUCT_PNG)
-      size = png_sizeof(png_struct);
+      size = sizeof(png_struct);
    else
       return (NULL);
 
 #ifdef PNG_USER_MEM_SUPPORTED
-   if(malloc_fn != NULL)
+   if (malloc_fn != NULL)
    {
       png_struct dummy_struct;
       png_structp png_ptr = &dummy_struct;
@@ -373,7 +376,7 @@
 png_destroy_struct(png_voidp struct_ptr)
 {
 #ifdef PNG_USER_MEM_SUPPORTED
-   png_destroy_struct_2(struct_ptr, png_free_ptr_NULL, png_voidp_NULL);
+   png_destroy_struct_2(struct_ptr, NULL, NULL);
 }
 
 /* Free memory allocated by a png_create_struct() call */
@@ -405,7 +408,7 @@
    have the ability to do that. */
 
 png_voidp PNGAPI
-png_malloc(png_structp png_ptr, png_uint_32 size)
+png_malloc(png_structp png_ptr, png_alloc_size_t size)
 {
    png_voidp ret;
 
@@ -413,17 +416,17 @@
    if (png_ptr == NULL || size == 0)
       return (NULL);
 
-   if(png_ptr->malloc_fn != NULL)
-       ret = ((png_voidp)(*(png_ptr->malloc_fn))(png_ptr, (png_size_t)size));
+   if (png_ptr->malloc_fn != NULL)
+       ret = (*(png_ptr->malloc_fn))(png_ptr, size);
    else
-       ret = (png_malloc_default(png_ptr, size));
+       ret = png_malloc_default(png_ptr, size);
    if (ret == NULL && (png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
        png_error(png_ptr, "Out of Memory!");
    return (ret);
 }
 
 png_voidp PNGAPI
-png_malloc_default(png_structp png_ptr, png_uint_32 size)
+png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
 {
    png_voidp ret;
 #endif /* PNG_USER_MEM_SUPPORTED */
@@ -432,7 +435,7 @@
       return (NULL);
 
 #ifdef PNG_MAX_MALLOC_64K
-   if (size > (png_uint_32)65536L)
+   if (size > (png_alloc_size_t)65536L)
    {
 #ifndef PNG_USER_MEM_SUPPORTED
       if(png_ptr->flags&PNG_FLAG_MALLOC_NULL_MEM_OK) == 0)
@@ -443,10 +446,6 @@
    }
 #endif
 
- /* Check for overflow */
- if (size != (png_mem_size_t)size)
-   ret = NULL;
- else
    ret = png_mem_alloc(size);
 
 #ifndef PNG_USER_MEM_SUPPORTED
@@ -491,7 +490,7 @@
  * memory.
  */
 png_voidp PNGAPI
-png_malloc_warn(png_structp png_ptr, png_uint_32 size)
+png_malloc_warn(png_structp png_ptr, png_alloc_size_t size)
 {
    png_voidp ptr;
    png_uint_32 save_flags=png_ptr->flags;
@@ -502,33 +501,6 @@
    return(ptr);
 }
 
-png_voidp PNGAPI
-png_memcpy_check (png_structp png_ptr, png_voidp s1, png_voidp s2,
-   png_uint_32 length)
-{
-   png_size_t size;
-
-   size = (png_size_t)length;
-   if ((png_uint_32)size != length)
-      png_error(png_ptr,"Overflow in png_memcpy_check.");
-
-   return(png_memcpy (s1, s2, size));
-}
-
-png_voidp PNGAPI
-png_memset_check (png_structp png_ptr, png_voidp s1, int value,
-   png_uint_32 length)
-{
-   png_size_t size;
-
-   size = (png_size_t)length;
-   if ((png_uint_32)size != length)
-      png_error(png_ptr,"Overflow in png_memset_check.");
-
-   return (png_memset (s1, value, size));
-
-}
-
 #ifdef PNG_USER_MEM_SUPPORTED
 /* This function is called when the application wants to use another method
  * of allocating and freeing memory.
@@ -552,4 +524,5 @@
    return ((png_voidp)png_ptr->mem_ptr);
 }
 #endif /* PNG_USER_MEM_SUPPORTED */
+
 #endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
diff --git a/pngpread.c b/pngpread.c
index 1a41e63..6aaaf92 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -9,7 +9,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
 
@@ -214,7 +214,7 @@
       png_ptr->mode |= PNG_HAVE_CHUNK_HEADER;
    }
 
-   if (!png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4))
+   if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
      if(png_ptr->mode & PNG_AFTER_IDAT)
         png_ptr->mode |= PNG_HAVE_CHUNK_AFTER_IDAT;
 
@@ -271,7 +271,7 @@
       }
       png_handle_PLTE(png_ptr, info_ptr, png_ptr->push_length);
    }
-   else if (!png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4))
+   else if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
    {
       /* If we reach an IDAT chunk, this means we have read all of the
        * header chunks, and we can start reading the image (or if this
@@ -626,8 +626,7 @@
       }
       new_max = png_ptr->save_buffer_size + png_ptr->current_buffer_size + 256;
       old_buffer = png_ptr->save_buffer;
-      png_ptr->save_buffer = (png_bytep)png_malloc(png_ptr,
-         (png_uint_32)new_max);
+      png_ptr->save_buffer = (png_bytep)png_malloc(png_ptr, new_max);
       png_memcpy(png_ptr->save_buffer, old_buffer, png_ptr->save_buffer_size);
       png_free(png_ptr, old_buffer);
       png_ptr->save_buffer_max = new_max;
@@ -675,7 +674,7 @@
       png_crc_read(png_ptr, png_ptr->chunk_name, 4);
       png_ptr->mode |= PNG_HAVE_CHUNK_HEADER;
 
-      if (png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4))
+      if (png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
       {
          png_ptr->process_mode = PNG_READ_CHUNK_MODE;
          if (!(png_ptr->flags & PNG_FLAG_ZLIB_FINISHED))
@@ -817,8 +816,7 @@
       png_ptr->row_buf + 1, png_ptr->prev_row + 1,
       (int)(png_ptr->row_buf[0]));
 
-   png_memcpy_check(png_ptr, png_ptr->prev_row, png_ptr->row_buf,
-      png_ptr->rowbytes + 1);
+   png_memcpy(png_ptr->prev_row, png_ptr->row_buf, png_ptr->rowbytes + 1);
 
    if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
       png_do_read_transformations(png_ptr);
@@ -848,7 +846,7 @@
             {
                for (i = 0; i < 4 && png_ptr->pass == 2; i++)
                {
-                  png_push_have_row(png_ptr, png_bytep_NULL);
+                  png_push_have_row(png_ptr, NULL);
                   png_read_push_finish_row(png_ptr);
                }
             }
@@ -856,13 +854,13 @@
             {
                for (i = 0; i < 2 && png_ptr->pass == 4; i++)
                {
-                  png_push_have_row(png_ptr, png_bytep_NULL);
+                  png_push_have_row(png_ptr, NULL);
                   png_read_push_finish_row(png_ptr);
                }
             }
             if (png_ptr->pass == 6 && png_ptr->height <= 4)
             {
-                png_push_have_row(png_ptr, png_bytep_NULL);
+                png_push_have_row(png_ptr, NULL);
                 png_read_push_finish_row(png_ptr);
             }
             break;
@@ -879,7 +877,7 @@
             {
                for (i = 0; i < 4 && png_ptr->pass == 2; i++)
                {
-                  png_push_have_row(png_ptr, png_bytep_NULL);
+                  png_push_have_row(png_ptr, NULL);
                   png_read_push_finish_row(png_ptr);
                }
             }
@@ -895,14 +893,14 @@
             }
             for (i = 0; i < 4 && png_ptr->pass == 2; i++)
             {
-               png_push_have_row(png_ptr, png_bytep_NULL);
+               png_push_have_row(png_ptr, NULL);
                png_read_push_finish_row(png_ptr);
             }
             if (png_ptr->pass == 4) /* pass 3 might be empty */
             {
                for (i = 0; i < 2 && png_ptr->pass == 4; i++)
                {
-                  png_push_have_row(png_ptr, png_bytep_NULL);
+                  png_push_have_row(png_ptr, NULL);
                   png_read_push_finish_row(png_ptr);
                }
             }
@@ -920,7 +918,7 @@
             {
                for (i = 0; i < 2 && png_ptr->pass == 4; i++)
                {
-                  png_push_have_row(png_ptr, png_bytep_NULL);
+                  png_push_have_row(png_ptr, NULL);
                   png_read_push_finish_row(png_ptr);
                }
             }
@@ -936,12 +934,12 @@
             }
             for (i = 0; i < 2 && png_ptr->pass == 4; i++)
             {
-               png_push_have_row(png_ptr, png_bytep_NULL);
+               png_push_have_row(png_ptr, NULL);
                png_read_push_finish_row(png_ptr);
             }
             if (png_ptr->pass == 6) /* pass 5 might be empty */
             {
-               png_push_have_row(png_ptr, png_bytep_NULL);
+               png_push_have_row(png_ptr, NULL);
                png_read_push_finish_row(png_ptr);
             }
             break;
@@ -956,7 +954,7 @@
             }
             if (png_ptr->pass == 6) /* skip top generated row */
             {
-               png_push_have_row(png_ptr, png_bytep_NULL);
+               png_push_have_row(png_ptr, NULL);
                png_read_push_finish_row(png_ptr);
             }
             break;
@@ -967,7 +965,7 @@
             png_read_push_finish_row(png_ptr);
             if (png_ptr->pass != 6)
                break;
-            png_push_have_row(png_ptr, png_bytep_NULL);
+            png_push_have_row(png_ptr, NULL);
             png_read_push_finish_row(png_ptr);
          }
       }
@@ -1016,8 +1014,7 @@
    if (png_ptr->interlaced)
    {
       png_ptr->row_number = 0;
-      png_memset_check(png_ptr, png_ptr->prev_row, 0,
-         png_ptr->rowbytes + 1);
+      png_memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
       do
       {
          png_ptr->pass++;
@@ -1075,7 +1072,7 @@
 #endif
 
    png_ptr->current_text = (png_charp)png_malloc(png_ptr,
-         (png_uint_32)(length+1));
+      (png_size_t)(length + 1));
    png_ptr->current_text[length] = '\0';
    png_ptr->current_text_ptr = png_ptr->current_text;
    png_ptr->current_text_size = (png_size_t)length;
@@ -1126,8 +1123,7 @@
       if (text != key + png_ptr->current_text_size)
          text++;
 
-      text_ptr = (png_textp)png_malloc(png_ptr,
-         (png_uint_32)png_sizeof(png_text));
+      text_ptr = (png_textp)png_malloc(png_ptr, sizeof(png_text));
       text_ptr->compression = PNG_TEXT_COMPRESSION_NONE;
       text_ptr->key = key;
 #ifdef PNG_iTXt_SUPPORTED
@@ -1143,7 +1139,7 @@
       png_ptr->current_text = NULL;
 
       if (ret)
-        png_warning(png_ptr, "Insufficient memory to store text chunk.");
+        png_warning(png_ptr, "Insufficient memory to store text chunk");
    }
 }
 #endif
@@ -1174,7 +1170,7 @@
 #endif
 
    png_ptr->current_text = (png_charp)png_malloc(png_ptr,
-       (png_uint_32)(length+1));
+      (png_size_t)(length+1));
    png_ptr->current_text[length] = '\0';
    png_ptr->current_text_ptr = png_ptr->current_text;
    png_ptr->current_text_size = (png_size_t)length;
@@ -1265,8 +1261,8 @@
             if (text == NULL)
             {
                text = (png_charp)png_malloc(png_ptr,
-                  (png_uint_32)(png_ptr->zbuf_size - png_ptr->zstream.avail_out
-                     + key_size + 1));
+                  png_ptr->zbuf_size - png_ptr->zstream.avail_out
+                     + key_size + 1);
                png_memcpy(text + key_size, png_ptr->zbuf,
                   png_ptr->zbuf_size - png_ptr->zstream.avail_out);
                png_memcpy(text, key, key_size);
@@ -1280,8 +1276,7 @@
 
                tmp = text;
                text = (png_charp)png_malloc(png_ptr, text_size +
-                  (png_uint_32)(png_ptr->zbuf_size - png_ptr->zstream.avail_out
-                   + 1));
+                  png_ptr->zbuf_size - png_ptr->zstream.avail_out + 1);
                png_memcpy(text, tmp, text_size);
                png_free(png_ptr, tmp);
                png_memcpy(text + text_size, png_ptr->zbuf,
@@ -1320,8 +1315,7 @@
       key = text;
       text += key_size;
 
-      text_ptr = (png_textp)png_malloc(png_ptr,
-          (png_uint_32)png_sizeof(png_text));
+      text_ptr = (png_textp)png_malloc(png_ptr, sizeof(png_text));
       text_ptr->compression = PNG_TEXT_COMPRESSION_zTXt;
       text_ptr->key = key;
 #ifdef PNG_iTXt_SUPPORTED
@@ -1336,7 +1330,7 @@
       png_free(png_ptr, text_ptr);
 
       if (ret)
-        png_warning(png_ptr, "Insufficient memory to store text chunk.");
+        png_warning(png_ptr, "Insufficient memory to store text chunk");
    }
 }
 #endif
@@ -1365,7 +1359,7 @@
 #endif
 
    png_ptr->current_text = (png_charp)png_malloc(png_ptr,
-         (png_uint_32)(length+1));
+      (png_size_t)(length+1));
    png_ptr->current_text[length] = '\0';
    png_ptr->current_text_ptr = png_ptr->current_text;
    png_ptr->current_text_size = (png_size_t)length;
@@ -1433,8 +1427,7 @@
       if (text != key + png_ptr->current_text_size)
          text++;
 
-      text_ptr = (png_textp)png_malloc(png_ptr,
-         (png_uint_32)png_sizeof(png_text));
+      text_ptr = (png_textp)png_malloc(png_ptr, sizeof(png_text));
       text_ptr->compression = comp_flag + 2;
       text_ptr->key = key;
       text_ptr->lang = lang;
@@ -1449,7 +1442,7 @@
 
       png_free(png_ptr, text_ptr);
       if (ret)
-        png_warning(png_ptr, "Insufficient memory to store iTXt chunk.");
+        png_warning(png_ptr, "Insufficient memory to store iTXt chunk");
    }
 }
 #endif
diff --git a/pngintrn.h b/pngpriv.h
similarity index 95%
rename from pngintrn.h
rename to pngpriv.h
index d935a55..2525d0f 100644
--- a/pngintrn.h
+++ b/pngpriv.h
@@ -1,25 +1,34 @@
 
-/* pngintrn.h - internal header file for libpng
+/* pngpriv.h - private declarations for use inside libpng
  *
- * libpng version 1.4.0beta10 - July 12, 2006
+ * libpng version 1.4.0beta11 - August 19, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 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.)
  */
 
-#ifndef PNGINTRN_H
-#define PNGINTRN_H
+/* The symbols declared in this file (including the functions declared
+ * as PNG_EXTERN) are PRIVATE.  They are not part of the libpng public
+ * interface, and are not recommended for use by regular applications.
+ * Some of them may become public in the future; others may stay private,
+ * change in an incompatible way, or even disappear.
+ * Although the libpng users are not forbidden to include this header,
+ * they should be well aware of the issues that may arise from doing so.
+ */
+
+#ifndef PNGPRIV_H
+#define PNGPRIV_H
 
 #ifndef PNG_VERSION_INFO_ONLY
 
 #include <stdlib.h>
 
-/* The functions exported by PNG_EXTERN are PNG_INTERNAL functions, which
+/* The functions exported by PNG_EXTERN are internal functions, which
  * aren't usually used outside the library (as far as I know), so it is
- * debatable if they should be exported at all.  In the future, when it is
- * possible to have run-time registry of chunk-handling functions, some of
- * these will be made available again.
+ * debatable if they should be exported at all.  In the future, when it
+ * is possible to have run-time registry of chunk-handling functions,
+ * some of these will be made available again.
 #define PNG_EXTERN extern
  */
 #define PNG_EXTERN
@@ -213,8 +222,8 @@
 /* Added to libpng-1.2.6 JB */
 #define PNG_ROWBYTES(pixel_bits, width) \
     ((pixel_bits) >= 8 ? \
-    ((width) * (((png_uint_32)(pixel_bits)) >> 3)) : \
-    (( ((width) * ((png_uint_32)(pixel_bits))) + 7) >> 3) )
+    ((png_size_t)(width) * (((png_size_t)(pixel_bits)) >> 3)) : \
+    (( ((png_size_t)(width) * ((png_size_t)(pixel_bits))) + 7) >> 3) )
 
 /* PNG_OUT_OF_RANGE returns true if value is outside the range
    ideal-delta..ideal+delta.  Each argument is evaluated twice.
@@ -320,17 +329,12 @@
 PNG_EXTERN void png_info_destroy PNGARG((png_structp png_ptr,
    png_infop info_ptr));
 
-/* Function to allocate memory for zlib. */
+/* Function to allocate memory for zlib.  PNGAPI is disallowed. */
 PNG_EXTERN voidpf png_zalloc PNGARG((voidpf png_ptr, uInt items, uInt size));
 
-/* Function to free memory for zlib */
+/* Function to free memory for zlib.  PNGAPI is disallowed. */
 PNG_EXTERN void png_zfree PNGARG((voidpf png_ptr, voidpf ptr));
 
-#ifdef PNG_SIZE_T
-/* Function to convert a sizeof an item to png_sizeof item */
-   PNG_EXTERN png_size_t PNGAPI png_convert_size PNGARG((size_t size));
-#endif
-
 /* Next four functions are used internally as callbacks.  PNGAPI is required
  * but not PNG_EXPORT.  PNGAPI added at libpng version 1.2.3. */
 
@@ -354,10 +358,13 @@
 /* Reset the CRC variable */
 PNG_EXTERN void png_reset_crc PNGARG((png_structp png_ptr));
 
-/* Write the "data" buffer to whatever output you are using. */
+/* Write the "data" buffer to whatever output you are using */
 PNG_EXTERN void png_write_data PNGARG((png_structp png_ptr, png_bytep data,
    png_size_t length));
 
+/* Read the chunk header (length + type name) */
+PNG_EXTERN png_uint_32 png_read_chunk_header PNGARG((png_structp png_ptr));
+
 /* Read data from whatever input you are using into the "data" buffer */
 PNG_EXTERN void png_read_data PNGARG((png_structp png_ptr, png_bytep data,
    png_size_t length));
@@ -871,6 +878,7 @@
 /* png.c */ /* PRIVATE */
 PNG_EXTERN void png_init_mmx_flags PNGARG((png_structp png_ptr));
 #endif
+
 /* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */
 
 #ifdef PNG_READ_SUPPORTED
@@ -917,4 +925,4 @@
 #endif
 
 #endif /* PNG_VERSION_INFO_ONLY */
-#endif /* PNGINTRN_H */
+#endif /* PNGPRIV_H */
diff --git a/pngread.c b/pngread.c
index 6448b39..ebde0cc 100644
--- a/pngread.c
+++ b/pngread.c
@@ -12,7 +12,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_READ_SUPPORTED)
 
@@ -24,7 +24,7 @@
 
 #ifdef PNG_USER_MEM_SUPPORTED
    return (png_create_read_struct_2(user_png_ver, error_ptr, error_fn,
-      warn_fn, png_voidp_NULL, png_malloc_ptr_NULL, png_free_ptr_NULL));
+      warn_fn, NULL, NULL, NULL));
 }
 
 /* Alternate create PNG structure for reading, and allocate any memory needed. */
@@ -48,7 +48,7 @@
    png_debug(1, "in png_create_read_struct\n");
 #ifdef PNG_USER_MEM_SUPPORTED
    png_ptr = (png_structp)png_create_struct_2(PNG_STRUCT_PNG,
-      (png_malloc_ptr)malloc_fn, (png_voidp)mem_ptr);
+      malloc_fn, mem_ptr);
 #else
    png_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG);
 #endif
@@ -83,7 +83,7 @@
       return (NULL);
    }
 #ifdef USE_FAR_KEYWORD
-   png_memcpy(png_ptr->jmpbuf,jmpbuf,png_sizeof(jmp_buf));
+   png_memcpy(png_ptr->jmpbuf, jmpbuf, sizeof(jmp_buf));
 #endif
 #endif
 
@@ -133,8 +133,7 @@
 
    /* initialize zbuf - compression buffer */
    png_ptr->zbuf_size = PNG_ZBUF_SIZE;
-   png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
-     (png_uint_32)png_ptr->zbuf_size);
+   png_ptr->zbuf = (png_bytep)png_malloc(png_ptr, png_ptr->zbuf_size);
    png_ptr->zstream.zalloc = png_zalloc;
    png_ptr->zstream.zfree = png_zfree;
    png_ptr->zstream.opaque = (voidpf)png_ptr;
@@ -151,7 +150,7 @@
    png_ptr->zstream.next_out = png_ptr->zbuf;
    png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
 
-   png_set_read_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL);
+   png_set_read_fn(png_ptr, NULL, NULL);
 
 #ifdef PNG_SETJMP_SUPPORTED
 /* Applications that neglect to set up their own setjmp() and then encounter
@@ -160,7 +159,7 @@
 #ifdef USE_FAR_KEYWORD
    if (setjmp(jmpbuf))
       PNG_ABORT();
-   png_memcpy(png_ptr->jmpbuf,jmpbuf,png_sizeof(jmp_buf));
+   png_memcpy(png_ptr->jmpbuf, jmpbuf, sizeof(jmp_buf));
 #else
    if (setjmp(png_ptr->jmpbuf))
       PNG_ABORT();
@@ -184,14 +183,14 @@
 
    do
    {
-     if(user_png_ver[i] != png_libpng_ver[i])
+     if (user_png_ver[i] != png_libpng_ver[i])
      {
 #ifdef PNG_LEGACY_SUPPORTED
        png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
 #else
        png_ptr->warning_fn=NULL;
        png_warning(png_ptr,
-        "Application uses deprecated png_read_init() and should be recompiled.");
+        "Application uses deprecated png_read_init() and should be recompiled");
        break;
 #endif
      }
@@ -201,22 +200,22 @@
 
 #ifdef PNG_SETJMP_SUPPORTED
    /* save jump buffer and error functions */
-   png_memcpy(tmp_jmp, png_ptr->jmpbuf, png_sizeof (jmp_buf));
+   png_memcpy(tmp_jmp, png_ptr->jmpbuf, sizeof(jmp_buf));
 #endif
 
-   if(png_sizeof(png_struct) > png_struct_size)
-     {
-       png_destroy_struct(png_ptr);
-       *ptr_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG);
-       png_ptr = *ptr_ptr;
-     }
+   if (sizeof(png_struct) > png_struct_size)
+   {
+      png_destroy_struct(png_ptr);
+      *ptr_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG);
+      png_ptr = *ptr_ptr;
+   }
 
    /* reset all variables to 0 */
-   png_memset(png_ptr, 0, png_sizeof (png_struct));
+   png_memset(png_ptr, 0, sizeof(png_struct));
 
 #ifdef PNG_SETJMP_SUPPORTED
    /* restore jump buffer */
-   png_memcpy(png_ptr->jmpbuf, tmp_jmp, png_sizeof (jmp_buf));
+   png_memcpy(png_ptr->jmpbuf, tmp_jmp, sizeof(jmp_buf));
 #endif
 
    /* added at libpng-1.2.6 */
@@ -227,8 +226,7 @@
 
    /* initialize zbuf - compression buffer */
    png_ptr->zbuf_size = PNG_ZBUF_SIZE;
-   png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
-     (png_uint_32)png_ptr->zbuf_size);
+   png_ptr->zbuf = (png_bytep)png_malloc(png_ptr, png_ptr->zbuf_size);
    png_ptr->zstream.zalloc = png_zalloc;
    png_ptr->zstream.zfree = png_zfree;
    png_ptr->zstream.opaque = (voidpf)png_ptr;
@@ -245,7 +243,7 @@
    png_ptr->zstream.next_out = png_ptr->zbuf;
    png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
 
-   png_set_read_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL);
+   png_set_read_fn(png_ptr, NULL, NULL);
 }
 
 #ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
@@ -267,6 +265,9 @@
       png_size_t num_checked = png_ptr->sig_bytes,
                  num_to_check = 8 - num_checked;
 
+#ifdef PNG_IO_STATE_SUPPORTED
+      png_ptr->io_state = PNG_IO_READING | PNG_IO_SIGNATURE;
+#endif
       png_read_data(png_ptr, &(info_ptr->signature[num_checked]), num_to_check);
       png_ptr->sig_bytes = 8;
 
@@ -341,38 +342,29 @@
       PNG_zTXt;
 #endif
 #endif /* PNG_USE_LOCAL_ARRAYS */
-      png_byte chunk_length[4];
-      png_uint_32 length;
-
-      png_read_data(png_ptr, chunk_length, 4);
-      length = png_get_uint_31(png_ptr,chunk_length);
-
-      png_reset_crc(png_ptr);
-      png_crc_read(png_ptr, png_ptr->chunk_name, 4);
-
-      png_debug2(0, "Reading %s chunk, length=%lu.\n", png_ptr->chunk_name,
-         (unsigned long) length);
+      png_uint_32 length = png_read_chunk_header(png_ptr);
+      png_bytep chunk_name = png_ptr->chunk_name;
 
       /* This should be a binary subdivision search or a hash for
        * matching the chunk name rather than a linear search.
        */
-      if (!png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4))
-        if(png_ptr->mode & PNG_AFTER_IDAT)
+      if (!png_memcmp(chunk_name, png_IDAT, 4))
+        if (png_ptr->mode & PNG_AFTER_IDAT)
           png_ptr->mode |= PNG_HAVE_CHUNK_AFTER_IDAT;
 
-      if (!png_memcmp(png_ptr->chunk_name, png_IHDR, 4))
+      if (!png_memcmp(chunk_name, png_IHDR, 4))
          png_handle_IHDR(png_ptr, info_ptr, length);
-      else if (!png_memcmp(png_ptr->chunk_name, png_IEND, 4))
+      else if (!png_memcmp(chunk_name, png_IEND, 4))
          png_handle_IEND(png_ptr, info_ptr, length);
 #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
-      else if (png_handle_as_unknown(png_ptr, png_ptr->chunk_name))
+      else if (png_handle_as_unknown(png_ptr, chunk_name))
       {
-         if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
+         if (!png_memcmp(chunk_name, png_IDAT, 4))
             png_ptr->mode |= PNG_HAVE_IDAT;
          png_handle_unknown(png_ptr, info_ptr, length);
-         if (!png_memcmp(png_ptr->chunk_name, png_PLTE, 4))
+         if (!png_memcmp(chunk_name, png_PLTE, 4))
             png_ptr->mode |= PNG_HAVE_PLTE;
-         else if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
+         else if (!png_memcmp(chunk_name, png_IDAT, 4))
          {
             if (!(png_ptr->mode & PNG_HAVE_IHDR))
                png_error(png_ptr, "Missing IHDR before IDAT");
@@ -383,9 +375,9 @@
          }
       }
 #endif
-      else if (!png_memcmp(png_ptr->chunk_name, png_PLTE, 4))
+      else if (!png_memcmp(chunk_name, png_PLTE, 4))
          png_handle_PLTE(png_ptr, info_ptr, length);
-      else if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
+      else if (!png_memcmp(chunk_name, png_IDAT, 4))
       {
          if (!(png_ptr->mode & PNG_HAVE_IHDR))
             png_error(png_ptr, "Missing IHDR before IDAT");
@@ -398,71 +390,71 @@
          break;
       }
 #if defined(PNG_READ_bKGD_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_bKGD, 4))
+      else if (!png_memcmp(chunk_name, png_bKGD, 4))
          png_handle_bKGD(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_cHRM_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_cHRM, 4))
+      else if (!png_memcmp(chunk_name, png_cHRM, 4))
          png_handle_cHRM(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_gAMA_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_gAMA, 4))
+      else if (!png_memcmp(chunk_name, png_gAMA, 4))
          png_handle_gAMA(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_hIST_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_hIST, 4))
+      else if (!png_memcmp(chunk_name, png_hIST, 4))
          png_handle_hIST(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_oFFs_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_oFFs, 4))
+      else if (!png_memcmp(chunk_name, png_oFFs, 4))
          png_handle_oFFs(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_pCAL_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_pCAL, 4))
+      else if (!png_memcmp(chunk_name, png_pCAL, 4))
          png_handle_pCAL(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_sCAL_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_sCAL, 4))
+      else if (!png_memcmp(chunk_name, png_sCAL, 4))
          png_handle_sCAL(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_pHYs_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_pHYs, 4))
+      else if (!png_memcmp(chunk_name, png_pHYs, 4))
          png_handle_pHYs(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_sBIT_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_sBIT, 4))
+      else if (!png_memcmp(chunk_name, png_sBIT, 4))
          png_handle_sBIT(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_sRGB_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_sRGB, 4))
+      else if (!png_memcmp(chunk_name, png_sRGB, 4))
          png_handle_sRGB(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_iCCP_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_iCCP, 4))
+      else if (!png_memcmp(chunk_name, png_iCCP, 4))
          png_handle_iCCP(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_sPLT_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_sPLT, 4))
+      else if (!png_memcmp(chunk_name, png_sPLT, 4))
          png_handle_sPLT(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_tEXt_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_tEXt, 4))
+      else if (!png_memcmp(chunk_name, png_tEXt, 4))
          png_handle_tEXt(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_tIME_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_tIME, 4))
+      else if (!png_memcmp(chunk_name, png_tIME, 4))
          png_handle_tIME(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_tRNS_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_tRNS, 4))
+      else if (!png_memcmp(chunk_name, png_tRNS, 4))
          png_handle_tRNS(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_zTXt_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_zTXt, 4))
+      else if (!png_memcmp(chunk_name, png_zTXt, 4))
          png_handle_zTXt(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_iTXt_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_iTXt, 4))
+      else if (!png_memcmp(chunk_name, png_iTXt, 4))
          png_handle_iTXt(png_ptr, info_ptr, length);
 #endif
       else
@@ -518,31 +510,31 @@
    /* check for transforms that have been set but were defined out */
 #if defined(PNG_WRITE_INVERT_SUPPORTED) && !defined(PNG_READ_INVERT_SUPPORTED)
    if (png_ptr->transformations & PNG_INVERT_MONO)
-      png_warning(png_ptr, "PNG_READ_INVERT_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_READ_INVERT_SUPPORTED is not defined");
 #endif
 #if defined(PNG_WRITE_FILLER_SUPPORTED) && !defined(PNG_READ_FILLER_SUPPORTED)
    if (png_ptr->transformations & PNG_FILLER)
-      png_warning(png_ptr, "PNG_READ_FILLER_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_READ_FILLER_SUPPORTED is not defined");
 #endif
 #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.");
+      png_warning(png_ptr, "PNG_READ_PACKSWAP_SUPPORTED is not defined");
 #endif
 #if defined(PNG_WRITE_PACK_SUPPORTED) && !defined(PNG_READ_PACK_SUPPORTED)
    if (png_ptr->transformations & PNG_PACK)
-      png_warning(png_ptr, "PNG_READ_PACK_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_READ_PACK_SUPPORTED is not defined");
 #endif
 #if defined(PNG_WRITE_SHIFT_SUPPORTED) && !defined(PNG_READ_SHIFT_SUPPORTED)
    if (png_ptr->transformations & PNG_SHIFT)
-      png_warning(png_ptr, "PNG_READ_SHIFT_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_READ_SHIFT_SUPPORTED is not defined");
 #endif
 #if defined(PNG_WRITE_BGR_SUPPORTED) && !defined(PNG_READ_BGR_SUPPORTED)
    if (png_ptr->transformations & PNG_BGR)
-      png_warning(png_ptr, "PNG_READ_BGR_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_READ_BGR_SUPPORTED is not defined");
 #endif
 #if defined(PNG_WRITE_SWAP_SUPPORTED) && !defined(PNG_READ_SWAP_SUPPORTED)
    if (png_ptr->transformations & PNG_SWAP_BYTES)
-      png_warning(png_ptr, "PNG_READ_SWAP_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_READ_SWAP_SUPPORTED is not defined");
 #endif
    }
 
@@ -634,15 +626,9 @@
       {
          while (!png_ptr->idat_size)
          {
-            png_byte chunk_length[4];
-
             png_crc_finish(png_ptr, 0);
 
-            png_read_data(png_ptr, chunk_length, 4);
-            png_ptr->idat_size = png_get_uint_31(png_ptr,chunk_length);
-
-            png_reset_crc(png_ptr);
-            png_crc_read(png_ptr, png_ptr->chunk_name, 4);
+            png_ptr->idat_size = png_read_chunk_header(png_ptr);
             if (png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
                png_error(png_ptr, "Not enough image data");
          }
@@ -683,8 +669,7 @@
       png_ptr->row_buf + 1, png_ptr->prev_row + 1,
       (int)(png_ptr->row_buf[0]));
 
-   png_memcpy_check(png_ptr, png_ptr->prev_row, png_ptr->row_buf,
-      png_ptr->rowbytes + 1);
+   png_memcpy(png_ptr->prev_row, png_ptr->row_buf, png_ptr->rowbytes + 1);
 
 #if defined(PNG_MNG_FEATURES_SUPPORTED)
    if((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
@@ -695,7 +680,6 @@
    }
 #endif
 
-
    if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
       png_do_read_transformations(png_ptr);
 
@@ -781,14 +765,14 @@
       for (i = 0; i < num_rows; i++)
       {
          png_bytep rptr = *rp;
-         png_read_row(png_ptr, rptr, png_bytep_NULL);
+         png_read_row(png_ptr, rptr, NULL);
          rp++;
       }
    else if(dp != NULL)
       for (i = 0; i < num_rows; i++)
       {
          png_bytep dptr = *dp;
-         png_read_row(png_ptr, png_bytep_NULL, dptr);
+         png_read_row(png_ptr, NULL, dptr);
          dp++;
       }
 }
@@ -821,11 +805,10 @@
 #else
    if (png_ptr->interlaced)
       png_error(png_ptr,
-        "Cannot read interlaced image -- interlace handler disabled.");
+        "Cannot read interlaced image -- interlace handler disabled");
    pass = 1;
 #endif
 
-
    image_height=png_ptr->height;
    png_ptr->num_rows = image_height; /* Make sure this is set correctly */
 
@@ -834,7 +817,7 @@
       rp = image;
       for (i = 0; i < image_height; i++)
       {
-         png_read_row(png_ptr, *rp, png_bytep_NULL);
+         png_read_row(png_ptr, *rp, NULL);
          rp++;
       }
    }
@@ -849,7 +832,7 @@
 void PNGAPI
 png_read_end(png_structp png_ptr, png_infop info_ptr)
 {
-   png_byte chunk_length[4];
+   png_bytep chunk_name;
    png_uint_32 length;
 
    png_debug(1, "in png_read_end\n");
@@ -915,32 +898,27 @@
 #endif
 #endif /* PNG_USE_LOCAL_ARRAYS */
 
-      png_read_data(png_ptr, chunk_length, 4);
-      length = png_get_uint_31(png_ptr,chunk_length);
+      length = png_read_chunk_header(png_ptr);
+      chunk_name = png_ptr->chunk_name;
 
-      png_reset_crc(png_ptr);
-      png_crc_read(png_ptr, png_ptr->chunk_name, 4);
-
-      png_debug1(0, "Reading %s chunk.\n", png_ptr->chunk_name);
-
-      if (!png_memcmp(png_ptr->chunk_name, png_IHDR, 4))
+      if (!png_memcmp(chunk_name, png_IHDR, 4))
          png_handle_IHDR(png_ptr, info_ptr, length);
-      else if (!png_memcmp(png_ptr->chunk_name, png_IEND, 4))
+      else if (!png_memcmp(chunk_name, png_IEND, 4))
          png_handle_IEND(png_ptr, info_ptr, length);
 #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
-      else if (png_handle_as_unknown(png_ptr, png_ptr->chunk_name))
+      else if (png_handle_as_unknown(png_ptr, chunk_name))
       {
-         if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
+         if (!png_memcmp(chunk_name, png_IDAT, 4))
          {
             if ((length > 0) || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT))
                png_benign_error(png_ptr, "Too many IDAT's found");
          }
          png_handle_unknown(png_ptr, info_ptr, length);
-         if (!png_memcmp(png_ptr->chunk_name, png_PLTE, 4))
+         if (!png_memcmp(chunk_name, png_PLTE, 4))
             png_ptr->mode |= PNG_HAVE_PLTE;
       }
 #endif
-      else if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
+      else if (!png_memcmp(chunk_name, png_IDAT, 4))
       {
          /* Zero length IDATs are legal after the last IDAT has been
           * read, but not after other chunks have been read.
@@ -949,74 +927,74 @@
             png_benign_error(png_ptr, "Too many IDAT's found");
          png_crc_finish(png_ptr, length);
       }
-      else if (!png_memcmp(png_ptr->chunk_name, png_PLTE, 4))
+      else if (!png_memcmp(chunk_name, png_PLTE, 4))
          png_handle_PLTE(png_ptr, info_ptr, length);
 #if defined(PNG_READ_bKGD_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_bKGD, 4))
+      else if (!png_memcmp(chunk_name, png_bKGD, 4))
          png_handle_bKGD(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_cHRM_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_cHRM, 4))
+      else if (!png_memcmp(chunk_name, png_cHRM, 4))
          png_handle_cHRM(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_gAMA_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_gAMA, 4))
+      else if (!png_memcmp(chunk_name, png_gAMA, 4))
          png_handle_gAMA(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_hIST_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_hIST, 4))
+      else if (!png_memcmp(chunk_name, png_hIST, 4))
          png_handle_hIST(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_oFFs_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_oFFs, 4))
+      else if (!png_memcmp(chunk_name, png_oFFs, 4))
          png_handle_oFFs(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_pCAL_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_pCAL, 4))
+      else if (!png_memcmp(chunk_name, png_pCAL, 4))
          png_handle_pCAL(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_sCAL_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_sCAL, 4))
+      else if (!png_memcmp(chunk_name, png_sCAL, 4))
          png_handle_sCAL(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_pHYs_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_pHYs, 4))
+      else if (!png_memcmp(chunk_name, png_pHYs, 4))
          png_handle_pHYs(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_sBIT_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_sBIT, 4))
+      else if (!png_memcmp(chunk_name, png_sBIT, 4))
          png_handle_sBIT(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_sRGB_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_sRGB, 4))
+      else if (!png_memcmp(chunk_name, png_sRGB, 4))
          png_handle_sRGB(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_iCCP_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_iCCP, 4))
+      else if (!png_memcmp(chunk_name, png_iCCP, 4))
          png_handle_iCCP(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_sPLT_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_sPLT, 4))
+      else if (!png_memcmp(chunk_name, png_sPLT, 4))
          png_handle_sPLT(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_tEXt_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_tEXt, 4))
+      else if (!png_memcmp(chunk_name, png_tEXt, 4))
          png_handle_tEXt(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_tIME_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_tIME, 4))
+      else if (!png_memcmp(chunk_name, png_tIME, 4))
          png_handle_tIME(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_tRNS_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_tRNS, 4))
+      else if (!png_memcmp(chunk_name, png_tRNS, 4))
          png_handle_tRNS(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_zTXt_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_zTXt, 4))
+      else if (!png_memcmp(chunk_name, png_zTXt, 4))
          png_handle_zTXt(png_ptr, info_ptr, length);
 #endif
 #if defined(PNG_READ_iTXt_SUPPORTED)
-      else if (!png_memcmp(png_ptr->chunk_name, png_iTXt, 4))
+      else if (!png_memcmp(chunk_name, png_iTXt, 4))
          png_handle_iTXt(png_ptr, info_ptr, length);
 #endif
       else
@@ -1215,7 +1193,7 @@
     * being used again.
     */
 #ifdef PNG_SETJMP_SUPPORTED
-   png_memcpy(tmp_jmp, png_ptr->jmpbuf, png_sizeof (jmp_buf));
+   png_memcpy(tmp_jmp, png_ptr->jmpbuf, sizeof(jmp_buf));
 #endif
 
    error_fn = png_ptr->error_fn;
@@ -1225,7 +1203,7 @@
    free_fn = png_ptr->free_fn;
 #endif
 
-   png_memset(png_ptr, 0, png_sizeof (png_struct));
+   png_memset(png_ptr, 0, sizeof(png_struct));
 
    png_ptr->error_fn = error_fn;
    png_ptr->warning_fn = warning_fn;
@@ -1235,7 +1213,7 @@
 #endif
 
 #ifdef PNG_SETJMP_SUPPORTED
-   png_memcpy(png_ptr->jmpbuf, tmp_jmp, png_sizeof (jmp_buf));
+   png_memcpy(png_ptr->jmpbuf, tmp_jmp, sizeof(jmp_buf));
 #endif
 
 }
@@ -1267,7 +1245,7 @@
     * PNG file before the first IDAT (image data chunk).
     */
    png_read_info(png_ptr, info_ptr);
-   if (info_ptr->height > PNG_UINT_32_MAX/png_sizeof(png_bytep))
+   if (info_ptr->height > PNG_UINT_32_MAX/sizeof(png_bytep))
       png_error(png_ptr,"Image is too high to process with png_read_png()");
 
    /* -------------- image transformations start here ------------------- */
@@ -1378,7 +1356,7 @@
    if(info_ptr->row_pointers == NULL)
    {
       info_ptr->row_pointers = (png_bytepp)png_malloc(png_ptr,
-         info_ptr->height * png_sizeof(png_bytep));
+         info_ptr->height * sizeof(png_bytep));
 #ifdef PNG_FREE_ME_SUPPORTED
       info_ptr->free_me |= PNG_FREE_ROWS;
 #endif
diff --git a/pngrio.c b/pngrio.c
index e39ef80..7473579 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -16,7 +16,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_READ_SUPPORTED)
 
@@ -49,8 +49,7 @@
    /* fread() returns 0 on error, so it is OK to store this in a png_size_t
     * instead of an int, which is what fread() actually returns.
     */
-   check = (png_size_t)fread(data, (png_size_t)1, length,
-      (png_FILE_p)png_ptr->io_ptr);
+   check = fread(data, 1, length, (png_FILE_p)png_ptr->io_ptr);
 
    if (check != length)
       png_error(png_ptr, "Read Error");
@@ -67,7 +66,7 @@
 static void PNGAPI
 png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
 {
-   int check;
+   png_size_t check;
    png_byte *n_data;
    png_FILE_p io_ptr;
 
@@ -87,7 +86,7 @@
       do
       {
          read = MIN(NEAR_BUF_SIZE, remaining);
-         err = fread(buf, (png_size_t)1, read, io_ptr);
+         err = fread(buf, 1, read, io_ptr);
          png_memcpy(data, buf, read); /* copy far buffer to near buffer */
          if(err != read)
             break;
@@ -139,7 +138,7 @@
       png_warning(png_ptr,
          "It's an error to set both read_data_fn and write_data_fn in the ");
       png_warning(png_ptr,
-         "same structure.  Resetting write_data_fn to NULL.");
+         "same structure.  Resetting write_data_fn to NULL");
    }
 
 #if defined(PNG_WRITE_FLUSH_SUPPORTED)
diff --git a/pngrtran.c b/pngrtran.c
index be33ee7..3f86232 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -14,7 +14,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_READ_SUPPORTED)
 
@@ -38,7 +38,7 @@
                            PNG_FLAG_CRC_CRITICAL_IGNORE;
          break;
       case PNG_CRC_WARN_DISCARD:    /* not a valid action for critical data */
-         png_warning(png_ptr, "Can't discard critical data on CRC error.");
+         png_warning(png_ptr, "Can't discard critical data on CRC error");
       case PNG_CRC_ERROR_QUIT:                                /* error/quit */
       case PNG_CRC_DEFAULT:
       default:
@@ -87,8 +87,7 @@
    }
 
    png_ptr->transformations |= PNG_BACKGROUND;
-   png_memcpy(&(png_ptr->background), background_color,
-      png_sizeof(png_color_16));
+   png_memcpy(&(png_ptr->background), background_color, sizeof(png_color_16));
    png_ptr->background_gamma = (float)background_gamma;
    png_ptr->background_gamma_type = (png_byte)(background_gamma_code);
    png_ptr->transformations |= (need_expand ? PNG_BACKGROUND_EXPAND : 0);
@@ -157,7 +156,7 @@
       int i;
 
       png_ptr->dither_index = (png_bytep)png_malloc(png_ptr,
-         (png_uint_32)(num_palette * png_sizeof (png_byte)));
+         (png_size_t)(num_palette * sizeof(png_byte)));
       for (i = 0; i < num_palette; i++)
          png_ptr->dither_index[i] = (png_byte)i;
    }
@@ -173,7 +172,7 @@
 
          /* initialize an array to sort colors */
          png_ptr->dither_sort = (png_bytep)png_malloc(png_ptr,
-            (png_uint_32)(num_palette * png_sizeof (png_byte)));
+            (png_size_t)(num_palette * sizeof(png_byte)));
 
          /* initialize the dither_sort array */
          for (i = 0; i < num_palette; i++)
@@ -302,9 +301,9 @@
 
          /* initialize palette index arrays */
          png_ptr->index_to_palette = (png_bytep)png_malloc(png_ptr,
-            (png_uint_32)(num_palette * png_sizeof (png_byte)));
+            (png_size_t)(num_palette * sizeof(png_byte)));
          png_ptr->palette_to_index = (png_bytep)png_malloc(png_ptr,
-            (png_uint_32)(num_palette * png_sizeof (png_byte)));
+            (png_size_t)(num_palette * sizeof(png_byte)));
 
          /* initialize the sort array */
          for (i = 0; i < num_palette; i++)
@@ -313,11 +312,11 @@
             png_ptr->palette_to_index[i] = (png_byte)i;
          }
 
-         hash = (png_dsortpp)png_malloc(png_ptr, (png_uint_32)(769 *
-            png_sizeof (png_dsortp)));
+         hash = (png_dsortpp)png_malloc(png_ptr,
+            (png_size_t)(769 * sizeof(png_dsortp)));
          for (i = 0; i < 769; i++)
             hash[i] = NULL;
-/*         png_memset(hash, 0, 769 * png_sizeof (png_dsortp)); */
+/*         png_memset(hash, 0, 769 * sizeof(png_dsortp)); */
 
          num_new_palette = num_palette;
 
@@ -347,7 +346,7 @@
                   {
 
                      t = (png_dsortp)png_malloc_warn(png_ptr,
-                         (png_uint_32)(png_sizeof(png_dsort)));
+                         sizeof(png_dsort));
                      if (t == NULL)
                          break;
                      t->next = hash[d];
@@ -464,16 +463,14 @@
       int num_blue = (1 << PNG_DITHER_BLUE_BITS);
       png_size_t num_entries = ((png_size_t)1 << total_bits);
 
-      png_ptr->palette_lookup = (png_bytep )png_malloc(png_ptr,
-         (png_uint_32)(num_entries * png_sizeof (png_byte)));
+      png_ptr->palette_lookup = (png_bytep)png_malloc(png_ptr,
+         num_entries * sizeof(png_byte));
 
-      png_memset(png_ptr->palette_lookup, 0, num_entries *
-         png_sizeof (png_byte));
+      png_memset(png_ptr->palette_lookup, 0, num_entries * sizeof(png_byte));
 
-      distance = (png_bytep)png_malloc(png_ptr, (png_uint_32)(num_entries *
-         png_sizeof(png_byte)));
+      distance = (png_bytep)png_malloc(png_ptr, num_entries * sizeof(png_byte));
 
-      png_memset(distance, 0xff, num_entries * png_sizeof(png_byte));
+      png_memset(distance, 0xff, num_entries * sizeof(png_byte));
 
       for (i = 0; i < num_palette; i++)
       {
@@ -639,7 +636,7 @@
       png_ptr->transformations |= PNG_EXPAND;
 #else
    {
-      png_warning(png_ptr, "Cannot do RGB_TO_GRAY without EXPAND_SUPPORTED.");
+      png_warning(png_ptr, "Cannot do RGB_TO_GRAY without EXPAND_SUPPORTED");
       png_ptr->transformations &= ~PNG_RGB_TO_GRAY;
    }
 #endif
@@ -3944,8 +3941,7 @@
      else
         g = 1.0;
 
-     png_ptr->gamma_table = (png_bytep)png_malloc(png_ptr,
-        (png_uint_32)256);
+     png_ptr->gamma_table = (png_bytep)png_malloc(png_ptr, 256);
 
      for (i = 0; i < 256; i++)
      {
@@ -3960,8 +3956,7 @@
 
         g = 1.0 / (png_ptr->gamma);
 
-        png_ptr->gamma_to_1 = (png_bytep)png_malloc(png_ptr,
-           (png_uint_32)256);
+        png_ptr->gamma_to_1 = (png_bytep)png_malloc(png_ptr, 256);
 
         for (i = 0; i < 256; i++)
         {
@@ -3970,8 +3965,7 @@
         }
 
 
-        png_ptr->gamma_from_1 = (png_bytep)png_malloc(png_ptr,
-           (png_uint_32)256);
+        png_ptr->gamma_from_1 = (png_bytep)png_malloc(png_ptr, 256);
 
         if(png_ptr->screen_gamma > 0.000001)
            g = 1.0 / png_ptr->screen_gamma;
@@ -4033,7 +4027,7 @@
         g = 1.0;
 
      png_ptr->gamma_16_table = (png_uint_16pp)png_malloc(png_ptr,
-        (png_uint_32)(num * png_sizeof (png_uint_16p)));
+        (png_size_t)(num * sizeof(png_uint_16p)));
 
      if (png_ptr->transformations & (PNG_16_TO_8 | PNG_BACKGROUND))
      {
@@ -4043,7 +4037,7 @@
         for (i = 0; i < num; i++)
         {
            png_ptr->gamma_16_table[i] = (png_uint_16p)png_malloc(png_ptr,
-              (png_uint_32)(256 * png_sizeof (png_uint_16)));
+              256 * sizeof(png_uint_16));
         }
 
         g = 1.0 / g;
@@ -4073,7 +4067,7 @@
         for (i = 0; i < num; i++)
         {
            png_ptr->gamma_16_table[i] = (png_uint_16p)png_malloc(png_ptr,
-              (png_uint_32)(256 * png_sizeof (png_uint_16)));
+              256 * sizeof(png_uint_16));
 
            ig = (((png_uint_32)i * (png_uint_32)png_gamma_shift[shift]) >> 4);
            for (j = 0; j < 256; j++)
@@ -4093,12 +4087,12 @@
         g = 1.0 / (png_ptr->gamma);
 
         png_ptr->gamma_16_to_1 = (png_uint_16pp)png_malloc(png_ptr,
-           (png_uint_32)(num * png_sizeof (png_uint_16p )));
+           (png_size_t)(num * sizeof(png_uint_16p)));
 
         for (i = 0; i < num; i++)
         {
            png_ptr->gamma_16_to_1[i] = (png_uint_16p)png_malloc(png_ptr,
-              (png_uint_32)(256 * png_sizeof (png_uint_16)));
+              256 * sizeof(png_uint_16));
 
            ig = (((png_uint_32)i *
               (png_uint_32)png_gamma_shift[shift]) >> 4);
@@ -4116,12 +4110,12 @@
            g = png_ptr->gamma;   /* probably doing rgb_to_gray */
 
         png_ptr->gamma_16_from_1 = (png_uint_16pp)png_malloc(png_ptr,
-           (png_uint_32)(num * png_sizeof (png_uint_16p)));
+           (png_size_t)(num * sizeof(png_uint_16p)));
 
         for (i = 0; i < num; i++)
         {
            png_ptr->gamma_16_from_1[i] = (png_uint_16p)png_malloc(png_ptr,
-              (png_uint_32)(256 * png_sizeof (png_uint_16)));
+              256 * sizeof(png_uint_16));
 
            ig = (((png_uint_32)i *
               (png_uint_32)png_gamma_shift[shift]) >> 4);
diff --git a/pngrutil.c b/pngrutil.c
index 4a09c7f..b107895 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -12,7 +12,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_READ_SUPPORTED)
 
@@ -29,7 +29,7 @@
       (png_uint_32)(*(buf + 3));
 #endif
    if (i > PNG_UINT_31_MAX)
-     png_error(png_ptr, "PNG unsigned integer out of range.");
+     png_error(png_ptr, "PNG unsigned integer out of range");
    return (i);
 }
 #ifndef PNG_READ_BIG_ENDIAN_SUPPORTED
@@ -72,7 +72,47 @@
 }
 #endif /* PNG_READ_BIG_ENDIAN_SUPPORTED */
 
-/* Read data, and (optionally) run it through the CRC. */
+/* Read the chunk header (length + type name).
+ * Put the type name into png_ptr->chunk_name, and return the length.
+ */
+png_uint_32 /* PRIVATE */
+png_read_chunk_header(png_structp png_ptr)
+{
+   png_byte buf[8];
+   png_uint_32 length;
+
+#ifdef PNG_IO_STATE_SUPPORTED
+   /* Inform the I/O callback that the chunk header is being read.
+    * PNG_IO_CHUNK_HDR requires a single I/O call.
+    */
+   png_ptr->io_state = PNG_IO_READING | PNG_IO_CHUNK_HDR;
+#endif
+
+   /* read the length and the chunk name */
+   png_read_data(png_ptr, buf, 8);
+   length = png_get_uint_31(png_ptr, buf);
+
+   /* put the chunk name into png_ptr->chunk_name */
+   png_memcpy(png_ptr->chunk_name, buf + 4, 4);
+
+   png_debug2(0, "Reading %s chunk, length = %lu\n",
+      png_ptr->chunk_name, length);
+
+   /* reset the crc and run it over the chunk name */
+   png_reset_crc(png_ptr);
+   png_calculate_crc(png_ptr, png_ptr->chunk_name, 4);
+
+#ifdef PNG_IO_STATE_SUPPORTED
+   /* Inform the I/O callback that chunk data will (possibly) be read.
+    * PNG_IO_CHUNK_DATA does NOT require a specific number of I/O calls.
+    */
+   png_ptr->io_state = PNG_IO_READING | PNG_IO_CHUNK_DATA;
+#endif
+
+   return length;
+}
+
+/* Read data and run it through the CRC. */
 void /* PRIVATE */
 png_crc_read(png_structp png_ptr, png_bytep buf, png_size_t length)
 {
@@ -94,16 +134,16 @@
    {
       png_crc_read(png_ptr, png_ptr->zbuf, png_ptr->zbuf_size);
    }
-   if (i)
+   if (i > 0)
    {
       png_crc_read(png_ptr, png_ptr->zbuf, i);
    }
 
    if (png_crc_error(png_ptr))
    {
-      if (((png_ptr->chunk_name[0] & 0x20) &&                /* Ancillary */
+      if (((png_ptr->chunk_name[0] & 0x20) &&               /* Ancillary */
            !(png_ptr->flags & PNG_FLAG_CRC_ANCILLARY_NOWARN)) ||
-          (!(png_ptr->chunk_name[0] & 0x20) &&             /* Critical  */
+          (!(png_ptr->chunk_name[0] & 0x20) &&              /* Critical  */
           (png_ptr->flags & PNG_FLAG_CRC_CRITICAL_USE)))
       {
          png_chunk_warning(png_ptr, "CRC error");
@@ -140,6 +180,11 @@
          need_crc = 0;
    }
 
+#ifdef PNG_IO_STATE_SUPPORTED
+   /* inform the I/O callback that the chunk CRC is being read */
+   /* PNG_IO_CHUNK_CRC requires the I/O to be done at once */
+   png_ptr->io_state = PNG_IO_READING | PNG_IO_CHUNK_CRC;
+#endif
    png_read_data(png_ptr, crc_bytes, 4);
 
    if (need_crc)
@@ -194,7 +239,7 @@
 
             if (text ==  NULL)
             {
-               text_size = prefix_size + png_sizeof(msg) + 1;
+               text_size = prefix_size + sizeof(msg) + 1;
                text = (png_charp)png_malloc_warn(png_ptr, text_size);
                if (text ==  NULL)
                  {
@@ -208,8 +253,8 @@
 
             /* Copy what we can of the error message into the text chunk */
             text_size = (png_size_t)(chunklength - (text - chunkdata) - 1);
-            text_size = png_sizeof(msg) > text_size ? text_size :
-               png_sizeof(msg);
+            if (text_size > sizeof(msg))
+               text_size = sizeof(msg);
             png_memcpy(text + prefix_size, msg, text_size + 1);
             break;
          }
@@ -221,10 +266,10 @@
                    png_ptr->zbuf_size - png_ptr->zstream.avail_out;
                text = (png_charp)png_malloc_warn(png_ptr, text_size + 1);
                if (text ==  NULL)
-                 {
-                    png_free(png_ptr,chunkdata);
-                    png_error(png_ptr,"Not enough memory to decompress chunk.");
-                 }
+               {
+                  png_free(png_ptr,chunkdata);
+                  png_error(png_ptr, "Not enough memory to decompress chunk");
+               }
                png_memcpy(text + prefix_size, png_ptr->zbuf,
                     text_size - prefix_size);
                png_memcpy(text, chunkdata, prefix_size);
@@ -236,13 +281,13 @@
 
                tmp = text;
                text = (png_charp)png_malloc_warn(png_ptr,
-                  (png_uint_32)(text_size +
+                  (png_size_t)(text_size +
                   png_ptr->zbuf_size - png_ptr->zstream.avail_out + 1));
                if (text == NULL)
                {
                   png_free(png_ptr, tmp);
                   png_free(png_ptr, chunkdata);
-                  png_error(png_ptr,"Not enough memory to decompress chunk..");
+                  png_error(png_ptr,"Not enough memory to decompress chunk");
                }
                png_memcpy(text, tmp, text_size);
                png_free(png_ptr, tmp);
@@ -286,7 +331,7 @@
             if (text == NULL)
               {
                 png_free(png_ptr, chunkdata);
-                png_error(png_ptr,"Not enough memory for text.");
+                png_error(png_ptr, "Not enough memory for text");
               }
             png_memcpy(text, chunkdata, prefix_size);
          }
@@ -385,7 +430,7 @@
    png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->width);
    png_debug1(3,"bit_depth = %d\n", png_ptr->bit_depth);
    png_debug1(3,"channels = %d\n", png_ptr->channels);
-   png_debug1(3,"rowbytes = %lu\n", (unsigned long) png_ptr->rowbytes);
+   png_debug1(3, "rowbytes = %lu\n", (unsigned long) png_ptr->rowbytes);
    png_set_IHDR(png_ptr, info_ptr, width, height, bit_depth,
       color_type, interlace_type, compression_type, filter_type);
 }
@@ -1044,7 +1089,7 @@
    if(profile_size > profile_length)
    {
       png_free(png_ptr, chunkdata);
-      png_warning(png_ptr, "Ignoring truncated iCCP profile.");
+      png_warning(png_ptr, "Ignoring truncated iCCP profile");
       return;
    }
 
@@ -1126,14 +1171,14 @@
    }
 
    new_palette.nentries = (png_int_32) ( data_length / entry_size);
-   if ((png_uint_32) new_palette.nentries > (png_uint_32) (PNG_SIZE_MAX /
-       png_sizeof(png_sPLT_entry)))
+   if ((png_uint_32) new_palette.nentries >
+       (png_uint_32) (PNG_SIZE_MAX / sizeof(png_sPLT_entry)))
    {
        png_warning(png_ptr, "sPLT chunk too long");
        return;
    }
    new_palette.entries = (png_sPLT_entryp)png_malloc_warn(
-       png_ptr, new_palette.nentries * png_sizeof(png_sPLT_entry));
+       png_ptr, new_palette.nentries * sizeof(png_sPLT_entry));
    if (new_palette.entries == NULL)
    {
        png_warning(png_ptr, "sPLT chunk requires too much memory");
@@ -1550,7 +1595,7 @@
    purpose = (png_charp)png_malloc_warn(png_ptr, length + 1);
    if (purpose == NULL)
      {
-       png_warning(png_ptr, "No memory for pCAL purpose.");
+       png_warning(png_ptr, "No memory for pCAL purpose");
        return;
      }
    slength = (png_size_t)length;
@@ -1607,12 +1652,12 @@
       /* Empty loop to move past the units string. */ ;
 
    png_debug(3, "Allocating pCAL parameters array\n");
-   params = (png_charpp)png_malloc_warn(png_ptr, (png_uint_32)(nparams
-      *png_sizeof(png_charp))) ;
+   params = (png_charpp)png_malloc_warn(png_ptr,
+      (png_size_t)(nparams * sizeof(png_charp)));
    if (params == NULL)
      {
        png_free(png_ptr, purpose);
-       png_warning(png_ptr, "No memory for pCAL params.");
+       png_warning(png_ptr, "No memory for pCAL params");
        return;
      }
 
@@ -1708,11 +1753,11 @@
 #ifdef PNG_FIXED_POINT_SUPPORTED
    swidth = (png_charp)png_malloc_warn(png_ptr, png_strlen(ep) + 1);
    if (swidth == NULL)
-     {
-       png_warning(png_ptr, "Out of memory while processing sCAL chunk width");
-       return;
-     }
-   png_memcpy(swidth, ep, (png_size_t)png_strlen(ep));
+   {
+      png_warning(png_ptr, "Out of memory while processing sCAL chunk width");
+      return;
+   }
+   png_memcpy(swidth, ep, png_strlen(ep));
 #endif
 #endif
 
@@ -1731,11 +1776,11 @@
 #ifdef PNG_FIXED_POINT_SUPPORTED
    sheight = (png_charp)png_malloc_warn(png_ptr, png_strlen(ep) + 1);
    if (swidth == NULL)
-     {
-       png_warning(png_ptr, "Out of memory while processing sCAL chunk height");
-       return;
-     }
-   png_memcpy(sheight, ep, (png_size_t)png_strlen(ep));
+   {
+      png_warning(png_ptr, "Out of memory while processing sCAL chunk height");
+      return;
+   }
+   png_memcpy(sheight, ep, png_strlen(ep));
 #endif
 #endif
 
@@ -1846,7 +1891,7 @@
    key = (png_charp)png_malloc_warn(png_ptr, length + 1);
    if (key == NULL)
    {
-     png_warning(png_ptr, "No memory to process text chunk.");
+     png_warning(png_ptr, "No memory to process text chunk");
      return;
    }
    slength = (png_size_t)length;
@@ -1866,11 +1911,10 @@
    if (text != key + slength)
       text++;
 
-   text_ptr = (png_textp)png_malloc_warn(png_ptr,
-      (png_uint_32)png_sizeof(png_text));
+   text_ptr = (png_textp)png_malloc_warn(png_ptr, sizeof(png_text));
    if (text_ptr == NULL)
    {
-     png_warning(png_ptr, "Not enough memory to process text chunk.");
+     png_warning(png_ptr, "Not enough memory to process text chunk");
      png_free(png_ptr, key);
      return;
    }
@@ -1889,7 +1933,7 @@
    png_free(png_ptr, key);
    png_free(png_ptr, text_ptr);
    if (ret)
-     png_warning(png_ptr, "Insufficient memory to process text chunk.");
+     png_warning(png_ptr, "Insufficient memory to process text chunk");
 }
 #endif
 
@@ -1926,7 +1970,7 @@
    chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1);
    if (chunkdata == NULL)
    {
-     png_warning(png_ptr,"Out of memory processing zTXt chunk.");
+     png_warning(png_ptr,"Out of memory processing zTXt chunk");
      return;
    }
    slength = (png_size_t)length;
@@ -1963,11 +2007,10 @@
    chunkdata = (png_charp)png_decompress_chunk(png_ptr, comp_type, chunkdata,
                                     (png_size_t)length, prefix_len, &data_len);
 
-   text_ptr = (png_textp)png_malloc_warn(png_ptr,
-     (png_uint_32)png_sizeof(png_text));
+   text_ptr = (png_textp)png_malloc_warn(png_ptr, sizeof(png_text));
    if (text_ptr == NULL)
    {
-     png_warning(png_ptr,"Not enough memory to process zTXt chunk.");
+     png_warning(png_ptr,"Not enough memory to process zTXt chunk");
      png_free(png_ptr, chunkdata);
      return;
    }
@@ -1986,7 +2029,7 @@
    png_free(png_ptr, text_ptr);
    png_free(png_ptr, chunkdata);
    if (ret)
-     png_error(png_ptr, "Insufficient memory to store zTXt chunk.");
+     png_error(png_ptr, "Insufficient memory to store zTXt chunk");
 }
 #endif
 
@@ -2025,7 +2068,7 @@
    chunkdata = (png_charp)png_malloc_warn(png_ptr, length + 1);
    if (chunkdata == NULL)
    {
-     png_warning(png_ptr, "No memory to process iTXt chunk.");
+     png_warning(png_ptr, "No memory to process iTXt chunk");
      return;
    }
    slength = (png_size_t)length;
@@ -2073,11 +2116,10 @@
           (size_t)length, prefix_len, &data_len);
    else
        data_len=png_strlen(chunkdata + prefix_len);
-   text_ptr = (png_textp)png_malloc_warn(png_ptr,
-      (png_uint_32)png_sizeof(png_text));
+   text_ptr = (png_textp)png_malloc_warn(png_ptr, sizeof(png_text));
    if (text_ptr == NULL)
    {
-     png_warning(png_ptr,"Not enough memory to process iTXt chunk.");
+     png_warning(png_ptr,"Not enough memory to process iTXt chunk");
      png_free(png_ptr, chunkdata);
      return;
    }
@@ -2094,7 +2136,7 @@
    png_free(png_ptr, text_ptr);
    png_free(png_ptr, chunkdata);
    if (ret)
-     png_error(png_ptr, "Insufficient memory to store iTXt chunk.");
+     png_error(png_ptr, "Insufficient memory to store iTXt chunk");
 }
 #endif
 
@@ -2800,7 +2842,7 @@
    if (png_ptr->interlaced)
    {
       png_ptr->row_number = 0;
-      png_memset_check(png_ptr, png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
+      png_memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
       do
       {
          png_ptr->pass++;
@@ -2855,7 +2897,7 @@
                png_ptr->idat_size = png_get_uint_31(png_ptr, chunk_length);
                png_reset_crc(png_ptr);
                png_crc_read(png_ptr, png_ptr->chunk_name, 4);
-               if (png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4))
+               if (png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
                   png_error(png_ptr, "Not enough image data");
 
             }
@@ -2882,7 +2924,7 @@
 
          if (!(png_ptr->zstream.avail_out))
          {
-            png_warning(png_ptr, "Extra compressed data.");
+            png_warning(png_ptr, "Extra compressed data");
             png_ptr->mode |= PNG_AFTER_IDAT;
             png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED;
             break;
@@ -2920,7 +2962,7 @@
 #endif
 
    int max_pixel_depth;
-   png_uint_32 row_bytes;
+   png_size_t row_bytes;
 
    png_debug(1, "in png_read_start_row\n");
    png_ptr->zstream.avail_in = 0;
@@ -2937,12 +2979,8 @@
          png_pass_inc[png_ptr->pass] - 1 -
          png_pass_start[png_ptr->pass]) /
          png_pass_inc[png_ptr->pass];
-
-         row_bytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->iwidth) + 1;
-
-         png_ptr->irowbytes = (png_size_t)row_bytes;
-         if((png_uint_32)png_ptr->irowbytes != row_bytes)
-            png_error(png_ptr, "Rowbytes overflow in png_read_start_row");
+         png_ptr->irowbytes =
+            PNG_ROWBYTES(png_ptr->pixel_depth, png_ptr->iwidth) + 1;
    }
    else
    {
@@ -3074,11 +3112,10 @@
       png_error(png_ptr, "This image requires a row greater than 64KB");
 #endif
    if ((png_uint_32)png_ptr->rowbytes > PNG_SIZE_MAX - 1)
-      png_error(png_ptr, "Row has too many bytes to allocate in memory.");
-   png_ptr->prev_row = (png_bytep)png_malloc(png_ptr, (png_uint_32)(
-      png_ptr->rowbytes + 1));
+      png_error(png_ptr, "Row has too many bytes to allocate in memory");
+   png_ptr->prev_row = (png_bytep)png_malloc(png_ptr, png_ptr->rowbytes + 1);
 
-   png_memset_check(png_ptr, png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
+   png_memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
 
    png_debug1(3, "width = %lu,\n", (unsigned long) png_ptr->width);
    png_debug1(3, "height = %lu,\n", (unsigned long) png_ptr->height);
diff --git a/pngset.c b/pngset.c
index a23b1c3..ecef521 100644
--- a/pngset.c
+++ b/pngset.c
@@ -14,7 +14,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
 
@@ -26,7 +26,7 @@
    if (png_ptr == NULL || info_ptr == NULL)
       return;
 
-   png_memcpy(&(info_ptr->background), background, png_sizeof(png_color_16));
+   png_memcpy(&(info_ptr->background), background, sizeof(png_color_16));
    info_ptr->valid |= PNG_INFO_bKGD;
 }
 #endif
@@ -226,7 +226,7 @@
        > PNG_MAX_PALETTE_LENGTH)
    {
        png_warning(png_ptr,
-          "Invalid palette size, hIST allocation skipped.");
+          "Invalid palette size, hIST allocation skipped");
        return;
    }
 
@@ -236,10 +236,10 @@
    /* Changed from info->num_palette to PNG_MAX_PALETTE_LENGTH in version
       1.2.1 */
    png_ptr->hist = (png_uint_16p)png_malloc_warn(png_ptr,
-      (png_uint_32)(PNG_MAX_PALETTE_LENGTH * png_sizeof (png_uint_16)));
+      PNG_MAX_PALETTE_LENGTH * sizeof(png_uint_16));
    if (png_ptr->hist == NULL)
      {
-       png_warning(png_ptr, "Insufficient memory for hIST chunk data.");
+       png_warning(png_ptr, "Insufficient memory for hIST chunk data");
        return;
      }
 
@@ -353,13 +353,13 @@
    info_ptr->pixel_depth = (png_byte)(info_ptr->channels * info_ptr->bit_depth);
 
    /* check for potential overflow */
-   if ( width > (PNG_UINT_32_MAX
+   if (width > (PNG_UINT_32_MAX
                  >> 3)      /* 8-byte RGBA pixels */
                  - 64       /* bigrowbuf hack */
                  - 1        /* filter byte */
                  - 7*8      /* rounding of width to multiple of 8 pixels */
                  - 8)       /* extra max_pixel_depth pad */
-      info_ptr->rowbytes = (png_size_t)0;
+      info_ptr->rowbytes = 0;
    else
       info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth,width);
 }
@@ -386,7 +386,7 @@
    png_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams,
    png_charp units, png_charpp params)
 {
-   png_uint_32 length;
+   png_size_t length;
    int i;
 
    png_debug1(1, "in %s storage function\n", "pCAL");
@@ -398,11 +398,11 @@
      (unsigned long) length);
    info_ptr->pcal_purpose = (png_charp)png_malloc_warn(png_ptr, length);
    if (info_ptr->pcal_purpose == NULL)
-     {
-       png_warning(png_ptr, "Insufficient memory for pCAL purpose.");
-       return;
-     }
-   png_memcpy(info_ptr->pcal_purpose, purpose, (png_size_t)length);
+   {
+      png_warning(png_ptr, "Insufficient memory for pCAL purpose");
+      return;
+   }
+   png_memcpy(info_ptr->pcal_purpose, purpose, length);
 
    png_debug(3, "storing X0, X1, type, and nparams in info\n");
    info_ptr->pcal_X0 = X0;
@@ -415,19 +415,19 @@
      (unsigned long)length);
    info_ptr->pcal_units = (png_charp)png_malloc_warn(png_ptr, length);
    if (info_ptr->pcal_units == NULL)
-     {
-       png_warning(png_ptr, "Insufficient memory for pCAL units.");
-       return;
-     }
-   png_memcpy(info_ptr->pcal_units, units, (png_size_t)length);
+   {
+      png_warning(png_ptr, "Insufficient memory for pCAL units");
+      return;
+   }
+   png_memcpy(info_ptr->pcal_units, units, length);
 
    info_ptr->pcal_params = (png_charpp)png_malloc_warn(png_ptr,
-      (png_uint_32)((nparams + 1) * png_sizeof(png_charp)));
+      (png_size_t)((nparams + 1) * sizeof(png_charp)));
    if (info_ptr->pcal_params == NULL)
-     {
-       png_warning(png_ptr, "Insufficient memory for pCAL params.");
-       return;
-     }
+   {
+      png_warning(png_ptr, "Insufficient memory for pCAL params");
+      return;
+   }
 
    info_ptr->pcal_params[nparams] = NULL;
 
@@ -438,11 +438,11 @@
         (unsigned long) length);
       info_ptr->pcal_params[i] = (png_charp)png_malloc_warn(png_ptr, length);
       if (info_ptr->pcal_params[i] == NULL)
-        {
-          png_warning(png_ptr, "Insufficient memory for pCAL parameter.");
-          return;
-        }
-      png_memcpy(info_ptr->pcal_params[i], params[i], (png_size_t)length);
+      {
+         png_warning(png_ptr, "Insufficient memory for pCAL parameter");
+         return;
+      }
+      png_memcpy(info_ptr->pcal_params[i], params[i], length);
    }
 
    info_ptr->valid |= PNG_INFO_pCAL;
@@ -474,7 +474,7 @@
 png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr,
              int unit, png_charp swidth, png_charp sheight)
 {
-   png_uint_32 length;
+   png_size_t length;
 
    png_debug1(1, "in %s storage function\n", "sCAL");
    if (png_ptr == NULL || info_ptr == NULL)
@@ -483,23 +483,25 @@
    info_ptr->scal_unit = (png_byte)unit;
 
    length = png_strlen(swidth) + 1;
-   png_debug1(3, "allocating unit for info (%d bytes)\n", length);
+   png_debug1(3, "allocating unit for info (%u bytes)\n",
+      (unsigned int)length);
    info_ptr->scal_s_width = (png_charp)png_malloc_warn(png_ptr, length);
    if (info_ptr->scal_s_width == NULL)
    {
-      png_warning(png_ptr, "Memory allocation failed while processing sCAL.");
+      png_warning(png_ptr, "Memory allocation failed while processing sCAL");
    }
-   png_memcpy(info_ptr->scal_s_width, swidth, (png_size_t)length);
+   png_memcpy(info_ptr->scal_s_width, swidth, length);
 
    length = png_strlen(sheight) + 1;
-   png_debug1(3, "allocating unit for info (%d bytes)\n", length);
+   png_debug1(3, "allocating unit for info (%u bytes)\n",
+      (unsigned int)length);
    info_ptr->scal_s_height = (png_charp)png_malloc_warn(png_ptr, length);
    if (info_ptr->scal_s_height == NULL)
    {
       png_free (png_ptr, info_ptr->scal_s_width);
-      png_warning(png_ptr, "Memory allocation failed while processing sCAL.");
+      png_warning(png_ptr, "Memory allocation failed while processing sCAL");
    }
-   png_memcpy(info_ptr->scal_s_height, sheight, (png_size_t)length);
+   png_memcpy(info_ptr->scal_s_height, sheight, length);
 
    info_ptr->valid |= PNG_INFO_sCAL;
 #ifdef PNG_FREE_ME_SUPPORTED
@@ -559,10 +561,10 @@
       of num_palette entries,
       in case of an invalid PNG file that has too-large sample values. */
    png_ptr->palette = (png_colorp)png_malloc(png_ptr,
-      PNG_MAX_PALETTE_LENGTH * png_sizeof(png_color));
+      PNG_MAX_PALETTE_LENGTH * sizeof(png_color));
    png_memset(png_ptr->palette, 0, PNG_MAX_PALETTE_LENGTH *
-      png_sizeof(png_color));
-   png_memcpy(png_ptr->palette, palette, num_palette * png_sizeof (png_color));
+      sizeof(png_color));
+   png_memcpy(png_ptr->palette, palette, num_palette * sizeof(png_color));
    info_ptr->palette = png_ptr->palette;
    info_ptr->num_palette = png_ptr->num_palette = (png_uint_16)num_palette;
 
@@ -584,7 +586,7 @@
    if (png_ptr == NULL || info_ptr == NULL)
       return;
 
-   png_memcpy(&(info_ptr->sig_bit), sig_bit, png_sizeof (png_color_8));
+   png_memcpy(&(info_ptr->sig_bit), sig_bit, sizeof(png_color_8));
    info_ptr->valid |= PNG_INFO_sBIT;
 }
 #endif
@@ -688,7 +690,7 @@
    new_iccp_name = (png_charp)png_malloc_warn(png_ptr, png_strlen(name)+1);
    if (new_iccp_name == NULL)
    {
-      png_warning(png_ptr, "Insufficient memory to process iCCP chunk.");
+      png_warning(png_ptr, "Insufficient memory to process iCCP chunk");
       return;
    }
    png_strcpy(new_iccp_name, name);
@@ -696,7 +698,7 @@
    if (new_iccp_profile == NULL)
    {
       png_free (png_ptr, new_iccp_name);
-      png_warning(png_ptr, "Insufficient memory to process iCCP profile.");
+      png_warning(png_ptr, "Insufficient memory to process iCCP profile");
       return;
    }
    png_memcpy(new_iccp_profile, profile, (png_size_t)proflen);
@@ -753,14 +755,14 @@
          info_ptr->max_text = info_ptr->num_text + num_text + 8;
          old_text = info_ptr->text;
          info_ptr->text = (png_textp)png_malloc_warn(png_ptr,
-            (png_uint_32)(info_ptr->max_text * png_sizeof (png_text)));
+            (png_size_t)(info_ptr->max_text * sizeof(png_text)));
          if (info_ptr->text == NULL)
            {
              png_free(png_ptr, old_text);
              return(1);
            }
          png_memcpy(info_ptr->text, old_text, (png_size_t)(old_max *
-            png_sizeof(png_text)));
+            sizeof(png_text)));
          png_free(png_ptr, old_text);
       }
       else
@@ -768,7 +770,7 @@
          info_ptr->max_text = num_text + 8;
          info_ptr->num_text = 0;
          info_ptr->text = (png_textp)png_malloc_warn(png_ptr,
-            (png_uint_32)(info_ptr->max_text * png_sizeof (png_text)));
+            (png_uint_32)(info_ptr->max_text * sizeof(png_text)));
          if (info_ptr->text == NULL)
            return(1);
 #ifdef PNG_FREE_ME_SUPPORTED
@@ -809,7 +811,7 @@
       }
 #else
       {
-        png_warning(png_ptr, "iTXt chunk not supported.");
+        png_warning(png_ptr, "iTXt chunk not supported");
         continue;
       }
 #endif
@@ -831,7 +833,7 @@
       }
 
       textp->key = (png_charp)png_malloc_warn(png_ptr,
-         (png_uint_32)(key_len + text_length + lang_len + lang_key_len + 4));
+         (png_size_t)(key_len + text_length + lang_len + lang_key_len + 4));
       if (textp->key == NULL)
         return(1);
       png_debug2(2, "Allocated %lu bytes at %x in png_set_text\n",
@@ -898,7 +900,7 @@
        (png_ptr->mode & PNG_WROTE_tIME))
       return;
 
-   png_memcpy(&(info_ptr->mod_time), mod_time, png_sizeof (png_time));
+   png_memcpy(&(info_ptr->mod_time), mod_time, sizeof(png_time));
    info_ptr->valid |= PNG_INFO_tIME;
 }
 #endif
@@ -924,7 +926,7 @@
 #endif
        /* Changed from num_trans to PNG_MAX_PALETTE_LENGTH in version 1.2.1 */
        png_ptr->trans = info_ptr->trans = (png_bytep)png_malloc(png_ptr,
-           (png_uint_32)PNG_MAX_PALETTE_LENGTH);
+           PNG_MAX_PALETTE_LENGTH);
        if (num_trans <= PNG_MAX_PALETTE_LENGTH)
          png_memcpy(info_ptr->trans, trans, (png_size_t)num_trans);
 #ifdef PNG_FREE_ME_SUPPORTED
@@ -937,7 +939,7 @@
    if (trans_values != NULL)
    {
       png_memcpy(&(info_ptr->trans_values), trans_values,
-         png_sizeof(png_color_16));
+         sizeof(png_color_16));
       if (num_trans == 0)
         num_trans = 1;
    }
@@ -958,15 +960,15 @@
        return;
 
     np = (png_sPLT_tp)png_malloc_warn(png_ptr,
-        (info_ptr->splt_palettes_num + nentries) * png_sizeof(png_sPLT_t));
+        (info_ptr->splt_palettes_num + nentries) * sizeof(png_sPLT_t));
     if (np == NULL)
     {
-      png_warning(png_ptr, "No memory for sPLT palettes.");
+      png_warning(png_ptr, "No memory for sPLT palettes");
       return;
     }
 
     png_memcpy(np, info_ptr->splt_palettes,
-           info_ptr->splt_palettes_num * png_sizeof(png_sPLT_t));
+           info_ptr->splt_palettes_num * sizeof(png_sPLT_t));
     png_free(png_ptr, info_ptr->splt_palettes);
     info_ptr->splt_palettes=NULL;
 
@@ -975,15 +977,14 @@
         png_sPLT_tp to = np + info_ptr->splt_palettes_num + i;
         png_sPLT_tp from = entries + i;
 
-        to->name = (png_charp)png_malloc(png_ptr,
-            png_strlen(from->name) + 1);
+        to->name = (png_charp)png_malloc(png_ptr, png_strlen(from->name) + 1);
         /* TODO: use png_malloc_warn */
         png_strcpy(to->name, from->name);
         to->entries = (png_sPLT_entryp)png_malloc(png_ptr,
-            from->nentries * png_sizeof(png_sPLT_t));
+            from->nentries * sizeof(png_sPLT_t));
         /* TODO: use png_malloc_warn */
         png_memcpy(to->entries, from->entries,
-            from->nentries * png_sizeof(png_sPLT_t));
+            from->nentries * sizeof(png_sPLT_t));
         to->nentries = from->nentries;
         to->depth = from->depth;
     }
@@ -1010,15 +1011,15 @@
 
     np = (png_unknown_chunkp)png_malloc_warn(png_ptr,
         (info_ptr->unknown_chunks_num + num_unknowns) *
-        png_sizeof(png_unknown_chunk));
+        sizeof(png_unknown_chunk));
     if (np == NULL)
     {
-       png_warning(png_ptr, "Out of memory while processing unknown chunk.");
+       png_warning(png_ptr, "Out of memory while processing unknown chunk");
        return;
     }
 
     png_memcpy(np, info_ptr->unknown_chunks,
-           info_ptr->unknown_chunks_num * png_sizeof(png_unknown_chunk));
+           info_ptr->unknown_chunks_num * sizeof(png_unknown_chunk));
     png_free(png_ptr, info_ptr->unknown_chunks);
     info_ptr->unknown_chunks=NULL;
 
@@ -1031,7 +1032,7 @@
         to->data = (png_bytep)png_malloc_warn(png_ptr, from->size);
         if (to->data == NULL)
         {
-           png_warning(png_ptr, "Out of memory processing unknown chunk.");
+           png_warning(png_ptr, "Out of memory processing unknown chunk");
         }
         else
         {
@@ -1098,7 +1099,7 @@
       return;
     old_num_chunks=png_ptr->num_chunk_list;
     new_list=(png_bytep)png_malloc(png_ptr,
-       (png_uint_32)(5*(num_chunks+old_num_chunks)));
+       (png_size_t)(5*(num_chunks+old_num_chunks)));
     if(png_ptr->chunk_list != NULL)
     {
        png_memcpy(new_list, png_ptr->chunk_list,
@@ -1150,13 +1151,13 @@
 
 #ifdef PNG_WRITE_SUPPORTED
 void PNGAPI
-png_set_compression_buffer_size(png_structp png_ptr, png_uint_32 size)
+png_set_compression_buffer_size(png_structp png_ptr, png_size_t size)
 {
     if (png_ptr == NULL)
        return;
     if(png_ptr->zbuf)
        png_free(png_ptr, png_ptr->zbuf);
-    png_ptr->zbuf_size = (png_size_t)size;
+    png_ptr->zbuf_size = size;
     png_ptr->zbuf = (png_bytep)png_malloc(png_ptr, size);
     png_ptr->zstream.next_out = png_ptr->zbuf;
     png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
diff --git a/pngtest.c b/pngtest.c
index 851da7b..cb41479 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -32,7 +32,7 @@
 
 #if defined(_WIN32_WCE)
 #  if _WIN32_WCE < 211
-     __error__ "(f|w)printf functions are not supported on old WindowsCE.";
+     __error__ "(f|w)printf functions are not supported on old WindowsCE";
 #  endif
 #endif
 
@@ -262,7 +262,7 @@
    /* fread() returns 0 on error, so it is OK to store this in a png_size_t
     * instead of an int, which is what fread() actually returns.
     */
-   check = (png_size_t)fread(data, 1, length, (png_FILE_p)png_ptr->io_ptr);
+   check = fread(data, 1, length, (png_FILE_p)png_ptr->io_ptr);
    if (check != length)
    {
       png_error(png_ptr, "Read Error!");
@@ -280,7 +280,7 @@
 static void
 pngtest_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
 {
-   int check;
+   png_size_t check;
    png_byte *n_data;
    png_FILE_p io_ptr;
 
@@ -289,7 +289,7 @@
    io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);
    if ((png_bytep)n_data == data)
    {
-      check = (png_size_t)fread(n_data, 1, length, io_ptr);
+      check = fread(n_data, 1, length, io_ptr);
    }
    else
    {
@@ -300,7 +300,7 @@
       do
       {
          read = MIN(NEAR_BUF_SIZE, remaining);
-         err = (png_size_t)fread(buf, 1, 1, io_ptr);
+         err = fread(buf, 1, 1, io_ptr);
          png_memcpy(data, buf, read); /* copy far buffer to near buffer */
          if(err != read)
             break;
@@ -337,9 +337,9 @@
 static void
 pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
 {
-   png_uint_32 check;
+   png_size_t check;
 
-   check = (png_size_t)fwrite(data, 1, length, (png_FILE_p)png_ptr->io_ptr);
+   check = fwrite(data, 1, length, (png_FILE_p)png_ptr->io_ptr);
    if (check != length)
    {
       png_error(png_ptr, "Write Error");
@@ -357,7 +357,7 @@
 static void
 pngtest_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
 {
-   png_uint_32 check;
+   png_size_t check;
    png_byte *near_data;  /* Needs to be "png_byte *" instead of "png_bytep" */
    png_FILE_p io_ptr;
 
@@ -366,7 +366,7 @@
    io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);
    if ((png_bytep)near_data == data)
    {
-      check = (png_size_t)fwrite(near_data, 1, length, io_ptr);
+      check = fwrite(near_data, 1, length, io_ptr);
    }
    else
    {
@@ -378,7 +378,7 @@
       {
          written = MIN(NEAR_BUF_SIZE, remaining);
          png_memcpy(buf, data, written); /* copy far buffer to near buffer */
-         err = (png_size_t)fwrite(buf, 1, written, io_ptr);
+         err = fwrite(buf, 1, written, io_ptr);
          if (err != written)
             break;
          else
@@ -438,7 +438,7 @@
    by setting MAXSEG_64K in zlib zconf.h *or* PNG_MAX_MALLOC_64K. */
 typedef struct memory_information
 {
-   png_uint_32               size;
+   png_alloc_size_t          size;
    png_voidp                 pointer;
    struct memory_information FAR *next;
 } memory_information;
@@ -450,13 +450,13 @@
 static int total_allocation = 0;
 static int num_allocations = 0;
 
-png_voidp png_debug_malloc PNGARG((png_structp png_ptr, png_uint_32 size));
+png_voidp png_debug_malloc
+   PNGARG((png_structp png_ptr, png_alloc_size_t size));
 void png_debug_free PNGARG((png_structp png_ptr, png_voidp ptr));
 
 png_voidp
-png_debug_malloc(png_structp png_ptr, png_uint_32 size)
+png_debug_malloc(png_structp png_ptr, png_alloc_size_t size)
 {
-
    /* png_malloc has already tested for NULL; png_create_struct calls
       png_debug_malloc directly, with png_ptr == NULL which is OK */
 
@@ -469,31 +469,29 @@
       /* Disable malloc_fn and free_fn */
       memory_infop pinfo;
       png_set_mem_fn(png_ptr, NULL, NULL, NULL);
-      pinfo = (memory_infop)png_malloc(png_ptr,
-         (png_uint_32)png_sizeof (*pinfo));
+      pinfo = (memory_infop)png_malloc(png_ptr, sizeof(*pinfo));
       pinfo->size = size;
       current_allocation += size;
       total_allocation += size;
       num_allocations ++;
       if (current_allocation > maximum_allocation)
          maximum_allocation = current_allocation;
-      pinfo->pointer = (png_voidp)png_malloc(png_ptr, size);
+      pinfo->pointer = png_malloc(png_ptr, size);
       /* Restore malloc_fn and free_fn */
-      png_set_mem_fn(png_ptr, png_voidp_NULL, (png_malloc_ptr)png_debug_malloc,
-         (png_free_ptr)png_debug_free);
+      png_set_mem_fn(png_ptr, NULL, png_debug_malloc, png_debug_free);
       if (size != 0 && pinfo->pointer == NULL)
       {
          current_allocation -= size;
          total_allocation -= size;
          png_error(png_ptr,
-           "out of memory in pngtest->png_debug_malloc.");
+           "out of memory in pngtest->png_debug_malloc");
       }
       pinfo->next = pinformation;
       pinformation = pinfo;
       /* Make sure the caller isn't assuming zeroed memory. */
       png_memset(pinfo->pointer, 0xdd, pinfo->size);
-      if(verbose)
-         printf("png_malloc %lu bytes at %x\n",(unsigned long) size,
+      if (verbose)
+         printf("png_malloc %lu bytes at %x\n", (unsigned long)size,
             pinfo->pointer);
       return (png_voidp)(pinfo->pointer);
    }
@@ -611,7 +609,7 @@
 
   user_chunk_data[1]=png_get_uint_31(png_ptr,chunk->data);
   user_chunk_data[2]=png_get_uint_31(png_ptr,chunk->data + 4);
-  user_chunk_data[3]=(unsigned long) chunk->data[8];
+  user_chunk_data[3]=(png_uint_32)chunk->data[8];
 
   return (1);
 
@@ -666,12 +664,11 @@
 
    png_debug(0, "Allocating read and write structures\n");
 #if defined(PNG_USER_MEM_SUPPORTED) && PNG_DEBUG
-   read_ptr = png_create_read_struct_2(PNG_LIBPNG_VER_STRING, png_voidp_NULL,
-      png_error_ptr_NULL, png_error_ptr_NULL, png_voidp_NULL,
-      (png_malloc_ptr)png_debug_malloc, (png_free_ptr)png_debug_free);
+   read_ptr = png_create_read_struct_2(PNG_LIBPNG_VER_STRING,
+      NULL, NULL, NULL, NULL,
+      png_debug_malloc, png_debug_free);
 #else
-   read_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, png_voidp_NULL,
-      png_error_ptr_NULL, png_error_ptr_NULL);
+   read_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
 #endif
 #if defined(PNG_NO_STDIO)
    png_set_error_fn(read_ptr, (png_voidp)inname, pngtest_error,
@@ -689,12 +686,12 @@
 
 #ifdef PNG_WRITE_SUPPORTED
 #if defined(PNG_USER_MEM_SUPPORTED) && PNG_DEBUG
-   write_ptr = png_create_write_struct_2(PNG_LIBPNG_VER_STRING, png_voidp_NULL,
-      png_error_ptr_NULL, png_error_ptr_NULL, png_voidp_NULL,
-      (png_malloc_ptr)png_debug_malloc, (png_free_ptr)png_debug_free);
+   write_ptr = png_create_write_struct_2(PNG_LIBPNG_VER_STRING,
+      NULL, NULL, NULL, NULL,
+      png_debug_malloc, png_debug_free);
 #else
-   write_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, png_voidp_NULL,
-      png_error_ptr_NULL, png_error_ptr_NULL);
+   write_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,
+      NULL, NULL, NULL);
 #endif
 #if defined(PNG_NO_STDIO)
    png_set_error_fn(write_ptr, (png_voidp)inname, pngtest_error,
@@ -730,7 +727,7 @@
       return (1);
    }
 #ifdef USE_FAR_KEYWORD
-   png_memcpy(png_jmpbuf(read_ptr),jmpbuf,png_sizeof(jmp_buf));
+   png_memcpy(png_jmpbuf(read_ptr), jmpbuf, sizeof(jmp_buf));
 #endif
 
 #ifdef PNG_WRITE_SUPPORTED
@@ -752,7 +749,7 @@
       return (1);
    }
 #ifdef USE_FAR_KEYWORD
-   png_memcpy(png_jmpbuf(write_ptr),jmpbuf,png_sizeof(jmp_buf));
+   png_memcpy(png_jmpbuf(write_ptr), jmpbuf, sizeof(jmp_buf));
 #endif
 #endif
 #endif
@@ -784,9 +781,9 @@
    else
    {
 #ifdef PNG_WRITE_SUPPORTED
-      png_set_write_status_fn(write_ptr, png_write_status_ptr_NULL);
+      png_set_write_status_fn(write_ptr, NULL);
 #endif
-      png_set_read_status_fn(read_ptr, png_read_status_ptr_NULL);
+      png_set_read_status_fn(read_ptr, NULL);
    }
 
 #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED)
@@ -806,15 +803,13 @@
 #  ifndef PNG_HANDLE_CHUNK_ALWAYS
 #    define PNG_HANDLE_CHUNK_ALWAYS       3
 #  endif
-   png_set_keep_unknown_chunks(read_ptr, PNG_HANDLE_CHUNK_ALWAYS,
-      png_bytep_NULL, 0);
+   png_set_keep_unknown_chunks(read_ptr, PNG_HANDLE_CHUNK_ALWAYS, NULL, 0);
 #endif
 #if defined(PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED)
 #  ifndef PNG_HANDLE_CHUNK_IF_SAFE
 #    define PNG_HANDLE_CHUNK_IF_SAFE      2
 #  endif
-   png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_IF_SAFE,
-      png_bytep_NULL, 0);
+   png_set_keep_unknown_chunks(write_ptr, PNG_HANDLE_CHUNK_IF_SAFE, NULL, 0);
 #endif
 
    png_debug(0, "Reading info struct\n");
@@ -1110,16 +1105,10 @@
           (unsigned long)user_chunk_data[1],
           (unsigned long)user_chunk_data[2],
           (unsigned long)user_chunk_data[3]);
-     vpag_chunk_data[0]=(user_chunk_data[1]>>24) & 0xff;
-     vpag_chunk_data[1]=(user_chunk_data[1]>>16) & 0xff;
-     vpag_chunk_data[2]=(user_chunk_data[1]>>8 ) & 0xff;
-     vpag_chunk_data[3]=(user_chunk_data[1]    ) & 0xff;
-     vpag_chunk_data[4]=(user_chunk_data[2]>>24) & 0xff;
-     vpag_chunk_data[5]=(user_chunk_data[2]>>16) & 0xff;
-     vpag_chunk_data[6]=(user_chunk_data[2]>>8 ) & 0xff;
-     vpag_chunk_data[7]=(user_chunk_data[2]    ) & 0xff;
-     vpag_chunk_data[8]=(user_chunk_data[3]    ) & 0xff;
-     png_write_chunk(write_ptr, png_vpAg,vpag_chunk_data,9);
+     png_save_uint_32(vpag_chunk_data, user_chunk_data[1]);
+     png_save_uint_32(vpag_chunk_data + 4, user_chunk_data[2]);
+     vpag_chunk_data[8] = (unsigned char)(user_chunk_data[3] & 0xff);
+     png_write_chunk(write_ptr, png_vpAg, vpag_chunk_data, 9);
    }
 
 #endif
@@ -1160,7 +1149,7 @@
          png_debug2(0, "0x%08lx (%ld bytes)\n", (unsigned long)row_buf,
             png_get_rowbytes(read_ptr, read_info_ptr));
 #endif /* !SINGLE_ROWBUF_ALLOC */
-         png_read_rows(read_ptr, (png_bytepp)&row_buf, png_bytepp_NULL, 1);
+         png_read_rows(read_ptr, (png_bytepp)&row_buf, NULL, 1);
 
 #ifdef PNG_WRITE_SUPPORTED
 #ifdef PNGTEST_TIMING
@@ -1290,18 +1279,18 @@
       return (1);
    }
 
-   for(;;)
+   for (;;)
    {
       png_size_t num_in, num_out;
 
-      num_in = (png_size_t)fread(inbuf, 1, 1, fpin);
-      num_out = (png_size_t)fread(outbuf, 1, 1, fpout);
+      num_in = fread(inbuf, 1, 1, fpin);
+      num_out = fread(outbuf, 1, 1, fpout);
 
       if (num_in != num_out)
       {
          fprintf(STDERR, "\nFiles %s and %s are of a different size\n",
                  inname, outname);
-         if(wrote_question == 0)
+         if (wrote_question == 0)
          {
             fprintf(STDERR,
          "   Was %s written with the same maximum IDAT chunk size (%d bytes),",
@@ -1373,8 +1362,8 @@
    /* 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," png_sizeof(png_struct)=%ld, png_sizeof(png_info)=%ld\n",
-                    (long)png_sizeof(png_struct), (long)png_sizeof(png_info));
+   fprintf(STDERR," sizeof(png_struct)=%ld, sizeof(png_info)=%ld\n",
+                    (long)sizeof(png_struct), (long)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
@@ -1609,4 +1598,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_4_0beta10 your_png_h_is_not_version_1_4_0beta10;
+typedef version_1_4_0beta11 your_png_h_is_not_version_1_4_0beta11;
diff --git a/pngtrans.c b/pngtrans.c
index 75f2a72..6f2bc56 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -9,7 +9,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
 #if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED)
diff --git a/pngvcrd.c b/pngvcrd.c
index 7e009f3..27f3d22 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -25,7 +25,7 @@
  */
 
 #include "png.h"
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 #if defined(PNG_MMX_CODE_SUPPORTED) && defined(PNG_USE_PNGVCRD)
 
@@ -124,8 +124,7 @@
    if (mask == 0xff)
    {
       png_memcpy(row, png_ptr->row_buf + 1,
-       (png_size_t)PNG_ROWBYTES(png_ptr->row_info.pixel_depth,
-       png_ptr->width));
+         PNG_ROWBYTES(png_ptr->row_info.pixel_depth, png_ptr->width));
    }
    /* GRR:  add "else if (mask == 0)" case?
     *       or does png_combine_row() not even get called in that case? */
diff --git a/pngwio.c b/pngwio.c
index 7056ba0..9ba6185 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -17,7 +17,7 @@
 
 #include "png.h"
 #ifdef PNG_WRITE_SUPPORTED
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 /* Write the data to whatever output you are using.  The default routine
    writes to a file pointer.  Note that this routine sometimes gets called
@@ -177,7 +177,7 @@
       png_warning(png_ptr,
          "Attempted to set both read_data_fn and write_data_fn in");
       png_warning(png_ptr,
-         "the same structure.  Resetting read_data_fn to NULL.");
+         "the same structure.  Resetting read_data_fn to NULL");
    }
 }
 
diff --git a/pngwrite.c b/pngwrite.c
index ebfeb2d..09573e8 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -11,7 +11,7 @@
 /* get internal access to png.h */
 #include "png.h"
 #ifdef PNG_WRITE_SUPPORTED
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 /* Writes all the PNG information.  This is the suggested way to use the
  * library.  If you have a new chunk to add, make a function to write it,
@@ -188,7 +188,7 @@
           info_ptr->scal_s_width, info_ptr->scal_s_height);
 #else
       png_warning(png_ptr,
-          "png_write_sCAL not supported; sCAL chunk not written.");
+          "png_write_sCAL not supported; sCAL chunk not written");
 #endif
 #endif
 #endif
@@ -430,7 +430,7 @@
 {
 #ifdef PNG_USER_MEM_SUPPORTED
    return (png_create_write_struct_2(user_png_ver, error_ptr, error_fn,
-      warn_fn, png_voidp_NULL, png_malloc_ptr_NULL, png_free_ptr_NULL));
+      warn_fn, NULL, NULL, NULL));
 }
 
 /* Alternate initialize png_ptr structure, and allocate any memory needed */
@@ -450,7 +450,7 @@
    png_debug(1, "in png_create_write_struct\n");
 #ifdef PNG_USER_MEM_SUPPORTED
    png_ptr = (png_structp)png_create_struct_2(PNG_STRUCT_PNG,
-      (png_malloc_ptr)malloc_fn, (png_voidp)mem_ptr);
+      malloc_fn, mem_ptr);
 #else
    png_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG);
 #endif /* PNG_USER_MEM_SUPPORTED */
@@ -480,7 +480,7 @@
       return (NULL);
    }
 #ifdef USE_FAR_KEYWORD
-   png_memcpy(png_ptr->jmpbuf,jmpbuf,png_sizeof(jmp_buf));
+   png_memcpy(png_ptr->jmpbuf, jmpbuf, sizeof(jmp_buf));
 #endif
 #endif
 
@@ -529,15 +529,13 @@
 
    /* initialize zbuf - compression buffer */
    png_ptr->zbuf_size = PNG_ZBUF_SIZE;
-   png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
-      (png_uint_32)png_ptr->zbuf_size);
+   png_ptr->zbuf = (png_bytep)png_malloc(png_ptr, png_ptr->zbuf_size);
 
-   png_set_write_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL,
-      png_flush_ptr_NULL);
+   png_set_write_fn(png_ptr, NULL, NULL, NULL);
 
 #if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED)
    png_set_filter_heuristics(png_ptr, PNG_FILTER_HEURISTIC_DEFAULT,
-      1, png_doublep_NULL, png_doublep_NULL);
+      1, NULL, NULL);
 #endif
 
 #ifdef PNG_SETJMP_SUPPORTED
@@ -547,7 +545,7 @@
 #ifdef USE_FAR_KEYWORD
    if (setjmp(jmpbuf))
       PNG_ABORT();
-   png_memcpy(png_ptr->jmpbuf,jmpbuf,png_sizeof(jmp_buf));
+   png_memcpy(png_ptr->jmpbuf, jmpbuf, sizeof(jmp_buf));
 #else
    if (setjmp(png_ptr->jmpbuf))
       PNG_ABORT();
@@ -579,7 +577,7 @@
 #else
        png_ptr->warning_fn=NULL;
        png_warning(png_ptr,
-     "Application uses deprecated png_write_init() and should be recompiled.");
+      "Application uses deprecated png_write_init() and should be recompiled");
        break;
 #endif
      }
@@ -589,10 +587,10 @@
 
 #ifdef PNG_SETJMP_SUPPORTED
    /* save jump buffer and error functions */
-   png_memcpy(tmp_jmp, png_ptr->jmpbuf, png_sizeof (jmp_buf));
+   png_memcpy(tmp_jmp, png_ptr->jmpbuf, sizeof(jmp_buf));
 #endif
 
-   if (png_sizeof(png_struct) > png_struct_size)
+   if (sizeof(png_struct) > png_struct_size)
      {
        png_destroy_struct(png_ptr);
        png_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG);
@@ -600,7 +598,7 @@
      }
 
    /* reset all variables to 0 */
-   png_memset(png_ptr, 0, png_sizeof (png_struct));
+   png_memset(png_ptr, 0, sizeof(png_struct));
 
    /* added at libpng-1.2.6 */
 #ifdef PNG_SET_USER_LIMITS_SUPPORTED
@@ -614,20 +612,18 @@
 
 #ifdef PNG_SETJMP_SUPPORTED
    /* restore jump buffer */
-   png_memcpy(png_ptr->jmpbuf, tmp_jmp, png_sizeof (jmp_buf));
+   png_memcpy(png_ptr->jmpbuf, tmp_jmp, sizeof(jmp_buf));
 #endif
 
-   png_set_write_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL,
-      png_flush_ptr_NULL);
+   png_set_write_fn(png_ptr, NULL, NULL, NULL);
 
    /* initialize zbuf - compression buffer */
    png_ptr->zbuf_size = PNG_ZBUF_SIZE;
-   png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
-      (png_uint_32)png_ptr->zbuf_size);
+   png_ptr->zbuf = (png_bytep)png_malloc(png_ptr, png_ptr->zbuf_size);
 
 #if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED)
    png_set_filter_heuristics(png_ptr, PNG_FILTER_HEURISTIC_DEFAULT,
-      1, png_doublep_NULL, png_doublep_NULL);
+      1, NULL, NULL);
 #endif
 }
 
@@ -702,36 +698,36 @@
    /* make sure we wrote the header info */
    if (!(png_ptr->mode & PNG_WROTE_INFO_BEFORE_PLTE))
       png_error(png_ptr,
-         "png_write_info was never called before png_write_row.");
+         "png_write_info was never called before png_write_row");
 
    /* check for transforms that have been set but were defined out */
 #if !defined(PNG_WRITE_INVERT_SUPPORTED) && defined(PNG_READ_INVERT_SUPPORTED)
    if (png_ptr->transformations & PNG_INVERT_MONO)
-      png_warning(png_ptr, "PNG_WRITE_INVERT_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_WRITE_INVERT_SUPPORTED is not defined");
 #endif
 #if !defined(PNG_WRITE_FILLER_SUPPORTED) && defined(PNG_READ_FILLER_SUPPORTED)
    if (png_ptr->transformations & PNG_FILLER)
-      png_warning(png_ptr, "PNG_WRITE_FILLER_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_WRITE_FILLER_SUPPORTED is not defined");
 #endif
 #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)
-      png_warning(png_ptr, "PNG_WRITE_PACK_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_WRITE_PACK_SUPPORTED is not defined");
 #endif
 #if !defined(PNG_WRITE_SHIFT_SUPPORTED) && defined(PNG_READ_SHIFT_SUPPORTED)
    if (png_ptr->transformations & PNG_SHIFT)
-      png_warning(png_ptr, "PNG_WRITE_SHIFT_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_WRITE_SHIFT_SUPPORTED is not defined");
 #endif
 #if !defined(PNG_WRITE_BGR_SUPPORTED) && defined(PNG_READ_BGR_SUPPORTED)
    if (png_ptr->transformations & PNG_BGR)
-      png_warning(png_ptr, "PNG_WRITE_BGR_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_WRITE_BGR_SUPPORTED is not defined");
 #endif
 #if !defined(PNG_WRITE_SWAP_SUPPORTED) && defined(PNG_READ_SWAP_SUPPORTED)
    if (png_ptr->transformations & PNG_SWAP_BYTES)
-      png_warning(png_ptr, "PNG_WRITE_SWAP_SUPPORTED is not defined.");
+      png_warning(png_ptr, "PNG_WRITE_SWAP_SUPPORTED is not defined");
 #endif
 
       png_write_start_row(png_ptr);
@@ -817,8 +813,7 @@
      (unsigned long) png_ptr->row_info.rowbytes);
 
    /* Copy user's row into buffer, leaving room for filter byte. */
-   png_memcpy_check(png_ptr, png_ptr->row_buf + 1, row,
-      png_ptr->row_info.rowbytes);
+   png_memcpy(png_ptr->row_buf + 1, row, png_ptr->row_info.rowbytes);
 
 #if defined(PNG_WRITE_INTERLACING_SUPPORTED)
    /* handle interlacing */
@@ -1032,7 +1027,7 @@
 
 #ifdef PNG_SETJMP_SUPPORTED
    /* reset structure */
-   png_memcpy(tmp_jmp, png_ptr->jmpbuf, png_sizeof (jmp_buf));
+   png_memcpy(tmp_jmp, png_ptr->jmpbuf, sizeof(jmp_buf));
 #endif
 
    error_fn = png_ptr->error_fn;
@@ -1042,7 +1037,7 @@
    free_fn = png_ptr->free_fn;
 #endif
 
-   png_memset(png_ptr, 0, png_sizeof (png_struct));
+   png_memset(png_ptr, 0, sizeof(png_struct));
 
    png_ptr->error_fn = error_fn;
    png_ptr->warning_fn = warning_fn;
@@ -1052,7 +1047,7 @@
 #endif
 
 #ifdef PNG_SETJMP_SUPPORTED
-   png_memcpy(png_ptr->jmpbuf, tmp_jmp, png_sizeof (jmp_buf));
+   png_memcpy(png_ptr->jmpbuf, tmp_jmp, sizeof(jmp_buf));
 #endif
 }
 
@@ -1198,7 +1193,7 @@
       if (png_ptr->prev_filters == NULL)
       {
          png_ptr->prev_filters = (png_bytep)png_malloc(png_ptr,
-            (png_uint_32)(png_sizeof(png_byte) * num_weights));
+            (png_size_t)(sizeof(png_byte) * num_weights));
 
          /* To make sure that the weighting starts out fairly */
          for (i = 0; i < num_weights; i++)
@@ -1210,10 +1205,10 @@
       if (png_ptr->filter_weights == NULL)
       {
          png_ptr->filter_weights = (png_uint_16p)png_malloc(png_ptr,
-            (png_uint_32)(png_sizeof(png_uint_16) * num_weights));
+            (png_size_t)(sizeof(png_uint_16) * num_weights));
 
          png_ptr->inv_filter_weights = (png_uint_16p)png_malloc(png_ptr,
-            (png_uint_32)(png_sizeof(png_uint_16) * num_weights));
+            (png_size_t)(sizeof(png_uint_16) * num_weights));
          for (i = 0; i < num_weights; i++)
          {
             png_ptr->inv_filter_weights[i] =
@@ -1244,10 +1239,10 @@
    if (png_ptr->filter_costs == NULL)
    {
       png_ptr->filter_costs = (png_uint_16p)png_malloc(png_ptr,
-         (png_uint_32)(png_sizeof(png_uint_16) * PNG_FILTER_VALUE_LAST));
+         (sizeof(png_uint_16) * PNG_FILTER_VALUE_LAST));
 
       png_ptr->inv_filter_costs = (png_uint_16p)png_malloc(png_ptr,
-         (png_uint_32)(png_sizeof(png_uint_16) * PNG_FILTER_VALUE_LAST));
+         (sizeof(png_uint_16) * PNG_FILTER_VALUE_LAST));
 
       for (i = 0; i < PNG_FILTER_VALUE_LAST; i++)
       {
diff --git a/pngwtran.c b/pngwtran.c
index 2b9d701..3f5f675 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -10,7 +10,7 @@
 
 #include "png.h"
 #ifdef PNG_WRITE_SUPPORTED
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 /* Transform the data according to the user's wishes.  The order of
  * transformations is significant.
diff --git a/pngwutil.c b/pngwutil.c
index e02d738..10eac10 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 April 20, 2006
+ * Last changed in libpng 1.4.0 July 20, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -10,7 +10,7 @@
 
 #include "png.h"
 #ifdef PNG_WRITE_SUPPORTED
-#include "pngintrn.h"
+#include "pngpriv.h"
 
 /* Place a 32-bit number into a buffer in PNG byte order.  We work
  * with unsigned numbers for convenience, although one supported
@@ -61,9 +61,15 @@
 png_write_sig(png_structp png_ptr)
 {
    png_byte png_signature[8] = {137, 80, 78, 71, 13, 10, 26, 10};
+
+#ifdef PNG_IO_STATE_SUPPORTED
+   /* inform the I/O callback that the signature is being written */
+   png_ptr->io_state = PNG_IO_WRITING | PNG_IO_SIGNATURE;
+#endif
+
    /* write the rest of the 8 byte signature */
    png_write_data(png_ptr, &png_signature[png_ptr->sig_bytes],
-      (png_size_t)8 - png_ptr->sig_bytes);
+      (png_size_t)(8 - png_ptr->sig_bytes));
    if(png_ptr->sig_bytes < 3)
       png_ptr->mode |= PNG_HAVE_PNG_SIGNATURE;
 }
@@ -94,19 +100,35 @@
 png_write_chunk_start(png_structp png_ptr, png_bytep chunk_name,
    png_uint_32 length)
 {
-   png_byte buf[4];
-   png_debug2(0, "Writing %s chunk (%lu bytes)\n", chunk_name,
-     (unsigned long) length);
+   png_byte buf[8];
+   png_debug2(0, "Writing %s chunk, length = %lu\n", chunk_name,
+      (unsigned long)length);
 
-   /* write the length */
+#ifdef PNG_IO_STATE_SUPPORTED
+   /* Inform the I/O callback that the chunk header is being written.
+    * PNG_IO_CHUNK_HDR requires a single I/O call.
+    */
+   png_ptr->io_state = PNG_IO_WRITING | PNG_IO_CHUNK_HDR;
+#endif
+
+   /* write the length and the chunk name */
    png_save_uint_32(buf, length);
-   png_write_data(png_ptr, buf, (png_size_t)4);
+   png_memcpy(buf + 4, chunk_name, 4);
+   png_write_data(png_ptr, buf, 8);
 
-   /* write the chunk name */
-   png_write_data(png_ptr, chunk_name, (png_size_t)4);
+   /* put the chunk name into png_ptr->chunk_name */
+   png_memcpy(png_ptr->chunk_name, chunk_name, 4);
+
    /* reset the crc and run it over the chunk name */
    png_reset_crc(png_ptr);
-   png_calculate_crc(png_ptr, chunk_name, (png_size_t)4);
+   png_calculate_crc(png_ptr, chunk_name, 4);
+
+#ifdef PNG_IO_STATE_SUPPORTED
+   /* Inform the I/O callback that chunk data will (possibly) be written.
+    * PNG_IO_CHUNK_DATA does NOT require a specific number of I/O calls.
+    */
+   png_ptr->io_state = PNG_IO_WRITING | PNG_IO_CHUNK_DATA;
+#endif
 }
 
 /* Write the data of a PNG chunk started with png_write_chunk_start().
@@ -120,8 +142,11 @@
    /* write the data, and run the CRC over it */
    if (data != NULL && length > 0)
    {
-      png_calculate_crc(png_ptr, data, length);
       png_write_data(png_ptr, data, length);
+      /* update the CRC after writing the data,
+       * in case that the user I/O routine alters it.
+       */
+      png_calculate_crc(png_ptr, data, length);
    }
 }
 
@@ -131,10 +156,17 @@
 {
    png_byte buf[4];
 
-   /* write the crc */
+#ifdef PNG_IO_STATE_SUPPORTED
+   /* Inform the I/O callback that the chunk CRC is being written.
+    * PNG_IO_CHUNK_CRC requires a single I/O function call.
+    */
+   png_ptr->io_state = PNG_IO_WRITING | PNG_IO_CHUNK_CRC;
+#endif
+
+   /* write the crc in a single operation */
    png_save_uint_32(buf, png_ptr->crc);
 
-   png_write_data(png_ptr, buf, (png_size_t)4);
+   png_write_data(png_ptr, buf, 4);
 }
 
 #if defined(PNG_WRITE_TEXT_SUPPORTED) || defined(PNG_WRITE_iCCP_SUPPORTED)
@@ -237,21 +269,19 @@
 
                old_ptr = comp->output_ptr;
                comp->output_ptr = (png_charpp)png_malloc(png_ptr,
-                  (png_uint_32)(comp->max_output_ptr *
-                  png_sizeof (png_charpp)));
+                  (png_size_t)(comp->max_output_ptr * sizeof(png_charpp)));
                png_memcpy(comp->output_ptr, old_ptr, old_max
-                  * png_sizeof (png_charp));
+                  * sizeof(png_charp));
                png_free(png_ptr, old_ptr);
             }
             else
                comp->output_ptr = (png_charpp)png_malloc(png_ptr,
-                  (png_uint_32)(comp->max_output_ptr *
-                  png_sizeof (png_charp)));
+                  (png_size_t)(comp->max_output_ptr * sizeof(png_charp)));
          }
 
          /* save the data */
-         comp->output_ptr[comp->num_output_ptr] = (png_charp)png_malloc(png_ptr,
-            (png_uint_32)png_ptr->zbuf_size);
+         comp->output_ptr[comp->num_output_ptr] =
+            (png_charp)png_malloc(png_ptr, png_ptr->zbuf_size);
          png_memcpy(comp->output_ptr[comp->num_output_ptr], png_ptr->zbuf,
             png_ptr->zbuf_size);
          comp->num_output_ptr++;
@@ -288,21 +318,19 @@
                   old_ptr = comp->output_ptr;
                   /* This could be optimized to realloc() */
                   comp->output_ptr = (png_charpp)png_malloc(png_ptr,
-                     (png_uint_32)(comp->max_output_ptr *
-                     png_sizeof (png_charpp)));
+                     (png_size_t)(comp->max_output_ptr * sizeof(png_charpp)));
                   png_memcpy(comp->output_ptr, old_ptr,
-                     old_max * png_sizeof (png_charp));
+                     old_max * sizeof(png_charp));
                   png_free(png_ptr, old_ptr);
                }
                else
                   comp->output_ptr = (png_charpp)png_malloc(png_ptr,
-                     (png_uint_32)(comp->max_output_ptr *
-                     png_sizeof (png_charp)));
+                     (png_size_t)(comp->max_output_ptr * sizeof(png_charp)));
             }
 
             /* save off the data */
             comp->output_ptr[comp->num_output_ptr] =
-               (png_charp)png_malloc(png_ptr, (png_uint_32)png_ptr->zbuf_size);
+               (png_charp)png_malloc(png_ptr, png_ptr->zbuf_size);
             png_memcpy(comp->output_ptr[comp->num_output_ptr], png_ptr->zbuf,
                png_ptr->zbuf_size);
             comp->num_output_ptr++;
@@ -492,7 +520,7 @@
    buf[12] = (png_byte)interlace_type;
 
    /* write the chunk */
-   png_write_chunk(png_ptr, (png_bytep)png_IHDR, buf, (png_size_t)13);
+   png_write_chunk(png_ptr, (png_bytep)png_IHDR, buf, 13);
 
    /* initialize zlib with PNG info */
    png_ptr->zstream.zalloc = png_zalloc;
@@ -582,7 +610,7 @@
       buf[0] = pal_ptr->red;
       buf[1] = pal_ptr->green;
       buf[2] = pal_ptr->blue;
-      png_write_chunk_data(png_ptr, buf, (png_size_t)3);
+      png_write_chunk_data(png_ptr, buf, 3);
    }
 #else
    /* This is a little slower but some buggy compilers need to do this instead */
@@ -592,7 +620,7 @@
       buf[0] = pal_ptr[i].red;
       buf[1] = pal_ptr[i].green;
       buf[2] = pal_ptr[i].blue;
-      png_write_chunk_data(png_ptr, buf, (png_size_t)3);
+      png_write_chunk_data(png_ptr, buf, 3);
    }
 #endif
    png_write_chunk_end(png_ptr);
@@ -659,8 +687,7 @@
    PNG_IEND;
 #endif
    png_debug(1, "in png_write_IEND\n");
-   png_write_chunk(png_ptr, (png_bytep)png_IEND, png_bytep_NULL,
-     (png_size_t)0);
+   png_write_chunk(png_ptr, (png_bytep)png_IEND, NULL, 0);
    png_ptr->mode |= PNG_HAVE_IEND;
 }
 
@@ -680,7 +707,7 @@
    /* file_gamma is saved in 1/100,000ths */
    igamma = (png_uint_32)(file_gamma * 100000.0 + 0.5);
    png_save_uint_32(buf, igamma);
-   png_write_chunk(png_ptr, (png_bytep)png_gAMA, buf, (png_size_t)4);
+   png_write_chunk(png_ptr, (png_bytep)png_gAMA, buf, 4);
 }
 #endif
 #ifdef PNG_FIXED_POINT_SUPPORTED
@@ -695,7 +722,7 @@
    png_debug(1, "in png_write_gAMA\n");
    /* file_gamma is saved in 1/100,000ths */
    png_save_uint_32(buf, (png_uint_32)file_gamma);
-   png_write_chunk(png_ptr, (png_bytep)png_gAMA, buf, (png_size_t)4);
+   png_write_chunk(png_ptr, (png_bytep)png_gAMA, buf, 4);
 }
 #endif
 #endif
@@ -715,7 +742,7 @@
          png_warning(png_ptr,
             "Invalid sRGB rendering intent specified");
    buf[0]=(png_byte)srgb_intent;
-   png_write_chunk(png_ptr, (png_bytep)png_sRGB, buf, (png_size_t)1);
+   png_write_chunk(png_ptr, (png_bytep)png_sRGB, buf, 1);
 }
 #endif
 
@@ -731,6 +758,7 @@
    png_size_t name_len;
    png_charp new_name;
    compression_state comp;
+   int embedded_profile_len = 0;
 
    png_debug(1, "in png_write_iCCP\n");
 
@@ -753,9 +781,27 @@
    if (profile == NULL)
       profile_len = 0;
 
+   if (profile_len > 3)
+      embedded_profile_len = ((*(profile  ))<<24) | ((*(profile+1))<<16) |
+          ((*(profile+2))<< 8) | ((*(profile+3))    );
+
+   if (profile_len < embedded_profile_len)
+     {
+        png_warning(png_ptr,
+          "Embedded profile length too large in iCCP chunk");
+        return;
+     }
+
+   if (profile_len > embedded_profile_len)
+     {
+        png_warning(png_ptr,
+          "Truncating profile to actual length in iCCP chunk");
+        profile_len = embedded_profile_len;
+     }
+
    if (profile_len)
-       profile_len = png_text_compress(png_ptr, profile, (png_size_t)profile_len,
-          PNG_COMPRESSION_TYPE_BASE, &comp);
+       profile_len = png_text_compress(png_ptr, profile,
+          (png_size_t)profile_len, PNG_COMPRESSION_TYPE_BASE, &comp);
 
    /* make sure we include the NULL after the name and the compression type */
    png_write_chunk_start(png_ptr, (png_bytep)png_iCCP,
@@ -782,8 +828,8 @@
    png_size_t name_len;
    png_charp new_name;
    png_byte entrybuf[10];
-   int entry_size = (spalette->depth == 8 ? 6 : 10);
-   int palette_size = entry_size * spalette->nentries;
+   png_size_t entry_size = (spalette->depth == 8 ? 6 : 10);
+   png_size_t palette_size = entry_size * spalette->nentries;
    png_sPLT_entryp ep;
 #ifdef PNG_NO_POINTER_INDEXING
    int i;
@@ -799,7 +845,7 @@
 
    /* make sure we include the NULL after the name */
    png_write_chunk_start(png_ptr, (png_bytep)png_sPLT,
-          (png_uint_32)(name_len + 2 + palette_size));
+      (png_uint_32)(name_len + 2 + palette_size));
    png_write_chunk_data(png_ptr, (png_bytep)new_name, name_len + 1);
    png_write_chunk_data(png_ptr, (png_bytep)&spalette->depth, 1);
 
@@ -807,45 +853,45 @@
 #ifndef PNG_NO_POINTER_INDEXING
    for (ep = spalette->entries; ep<spalette->entries+spalette->nentries; ep++)
    {
-       if (spalette->depth == 8)
-       {
-           entrybuf[0] = (png_byte)ep->red;
-           entrybuf[1] = (png_byte)ep->green;
-           entrybuf[2] = (png_byte)ep->blue;
-           entrybuf[3] = (png_byte)ep->alpha;
-           png_save_uint_16(entrybuf + 4, ep->frequency);
-       }
-       else
-       {
-           png_save_uint_16(entrybuf + 0, ep->red);
-           png_save_uint_16(entrybuf + 2, ep->green);
-           png_save_uint_16(entrybuf + 4, ep->blue);
-           png_save_uint_16(entrybuf + 6, ep->alpha);
-           png_save_uint_16(entrybuf + 8, ep->frequency);
-       }
-       png_write_chunk_data(png_ptr, entrybuf, (png_size_t)entry_size);
+      if (spalette->depth == 8)
+      {
+          entrybuf[0] = (png_byte)ep->red;
+          entrybuf[1] = (png_byte)ep->green;
+          entrybuf[2] = (png_byte)ep->blue;
+          entrybuf[3] = (png_byte)ep->alpha;
+          png_save_uint_16(entrybuf + 4, ep->frequency);
+      }
+      else
+      {
+          png_save_uint_16(entrybuf + 0, ep->red);
+          png_save_uint_16(entrybuf + 2, ep->green);
+          png_save_uint_16(entrybuf + 4, ep->blue);
+          png_save_uint_16(entrybuf + 6, ep->alpha);
+          png_save_uint_16(entrybuf + 8, ep->frequency);
+      }
+      png_write_chunk_data(png_ptr, entrybuf, entry_size);
    }
 #else
    ep=spalette->entries;
    for (i=0; i>spalette->nentries; i++)
    {
-       if (spalette->depth == 8)
-       {
-           entrybuf[0] = (png_byte)ep[i].red;
-           entrybuf[1] = (png_byte)ep[i].green;
-           entrybuf[2] = (png_byte)ep[i].blue;
-           entrybuf[3] = (png_byte)ep[i].alpha;
-           png_save_uint_16(entrybuf + 4, ep[i].frequency);
-       }
-       else
-       {
-           png_save_uint_16(entrybuf + 0, ep[i].red);
-           png_save_uint_16(entrybuf + 2, ep[i].green);
-           png_save_uint_16(entrybuf + 4, ep[i].blue);
-           png_save_uint_16(entrybuf + 6, ep[i].alpha);
-           png_save_uint_16(entrybuf + 8, ep[i].frequency);
-       }
-       png_write_chunk_data(png_ptr, entrybuf, entry_size);
+      if (spalette->depth == 8)
+      {
+          entrybuf[0] = (png_byte)ep[i].red;
+          entrybuf[1] = (png_byte)ep[i].green;
+          entrybuf[2] = (png_byte)ep[i].blue;
+          entrybuf[3] = (png_byte)ep[i].alpha;
+          png_save_uint_16(entrybuf + 4, ep[i].frequency);
+      }
+      else
+      {
+          png_save_uint_16(entrybuf + 0, ep[i].red);
+          png_save_uint_16(entrybuf + 2, ep[i].green);
+          png_save_uint_16(entrybuf + 4, ep[i].blue);
+          png_save_uint_16(entrybuf + 6, ep[i].alpha);
+          png_save_uint_16(entrybuf + 8, ep[i].frequency);
+      }
+      png_write_chunk_data(png_ptr, entrybuf, entry_size);
    }
 #endif
 
@@ -970,7 +1016,7 @@
    itemp = (png_uint_32)(blue_y * 100000.0 + 0.5);
    png_save_uint_32(buf + 28, itemp);
 
-   png_write_chunk(png_ptr, (png_bytep)png_cHRM, buf, (png_size_t)32);
+   png_write_chunk(png_ptr, (png_bytep)png_cHRM, buf, 32);
 }
 #endif
 #ifdef PNG_FIXED_POINT_SUPPORTED
@@ -1023,7 +1069,7 @@
    png_save_uint_32(buf + 24, (png_uint_32)blue_x);
    png_save_uint_32(buf + 28, (png_uint_32)blue_y);
 
-   png_write_chunk(png_ptr, (png_bytep)png_cHRM, buf, (png_size_t)32);
+   png_write_chunk(png_ptr, (png_bytep)png_cHRM, buf, 32);
 }
 #endif
 #endif
@@ -1048,7 +1094,8 @@
          return;
       }
       /* write the chunk out as it is */
-      png_write_chunk(png_ptr, (png_bytep)png_tRNS, trans, (png_size_t)num_trans);
+      png_write_chunk(png_ptr, (png_bytep)png_tRNS,
+         trans, (png_size_t)num_trans);
    }
    else if (color_type == PNG_COLOR_TYPE_GRAY)
    {
@@ -1060,7 +1107,7 @@
          return;
       }
       png_save_uint_16(buf, tran->gray);
-      png_write_chunk(png_ptr, (png_bytep)png_tRNS, buf, (png_size_t)2);
+      png_write_chunk(png_ptr, (png_bytep)png_tRNS, buf, 2);
    }
    else if (color_type == PNG_COLOR_TYPE_RGB)
    {
@@ -1069,12 +1116,12 @@
       png_save_uint_16(buf + 2, tran->green);
       png_save_uint_16(buf + 4, tran->blue);
       if(png_ptr->bit_depth == 8 && (buf[0] | buf[2] | buf[4]))
-         {
-            png_warning(png_ptr,
-              "Ignoring attempt to write 16-bit tRNS chunk when bit_depth is 8");
-            return;
-         }
-      png_write_chunk(png_ptr, (png_bytep)png_tRNS, buf, (png_size_t)6);
+      {
+         png_warning(png_ptr,
+            "Ignoring attempt to write 16-bit tRNS chunk when bit_depth is 8");
+         return;
+      }
+      png_write_chunk(png_ptr, (png_bytep)png_tRNS, buf, 6);
    }
    else
    {
@@ -1107,7 +1154,7 @@
          return;
       }
       buf[0] = back->index;
-      png_write_chunk(png_ptr, (png_bytep)png_bKGD, buf, (png_size_t)1);
+      png_write_chunk(png_ptr, (png_bytep)png_bKGD, buf, 1);
    }
    else if (color_type & PNG_COLOR_MASK_COLOR)
    {
@@ -1115,12 +1162,12 @@
       png_save_uint_16(buf + 2, back->green);
       png_save_uint_16(buf + 4, back->blue);
       if(png_ptr->bit_depth == 8 && (buf[0] | buf[2] | buf[4]))
-         {
-            png_warning(png_ptr,
-              "Ignoring attempt to write 16-bit bKGD chunk when bit_depth is 8");
-            return;
-         }
-      png_write_chunk(png_ptr, (png_bytep)png_bKGD, buf, (png_size_t)6);
+      {
+         png_warning(png_ptr,
+           "Ignoring attempt to write 16-bit bKGD chunk when bit_depth is 8");
+         return;
+      }
+      png_write_chunk(png_ptr, (png_bytep)png_bKGD, buf, 6);
    }
    else
    {
@@ -1131,7 +1178,7 @@
          return;
       }
       png_save_uint_16(buf, back->gray);
-      png_write_chunk(png_ptr, (png_bytep)png_bKGD, buf, (png_size_t)2);
+      png_write_chunk(png_ptr, (png_bytep)png_bKGD, buf, 2);
    }
 }
 #endif
@@ -1156,11 +1203,12 @@
       return;
    }
 
-   png_write_chunk_start(png_ptr, (png_bytep)png_hIST, (png_uint_32)(num_hist * 2));
+   png_write_chunk_start(png_ptr, (png_bytep)png_hIST,
+      (png_uint_32)(num_hist * 2));
    for (i = 0; i < num_hist; i++)
    {
       png_save_uint_16(buf, hist[i]);
-      png_write_chunk_data(png_ptr, buf, (png_size_t)2);
+      png_write_chunk_data(png_ptr, buf, 2);
    }
    png_write_chunk_end(png_ptr);
 }
@@ -1192,16 +1240,16 @@
    if (key == NULL || (key_len = png_strlen(key)) == 0)
    {
       png_warning(png_ptr, "zero length keyword");
-      return ((png_size_t)0);
+      return 0;
    }
 
    png_debug1(2, "Keyword to be checked is '%s'\n", key);
 
-   *new_key = (png_charp)png_malloc_warn(png_ptr, (png_uint_32)(key_len + 2));
+   *new_key = (png_charp)png_malloc_warn(png_ptr, key_len + 2);
    if (*new_key == NULL)
    {
       png_warning(png_ptr, "Out of memory while procesing keyword");
-      return ((png_size_t)0);
+      return 0;
    }
 
    /* Replace non-printing characters with a blank and print a warning */
@@ -1320,7 +1368,8 @@
       text_len = png_strlen(text);
 
    /* make sure we include the 0 after the key */
-   png_write_chunk_start(png_ptr, (png_bytep)png_tEXt, (png_uint_32)key_len+text_len+1);
+   png_write_chunk_start(png_ptr, (png_bytep)png_tEXt,
+      (png_uint_32)key_len+text_len+1);
    /*
     * We leave it to the application to meet PNG-1.0 requirements on the
     * contents of the text.  PNG-1.0 through PNG-1.2 discourage the use of
@@ -1366,7 +1415,7 @@
 
    if (text == NULL || *text == '\0' || compression==PNG_TEXT_COMPRESSION_NONE)
    {
-      png_write_tEXt(png_ptr, new_key, text, (png_size_t)0);
+      png_write_tEXt(png_ptr, new_key, text, 0);
       png_free(png_ptr, new_key);
       return;
    }
@@ -1386,7 +1435,7 @@
    png_write_chunk_data(png_ptr, (png_bytep)key, key_len + 1);
    buf[0] = (png_byte)compression;
    /* write compression */
-   png_write_chunk_data(png_ptr, (png_bytep)buf, (png_size_t)1);
+   png_write_chunk_data(png_ptr, (png_bytep)buf, 1);
    /* write the compressed data */
    png_write_compressed_data_out(png_ptr, &comp);
 
@@ -1503,7 +1552,7 @@
    png_save_int_32(buf + 4, y_offset);
    buf[8] = (png_byte)unit_type;
 
-   png_write_chunk(png_ptr, (png_bytep)png_oFFs, buf, (png_size_t)9);
+   png_write_chunk(png_ptr, (png_bytep)png_oFFs, buf, 9);
 }
 #endif
 
@@ -1532,8 +1581,8 @@
    png_debug1(3, "pCAL units length = %d\n", (int)units_len);
    total_len = purpose_len + units_len + 10;
 
-   params_len = (png_uint_32p)png_malloc(png_ptr, (png_uint_32)(nparams
-      *png_sizeof(png_uint_32)));
+   params_len = (png_uint_32p)png_malloc(png_ptr,
+      (png_size_t)(nparams * sizeof(png_uint_32)));
 
    /* Find the length of each parameter, making sure we don't count the
       null terminator for the last parameter. */
@@ -1552,8 +1601,8 @@
    png_save_int_32(buf + 4, X1);
    buf[8] = (png_byte)type;
    buf[9] = (png_byte)nparams;
-   png_write_chunk_data(png_ptr, buf, (png_size_t)10);
-   png_write_chunk_data(png_ptr, (png_bytep)units, (png_size_t)units_len);
+   png_write_chunk_data(png_ptr, buf, 10);
+   png_write_chunk_data(png_ptr, (png_bytep)units, units_len);
 
    png_free(png_ptr, new_purpose);
 
@@ -1645,7 +1694,7 @@
    png_save_uint_32(buf + 4, y_pixels_per_unit);
    buf[8] = (png_byte)unit_type;
 
-   png_write_chunk(png_ptr, (png_bytep)png_pHYs, buf, (png_size_t)9);
+   png_write_chunk(png_ptr, (png_bytep)png_pHYs, buf, 9);
 }
 #endif
 
@@ -1677,7 +1726,7 @@
    buf[5] = mod_time->minute;
    buf[6] = mod_time->second;
 
-   png_write_chunk(png_ptr, (png_bytep)png_tIME, buf, (png_size_t)7);
+   png_write_chunk(png_ptr, (png_bytep)png_tIME, buf, 7);
 }
 #endif
 
@@ -1704,11 +1753,11 @@
    png_size_t buf_size;
 
    png_debug(1, "in png_write_start_row\n");
-   buf_size = (png_size_t)(PNG_ROWBYTES(
-      png_ptr->usr_channels*png_ptr->usr_bit_depth,png_ptr->width)+1);
+   buf_size = (PNG_ROWBYTES(
+      png_ptr->usr_channels*png_ptr->usr_bit_depth, png_ptr->width) + 1);
 
    /* set up row buffer */
-   png_ptr->row_buf = (png_bytep)png_malloc(png_ptr, (png_uint_32)buf_size);
+   png_ptr->row_buf = (png_bytep)png_malloc(png_ptr, buf_size);
    png_ptr->row_buf[0] = PNG_FILTER_VALUE_NONE;
 
    /* set up filtering buffer, if using this filter */
@@ -1723,12 +1772,12 @@
    if (png_ptr->do_filter & (PNG_FILTER_AVG | PNG_FILTER_UP | PNG_FILTER_PAETH))
    {
      /* set up previous row buffer */
-      png_ptr->prev_row = (png_bytep)png_malloc(png_ptr, (png_uint_32)buf_size);
+      png_ptr->prev_row = (png_bytep)png_malloc(png_ptr, buf_size);
       png_memset(png_ptr->prev_row, 0, buf_size);
 
       if (png_ptr->do_filter & PNG_FILTER_UP)
       {
-         png_ptr->up_row = (png_bytep )png_malloc(png_ptr,
+         png_ptr->up_row = (png_bytep)png_malloc(png_ptr,
             (png_ptr->rowbytes + 1));
          png_ptr->up_row[0] = PNG_FILTER_VALUE_UP;
       }
@@ -1742,7 +1791,7 @@
 
       if (png_ptr->do_filter & PNG_FILTER_PAETH)
       {
-         png_ptr->paeth_row = (png_bytep )png_malloc(png_ptr,
+         png_ptr->paeth_row = (png_bytep)png_malloc(png_ptr,
             (png_ptr->rowbytes + 1));
          png_ptr->paeth_row[0] = PNG_FILTER_VALUE_PAETH;
       }
@@ -1841,8 +1890,8 @@
       {
          if (png_ptr->prev_row != NULL)
             png_memset(png_ptr->prev_row, 0,
-               (png_size_t)(PNG_ROWBYTES(png_ptr->usr_channels*
-               png_ptr->usr_bit_depth,png_ptr->width))+1);
+               (PNG_ROWBYTES(png_ptr->usr_channels*
+               png_ptr->usr_bit_depth, png_ptr->width)) + 1);
          return;
       }
    }
diff --git a/projects/visualc6/libpng.dsp b/projects/visualc6/libpng.dsp
index 57b516e..20bcb0a 100644
--- a/projects/visualc6/libpng.dsp
+++ b/projects/visualc6/libpng.dsp
@@ -8,16 +8,16 @@
 CFG=libpng - Win32 DLL Release

 !MESSAGE This is not a valid makefile. To build this project using NMAKE,

 !MESSAGE use the Export Makefile command and run

-!MESSAGE

+!MESSAGE 

 !MESSAGE NMAKE /f "libpng.mak".

-!MESSAGE

+!MESSAGE 

 !MESSAGE You can specify a configuration when running NMAKE

 !MESSAGE by defining the macro CFG on the command line. For example:

-!MESSAGE

+!MESSAGE 

 !MESSAGE NMAKE /f "libpng.mak" CFG="libpng - Win32 DLL Release"

-!MESSAGE

+!MESSAGE 

 !MESSAGE Possible choices for configuration are:

-!MESSAGE

+!MESSAGE 

 !MESSAGE "libpng - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")

 !MESSAGE "libpng - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library")

 !MESSAGE "libpng - Win32 DLL ASM Release" (based on "Win32 (x86) Dynamic-Link Library")

@@ -27,7 +27,7 @@
 !MESSAGE "libpng - Win32 LIB Debug" (based on "Win32 (x86) Static Library")

 !MESSAGE "libpng - Win32 LIB ASM Release" (based on "Win32 (x86) Static Library")

 !MESSAGE "libpng - Win32 LIB ASM Debug" (based on "Win32 (x86) Static Library")

-!MESSAGE

+!MESSAGE 

 

 # Begin Project

 # PROP AllowPerConfigDependencies 0

@@ -303,7 +303,7 @@
 # ADD BASE LIB32 /nologo

 # ADD LIB32 /nologo /out:"Win32_LIB_ASM_Debug\libpngd.lib"

 

-!ENDIF

+!ENDIF 

 

 # Begin Target

 

@@ -395,12 +395,12 @@
 

 !ELSEIF  "$(CFG)" == "libpng - Win32 LIB ASM Debug"

 

-!ENDIF

+!ENDIF 

 

 # End Source File

 # Begin Source File

 

-SOURCE=..\..\scripts\pngw32.def

+SOURCE=..\..\scripts\pngwin.def

 

 !IF  "$(CFG)" == "libpng - Win32 DLL Release"

 

@@ -430,7 +430,7 @@
 

 # PROP Exclude_From_Build 1

 

-!ENDIF

+!ENDIF 

 

 # End Source File

 # Begin Source File

@@ -461,13 +461,17 @@
 

 SOURCE=..\..\pngconf.h

 # End Source File

+# Begin Source File

+

+SOURCE=..\..\pngpriv.h

+# End Source File

 # End Group

 # Begin Group "Resource Files"

 

 # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"

 # Begin Source File

 

-SOURCE=..\..\scripts\pngw32.rc

+SOURCE=..\..\scripts\pngwin.rc

 

 !IF  "$(CFG)" == "libpng - Win32 DLL Release"

 

@@ -495,7 +499,7 @@
 

 # PROP Exclude_From_Build 1

 

-!ENDIF

+!ENDIF 

 

 # End Source File

 # End Group

diff --git a/projects/visualc71/PRJ0041.mak b/projects/visualc71/PRJ0041.mak
index 3a597b0..e15e12b 100644
--- a/projects/visualc71/PRJ0041.mak
+++ b/projects/visualc71/PRJ0041.mak
@@ -1,5 +1,5 @@
 # Prevent "Cannot find missing dependency..." warnings while compiling
-# pngw32.rc (PRJ0041).
+# pngwin.rc (PRJ0041).
 
 all: $(IntDir)\alloc.h \
 	 $(IntDir)\fp.h \
diff --git a/projects/visualc71/libpng.vcproj b/projects/visualc71/libpng.vcproj
index 06582ec..f1e7bec 100644
--- a/projects/visualc71/libpng.vcproj
+++ b/projects/visualc71/libpng.vcproj
@@ -32,7 +32,7 @@
 				Name="VCLinkerTool"

 				OutputFile="$(OutDir)/libpng14.dll"

 				LinkIncremental="1"

-				ModuleDefinitionFile="..\..\scripts\pngw32.def"/>

+				ModuleDefinitionFile="..\..\scripts\pngwin.def"/>

 			<Tool

 				Name="VCMIDLTool"/>

 			<Tool

@@ -79,7 +79,7 @@
 			<Tool

 				Name="VCLinkerTool"

 				OutputFile="$(OutDir)/libpng14d.dll"

-				ModuleDefinitionFile="..\..\scripts\pngw32.def"

+				ModuleDefinitionFile="..\..\scripts\pngwin.def"

 				GenerateDebugInformation="TRUE"/>

 			<Tool

 				Name="VCMIDLTool"/>

@@ -128,7 +128,7 @@
 				Name="VCLinkerTool"

 				OutputFile="$(OutDir)/libpng14.dll"

 				LinkIncremental="1"

-				ModuleDefinitionFile="..\..\scripts\pngw32.def"/>

+				ModuleDefinitionFile="..\..\scripts\pngwin.def"/>

 			<Tool

 				Name="VCMIDLTool"/>

 			<Tool

@@ -176,7 +176,7 @@
 			<Tool

 				Name="VCLinkerTool"

 				OutputFile="$(OutDir)/libpng14d.dll"

-				ModuleDefinitionFile="..\..\scripts\pngw32.def"

+				ModuleDefinitionFile="..\..\scripts\pngwin.def"

 				GenerateDebugInformation="TRUE"/>

 			<Tool

 				Name="VCMIDLTool"/>

@@ -597,7 +597,7 @@
 				</FileConfiguration>

 			</File>

 			<File

-				RelativePath="..\..\scripts\pngw32.def">

+				RelativePath="..\..\scripts\pngwin.def">

 				<FileConfiguration

 					Name="DLL VB|Win32"

 					ExcludedFromBuild="TRUE">

@@ -651,12 +651,15 @@
 			<File

 				RelativePath="..\..\pngconf.h">

 			</File>

+			<File

+				RelativePath="..\..\pngpriv.h">

+			</File>

 		</Filter>

 		<Filter

 			Name="Resource Files"

 			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">

 			<File

-				RelativePath="..\..\scripts\pngw32.rc">

+				RelativePath="..\..\scripts\pngwin.rc">

 				<FileConfiguration

 					Name="LIB Release|Win32"

 					ExcludedFromBuild="TRUE">

diff --git a/scripts/descrip.mms b/scripts/descrip.mms
index 3584b0d..bb38aac 100644
--- a/scripts/descrip.mms
+++ b/scripts/descrip.mms
@@ -15,9 +15,12 @@
 
 CFLAGS= $(C_DEB) $(CC_DEFS) $(PREF)
 
-all : pngtest.exe libpng.olb
+all : pngtest.exe libpng.olb pngdefs.h
 		@ write sys$output " pngtest available"
 
+pngdefs.h:
+	echo "/* pngdefs.h was built by MMS */" > pngdefs.h
+
 libpng.olb : libpng.olb($(OBJS))
 	@ write sys$output " Libpng available"
 
@@ -29,24 +32,23 @@
    run pngtest
 
 clean :
-	delete *.obj;*,*.exe;*
+	delete *.obj;*,*.exe;*,pngdefs.h
 
 
 # Other dependencies.
-png.obj : png.h, pngconf.h
-pngpread.obj : png.h, pngconf.h
-pngset.obj : png.h, pngconf.h
-pngget.obj : png.h, pngconf.h
-pngread.obj : png.h, pngconf.h
-pngrtran.obj : png.h, pngconf.h
-pngrutil.obj : png.h, pngconf.h
-pngerror.obj : png.h, pngconf.h
-pngmem.obj : png.h, pngconf.h
-pngrio.obj : png.h, pngconf.h
-pngwio.obj : png.h, pngconf.h
-pngtest.obj : png.h, pngconf.h
-pngtrans.obj : png.h, pngconf.h
-pngwrite.obj : png.h, pngconf.h
-pngwtran.obj : png.h, pngconf.h
-pngwutil.obj : png.h, pngconf.h
-
+png.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngpread.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngset.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngget.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngread.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngrtran.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngrutil.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngerror.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngmem.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngrio.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngwio.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngtrans.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngwrite.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngwtran.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngwutil.obj : png.h, pngconf.h, pngdefs.h, pngpriv.h
+pngtest.obj : png.h, pngconf.h, pngdefs.h
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index 23371fe..c47c295 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.4.0beta10
+version=1.4.0beta11
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 722fafa..c3f5d20 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.0beta10
+Version: 1.4.0beta11
 Libs: -L${libdir} -lpng14
 Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index 2773d11..94356a1 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -79,7 +79,10 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.32sunu */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -129,12 +132,13 @@
 test: pngtest
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -210,7 +214,7 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -218,20 +222,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
 
-pngtest.o: png.h pngconf.h pngintrn.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index 1ed505f..ab68f2e 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -79,7 +79,10 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.64sunu */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -129,12 +132,13 @@
 test: pngtest
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -210,7 +214,7 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -218,20 +222,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
 
-pngtest.o: png.h pngconf.h pngintrn.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.acorn b/scripts/makefile.acorn
index ec39ff2..3f050a3 100644
--- a/scripts/makefile.acorn
+++ b/scripts/makefile.acorn
@@ -36,6 +36,11 @@
 @.pngtest:   @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib
 	Link $(Linkflags) @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib
 
+all: pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.acorn */" > pngdefs.h
+
 .SUFFIXES: .o .mm .c
 
 .c.mm:
@@ -46,5 +51,4 @@
 
 # Static dependencies:
 
-
 # Dynamic dependencies:
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 71c975d..33410ed 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@
 
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
@@ -60,7 +60,10 @@
 	pnggccrd$(O)
 
 # Targets
-all: $(LIBNAME)$(A) pngtest$(E)
+all: $(LIBNAME)$(A) pngtest$(E) pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.aix */" > pngdefs.h
 
 $(LIBNAME)$(A): $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -95,21 +98,21 @@
 clean:
 	$(RM_F) *.o $(LIBNAME)$(A) pngtest pngout.png
 
-png$(O): png.h pngconf.h pngintrn.h
-pngerror$(O): png.h pngconf.h pngintrn.h
-pnggccrd$(O): png.h pngconf.h pngintrn.h
-pngget$(O): png.h pngconf.h pngintrn.h
-pngmem$(O): png.h pngconf.h pngintrn.h
-pngpread$(O): png.h pngconf.h pngintrn.h
-pngread$(O): png.h pngconf.h pngintrn.h
-pngrio$(O): png.h pngconf.h pngintrn.h
-pngrtran$(O): png.h pngconf.h pngintrn.h
-pngrutil$(O): png.h pngconf.h pngintrn.h
-pngset$(O): png.h pngconf.h pngintrn.h
-pngtest$(O): png.h pngconf.h pngintrn.h
-pngtrans$(O): png.h pngconf.h pngintrn.h
-pngwio$(O): png.h pngconf.h pngintrn.h
-pngwrite$(O): png.h pngconf.h pngintrn.h
-pngwtran$(O): png.h pngconf.h pngintrn.h
-pngwutil$(O): png.h pngconf.h pngintrn.h
-
+png$(O):      png.h pngconf.h pngpriv.h
+pngerror$(O): png.h pngconf.h pngpriv.h
+pnggccrd$(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
+pngtest$(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
+pngtest$(O):  png.h pngconf.h
diff --git a/scripts/makefile.amiga b/scripts/makefile.amiga
index 79cb424..a578bca 100644
--- a/scripts/makefile.amiga
+++ b/scripts/makefile.amiga
@@ -32,7 +32,10 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
 
-all: libpng.lib pngtest
+all: libpng.lib pngtest pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.amiga */" > pngdefs.h
 
 libpng.lib: $(OBJS)
 -$(RM) libpng.lib
diff --git a/scripts/makefile.atari b/scripts/makefile.atari
index 9566d5d..462732a 100644
--- a/scripts/makefile.atari
+++ b/scripts/makefile.atari
@@ -30,7 +30,10 @@
 	$(LBR)(pngrtran.o) $(LBR)(pngwtran.o)\
 	$(LBR)(pngmem.o) $(LBR)(pngrio.o) $(LBR)(pngwio.o) $(LBR)(pngpread.o)
 
-all: $(LBR) pngtest.ttp
+all: $(LBR) pngtest.ttp pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.atari */" > pngdefs.h
 
 $(LBR): $(OBJS)
 
@@ -43,9 +46,12 @@
 	-@mkdir $(DESTDIR)$(LIBPATH)
 	-@rm -f $(DESTDIR)$(INCPATH)/png.h
 	-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
+	-@rm -f $(DESTDIR)$(INCPATH)/pngdefs.h
 	cp png.h $(DESTDIR)$(INCPATH)/libpng
 	cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+	cp pngdefs.h $(DESTDIR)$(INCPATH)/libpng
 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngdefs.h
 	(cd $(DESTDIR)$(INCPATH); ln -f -s $(LIBNAME) libpng; \
 	ln -f -s $(LIBNAME)/* .)
diff --git a/scripts/makefile.bc32 b/scripts/makefile.bc32
index 04407dd..65fba61 100644
--- a/scripts/makefile.bc32
+++ b/scripts/makefile.bc32
@@ -100,9 +100,11 @@
 .obj.exe:
 	$(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB)
 
-
 ## Major targets
-all: libpng pngtest
+all: libpng pngtest pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.bc32 */" > pngdefs.h
 
 libpng: $(LIBNAME)
 
@@ -111,24 +113,23 @@
 test: pngtest.exe
 	pngtest
 
-
 ## Minor Targets
 
-png.obj: png.c
-pngerror.obj: pngerror.c
-pngget.obj: pngget.c
-pngmem.obj: pngmem.c
-pngpread.obj: pngpread.c
-pngread.obj: pngread.c
-pngrio.obj: pngrio.c
-pngrtran.obj: pngrtran.c
-pngrutil.obj: pngrutil.c
-pngset.obj: pngset.c
-pngtrans.obj: pngtrans.c
-pngwio.obj: pngwio.c
-pngwrite.obj: pngwrite.c
-pngwtran.obj: pngwtran.c
-pngwutil.obj: pngwutil.c
+png.obj: png.c png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.obj: pngerror.c png.h pngconf.h pngdefs.h pngpriv.h
+pngget.obj: pngget.c png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.obj: pngmem.c png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.obj: pngpread.c png.h pngconf.h pngdefs.h pngpriv.h
+pngread.obj: pngread.c png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.obj: pngrio.c png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.obj: pngrtran.c png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.obj: pngrutil.c png.h pngconf.h pngdefs.h pngpriv.h
+pngset.obj: pngset.c png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.obj: pngtrans.c png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.obj: pngwio.c png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.obj: pngwrite.c png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.obj: pngwtran.c png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.obj: pngwutil.c png.h pngconf.h pngdefs.h pngpriv.h
 
 
 $(LIBNAME): $(OBJS)
@@ -147,6 +148,7 @@
 	-del *.map
 	-del *.tds
 	-del pngout.png
+	-del pngdefs.h
 
 
 # End of makefile for libpng
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index a30a5f6..27228f8 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -75,7 +75,10 @@
 
 .SUFFIXES:      .c .o
 
-all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.beos */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -109,12 +112,13 @@
 test: pngtest
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -187,23 +191,23 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
 	$(LIBSO) $(LIBSOMAJ)* pngtesti \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
-pngtest.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.bor b/scripts/makefile.bor
index a5651aa..74f2278 100644
--- a/scripts/makefile.bor
+++ b/scripts/makefile.bor
@@ -107,7 +107,10 @@
 
 
 ## Major targets
-all: libpng pngtest
+all: libpng pngtest pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.bor */" > pngdefs.h
 
 libpng: $(LIBNAME)
 
@@ -119,22 +122,21 @@
 
 ## Minor Targets
 
-png.obj: png.c
-pngerror.obj: pngerror.c
-pngget.obj: pngget.c
-pngmem.obj: pngmem.c
-pngpread.obj: pngpread.c
-pngread.obj: pngread.c
-pngrio.obj: pngrio.c
-pngrtran.obj: pngrtran.c
-pngrutil.obj: pngrutil.c
-pngset.obj: pngset.c
-pngtrans.obj: pngtrans.c
-pngwio.obj: pngwio.c
-pngwrite.obj: pngwrite.c
-pngwtran.obj: pngwtran.c
-pngwutil.obj: pngwutil.c
-
+png.obj: png.c png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.obj: pngerror.c png.h pngconf.h pngdefs.h pngpriv.h
+pngget.obj: pngget.c png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.obj: pngmem.c png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.obj: pngpread.c png.h pngconf.h pngdefs.h pngpriv.h
+pngread.obj: pngread.c png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.obj: pngrio.c png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.obj: pngrtran.c png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.obj: pngrutil.c png.h pngconf.h pngdefs.h pngpriv.h
+pngset.obj: pngset.c png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.obj: pngtrans.c png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.obj: pngwio.c png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.obj: pngwrite.c png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.obj: pngwtran.c png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.obj: pngwutil.c png.h pngconf.h pngdefs.h pngpriv.h
 
 $(LIBNAME): $(OBJS)
 	-del $(LIBNAME)
@@ -157,6 +159,7 @@
 	-del *.lib
 	-del *.lst
 	-del *.map
+	-del pngdefs.h
 
 
 # End of makefile for libpng
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index b384637..f6a91f3 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -65,7 +65,7 @@
 LIBNAME = libpng14
 PNGMAJ = 1
 CYGDLL = 14
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
@@ -113,21 +113,10 @@
 	$(CC) -c $(CFLAGS) -o $@ $<
 
 all: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config \
-	pngconf.h
+	pngconf.h pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
-
-pngconf.h: pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-
-	/* if you don't want to use the intel MMX code, uncomment this */
-	# echo "#define PNG_NO_MMX_CODE" >> pngconf.h
-
-	/* if you don't need thread safety you can uncomment this */
-	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngconf.h
-
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.cygwin */" > pngdefs.h
 
 # Make this to verify that "make [...] install" will do what you want.
 buildsetup-tell:
@@ -159,14 +148,14 @@
 all-static: $(STATLIB) pngtest-stat$(EXE)
 all-shared: $(SHAREDLIB) pngtest$(EXE)
 
-pnggccrd.o: pnggccrd.c png.h pngconf.h
+pnggccrd.o: pnggccrd.c png.h pngconf.h pngdefs.h pngpriv.h
 	@echo ""
 	@echo '    You can ignore the "control reaches end of non-void function"'
 	@echo '    warning and "<variable> defined but not used" warnings:'
 	@echo ""
 	$(CC) -c $(CFLAGS) -o $@ $<
 
-pnggccrd.pic.o:	pnggccrd.c png.h pngconf.h
+pnggccrd.pic.o:	pnggccrd.c png.h pngconf.h pngdefs.h pngpriv.h
 	@echo ""
 	@echo '    You can ignore the "control reaches end of non-void function"'
 	@echo '    warning and "<variable> defined but not used" warnings:'
@@ -177,7 +166,7 @@
 	ar rc $@ $(OBJS)
 	$(RANLIB) $@
 
-$(SHAREDDEF): scripts/pngw32.def
+$(SHAREDDEF): scripts/pngwin.def
 	cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \
 	sed -e 's/\([^;]*\);/;/' > $@
 
@@ -190,10 +179,10 @@
 pngtest-stat$(EXE): pngtest.o $(STATLIB)
 	$(CC) -static $(CFLAGS) $< $(LDFLAGS) -o $@
 
-pngtest.pic.o: pngtest.c
+pngtest.pic.o: pngtest.c pngconf.h pngdefs.h
 	$(CC) $(CFLAGS) -c $< -o $@
 
-pngtest.o: pngtest.c
+pngtest.o: pngtest.c pngconf.h pngdefs.h
 	$(CC) $(CFLAGS) -c $< -o $@
 
 test: test-static test-shared
@@ -228,7 +217,8 @@
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
 	-@rm -f $(DI)/png.h
 	-@rm -f $(DI)/pngconf.h
-	install -m 644 $(S)/png.h $(S)/pngconf.h $(DI)/$(LIBNAME)
+	-@rm -f $(DI)/pngdefs.h
+	install -m 644 $(S)/png.h $(S)/pngconf.h $(S)/pngdefs.h $(DI)/$(LIBNAME)
 	-@rm -f $(DI)/libpng
 	(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
 
@@ -283,7 +273,7 @@
 clean:
 	/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
 	pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
-	libpng-config libpng.pc pngtesti$(EXE)
+	libpng-config libpng.pc pngtesti$(EXE) pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -293,25 +283,22 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o:		png.h pngconf.h pngintrn.h png.c
-pngerror.o pngerror.pic.o:	png.h pngconf.h pngintrn.h pngerror.c
-pngrio.o pngrio.pic.o:		png.h pngconf.h pngintrn.h pngrio.c
-pngwio.o pngwio.pic.o:		png.h pngconf.h pngintrn.h pngwio.c
-pngmem.o pngmem.pic.o:		png.h pngconf.h pngintrn.h pngmem.c
-pngset.o pngset.pic.o:		png.h pngconf.h pngintrn.h pngset.c
-pnggccrd.o pnggccrd.pic.o:	png.h pngconf.h pngintrn.h pngget.c
-pngget.o pngget.pic.o:		png.h pngconf.h pngintrn.h pngget.c
-pngread.o pngread.pic.o:	png.h pngconf.h pngintrn.h pngread.c
-pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngintrn.h pngrtran.c
-pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngintrn.h pngrutil.c
-pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngintrn.h pngtrans.c
-pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngintrn.h pngwrite.c
-pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngintrn.h pngwtran.c
-pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngintrn.h pngwutil.c
-pngpread.o pngpread.pic.o:	png.h pngconf.h pngintrn.h pngpread.c
+png.o png.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h png.c
+pngerror.o pngerror.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngerror.c
+pngrio.o pngrio.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngrio.c
+pngwio.o pngwio.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngwio.c
+pngmem.o pngmem.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngmem.c
+pngset.o pngset.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngset.c
+pnggccrd.o pnggccrd.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngget.c
+pngget.o pngget.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngget.c
+pngread.o pngread.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngread.c
+pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngrtran.c
+pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngrutil.c
+pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngtrans.c
+pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngwrite.c
+pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngwtran.c
+pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngwutil.c
+pngpread.o pngpread.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngpread.c
 
-pngtest.o:			png.h pngconf.h pngintrn.h pngtest.c
-pngtest-stat.o:			png.h pngconf.h pngintrn.h pngtest.c
-
-
-
+pngtest.o:			png.h pngconf.h pngdefs.h pngtest.c
+pngtest-stat.o:			png.h pngconf.h pngdefs.h pngtest.c
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index ba2bf18..cae0d8a 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -70,7 +70,10 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fno-common -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.darwin */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -108,12 +111,13 @@
 test: pngtest
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -188,7 +192,7 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
-	libpng.pc $(LIBNAME).*dylib pngtesti
+	libpng.pc $(LIBNAME).*dylib pngtesti pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -196,20 +200,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
 
-pngtest.o: png.h pngconf.h pngintrn.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 950b6f9..db43350 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -5,7 +5,7 @@
 
 # Library name:
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng14
 
@@ -59,7 +59,10 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
 
-all: $(LIBSO) libpng.a pngtest libpng.pc libpng-config
+all: $(LIBSO) libpng.a pngtest libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.dec */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@  $(OBJS)
@@ -94,12 +97,13 @@
 test: pngtest
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@/bin/rm -f $(DI)/libpng
 	(cd $(DI); $(LN_SF)(LIBNAME) libpng; $(LN_SF)(LIBNAME)/* .)
 
@@ -174,24 +178,24 @@
 clean:
 	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngintrn.h
-pngerror.o: png.h pngconf.h pngintrn.h
-pngrio.o: png.h pngconf.h pngintrn.h
-pngwio.o: png.h pngconf.h pngintrn.h
-pngmem.o: png.h pngconf.h pngintrn.h
-pngset.o: png.h pngconf.h pngintrn.h
-pngget.o: png.h pngconf.h pngintrn.h
-pngread.o: png.h pngconf.h pngintrn.h
-pngrtran.o: png.h pngconf.h pngintrn.h
-pngrutil.o: png.h pngconf.h pngintrn.h
-pngtest.o: png.h pngconf.h pngintrn.h
-pngtrans.o: png.h pngconf.h pngintrn.h
-pngwrite.o: png.h pngconf.h pngintrn.h
-pngwtran.o: png.h pngconf.h pngintrn.h
-pngwutil.o: png.h pngconf.h pngintrn.h
-pngpread.o: png.h pngconf.h pngintrn.h
+png.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
 
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.dj2 b/scripts/makefile.dj2
index 6dc9d4a..2240012 100644
--- a/scripts/makefile.dj2
+++ b/scripts/makefile.dj2
@@ -20,7 +20,10 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o pngwtran.o \
 	pngmem.o pngerror.o pngpread.o
 
-all: libpng.a pngtest
+all: libpng.a pngtest pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.dj2 */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	ar rc $@  $(OBJS)
@@ -33,25 +36,25 @@
 test: pngtest
 	./pngtest
 clean:
-	rm -f *.o libpng.a pngtest pngout.png
+	rm -f *.o libpng.a pngtest pngout.png pngdefs.h
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngintrn.h
-pngerror.o: png.h pngconf.h pngintrn.h
-pngrio.o: png.h pngconf.h pngintrn.h
-pngwio.o: png.h pngconf.h pngintrn.h
-pngmem.o: png.h pngconf.h pngintrn.h
-pngset.o: png.h pngconf.h pngintrn.h
-pnggccrd.o: png.h pngconf.h pngintrn.h
-pngget.o: png.h pngconf.h pngintrn.h
-pngread.o: png.h pngconf.h pngintrn.h
-pngpread.o: png.h pngconf.h pngintrn.h
-pngrtran.o: png.h pngconf.h pngintrn.h
-pngrutil.o: png.h pngconf.h pngintrn.h
-pngtest.o: png.h pngconf.h pngintrn.h
-pngtrans.o: png.h pngconf.h pngintrn.h
-pngwrite.o: png.h pngconf.h pngintrn.h
-pngwtran.o: png.h pngconf.h pngintrn.h
-pngwutil.o: png.h pngconf.h pngintrn.h
+png.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
+pnggccrd.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
 
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index a60f686..25c40dc 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -12,7 +12,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -90,7 +90,10 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.elf */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -101,7 +104,7 @@
 
 libpng.syms: png.h pngconf.h
 	$(CC) $(CFLAGS) -E -DPNG_BUILDSYMS -DPNG_INTERNAL png.h |\
-	awk -F '[\t [\\]();]' -v PNGMAJ=$(PNGMAJ) 'BEGIN{printf("PNG14_%s {global:\n",PNGMAJ)}\
+	awk -F '[\t [\\]();]' -v PNGMAJ=$(PNGMAJ) 'BEGIN{printf("PNG14%s {global:\n",PNGMAJ)}\
 	{ for (i=1;i+2<=NF;++i)\
 		if ($$(i)=="PNG_FUNCTION_EXPORT" && $$(i+2)=="END")\
 			print $$(i+1) ";";\
@@ -151,12 +154,13 @@
 	@echo ""
 	./pngtest-static
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -229,7 +233,7 @@
 clean:
 	$(RM_F) *.o libpng.a libpng.syms pngtest pngout.png libpng-config \
 	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -237,20 +241,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
 
-pngtest.o: png.h pngconf.h pngintrn.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.freebsd b/scripts/makefile.freebsd
index da5cf6d..5fb77aa 100644
--- a/scripts/makefile.freebsd
+++ b/scripts/makefile.freebsd
@@ -14,31 +14,27 @@
 # where make install puts libpng.a and png.h
 DESTDIR=	${PREFIX}
 LIBDIR=		/lib
-INCS=		png.h pngconf.h
+INCS=		png.h pngconf.h pngdefs.h
 INCSDIR=	/include/libpng
 INCDIR=		${INCSDIR}		# for 4.x bsd.lib.mk
 MAN=		libpng.3 libpngpf.3 png.5
 MANDIR=		/man/man
 SYMLINKS=       libpng/png.h ${INCSDIR}/../png.h \
 		libpng/pngconf.h ${INCSDIR}/../pngconf.h
+		libpng/pngdefs.h ${INCSDIR}/../pngdefs.h
 LDADD+=         -lm -lz
 DPADD+=         ${LIBM} ${LIBZ}
 
-all: pngconf.h
+all: pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
-
-pngconf.h:	pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.freebsd */" > pngdefs.h
 .if (${MACHINE_ARCH} != "i386")
-	/* uncoment this if you don't need thread safety */
-	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngconf.h
+	/* uncomment this if you don't need thread safety */
+	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
 .else
-	echo "#define PNG_NO_MMX_CODE" >> pngconf.h
+	echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
 .endif
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
-
 
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
diff --git a/scripts/makefile.gcc b/scripts/makefile.gcc
index 3f26cc8..c68b6aa 100644
--- a/scripts/makefile.gcc
+++ b/scripts/makefile.gcc
@@ -19,50 +19,67 @@
 LDDEBUG =
 CRELEASE = -O2
 LDRELEASE = -s
-CFLAGS = -I$(ZLIBINC) -Wall $(CRELEASE)
-LDFLAGS = -L. -L$(ZLIBLIB) -lpng -lz -lm $(LDRELEASE)
+#CFLAGS = -Wall $(CDEBUG)
+CFLAGS = -Wall $(CRELEASE)
+#LDFLAGS = $(LDDEBUG)
+LDFLAGS = $(LDRELEASE)
+LIBS = -lz -lm
 
 # File extensions
 O=.o
 A=.a
-E=
+EXE=
 
 # Variables
 OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
 	pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
-	pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
+	pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O) \
+	pnggccrd$(O)
 
 # Targets
-all: libpng$(A) pngtest$(E)
+all: static pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.gcc */" > pngdefs.h
+
+.c$(O):
+	$(CC) -c $(CFLAGS) -I$(ZLIBINC) $<
+
+static: libpng$(A) pngtest$(EXE)
+
+shared:
+	@echo This is a generic makefile that cannot create shared libraries.
+	@echo Please use a configuration that is specific to your platform.
+	@false
 
 libpng$(A): $(OBJS)
 	$(AR_RC) $@ $(OBJS)
 	$(RANLIB) $@
 
-test: pngtest$(E)
-	./pngtest$(E)
+test: pngtest$(EXE)
+	./pngtest$(EXE)
 
-pngtest$(E): pngtest$(O) libpng$(A)
-	$(LD) -o $@ pngtest$(O) $(LDFLAGS)
+pngtest$(EXE): pngtest$(O) libpng$(A)
+	$(LD) $(LDFLAGS) -L$(ZLIBLIB) -o $@ pngtest$(O) libpng$(A) $(LIBS)
 
 clean:
-	$(RM_F) *$(O) libpng$(A) pngtest$(E) pngout.png
+	$(RM_F) *$(O) libpng$(A) pngtest$(EXE) pngout.png pngdefs.h
 
-png$(O): png.h pngconf.h pngintrn.h
-pngerror$(O): png.h pngconf.h pngintrn.h
-pnggccrd$(O): png.h pngconf.h pngintrn.h
-pngget$(O): png.h pngconf.h pngintrn.h
-pngmem$(O): png.h pngconf.h pngintrn.h
-pngpread$(O): png.h pngconf.h pngintrn.h
-pngread$(O): png.h pngconf.h pngintrn.h
-pngrio$(O): png.h pngconf.h pngintrn.h
-pngrtran$(O): png.h pngconf.h pngintrn.h
-pngrutil$(O): png.h pngconf.h pngintrn.h
-pngset$(O): png.h pngconf.h pngintrn.h
-pngtest$(O): png.h pngconf.h pngintrn.h
-pngtrans$(O): png.h pngconf.h pngintrn.h
-pngwio$(O): png.h pngconf.h pngintrn.h
-pngwrite$(O): png.h pngconf.h pngintrn.h
-pngwtran$(O): png.h pngconf.h pngintrn.h
-pngwutil$(O): png.h pngconf.h pngintrn.h
-
+png$(O):      png.h pngconf.h pngdefs.h pngpriv.h
+pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pnggccrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngget$(O):   png.h pngconf.h pngdefs.h pngpriv.h
+pngmem$(O):   png.h pngconf.h pngdefs.h pngpriv.h
+pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngread$(O):  png.h pngconf.h pngdefs.h pngpriv.h
+pngrio$(O):   png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngset$(O):   png.h pngconf.h pngdefs.h pngpriv.h
+pngtest$(O):  png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngwio$(O):   png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngtest$(O):  png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 88adaf3..e24195b 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -16,7 +16,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -104,18 +104,13 @@
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
 all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config \
-	pngconf.h
+	pngconf.h pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
-
-# Remove the line with #define PNG_THREAD_UNSAFE_OK if you need thread safety
-### for generic gcc:
-pngconf.h:	pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-	echo "#define PNG_THREAD_UNSAFE_OK" >> pngconf.h
-	echo "#define PNG_USE_PNGGCCRD" >> pngconf.h
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
+# Use makefile.gcmmx if you don't want to use the MMX assembler code.
+# If you don't need thread safety you can uncomment the define.
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.gcmmx */" > pngdefs.h
+	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -168,12 +163,13 @@
 	@echo ""
 	./pngtest-static
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
-	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
+	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h \
+		$(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -244,7 +240,7 @@
 	./pngtesti pngtest.png
 
 clean:
-	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
+	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config pngdefs.h \
 	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
 	libpng.pc
 
@@ -252,20 +248,20 @@
 writelock:
 	chmod a-w *.[ch35] $(DOCS) scripts/*
 
-png.o png.pic.o:		png.h pngconf.h pngintrn.h png.c
-pngerror.o pngerror.pic.o:	png.h pngconf.h pngintrn.h pngerror.c
-pngrio.o pngrio.pic.o:		png.h pngconf.h pngintrn.h pngrio.c
-pngwio.o pngwio.pic.o:		png.h pngconf.h pngintrn.h pngwio.c
-pngmem.o pngmem.pic.o:		png.h pngconf.h pngintrn.h pngmem.c
-pngset.o pngset.pic.o:		png.h pngconf.h pngintrn.h pngset.c
-pngget.o pngget.pic.o:		png.h pngconf.h pngintrn.h pngget.c
-pngread.o pngread.pic.o:	png.h pngconf.h pngintrn.h pngread.c
-pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngintrn.h pngrtran.c
-pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngintrn.h pngrutil.c
-pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngintrn.h pngtrans.c
-pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngintrn.h pngwrite.c
-pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngintrn.h pngwtran.c
-pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngintrn.h pngwutil.c
-pngpread.o pngpread.pic.o:	png.h pngconf.h pngintrn.h pngpread.c
+png.o png.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h png.c
+pngerror.o pngerror.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngerror.c
+pngrio.o pngrio.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngrio.c
+pngwio.o pngwio.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngwio.c
+pngmem.o pngmem.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngmem.c
+pngset.o pngset.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngset.c
+pngget.o pngget.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngget.c
+pngread.o pngread.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngread.c
+pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngrtran.c
+pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngrutil.c
+pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngtrans.c
+pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngwrite.c
+pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngwtran.c
+pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngwutil.c
+pngpread.o pngpread.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngpread.c
 
-pngtest.o:			png.h pngconf.h pngintrn.h pngtest.c
+pngtest.o:			png.h pngconf.h pngdefs.h pngtest.c
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index 4fca2c1..36a14cd 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -77,7 +77,10 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) +z -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.hp64 */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -112,12 +115,13 @@
 test: pngtest
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -192,7 +196,7 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -200,19 +204,19 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngintrn.h
-pngerror.o: png.h pngconf.h pngintrn.h
-pngrio.o: png.h pngconf.h pngintrn.h
-pngwio.o: png.h pngconf.h pngintrn.h
-pngmem.o: png.h pngconf.h pngintrn.h
-pngset.o: png.h pngconf.h pngintrn.h
-pngget.o: png.h pngconf.h pngintrn.h
-pngread.o: png.h pngconf.h pngintrn.h
-pngrtran.o: png.h pngconf.h pngintrn.h
-pngrutil.o: png.h pngconf.h pngintrn.h
-pngtest.o: png.h pngconf.h pngintrn.h
-pngtrans.o: png.h pngconf.h pngintrn.h
-pngwrite.o: png.h pngconf.h pngintrn.h
-pngwtran.o: png.h pngconf.h pngintrn.h
-pngwutil.o: png.h pngconf.h pngintrn.h
-pngpread.o: png.h pngconf.h pngintrn.h
+png.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index bf39cda..9ce5507 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -87,7 +87,10 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.hpgcc */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -121,12 +124,13 @@
 	./pngtest
 
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -201,7 +205,7 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -209,20 +213,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
 
-pngtest.o: png.h pngconf.h pngintrn.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index ba37f39..7e8e2e9 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -74,7 +74,10 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) +z -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.hpux */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -109,12 +112,13 @@
 test: pngtest
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -162,7 +166,7 @@
 	chmod 755 $(DB)/$(LIBNAME)-config
 	(cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
 
-install: install-static install-shared install-man install-config
+install: install-static install-shared install-man install-config pngdefs.h
 
 # If you installed in $(DESTDIR), test-installed won't work until you
 # move the library to its final location.  Use test-dd to test it
@@ -189,7 +193,7 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -197,19 +201,19 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngintrn.h
-pngerror.o: png.h pngconf.h pngintrn.h
-pngrio.o: png.h pngconf.h pngintrn.h
-pngwio.o: png.h pngconf.h pngintrn.h
-pngmem.o: png.h pngconf.h pngintrn.h
-pngset.o: png.h pngconf.h pngintrn.h
-pngget.o: png.h pngconf.h pngintrn.h
-pngread.o: png.h pngconf.h pngintrn.h
-pngrtran.o: png.h pngconf.h pngintrn.h
-pngrutil.o: png.h pngconf.h pngintrn.h
-pngtest.o: png.h pngconf.h pngintrn.h
-pngtrans.o: png.h pngconf.h pngintrn.h
-pngwrite.o: png.h pngconf.h pngintrn.h
-pngwtran.o: png.h pngconf.h pngintrn.h
-pngwutil.o: png.h pngconf.h pngintrn.h
-pngpread.o: png.h pngconf.h pngintrn.h
+png.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.ibmc b/scripts/makefile.ibmc
index 48ebb5f..054bec0 100644
--- a/scripts/makefile.ibmc
+++ b/scripts/makefile.ibmc
@@ -30,12 +30,16 @@
 # Variables
 OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
 	pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
-	pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
+	pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O) \
+	pnggccrd$(O)
 
 LIBS = libpng$(A) $(ZLIBLIB)/zlib$(A)
 
 # Targets
-all: libpng$(A) pngtest$(E)
+all: libpng$(A) pngtest$(E) pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.ibmc */" > pngdefs.h
 
 libpng$(A): $(OBJS)
 	$(AR) -out:$@ $(OBJS)
@@ -53,21 +57,23 @@
 	$(RM) libpng$(A)
 	$(RM) pngtest$(E)
 	$(RM) pngout.png
+	$(RM) pngdefs.h
 
-png$(O): png.h pngconf.h pngintrn.h
-pngerror$(O): png.h pngconf.h pngintrn.h
-pnggccrd$(O): png.h pngconf.h pngintrn.h
-pngget$(O): png.h pngconf.h pngintrn.h
-pngmem$(O): png.h pngconf.h pngintrn.h
-pngpread$(O): png.h pngconf.h pngintrn.h
-pngread$(O): png.h pngconf.h pngintrn.h
-pngrio$(O): png.h pngconf.h pngintrn.h
-pngrtran$(O): png.h pngconf.h pngintrn.h
-pngrutil$(O): png.h pngconf.h pngintrn.h
-pngset$(O): png.h pngconf.h pngintrn.h
-pngtest$(O): png.h pngconf.h pngintrn.h
-pngtrans$(O): png.h pngconf.h pngintrn.h
-pngwio$(O): png.h pngconf.h pngintrn.h
-pngwrite$(O): png.h pngconf.h pngintrn.h
-pngwtran$(O): png.h pngconf.h pngintrn.h
-pngwutil$(O): png.h pngconf.h pngintrn.h
+png$(O):      png.h pngconf.h pngdefs.h pngpriv.h
+pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pnggccrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngget$(O):   png.h pngconf.h pngdefs.h pngpriv.h
+pngmem$(O):   png.h pngconf.h pngdefs.h pngpriv.h
+pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngread$(O):  png.h pngconf.h pngdefs.h pngpriv.h
+pngrio$(O):   png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngset$(O):   png.h pngconf.h pngdefs.h pngpriv.h
+pngtest$(O):  png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngwio$(O):   png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
+pngtest$(O):  png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.intel b/scripts/makefile.intel
index ae3a0e0..93dff86 100644
--- a/scripts/makefile.intel
+++ b/scripts/makefile.intel
@@ -46,67 +46,61 @@
 pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O) pngvcrd$(O)
 
 
-all: test pngconf.h
+all: test pngconf.h pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.intel */" > pngdefs.h
+	echo "#define PNG_USE_PNGVCRD" >> pngdefs.h
 
-# Remove the line with #define PNG_THREAD_UNSAFE_OK if you need thread safety
-### for generic gcc:
-pngconf.h:	pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-	echo "#define PNG_USE_PNGVCRD" >> pngconf.h
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
-
-png$(O): png.h pngconf.h pngintrn.h
+png$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngset$(O): png.h pngconf.h pngintrn.h
+pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngget$(O): png.h pngconf.h pngintrn.h
+pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngread$(O): png.h pngconf.h pngintrn.h
+pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngpread$(O): png.h pngconf.h pngintrn.h
+pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrtran$(O): png.h pngconf.h pngintrn.h
+pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h pngintrn.h
+pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngvcrd$(O): png.h pngconf.h pngintrn.h
+pngvcrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngerror$(O): png.h pngconf.h pngintrn.h
+pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngmem$(O): png.h pngconf.h pngintrn.h
+pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrio$(O): png.h pngconf.h pngintrn.h
+pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwio$(O): png.h pngconf.h pngintrn.h
+pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngtest$(O): png.h pngconf.h pngintrn.h
+pngtest$(O): png.h pngconf.h pngdefs.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngtrans$(O): png.h pngconf.h pngintrn.h
+pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwrite$(O): png.h pngconf.h pngintrn.h
+pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwtran$(O): png.h pngconf.h pngintrn.h
+pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwutil$(O): png.h pngconf.h pngintrn.h
+pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
 libpng.lib: $(OBJS)
diff --git a/scripts/makefile.knr b/scripts/makefile.knr
index f7e53cd..b28eaff 100644
--- a/scripts/makefile.knr
+++ b/scripts/makefile.knr
@@ -36,7 +36,10 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
 
-all: ansi2knr libpng.a pngtest
+all: ansi2knr libpng.a pngtest pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.knr */" > pngdefs.h
 
 # general rule to allow ansi2knr to work
 .c.o:
@@ -58,22 +61,25 @@
 test: pngtest
 	./pngtest
 
-install: libpng.a
+install: libpng.a png.h pngconf.h pngdefs.h
 	-@mkdir $(DESTDIR)$(INCPATH)
 	-@mkdir $(DESTDIR)$(INCPATH)/libpng
 	-@mkdir $(DESTDIR)$(LIBPATH)
 	-@rm -f $(DESTDIR)$(INCPATH)/png.h
 	-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
+	-@rm -f $(DESTDIR)$(INCPATH)/pngdefs.h
 	cp png.h $(DESTDIR)$(INCPATH)/libpng
 	cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+	cp pngdefs.h $(DESTDIR)$(INCPATH)/libpng
 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngdefs.h
 	(cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
 	cp libpng.a $(DESTDIR)$(LIBPATH)
 	chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
 
 clean:
-	rm -f *.o libpng.a pngtest pngout.png ansi2knr
+	rm -f *.o libpng.a pngtest pngout.png ansi2knr pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -81,20 +87,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pntintrn.h
-pngerror.o: png.h pngconf.h pntintrn.h
-pngrio.o: png.h pngconf.h pntintrn.h
-pngwio.o: png.h pngconf.h pntintrn.h
-pngmem.o: png.h pngconf.h pntintrn.h
-pngset.o: png.h pngconf.h pntintrn.h
-pnggccrd.o: png.h pngconf.h pntintrn.h
-pngget.o: png.h pngconf.h pntintrn.h
-pngread.o: png.h pngconf.h pntintrn.h
-pngpread.o: png.h pngconf.h pntintrn.h
-pngrtran.o: png.h pngconf.h pntintrn.h
-pngrutil.o: png.h pngconf.h pntintrn.h
-pngtest.o: png.h pngconf.h pntintrn.h
-pngtrans.o: png.h pngconf.h pntintrn.h
-pngwrite.o: png.h pngconf.h pntintrn.h
-pngwtran.o: png.h pngconf.h pntintrn.h
-pngwutil.o: png.h pngconf.h pntintrn.h
+png.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
+pnggccrd.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index e87329d..f459ef1 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -82,7 +82,14 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config pngdefs.h
+
+# Use makefile.gcmmx if you want to use the MMX assembler code.
+# If you don't need thread safety you can uncomment the define.
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.linux */" > pngdefs.h
+	echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
+	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -126,12 +133,13 @@
 	@echo ""
 	./pngtest-static
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
-	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
+	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h \
+	          $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -202,7 +210,7 @@
 	./pngtesti pngtest.png
 
 clean:
-	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
+	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config pngdefs.h \
 	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
 	libpng.pc
 
@@ -212,20 +220,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
 
-pngtest.o: png.h pngconf.h pngintrn.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index 1edc2c2..a8dade3 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -66,7 +66,7 @@
 LIBNAME = libpng14
 PNGMAJ = 1
 MINGDLL = 14
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=libpng$(MINGDLL).dll
@@ -114,21 +114,14 @@
 	$(CC) -c $(CFLAGS) -o $@ $<
 
 all: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config \
-	pngconf.h
+	pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
-
-pngconf.h:	pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.mingw */" > pngdefs.h
 	/* if you don't want to use the intel MMX code, uncomment this */
-	# echo "#define PNG_NO_MMX_CODE" >> pngconf.h
-
+	# echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
 	/* if you don't need thread safety you can uncomment this */
-	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngconf.h
-
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
+	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
 
 # Make this to verify that "make [...] install" will do what you want.
 buildsetup-tell:
@@ -160,14 +153,14 @@
 all-static: $(STATLIB) pngtest-stat$(EXE)
 all-shared: $(SHAREDLIB) pngtest$(EXE)
 
-pnggccrd.o: pnggccrd.c png.h pngconf.h pngintrn.h
+pnggccrd.o: pnggccrd.c png.h pngconf.h pngdefs.h pngpriv.h
 	@echo ""
 	@echo '    You can ignore the "control reaches end of non-void function"'
 	@echo '    warning and "<variable> defined but not used" warnings:'
 	@echo ""
 	$(CC) -c $(CFLAGS) -o $@ $<
 
-pnggccrd.pic.o:	pnggccrd.c png.h pngconf.h pngintrn.h
+pnggccrd.pic.o:	pnggccrd.c png.h pngconf.h pngdefs.h pngpriv.h
 	@echo ""
 	@echo '    You can ignore the "control reaches end of non-void function"'
 	@echo '    warning and "<variable> defined but not used" warnings:'
@@ -178,7 +171,7 @@
 	ar rc $@ $(OBJS)
 	$(RANLIB) $@
 
-$(SHAREDDEF): scripts/pngw32.def
+$(SHAREDDEF): scripts/pngwin.def
 	cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \
 	sed -e 's/\([^;]*\);/;/' > $@
 
@@ -229,7 +222,8 @@
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
 	-@rm -f $(DI)/png.h
 	-@rm -f $(DI)/pngconf.h
-	install -m 644 $(S)/png.h $(S)/pngconf.h $(DI)/$(LIBNAME)
+	-@rm -f $(DI)/pngdefs.h
+	install -m 644 $(S)/png.h $(S)/pngconf.h $(S)/pngdefs.h $(DI)/$(LIBNAME)
 	-@rm -f $(DI)/libpng
 	(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
 
@@ -284,7 +278,7 @@
 clean:
 	/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
 	pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
-	libpng-config libpng.pc pngtesti$(EXE)
+	libpng-config libpng.pc pngtesti$(EXE) pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -294,25 +288,23 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o:		png.h pngconf.h pngintrn.h png.c
-pngerror.o pngerror.pic.o:	png.h pngconf.h pngintrn.h pngerror.c
-pngrio.o pngrio.pic.o:		png.h pngconf.h pngintrn.h pngrio.c
-pngwio.o pngwio.pic.o:		png.h pngconf.h pngintrn.h pngwio.c
-pngmem.o pngmem.pic.o:		png.h pngconf.h pngintrn.h pngmem.c
-pngset.o pngset.pic.o:		png.h pngconf.h pngintrn.h pngset.c
-pnggcrd.o pnggcrd.pic.o:	png.h pngconf.h pngintrn.h pngget.c
-pngget.o pngget.pic.o:		png.h pngconf.h pngintrn.h pngget.c
-pngread.o pngread.pic.o:	png.h pngconf.h pngintrn.h pngread.c
-pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngintrn.h pngrtran.c
-pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngintrn.h pngrutil.c
-pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngintrn.h pngtrans.c
-pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngintrn.h pngwrite.c
-pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngintrn.h pngwtran.c
-pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngintrn.h pngwutil.c
-pngpread.o pngpread.pic.o:	png.h pngconf.h pngintrn.h pngpread.c
+png.o png.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h png.c
+pngerror.o pngerror.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngerror.c
+pngrio.o pngrio.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngrio.c
+pngwio.o pngwio.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngwio.c
+pngmem.o pngmem.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngmem.c
+pngset.o pngset.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngset.c
+pnggcrd.o pnggcrd.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngget.c
+pngget.o pngget.pic.o:		png.h pngconf.h pngdefs.h pngpriv.h pngget.c
+pngread.o pngread.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngread.c
+pngrtran.o pngrtran.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngrtran.c
+pngrutil.o pngrutil.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngrutil.c
+pngtrans.o pngtrans.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngtrans.c
+pngwrite.o pngwrite.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngwrite.c
+pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngwtran.c
+pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngwutil.c
+pngpread.o pngpread.pic.o:	png.h pngconf.h pngdefs.h pngpriv.h pngpread.c
 
-pngtest.o:			png.h pngconf.h pngintrn.h pngtest.c
-pngtest-stat.o:			png.h pngconf.h pngintrn.h pngtest.c
-
-
+pngtest.o:			png.h pngconf.h pngdefs.h pngtest.c
+pngtest-stat.o:			png.h pngconf.h pngdefs.h pngtest.c
 
diff --git a/scripts/makefile.mips b/scripts/makefile.mips
index 61fd339..06308fd 100644
--- a/scripts/makefile.mips
+++ b/scripts/makefile.mips
@@ -30,7 +30,10 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
 
-all: libpng.a pngtest
+all: libpng.a pngtest pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.mips */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	ar rc $@  $(OBJS)
@@ -48,16 +51,19 @@
 	-@mkdir $(DESTDIR)$(LIBPATH)
 	-@rm -f $(DESTDIR)$(INCPATH)/png.h
 	-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
+	-@rm -f $(DESTDIR)$(INCPATH)/pngdefs.h
 	cp png.h $(DESTDIR)$(INCPATH)/libpng
 	cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+	cp pngdefs.h $(DESTDIR)$(INCPATH)/libpng
 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngdefs.h
 	(cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
 	cp libpng.a $(DESTDIR)$(LIBPATH)
 	chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
 
 clean:
-	rm -f *.o libpng.a pngtest pngout.png
+	rm -f *.o libpng.a pngtest pngout.png pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -65,19 +71,19 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngintrn.h
-pngerror.o: png.h pngconf.h pngintrn.h
-pngrio.o: png.h pngconf.h pngintrn.h
-pngwio.o: png.h pngconf.h pngintrn.h
-pngmem.o: png.h pngconf.h pngintrn.h
-pngset.o: png.h pngconf.h pngintrn.h
-pngget.o: png.h pngconf.h pngintrn.h
-pngread.o: png.h pngconf.h pngintrn.h
-pngpread.o: png.h pngconf.h pngintrn.h
-pngrtran.o: png.h pngconf.h pngintrn.h
-pngrutil.o: png.h pngconf.h pngintrn.h
-pngtest.o: png.h pngconf.h pngintrn.h
-pngtrans.o: png.h pngconf.h pngintrn.h
-pngwrite.o: png.h pngconf.h pngintrn.h
-pngwtran.o: png.h pngconf.h pngintrn.h
-pngwutil.o: png.h pngconf.h pngintrn.h
+png.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.msc b/scripts/makefile.msc
index e739ba0..8d013c1 100644
--- a/scripts/makefile.msc
+++ b/scripts/makefile.msc
@@ -21,57 +21,60 @@
 OBJS2 = pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
 OBJS3 = pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
 
-all: libpng.lib
+all: libpng.lib pngdefs.h
 
-png$(O): png.h pngconf.h pngintrn.h
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.msc */" > pngdefs.h
+
+png$(O): png.h pngconf.h pngdefs.h pngpriv.h
 		  $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngset$(O): png.h pngconf.h pngintrn.h
+pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pnggccrd$(O): png.h pngconf.h pngintrn.h
+pnggccrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngget$(O): png.h pngconf.h pngintrn.h
+pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngread$(O): png.h pngconf.h pngintrn.h
+pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngpread$(O): png.h pngconf.h pngintrn.h
+pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 		  $(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrtran$(O): png.h pngconf.h pngintrn.h
+pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h pngintrn.h
+pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngerror$(O): png.h pngconf.h pngintrn.h
+pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngmem$(O): png.h pngconf.h pngintrn.h
+pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrio$(O): png.h pngconf.h pngintrn.h
+pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwio$(O): png.h pngconf.h pngintrn.h
+pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngtest$(O): png.h pngconf.h pngintrn.h
+pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngtrans$(O): png.h pngconf.h pngintrn.h
+pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwrite$(O): png.h pngconf.h pngintrn.h
+pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwtran$(O): png.h pngconf.h pngintrn.h
+pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwutil$(O): png.h pngconf.h pngintrn.h
+pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
 libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 0bd0c88..e7e9e17 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -12,45 +12,37 @@
 MANDIR= ${LOCALBASE}/man
 INCSDIR=${LOCALBASE}/include/libpng14
 
-LIB=	png12
+LIB=	png14
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.4.0beta10
+SHLIB_MINOR=	1.4.0beta11
 SRCS=	pnggccrd.c 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
-INCS=	png.h pngconf.h
+INCS=	png.h pngconf.h pngpriv.h
 MAN=	libpng.3 libpngpf.3 png.5
 
 CPPFLAGS+=-I${.CURDIR}
 
 CLEANFILES+=pngtest.o pngtest
 
-all: pngconf.h
+all: pngconf.h pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
-
-pngconf.h:	pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.netbsd */" > pngdefs.h
 	/* if you don't want to use the intel MMX code, uncomment this */
-	# echo "#define PNG_NO_MMX_CODE" >> pngconf.h
-
+	# echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
 	/* if you don't need thread safety you can uncomment this */
-	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngconf.h
+	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
 
 # We should be able to do something like this instead of the manual
 # uncommenting, but it core dumps for me at the moment:
 # .if ${MACHINE_ARCH} == "i386"
-#   echo "#define PNG_THREAD_UNSAFE_OK" >> pngconf.h
+#   echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
 #   MKLINT= no
 # .else
-#   echo "#define PNG_NO_MMX_CODE" >> pngconf.h
+#   echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
 # .endif
 
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
-
-
 pngtest.o:	pngtest.c
 	${CC} -c ${CPPFLAGS} ${CFLAGS} ${.ALLSRC} -o ${.TARGET}
 
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 3242717..9cec5b7 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,42 +13,35 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.4.0beta10
+SHLIB_MINOR=	1.4.0beta11
 SRCS=	pnggccrd.c 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
-INCS=	png.h pngconf.h
+INCS=	png.h pngconf.h pngpriv.h
 MAN=	libpng.3 libpngpf.3 png.5
 
 CPPFLAGS+=-I${.CURDIR}
 
 CLEANFILES+=pngtest.o pngtest
 
-all: pngconf.h
+all: pngconf.h pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
-
-pngconf.h: pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.netbsd */" > pngdefs.h
 	/* if you don't want to use the intel MMX code, uncomment this */
-	# echo "#define PNG_NO_MMX_CODE" >> pngconf.h
-
+	# echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
 	/* if you don't need thread safety you can uncomment this */
-	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngconf.h
+	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
 
 # We should be able to do something like this instead of the manual
 # uncommenting, but it core dumps for me at the moment:
 # .if ${MACHINE_ARCH} == "i386"
-#   echo "#define PNG_THREAD_UNSAFE_OK" >> pngconf.h
+#   echo "#define PNG_THREAD_UNSAFE_OK" >> pngdefs.h
 #   MKLINT= no
 # .else
-#   echo "#define PNG_NO_MMX_CODE" >> pngconf.h
+#   echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
 # .endif
 
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
-
 pngtest.o:	pngtest.c
 	${CC} -c ${CPPFLAGS} ${CFLAGS} ${.ALLSRC} -o ${.TARGET}
 
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index e22e72b..05b0e4a 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -8,35 +8,23 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.4.0beta10
+SHLIB_MINOR=	1.4.0beta11
 
 LIB=	png
 SRCS=	png.c pngerror.c pnggccrd.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
 
-HDRS=	png.h pngconf.h
+HDRS=	png.h pngconf.h pngpriv.h pngdefs.h
 
 CFLAGS+= -Wall
 CPPFLAGS+= -I${.CURDIR}
 
-all: pngconf.h
+all: pngconf.h pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
-
-pngconf.h: pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-
-	/* if you want to use the intel assembler code, remove this */
-	echo "#define PNG_NO_MMX_CODE" >> pngconf.h
-	/* if you want to use the intel MMX code, also remove this */
-	echo "#define PNG_NO_ASSEMBLER_CODE" >> pngconf.h
-
-	/* if you don't need thread safety you can uncomment this */
-	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngconf.h
-
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.openbsd */" > pngdefs.h
+	echo "#define PNG_NO_ASSEMBLER_CODE" >> pngdefs.h
 
 NOPROFILE= Yes
 
@@ -80,6 +68,7 @@
 	@rm -f ${DESTDIR}${LIBDIR}/debug/libpng.a
 	@rm -f ${DESTDIR}${PREFIX}/include/png.h
 	@rm -f ${DESTDIR}${PREFIX}/include/pngconf.h
+	@rm -f ${DESTDIR}${PREFIX}/include/pngdefs.h
 	@rmdir ${DESTDIR}${LIBDIR}/debug 2>/dev/null || true
 	${INSTALL} ${INSTALL_COPY} -o ${SHAREOWN} -g ${SHAREGRP} \
 		-m ${NONBINMODE} ${HDRS} ${DESTDIR}${PREFIX}/include/libpng
diff --git a/scripts/makefile.os2 b/scripts/makefile.os2
index afcd315..d1f0823 100644
--- a/scripts/makefile.os2
+++ b/scripts/makefile.os2
@@ -28,7 +28,10 @@
 
 .SUFFIXES:      .c .o
 
-all: $(PNGLIB) $(SHAREDLIB) $(SHAREDLIBIMP)
+all: $(PNGLIB) $(SHAREDLIB) $(SHAREDLIBIMP) pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.os2 */" > pngdefs.h
 
 $(PNGLIB): $(OBJS)
 	$(AR) rc $@ $(OBJS)
@@ -50,20 +53,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
 
-pngtest.o: png.h pngconf.h pngintrn.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 28dd424..da22c1e 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -9,7 +9,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -70,7 +70,10 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.sco */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -110,9 +113,11 @@
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
 	-@$(RM_F) $(DI)/png.h
 	-@$(RM_F) $(DI)/pngconf.h
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	-@$(RM_F) $(DI)/pngdefs.h
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -185,7 +190,7 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
 	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -193,20 +198,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
 
-pngtest.o: png.h pngconf.h pngintrn.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index e796745..49646d6 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -73,7 +73,11 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
 
-all: libpng.a pngtest shared libpng.pc libpng-config
+all: libpng.a pngtest shared libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.sggcc */" > pngdefs.h
+	echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -114,12 +118,13 @@
 	echo Testing local static library.
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
 	cp png.h pngconf.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -196,7 +201,7 @@
 clean:
 	$(RM_F) libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
 	$(LIBSO) $(LIBSOMAJ)* \
-	so_locations
+	so_locations pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -204,21 +209,21 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngintrn.h
-pngerror.o: png.h pngconf.h pngintrn.h
-pngrio.o: png.h pngconf.h pngintrn.h
-pngwio.o: png.h pngconf.h pngintrn.h
-pngmem.o: png.h pngconf.h pngintrn.h
-pngset.o: png.h pngconf.h pngintrn.h
-pngget.o: png.h pngconf.h pngintrn.h
-pngread.o: png.h pngconf.h pngintrn.h
-pngrtran.o: png.h pngconf.h pngintrn.h
-pngrutil.o: png.h pngconf.h pngintrn.h
-pngtest.o: png.h pngconf.h pngintrn.h
-pngtrans.o: png.h pngconf.h pngintrn.h
-pngwrite.o: png.h pngconf.h pngintrn.h
-pngwtran.o: png.h pngconf.h pngintrn.h
-pngwutil.o: png.h pngconf.h pngintrn.h
-pngpread.o: png.h pngconf.h pngintrn.h
-pnggccrd.o: png.h pngconf.h pngintrn.h
+png.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
+pnggccrd.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
 
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 7aed15e..3700d4c 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -76,21 +76,11 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
 
-all: libpng.a pngtest shared libpng.pc libpng-config pngconf.h
+all: libpng.a pngtest shared libpng.pc libpng-config pngconf.h pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
-
-pngconf.h: pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-
-	/* if you don't want to use the intel MMX code, uncomment this */
-	echo "#define PNG_NO_MMX_CODE" >> pngconf.h
-
-	/* if you don't need thread safety you can uncomment this */
-	# echo "#define PNG_THREAD_UNSAFE_OK" >> pngconf.h
-
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.sgi */" > pngdefs.h
+	echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -132,12 +122,13 @@
 	echo Testing local static library.
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -213,7 +204,7 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png libpng.pc
-	 libpng-config  $(LIBSO) $(LIBSOMAJ)*  so_locations
+	 libpng-config  $(LIBSO) $(LIBSOMAJ)*  so_locations pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -221,21 +212,21 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngintrn.h
-pngerror.o: png.h pngconf.h pngintrn.h
-pngrio.o: png.h pngconf.h pngintrn.h
-pngwio.o: png.h pngconf.h pngintrn.h
-pngmem.o: png.h pngconf.h pngintrn.h
-pngset.o: png.h pngconf.h pngintrn.h
-pngget.o: png.h pngconf.h pngintrn.h
-pnggccrd.o: png.h pngconf.h pngintrn.h
-pngread.o: png.h pngconf.h pngintrn.h
-pngrtran.o: png.h pngconf.h pngintrn.h
-pngrutil.o: png.h pngconf.h pngintrn.h
-pngtest.o: png.h pngconf.h pngintrn.h
-pngtrans.o: png.h pngconf.h pngintrn.h
-pngwrite.o: png.h pngconf.h pngintrn.h
-pngwtran.o: png.h pngconf.h pngintrn.h
-pngwutil.o: png.h pngconf.h pngintrn.h
-pngpread.o: png.h pngconf.h pngintrn.h
+png.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
+pnggccrd.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
 
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 67d4964..2b617ec 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -8,7 +8,7 @@
 
 # Library name:
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng14
 
@@ -80,7 +80,10 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.so9 */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -127,12 +130,13 @@
 test: pngtest
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -207,7 +211,7 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -215,20 +219,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
 
-pngtest.o: png.h pngconf.h pngintrn.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index c15bced..8630362 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta10
+PNGMIN = 1.4.0beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -76,15 +76,11 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngconf.h
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config pngconf.h pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
-
-pngconf.h: pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-	echo "#define PNG_NO_MMX_CODE" >> pngconf.h
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.solaris */" > pngdefs.h
+	echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -132,12 +128,13 @@
 test: pngtest
 	./pngtest
 
-install-headers: png.h pngconf.h
+install-headers: png.h pngconf.h pngdefs.h
 	-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
 	-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-	cp png.h pngconf.h $(DI)/$(LIBNAME)
+	cp png.h pngconf.h pngdefs.h $(DI)/$(LIBNAME)
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
-	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
+	chmod 644 $(DI)/$(LIBNAME)/pngdefs.h
+	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h $(DI)/pngdefs.h
 	-@$(RM_F) $(DI)/libpng
 	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
@@ -212,7 +209,7 @@
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
 	libpng-config $(LIBSO) $(LIBSOMAJ)* \
-	libpng.pc
+	libpng.pc pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -220,22 +217,22 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o png.pic.o: png.h pngconf.h pngintrn.h
-pngerror.o pngerror.pic.o: png.h pngconf.h pngintrn.h
-pngrio.o pngrio.pic.o: png.h pngconf.h pngintrn.h
-pngwio.o pngwio.pic.o: png.h pngconf.h pngintrn.h
-pngmem.o pngmem.pic.o: png.h pngconf.h pngintrn.h
-pngset.o pngset.pic.o: png.h pngconf.h pngintrn.h
-pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngintrn.h
-pngget.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pnggccrd.o pngget.pic.o: png.h pngconf.h pngintrn.h
-pngread.o pngread.pic.o: png.h pngconf.h pngintrn.h
-pngrtran.o pngrtran.pic.o: png.h pngconf.h pngintrn.h
-pngrutil.o pngrutil.pic.o: png.h pngconf.h pngintrn.h
-pngtrans.o pngtrans.pic.o: png.h pngconf.h pngintrn.h
-pngwrite.o pngwrite.pic.o: png.h pngconf.h pngintrn.h
-pngwtran.o pngwtran.pic.o: png.h pngconf.h pngintrn.h
-pngwutil.o pngwutil.pic.o: png.h pngconf.h pngintrn.h
-pngpread.o pngpread.pic.o: png.h pngconf.h pngintrn.h
+png.o png.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o pngrio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o pngwio.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o pngmem.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o pngset.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pnggccrd.o pngget.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o pngread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o pngpread.pic.o: png.h pngconf.h pngdefs.h pngpriv.h
 
-pngtest.o: png.h pngconf.h pngintrn.h
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.std b/scripts/makefile.std
index 12f9af1..2e7a7a8 100644
--- a/scripts/makefile.std
+++ b/scripts/makefile.std
@@ -40,6 +40,9 @@
 
 all: libpng.a pngtest
 
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.std */" > pngdefs.h
+
 libpng.a: $(OBJS)
 	$(AR_RC) $@  $(OBJS)
 	$(RANLIB) $@
@@ -56,16 +59,19 @@
 	-@$(MKDIR_P) $(DESTDIR)$(LIBPATH)
 	-@$(RM_F) $(DESTDIR)$(INCPATH)/png.h
 	-@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h
+	-@$(RM_F) $(DESTDIR)$(INCPATH)/pngdefs.h
 	cp png.h $(DESTDIR)$(INCPATH)/libpng
 	cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
+	cp pngdefs.h $(DESTDIR)$(INCPATH)/libpng
 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngdefs.h
 	(cd $(DESTDIR)$(INCPATH); ln -f -s libpng/* .)
 	cp libpng.a $(DESTDIR)$(LIBPATH)
 	chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
 
 clean:
-	$(RM_F) *.o libpng.a pngtest pngout.png
+	$(RM_F) *.o libpng.a pngtest pngout.png pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -73,20 +79,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngintrn.h
-pngerror.o: png.h pngconf.h pngintrn.h
-pngrio.o: png.h pngconf.h pngintrn.h
-pngwio.o: png.h pngconf.h pngintrn.h
-pngmem.o: png.h pngconf.h pngintrn.h
-pngset.o: png.h pngconf.h pngintrn.h
-pngget.o: png.h pngconf.h pngintrn.h
-pngread.o: png.h pngconf.h pngintrn.h
-pngrtran.o: png.h pngconf.h pngintrn.h
-pngrutil.o: png.h pngconf.h pngintrn.h
-pngtest.o: png.h pngconf.h pngintrn.h
-pngtrans.o: png.h pngconf.h pngintrn.h
-pngwrite.o: png.h pngconf.h pngintrn.h
-pngwtran.o: png.h pngconf.h pngintrn.h
-pngwutil.o: png.h pngconf.h pngintrn.h
-pngpread.o: png.h pngconf.h pngintrn.h
+png.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
 
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.sunos b/scripts/makefile.sunos
index 5cf7299..e2dca4b 100644
--- a/scripts/makefile.sunos
+++ b/scripts/makefile.sunos
@@ -43,7 +43,10 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.o
 
-all: libpng.a pngtest
+all: libpng.a pngtest pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.elf */" > pngdefs.h
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@  $(OBJS)
@@ -61,16 +64,18 @@
 	-@$(MKDIR_P) $(DESTDIR)$(LIBPATH)
 	-@$(RM_F) $(DESTDIR)$(INCPATH)/png.h
 	-@$(RM_F) $(DESTDIR)$(INCPATH)/pngconf.h
+	-@$(RM_F) $(DESTDIR)$(INCPATH)/pngdefs.h
 	cp png.h $(DESTDIR)$(INCPATH)/libpng
 	cp pngconf.h $(DESTDIR)$(INCPATH)/libpng
 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/png.h
 	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngconf.h
+	chmod 644 $(DESTDIR)$(INCPATH)/libpng/pngdefs.h
 	(cd $(DESTDIR)$(INCPATH); $(LN_SF) libpng/* .)
 	cp libpng.a $(DESTDIR)$(LIBPATH)
 	chmod 644 $(DESTDIR)$(LIBPATH)/libpng.a
 
 clean:
-	$(RM_F) *.o libpng.a pngtest pngout.png
+	$(RM_F) *.o libpng.a pngtest pngout.png pngdefs.h
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -78,20 +83,20 @@
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-png.o: png.h pngconf.h pngintrn.h
-pngerror.o: png.h pngconf.h pngintrn.h
-pngrio.o: png.h pngconf.h pngintrn.h
-pngwio.o: png.h pngconf.h pngintrn.h
-pngmem.o: png.h pngconf.h pngintrn.h
-pngset.o: png.h pngconf.h pngintrn.h
-pngget.o: png.h pngconf.h pngintrn.h
-pngread.o: png.h pngconf.h pngintrn.h
-pngrtran.o: png.h pngconf.h pngintrn.h
-pngrutil.o: png.h pngconf.h pngintrn.h
-pngtest.o: png.h pngconf.h pngintrn.h
-pngtrans.o: png.h pngconf.h pngintrn.h
-pngwrite.o: png.h pngconf.h pngintrn.h
-pngwtran.o: png.h pngconf.h pngintrn.h
-pngwutil.o: png.h pngconf.h pngintrn.h
-pngpread.o: png.h pngconf.h pngintrn.h
+png.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngerror.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwio.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngmem.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngset.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngget.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngread.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngrutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngtrans.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwrite.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwtran.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngwutil.o: png.h pngconf.h pngdefs.h pngpriv.h
+pngpread.o: png.h pngconf.h pngdefs.h pngpriv.h
 
+pngtest.o: png.h pngconf.h pngdefs.h
diff --git a/scripts/makefile.tc3 b/scripts/makefile.tc3
index 060ce69..49a6d80 100644
--- a/scripts/makefile.tc3
+++ b/scripts/makefile.tc3
@@ -25,57 +25,60 @@
 
 all: libpng$(MODEL).lib pngtest$(E)
 
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.tc3 */" > pngdefs.h
+
 pngtest: pngtest$(E)
 
 test: pngtest$(E)
 	pngtest$(E)
 
-png$(O): png.h pngconf.h pngintrn.h
+png$(O): png.h pngconf.h pngdefs.h pngpriv.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngset$(O): png.h pngconf.h pngintrn.h
+pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngget$(O): png.h pngconf.h pngintrn.h
+pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngread$(O): png.h pngconf.h pngintrn.h
+pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngpread$(O): png.h pngconf.h pngintrn.h
+pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngrtran$(O): png.h pngconf.h pngintrn.h
+pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngrutil$(O): png.h pngconf.h pngintrn.h
+pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 		  $(CC) -c $(CFLAGS) $*.c
 
-pngerror$(O): png.h pngconf.h pngintrn.h
+pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngmem$(O): png.h pngconf.h pngintrn.h
+pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngrio$(O): png.h pngconf.h pngintrn.h
+pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngwio$(O): png.h pngconf.h pngintrn.h
+pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngtest$(O): png.h pngconf.h pngintrn.h
+pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngtrans$(O): png.h pngconf.h pngintrn.h
+pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngwrite$(O): png.h pngconf.h pngintrn.h
+pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngwtran$(O): png.h pngconf.h pngintrn.h
+pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c
 
-pngwutil$(O): png.h pngconf.h pngintrn.h
+pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c
 
 libpng$(MODEL).lib: $(OBJS1) $(OBJS2) $(OBJS3)
diff --git a/scripts/makefile.vcawin32 b/scripts/makefile.vcawin32
index 030f295..d9583ba 100644
--- a/scripts/makefile.vcawin32
+++ b/scripts/makefile.vcawin32
@@ -31,65 +31,61 @@
 OBJS  = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4)
 
 # Targets
-all: libpng.lib pngconf.h
+all: libpng.lib pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.vcawin32 */" > pngdefs.h
+	echo "#define PNG_USE_PNGVCRD" >> pngdefs.h
 
-pngconf.h: pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-	echo "#define PNG_USE_PNGVCRD" >> pngconf.h
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
-
-png$(O): png.h pngconf.h pngintrn.h
+png$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngset$(O): png.h pngconf.h pngintrn.h
+pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngget$(O): png.h pngconf.h pngintrn.h
+pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngread$(O): png.h pngconf.h pngintrn.h
+pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngpread$(O): png.h pngconf.h pngintrn.h
+pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrtran$(O): png.h pngconf.h pngintrn.h
+pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h pngintrn.h
+pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngerror$(O): png.h pngconf.h pngintrn.h
+pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngmem$(O): png.h pngconf.h pngintrn.h
+pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrio$(O): png.h pngconf.h pngintrn.h
+pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwio$(O): png.h pngconf.h pngintrn.h
+pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngtest$(O): png.h pngconf.h pngintrn.h
+pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngtrans$(O): png.h pngconf.h pngintrn.h
+pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwrite$(O): png.h pngconf.h pngintrn.h
+pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwtran$(O): png.h pngconf.h pngintrn.h
+pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwutil$(O): png.h pngconf.h pngintrn.h
+pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngvcrd$(O): png.h pngconf.h pngintrn.h
+pngvcrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
 libpng.lib: $(OBJS)
diff --git a/scripts/makefile.vcwin32 b/scripts/makefile.vcwin32
index a59779a..9258cab 100644
--- a/scripts/makefile.vcwin32
+++ b/scripts/makefile.vcwin32
@@ -30,65 +30,61 @@
 OBJS  = $(OBJS1) $(OBJS2) $(OBJS3)
 
 # Targets
-all: libpng.lib pngconf.h
+all: libpng.lib pngdefs.h
 
-pngconf.h.in: pngconf.h
-	cat pngconf.h > pngconf.h.in
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.vcwin32 */" > pngdefs.h
+	echo "#define PNG_NO_MMX_CODE" >> pngdefs.h
 
-pngconf.h: pngconf.h.in
-	sed "/Makefile-supplied defines go here:/q" pngconf.h.in > pngconf.h
-	echo "#define PNG_NO_MMX_CODE" >> pngconf.h
-	sed "1,/Makefile-supplied defines go here:/d" pngconf.h.in >> pngconf.h
-
-png$(O): png.h pngconf.h pngintrn.h
+png$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngset$(O): png.h pngconf.h pngintrn.h
+pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pnggccrd$(O): png.h pngconf.h pngintrn.h
+pnggccrd$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngget$(O): png.h pngconf.h pngintrn.h
+pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngread$(O): png.h pngconf.h pngintrn.h
+pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngpread$(O): png.h pngconf.h pngintrn.h
+pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrtran$(O): png.h pngconf.h pngintrn.h
+pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h pngintrn.h
+pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngerror$(O): png.h pngconf.h pngintrn.h
+pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngmem$(O): png.h pngconf.h pngintrn.h
+pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngrio$(O): png.h pngconf.h pngintrn.h
+pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwio$(O): png.h pngconf.h pngintrn.h
+pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngtest$(O): png.h pngconf.h pngintrn.h
+pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngtrans$(O): png.h pngconf.h pngintrn.h
+pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwrite$(O): png.h pngconf.h pngintrn.h
+pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwtran$(O): png.h pngconf.h pngintrn.h
+pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
-pngwutil$(O): png.h pngconf.h pngintrn.h
+pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) -c $(CFLAGS) $*.c $(ERRFILE)
 
 libpng.lib: $(OBJS)
diff --git a/scripts/makefile.watcom b/scripts/makefile.watcom
index c0b1f4b..569a141 100644
--- a/scripts/makefile.watcom
+++ b/scripts/makefile.watcom
@@ -44,54 +44,57 @@
 OBJS3=pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
 
 
-all: test
+all: test pngdefs.h
 
-png$(O): png.h pngconf.h pngintrn.h
+pngdefs.h:
+	echo "/* pngdefs.h was built by makefile.watcam */" > pngdefs.h
+
+png$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngset$(O): png.h pngconf.h pngintrn.h
+pngset$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngget$(O): png.h pngconf.h pngintrn.h
+pngget$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngread$(O): png.h pngconf.h pngintrn.h
+pngread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngpread$(O): png.h pngconf.h pngintrn.h
+pngpread$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrtran$(O): png.h pngconf.h pngintrn.h
+pngrtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrutil$(O): png.h pngconf.h pngintrn.h
+pngrutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngerror$(O): png.h pngconf.h pngintrn.h
+pngerror$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngmem$(O): png.h pngconf.h pngintrn.h
+pngmem$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngrio$(O): png.h pngconf.h pngintrn.h
+pngrio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwio$(O): png.h pngconf.h pngintrn.h
+pngwio$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngtest$(O): png.h pngconf.h pngintrn.h
+pngtest$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngtrans$(O): png.h pngconf.h pngintrn.h
+pngtrans$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwrite$(O): png.h pngconf.h pngintrn.h
+pngwrite$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwtran$(O): png.h pngconf.h pngintrn.h
+pngwtran$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
-pngwutil$(O): png.h pngconf.h pngintrn.h
+pngwutil$(O): png.h pngconf.h pngdefs.h pngpriv.h
 	$(CC) $(CFLAGS) $*.c $(ERRFILE)
 
 libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
diff --git a/scripts/makevms.com b/scripts/makevms.com
index b9e3895..c81a156 100644
--- a/scripts/makevms.com
+++ b/scripts/makevms.com
@@ -52,44 +52,45 @@
 $ write sys$output "Compiling Libpng sources ..."
 $ if make.eqs.""
 $  then
+$   echo "" > pngdefs.h
 $   dele pngtest.obj;*
 $   CALL MAKE png.OBJ "cc ''CCOPT' png" -
-	png.c png.h pngconf.h
+	png.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
-					 pngpread.c png.h pngconf.h
+	pngpread.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
-	pngset.c png.h pngconf.h
+	pngset.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngget.OBJ "cc ''CCOPT' pngget" -
-	pngget.c png.h pngconf.h
+	pngget.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngread.OBJ "cc ''CCOPT' pngread" -
-	pngread.c png.h pngconf.h
+	pngread.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
-					 pngpread.c png.h pngconf.h
+	pngpread.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngrtran.OBJ "cc ''CCOPT' pngrtran" -
-	pngrtran.c png.h pngconf.h
+	pngrtran.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngrutil.OBJ "cc ''CCOPT' pngrutil" -
-	pngrutil.c png.h pngconf.h
+	pngrutil.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngerror.OBJ "cc ''CCOPT' pngerror" -
-	pngerror.c png.h pngconf.h
+	pngerror.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngmem.OBJ "cc ''CCOPT' pngmem" -
-	pngmem.c png.h pngconf.h
+	pngmem.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngrio.OBJ "cc ''CCOPT' pngrio" -
-	pngrio.c png.h pngconf.h
+	pngrio.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngwio.OBJ "cc ''CCOPT' pngwio" -
-	pngwio.c png.h pngconf.h
+	pngwio.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngtrans.OBJ "cc ''CCOPT' pngtrans" -
-	pngtrans.c png.h pngconf.h
+	pngtrans.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngwrite.OBJ "cc ''CCOPT' pngwrite" -
-	pngwrite.c png.h pngconf.h
+	pngwrite.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngwtran.OBJ "cc ''CCOPT' pngwtran" -
-	pngwtran.c png.h pngconf.h
+	pngwtran.c png.h pngconf.h pngdefs.h pngpriv.h
 $   CALL MAKE pngwutil.OBJ "cc ''CCOPT' pngwutil" -
-	pngwutil.c png.h pngconf.h
+	pngwutil.c png.h pngconf.h pngdefs.h pngpriv.h
 $   write sys$output "Building Libpng ..."
 $   CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ
 $   write sys$output "Building pngtest..."
 $   CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
-	pngtest.c png.h pngconf.h
+	pngtest.c png.h pngconf.h pngdefs.h
 $   call make pngtest.exe -
 	"LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" -
 	pngtest.obj libpng.olb
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 8a5c879..9580082 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.4.0beta10
+; Version 1.4.0beta11
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
@@ -219,6 +219,9 @@
   png_save_int_32
   png_get_uint_31
   png_set_expand_gray_1_2_4_to_8
+; Added at version 1.4.0
+  png_get_io_chunk_name
+  png_get_io_state
 
 ; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
   png_libpng_ver
diff --git a/scripts/pngw32.def b/scripts/pngwin.def
similarity index 98%
rename from scripts/pngw32.def
rename to scripts/pngwin.def
index 2ffe67a..9b5d3c7 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngwin.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.4.0beta10
+;Version 1.4.0beta11
   png_build_grayscale_palette
   png_chunk_error
   png_chunk_warning
@@ -223,3 +223,5 @@
 ; png_benign_error
 ; png_benign_chunk_error
 ; png_set_benign_error
+  png_get_io_chunk_name
+  png_get_io_state
diff --git a/scripts/pngw32.rc b/scripts/pngwin.rc
similarity index 98%
rename from scripts/pngw32.rc
rename to scripts/pngwin.rc
index 02e30e2..46c8921 100644
--- a/scripts/pngw32.rc
+++ b/scripts/pngwin.rc
@@ -90,7 +90,7 @@
       VALUE "FileDescription", "PNG image compression library\000"
       VALUE "FileVersion", PNG_LIBPNG_VER_STRING "\000"
       VALUE "InternalName", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_DLLNUM) PNG_LIBPNG_DLLFNAME_POSTFIX " (Windows 32 bit)\000"
-      VALUE "LegalCopyright", "\251 1998-2004 Glenn Randers-Pehrson et al.\000"
+      VALUE "LegalCopyright", "\251 1998-2006 Glenn Randers-Pehrson et al.\000"
 #ifdef PNG_USER_VERSIONINFO_LEGALTRADEMARKS
       VALUE "LegalTrademarks", PNG_USER_VERSIONINFO_LEGALTRADEMARKS "\000"
 #endif /* PNG_USER_VERSIONINFO_LEGALTRADEMARKS */
diff --git a/scripts/smakefile.ppc b/scripts/smakefile.ppc
index e5c0278..a5fc6eb 100644
--- a/scripts/smakefile.ppc
+++ b/scripts/smakefile.ppc
@@ -19,7 +19,10 @@
 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o pngread.o \
 pngerror.o pngpread.o pngwrite.o pngrtran.o pngwtran.o pngrio.o pngwio.o pngmem.o
 
-all: $(LIBNAME) pngtest
+all: $(LIBNAME) pngtest pngdefs.h
+
+pngdefs.h:
+	echo "/* pngdefs.h was built by smakefile.ppc */" > pngdefs.h
 
 $(LIBNAME): $(OBJS)
             $(AR) $(AR_FLAGS) $@ $(OBJS)