diff --git a/ANNOUNCE b/ANNOUNCE
index 91c7ab0..04f46ec 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,14 +1,11 @@
 
-Libpng 1.2.5rc3 - September 18, 2002
+Libpng 1.2.5 - October 3, 2002
 
-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.
+This is a public release of libpng, intended for use in production codes.
 
 Changes since the last public release (1.2.4):
 
-version 1.2.4patch01 [July 20, 2002]
   Revised makefile.cygwin to use DLL number 12 instead of 13.
-version 1.2.5beta1 [August 6, 2002]
   Added code to contrib/gregbook/readpng2.c to ignore unused chunks.
   Replaced toucan.png in contrib/gregbook (it has been corrupt since 1.0.11)
   Removed some stray *.o files from contrib/gregbook.
@@ -17,19 +14,14 @@
   Prevent png_ptr->pass from exceeding 7 in png_push_finish_row().
   Updated makefile.hggcc
   Updated png.c and pnggccrd.c handling of return from png_mmx_support()
-version 1.2.5beta2 [August 15, 2002]
   Only issue png_warning() about "Too much data" in pngpread.c when avail_in
     is nonzero.
   Updated makefiles to install a separate libpng.so.3 with its own rpath.
-version 1.2.5rc1 and 1.0.15rc1 [August 24, 2002]
   Revised makefiles to not remove previous minor versions of shared libraries.
-version 1.2.5rc2 and 1.0.15rc2 [September 16, 2002]
   Revised 13 makefiles to remove "-lz" and "-L$(ZLIBLIB)", etc., from shared
     library loader directive.
-  Added missing "$OBJSDLL" line to makefile.gcmmx.
-  Added missing "; fi" to makefile.32sunu.
-version 1.2.5rc3 and 1.0.15rc3 [September 18, 2002]
   Revised libpng-config script.
+  Relocated two misplaced PNGAPI lines in pngtest.c
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index d526aee..d151a41 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1173,6 +1173,10 @@
   Added missing "; fi" to makefile.32sunu.
 version 1.2.5rc3 and 1.0.15rc3 [September 18, 2002]
   Revised libpng-config script.
+version 1.2.5 and 1.0.15 [October 3, 2002]
+  Revised makefile.macosx, makefile.darwin, makefile.hpgcc, and makefile.hpux,
+    and makefile.aix.
+  Relocated two misplaced PNGAPI lines in pngtest.c
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index 08e54b1..1d6dfc5 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.5rc3 - September 18, 2002
+Installing libpng version 1.2.5 - October 3, 2002
 
 Before installing libpng, you must first install zlib.  zlib
 can usually be found wherever you got libpng.  zlib can be
@@ -10,7 +10,7 @@
 version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.2.5rc3" or "lpng109" and "zlib-1.1.4"
+might be called "libpng-1.2.5" or "lpng109" and "zlib-1.1.4"
 or "zlib114") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
@@ -36,9 +36,6 @@
           scripts
              makefile.*
              libpng*.in
-          mangle
-             makefile.*
-             mangle.in
           pngtest.png
           etc.
       zlib
@@ -68,14 +65,14 @@
 include
 
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
- makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.5rc3)
- makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.5rc3,
+ makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.5)
+ makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.5,
                        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
                        ansi2knr (Requires ansi2knr.c from
                        ftp://ftp.cs.wisc.edu/ghost)
- makefile.aix      =>  AIX makefile
+ makefile.aix      =>  AIX/gcc makefile
  makefile.cygwin   =>  Cygwin/gcc makefile
  makefile.darwin   =>  Darwin makefile
  makefile.dec      =>  DEC Alpha UNIX makefile
@@ -90,10 +87,10 @@
  makefile.ne0bsd  =>  NetBSD/cc makefile, uses PNGGCCRD, makes libpng0.so
  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.5rc3)
+ makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng12.so.0.1.2.5)
  makefile.sunos    =>  Sun makefile
- makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.5rc3)
- makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.5rc3)
+ makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.5)
+ makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.5)
  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
@@ -147,23 +144,7 @@
 put the library in its final resting place (if you want to
 do that, run "make install" in the zlib directory first if necessary).
 Some also allow you to run "make test-installed" after you have
