diff --git a/ANNOUNCE b/ANNOUNCE
index 5d28b17..d6da22e 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.5.2rc02 - March 21, 2011
+Libpng 1.5.2rc02 - March 22, 2011
 
 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.
@@ -57,12 +57,12 @@
   Define remaining attributes to blank when MSC_VER<1300.
   ifdef out mask arrays in pngread.c when interlacing is not supported.
 
-Version 1.5.2rc02 [March 21, 2011]
+Version 1.5.2rc02 [March 22, 2011]
   Added a hint to try CPP=/bin/cpp if "cpp -E" fails in scripts/pnglibconf.mak
     and in contrib/pngminim/*/makefile, eg., on SunOS 5.10, and removed "strip"
     from the makefiles.
   Fixed a bug (present since libpng-1.0.7) that makes png_handle_sPLT() fail
-    to compile when PNG_NO_POINTER_INDEXING is defined.
+    to compile when PNG_NO_POINTER_INDEXING is defined (Chubanov Kirill)
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
 (subscription required; visit
diff --git a/CHANGES b/CHANGES
index bcb5aeb..57431f3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3273,12 +3273,12 @@
   Define remaining attributes to blank when MSC_VER<1300.
   ifdef out mask arrays in pngread.c when interlacing is not supported.
 
-Version 1.5.2rc02 [March 21, 2011]
+Version 1.5.2rc02 [March 22, 2011]
   Added a hint to try CPP=/bin/cpp if "cpp -E" fails in scripts/pnglibconf.mak
     and in contrib/pngminim/*/makefile, eg., on SunOS 5.10, and removed "strip"
     from the makefiles.
   Fixed a bug (present since libpng-1.0.7) that makes png_handle_sPLT() fail
-    to compile when PNG_NO_POINTER_INDEXING is defined.
+    to compile when PNG_NO_POINTER_INDEXING is defined (Chubanov Kirill)
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f42c5bf..f1120b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -264,7 +264,7 @@
 # SET UP LINKS
 if(PNG_SHARED)
   set_target_properties(${PNG_LIB_NAME} PROPERTIES
-#   VERSION 15.${PNGLIB_RELEASE}.1.5.2rc01
+#   VERSION 15.${PNGLIB_RELEASE}.1.5.2rc02
     VERSION 15.${PNGLIB_RELEASE}.0
     SOVERSION 15
     CLEAN_DIRECT_OUTPUT 1)
diff --git a/LICENSE b/LICENSE
index 8459b27..b4b93fc 100644
--- a/LICENSE
+++ b/LICENSE
@@ -10,7 +10,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.5.2rc01, March 19, 2011, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.2rc02, March 22, 2011, are
 Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -108,4 +108,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-March 19, 2011
