diff --git a/ANNOUNCE b/ANNOUNCE
index 751bdda..1b82388 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.2.21rc1 - September 26, 2007
+Libpng 1.2.21rc2 - September 27, 2007
 
 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.21rc1.tar.gz
-   libpng-1.2.21rc1.tar.bz2
+   libpng-1.2.21rc2.tar.gz
+   libpng-1.2.21rc2.tar.bz2
 
 Source files with LF line endings (for Unix/Linux) without the
 "configure" script
 
-   libpng-1.2.21rc1-no-config.tar.gz
-   libpng-1.2.21rc1-no-config.tar.bz2
+   libpng-1.2.21rc2-no-config.tar.gz
+   libpng-1.2.21rc2-no-config.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp1221r01.zip
-   lp1221r01.tar.bz2
+   lp1221r02.zip
+   lp1221r02.tar.bz2
 
 Project files
 
-   libpng-1.2.21rc1-project-netware.zip
-   libpng-1.2.21rc1-project-wince.zip
+   libpng-1.2.21rc2-project-netware.zip
+   libpng-1.2.21rc2-project-wince.zip
 
 Other information:
 
-   libpng-1.2.21rc1-README.txt
-   libpng-1.2.21rc1-KNOWNBUGS.txt
-   libpng-1.2.21rc1-LICENSE.txt
-   libpng-1.2.21rc1-Y2K-compliance.txt
+   libpng-1.2.21rc2-README.txt
+   libpng-1.2.21rc2-KNOWNBUGS.txt
+   libpng-1.2.21rc2-LICENSE.txt
+   libpng-1.2.21rc2-Y2K-compliance.txt
 
 Changes since the last public release (1.2.19):
 
@@ -62,7 +62,7 @@
   Revised #ifdefs to ensure one and only one of pnggccrd.c, pngvcrd.c,
     or part of pngrutil.c is selected.
 
-version 1.2.20rc3 [September 26, 2007]
+version 1.2.20rc3 [September 27, 2007]
   Remove a little more code in pngwutil.c when PNG_NO_WRITE_FILTER is selected.
   Added /D _CRT_SECURE_NO_WARNINGS to visual6c and visualc71 projects.
   Compile png_mmx_support() in png.c even when PNG_NO_MMX_CODE is defined.
@@ -93,9 +93,15 @@
 version 1.2.21beta2 [September 18, 2007]
   Removed some extraneous typecasts.
 
-version 1.2.21rc1 [September 26, 2007]
-  Fixed potential out-of-bounds read in png_handle_pCAL().
+version 1.2.21rc1 [September 25, 2007]
+  Fixed potential out-of-bounds reads in png_handle_pCAL() and
+    png_handle_ztXt() ("flayer" results reported by Tavis Ormandy).
 
+version 1.2.21rc2 [September 27, 2007]
+  Fixed potential out-of-bounds reads in png_handle_sCAL(),
+    png_handle_iTXt(), and png_push_read_tEXt().
+  Remove some PNG_CONST declarations from pngwutil.c to avoid compiler warnings
+  Revised makefiles to update libpng.pc properly.
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 
diff --git a/CHANGES b/CHANGES
index ee28afc..f274b3f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1950,10 +1950,16 @@
 version 1.2.21beta2 [September 18, 2007]
   Removed some extraneous typecasts.
 
-version 1.2.21rc1 [September 26, 2007]
+version 1.2.21rc1 [September 25, 2007]
   Fixed potential out-of-bounds reads in png_handle_pCAL() and
     png_handle_ztXt() ("flayer" results reported by Tavis Ormandy).
 
+version 1.2.21rc2 [September 27, 2007]
+  Fixed potential out-of-bounds reads in png_handle_sCAL(),
+    png_handle_iTXt(), and png_push_read_tEXt().
+  Remove some PNG_CONST declarations from pngwutil.c to avoid compiler warnings
+  Revised makefiles to update libpng.pc properly.
+
 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 48ba092..ca86699 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.21rc1 - September 26, 2007
