[libpng10] Imported from libpng-1.0.15rc1.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index fb80b32..d0dd52d 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,54 +1,34 @@
 
-Libpng 1.0.14 - July 8, 2002
+Libpng 1.0.15rc1 - August 24, 2002
 
-This is a public release of libpng, intended for use in production codes.
+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.
 
-Changes since the last public release (1.0.13):
+Changes since the last public release (1.2.3):
 
-  Changed ${PNGMAJ}.${PNGVER} bug to ${PNGVER} in makefile.sgi and makefile.sggcc
-  Fixed VER -> PNGVER typo in makefile.macosx and added install-static to install
-  Added install: target to makefile.32sunu and makefile.64sunu
-  Revised 15 makefiles to link libpng.a to libpngNN.a and the include libpng
-    subdirectory to libpngNN subdirectory without the full pathname.
-  Moved generation of libpng.pc from "install" to "all" in 15 makefiles.
-  Added install-man target to 15 makefiles (Dimitri Papadopolous-Orfanos).
-  Added $(DESTDIR) feature to 24 makefiles (Tim Mooney)
-  Fixed bug with $prefix, should be $(prefix) in makefile.hpux.
-  Updated cygwin-specific portion of pngconf.h and revised makefile.cygwin
-  Added a link from libpngNN.pc to libpng.pc in 15 makefiles.
-  Added links from include/libpngNN/*.h to include/*.h in 24 makefiles.
-  Revised makefile.darwin to make relative links without full pathname.
-  Added setjmp() at the end of png_create_*_struct_2() in case user forgets
-    to put one in their application.
-  Fixed bug in reporting number of channels in pngget.c, introduced in
-    version 1.2.2
-  Added "libpng.pc" dependency to the "install-shared" target in 15 makefiles.
-  Remove old libpng.pc and libpngNN.pc before installing new ones.
-  Revised 15 makefiles to build libpng-config and libpngNN-config from
-    libpng-config-*.in.
-  Added "Win32 DLL VB" configuration to projects/msvc/libpng.dsp
-  Changed "error" and "message" in prototypes to "error_message" and
-    "warning_message" to avoid namespace conflict.
-  Restored png_zalloc and png_zfree to nonexported form as in libpng-1.2.1.
-  Removed description of png_set_mem_fn() from documentation.
-  Revised projects/msvc/README.txt
+version 1.2.4beta1 [May 24, 2002]
   Added libpng.pc and libpng-config to "all:" target in 16 makefiles.
   Fixed bug in 16 makefiles: $(DESTDIR)/$(LIBPATH) to $(DESTDIR)$(LIBPATH)
   Added missing "\" before closing double quote in makefile.gcmmx.
   Plugged various memory leaks; added png_malloc_warn() and png_set_text_2()
     functions.
+version 1.2.4beta2 [June 25, 2002]
   Plugged memory leak of png_ptr->current_text (Matt Holgate).
   Check for buffer overflow before reading CRC in pngpread.c (Warwick Allison)
   Added -soname to the loader flags in makefile.dec, makefile.sgi, and
     makefile.sggcc.
   Added "test-installed" targets to makefile.linux, makefile.gcmmx,
-    makefile.sgi, makefile.sggcc, makefile.32sunu, makefile.64sunu,
-    makefile.beos, makefile.darwin, makefile.dec, makefile.macosx, 
-    makefile.solaris, makefile.sco, makefile.cygwin, makefile.hpux,
-    makefile.hpgcc, and makefile.so9.
+    makefile.sgi, and makefile.sggcc.
+version 1.2.4beta3 [June 28, 2002]
   Plugged memory leak of row_buf in pngtest.c when there is a png_error().
   Detect buffer overflow in pngpread.c when IDAT is corrupted with extra data.
+  Added "test-installed" target to makefile.32sunu, makefile.64sunu,
+    makefile.beos, makefile.darwin, makefile.dec, makefile.macosx, 
+    makefile.solaris, makefile.hpux, makefile.hpgcc, and makefile.so9.
+version 1.2.4beta3 [July 2, 2002]
+  Added "test-installed" target to makefile.cygwin and makefile.sco.
   Revised pnggccrd.c to be able to back out version 1.0.x via PNG_1_0_X macro.
+version 1.0.15rc1 [August 24, 2002]
   Changed png_warning() to png_error() when width is too large to process.
 
 Send comments/corrections/commendations to
diff --git a/CHANGES b/CHANGES
index 6233c0e..9bd5df4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1144,11 +1144,28 @@
   Added "test-installed" target to makefile.32sunu, makefile.64sunu,
     makefile.beos, makefile.darwin, makefile.dec, makefile.macosx, 
     makefile.solaris, makefile.hpux, makefile.hpgcc, and makefile.so9.
-version 1.2.4rc1 [July 2, 2002]
+version 1.2.4rc1 and 1.0.14rc1 [July 2, 2002]
   Added "test-installed" target to makefile.cygwin and makefile.sco.
   Revised pnggccrd.c to be able to back out version 1.0.x via PNG_1_0_X macro.
-version 1.0.14 [July 8, 2002]
+version 1.2.4 and 1.0.14 [July 8, 2002]
   Changed png_warning() to png_error() when width is too large to process.
+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.
+  Changed png_error() to png_warning() about "Too much data" in pngpread.c
+    and about "Extra compressed data" in pngrutil.c.
+  Prevent png_ptr->pass from exceeding 7 in png_push_finish_row().
+  Updated makefile.hpgcc
+  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.
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index 7450db3..0c83209 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.0.14 - July 8, 2002
+Installing libpng version 1.0.15rc1 - August 24, 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.0.14" or "lpng109" and "zlib-1.1.3"
+might be called "libpng-1.0.15rc1" or "lpng109" and "zlib-1.1.3"
 or "zlib113") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
@@ -64,8 +64,8 @@
 include
 
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
- makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng10.so.0.1.0.14)
- makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng10.so.0.1.0.14,
+ makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng10.so.0.1.0.15rc1)
+ makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng10.so.0.1.0.15rc1,
                        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
@@ -86,10 +86,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 libpng10.so.0.1.0.14)
+ makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng10.so.0.1.0.15rc1)
  makefile.sunos    =>  Sun makefile
- makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng10.so.0.1.0.14)
- makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng10.so.0.1.0.14)
+ makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng10.so.0.1.0.15rc1)
+ makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng10.so.0.1.0.15rc1)
  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 34452c6..a59af0a 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.0.14
+Known bugs in libpng version 1.0.15rc1
 
 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 f0b6cab..485caad 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.0.14, July 8, 2002, are
+libpng versions 1.0.7, July 1, 2000, through 1.0.15rc1, August 24, 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
-July 8, 2002
+August 24, 2002
diff --git a/README b/README
index cb7e40b..a736969 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.0.14 - July 8, 2002 (shared library 2.1)
+README for libpng 1.0.15rc1 - August 24, 2002 (shared library 2.1)
 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 libpng10.so.0.1.0.14)
+                            (gcc, creates libpng10.so.0.1.0.15rc1)
        makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
-                            libpng10.so.0.1.0.14, uses assembler code
+                            libpng10.so.0.1.0.15rc1, 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 libpng10.so.0.1.0.14)
+       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng10.so.0.1.0.15rc1)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng10.so.0.1.0.14)
+                            (gcc, creates libpng10.so.0.1.0.15rc1)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng10.so.0.1.0.14)
+                            (gcc, creates libpng10.so.0.1.0.15rc1)
        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 3da50dc..b7789d9 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      July 8, 2002
+      August 24, 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.0.14 are Y2K compliant.  It is my belief that earlier
+      upward through 1.0.15rc1 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 f9fd7f3..bb57be1 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 echo "
-  There is no \"configure\" script for Libpng-1.0.14.  Instead, please
+  There is no \"configure\" script for Libpng-1.0.15rc1.  Instead, please
   copy the appropriate makefile for your system from the \"scripts\"
   directory.  Read the INSTALL file for more details.
 "
diff --git a/contrib/gregbook/toucan.png b/contrib/gregbook/toucan.png
index 26c932b..03960d4 100644
--- a/contrib/gregbook/toucan.png
+++ b/contrib/gregbook/toucan.png
Binary files differ
diff --git a/libpng.3 b/libpng.3
index dd6444a..5f2999c 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "July 8, 2002"
+.TH LIBPNG 3 "August 24, 2002"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.14
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.15rc1
 .SH SYNOPSIS
 \fI\fB
 
@@ -761,7 +761,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.14 - July 8, 2002
+ libpng version 1.0.15rc1 - August 24, 2002
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998-2002 Glenn Randers-Pehrson
@@ -3490,13 +3490,13 @@
 
 .SH VII. Y2K Compliance in libpng
 
-July 8, 2002
+August 24, 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.0.14 are Y2K compliant.  It is my belief that earlier
+upward through 1.0.15rc1 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
@@ -3631,6 +3631,8 @@
  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.0.15rc1           10    10015  10.so.0.1.0.15rc1
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3688,7 +3690,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.0.14 - July 8, 2002:
+Libpng version 1.0.15rc1 - August 24, 2002:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
 
@@ -3705,7 +3707,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.0.7, July 1, 2000, through 1.0.14, July 8, 2002, are
+libpng versions 1.0.7, July 1, 2000, through 1.0.15rc1, August 24, 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
@@ -3797,7 +3799,7 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-July 8, 2002
+August 24, 2002
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index 67ca249..d1e6317 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.0.14 - July 8, 2002
+ libpng version 1.0.15rc1 - August 24, 2002
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998-2002 Glenn Randers-Pehrson
@@ -2729,13 +2729,13 @@
 
 VII. Y2K Compliance in libpng
 
-July 8, 2002
+August 24, 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.0.14 are Y2K compliant.  It is my belief that earlier
+upward through 1.0.15rc1 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 3f56b29..ffdf60c 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "July 8, 2002"
+.TH LIBPNGPF 3 "August 24, 2002"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.14
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.15rc1
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index c3c7e80..4a8771c 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "July 8, 2002"
+.TH PNG 5 "August 24, 2002"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 3efcce9..41b2f2b 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng version 1.0.14 - July 8, 2002
+ * libpng version 1.0.15rc1 - August 24, 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_0_14 Your_png_h_is_not_version_1_0_14;
+typedef version_1_0_15rc1 Your_png_h_is_not_version_1_0_15rc1;
 
 /* 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.0.14";
+const char png_libpng_ver[18] = "1.0.15rc1";
 
 /* 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.0.14 - July 8, 2002\n\
+   return ((png_charp) "\n libpng version 1.0.15rc1 - August 24, 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.0.14");
-   return((png_charp) "1.0.14");
+      return((png_charp) "1.0.15rc1");
+   return((png_charp) "1.0.15rc1");
 }
 
 png_charp PNGAPI
@@ -740,7 +740,7 @@
 png_access_version_number(void)
 {
    /* Version of *.c files used when building libpng */