+March 22, 2011
diff --git a/README b/README
index de5a167..a0c1a70 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.5.2rc01 - March 19, 2011 (shared library 15.0)
+README for libpng version 1.5.2rc02 - March 22, 2011 (shared library 15.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
diff --git a/configure b/configure
index 173c7c9..61da4f4 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.68 for libpng 1.5.2rc01.
+# Generated by GNU Autoconf 2.68 for libpng 1.5.2rc02.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -570,8 +570,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.5.2rc01'
-PACKAGE_STRING='libpng 1.5.2rc01'
+PACKAGE_VERSION='1.5.2rc02'
+PACKAGE_STRING='libpng 1.5.2rc02'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1307,7 +1307,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.5.2rc01 to adapt to many kinds of systems.
+\`configure' configures libpng 1.5.2rc02 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1377,7 +1377,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.5.2rc01:";;
+     short | recursive ) echo "Configuration of libpng 1.5.2rc02:";;
    esac
   cat <<\_ACEOF
 
@@ -1485,7 +1485,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.5.2rc01
+libpng configure 1.5.2rc02
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1908,7 +1908,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.5.2rc01, which was
+It was created by libpng $as_me 1.5.2rc02, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -2723,7 +2723,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.5.2rc01'
+ VERSION='1.5.2rc02'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2787,7 +2787,7 @@
 
 
 
-PNGLIB_VERSION=1.5.2rc01
+PNGLIB_VERSION=1.5.2rc02
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=5
 PNGLIB_RELEASE=2
@@ -13040,7 +13040,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.5.2rc01, which was
+This file was extended by libpng $as_me 1.5.2rc02, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13106,7 +13106,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libpng config.status 1.5.2rc01
+libpng config.status 1.5.2rc02
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index a67eb20..dd5381b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.5.2rc01], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.5.2rc02], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.5.2rc01
+PNGLIB_VERSION=1.5.2rc02
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=5
 PNGLIB_RELEASE=2
diff --git a/libpng-manual.txt b/libpng-manual.txt
index dc4d481..b6de998 100644
--- a/libpng-manual.txt
+++ b/libpng-manual.txt
@@ -1,6 +1,6 @@
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.5.2rc01 - March 19, 2011
+ libpng version 1.5.2rc02 - March 22, 2011
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.2rc01 - March 19, 2011
+ libpng versions 0.97, January 1998, through 1.5.2rc02 - March 22, 2011
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
 
@@ -4161,13 +4161,13 @@
 
 XIV. Y2K Compliance in libpng
 
-March 19, 2011
+March 22, 2011
 
 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.5.2rc01 are Y2K compliant.  It is my belief that earlier
+upward through 1.5.2rc02 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 292c8fa..c3e8950 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "March 19, 2011"
+.TH LIBPNG 3 "March 22, 2011"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.5.2rc01
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.2rc02
 .SH SYNOPSIS
 \fI\fB
 
@@ -923,7 +923,7 @@
 .SH LIBPNG.TXT
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.5.2rc01 - March 19, 2011
+ libpng version 1.5.2rc02 - March 22, 2011
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
@@ -934,7 +934,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.2rc01 - March 19, 2011
+ libpng versions 0.97, January 1998, through 1.5.2rc02 - March 22, 2011
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2011 Glenn Randers-Pehrson
 
@@ -5084,13 +5084,13 @@
 
 .SH XIV. Y2K Compliance in libpng
 
-March 19, 2011
+March 22, 2011
 
 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.5.2rc01 are Y2K compliant.  It is my belief that earlier
+upward through 1.5.2rc02 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
@@ -5334,7 +5334,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.5.2rc01 - March 19, 2011:
+Libpng version 1.5.2rc02 - March 22, 2011:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -5357,7 +5357,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.5.2rc01, March 19, 2011, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.2rc02, March 22, 2011, 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
@@ -5456,7 +5456,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-March 19, 2011
+March 22, 2011
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index 74b6967..92da837 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "March 19, 2011"
+.TH LIBPNGPF 3 "March 22, 2011"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.5.2rc01
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.2rc02
 (private functions)
 .SH SYNOPSIS
 \fB#include \fI"pngpriv.h"
diff --git a/png.5 b/png.5
index 6d97b89..e6e8a6f 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "March 19, 2011"
+.TH PNG 5 "March 22, 2011"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 2d489ab..742919e 100644
--- a/png.c
+++ b/png.c
@@ -14,7 +14,7 @@
 #include "pngpriv.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_5_2rc01 Your_png_h_is_not_version_1_5_2rc01;
+typedef png_libpng_version_1_5_2rc02 Your_png_h_is_not_version_1_5_2rc02;
 
 /* Tells libpng that we have already handled the first "num_bytes" bytes
  * of the PNG file signature.  If the PNG data is embedded into another
@@ -555,13 +555,13 @@
 #else
 #  ifdef __STDC__
    return PNG_STRING_NEWLINE \
-     "libpng version 1.5.2rc01 - March 19, 2011" PNG_STRING_NEWLINE \
+     "libpng version 1.5.2rc02 - March 22, 2011" PNG_STRING_NEWLINE \
      "Copyright (c) 1998-2011 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
      "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
      "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
      PNG_STRING_NEWLINE;
 #  else
-      return "libpng version 1.5.2rc01 - March 19, 2011\
+      return "libpng version 1.5.2rc02 - March 22, 2011\
       Copyright (c) 1998-2011 Glenn Randers-Pehrson\
       Copyright (c) 1996-1997 Andreas Dilger\
       Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
diff --git a/png.h b/png.h
index a6a727c..a4d61d5 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.5.2rc01 - March 19, 2011
+ * libpng version 1.5.2rc02 - March 22, 2011
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,7 +11,7 @@
  * Authors and maintainers:
  *   libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *   libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *   libpng versions 0.97, January 1998, through 1.5.2rc01 - March 19, 2011: Glenn
+ *   libpng versions 0.97, January 1998, through 1.5.2rc02 - March 22, 2011: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -180,7 +180,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.5.2rc01, March 19, 2011, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.5.2rc02, March 22, 2011, are
  * Copyright (c) 2004, 2006-2011 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:
@@ -292,13 +292,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    March 19, 2011
+ *    March 22, 2011
  *
  *    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.5.2rc01 are Y2K compliant.  It is my belief that
+ *    upward through 1.5.2rc02 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
@@ -354,9 +354,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.5.2rc01"
+#define PNG_LIBPNG_VER_STRING "1.5.2rc02"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.5.2rc01 - March 19, 2011\n"
+     " libpng version 1.5.2rc02 - March 22, 2011\n"
 
 #define PNG_LIBPNG_VER_SONUM   15
 #define PNG_LIBPNG_VER_DLLNUM  15
@@ -369,7 +369,7 @@
  * PNG_LIBPNG_VER_STRING, omitting any leading zero:
  */
 
-#define PNG_LIBPNG_VER_BUILD  01
+#define PNG_LIBPNG_VER_BUILD  02
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -511,7 +511,7 @@
 /* This triggers a compiler error in png.c, if png.c and png.h
  * do not agree upon the version number.
  */
-typedef char* png_libpng_version_1_5_2rc01;
+typedef char* png_libpng_version_1_5_2rc02;
 
 /* Three color definitions.  The order of the red, green, and blue, (and the
  * exact size) is not important, although the size of the fields need to
diff --git a/pngconf.h b/pngconf.h
index 9beb264..7b71735 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.5.2rc01 - (PENDING RELEASE)
+ * libpng version 1.5.2rc02 - (PENDING RELEASE)
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngtest.c b/pngtest.c
index 697e7ee..3a412dd 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1784,4 +1784,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_5_2rc01 Your_png_h_is_not_version_1_5_2rc01;
+typedef png_libpng_version_1_5_2rc02 Your_png_h_is_not_version_1_5_2rc02;
diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt
index ca74e37..c4194a2 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.5.2rc01 - March 19, 2011
+libpng version 1.5.2rc02 - March 22, 2011
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index fe3a982..e3f0d2e 100644
--- a/projects/vstudio/zlib.props
+++ b/projects/vstudio/zlib.props
@@ -2,7 +2,7 @@
 <!--
  * zlib.props - location of zlib source
  *
- * libpng version 1.5.2rc01 - March 19, 2011
+ * libpng version 1.5.2rc02 - March 22, 2011
  *
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index 341d167..cc7960f 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,9 +1,9 @@
 
-Makefiles for  libpng version 1.5.2rc01 - March 19, 2011
+Makefiles for  libpng version 1.5.2rc02 - March 22, 2011
 
 pnglibconf.h.prebuilt       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng15.so.15.1.5.2rc01)
+                       (gcc, creates libpng15.so.15.1.5.2rc02)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
                        ansi2knr (Requires ansi2knr.c from
@@ -20,7 +20,7 @@
  makefile.dec      =>  DEC Alpha UNIX makefile
  makefile.dj2      =>  DJGPP 2 makefile
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       (gcc, creates libpng15.so.15.1.5.2rc01)
+                       (gcc, creates libpng15.so.15.1.5.2rc02)
  makefile.freebsd  =>  FreeBSD makefile
  makefile.gcc      =>  Generic gcc makefile
  makefile.hpgcc    =>  HPUX makefile using gcc
@@ -35,12 +35,12 @@
  makefile.os2      =>  OS/2 Makefile (gcc and emx, requires libpng.def)
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
  makefile.sggcc    =>  Silicon Graphics (gcc,
-                       creates libpng15.so.15.1.5.2rc01)
+                       creates libpng15.so.15.1.5.2rc02)
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng15.so.15.1.5.2rc01)
+                       creates libpng15.so.15.1.5.2rc02)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng15.so.15.1.5.2rc01)
+                       creates libpng15.so.15.1.5.2rc02)
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.sunos    =>  Sun makefile
  makefile.32sunu   =>  Sun Ultra 32-bit makefile
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index 21d6042..db30b0f 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -11,7 +11,7 @@
 
 # Modeled after libxml-config.
 
-version=1.5.2rc01
+version=1.5.2rc02
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 3f5de0e..bfd64a7 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.5.2rc01
+Version: 1.5.2rc02
 Libs: -L${libdir} -lpng15
 Cflags: -I${includedir}
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index d254144..0f5fd66 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -17,7 +17,7 @@
 
 LIB=	png15
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.5.2rc01
+SHLIB_MINOR=	1.5.2rc02
 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 9a5a9de..19fc83d 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -17,7 +17,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	15
-SHLIB_MINOR=	1.5.2rc01
+SHLIB_MINOR=	1.5.2rc02
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 248367b..d0ce54f 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -11,7 +11,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	15
-SHLIB_MINOR=	1.5.2rc01
+SHLIB_MINOR=	1.5.2rc02
 
 LIB=	png
 SRCS=	png.c pngerror.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/pnglibconf.mak b/scripts/pnglibconf.mak
index bced8d3..f871918 100755
--- a/scripts/pnglibconf.mak
+++ b/scripts/pnglibconf.mak
@@ -12,8 +12,9 @@
 AWK = nawk
 AWK = one-true-awk
 AWK = awk  # Crashes on SunOS 5.10 - use 'nawk'
+CPP = $(CC) -E # Does not work on SUN OS 5.10 - use /lib/cpp
 SED = sed
-CPP = $(CC) -E
+
 COPY = cp
 DELETE = rm -f
 ECHO = echo
@@ -33,6 +34,7 @@
 	$(DELETE) $@ dfn.c dfn1.out dfn2.out dfn3.out
 	$(ECHO) '#include "pnglibconf.dfn"' >dfn.c
 	$(CPP) $(DFNFLAGS) dfn.c >dfn1.out
+	$(ECHO) "If 'cpp -e' crashes try /lib/cpp (e.g. CPP='/lib/cpp')" >&2
 	$(SED) -n -e 's|^.*PNG_DEFN_MAGIC-\(.*\)-PNG_DEFN_END.*$$|\1|p'\
 	    dfn1.out >dfn2.out
 	$(SED) -e 's| *@@@ *||g' -e 's| *$$||' dfn2.out >dfn3.out
diff --git a/scripts/symbols.def b/scripts/symbols.def
index 699edb5..ac4e974 100644
--- a/scripts/symbols.def
+++ b/scripts/symbols.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.5.2rc01
+;Version 1.5.2rc02
  png_access_version_number @1
  png_set_sig_bytes @2
  png_sig_cmp @3
