Imported from libpng-1.2.15beta4.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 20c9c96..a02d9ee 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.2.15beta3 - December 5, 2006
+Libpng 1.2.15beta4 - December 7, 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,32 +9,32 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   libpng-1.2.15beta3.tar.gz
-   libpng-1.2.15beta3.tar.bz2
+   libpng-1.2.15beta4.tar.gz
+   libpng-1.2.15beta4.tar.bz2
 
 Source files with LF line endings (for Unix/Linux) without the
 "configure" script
 
-   libpng-1.2.15beta3-no-config.tar.gz
-   libpng-1.2.15beta3-no-config.tar.bz2
+   libpng-1.2.15beta4-no-config.tar.gz
+   libpng-1.2.15beta4-no-config.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp1215b03.zip
-   lp1215b03.tar.bz2
+   lp1215b04.zip
+   lp1215b04.tar.bz2
 
 Project files
 
-   libpng-1.2.15beta3-project-netware.zip
-   libpng-1.2.15beta3-project-wince.zip
+   libpng-1.2.15beta4-project-netware.zip
+   libpng-1.2.15beta4-project-wince.zip
 
 Other information:
 
-   libpng-1.2.15beta3-README.txt
-   libpng-1.2.15beta3-KNOWNBUGS.txt
-   libpng-1.2.15beta3-LICENSE.txt
-   libpng-1.2.15beta3-Y2K-compliance.txt
+   libpng-1.2.15beta4-README.txt
+   libpng-1.2.15beta4-KNOWNBUGS.txt
+   libpng-1.2.15beta4-LICENSE.txt
+   libpng-1.2.15beta4-Y2K-compliance.txt
 
 Changes since the last public release (1.2.14):
 
@@ -45,9 +45,13 @@
 version 1.2.15beta2 [December 3, 2006]
   Always export MMX asm functions, just stubs if not building pnggccrd.c
 
-version 1.2.15beta3 [December 5, 2006]
+version 1.2.15beta3 [December 4, 2006]
   Add "png_bytep" typecast to profile while calculating length in pngwutil.c
 
+version 1.2.15beta4 [December 7, 2006]
+  Added scripts/CMakeLists.txt
+  Changed PNG_NO_ASSEMBLER_CODE to PNG_NO_MMX_CODE in scripts, like 1.4.0beta
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit 
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff --git a/CHANGES b/CHANGES
index 30b51cd..b26129e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1647,9 +1647,13 @@
 version 1.2.15beta2 [December 3, 2006]
   Always export MMX asm functions, just stubs if not building pnggccrd.c
 
-version 1.2.15beta3 [December 5, 2006]
+version 1.2.15beta3 [December 4, 2006]
   Add "png_bytep" typecast to profile while calculating length in pngwutil.c
 
+version 1.2.15beta4 [December 7, 2006]
+  Added scripts/CMakeLists.txt
+  Changed PNG_NO_ASSEMBLER_CODE to PNG_NO_MMX_CODE in scripts, like 1.4.0beta
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff --git a/INSTALL b/INSTALL
index b40b5b6..71ef1c7 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.15beta3 - December 5, 2006
+Installing libpng version 1.2.15beta4 - December 7, 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.2.15beta3" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.2.15beta4" 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:
@@ -93,11 +93,11 @@
 
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       gcc, creates libpng12.so.0.1.2.15beta3)
+                       gcc, creates libpng12.so.0.1.2.15beta4)
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.15beta3)
+                       (gcc, creates libpng12.so.0.1.2.15beta4)
  makefile.gcmmx    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.15beta3,
+                       (gcc, creates libpng12.so.0.1.2.15beta4,
                        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
@@ -120,12 +120,12 @@
  makefile.openbsd  =>  OpenBSD makefile
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.sggcc    =>  Silicon Graphics (gcc,
-                       creates libpng12.so.0.1.2.15beta3)
+                       creates libpng12.so.0.1.2.15beta4)
  makefile.sunos    =>  Sun makefile
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.15beta3)
+                       creates libpng12.so.0.1.2.15beta4)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng12.so.0.1.2.15beta3)
+                       creates libpng12.so.0.1.2.15beta4)
  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 3a16b23..e5d9564 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.2.15beta3