-   return((png_uint_32) 10014L);
+   return((png_uint_32) 10015L);
 }
 
 
@@ -758,7 +758,7 @@
 
     png_ptr->asm_flags |= PNG_ASM_FLAG_MMX_SUPPORT_COMPILED;
 
-    if (png_mmx_support()) {
+    if (png_mmx_support() > 0) {
         png_ptr->asm_flags |= PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU
 #    ifdef PNG_HAVE_ASSEMBLER_COMBINE_ROW
                               | PNG_ASM_FLAG_MMX_READ_COMBINE_ROW
diff --git a/png.h b/png.h
index d60a4dd..67e6fbd 100644
--- a/png.h
+++ b/png.h
@@ -1,6 +1,6 @@
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.0.14 - July 8, 2002
+ * libpng version 1.0.15rc1 - August 24, 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.0.14 - July 8, 2002: Glenn
+ *  libpng versions 0.97, January 1998, through 1.0.15rc1 - August 24, 2002: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -93,6 +93,8 @@
  *    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.0.15rc1               10    10015  10.so.0.1.0.15rc1
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -122,7 +124,7 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.0.7, July 1, 2000, through 1.0.14, July 8, 2002, are
+ * libpng versions 1.0.7, July 1, 2000, through 1.0.15rc1, August 24, 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
@@ -227,13 +229,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    July 8, 2002
+ *    August 24, 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.0.14 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.0.15rc1 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
@@ -289,7 +291,7 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.14"
+#define PNG_LIBPNG_VER_STRING "1.0.15rc1"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  %DLLNUM%
@@ -297,11 +299,11 @@
 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
 #define PNG_LIBPNG_VER_MAJOR   1
 #define PNG_LIBPNG_VER_MINOR   0
-#define PNG_LIBPNG_VER_RELEASE 14
+#define PNG_LIBPNG_VER_RELEASE 15
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
 
-#define PNG_LIBPNG_VER_BUILD  0
+#define PNG_LIBPNG_VER_BUILD  1
 
 #define PNG_LIBPNG_BUILD_ALPHA    1
 #define PNG_LIBPNG_BUILD_BETA     2
@@ -309,14 +311,14 @@
 #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 4
+#define PNG_LIBPNG_BUILD_TYPE 3
 
 /* Careful here.  At one time, Guy wanted to use 082, but that would be octal.
  * We must not include leading zeros.
  * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
  * version 1.0.0 was mis-numbered 100 instead of 10000).  From
  * version 1.0.1 it's    xxyyzz, where x=major, y=minor, z=release */
-#define PNG_LIBPNG_VER 10014 /* 1.0.14 */
+#define PNG_LIBPNG_VER 10015 /* 1.0.15 */
 
 #ifndef PNG_VERSION_INFO_ONLY
 
@@ -1279,9 +1281,9 @@
 
 
 /* This prevents a compiler error in png.c if png.c and png.h are both at
-   version 1.0.14
+   version 1.0.15rc1
  */
-typedef png_structp version_1_0_14;
+typedef png_structp version_1_0_15rc1;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -2421,7 +2423,7 @@
 /* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
 
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.0.14 - July 8, 2002 (header)\n"
+   " libpng version 1.0.15rc1 - August 24, 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 badf894..f3a9bc8 100644
--- a/pngasmrd.h
+++ b/pngasmrd.h
@@ -1,6 +1,6 @@
 /* pngasmrd.h - assembler version of utilities to read a PNG file
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 6fa77c4..4c3061f 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,6 +1,6 @@
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 db88ec3..0bf595a 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 2887823..a4c7390 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.0.14 - July 8, 2002
+ * libpng version 1.0.15rc1 - August 24, 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
@@ -5075,7 +5075,9 @@
 
    if (_mmx_supported == 2) {
        /* this should have happened in png_init_mmx_flags() already */
+#if !defined(PNG_1_0_X)
        png_warning(png_ptr, "asm_flags may not have been initialized");
+#endif
        png_mmx_support();
    }
 #endif /* PNG_ASSEMBLER_CODE_SUPPORTED */
@@ -5345,13 +5347,13 @@
         "pushl %%ecx          \n\t"  // save original Eflag to stack
         "popfl                \n\t"  // restore original Eflag
         "xorl %%ecx, %%eax    \n\t"  // compare new Eflag with original Eflag
-        "jz .NOT_SUPPORTED    \n\t"  // if same, CPUID instr. is not supported
+        "jz 0f                \n\t"  // if same, CPUID instr. is not supported
 
         "xorl %%eax, %%eax    \n\t"  // set eax to zero
 //      ".byte  0x0f, 0xa2    \n\t"  // CPUID instruction (two-byte opcode)
         "cpuid                \n\t"  // get the CPU identification info
         "cmpl $1, %%eax       \n\t"  // make sure eax return non-zero value
-        "jl .NOT_SUPPORTED    \n\t"  // if eax is zero, MMX is not supported
+        "jl 0f                \n\t"  // if eax is zero, MMX is not supported
 
         "xorl %%eax, %%eax    \n\t"  // set eax to zero and...
         "incl %%eax           \n\t"  // ...increment eax to 1.  This pair is
@@ -5359,14 +5361,14 @@
         "cpuid                \n\t"  // get the CPU identification info again
         "andl $0x800000, %%edx \n\t" // mask out all bits but MMX bit (23)
         "cmpl $0, %%edx       \n\t"  // 0 = MMX not supported
-        "jz .NOT_SUPPORTED    \n\t"  // non-zero = yes, MMX IS supported
+        "jz 0f                \n\t"  // non-zero = yes, MMX IS supported
 
         "movl $1, %%eax       \n\t"  // set return value to 1
-        "jmp  .RETURN         \n\t"  // DONE:  have MMX support
+        "jmp  1f              \n\t"  // DONE:  have MMX support
 
-    ".NOT_SUPPORTED:          \n\t"  // target label for jump instructions
+    "0:                       \n\t"  // .NOT_SUPPORTED: target label for jump instructions
         "movl $0, %%eax       \n\t"  // set return value to 0
-    ".RETURN:          \n\t"  // target label for jump instructions
+    "1:                       \n\t"  // .RETURN: target label for jump instructions
         "movl %%eax, _mmx_supported \n\t" // save in global static variable, too
         "popl %%edx           \n\t"  // restore edx
         "popl %%ecx           \n\t"  // restore ecx
diff --git a/pngget.c b/pngget.c
index dd7038f..aff79b3 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 78f806a..66595bf 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 b8baa59..06ee7ac 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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)
@@ -668,8 +668,8 @@
          save_size = png_ptr->save_buffer_size;
 
       png_calculate_crc(png_ptr, png_ptr->save_buffer_ptr, save_size);
