diff --git a/ANNOUNCE b/ANNOUNCE
index 614f636..6d9ebf3 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.4.0beta16 - November 17, 2006
+Libpng 1.4.0beta17 - December 8, 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.0beta16.tar.gz
-   1.4.0beta16.tar.bz2
+   1.4.0beta17.tar.gz
+   1.4.0beta17.tar.bz2
 
 Source files with LF line endings (for Unix/Linux) without the
 "configure" script
 
-   1.4.0beta16-no-config.tar.gz
-   1.4.0beta16-no-config.tar.bz2
+   1.4.0beta17-no-config.tar.gz
+   1.4.0beta17-no-config.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp140b16.zip
-   lp140b16.tar.bz2
+   lp140b17.zip
+   lp140b17.tar.bz2
 
 Other information:
 
-   1.4.0beta16-README.txt
-   1.4.0beta16-KNOWNBUGS.txt
-   1.4.0beta16-LICENSE.txt
-   1.4.0beta16-Y2K-compliance.txt
+   1.4.0beta17-README.txt
+   1.4.0beta17-KNOWNBUGS.txt
+   1.4.0beta17-LICENSE.txt
+   1.4.0beta17-Y2K-compliance.txt
 
 Changes since the last public release (1.2.10):
 
@@ -229,6 +229,9 @@
 version 1.4.0beta16 [November 17, 2006]
   Added a typecast in png_zalloc().
 
+version 1.4.0beta17 [December 8, 2006]
+  Changed "new_key[79] = '\0';" to "(*new_key)[79] = '\0';" in pngwutil.c
+
 version 1.4.0betaN [future]
   Build shared libraries with -lz and sometimes -lm.
 
diff --git a/CHANGES b/CHANGES
index 7ba0818..43fb97d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1732,6 +1732,10 @@
 version 1.4.0beta16 [November 17, 2006]
   Added a typecast in png_zalloc().
 
+version 1.4.0beta17 [December 8, 2006]
+  Changed "new_key[79] = '\0';" to "(*new_key)[79] = '\0';" in pngwutil.c
+  Add "png_bytep" typecast to profile while calculating length in pngwutil.c
+
 version 1.4.0betaN [future]
   Build shared libraries with -lz and sometimes -lm.
 
diff --git a/INSTALL b/INSTALL
index 647dbc1..a54c18a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,9 +1,9 @@
 
-Installing libpng version 1.4.0beta16 - November 17, 2006
+Installing libpng version 1.4.0beta17 - December 8, 2006
 
 On Unix/Linux and similar systems, you can simply type
 
-    ./configure [--prefix=$HOME]
+    ./configure [--prefix=/path]
     make check
     make install
 
@@ -32,12 +32,19 @@
 wherever you got libpng.  zlib can be placed in another directory,
 at the same level as libpng.
 
+If you want to use "cmake" (see www.cmake.org), copy CMakeLists.txt
+from the "scripts" directory to this directory and type
+
+   cmake . -DCMAKE_INSTALL_PREFIX=/path
+   make
+   make install
+
 If your system already has a preinstalled zlib you will still need
 to have access to the zlib.h and zconf.h include files that
 correspond to the version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.4.0beta16" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.4.0beta17" 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:
@@ -85,13 +92,14 @@
 The files that are presently available in the scripts directory
 include
 
+ CMakeLists.txt    =>  "cmake" script
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       gcc, creates libpng14.so.1.1.4.0beta16)
+                       gcc, creates libpng14.so.1.1.4.0beta17)
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng14.so.1.1.4.0beta16)
+                       (gcc, creates libpng14.so.1.1.4.0beta17)
  makefile.gcmmx    =>  Linux/ELF makefile
-                       (gcc, creates libpng14.so.1.1.4.0beta16,
+                       (gcc, creates libpng14.so.1.1.4.0beta17,
                        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 +122,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.0beta16)
+                       creates libpng14.so.1.1.4.0beta17)
  makefile.sunos    =>  Sun makefile
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng14.so.1.1.4.0beta16)
+                       creates libpng14.so.1.1.4.0beta17)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng14.so.1.1.4.0beta16)
+                       creates libpng14.so.1.1.4.0beta17)
  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/KNOWNBUG b/KNOWNBUG
index 40462c6..4c4380f 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.4.0beta16
+Known bugs in libpng version 1.4.0beta17
 
 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 b435c40..a15ab04 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.0beta16, November 17, 2006, are