+Known bugs in libpng version 1.2.15beta4
 
 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 5576372..6e18515 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.2.15beta3, December 5, 2006, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.15beta4, December 7, 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
-December 5, 2006
+December 7, 2006
diff --git a/Makefile.in b/Makefile.in
index aa2f821..a63ad63 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -184,7 +184,7 @@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBPNG_DEFINES = @LIBPNG_DEFINES@
-LIBPNG_NO_ASSEMBLER = @LIBPNG_NO_ASSEMBLER@
+LIBPNG_NO_MMX = @LIBPNG_NO_MMX@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LN_S = @LN_S@
diff --git a/README b/README
index 6b01a33..dda5cf4 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.2.15beta3 - December 5, 2006 (shared library 12.0)
+README for libpng version 1.2.15beta4 - December 7, 2006 (shared library 12.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
@@ -190,11 +190,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 libpng12.so.0.1.2.15beta3)
+                            gcc, creates libpng12.so.0.1.2.15beta4)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.15beta3)
+                            (gcc, creates libpng12.so.0.1.2.15beta4)
        makefile.gcmmx   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.15beta3,
+                            (gcc, creates libpng12.so.0.1.2.15beta4,
                             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
@@ -216,12 +216,12 @@
        makefile.openbsd =>  OpenBSD makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
        makefile.sggcc   =>  Silicon Graphics
-                            (gcc, creates libpng12.so.0.1.2.15beta3)
+                            (gcc, creates libpng12.so.0.1.2.15beta4)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng12.so.0.1.2.15beta3)
+                            (gcc, creates libpng12.so.0.1.2.15beta4)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng12.so.0.1.2.15beta3)
+                            (gcc, creates libpng12.so.0.1.2.15beta4)
        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/Y2KINFO b/Y2KINFO
index d6d7087..c643075 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      December 5, 2006
+      December 7, 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.2.15beta3 are Y2K compliant.  It is my belief that earlier
+      upward through 1.2.15beta4 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
diff --git a/configure b/configure
index 75b5e83..43633b3 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.61 for libpng 1.2.15beta3.
+# Generated by GNU Autoconf 2.61 for libpng 1.2.15beta4.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -728,8 +728,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.2.15beta3'
-PACKAGE_STRING='libpng 1.2.15beta3'
+PACKAGE_VERSION='1.2.15beta4'
+PACKAGE_STRING='libpng 1.2.15beta4'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 
 ac_unique_file="pngget.c"
@@ -876,7 +876,7 @@
 POW_LIB
 LIBOBJS
 LIBPNG_DEFINES
-LIBPNG_NO_ASSEMBLER
+LIBPNG_NO_MMX
 HAVE_LD_VERSION_SCRIPT_TRUE
 HAVE_LD_VERSION_SCRIPT_FALSE
 PNGLIB_VERSION