-run "make install".  This will build and run executables called "pngtesti"
-and "mangle/pngtestm".
-
-The files that are presently available in the mangle directory include the
-following.  The makefiles are automatically run by the corresponding makefiles
-in the scripts directory when you run "make", "make install", or
-"make test-installed".
-
- mangle.in        =>  Function-decoration macros added to png.h by the
-                      makefiles.
- makefile.linux   =>  Linux/ELF makefile
-                      (gcc, creates libpng12m.so.0.1.2.5rc3)
- makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
-                      libpng12.so.0m.1.2.5rc3, uses assembler code
-                      tuned for Intel MMX platform)
- makefile.sgi     =>  Silicon Graphics (cc, creates libpng12m.so)
- makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng12m.so)
+run "make install".
 
 Further information can be found in the README and libpng.txt
 files, in the individual makefiles, in png.h, in the README files in
diff --git a/KNOWNBUG b/KNOWNBUG
index 1bce9c9..3b81a6a 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.2.5rc3
+Known bugs in libpng version 1.2.5
 
 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 1f3a253..28b3b66 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.0.7, July 1, 2000, through 1.2.5rc3, September 18, 2002, are
+libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
 Copyright (c) 2000-2002 Glenn Randers-Pehrson
 and are distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors
@@ -99,4 +99,4 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-September 18, 2002
+October 3, 2002
diff --git a/README b/README
index 101a75a..1991908 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.2.5rc3 - September 18, 2002 (shared library 12.0)
+README for libpng 1.2.5 - October 3, 2002 (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.
@@ -187,9 +187,9 @@
        descrip.mms      =>  VMS makefile for MMS or MMK
        makefile.std     =>  Generic UNIX makefile (cc, creates static libpng.a)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.5rc3)
+                            (gcc, creates libpng12.so.0.1.2.5)
        makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
-                            libpng12.so.0.1.2.5rc3, uses assembler code
+                            libpng12.so.0.1.2.5, uses assembler code
                             tuned for Intel MMX platform)
        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
        makefile.knr     =>  Archaic UNIX Makefile that converts files with
@@ -210,12 +210,12 @@
        makefile.ne0bsd =>  NetBSD/cc makefile, PNGGCCRD, makes libpng0.so
        makefile.openbsd =>  OpenBSD makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
-       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng12.so.0.1.2.5rc3)
+       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng12.so.0.1.2.5)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng12.so.0.1.2.5rc3)
+                            (gcc, creates libpng12.so.0.1.2.5)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng12.so.0.1.2.5rc3)
+                            (gcc, creates libpng12.so.0.1.2.5)
        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
@@ -248,9 +248,9 @@
        mangle.in        =>  Function-decoration macros added to png.h by the
                             makefiles.
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng12m.so.0.1.2.5rc3)
+                            (gcc, creates libpng12m.so.0.1.2.5)
        makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
-                            libpng12.so.0m.1.2.5rc3, uses assembler code
+                            libpng12.so.0m.1.2.5, uses assembler code
                             tuned for Intel MMX platform)
        makefile.sgi     =>  Silicon Graphics (cc, creates libpng12m.so)
        makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng12m.so)
diff --git a/Y2KINFO b/Y2KINFO
index 0615d55..f57e962 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      September 18, 2002
+      October 3, 2002
 
       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.5rc3 are Y2K compliant.  It is my belief that earlier
+      upward through 1.2.5 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 4621aff..ca05aca 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 echo "
-  There is no \"configure\" script for Libpng-1.2.5rc3.  Instead, please
+  There is no \"configure\" script for Libpng-1.2.5.  Instead, please
   copy the appropriate makefile for your system from the \"scripts\"
   directory.  Read the INSTALL file for more details.
 "
diff --git a/libpng.3 b/libpng.3
index c9e96ab..b54b547 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "September 18, 2002"
+.TH LIBPNG 3 "October 3, 2002"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.5rc3
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.5
 .SH SYNOPSIS
 \fI\fB
 
@@ -791,7 +791,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.5rc3 - September 18, 2002
+ libpng version 1.2.5 - October 3, 2002
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998-2002 Glenn Randers-Pehrson
@@ -3641,13 +3641,13 @@
 
 .SH IX. Y2K Compliance in libpng
 
-September 18, 2002
+October 3, 2002
 
 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.5rc3 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.5 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
@@ -3782,9 +3782,10 @@
  1.2.4rc1            13    10204  12.so.0.1.2.4rc1
  1.0.14              10    10014  10.so.0.1.0.14
  1.2.4               13    10204  12.so.0.1.2.4