+libpng versions 1.2.6, August 15, 2004, through 1.4.0beta17, December 8, 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
-November 17, 2006
+December 8, 2006
diff --git a/README b/README
index 17e0e83..1016388 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.4.0beta16 - November 17, 2006 (shared library 14.0)
+README for libpng version 1.4.0beta17 - December 8, 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.0beta16)
+                            gcc, creates libpng14.so.1.1.4.0beta17)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng14.so.1.1.4.0beta16)
+                            (gcc, creates libpng14.so.1.1.4.0beta17)
        makefile.gcmmx   =>  Linux/ELF makefile
-                            (gcc, creates libpng14.so.1.1.4.0beta16,
+                            (gcc, creates libpng14.so.1.1.4.0beta17,
                             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.0beta16)
+                            (gcc, creates libpng14.so.1.1.4.0beta17)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng14.so.1.1.4.0beta16)
+                            (gcc, creates libpng14.so.1.1.4.0beta17)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng14.so.1.1.4.0beta16)
+                            (gcc, creates libpng14.so.1.1.4.0beta17)
        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 6ec91bd..1db997b 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.60 for libpng 1.4.0beta16
+# Generated by GNU Autoconf 2.60 for libpng 1.4.0beta17
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -713,8 +713,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.4.0beta16'
-PACKAGE_STRING='libpng 1.4.0beta16'
+PACKAGE_VERSION='1.4.0beta17'
+PACKAGE_STRING='libpng 1.4.0beta17'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 
 ac_unique_file="pngget.c"