@@ -1404,7 +1404,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.2.15beta3 to adapt to many kinds of systems.
+\`configure' configures libpng 1.2.15beta4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1474,7 +1474,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.2.15beta3:";;
+     short | recursive ) echo "Configuration of libpng 1.2.15beta4:";;
    esac
   cat <<\_ACEOF
 
@@ -1584,7 +1584,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.2.15beta3
+libpng configure 1.2.15beta4
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1598,7 +1598,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.2.15beta3, which was
+It was created by libpng $as_me 1.2.15beta4, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2268,7 +2268,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.2.15beta3'
+ VERSION='1.2.15beta4'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2439,7 +2439,7 @@
 
 
 
-PNGLIB_VERSION=1.2.15beta3
+PNGLIB_VERSION=1.2.15beta4
 PNGLIB_MAJOR=12
 PNGLIB_MINOR=15
 
@@ -20584,18 +20584,18 @@
        } && test -s conftest.$ac_objext; then
   { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
-  LIBPNG_NO_ASSEMBLER=""
+  LIBPNG_NO_MMX=""
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 	{ echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
-  LIBPNG_NO_ASSEMBLER=-DPNG_NO_ASSEMBLER_CODE
+  LIBPNG_NO_MMX=-DPNG_NO_MMX_CODE
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-LIBPNG_DEFINES=$LIBPNG_DEFINES\ $LIBPNG_NO_ASSEMBLER
+LIBPNG_DEFINES=$LIBPNG_DEFINES\ $LIBPNG_NO_MMX
 
 
 
@@ -21116,7 +21116,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.2.15beta3, which was
+This file was extended by libpng $as_me 1.2.15beta4, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21169,7 +21169,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libpng config.status 1.2.15beta3
+libpng config.status 1.2.15beta4
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -21497,7 +21497,7 @@
 POW_LIB!$POW_LIB$ac_delim
 LIBOBJS!$LIBOBJS$ac_delim
 LIBPNG_DEFINES!$LIBPNG_DEFINES$ac_delim
-LIBPNG_NO_ASSEMBLER!$LIBPNG_NO_ASSEMBLER$ac_delim
+LIBPNG_NO_MMX!$LIBPNG_NO_MMX$ac_delim
 HAVE_LD_VERSION_SCRIPT_TRUE!$HAVE_LD_VERSION_SCRIPT_TRUE$ac_delim
 HAVE_LD_VERSION_SCRIPT_FALSE!$HAVE_LD_VERSION_SCRIPT_FALSE$ac_delim
 PNGLIB_VERSION!$PNGLIB_VERSION$ac_delim
diff --git a/configure.ac b/configure.ac
index ea3a42b..b08d8bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.2.15beta3], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.2.15beta4], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.2.15beta3
+PNGLIB_VERSION=1.2.15beta4
 PNGLIB_MAJOR=12
 PNGLIB_MINOR=15
 
@@ -63,12 +63,12 @@
   [#include "pnggccrd.c"],
   [return 0;],
   AC_MSG_RESULT(yes)
-  LIBPNG_NO_ASSEMBLER="",
+  LIBPNG_NO_MMX="",
   AC_MSG_RESULT(no)
-  LIBPNG_NO_ASSEMBLER=-DPNG_NO_ASSEMBLER_CODE)
-LIBPNG_DEFINES=$LIBPNG_DEFINES\ $LIBPNG_NO_ASSEMBLER
+  LIBPNG_NO_MMX=-DPNG_NO_MMX_CODE)
+LIBPNG_DEFINES=$LIBPNG_DEFINES\ $LIBPNG_NO_MMX
 AC_SUBST(LIBPNG_DEFINES)
-AC_SUBST(LIBPNG_NO_ASSEMBLER)
+AC_SUBST(LIBPNG_NO_MMX)
 
 AC_MSG_CHECKING([if libraries can be versioned])
 GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script`
diff --git a/libpng.3 b/libpng.3
index f4810b0..2c9239d 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "December 5, 2006"
+.TH LIBPNG 3 "December 7, 2006"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.15beta3
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.15beta4
 .SH SYNOPSIS
 \fB
 #include <png.h>\fP
@@ -410,7 +410,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.15beta3 - December 5, 2006
+ libpng version 1.2.15beta4 - December 7, 2006
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -3327,13 +3327,13 @@
 
 .SH IX. Y2K Compliance in libpng
 
-December 5, 2006
+December 7, 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.2.15beta3 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.15beta4 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
@@ -3506,7 +3506,7 @@
  1.2.14beta1-2       13    10214  12.so.0.14[.0]
  1.0.22rc1           10    10022  10.so.0.22[.0]
  1.2.14rc1           13    10214  12.so.0.14[.0]
- 1.2.15beta1-3       13    10215  12.so.0.15[.0]
+ 1.2.15beta1-4       13    10215  12.so.0.15[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3562,7 +3562,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.2.15beta3 - December 5, 2006:
+Libpng version 1.2.15beta4 - December 7, 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).
 
@@ -3583,7 +3583,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.2.15beta3, December 5, 2006, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.15beta4, December 7, 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
@@ -3682,7 +3682,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-December 5, 2006
+December 7, 2006
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index bfe54f6..3fd7651 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.2.15beta3 - December 5, 2006
+ libpng version 1.2.15beta4 - December 7, 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
 