- 1.2.5beta1,2        13    10205  12.so.0.1.2.5beta1,2
- 1.2.5rc1,3          13    10205  12.so.0.1.2.5rc1,3
- 1.0.15rc1,3         10    10015  10.so.0.1.0.15rc1,3
+ 1.0.15rc1-3         10    10015  10.so.0.1.0.15rc1-3
+ 1.2.5rc1-3          13    10205  12.so.0.1.2.5rc1-3
+ 1.0.15              10    10015  10.so.0.1.0.15
+ 1.2.5               13    10205  12.so.0.1.2.5
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3842,7 +3843,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.2.5rc3 - September 18, 2002:
+Libpng version 1.2.5 - October 3, 2002:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
 
@@ -3859,7 +3860,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.0.7, July 1, 2000, through 1.2.5rc3, September 18, 2002, are
+libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
 Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors
@@ -3951,7 +3952,7 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-September 18, 2002
+October 3, 2002
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index 07fc3cd..689b564 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.5rc3 - September 18, 2002
+ libpng version 1.2.5 - October 3, 2002
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998-2002 Glenn Randers-Pehrson
@@ -2850,13 +2850,13 @@
 
 IX. Y2K Compliance in libpng
 
-September 18, 2002
+October 3, 2002
 
 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.5rc3 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.5 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 4f6d3d6..3c1f379 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "September 18, 2002"
+.TH LIBPNGPF 3 "October 3, 2002"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.5rc3
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.5
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index c5bb09c..11ab244 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "September 18, 2002"
+.TH PNG 5 "October 3, 2002"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 5cfeb45..2a55ccb 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng version 1.2.5rc3 - September 18, 2002
+ * libpng version 1.2.5 - October 3, 2002
  * Copyright (c) 1998-2002 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.)
@@ -13,14 +13,14 @@
 #include "png.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_5rc3 Your_png_h_is_not_version_1_2_5rc3;
+typedef version_1_2_5 Your_png_h_is_not_version_1_2_5;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
 
 #ifdef PNG_USE_GLOBAL_ARRAYS
 /* png_libpng_ver was changed to a function in version 1.0.5c */
-const char png_libpng_ver[18] = "1.2.5rc3";
+const char png_libpng_ver[18] = "1.2.5";
 
 /* png_sig was changed to a function in version 1.0.5c */
 /* Place to hold the signature string for a PNG file. */