-      png_process_IDAT_data(png_ptr, png_ptr->save_buffer_ptr, save_size);
-
+      if (!(png_ptr->flags & PNG_FLAG_ZLIB_FINISHED))
+         png_process_IDAT_data(png_ptr, png_ptr->save_buffer_ptr, save_size);
       png_ptr->idat_size -= save_size;
       png_ptr->buffer_size -= save_size;
       png_ptr->save_buffer_size -= save_size;
@@ -690,7 +690,8 @@
          save_size = png_ptr->current_buffer_size;
 
       png_calculate_crc(png_ptr, png_ptr->current_buffer_ptr, save_size);
-      png_process_IDAT_data(png_ptr, png_ptr->current_buffer_ptr, save_size);
+      if (!(png_ptr->flags & PNG_FLAG_ZLIB_FINISHED))
+        png_process_IDAT_data(png_ptr, png_ptr->current_buffer_ptr, save_size);
 
       png_ptr->idat_size -= save_size;
       png_ptr->buffer_size -= save_size;
@@ -707,6 +708,7 @@
 
       png_crc_finish(png_ptr, 0);
       png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+      png_ptr->mode |= PNG_AFTER_IDAT;
    }
 }
 
@@ -752,7 +754,12 @@
              (!png_ptr->interlaced &&
 #endif
              png_ptr->row_number == png_ptr->num_rows-1))
-           png_error(png_ptr, "Too much data in IDAT chunks");
+         {
+           if (png_ptr->zstream.avail_in)
+             png_warning(png_ptr, "Too much data in IDAT chunks");
+           png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED;
+           break;
+         }
          png_push_process_row(png_ptr);
          png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
          png_ptr->zstream.next_out = png_ptr->row_buf;
@@ -987,6 +994,8 @@
              (png_ptr->pass == 5 && png_ptr->width < 2))
            png_ptr->pass++;
 
+         if (png_ptr->pass > 7)
+            png_ptr->pass--;
          if (png_ptr->pass >= 7)
             break;
 