@@ -1388,7 +1388,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.0beta16 to adapt to many kinds of systems.
+\`configure' configures libpng 1.4.0beta17 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1458,7 +1458,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.4.0beta16:";;
+     short | recursive ) echo "Configuration of libpng 1.4.0beta17:";;
    esac
   cat <<\_ACEOF
 
@@ -1567,7 +1567,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.4.0beta16
+libpng configure 1.4.0beta17
 generated by GNU Autoconf 2.60
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1581,7 +1581,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.0beta16, which was
+It was created by libpng $as_me 1.4.0beta17, which was
 generated by GNU Autoconf 2.60.  Invocation command line was
 
   $ $0 $@
@@ -2251,7 +2251,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.4.0beta16'
+ VERSION='1.4.0beta17'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2422,7 +2422,7 @@
 
 
 
-PNGLIB_VERSION=1.4.0beta16
+PNGLIB_VERSION=1.4.0beta17
 PNGLIB_MAJOR=14
 PNGLIB_MINOR=0
 
@@ -21845,7 +21845,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libpng $as_me 1.4.0beta16, which was
+This file was extended by libpng $as_me 1.4.0beta17, which was
 generated by GNU Autoconf 2.60.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21898,7 +21898,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libpng config.status 1.4.0beta16
+libpng config.status 1.4.0beta17
 configured by $0, generated by GNU Autoconf 2.60,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index f990ffe..5b69a27 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.4.0beta16], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.4.0beta17], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.4.0beta16
+PNGLIB_VERSION=1.4.0beta17
 PNGLIB_MAJOR=14
 PNGLIB_MINOR=0
 
diff --git a/libpng.3 b/libpng.3
index d745533..2f61f18 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "November 17, 2006"
+.TH LIBPNG 3 "December 8, 2006"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta16
+libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta17
 .SH SYNOPSIS
 \fB
 #include <png.h>\fP
@@ -398,7 +398,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.4.0beta16 - November 17, 2006
+ libpng version 1.4.0beta17 - December 8, 2006
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -3315,13 +3315,13 @@
 
 .SH IX. Y2K Compliance in libpng
 
-November 17, 2006
+December 8, 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.0beta16 are Y2K compliant.  It is my belief that earlier
+upward through 1.4.0beta17 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
@@ -3544,7 +3544,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.4.0beta16 - November 17, 2006:
+Libpng version 1.4.0beta17 - December 8, 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).
 
@@ -3565,7 +3565,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.0beta16, November 17, 2006, are
+libpng versions 1.2.6, August 15, 2004, through 1.4.0beta17, December 8, 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
@@ -3664,7 +3664,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-November 17, 2006
+December 8, 2006
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index d632a24..1bfd156 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.0beta16 - November 17, 2006
+ libpng version 1.4.0beta17 - December 8, 2006
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -2917,13 +2917,13 @@
 
 IX. Y2K Compliance in libpng
 
-November 17, 2006
+December 8, 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.0beta16 are Y2K compliant.  It is my belief that earlier
+upward through 1.4.0beta17 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 600eb8a..4d43ed6 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "November 17, 2006"
+.TH LIBPNGPF 3 "December 8, 2006"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta16
+libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta17
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index af208df..3ff0749 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "November 17, 2006"
+.TH PNG 5 "December 8, 2006"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 398ddfa..68b4b97 100644
--- a/png.c
+++ b/png.c
@@ -13,7 +13,7 @@
 #include "pngpriv.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_4_0beta16 Your_png_h_is_not_version_1_4_0beta16;
+typedef version_1_4_0beta17 Your_png_h_is_not_version_1_4_0beta17;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
@@ -643,7 +643,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.0beta16 - November 17, 2006\n\
+   return ((png_charp) "\n libpng version 1.4.0beta17 - December 8, 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");
diff --git a/png.h b/png.h
index 2a56c6a..53cbaca 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.4.0beta16 - November 17, 2006
+ * libpng version 1.4.0beta17 - December 8, 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.0beta16 - November 17, 2006: Glenn
+ *  libpng versions 0.97, January 1998, through 1.4.0beta17 - December 8, 2006: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -156,7 +156,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.0beta16, November 17, 2006, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.4.0beta17, December 8, 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:
@@ -268,13 +268,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    November 17, 2006
+ *    December 8, 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.0beta16 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.4.0beta17 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
@@ -330,9 +330,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.4.0beta16"
+#define PNG_LIBPNG_VER_STRING "1.4.0beta17"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.4.0beta16 - November 17, 2006 (header)\n"
+   " libpng version 1.4.0beta17 - December 8, 2006 (header)\n"
 
 #define PNG_LIBPNG_VER_SONUM   1
 #define PNG_LIBPNG_VER_DLLNUM  14
@@ -344,7 +344,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  16
+#define PNG_LIBPNG_VER_BUILD  17
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -375,6 +375,10 @@
 #include "zlib.h"
 #endif
 
+#ifdef AIX
+#define jmpbuf __jmpbuf
+#endif
+
 /* include all user configurable info, including optional assembler routines */
 #include "pngconf.h"
 
@@ -1339,7 +1343,7 @@
 /* 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_0beta16;
+typedef png_structp version_1_4_0beta17;
 
 typedef png_struct FAR * FAR * png_structpp;
 
diff --git a/pngconf.h b/pngconf.h
index 1fe2a70..99b50a1 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.4.0beta16 - November 17, 2006
+ * libpng version 1.4.0beta17 - December 8, 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)
@@ -632,7 +632,14 @@
 #endif
 
 /* PNG_ASSEMBLER_CODE was enabled by default in version 1.2.0 
-   even when PNG_USE_PNGVCRD or PNG_USE_PNGGCCRD is not defined */
+ * even when PNG_USE_PNGVCRD or PNG_USE_PNGGCCRD is not defined.
+ *
+ * PNG_NO_ASSEMBLER_CODE disables use of all assembler code and optimized C,
+ * and removes or includes several functions in the API.
+ *
+ * PNG_NO_MMX_CODE disables the use of MMX code without changing the API.
+ * When MMX code is off, then optimized C replacement functions are used.
+*/
 #if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE)
 #  ifndef PNG_ASSEMBLER_CODE_SUPPORTED
 #    define PNG_ASSEMBLER_CODE_SUPPORTED
diff --git a/pngpriv.h b/pngpriv.h
index 0c67f61..c685906 100644
--- a/pngpriv.h
+++ b/pngpriv.h
@@ -1,7 +1,7 @@
 
 /* pngpriv.h - private declarations for use inside libpng
  *
- * libpng version 1.4.0beta16 - November 17, 2006
+ * libpng version 1.4.0beta17 - December 8, 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)
diff --git a/pngtest.c b/pngtest.c
index e24e3e5..5f3933e 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1598,4 +1598,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_4_0beta16 your_png_h_is_not_version_1_4_0beta16;
+typedef version_1_4_0beta17 your_png_h_is_not_version_1_4_0beta17;
diff --git a/pngwutil.c b/pngwutil.c
index 390d1c5..16dfd82 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -784,8 +784,11 @@
       profile_len = 0;
 
    if (profile_len > 3)
-      embedded_profile_len = ((*(profile  ))<<24) | ((*(profile+1))<<16) |
-          ((*(profile+2))<< 8) | ((*(profile+3))    );
+      embedded_profile_len =
+          ((*( (png_bytep)profile  ))<<24) |
+          ((*( (png_bytep)profile+1))<<16) |
+          ((*( (png_bytep)profile+2))<< 8) |
+          ((*( (png_bytep)profile+3))    );
 
    if (profile_len < embedded_profile_len)
      {
@@ -1337,7 +1340,7 @@
    if (key_len > 79)
    {
       png_warning(png_ptr, "keyword length must be 1 - 79 characters");
-      new_key[79] = '\0';
+      (*new_key)[79] = '\0';
       key_len = 79;
    }
 
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
new file mode 100644
index 0000000..0a91efa
--- /dev/null
+++ b/scripts/CMakeLists.txt
@@ -0,0 +1,149 @@
+
+project(libpng)
+
+SET(PNG_VER_MAJOR 1)
+SET(PNG_VER_MINOR 4)
+SET(PNG_VER_PATCH 0)
+
+# needed packages
+find_package(ZLIB REQUIRED)
+
+
+# command line options
+option(PNG_SHARED "Build shared lib" YES)
+option(PNG_TESTS  "Build pngtest" YES)
+#TODO:
+# PNG_NO_CONSOLE_IO
+# PNG_NO_STDIO
+# PNG_CONSOLE_IO_SUPPORTED
+# PNGARG
+# some others :)
+
+set(png_asm_tmp "OFF")
+if(NOT WIN32)
+  find_program(uname_executable NAMES uname PATHS /bin /usr/bin /usr/local/bin)
+  if(uname_executable)
+    EXEC_PROGRAM(${uname_executable} ARGS --machine OUTPUT_VARIABLE uname_output)
+    if("uname_output" MATCHES "^.*i[1-9]86.*$")
+       set(png_asm_tmp "ON")
+    else("uname_output" MATCHES "^.*i[1-9]86.*$")
+       set(png_asm_tmp "OFF")
+    endif("uname_output" MATCHES "^.*i[1-9]86.*$")
+  endif(uname_executable)
+endif(NOT WIN32)
+
+option(PNG_MMX "Use MMX assembler code (x86 only)" ${png_asm_tmp})
+
+
+# msvc does not append 'lib' - do it here to have consistent name
+if(MSVC)
+  set(PNG_LIB_NAME lib)
+endif(MSVC)
+#set(PNG_LIB_NAME ${PNG_LIB_NAME}png-${PNG_VER_MAJOR}.${PNG_VER_MINOR})
+set(PNG_LIB_NAME ${PNG_LIB_NAME}png)
+
+# to distinguish between debug and release lib
+set(CMAKE_DEBUG_POSTFIX "d")
+
+# append _static to static lib
+if(NOT PNG_SHARED)
+  set(PNG_LIB_NAME ${PNG_LIB_NAME}_static)
+endif(NOT PNG_SHARED)
+
+
+# our sources
+set(libpng_sources
+  png.h
+  pngconf.h
+  pngdefs.h
+  pngpriv.h
+  png.c
+  pngerror.c
+  pngget.c
+  pngmem.c
+  pngpread.c
+  pngread.c
+  pngrio.c
+  pngrtran.c
+  pngrutil.c
+  pngset.c
+  pngtrans.c
+  pngwio.c
+  pngwrite.c
+  pngwtran.c
+  pngwutil.c
+)
+set(pngtest_sources
+        pngtest.c
+)
+
+
+if(MSVC)
+  add_definitions(-DPNG_NO_MODULEDEF -D_CRT_SECURE_NO_DEPRECATE)
+  FILE(WRITE pngdefs.h "#define PNG_USE_PNGVCRD\n")
+  set(libpng_sources ${libpng_sources}
+          pngvcrd.c
+  )
+else(MSVC)
+  FILE(WRITE pngdefs.h "#define PNG_USE_PNGGCCRD\n")
+  FILE(APPEND pngdefs.h "#define PNG_USE_GLOBAL_ARRAYS\n")
+  set(libpng_sources ${libpng_sources}
+          pnggccrd.c
+  )
+endif(MSVC)
+
+if(NOT PNG_MMX)
+  FILE(APPEND pngdefs.h "#define PNG_NO_MMX_CODE\n")
+endif(NOT PNG_MMX)
+
+if(NOT WIN32)
+  find_library(M_LIBRARY
+      NAMES m
+      PATHS /usr/lib /usr/local/lib
+  )
+endif(NOT WIN32)
+
+# now build our target
+include_directories(${CMAKE_SOURCE_DIR} ${ZLIB_INCLUDE_DIR})
+
+if(PNG_SHARED)
+  add_library(${PNG_LIB_NAME} SHARED ${libpng_sources})
+else(PNG_SHARED)
+  add_library(STATIC ${libpng_sources})
+endif(PNG_SHARED)
+
+target_link_libraries(${PNG_LIB_NAME} ${ZLIB_LIBRARY} ${M_LIBRARY})
+if(PNG_SHARED AND WIN32)
+  set_target_properties(${PNG_LIB_NAME} PROPERTIES DEFINE_SYMBOL PNG_BUILD_DLL)
+endif(PNG_SHARED AND WIN32)
+
+if(PNG_TESTS)
+# does not work with msvc due to png_lib_ver issue
+  add_executable(pngtest ${pngtest_sources})
+  target_link_libraries(pngtest ${PNG_LIB_NAME})
+#  add_test(pngtest ${CMAKE_SOURCE_DIR}/pngtest.png)
+endif(PNG_TESTS)
+
+
+# install
+install_targets(/bin ${PNG_LIB_NAME})
+install(FILES libpng.so DESTINATION lib)
+install(FILES png.h pngconf.h pngpriv.h pngdefs.h DESTINATION include)
+install(FILES libpng.3 libpngpf.3 DESTINATION man/man3)
+# what's with libpng.txt and all the extra files?
+
+
+# uninstall
+# do we need this?
+
+
+# dist
+# do we need this?
+
+# to create msvc import lib for mingw compiled shared lib
+# pexports libpng.dll > libpng.def
+# lib /def:libpng.def /machine:x86
+
+ 	  	 
+
+ 	  	 
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index 0525c7d..02194c7 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.4.0beta16
+version=1.4.0beta17
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 33015c0..d394708 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.0beta16
+Version: 1.4.0beta17
 Libs: -L${libdir} -lpng14
 Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index 92d88c7..961e245 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index 4c71b0d..75676f2 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 7484dbe..344d0b1 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@
 
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 9ac616a..8a34b3a 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index 3d61de9..07e7c20 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -65,7 +65,7 @@
 LIBNAME = libpng14
 PNGMAJ = 1
 CYGDLL = 14
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index 7a31430..58b8899 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 3e29b09..4c25b31 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -5,7 +5,7 @@
 
 # Library name:
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng14
 
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index 51d1d7b..a12f3da 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -12,7 +12,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index ada2da0..51f453e 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -16,7 +16,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index 2d2feb8..0d6fc32 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 86ccb70..f901aab 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 8dde8e2..54b1619 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 9717b3e..69fa27b 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index 79af4e7..57aaa27 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -62,7 +62,7 @@
 LIBNAME = libpng14
 PNGMAJ = 1
 MINGDLL = 14
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=libpng$(MINGDLL).dll
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index d7e1b42..ff8b9e8 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -14,7 +14,7 @@
 
 LIB=	png14
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.4.0beta16
+SHLIB_MINOR=	1.4.0beta17
 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
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index dec1b0e..336292d 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,7 +13,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.4.0beta16
+SHLIB_MINOR=	1.4.0beta17
 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
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 28dee5a..72a8368 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -8,7 +8,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.4.0beta16
+SHLIB_MINOR=	1.4.0beta17
 
 LIB=	png
 SRCS=	png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 902f879..3f4886b 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -9,7 +9,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 073f11a..4a98ad4 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 0bd0812..2a0dfd3 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 02c046a..dc2f57f 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -8,7 +8,7 @@
 
 # Library name:
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng14
 
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 42a3080..a24291d 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng14
 PNGMAJ = 1
-PNGMIN = 1.4.0beta16
+PNGMIN = 1.4.0beta17
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 02f97d8..dc46f6e 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.4.0beta16
+; Version 1.4.0beta17
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
diff --git a/scripts/pngwin.def b/scripts/pngwin.def
index e47685b..5dbd65b 100644
--- a/scripts/pngwin.def
+++ b/scripts/pngwin.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.4.0beta16
+;Version 1.4.0beta17
   png_build_grayscale_palette
   png_chunk_error
   png_chunk_warning