-December 5, 2006
+December 7, 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.2.15beta3 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.15beta4 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 d67e4f1..a807eb6 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "December 5, 2006"
+.TH LIBPNGPF 3 "December 7, 2006"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.15beta3
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.15beta4
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 2856340..b981345 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "December 5, 2006"
+.TH PNG 5 "December 7, 2006"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 8b7189e..9506a80 100644
--- a/png.c
+++ b/png.c
@@ -13,7 +13,7 @@
 #include "png.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_15beta3 Your_png_h_is_not_version_1_2_15beta3;
+typedef version_1_2_15beta4 Your_png_h_is_not_version_1_2_15beta4;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
@@ -701,7 +701,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.2.15beta3 - December 5, 2006\n\
+   return ((png_charp) "\n libpng version 1.2.15beta4 - December 7, 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");
@@ -779,10 +779,9 @@
 }
 
 
-#if defined(PNG_READ_SUPPORTED)
+#if defined(PNG_READ_SUPPORTED) && defined(PNG_ASSEMBLER_CODE_SUPPORTED)
 #if !defined(PNG_1_0_X)
-#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
-    /* GRR:  could add this:   && defined(PNG_MMX_CODE_SUPPORTED) */
+#if defined(PNG_MMX_CODE_SUPPORTED)
 /* this INTERNAL function was added to libpng 1.2.0 */
 void /* PRIVATE */
 png_init_mmx_flags (png_structp png_ptr)
@@ -820,7 +819,7 @@
                                | PNG_MMX_WRITE_FLAGS );
     }
 
-#  else /* !((PNGVCRD || PNGGCCRD) && PNG_ASSEMBLER_CODE_SUPPORTED)) */
+#  else /* !(PNGVCRD || PNGGCCRD) */
 
     /* clear all MMX flags; no support is compiled in */
     png_ptr->asm_flags &= ~( PNG_MMX_FLAGS );
@@ -828,18 +827,18 @@
 #  endif /* ?(PNGVCRD || PNGGCCRD) */
 }
 
-#endif /* !(PNG_ASSEMBLER_CODE_SUPPORTED) */
+#endif /* !(PNG_MMX_CODE_SUPPORTED) */
 
 /* this function was added to libpng 1.2.0 */
 #if !defined(PNG_USE_PNGGCCRD) && \
-    !(defined(PNG_ASSEMBLER_CODE_SUPPORTED) && defined(PNG_USE_PNGVCRD))
+    !(defined(PNG_MMX_CODE_SUPPORTED) && defined(PNG_USE_PNGVCRD))
 int PNGAPI
 png_mmx_support(void)
 {
     return -1;
 }
 #endif
-#endif /* PNG_1_0_X */
+#endif /* PNG_1_0_X  && PNG_ASSEMBLER_CODE_SUPPORTED */
 #endif /* PNG_READ_SUPPORTED */
 
 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
diff --git a/png.h b/png.h
index f54ac79..fd62424 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.2.15beta3 - December 5, 2006
+ * libpng version 1.2.15beta4 - December 7, 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.2.15beta3 - December 5, 2006: Glenn
+ *  libpng versions 0.97, January 1998, through 1.2.15beta4 - December 7, 2006: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -134,7 +134,7 @@
  *    1.2.14rc1               13    10214  12.so.0.14[.0]
  *    1.0.22                  10    10022  10.so.0.22[.0]
  *    1.2.14                  13    10214  12.so.0.14[.0]