diff --git a/pngread.c b/pngread.c
index 018b922..638a269 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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.0.14
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.15rc1
  */
 
 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.0.14
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.15rc1
  */
 void PNGAPI
 png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index f03f328..128e202 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 fbe2d2c..7580b0e 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 f59e35a..fdc45df 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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)
@@ -2883,7 +2883,7 @@
          {
             if (!(png_ptr->zstream.avail_out) || png_ptr->zstream.avail_in ||
                png_ptr->idat_size)
-               png_error(png_ptr, "Extra compressed data");
+               png_warning(png_ptr, "Extra compressed data");
             png_ptr->mode |= PNG_AFTER_IDAT;
             png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED;
             break;
@@ -2893,14 +2893,19 @@
                       "Decompression Error");
 
          if (!(png_ptr->zstream.avail_out))
-            png_error(png_ptr, "Extra compressed data");
+         {
+            png_warning(png_ptr, "Extra compressed data.");
+            png_ptr->mode |= PNG_AFTER_IDAT;
+            png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED;
+            break;
+         }
 
       }
       png_ptr->zstream.avail_out = 0;
    }
 
    if (png_ptr->idat_size || png_ptr->zstream.avail_in)
-      png_error(png_ptr, "Extra compression data");
+      png_warning(png_ptr, "Extra compression data");
 
    inflateReset(&png_ptr->zstream);
 
diff --git a/pngset.c b/pngset.c
index 5d43720..7231763 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 156e3d0..f8a5382 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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)
@@ -1538,4 +1538,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_14 your_png_h_is_not_version_1_0_14;
+typedef version_1_0_15rc1 your_png_h_is_not_version_1_0_15rc1;
diff --git a/pngtrans.c b/pngtrans.c
index 8f883a1..eb75fe8 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.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 939ada9..ccaafa4 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
  *
  * For Intel x86 CPU and Microsoft Visual C++ compiler
  *
- * libpng version 1.0.14 - July 8, 2002
+ * libpng version 1.0.15rc1 - August 24, 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 005e51c..c61440b 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 dda6998..92b51b3 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 2eeb294..8bf222e 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 d08af9f..5effea3 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.0.14 - July 8, 2002
+ * libpng 1.0.15rc1 - August 24, 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 d5e6edf..affeb79 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.0.14 (July 8, 2002) and zlib
+libpng 1.0.15rc1 (August 24, 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 1130342..eadfe92 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.0.14
+;Version 1.0.15rc1
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
diff --git a/projects/netware.txt b/projects/netware.txt
index 6323b3c..d80c43c 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.0.14-project-netware.zip from a libpng distribution
+libpng-1.0.15rc1-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.0.14-project-netware.zip"
+"unzip -a libpng-1.0.15rc1-project-netware.zip"
diff --git a/projects/wince.txt b/projects/wince.txt
index 0be6ef9..57a6b07 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.0.14-project-wince.zip from a libpng distribution
+libpng-1.0.15rc1-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.0.14-project-wince.zip"
+"unzip -a libpng-1.0.15rc1-project-wince.zip"
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index ed66ca9..3968673 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.0.14
+version=1.0.15rc1
 prefix=""
 cppflags=""
 cflags=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index e4b3ce3..fa505f9 100644
--- a/scripts/libpng.pc.in
+++ b/scripts/libpng.pc.in
@@ -6,6 +6,6 @@
 
 Name: libpng10
 Description: Loads and saves PNG files
-Version: 1.0.14
+Version: 1.0.15rc1
 Libs: -L${libdir} -lpng10 -lz -lm
 Cflags: -I${includedir}/libpng10
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index 11277fa..9db201c 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -33,7 +33,7 @@
 
 LIBNAME=libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
@@ -108,6 +108,10 @@
 	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBNAME).so.$(PNGMAJ) \
 	 -o $(LIBNAME).so.$(PNGVER) $(OBJSDLL) -lz
 
+libpng.so.2.$(PNGMIN): $(OBJS)
+	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h libpng.so.2 \
+	 -o libpng.so.2.$(PNGMIN)  $(OBJSDLL) -lz
+
 pngtest: pngtest.o $(LIBNAME).so
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -130,18 +134,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGVER)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -f -s libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -f -s libpng.so.2 libpng.so; \
 	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig
@@ -185,8 +191,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
-	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
+	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
+	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
+	libpng.so.2.$(PNGMIN) \
+	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index 9c377ec..97fe95e 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -33,7 +33,7 @@
 
 LIBNAME=libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
@@ -108,6 +108,10 @@
 	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBNAME).so.$(PNGMAJ) \
 	 -o $(LIBNAME).so.$(PNGVER) $(OBJSDLL) -lz
 
+libpng.so.2.$(PNGMIN): $(OBJSDLL)
+	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h libpng.so.2 \
+	 -o libpng.so.2.$(PNGMIN)  $(OBJSDLL) -lz
+
 pngtest: pngtest.o $(LIBNAME).so
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -130,18 +134,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ).$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGVER)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -f -s libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -f -s libpng.so.2 libpng.so; \
 	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -185,8 +191,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
-	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
+	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
+	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
+	libpng.so.2.$(PNGMIN) \
+	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 9d7c8e0..7bc9755 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -17,7 +17,7 @@
 RM = rm -f
 
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index e72a41b..463298e 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -12,7 +12,7 @@
 ZLIBINC=/usr/local/include
 
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 ALIGN=
@@ -92,9 +92,12 @@
 	ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
 
 $(LIBNAME).so.$(PNGVER): $(OBJSDLL)
-	$(CC) -L$(ZLIBLIB) -lz -nostart -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) -o
-$(LIBNAME).so.$(PNGVER) \
-	 $(OBJSDLL)
+	$(CC) -L$(ZLIBLIB) -lz -nostart -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) -o \
+	$(LIBNAME).so.$(PNGVER) $(OBJSDLL)
+
+libpng.so.2.$(PNGMIN): $(OBJSDLL)
+	$(CC) -L$(ZLIBLIB) -lz -nostart -Wl,-soname,libpng.so.2 -o \
+	libpng.so.2.$(PNGMIN) $(OBJSDLL)
 
 pngtest: pngtest.o $(LIBNAME).so
 	$(CC) -L$(ZLIBLIB) -lz -lpng10 -o pngtest pngtest.o
@@ -118,18 +121,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGMIN)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -sf libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -sf libpng.so.2 libpng.so; \
 	ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -171,8 +176,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtesti
+	/bin/rm -f *.o libpng.a pngtest pngout.png libpng-config \
+	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtesti \
+	libpng.so.2.$(PNGMIN) \
+	libpng.pc
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index dae82cb..2909477 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -78,11 +78,11 @@
 
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGDLL = 10
-PNGMIN = 1.0.14
+CYGDLL = 10
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
-SHAREDLIB=cygpng$(PNGDLL).dll
+SHAREDLIB=cygpng$(CYGDLL).dll
 STATLIB=libpng.a
 IMPLIB=libpng.dll.a
 SHAREDDEF=libpng.def
@@ -150,7 +150,7 @@
 	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"\"; \
 	echo ldflags=\"-L$(LIBPATH)\"; \
-	echo libs=\"-lpng$(PNGMAJ) -lz\"; \
+	echo libs=\"-lpng$(CYGDLL) -lz\"; \
 	cat $(S)/scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index 23ce2bd..dfbc1f8 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -23,7 +23,7 @@
 RANLIB=ranlib
 
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng10
 
@@ -91,6 +91,13 @@
 	 -o $(LIBNAME).$(PNGVER).dylib \
 	 $(OBJSDLL) -L$(ZLIBLIB) -lz
 
+libpng.2.$(PNGMIN).dylib: $(OBJSDLL)
+	$(CC) -dynamiclib \
+	 -install_name $(DL)/libpng.2.dylib \
+	 -current_version $(PNGMIN) -compatibility_version $(PNGMIN) \
+	 -o libpng.2.$(PNGMIN).dylib \
+	 $(OBJSDLL) -L$(ZLIBLIB) -lz
+
 pngtest: pngtest.o $(LIBNAME).dylib
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -113,19 +120,21 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).dylib libpng.pc
+install-shared: install-headers $(LIBNAME).dylib libpng.pc \
+	libpng.2.$(PNGMIN).dylib
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).$(PNGMAJ)*.dylib
+	-@/bin/rm -f $(DL)/$(LIBNAME).$(PNGVER)*.dylib
 	-@/bin/rm -f $(DL)/$(LIBNAME).dylib
 	-@/bin/rm -f $(DL)/libpng.dylib
-	-@/bin/rm -f $(DL)/libpng.3.dylib
-	-@/bin/rm -f $(DL)/libpng.3.*.dylib
+	-@/bin/rm -f $(DL)/libpng.2.dylib
+	-@/bin/rm -f $(DL)/libpng.2.$(PNGMIN)*.dylib
 	cp $(LIBNAME).$(PNGVER).dylib $(DL)
+	cp libpng.2.$(PNGMIN).dylib $(DL)
 	chmod 755 $(DL)/$(LIBNAME).$(PNGVER).dylib
+	chmod 755 $(DL)/libpng.2.$(PNGMIN).dylib
 	(cd $(DL); \
-	ln -sf $(LIBNAME).$(PNGVER).dylib libpng.dylib; \
-	ln -sf $(LIBNAME).$(PNGVER).dylib libpng.3.dylib; \
-	ln -sf $(LIBNAME).$(PNGVER).dylib libpng.3.$(PNGMIN).dylib; \
+	ln -sf libpng.2.$(PNGMIN).dylib libpng.2.dylib; \
+	ln -sf libpng.2.dylib libpng.dylib; \
 	ln -sf $(LIBNAME).$(PNGVER).dylib $(LIBNAME).$(PNGMAJ).dylib; \
 	ln -sf $(LIBNAME).$(PNGMAJ).dylib $(LIBNAME).dylib)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -167,8 +176,9 @@
 	./pngtesti pngtest.png
 
 clean:
-	rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
-	$(LIBNAME).*dylib pngtesti
+	rm -f *.o libpng.a pngtest pngout.png libpng-config \
+	libpng.2.$(PNGMIN).dylib \
+	libpng.pc $(LIBNAME).*dylib pngtesti
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 83c6a70..6ec0db9 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -32,7 +32,7 @@
 ZLIBINC=../zlib
 
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng10
 
@@ -76,6 +76,10 @@
 	$(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB)
 	-soname $(LIBNAME).so.$(PNGMAJ) -lz -lm
 
+libpng.so.2.$(PNGMIN): $(OBJS)
+	$(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB)
+	-soname libpng.so.2 -lz -lm
+
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -98,18 +102,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGMIN)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -f -s libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -f -s libpng.so.2 libpng.so; \
 	ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -153,8 +159,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
-	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
+	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
+	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
+	libpng.so.2.$(PNGMIN) \
+	libpng.pc
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 117f80b..e495bc1 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -15,7 +15,7 @@
 
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=gcc
@@ -129,6 +129,10 @@
 	-o $(LIBNAME).so.$(PNGVER) \
 	$(OBJSDLL) -L$(ZLIBLIB) -lz -lm -lc
 
+libpng.so.2.$(PNGMIN): $(OBJSDLL)
+	$(CC) -shared -Wl,-soname,libpng.so.2 \
+	-o libpng.so.2.$(PNGMIN) \
+
 pngtest: pngtest.o $(LIBNAME).so
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -161,18 +165,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGMIN)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -sf libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -sf libpng.so.2 libpng.so; \
 	ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -214,8 +220,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti
+	/bin/rm -f *.o libpng.a pngtest pngout.png libpng-config \
+	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti \
+	libpng.so.2.$(PNGMIN) \
+	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 129a026..42f4361 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -7,7 +7,7 @@
 
 CC=gcc
 
-# where "make install" puts libpng.a, libpng.so*, png.h and pngconf.h
+# where "make install" puts libpng.a, libpng.sl*, png.h and pngconf.h
 prefix=/usr/local
 
 # Where the zlib library and include files are located
@@ -33,7 +33,7 @@
 #RANLIB=echo
 
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng10
 
@@ -88,14 +88,18 @@
 	chmod +x libpng-config
 
 $(LIBNAME).sl: $(LIBNAME).sl.$(PNGMAJ)
-	ln -f -s $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl
+	ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl
 
 $(LIBNAME).sl.$(PNGMAJ): $(LIBNAME).sl.$(PNGVER)
-	ln -f -s $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ)
+	ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ)
 
 $(LIBNAME).sl.$(PNGVER): $(OBJSDLL)
 	$(LD) -b -L$(ZLIBLIB) +s +b $(ZLIBLIB) \