@@ -671,7 +671,7 @@
 png_get_copyright(png_structp png_ptr)
 {
    if (png_ptr != NULL || png_ptr == NULL)  /* silence compiler warning */
-   return ((png_charp) "\n libpng version 1.2.5rc3 - September 18, 2002\n\
+   return ((png_charp) "\n libpng version 1.2.5 - October 3, 2002\n\
    Copyright (c) 1998-2002 Glenn Randers-Pehrson\n\
    Copyright (c) 1996-1997 Andreas Dilger\n\
    Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
@@ -689,8 +689,8 @@
 {
    /* Version of *.c files used when building libpng */
    if(png_ptr != NULL) /* silence compiler warning about unused png_ptr */
-      return((png_charp) "1.2.5rc3");
-   return((png_charp) "1.2.5rc3");
+      return((png_charp) "1.2.5");
+   return((png_charp) "1.2.5");
 }
 
 png_charp PNGAPI
diff --git a/png.h b/png.h
index a570d9a..f059910 100644
--- a/png.h
+++ b/png.h
@@ -1,6 +1,6 @@
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.2.5rc3 - September 18, 2002
+ * libpng version 1.2.5 - October 3, 2002
  * Copyright (c) 1998-2002 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.)
@@ -8,7 +8,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.5rc3 - September 18, 2002: Glenn
+ *  libpng versions 0.97, January 1998, through 1.2.5 - October 3, 2002: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -94,8 +94,10 @@
  *    1.0.14                  10    10014  10.so.0.1.0.14
  *    1.2.4                   13    10204  12.so.0.1.2.4
  *    1.2.5beta1-2            13    10205  12.so.0.1.2.5beta1-2
- *    1.2.5rc1-3              13    10205  12.so.0.1.2.5rc1-3
  *    1.0.15rc1-3             10    10015  10.so.0.1.0.15rc1-3
+ *    1.2.5rc1-3              13    10205  12.so.0.1.2.5rc1-3
+ *    1.0.15                  10    10015  10.so.0.1.0.15
+ *    1.2.5                   13    10205  12.so.0.1.2.5
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -125,7 +127,7 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.0.7, July 1, 2000, through 1.2.5rc3, September 18, 2002, are
+ * libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
  * Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.0.6
  * with the following individuals added to the list of Contributing Authors
@@ -230,13 +232,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    September 18, 2002
+ *    October 3, 2002
  *
  *    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.5rc3 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.2.5 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
@@ -292,7 +294,7 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.5rc3"
+#define PNG_LIBPNG_VER_STRING "1.2.5"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  %DLLNUM%
@@ -304,7 +306,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  0
 
 #define PNG_LIBPNG_BUILD_ALPHA    1
 #define PNG_LIBPNG_BUILD_BETA     2
@@ -312,7 +314,7 @@
 #define PNG_LIBPNG_BUILD_STABLE   4
 #define PNG_LIBPNG_BUILD_TYPEMASK 7
 #define PNG_LIBPNG_BUILD_PATCH    8 /* Can be OR'ed with STABLE only */
-#define PNG_LIBPNG_BUILD_TYPE 3
+#define PNG_LIBPNG_BUILD_TYPE 4
 
 /* Careful here.  At one time, Guy wanted to use 082, but that would be octal.
  * We must not include leading zeros.
@@ -1282,9 +1284,9 @@
 
 
 /* This prevents a compiler error in png.c if png.c and png.h are both at
-   version 1.2.5rc3
+   version 1.2.5
  */
-typedef png_structp version_1_2_5rc3;
+typedef png_structp version_1_2_5;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -2424,7 +2426,7 @@
 /* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
 
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.5rc3 - September 18, 2002 (header)\n"
+   " libpng version 1.2.5 - October 3, 2002 (header)\n"
 
 #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
 /* With these routines we avoid an integer divide, which will be slower on
diff --git a/pngasmrd.h b/pngasmrd.h
index a2bf8f2..d086d8c 100644
--- a/pngasmrd.h
+++ b/pngasmrd.h
@@ -1,6 +1,6 @@
 /* pngasmrd.h - assembler version of utilities to read a PNG file
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 2002 Glenn Randers-Pehrson
  *
diff --git a/pngconf.h b/pngconf.h
index 0f98ff4..4a425dd 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,6 +1,6 @@
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngerror.c b/pngerror.c
index 38938a6..fc3c304 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pnggccrd.c b/pnggccrd.c
index 5dbe525..8d81c31 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -6,7 +6,7 @@
  *     and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
  *     for Intel's performance analysis of the MMX vs. non-MMX code.
  *
- * libpng version 1.2.5rc3 - September 18, 2002
+ * libpng version 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
diff --git a/pngget.c b/pngget.c
index 46ca030..f7f5c67 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngmem.c b/pngmem.c
index 02a8e33..66eec0b 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngpread.c b/pngpread.c
index cadbc92..9f924c3 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngread.c b/pngread.c
index 3101930..e91d3e8 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -789,7 +789,7 @@
  * not called png_set_interlace_handling(), the display_row buffer will
  * be ignored, so pass NULL to it.
  *
- * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.5rc3
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.5
  */
 
 void PNGAPI
@@ -837,7 +837,7 @@
  * only call this function once.  If you desire to have an image for
  * each pass of a interlaced image, use png_read_rows() instead.
  *
- * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.5rc3
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.5
  */
 void PNGAPI
 png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index d88324a..c33b1cd 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrtran.c b/pngrtran.c
index ed02e10..3de9120 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrutil.c b/pngrutil.c
index d0a4964..9cbfed6 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngset.c b/pngset.c
index bc3465e..8e4e619 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngtest.c b/pngtest.c
index 1430f0f..cc8209e 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -121,10 +121,10 @@
 PNGAPI
 #endif
 read_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass);
+void
 #ifdef PNG_1_0_X
 PNGAPI
 #endif
-void
 read_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass)
 {
     if(png_ptr == NULL || row_number > PNG_MAX_UINT) return;
@@ -143,15 +143,15 @@
     fprintf(stdout, "r");
 }
 
+void
 #ifdef PNG_1_0_X
 PNGAPI
 #endif
-void
 write_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass);
+void
 #ifdef PNG_1_0_X
 PNGAPI
 #endif