- *    1.2.15beta1-3           13    10215  12.so.0.15[.0]
+ *    1.2.15beta1-4           13    10215  12.so.0.15[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -164,7 +164,7 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.2.15beta3, December 5, 2006, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.2.15beta4, December 7, 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:
@@ -276,13 +276,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    December 5, 2006
+ *    December 7, 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.2.15beta3 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.2.15beta4 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
@@ -338,9 +338,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.15beta3"
+#define PNG_LIBPNG_VER_STRING "1.2.15beta4"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.15beta3 - December 5, 2006 (header)\n"
+   " libpng version 1.2.15beta4 - December 7, 2006 (header)\n"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  13
@@ -352,7 +352,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  3
+#define PNG_LIBPNG_VER_BUILD  4
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -1343,10 +1343,14 @@
 #endif
 
 /* New members added in libpng-1.2.0 */
-#if !defined(PNG_1_0_X) && defined(PNG_ASSEMBLER_CODE_SUPPORTED)
+#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
+#  if !defined(PNG_1_0_X)
+#    if defined(PNG_MMX_CODE_SUPPORTED)
    png_byte     mmx_bitdepth_threshold;
    png_uint_32  mmx_rowbytes_threshold;
+#    endif
    png_uint_32  asm_flags;
+#  endif
 #endif
 
 /* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
@@ -1382,7 +1386,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_2_15beta3;
+typedef png_structp version_1_2_15beta4;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -2488,6 +2492,7 @@
 
 /* Added to version 1.2.0 */
 #if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
+#if defined(PNG_MMX_CODE_SUPPORTED)
 #define PNG_ASM_FLAG_MMX_SUPPORT_COMPILED  0x01  /* not user-settable */
 #define PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU    0x02  /* not user-settable */
 #define PNG_ASM_FLAG_MMX_READ_COMBINE_ROW  0x04
@@ -2513,7 +2518,7 @@
 
 #define PNG_SELECT_READ   1
 #define PNG_SELECT_WRITE  2
-#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */
+#endif /* PNG_MMX_CODE_SUPPORTED */
 
 #if !defined(PNG_1_0_X)
 /* pngget.c */
@@ -2550,6 +2555,7 @@
 #if !defined(PNG_1_0_X)
 /* png.c, pnggccrd.c, or pngvcrd.c */
 extern PNG_EXPORT(int,png_mmx_support) PNGARG((void));
+#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */
 
 /* Strip the prepended error numbers ("#nnn ") from error and warning
  * messages before passing them to the error or warning handler. */
@@ -3451,9 +3457,11 @@
 #endif
 
 #if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
+#if defined(PNG_MMX_CODE_SUPPORTED)
 /* png.c */ /* PRIVATE */
 PNG_EXTERN void png_init_mmx_flags PNGARG((png_structp png_ptr));
 #endif
+#endif
 
 #if defined(PNG_INCH_CONVERSIONS) && defined(PNG_FLOATING_POINT_SUPPORTED)
 PNG_EXTERN png_uint_32 png_get_pixels_per_inch PNGARG((png_structp png_ptr,
diff --git a/pngconf.h b/pngconf.h
index a6d4095..448012c 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.2.15beta3 - December 5, 2006
+ * libpng version 1.2.15beta4 - December 7, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2005 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -721,7 +721,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/pngget.c b/pngget.c
index 67197a7..53e439c 100644
--- a/pngget.c
+++ b/pngget.c
@@ -829,12 +829,13 @@
 }
 #endif
 
+#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
 #ifndef PNG_1_0_X
 /* this function was added to libpng 1.2.0 and should exist by default */
 png_uint_32 PNGAPI
 png_get_asm_flags (png_structp png_ptr)
 {
-#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
+#ifdef PNG_MMX_CODE_SUPPORTED
     return (png_uint_32)(png_ptr? png_ptr->asm_flags : 0L);
 #else
     return (png_ptr? 0L: 0L);
@@ -845,7 +846,7 @@
 png_uint_32 PNGAPI
 png_get_asm_flagmask (int flag_select)
 {
-#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
+#ifdef PNG_MMX_CODE_SUPPORTED
     png_uint_32 settable_asm_flags = 0;
 
     if (flag_select & PNG_SELECT_READ)
@@ -867,8 +868,8 @@
 
     return settable_asm_flags;  /* _theoretically_ settable capabilities only */
 #else
-    return (png_ptr? 0L: 0L);
-#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */
+    return (0L);
+#endif /* PNG_MMX_CODE_SUPPORTED */
 }
 
 
@@ -877,7 +878,7 @@
 png_uint_32 PNGAPI
 png_get_mmx_flagmask (int flag_select, int *compilerID)
 {
-#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
+#if defined(PNG_MMX_CODE_SUPPORTED)
     png_uint_32 settable_mmx_flags = 0;
 
     if (flag_select & PNG_SELECT_READ)
@@ -909,32 +910,33 @@
 
     return settable_mmx_flags;  /* _theoretically_ settable capabilities only */
 #else
-    return (png_ptr? 0L: 0L);
-#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
+    return (0L);
+#endif /* ?PNG_MMX_CODE_SUPPORTED */
 }
 
 /* this function was added to libpng 1.2.0 */
 png_byte PNGAPI
 png_get_mmx_bitdepth_threshold (png_structp png_ptr)
 {
-#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
+#if defined(PNG_MMX_CODE_SUPPORTED)
     return (png_byte)(png_ptr? png_ptr->mmx_bitdepth_threshold : 0);
 #else
     return (png_ptr? 0: 0);
-#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
+#endif /* ?PNG_MMX_CODE_SUPPORTED */
 }
 
 /* this function was added to libpng 1.2.0 */
 png_uint_32 PNGAPI
 png_get_mmx_rowbytes_threshold (png_structp png_ptr)
 {
-#if defined(PNG_ASSEMBLER_CODE_SUPPORTED)
+#if defined(PNG_MMX_CODE_SUPPORTED)
     return (png_uint_32)(png_ptr? png_ptr->mmx_rowbytes_threshold : 0L);
 #else
     return (png_ptr? 0L: 0L);
-#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
+#endif /* ?PNG_MMX_CODE_SUPPORTED */
 }
 #endif /* ?PNG_1_0_X */
+#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
 
 #ifdef PNG_SET_USER_LIMITS_SUPPORTED
 /* these functions were added to libpng 1.2.6 */
diff --git a/pngread.c b/pngread.c
index 4040d51..9fc00fa 100644
--- a/pngread.c
+++ b/pngread.c
@@ -56,7 +56,7 @@
       return (NULL);
 
 #if !defined(PNG_1_0_X)
-#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
+#ifdef PNG_MMX_CODE_SUPPORTED
    png_init_mmx_flags(png_ptr);   /* 1.2.0 addition */
 #endif
 #endif /* PNG_1_0_X */
diff --git a/pngset.c b/pngset.c
index f8d14b8..de891bb 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1186,16 +1186,18 @@
 
 
 #ifndef PNG_1_0_X
+#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
 /* this function was added to libpng 1.2.0 and should always exist by default */
 void PNGAPI
 png_set_asm_flags (png_structp png_ptr, png_uint_32 asm_flags)
 {
+#ifdef PNG_MMX_CODE_SUPPORTED
     png_uint_32 settable_asm_flags;
     png_uint_32 settable_mmx_flags;
-
+#endif
     if (png_ptr == NULL)
        return;
-#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
+#ifdef PNG_MMX_CODE_SUPPORTED
 
     settable_mmx_flags =
 #ifdef PNG_HAVE_ASSEMBLER_COMBINE_ROW
@@ -1229,7 +1231,7 @@
 
     png_ptr->asm_flags &= ~settable_asm_flags;               /* zero them */
     png_ptr->asm_flags |= (asm_flags & settable_asm_flags);  /* set them */
-#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
+#endif /* ?PNG_MMX_CODE_SUPPORTED */
 }
 
 /* this function was added to libpng 1.2.0 */
@@ -1240,11 +1242,12 @@
 {
     if (png_ptr == NULL)
        return;
-#ifdef PNG_ASSEMBLER_CODE_SUPPORTED
+#ifdef PNG_MMX_CODE_SUPPORTED
     png_ptr->mmx_bitdepth_threshold = mmx_bitdepth_threshold;
     png_ptr->mmx_rowbytes_threshold = mmx_rowbytes_threshold;
-#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
+#endif /* ?PNG_MMX_CODE_SUPPORTED */
 }
+#endif /* ?PNG_ASSEMBLER_CODE_SUPPORTED */
 
 #ifdef PNG_SET_USER_LIMITS_SUPPORTED
 /* this function was added to libpng 1.2.6 */
diff --git a/pngtest.c b/pngtest.c
index 53bf7c8..cf97d2b 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1549,4 +1549,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_15beta3 your_png_h_is_not_version_1_2_15beta3;
+typedef version_1_2_15beta4 your_png_h_is_not_version_1_2_15beta4;
diff --git a/pngwrite.c b/pngwrite.c
index bc48218..7112add 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -461,8 +461,10 @@
 
 #if !defined(PNG_1_0_X)
 #ifdef PNG_ASSEMBLER_CODE_SUPPORTED
+#ifdef PNG_MMX_CODE_SUPPORTED
    png_init_mmx_flags(png_ptr);   /* 1.2.0 addition */
 #endif
+#endif
 #endif /* PNG_1_0_X */
 
    /* added at libpng-1.2.6 */
@@ -671,8 +673,10 @@
 
 #if !defined(PNG_1_0_X)
 #ifdef PNG_ASSEMBLER_CODE_SUPPORTED
+#ifdef PNG_MMX_CODE_SUPPORTED
    png_init_mmx_flags(png_ptr);   /* 1.2.0 addition */
 #endif
+#endif
 #endif /* PNG_1_0_X */
 
 #ifdef PNG_SETJMP_SUPPORTED
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
new file mode 100644
index 0000000..f4ef8f3
--- /dev/null
+++ b/scripts/CMakeLists.txt
@@ -0,0 +1,122 @@
+# CMakeLists.txt, for use with cmake.  See www.cmake.org
+
+project(libpng)
+
+SET(PNG_VER_MAJOR 1)
+SET(PNG_VER_MINOR 2)
+SET(PNG_VER_PATCH 15)
+
+# 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 :)
+
+
+# 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
+  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
+)
+
+
+# Some needed definitions
+add_definitions(-DZLIB_DLL)
+
+if(MSVC)
+  add_definitions(-DPNG_USE_PNGVCRD -DPNG_NO_MODULEDEF -D_CRT_SECURE_NO_DEPRECATE)
+  set(libpng_sources ${libpng_sources}
+          pngvcrd.c
+  )
+else(MSVC)
+  add_definitions(-DPNG_USE_PNGGCCRD -DPNG_USE_GLOBAL_ARRAYS)
+  set(libpng_sources ${libpng_sources}
+          pnggccrd.c
+  )
+endif(MSVC)
+
+
+# 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})
+if(PNG_SHARED)
+  set_target_properties(${PNG_LIB_NAME} PROPERTIES DEFINE_SYMBOL PNG_BUILD_DLL)
+endif(PNG_SHARED)
+
+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 png.h pngconf.h DESTINATION include)
+install(FILES png.h pngconf.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 9a7e360..5d12b40 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.2.15beta3
+version=1.2.15beta4
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng-config.in b/scripts/libpng-config.in
index f255e99..3861aad 100755
--- a/scripts/libpng-config.in
+++ b/scripts/libpng-config.in
@@ -19,7 +19,7 @@
 L_opts="-L${libdir}"
 R_opts=""
 cppflags=""
-ccopts="@LIBPNG_NO_ASSEMBLER@"
+ccopts="@LIBPNG_NO_MMX@"
 ldopts=""
 
 usage()
diff --git a/scripts/libpng.pc-configure.in b/scripts/libpng.pc-configure.in
index 599c5ae..d65a543 100644
--- a/scripts/libpng.pc-configure.in
+++ b/scripts/libpng.pc-configure.in
@@ -5,6 +5,6 @@
 
 Name: libpng
 Description: Loads and saves PNG files
-Version: 1.2.15beta3
+Version: 1.2.15beta4
 Libs: -L${libdir} -lpng12
-Cflags: -I${includedir} @LIBPNG_NO_ASSEMBLER@
+Cflags: -I${includedir} @LIBPNG_NO_MMX@
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index ac90229..358868b 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.2.15beta3
+Version: 1.2.15beta4
 Libs: -L${libdir} -lpng12
 Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index fae54d2..80e1dec 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index 48d0b3a..49a9437 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index a0101b4..8566cab 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 3dd0bfd..a24a593 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index c9e5115..2181c3e 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -80,7 +80,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 CYGDLL = 12
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index 86c61d9..5ed8845 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 728bd92..61a077c 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -5,7 +5,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index 86a90be..d38d4a0 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -12,7 +12,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.freebsd b/scripts/makefile.freebsd
index d7d5fae..e2549f6 100644
--- a/scripts/makefile.freebsd
+++ b/scripts/makefile.freebsd
@@ -26,7 +26,7 @@
 
 CFLAGS+= -I. -DPNG_USE_PNGGCCRD
 .if (${MACHINE_ARCH} != "i386")
-CFLAGS+= -DPNG_NO_ASSEMBLER_CODE
+CFLAGS+= -DPNG_NO_MMX_CODE
 .endif
 
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index cd701b6..ef7f1f5 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -16,7 +16,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index 8ee2abc..f3ef16c 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 04f7556..9920b34 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 6f254aa..59b4d17 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 0c87bde..f5047d4 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index 80bed2f..429cf83 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -76,7 +76,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 MINGDLL = 12
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=libpng$(MINGDLL).dll
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 62429bf..a479b42 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -13,7 +13,7 @@
 
 LIB=	png12
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.15beta3
+SHLIB_MINOR=	1.2.15beta4
 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
@@ -27,7 +27,7 @@
 #   CPPFLAGS+=-DPNG_THREAD_UNSAFE_OK
 #   MKLINT= no
 # .else
-    CPPFLAGS+=-DPNG_NO_ASSEMBLER_CODE
+    CPPFLAGS+=-DPNG_NO_MMX_CODE
 # .endif
 
 CLEANFILES+=pngtest.o pngtest
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 5f1d2a1..1bc13ce 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,7 +13,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.2.15beta3
+SHLIB_MINOR=	1.2.15beta4
 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
@@ -27,7 +27,7 @@
 #   CPPFLAGS+=-DPNG_THREAD_UNSAFE_OK
 #   MKLINT= no
 # .else
-    CPPFLAGS+=-DPNG_NO_ASSEMBLER_CODE
+    CPPFLAGS+=-DPNG_NO_MMX_CODE
 # .endif
 
 CLEANFILES+=pngtest.o pngtest
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 2769b3e..8d4eb04 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -7,7 +7,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.15beta3
+SHLIB_MINOR=	1.2.15beta4
 
 LIB=	png
 SRCS=	png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \
@@ -17,7 +17,7 @@
 HDRS=	png.h pngconf.h
 
 CFLAGS+= -Wall
-CPPFLAGS+= -I${.CURDIR} -DPNG_NO_ASSEMBLER_CODE -DPNG_USE_PNGGCCRD
+CPPFLAGS+= -I${.CURDIR} -DPNG_NO_MMX_CODE -DPNG_USE_PNGGCCRD
 
 NOPROFILE= Yes
 
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index ce9d1d3..59f40a0 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -9,7 +9,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index be803ae..307165a 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 999a11b..1a917f1 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -47,7 +47,7 @@
 # Note: -KPIC is the default anyhow
 #CFLAGS= $(ABI) -I$(ZLIBINC) -O $(WARNMORE) -KPIC -DPNG_USE_PNGGCCRD # -g -DPNG_DEBUG=5
 CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE) -DPNG_USE_PNGGCCRD \
-  -DPNG_NO_ASSEMBLER_CODE
+  -DPNG_NO_MMX_CODE
 LDFLAGS_A=$(ABI) -L. -L$(ZLIBLIB) -lpng12 -lz -lm
 LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
 LDSHARED=cc $(ABI) -shared -soname $(LIBSOMAJ) \
@@ -96,7 +96,7 @@
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
 	echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
-	echo cppflags=\"-DPNG_USE_PNGGCCRD -DPNG_NO_ASSEMBLER_CODE\"; \
+	echo cppflags=\"-DPNG_USE_PNGGCCRD -DPNG_NO_MMX_CODE\"; \
 	echo ccopts=\"$(ABI)\"; \
 	echo ldopts=\"$(ABI)\"; \
 	echo L_opts=\"-L$(LIBPATH)\"; \
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 3815122..f4662aa 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -8,7 +8,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 68f2210..5fbdeb1 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.15beta3
+PNGMIN = 1.2.15beta4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -91,7 +91,7 @@
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
 	echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
-	echo cppflags=\"-DPNG_USE_PNGGCCRD -DPNG_NO_ASSEMBLER_CODE\"; \
+	echo cppflags=\"-DPNG_USE_PNGGCCRD -DPNG_NO_MMX_CODE\"; \
 	echo L_opts=\"-L$(LIBPATH)\"; \
 	echo R_opts=\"-R$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 6a013ca..eaa6e92 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.2.15beta3
+; Version 1.2.15beta4
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
diff --git a/scripts/pngw32.def b/scripts/pngw32.def
index c436b56..5b7ddd6 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngw32.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.2.15beta3
+;Version 1.2.15beta4
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3