-	+h libpng.sl.$(PNGMAJ) -o libpng.sl.$(PNGVER) $(OBJSDLL) -lz
+	+h $(LIBNAME).sl.$(PNGMAJ) -o $(LIBNAME).sl.$(PNGVER) $(OBJSDLL) -lz
+
+libpng.sl.2.$(PNGMIN): $(OBJSDLL)
+	$(LD) -b -L$(ZLIBLIB) +s +b $(ZLIBLIB) \
+	+h libpng.sl.2 -o libpng.sl.2.$(PNGMIN) $(OBJSDLL) -lz
 
 pngtest: pngtest.o $(LIBNAME).sl
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -120,22 +124,23 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc \
+	libpng.sl.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGMAJ)* $(DL)/$(LIBNAME).sl
-	-@/bin/rm -f $(DL)/libpng.so
-	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGVER)* $(DL)/$(LIBNAME).sl
+	-@/bin/rm -f $(DL)/libpng.sl
+	-@/bin/rm -f $(DL)/libpng.sl.2
+	-@/bin/rm -f $(DL)/libpng.sl.2.$(PNGMIN)*
 	cp $(LIBNAME).sl.$(PNGVER) $(DL)
+	cp libpng.sl.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).sl.$(PNGVER)
+	chmod 755 $(DL)/libpng.sl.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl.3; \
-	ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl.3.$(PNGMIN); \
+	ln -sf libpng.sl.2.$(PNGMIN) libpng.sl.2; \
+	ln -sf libpng.sl.2 libpng.sl; \
 	ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
 	ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
-	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir \
-	$(DL)/pkgconfig; fi
+	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
 	-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
 	-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
 	cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
@@ -176,12 +181,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
-	libpng-config $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)*
-
-clean:
-	/bin/rm -f *.o libpng.a $(SHAREDLIB).sl $(SHAREDLIB).sl.$(PNGMAJ)* \
-	pngtest pngout.png
+	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
+	libpng-config $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)* \
+	libpng.sl.2.$(PNGMIN) \
+	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 3a6323b..c50403a 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -17,7 +17,7 @@
 RANLIB=ranlib
 
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng10
 
@@ -57,7 +57,7 @@
 all: libpng.a $(LIBNAME).sl pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
-	ar rc $@  $(OBJS)
+	ar rc $@ $(OBJS)
 	$(RANLIB) $@
 
 libpng.pc:
@@ -81,8 +81,11 @@
 
 $(LIBNAME).sl.$(PNGVER): $(OBJSDLL)
 	$(LD) -b -L$(ZLIBLIB) +s +b $(ZLIBLIB) \
-	+h $(LIBNAME).sl.$(PNGMAJ) -o $(LIBNAME).sl.$(PNGVER) \
-	$(OBJSDLL) -lz
+	+h $(LIBNAME).sl.$(PNGMAJ) -o $(LIBNAME).sl.$(PNGVER) $(OBJSDLL) -lz
+
+libpng.sl.2.$(PNGMIN): $(OBJSDLL)
+	$(LD) -b -L$(ZLIBLIB) +s +b $(ZLIBLIB) \
+	+h libpng.sl.2 o libpng.sl.2.$(PNGMIN) $(OBJSDLL) -lz
 
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
@@ -106,18 +109,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc \
+	libpng.sl.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGMAJ)* $(DL)/$(LIBNAME).sl
+	-@/bin/rm -f $(DL)/$(LIBNAME).sl.$(PNGVER)* $(DL)/$(LIBNAME).sl
 	-@/bin/rm -f $(DL)/libpng.sl
-	-@/bin/rm -f $(DL)/libpng.sl.3
-	-@/bin/rm -f $(DL)/libpng.sl.3.*
+	-@/bin/rm -f $(DL)/libpng.sl.2
+	-@/bin/rm -f $(DL)/libpng.sl.2.$(PNGMIN)*
 	cp $(LIBNAME).sl.$(PNGVER) $(DL)
+	cp libpng.sl.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).sl.$(PNGVER)
+	chmod 755 $(DL)/libpng.sl.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl; \
-	ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl.3; \
-	ln -sf $(LIBNAME).sl.$(PNGVER) libpng.sl.3.$(PNGMIN); \
+	ln -sf libpng.sl.2.$(PNGMIN) libpng.sl.2; \
+	ln -sf libpng.sl.2 libpng.sl; \
 	ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
 	ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -161,8 +166,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
-	libpng-config $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)*
+	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
+	libpng-config $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)* \
+	libpng.sl.2.$(PNGMIN) \
+	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 550b7cc..3ba7ab6 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -5,7 +5,7 @@
 
 LIBNAME = libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=gcc
@@ -101,6 +101,11 @@
 	-o $(LIBNAME).so.$(PNGVER) \
 	$(OBJSDLL) -L$(ZLIBLIB) -lz -lm -lc
 
+libpng.so.2.$(PNGMIN): $(OBJSDLL)
+	$(CC) -shared -Wl,-soname,libpng.so.2 \
+	-o libpng.so.2.$(PNGMIN) \
+	$(OBJSDLL) -L$(ZLIBLIB) -lz -lm -lc
+
 pngtest: pngtest.o $(LIBNAME).so
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -133,18 +138,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGMIN)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -sf libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -sf libpng.so.2 libpng.so; \
 	ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -186,8 +193,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti
+	/bin/rm -f *.o libpng.a pngtest pngout.png libpng-config \
+	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti \
+	libpng.so.2.$(PNGMIN) \
+	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.macosx b/scripts/makefile.macosx
index 1051236..3f24d04 100644
--- a/scripts/makefile.macosx
+++ b/scripts/makefile.macosx
@@ -17,7 +17,7 @@
 CC=cc
 
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CFLAGS=-fno-common -I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
@@ -79,6 +79,9 @@
 $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX): $(OBJS)
 	$(LDSHARED) -o $@ $(OBJS)
 
+libpng.2.$(PNGMIN).$(SHAREDLIB_POSTFIX): $(OBJS)
+	$(LDSHARED) -o $@ $(OBJS)
+
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -101,23 +104,27 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) libpng.pc
+install-shared: install-headers $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) \
+	libpng.pc libpng.2.$(PNGMIN).$(SHAREDLIB_POSTFIX)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
 	-@/bin/rm -f \
-	$(DL)/$(LIBNAME).$(PNGMAJ)*.$(SHAREDLIB_POSTFIX)
+	$(DL)/$(LIBNAME).$(PNGVER)*.$(SHAREDLIB_POSTFIX)
 	-@/bin/rm -f $(DL)/$(LIBNAME).$(SHAREDLIB_POSTFIX)
 	-@/bin/rm -f libpng.$(SHARED_POSTFIX)