+Installing libpng version 1.2.21rc2 - September 27, 2007
 
 On Unix/Linux and similar systems, you can simply type
 
@@ -44,7 +44,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.21rc1" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.2.21rc2" 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:
@@ -101,9 +101,9 @@
  CMakeLists.txt    =>  "cmake" script
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       gcc, creates libpng12.so.0.1.2.21rc1)
+                       gcc, creates libpng12.so.0.1.2.21rc2)
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.21rc1)
+                       (gcc, creates libpng12.so.0.1.2.21rc2)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
                        ansi2knr (Requires ansi2knr.c from
@@ -125,14 +125,14 @@
  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.21rc1)
+                       creates libpng12.so.0.1.2.21rc2)
  makefile.sunos    =>  Sun makefile
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.21rc1)
+                       creates libpng12.so.0.1.2.21rc2)
  makefile.solaris-x86 =>  Solaris/intelMMX 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.21rc1)
+                       creates libpng12.so.0.1.2.21rc2)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng12.so.0.1.2.21rc1)
+                       creates libpng12.so.0.1.2.21rc2)
  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 7ea2c7b..ee49c53 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.2.21rc1
+Known bugs in libpng version 1.2.21rc2
 
 1. February 23, 2006: The custom makefiles don't build libpng with -lz.
 
diff --git a/LICENSE b/LICENSE
index d46b0d5..269ffd8 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.21rc1, September 26, 2007, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.21rc2, September 27, 2007, are
 Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -106,4 +106,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-September 26, 2007
+September 27, 2007
diff --git a/README b/README
index 7069a9b..ce3ffa2 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.2.21rc1 - September 26, 2007 (shared library 12.0)
+README for libpng version 1.2.21rc2 - September 27, 2007 (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.21rc1)
+                            gcc, creates libpng12.so.0.1.2.21rc2)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.21rc1)
+                            (gcc, creates libpng12.so.0.1.2.21rc2)
        makefile.gcmmx   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.21rc1,
+                            (gcc, creates libpng12.so.0.1.2.21rc2,
                             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.21rc1)
+                            (gcc, creates libpng12.so.0.1.2.21rc2)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng12.so.0.1.2.21rc1)
+                            (gcc, creates libpng12.so.0.1.2.21rc2)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng12.so.0.1.2.21rc1)
+                            (gcc, creates libpng12.so.0.1.2.21rc2)
        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 4586c89..cd09d21 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      September 26, 2007
+      September 27, 2007
 
       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.21rc1 are Y2K compliant.  It is my belief that earlier
+      upward through 1.2.21rc2 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 bc3490c..ab81a05 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.21rc1.
+# Generated by GNU Autoconf 2.61 for libpng 1.2.21rc2.
 #
 # 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.21rc1'
-PACKAGE_STRING='libpng 1.2.21rc1'
+PACKAGE_VERSION='1.2.21rc2'
+PACKAGE_STRING='libpng 1.2.21rc2'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 
 ac_unique_file="pngget.c"