-void
 write_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass)
 {
     if(png_ptr == NULL || row_number > PNG_MAX_UINT || pass > 7) return;
@@ -1538,4 +1538,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_5rc3 your_png_h_is_not_version_1_2_5rc3;
+typedef version_1_2_5 your_png_h_is_not_version_1_2_5;
diff --git a/pngtrans.c b/pngtrans.c
index 59bd606..f08fb4e 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,7 +1,7 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngvcrd.c b/pngvcrd.c
index cab9aa4..4f513eb 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
  *
  * For Intel x86 CPU and Microsoft Visual C++ compiler
  *
- * libpng version 1.2.5rc3 - September 18, 2002
+ * libpng version 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
diff --git a/pngwio.c b/pngwio.c
index e4f5e11..b39b414 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwrite.c b/pngwrite.c
index 17444bb..10c9ea4 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwtran.c b/pngwtran.c
index 1ce2a6d..c28da11 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwutil.c b/pngwutil.c
index 0ecaae5..4b5ab6c 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.2.5rc3 - September 18, 2002
+ * libpng 1.2.5 - October 3, 2002
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/projects/msvc/README.txt b/projects/msvc/README.txt
index 4a9c4e0..c680fd8 100644
--- a/projects/msvc/README.txt
+++ b/projects/msvc/README.txt
@@ -1,5 +1,5 @@
 Microsoft Developer Studio Build File, Format Version 6.00 for
-libpng 1.2.5rc3 (September 18, 2002) and zlib
+libpng 1.2.5 (October 3, 2002) and zlib
 
 Copyright (C) 2000 Simon-Pierre Cadieux
 For conditions of distribution and use, see copyright notice in png.h
diff --git a/projects/msvc/png32ms.def b/projects/msvc/png32ms.def
index 5917cfe..c995371 100644
--- a/projects/msvc/png32ms.def
+++ b/projects/msvc/png32ms.def
@@ -6,7 +6,7 @@
 DESCRIPTION "PNG image compression library for Windows"
 
 EXPORTS
-;Version 1.2.5rc3
+;Version 1.2.5
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
diff --git a/projects/netware.txt b/projects/netware.txt
index 3436ecb..178361d 100644
--- a/projects/netware.txt
+++ b/projects/netware.txt
@@ -1,6 +1,6 @@
 A set of project files is available for Netware.  Get
-libpng-1.2.5rc3-project-netware.zip from a libpng distribution
+libpng-1.2.5-project-netware.zip from a libpng distribution
 site such as http://libpng.sourceforge.net
 
 Put the zip file in this directory (projects) and then run
-"unzip -a libpng-1.2.5rc3-project-netware.zip"
+"unzip -a libpng-1.2.5-project-netware.zip"
diff --git a/projects/wince.txt b/projects/wince.txt
index 5a94b49..a1a26c0 100644
--- a/projects/wince.txt
+++ b/projects/wince.txt
@@ -1,6 +1,6 @@
 A set of project files is available for WinCE.  Get
-libpng-1.2.5rc3-project-wince.zip from a libpng distribution
+libpng-1.2.5-project-wince.zip from a libpng distribution
 site such as http://libpng.sourceforge.net
 
 Put the zip file in this directory (projects) and then run
-"unzip -a libpng-1.2.5rc3-project-wince.zip"
+"unzip -a libpng-1.2.5-project-wince.zip"
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index 3264b99..0f64fa4 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.2.5rc3
+version=1.2.5
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 2065d3a..32ed4a9 100644
--- a/scripts/libpng.pc.in
+++ b/scripts/libpng.pc.in
@@ -6,6 +6,6 @@
 
 Name: libpng12
 Description: Loads and saves PNG files
-Version: 1.2.5rc3
+Version: 1.2.5
 Libs: -L${libdir} -lpng12 -lz -lm
 Cflags: -I${includedir}/libpng12
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index 087c990..5bd0941 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -33,7 +33,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index 0f8a55f..a9b40f2 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -33,7 +33,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
@@ -84,7 +84,7 @@
 	echo L_opts=\"-L$(LIBPATH)\"; \
 	echo R_opts=\"-R$(LIBPATH)\"; \
 	echo ccopts=\"-xtarget=ultra -xarch=v9\"; \
-	echo ldopts=\"-xtarget=ultra -xarch=v9 \"; \
+	echo ldopts=\"-xtarget=ultra -xarch=v9\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 794f391..29cc6eb 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -16,8 +16,9 @@
 RANLIB = ranlib
 RM = rm -f
 
+LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
@@ -41,7 +42,8 @@
 LDDEBUG =
 CRELEASE = -O2
 LDRELEASE = -s
-CFLAGS = -I$(ZLIBINC) -Wall $(CRELEASE)
+WARNMORE=-Wall
+CFLAGS = -I$(ZLIBINC) $(WARNMORE) $(CRELEASE)
 LDFLAGS = -L. -L$(ZLIBLIB) -lpng -lz -lm $(LDRELEASE)
 
 # File extensions
@@ -57,17 +59,17 @@
 # Targets
 all: libpng$(A) pngtest$(E)
 
-libpng$(A): $(OBJS)
+$(LIBNAME)$(A): $(OBJS)
 	$(AR) $@ $(OBJS)
 	$(RANLIB) $@
 
 test: pngtest$(E)
 	./pngtest$(E)
 
-pngtest$(E): pngtest$(O) libpng$(A)
+pngtest$(E): pngtest$(O) $(LIBNAME)$(A)
 	$(LD) -o $@ pngtest$(O) $(LDFLAGS)
 
-install: libpng.a
+install: $(LIBNAME)$(A)
 	-@if [ ! -d $(DI)  ]; then mkdir $(DI); fi
 	-@if [ ! -d $(DI)/libpng  ]; then mkdir $(DI)/libpng; fi
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
@@ -75,12 +77,13 @@
 	-@rm $(DI)/pngconf.h
 	cp png.h pngconf.h $(DI)/libpng
 	chmod 644 $(DI)/libpng/png.h \
+	cp $(LIBNAME)$(A) $(DL)
+	(cd $(DL); ln -f -s $(LIBNAME)$(A) libpng$(A))
 	$(DI)/libpng/pngconf.h
-	(cd $(DI); ln -f -s libpng/* .)
-	cp libpng.a $(DL)
+	(cd $(DI); ln -f -s libpng/* .;)
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngout.png
+	/bin/rm -f *.o $(LIBNAME)$(A) pngtest pngout.png
 
 png$(O): png.h pngconf.h
 pngerror$(O): png.h pngconf.h
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 969975b..2609f03 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -12,7 +12,7 @@
 ZLIBINC=/usr/local/include
 
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 ALIGN=
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index bfc19b9..a282bef 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -79,7 +79,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 CYGDLL = 12
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index cde2154..b04044f 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -23,7 +23,7 @@
 RANLIB=ranlib
 
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -86,14 +86,15 @@
 $(LIBNAME).$(PNGVER).dylib: $(OBJSDLL)
 	$(CC) -dynamiclib \
 	 -install_name $(DL)/$(LIBNAME).$(PNGMAJ).dylib \
-	 -current_version $(PNGMIN) -compatibility_version $(PNGMIN) \
+	 -flat_namespace -undefined suppress \
 	 -o $(LIBNAME).$(PNGVER).dylib \
 	 $(OBJSDLL)
 
 libpng.3.$(PNGMIN).dylib: $(OBJSDLL)
 	$(CC) -dynamiclib \
 	 -install_name $(DL)/libpng.3.dylib \
-	 -current_version $(PNGMIN) -compatibility_version $(PNGMIN) \
+	 -current_version 3 -compatibility_version 3 \
+	 -flat_namespace -undefined suppress \
 	 -o libpng.3.$(PNGMIN).dylib \
 	 $(OBJSDLL)
 
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index b36da9c..5d7a11e 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -32,7 +32,7 @@
 ZLIBINC=../zlib
 
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 10dd44e..d0dfdd9 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -15,7 +15,7 @@
 
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=gcc
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 34476eb..f677308 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -1,4 +1,4 @@
-# makefile for libpng on HP-UX using GCC
+# makefile for libpng on HP-UX using GCC with the HP ANSI/C linker.
 # Copyright (C) 2002, Glenn Randers-Pehrson
 # Copyright (C) 2001, Laurent faillie
 # Copyright (C) 1998, 1999 Greg Roelofs
@@ -6,6 +6,7 @@
 # For conditions of distribution and use, see copyright notice in png.h
 
 CC=gcc
+LD=ld
 
 # where "make install" puts libpng.a, libpng.sl*, png.h and pngconf.h
 prefix=/usr/local
@@ -14,6 +15,13 @@
 ZLIBLIB=/opt/zlib/lib
 ZLIBINC=/opt/zlib/include
 
+# Note that if you plan to build a libpng shared library, zlib must also
+# be a shared library, which zlib's configure does not do.  After running
+# zlib's configure, edit the appropriate lines of makefile to read:
+#   CFLAGS=-O1 -DHAVE_UNISTD -DUSE_MAP -fPIC \
+#   LDSHARED=ld -b
+#   SHAREDLIB=libz.sl
+
 ALIGN=
 # for i386:
 #ALIGN=-malign-loops=2 -malign-functions=2
@@ -33,7 +41,7 @@
 #RANLIB=echo
 
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -92,11 +100,11 @@
 	ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ)
 
 $(LIBNAME).sl.$(PNGVER): $(OBJSDLL)
-	$(LD) +s \
+	$(LD) -b +s \
 	+h $(LIBNAME).sl.$(PNGMAJ) -o $(LIBNAME).sl.$(PNGVER) $(OBJSDLL)
 
 libpng.sl.3.$(PNGMIN): $(OBJSDLL)
-	$(LD) +s \
+	$(LD) -b +s \
 	+h libpng.sl.3 -o libpng.sl.3.$(PNGMIN) $(OBJSDLL)
 
 pngtest: pngtest.o $(LIBNAME).sl
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 2573f61..a9c4d35 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -1,4 +1,4 @@
-# makefile for libpng, HPUX (10.20 and 11.00)
+# makefile for libpng, HPUX (10.20 and 11.00) using the ANSI/C product.
 # Copyright (C) 1999-2002 Glenn Randers-Pehrson
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42
 # contributed by Jim Rice and updated by Chris Schleicher, Hewlett Packard
@@ -8,6 +8,13 @@
 ZLIBLIB=/opt/zlib/lib
 ZLIBINC=/opt/zlib/include
 
+# Note that if you plan to build a libpng shared library, zlib must also
+# be a shared library, which zlib's configure does not do.  After running
+# zlib's configure, edit the appropriate lines of makefile to read:
+#   CFLAGS=-O1 -DHAVE_UNISTD -DUSE_MAP -fPIC \
+#   LDSHARED=ld -b
+#   SHAREDLIB=libz.sl
+
 CC=cc
 CFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
 # Caution: be sure you have built zlib with the same CFLAGS.
@@ -17,7 +24,7 @@
 RANLIB=ranlib
 
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -67,7 +74,7 @@
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
 	echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
-	echo ccopts=\"-Ae +DA1.1 +DS2.0"; \
+	echo ccopts=\"-Ae +DA1.1 +DS2.0\"; \
 	echo L_opts=\"-L$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
 	cat scripts/libpng-config-body.in ) > libpng-config
@@ -80,12 +87,12 @@
 	ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ)
 
 $(LIBNAME).sl.$(PNGVER): $(OBJSDLL)
-	$(LD) +s \
+	$(LD) -b +s \
 	+h $(LIBNAME).sl.$(PNGMAJ) -o $(LIBNAME).sl.$(PNGVER) $(OBJSDLL)
 
 libpng.sl.3.$(PNGMIN): $(OBJSDLL)
-	$(LD) +s \
-	+h libpng.sl.3 o libpng.sl.3.$(PNGMIN) $(OBJSDLL)
+	$(LD) -b +s \
+	+h libpng.sl.3 -o libpng.sl.3.$(PNGMIN) $(OBJSDLL)
 
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index e8596ec..7ec8125 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -5,7 +5,7 @@
 
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=gcc
diff --git a/scripts/makefile.macosx b/scripts/makefile.macosx
index 7a3cbd0..e348ecf 100644
--- a/scripts/makefile.macosx
+++ b/scripts/makefile.macosx
@@ -17,13 +17,11 @@
 CC=cc
 
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CFLAGS=-fno-common -I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
-LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz
-LDSHARED=cc -lz -dynamiclib -compatibility_version $(PNGVER) \
--current_version $(PNGVER)
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -current_version $(PNGVER)
 
 LIBNAME=libpng12
 SHAREDLIB_POSTFIX=dylib
@@ -76,10 +74,11 @@
 	$(RANLIB) $@
 
 $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX): $(OBJS)
-	cc -dynamiclib -compatibility_version $(PNGMAJ) -o $@ $(OBJS)
+	cc -dynamiclib -flat_namespace -undefined suppress -o $@ $(OBJS)
 
 libpng.3.$(PNGMIN).$(SHAREDLIB_POSTFIX): $(OBJS)
-	cc -dynamiclib -compatibility_version 3 -o $@ $(OBJS)
+	cc -dynamiclib -compatibility_version 3 -flat_namespace \
+	-undefined suppress -o $@ $(OBJS)
 
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index ecd36b6..4cccc6d 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -13,7 +13,7 @@
 
 LIB=	png12
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.5rc3
+SHLIB_MINOR=	1.2.5
 SRCS=	pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 		pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 		pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index e7ffdf1..6b53c4e 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,7 +13,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.2.5rc3
+SHLIB_MINOR=	1.2.5
 SRCS=	pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 		pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 		pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 0e2594c..af94f40 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -7,7 +7,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.5rc3
+SHLIB_MINOR=	1.2.5
 
 LIB=	png
 SRCS=	png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 82ed35c..74068a2 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -24,7 +24,7 @@
 RANLIB=echo
 
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 8538082..082de1b 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -18,7 +18,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 CC=gcc
 
@@ -29,8 +29,10 @@
 WARNMORE= # -g -DPNG_DEBUG=5
 CFLAGS=$(ABI) -I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32
 LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
-LDSHARED=cc $(ABI) -shared -soname $(LIBNAME).so.$(PNGMAJ)
-LDLEGACY=cc $(ABI) -shared -soname libpng.so.3
+LDSHARED=cc $(ABI) -shared -soname $(LIBNAME).so.$(PNGMAJ) \
+  -set_version sgi$(PNGMAJ).0
+LDLEGACY=cc $(ABI) -shared -soname libpng.so.3 \
+  -set_version sgi$3.0
 # See "man dso" for info about shared objects
 
 RANLIB=echo
@@ -76,11 +78,10 @@
 	( 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 ccopts=\"$(ABI)\"; \
 	echo ldopts=\"$(ABI)\"; \
-	echo L_opts=\"-L$(LIBPATH) \"; \
-	echo libdir=\"$(LIBPATH) \"; \
+	echo L_opts=\"-L$(LIBPATH)\"; \
+	echo libdir=\"$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 88992c5..219b8ad 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -5,7 +5,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Where make install puts libpng.a, libpng12.so, and libpng12/png.h
@@ -30,11 +30,14 @@
 WARNMORE=-fullwarn
 # 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
+CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE) -DPNG_USE_PNGGCCRD \
+  -DPNG_NO_ASSEMBLER_CODE
 LDFLAGS_A=$(ABI) -L. -L$(ZLIBLIB) -lpng12 -lz -lm
 LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
-LDSHARED=cc $(ABI) -shared -soname $(LIBNAME).so.$(PNGMAJ)
-LDLEGACY=cc $(ABI) -shared -soname libpng.so.3
+LDSHARED=cc $(ABI) -shared -soname $(LIBNAME).so.$(PNGMAJ) \
+  -set_version sgi$(PNGMAJ).0
+LDLEGACY=cc $(ABI) -shared -soname libpng.so.3 \
+  -set_version sgi$3.0
 # See "man dso" for info about shared objects
 
 RANLIB=echo
@@ -83,8 +86,8 @@
 	echo cppflags=\"-DPNG_USE_PNGGCCRD -DPNG_NO_ASSEMBLER_CODE\"; \
 	echo ccopts=\"$(ABI)\"; \
 	echo ldopts=\"$(ABI)\"; \
-	echo L_opts=\"-L$(LIBPATH) \"; \
-	echo libdir=\"$(LIBPATH) \"; \
+	echo L_opts=\"-L$(LIBPATH)\"; \
+	echo libdir=\"$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index ad25816..f1ca807 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -34,7 +34,7 @@
 RANLIB=echo
 
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 5809239..9c5a844 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -30,7 +30,7 @@
 RANLIB=echo
 
 PNGMAJ = 0
-PNGMIN = 1.2.5rc3
+PNGMIN = 1.2.5
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 6f4c7ab..6e20683 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -7,7 +7,7 @@
 interface
 
 const
-  PNG_LIBPNG_VER_STRING = '1.2.5rc3';
+  PNG_LIBPNG_VER_STRING = '1.2.5';
   PNG_LIBPNG_VER        =  10205;
 
 type
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 006f2e4..3c4a3c8 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.2.5rc3
+; Version 1.2.5
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