-	-@/bin/rm -f libpng.3.$(SHARED_POSTFIX)
-	-@/bin/rm -f libpng.3.*.$(SHARED_POSTFIX)
+	-@/bin/rm -f libpng.2.$(SHARED_POSTFIX)
+	-@/bin/rm -f libpng.2.$(PNGMIN)*.$(SHARED_POSTFIX)
+	cp libpng.2.$(PNGMIN).$(SHAREDLIB_POSTFIX) $(DL)
 	cp $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX)
+	chmod 755 $(DL)/libpng.2.$(PNGMIN).$(SHAREDLIB_POSTFIX)
 	(cd $(DL); \
+	ln -f -s libpng.2.$(PNGMIN).$(SHARED_POSTFIX) \
+	libpng.2.$(SHARED_POSTFIX); \
+	ln -f -s libpng.2.$(SHARED_POSTFIX) libpng.$(SHARED_POSTFIX); \
 	ln -f -s $(LIBNAME).$(PNGVER).$(SHARED_POSTFIX) \
 	libpng.$(SHARED_POSTFIX); \
-	ln -f -s $(LIBNAME).$(PNGVER).$(SHARED_POSTFIX) \
-	libpng.3.$(SHARED_POSTFIX); \
-	ln -f -s $(LIBNAME).$(PNGVER).$(SHARED_POSTFIX) \
-	libpng.3.$(PNGMIN).$(SHARED_POSTFIX); \
+	ln -f -s libpng.2.$(PNGMIN).$(SHARED_POSTFIX) \
+	libpng.2.$(SHARED_POSTFIX); \
 	ln -f -s $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) \
 	$(LIBNAME).$(PNGMAJ).$(SHAREDLIB_POSTFIX); \
 	ln -f -s $(LIBNAME).$(PNGMAJ).$(SHAREDLIB_POSTFIX) \
@@ -161,9 +168,11 @@
 	./pngtesti pngtest.png
 
 clean:
-	rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
+	rm -f *.o libpng.a pngtest pngout.png libpng-config \
 	$(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) \
-	$(LIBNAME).$(SHAREDLIB_POSTFIX)
+	$(LIBNAME).$(SHAREDLIB_POSTFIX) \
+	libpng.2.$(PNGMIN).$(SHAREDLIB_POSTFIX) \
+	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.ne10bsd b/scripts/makefile.ne10bsd
index 1a036fe..ad266a3 100644
--- a/scripts/makefile.ne10bsd
+++ b/scripts/makefile.ne10bsd
@@ -13,7 +13,7 @@
 
 LIB=	png10
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.0.14
+SHLIB_MINOR=	1.0.15rc1
 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.ne12bsd b/scripts/makefile.ne12bsd
deleted file mode 100644
index 1a036fe..0000000
--- a/scripts/makefile.ne12bsd
+++ /dev/null
@@ -1,44 +0,0 @@
-# makefile for libpng for NetBSD for the standard
-# make obj && make depend && make && make test
-# make includes && make install
-# Copyright (C) 2002 Patrick R.L. Welche
-# For conditions of distribution and use, see copyright notice in png.h
-
-# You should also run makefile.netbsd
-
-LOCALBASE?=/usr/local
-LIBDIR=	${LOCALBASE}/lib
-MANDIR= ${LOCALBASE}/man
-INCSDIR=${LOCALBASE}/include/libpng10
-
-LIB=	png10
-SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.0.14
-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
-INCS=	png.h pngconf.h
-MAN=	libpng.3 libpngpf.3 png.5
-
-CPPFLAGS+=-I${.CURDIR} -DPNG_USE_PNGGCCRD
-
-# something like this for mmx assembler, but it core dumps for me at the moment
-# .if ${MACHINE_ARCH} == "i386"
-#   CPPFLAGS+=-DPNG_THREAD_UNSAFE_OK
-#   MKLINT= no
-# .else
-    CPPFLAGS+=-DPNG_NO_ASSEMBLER_CODE
-# .endif
-
-CLEANFILES+=pngtest.o pngtest
-
-pngtest.o:	pngtest.c
-	${CC} -c ${CPPFLAGS} ${CFLAGS} ${.ALLSRC} -o ${.TARGET}
-
-pngtest:	pngtest.o libpng.a
-	${CC} ${LDFLAGS} ${.ALLSRC} -o${.TARGET} -lz -lm
-
-test:	pngtest
-	cd ${.CURDIR} && ${.OBJDIR}/pngtest
-
-.include <bsd.lib.mk>
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 22cfd71..23e3361 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,7 +13,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	2
-SHLIB_MINOR=	1.0.14
+SHLIB_MINOR=	1.0.15rc1
 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 f6a3e76..d7bc386 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -7,7 +7,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.0.14
+SHLIB_MINOR=	1.0.15rc1
 
 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 67e1d62..77284a0 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -24,7 +24,7 @@
 RANLIB=echo
 
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng10
 
@@ -88,6 +88,10 @@
 	$(CC) -G  -Wl,-h,$(LIBNAME).so.$(PNGMAJ) -o $(LIBNAME).so.$(PNGVER) \
 	 $(OBJSDLL)
 
+libpng.so.2.$(PNGMIN): $(OBJSDLL)
+	$(CC) -G  -Wl,-h,libpng.so.2 -o libpng.so.2.$(PNGMIN) \
+	$(OBJSDLL)
+
 pngtest: pngtest.o $(LIBNAME).so
 	LD_RUN_PATH=.:$(ZLIBLIB) $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -112,18 +116,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGMIN)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -f -s libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -f -s libpng.so.2 libpng.so; \
 	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -165,12 +171,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti
-
-
-clean:
-	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest pngout.png
+	/bin/rm -f *.o libpng.a pngtest pngout.png libpng-config \
+	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti \
+	libpng.so.2.$(PNGMIN) \
+	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 031b03e..0ecfba0 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -18,7 +18,7 @@
 
 LIBNAME=libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 CC=gcc
 
@@ -30,6 +30,7 @@
 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.2
 # See "man dso" for info about shared objects
 
 RANLIB=echo
@@ -69,8 +70,7 @@
 shared: $(LIBNAME).so.$(PNGVER)
 
 libpng.pc:
-	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > \
-	libpng.pc
+	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
 
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
@@ -78,8 +78,8 @@
 	echo cppflags=\"-I$(INCPATH)/$(LIBNAME) -DPNG_USE_PNGGCCRD \
 		-DPNG_NO_ASSEMBLER_CODE\"; \
 	echo cflags=\"$(ABI)\"; \
-	echo ldflags=\"-L$(LIBPATH)\"; \
-	echo rpath=\"$(LIBPATH)\"; \
+	echo ldflags=\"-L$(LIBPATH) \"; \
+	echo rpath=\"$(LIBPATH) \"; \
 	echo libs=\"-lpng10 -lz -lm\"; \
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
@@ -94,6 +94,9 @@
 	$(LDSHARED) -o $@ $(OBJS)
 	rm -f $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)
 