@@ -1405,7 +1405,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.21rc1 to adapt to many kinds of systems.
+\`configure' configures libpng 1.2.21rc2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1475,7 +1475,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.2.21rc1:";;
+     short | recursive ) echo "Configuration of libpng 1.2.21rc2:";;
    esac
   cat <<\_ACEOF
 
@@ -1585,7 +1585,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.2.21rc1
+libpng configure 1.2.21rc2
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1599,7 +1599,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.21rc1, which was
+It was created by libpng $as_me 1.2.21rc2, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2269,7 +2269,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.2.21rc1'
+ VERSION='1.2.21rc2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2440,7 +2440,7 @@
 
 
 
-PNGLIB_VERSION=1.2.21rc1
+PNGLIB_VERSION=1.2.21rc2
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=2
 PNGLIB_RELEASE=21
@@ -21282,7 +21282,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.21rc1, which was
+This file was extended by libpng $as_me 1.2.21rc2, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21335,7 +21335,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libpng config.status 1.2.21rc1
+libpng config.status 1.2.21rc2
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index daadd8f..bde9036 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.2.21rc1], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.2.21rc2], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.2.21rc1
+PNGLIB_VERSION=1.2.21rc2
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=2
 PNGLIB_RELEASE=21
diff --git a/libpng-1.2.21rc1.txt b/libpng-1.2.21rc2.txt
similarity index 99%
rename from libpng-1.2.21rc1.txt
rename to libpng-1.2.21rc2.txt
index e5defc8..df305b5 100644
--- a/libpng-1.2.21rc1.txt
+++ b/libpng-1.2.21rc2.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.21rc1 - September 26, 2007
+ libpng version 1.2.21rc2 - September 27, 2007
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2007 Glenn Randers-Pehrson
@@ -2796,13 +2796,13 @@
 
 IX. Y2K Compliance in libpng
 
-September 26, 2007
+September 27, 2007
 
 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.21rc1 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.21rc2 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
diff --git a/libpng.3 b/libpng.3
index 8050767..8b96c38 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "September 26, 2007"
+.TH LIBPNG 3 "September 27, 2007"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.21rc1
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.21rc2
 .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.21rc1 - September 26, 2007
+ libpng version 1.2.21rc2 - September 27, 2007
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2007 Glenn Randers-Pehrson
@@ -3206,13 +3206,13 @@
 
 .SH IX. Y2K Compliance in libpng
 
-September 26, 2007
+September 27, 2007
 
 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.21rc1 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.21rc2 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
@@ -3411,6 +3411,8 @@
  1.2.20rc1-6         13    10220  12.so.0.20[.0]
  1.0.28              10    10028  10.so.0.28[.0]
  1.2.20              13    10220  12.so.0.20[.0]
+ 1.2.21beta1-2       13    10221  12.so.0.21[.0]
+ 1.2.21rc1-2         13    10221  12.so.0.21[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3466,7 +3468,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.2.21rc1 - September 26, 2007:
+Libpng version 1.2.21rc2 - September 27, 2007:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -3487,7 +3489,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.21rc1, September 26, 2007, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.21rc2, September 27, 2007, are
 Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -3586,7 +3588,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-September 26, 2007
+September 27, 2007
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index cb1285e..cdc0724 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "September 26, 2007"
+.TH LIBPNGPF 3 "September 27, 2007"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.21rc1
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.21rc2
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 7095d06..0be81cd 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "September 26, 2007"
+.TH PNG 5 "September 27, 2007"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 3681242..bcf2054 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * Last changed in libpng 1.2.21 [September 26, 2007]
+ * Last changed in libpng 1.2.21 [September 27, 2007]
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -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_21rc1 Your_png_h_is_not_version_1_2_21rc1;
+typedef version_1_2_21rc2 Your_png_h_is_not_version_1_2_21rc2;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
@@ -693,7 +693,7 @@
 png_get_copyright(png_structp png_ptr)
 {
    png_ptr = png_ptr;  /* silence compiler warning about unused png_ptr */
-   return ((png_charp) "\n libpng version 1.2.21rc1 - September 26, 2007\n\
+   return ((png_charp) "\n libpng version 1.2.21rc2 - September 27, 2007\n\
    Copyright (c) 1998-2007 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 aa9e77a..03cad17 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.2.21rc1 - September 26, 2007
+ * libpng version 1.2.21rc2 - September 27, 2007
  * Copyright (c) 1998-2007 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.21rc1 - September 26, 2007: Glenn
+ *  libpng versions 0.97, January 1998, through 1.2.21rc2 - September 27, 2007: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -160,6 +160,8 @@
  *    1.2.20rc1-6             13    10220  12.so.0.20[.0]
  *    1.0.28                  10    10028  10.so.0.28[.0]
  *    1.2.20                  13    10220  12.so.0.20[.0]
+ *    1.2.21beta1-2           13    10221  12.so.0.21[.0]
+ *    1.2.21rc1-2             13    10221  12.so.0.21[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -189,7 +191,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.21rc1, September 26, 2007, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.2.21rc2, September 27, 2007, are
  * Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.2.5
  * with the following individual added to the list of Contributing Authors:
@@ -301,13 +303,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    September 26, 2007
+ *    September 27, 2007
  *
  *    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.21rc1 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.2.21rc2 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
@@ -363,9 +365,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.21rc1"
+#define PNG_LIBPNG_VER_STRING "1.2.21rc2"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.21rc1 - September 26, 2007\n"
+   " libpng version 1.2.21rc2 - September 27, 2007\n"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  13
@@ -377,7 +379,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  1
+#define PNG_LIBPNG_VER_BUILD  2
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -1412,7 +1414,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_21rc1;
+typedef png_structp version_1_2_21rc2;
 
 typedef png_struct FAR * FAR * png_structpp;
 
diff --git a/pngconf.h b/pngconf.h
index 1ec77f9..fd9799f 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.2.21rc1 - September 26, 2007
+ * libpng version 1.2.21rc2 - September 27, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngerror.c b/pngerror.c
index 06934cf..338c660 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * Last changed in libpng 1.2.20 September 26, 2007
+ * Last changed in libpng 1.2.20 September 27, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngpread.c b/pngpread.c
index 3ce4b3f..421be9e 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * Last changed in libpng 1.2.21 September 26, 2007
+ * Last changed in libpng 1.2.21 September 27, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -1120,7 +1120,7 @@
       for (text = key; *text; text++)
          /* empty loop */ ;
 
-      if (text != key + png_ptr->current_text_size)
+      if (text < key + png_ptr->current_text_size)
          text++;
 
       text_ptr = (png_textp)png_malloc(png_ptr,
@@ -1215,7 +1215,7 @@
          /* empty loop */ ;
 
       /* zTXt can't have zero text */
-      if (text == key + png_ptr->current_text_size)
+      if (text >= key + png_ptr->current_text_size)
       {
          png_ptr->current_text = NULL;
          png_free(png_ptr, key);
@@ -1412,7 +1412,7 @@
       for (lang = key; *lang; lang++)
          /* empty loop */ ;
 
-      if (lang != key + png_ptr->current_text_size)
+      if (lang < key + png_ptr->current_text_size - 3)
          lang++;
 
       comp_flag = *lang++;
@@ -1422,10 +1422,14 @@
          /* empty loop */ ;
       lang_key++;        /* skip NUL separator */
 
-      for (text = lang_key; *text; text++)
-         /* empty loop */ ;
+      text=lang_key;
+      if (lang_key < key + png_ptr->current_text_size - 1)
+      {
+        for (; *text; text++)
+           /* empty loop */ ;
+      }
 
-      if (text != key + png_ptr->current_text_size)
+      if (text < key + png_ptr->current_text_size)
          text++;
 
       text_ptr = (png_textp)png_malloc(png_ptr,
diff --git a/pngrtran.c b/pngrtran.c
index b6d8ec6..002140c 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * Last changed in libpng 1.2.21 [September 26, 2007]
+ * Last changed in libpng 1.2.21 [September 27, 2007]
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrutil.c b/pngrutil.c
index a775af6..5f12d85 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * Last changed in libpng 1.2.21 [September 26, 2007]
+ * Last changed in libpng 1.2.21 [September 27, 2007]
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -1771,6 +1771,17 @@
       /* empty loop */ ;
    ep++;
 
+   if (buffer + slength < ep)
+   {
+       png_warning(png_ptr, "Truncated sCAL chunk");
+#if defined(PNG_FIXED_POINT_SUPPORTED) && \
+    !defined(PNG_FLOATING_POINT_SUPPORTED)
+       png_free(png_ptr, swidth);
+#endif
+      png_free(png_ptr, buffer);
+       return;
+   }
+
 #ifdef PNG_FLOATING_POINT_SUPPORTED
    height = png_strtod(png_ptr, ep, &vp);
    if (*vp)
@@ -2114,6 +2125,13 @@
       /* empty loop */ ;
    lang_key++;        /* skip NUL separator */
 
+   if (lang_key >= chunkdata + slength)
+   {
+      png_warning(png_ptr, "Truncated iTXt chunk");
+      png_free(png_ptr, chunkdata);
+      return;
+   }
+
    for (text = lang_key; *text; text++)
       /* empty loop */ ;
    text++;        /* skip NUL separator */
diff --git a/pngset.c b/pngset.c
index b896bb2..de9bde3 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * Last changed in libpng 1.2.21 [September 26, 2007]
+ * Last changed in libpng 1.2.21 [September 27, 2007]
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngtest.c b/pngtest.c
index 28cda21..5767d58 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1548,4 +1548,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_21rc1 your_png_h_is_not_version_1_2_21rc1;
+typedef version_1_2_21rc2 your_png_h_is_not_version_1_2_21rc2;
diff --git a/pngwutil.c b/pngwutil.c
index eebae35..fef38ae 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -378,7 +378,7 @@
    int interlace_type)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_IHDR;
+   PNG_IHDR;
 #endif
    png_byte buf[13]; /* buffer to store the IHDR info */
 
@@ -544,7 +544,7 @@
 png_write_PLTE(png_structp png_ptr, png_colorp palette, png_uint_32 num_pal)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_PLTE;
+   PNG_PLTE;
 #endif
    png_uint_32 i;
    png_colorp pal_ptr;
@@ -607,7 +607,7 @@
 png_write_IDAT(png_structp png_ptr, png_bytep data, png_size_t length)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_IDAT;
+   PNG_IDAT;
 #endif
    png_debug(1, "in png_write_IDAT\n");
 
@@ -659,7 +659,7 @@
 png_write_IEND(png_structp png_ptr)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_IEND;
+   PNG_IEND;
 #endif
    png_debug(1, "in png_write_IEND\n");
    png_write_chunk(png_ptr, png_IEND, png_bytep_NULL,
@@ -674,7 +674,7 @@
 png_write_gAMA(png_structp png_ptr, double file_gamma)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_gAMA;
+   PNG_gAMA;
 #endif
    png_uint_32 igamma;
    png_byte buf[4];
@@ -691,7 +691,7 @@
 png_write_gAMA_fixed(png_structp png_ptr, png_fixed_point file_gamma)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_gAMA;
+   PNG_gAMA;
 #endif
    png_byte buf[4];
 
@@ -709,7 +709,7 @@
 png_write_sRGB(png_structp png_ptr, int srgb_intent)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_sRGB;
+   PNG_sRGB;
 #endif
    png_byte buf[1];
 
@@ -729,7 +729,7 @@
    png_charp profile, int profile_len)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_iCCP;
+   PNG_iCCP;
 #endif
    png_size_t name_len;
    png_charp new_name;
@@ -802,7 +802,7 @@
 png_write_sPLT(png_structp png_ptr, png_sPLT_tp spalette)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_sPLT;
+   PNG_sPLT;
 #endif
    png_size_t name_len;
    png_charp new_name;
@@ -885,7 +885,7 @@
 png_write_sBIT(png_structp png_ptr, png_color_8p sbit, int color_type)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_sBIT;
+   PNG_sBIT;
 #endif
    png_byte buf[4];
    png_size_t size;
@@ -944,7 +944,7 @@
    double blue_x, double blue_y)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_cHRM;
+   PNG_cHRM;
 #endif
    png_byte buf[32];
    png_uint_32 itemp;
@@ -1006,7 +1006,7 @@
    png_fixed_point blue_y)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_cHRM;
+   PNG_cHRM;
 #endif
    png_byte buf[32];
 
@@ -1059,7 +1059,7 @@
    int num_trans, int color_type)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_tRNS;
+   PNG_tRNS;
 #endif
    png_byte buf[6];
 
@@ -1113,7 +1113,7 @@
 png_write_bKGD(png_structp png_ptr, png_color_16p back, int color_type)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_bKGD;
+   PNG_bKGD;
 #endif
    png_byte buf[6];
 
@@ -1166,7 +1166,7 @@
 png_write_hIST(png_structp png_ptr, png_uint_16p hist, int num_hist)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_hIST;
+   PNG_hIST;
 #endif
    int i;
    png_byte buf[3];
@@ -1328,7 +1328,7 @@
    png_size_t text_len)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_tEXt;
+   PNG_tEXt;
 #endif
    png_size_t key_len;
    png_charp new_key;
@@ -1369,7 +1369,7 @@
    png_size_t text_len, int compression)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_zTXt;
+   PNG_zTXt;
 #endif
    png_size_t key_len;
    char buf[1];
@@ -1428,7 +1428,7 @@
     png_charp lang, png_charp lang_key, png_charp text)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_iTXt;
+   PNG_iTXt;
 #endif
    png_size_t lang_len, key_len, lang_key_len, text_len;
    png_charp new_lang, new_key;
@@ -1517,7 +1517,7 @@
    int unit_type)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_oFFs;
+   PNG_oFFs;
 #endif
    png_byte buf[9];
 
@@ -1539,7 +1539,7 @@
    png_int_32 X1, int type, int nparams, png_charp units, png_charpp params)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_pCAL;
+   PNG_pCAL;
 #endif
    png_size_t purpose_len, units_len, total_len;
    png_uint_32p params_len;
@@ -1599,7 +1599,7 @@
 png_write_sCAL(png_structp png_ptr, int unit, double width, double height)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_sCAL;
+   PNG_sCAL;
 #endif
    char buf[64];
    png_size_t total_len;
@@ -1639,7 +1639,7 @@
    png_charp height)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_sCAL;
+   PNG_sCAL;
 #endif
    png_byte buf[64];
    png_size_t wlen, hlen, total_len;
@@ -1674,7 +1674,7 @@
    int unit_type)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_pHYs;
+   PNG_pHYs;
 #endif
    png_byte buf[9];
 
@@ -1698,7 +1698,7 @@
 png_write_tIME(png_structp png_ptr, png_timep mod_time)
 {
 #ifdef PNG_USE_LOCAL_ARRAYS
-   PNG_CONST PNG_tIME;
+   PNG_tIME;
 #endif
    png_byte buf[7];
 
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index 586b2b1..4fb4bde 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -169,7 +169,7 @@
 
 # SET UP LINKS
 set_target_properties(${PNG_LIB_NAME} PROPERTIES
-#    VERSION 0.${PNGLIB_RELEASE}.1.2.21rc1
+#    VERSION 0.${PNGLIB_RELEASE}.1.2.21rc2
      VERSION 0.${PNGLIB_RELEASE}.0
      SOVERSION 0
      CLEAN_DIRECT_OUTPUT 1)
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index 662eba9..133372e 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.2.21rc1
+version=1.2.21rc2
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc-configure.in b/scripts/libpng.pc-configure.in
index 481dcd3..b35105b 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.21rc1
+Version: 1.2.21rc2
 Libs: -L${libdir} -lpng12
 Cflags: -I${includedir} @LIBPNG_NO_MMX@
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 87b7ff0..79b6538 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.21rc1
+Version: 1.2.21rc2
 Libs: -L${libdir} -lpng12
 Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index 20f2981..6387330 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -88,7 +88,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index cd3c724..9f79a13 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -88,7 +88,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 1049ca9..d11830d 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index e52b067..cecf373 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -84,7 +84,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index fe6f7f7..e90aefc 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -74,7 +74,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 CYGDLL = 12
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
@@ -134,8 +134,11 @@
 libpng.pc: scripts/libpng.pc.in
 	@echo -e Making pkg-config file for this libpng installation..'\n' \
            using PREFIX=\"$(prefix)\"'\n'
-	cat $(S)/scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! | \
-	   sed -e s/-lm// > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! \
+	-e s/-lm// > libpng.pc
 
 libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in
 	@echo -e Making $(LIBNAME) libpng-config file for this libpng \
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index 6ad69b3..481133d 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -80,8 +80,11 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! | \
-	   sed -e s/-lm// > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! \
+	-e s!-lm!! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index dcceb6e..89b6c8f 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -5,7 +5,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -68,7 +68,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index 8fd6e39..a6db678 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -12,7 +12,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -99,7 +99,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng.syms: png.h pngconf.h
 	$(CC) $(CFLAGS) -E -DPNG_BUILDSYMS -DPNG_INTERNAL png.h |\
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 2b5de20..15bff32 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -14,7 +14,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -112,7 +112,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index b7a16a6..4b8f3b3 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -86,7 +86,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index d6a354a..d084fe8 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -96,7 +96,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 53deb22..68aa1a9 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -83,7 +83,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 5a18456..21fa364 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -91,7 +91,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index d0161e2..58977c9 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -74,7 +74,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 MINGDLL = 12
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=libpng$(MINGDLL).dll
@@ -130,8 +130,11 @@
 libpng.pc: scripts/libpng.pc.in
 	@echo -e Making pkg-config file for this libpng installation..'\n' \
            using PREFIX=\"$(prefix)\"'\n'
-	cat $(S)/scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! | \
-	   sed -e s/-lm// > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! \
+	-e s!-lm!! > libpng.pc
 
 libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in
 	@echo -e Making $(LIBNAME) libpng-config file for this libpng \
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 22d2421..17e32fb 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -14,7 +14,7 @@
 
 LIB=	png12
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.21rc1
+SHLIB_MINOR=	1.2.21rc2
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 7c33483..b70925a 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -14,7 +14,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.2.21rc1
+SHLIB_MINOR=	1.2.21rc2
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.nommx b/scripts/makefile.nommx
index 2b2b9f0..ef4ead5 100644
--- a/scripts/makefile.nommx
+++ b/scripts/makefile.nommx
@@ -7,7 +7,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -92,8 +92,11 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s!@PREFIX@!$(prefix)! \
-	| sed -e "s!Cflags: !Cflags: -DPNG_NO_MMX_CODE !"> libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! \
+	-e "s!Cflags: !Cflags: -DPNG_NO_MMX_CODE !"> libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 98afc81..eee2f7e 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -8,7 +8,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.21rc1
+SHLIB_MINOR=	1.2.21rc2
 
 LIB=	png
 SRCS=	png.c pngerror.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index fad7e4e..9f3848e 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -9,7 +9,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -79,7 +79,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index e04efa5..6d56a5b 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -86,7 +86,10 @@
 shared: $(LIBSOVER)
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 309c352..d779f6a 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -89,7 +89,10 @@
 shared: $(LIBSOVER)
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index c60c545..027291e 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -8,7 +8,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -89,7 +89,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index a527a17..333f0cb 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -86,7 +86,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86
index 3c216f3..7491a9c 100644
--- a/scripts/makefile.solaris-x86
+++ b/scripts/makefile.solaris-x86
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.21rc1
+PNGMIN = 1.2.21rc2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
@@ -85,7 +85,10 @@
 	$(RANLIB) $@
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
+	cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
+	-e s!@exec_prefix@!$(exec_prefix)! \
+	-e s!@libdir@!$(LIBPATH)! \
+	-e s!@includedir@!$(INCPATH)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 196565a..679afed 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.2.21rc1
+; Version 1.2.21rc2
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
diff --git a/scripts/pngw32.def b/scripts/pngw32.def
index 908498f..9831c79 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngw32.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.2.21rc1
+;Version 1.2.21rc2
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