+libpng.so.2.$(PNGMIN): $(OBJS)
+	$(LDLEGACY) -o $@ $(OBJS)
+
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -118,18 +121,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGMIN)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -sf libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -sf libpng.so.2 libpng.so; \
 	ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -164,17 +169,19 @@
 # move the library to its final location.
 
 test-installed:
+	echo
+	echo Testing installed dynamic shared library.
 	$(CC) -I$(ZLIBINC) \
 	   `$(BINPATH)/libpng10-config --cppflags --cflags` pngtest.c \
 	   -L$(ZLIBLIB) -rpath $(ZLIBLIB):`$(BINPATH)/libpng10-config --rpath` \
 	   -o pngtesti `$(BINPATH)/libpng10-config --ldflags --libs`
-	echo
-	echo Testing installed dynamic shared library.
 	./pngtesti pngtest.png
 
 clean:
-	rm -f *.o libpng.a pngtest pngout.png libpng.pc libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* so_locations
+	rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
+	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
+	libpng.so.2.$(PNGMIN) \
+	so_locations
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 9c586fe..738e7aa 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -5,7 +5,7 @@
 
 LIBNAME=libpng10
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Where make install puts libpng.a, libpng10.so, and libpng10/png.h
@@ -34,6 +34,7 @@
 LDFLAGS_A=$(ABI) -L. -L$(ZLIBLIB) -lpng10 -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.2
 # See "man dso" for info about shared objects
 
 RANLIB=echo
@@ -81,7 +82,8 @@
 	echo cppflags=\"-I$(INCPATH)/$(LIBNAME) -DPNG_USE_PNGGCCRD \
 		-DPNG_NO_ASSEMBLER_CODE\"; \
 	echo cflags=\"$(ABI)\"; \
-	echo ldflags=\"-L$(LIBPATH) -rpath $(LIBPATH) \"; \
+	echo ldflags=\"-L$(LIBPATH) \"; \
+	echo rpath=\"$(LIBPATH) \"; \
 	echo libs=\"-lpng10 -lz -lm\"; \
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
@@ -96,6 +98,9 @@
 	$(LDSHARED) -o $@ $(OBJS)
 	rm -f $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)
 
+libpng.so.2.$(PNGMIN): $(OBJS)
+	$(LDLEGACY) -o $@ $(OBJS)
+
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -120,18 +125,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGMIN)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -sf $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -sf libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -sf libpng.so.2 libpng.so; \
 	ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -170,13 +177,15 @@
 	echo Testing installed dynamic shared library.
 	$(CC) -I$(ZLIBINC) \
 	   `$(BINPATH)/libpng10-config --cppflags --cflags` pngtest.c \
-	   -L$(ZLIBLIB) -rpath $(ZLIBLIB) \
+	   -L$(ZLIBLIB) -rpath $(ZLIBLIB):`$(BINPATH)/libpng10-config --rpath` \
 	   -o pngtesti `$(BINPATH)/libpng10-config --ldflags --libs`
 	./pngtesti pngtest.png
 
 clean:
 	rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* so_locations
+	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
+	libpng.so.2.$(PNGMIN) \
+	so_locations
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 1921934..fb97e90 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -34,7 +34,7 @@
 RANLIB=echo
 
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng10
 
@@ -110,6 +110,10 @@
 	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBNAME).so.$(PNGMAJ) \
 	 -o $(LIBNAME).so.$(PNGVER) $(OBJSDLL) -lz
 
+libpng.so.2.$(PNGMIN): $(OBJS)
+	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h libpng.so.2 \
+	 -o libpng.so.2.$(PNGMIN) $(OBJSDLL) -lz
+
 pngtest: pngtest.o $(LIBNAME).so
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -132,18 +136,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGMIN)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -f -s libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -f -s libpng.so.2 libpng.so; \
 	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -187,8 +193,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
-	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
+	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
+	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
+	libpng.so.2.$(PNGMIN) \
+	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index d6e0838..6802895 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -30,7 +30,7 @@
 RANLIB=echo
 
 PNGMAJ = 0
-PNGMIN = 1.0.14
+PNGMIN = 1.0.15rc1
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng10
 
@@ -107,6 +107,10 @@
 	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBNAME).so.$(PNGMAJ) \
 	 -o $(LIBNAME).so.$(PNGVER) $(OBJSDLL) -lz
 
+libpng.so.2.$(PNGMIN): $(OBJS)
+	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h libpng.so.2 \
+	 -o libpng.so.2.$(PNGMIN) $(OBJSDLL) -lz
+
 pngtest: pngtest.o $(LIBNAME).so
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
@@ -129,18 +133,20 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); ln -f -s $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc
+install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
+	libpng.so.2.$(PNGMIN)
 	-@if [ ! -d $(DL) ]; then mkdir $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)* $(DL)/$(LIBNAME).so
+	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
 	-@/bin/rm -f $(DL)/libpng.so
 	-@/bin/rm -f $(DL)/libpng.so.2
-	-@/bin/rm -f $(DL)/libpng.so.2.*
+	-@/bin/rm -f $(DL)/libpng.so.2.$(PNGMIN)*
 	cp $(LIBNAME).so.$(PNGVER) $(DL)
+	cp libpng.so.2.$(PNGMIN) $(DL)
 	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
+	chmod 755 $(DL)/libpng.so.2.$(PNGMIN)
 	(cd $(DL); \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so; \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.2; \
-	ln -f -s $(LIBNAME).so.$(PNGVER) libpng.so.2.$(PNGMIN); \
+	ln -f -s libpng.so.2.$(PNGMIN) libpng.so.2; \
+	ln -f -s libpng.so.2 libpng.so; \
 	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so; \
 	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ))
 	-@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi
@@ -184,8 +190,10 @@
 	./pngtesti pngtest.png
 
 clean:
-	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png libpng.pc \
-	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)*
+	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
+	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
+	libpng.so.2.$(PNGMIN) \
+	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 67d68c4..8f29507 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -7,8 +7,8 @@
 interface
 
 const
-  PNG_LIBPNG_VER_STRING = '1.0.14';
-  PNG_LIBPNG_VER        =  10014;
+  PNG_LIBPNG_VER_STRING = '1.0.15rc1';
+  PNG_LIBPNG_VER        =  10015;
 
 type
   png_uint_32 = Cardinal;
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index c0ca619..dddd557 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.0.14
+; Version 1.0.15rc1
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"