Imported from libpng-1.2.3rc4.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 1ed7a26..60964e6 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.2.3rc3 - May 1, 2002
+Libpng 1.2.3rc4 - May 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.
@@ -35,6 +35,12 @@
 version 1.2.3rc3 [May 1, 2002]
   Revised prototype for png_default_flush()
   Remove old libpng.pc and libpngNN.pc before installing new ones.
+version 1.2.3rc4 [May 3, 2002]
+  Typos in *.def files (png_default_read|write -> png_default_read|write_data)
+  In makefiles, changed rm libpng.NN.pc to rm libpngNN.pc
+  Added libpng-config and libpngNN-config and modified makefiles to install them.
+  Changed $(MANPATH) to $(DESTDIR)$(MANPATH) in makefiles
+  Added "Win32 DLL VB" configuration to projects/msvc/libpng.dsp
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index 0a48411..2db5724 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1100,6 +1100,12 @@
 version 1.2.3rc3 [May 1, 2002]
   Revised prototype for png_default_flush()
   Remove old libpng.pc and libpngNN.pc before installing new ones.
+version 1.2.3rc4 [May 3, 2002]
+  Typos in *.def files (png_default_read|write -> png_default_read|write_data)
+  In makefiles, changed rm libpng.NN.pc to rm libpngNN.pc
+  Added libpng-config and libpngNN-config and modified makefiles to install them.
+  Changed $(MANPATH) to $(DESTDIR)$(MANPATH) in makefiles
+  Added "Win32 DLL VB" configuration to projects/msvc/libpng.dsp
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index 660c810..c101bc7 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.3rc3 - May 1, 2002
+Installing libpng version 1.2.3rc4 - May 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.3rc3" or "lpng109" and "zlib-1.1.3"
+might be called "libpng-1.2.3rc4" 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 libpng12.so.0.1.2.3rc3)
- makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.3rc3,
+ makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.3rc4)
+ makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.3rc4,
                        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 libpng12.so.0.1.2.3rc3)
+ makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng12.so.0.1.2.3rc4)
  makefile.sunos    =>  Sun makefile
- makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.3rc3)
- makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.3rc3)
+ makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.3rc4)
+ makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.3rc4)
  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 ff483ff..ec5af30 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.2.3rc3
+Known bugs in libpng version 1.2.3rc4
 
 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
    reading interlaced PNG files, when assembler code is enabled.
diff --git a/LICENSE b/LICENSE
index a230f23..53783e3 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.3rc3, May 1, 2002, are
+libpng versions 1.0.7, July 1, 2000, through 1.2.3rc4, May 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
-May 1, 2002
+May 3, 2002
diff --git a/README b/README
index 8da1d42..43141e4 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.2.3rc3 - May 1, 2002 (shared library 2.1)
+README for libpng 1.2.3rc4 - May 3, 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 libpng12.so.0.1.2.3rc3)
+                            (gcc, creates libpng12.so.0.1.2.3rc4)
        makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
-                            libpng12.so.0.1.2.3rc3, uses assembler code
+                            libpng12.so.0.1.2.3rc4, 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.3rc3)
+       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng12.so.0.1.2.3rc4)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng12.so.0.1.2.3rc3)
+                            (gcc, creates libpng12.so.0.1.2.3rc4)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng12.so.0.1.2.3rc3)
+                            (gcc, creates libpng12.so.0.1.2.3rc4)
        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 8fba763..4c26cc6 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      May 1, 2002
+      May 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.3rc3 are Y2K compliant.  It is my belief that earlier
+      upward through 1.2.3rc4 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 254ac59..909705f 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 echo "
-  There is no \"configure\" script for Libpng-1.2.3rc3.  Instead, please
+  There is no \"configure\" script for Libpng-1.2.3rc4.  Instead, please
   copy the appropriate makefile for your system from the \"scripts\"
   directory.  Read the INSTALL file for more details.
 "
diff --git a/contrib/pngsuite/README b/contrib/pngsuite/README
new file mode 100644
index 0000000..714d12c
--- /dev/null
+++ b/contrib/pngsuite/README
@@ -0,0 +1,85 @@
+
+pngsuite
+--------
+(c) Willem van Schaik, 1999
+
+Permission to use, copy, and distribute these images for any purpose and
+without fee is hereby granted.
+
+These 15 images are part of the much larger PngSuite test-set of 
+images, available for developers of PNG supporting software. The 
+complete set, available at http:/www.schaik.com/pngsuite/, contains 
+a variety of images to test interlacing, gamma settings, ancillary
+chunks, etc.
+
+The images in this directory represent the basic PNG color-types:
+grayscale (1-16 bit deep), full color (8 or 16 bit), paletted
+(1-8 bit) and grayscale or color images with alpha channel. You
+can use them to test the proper functioning of PNG software.
+
+    filename      depth type
+    ------------ ------ --------------
+    basn0g01.png  1-bit grayscale
+    basn0g02.png  2-bit grayscale
+    basn0g04.png  4-bit grayscale
+    basn0g08.png  8-bit grayscale
+    basn0g16.png 16-bit grayscale
+    basn2c08.png  8-bit truecolor
+    basn2c16.png 16-bit truecolor
+    basn3p01.png  1-bit paletted
+    basn3p02.png  2-bit paletted
+    basn3p04.png  4-bit paletted
+    basn3p08.png  8-bit paletted
+    basn4a08.png  8-bit gray with alpha
+    basn4a16.png 16-bit gray with alpha
+    basn6a08.png  8-bit RGBA
+    basn6a16.png 16-bit RGBA
+
+Here is the correct result of typing "pngtest -m *.png" in
+this directory:
+
+Testing basn0g01.png: PASS (524 zero samples)
+ Filter 0 was used 32 times
+Testing basn0g02.png: PASS (448 zero samples)
+ Filter 0 was used 32 times
+Testing basn0g04.png: PASS (520 zero samples)
+ Filter 0 was used 32 times
+Testing basn0g08.png: PASS (3 zero samples)
+ Filter 1 was used 9 times
+ Filter 4 was used 23 times
+Testing basn0g16.png: PASS (1 zero samples)
+ Filter 1 was used 1 times
+ Filter 2 was used 31 times
+Testing basn2c08.png: PASS (6 zero samples)
+ Filter 1 was used 5 times
+ Filter 4 was used 27 times
+Testing basn2c16.png: PASS (592 zero samples)
+ Filter 1 was used 1 times
+ Filter 4 was used 31 times
+Testing basn3p01.png: PASS (512 zero samples)
+ Filter 0 was used 32 times
+Testing basn3p02.png: PASS (448 zero samples)
+ Filter 0 was used 32 times
+Testing basn3p04.png: PASS (544 zero samples)
+ Filter 0 was used 32 times
+Testing basn3p08.png: PASS (4 zero samples)
+ Filter 0 was used 32 times
+Testing basn4a08.png: PASS (32 zero samples)
+ Filter 1 was used 1 times
+ Filter 4 was used 31 times
+Testing basn4a16.png: PASS (64 zero samples)
+ Filter 0 was used 1 times
+ Filter 1 was used 2 times
+ Filter 2 was used 1 times
+ Filter 4 was used 28 times
+Testing basn6a08.png: PASS (160 zero samples)
+ Filter 1 was used 1 times
+ Filter 4 was used 31 times
+Testing basn6a16.png: PASS (1072 zero samples)
+ Filter 1 was used 4 times
+ Filter 4 was used 28 times
+libpng passes test
+
+Willem van Schaik
+<willem@schaik.com>
+October 1999
diff --git a/libpng.3 b/libpng.3
index 602c9d2..a42c5a1 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "May 1, 2002"
+.TH LIBPNG 3 "May 3, 2002"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc3
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc4
 .SH SYNOPSIS
 \fI\fB
 
@@ -787,7 +787,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.3rc3 - May 1, 2002
+ libpng version 1.2.3rc4 - May 3, 2002
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998-2002 Glenn Randers-Pehrson
@@ -3638,13 +3638,13 @@
 
 .SH IX. Y2K Compliance in libpng
 
-May 1, 2002
+May 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.3rc3 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.3rc4 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
@@ -3773,7 +3773,7 @@
  1.2.2rc1            12    10202  12.so.0.1.2.2rc1
  1.0.13              10    10013  10.so.0.1.0.13
  1.2.2               12    10202  12.so.0.1.2.2
- 1.2.3rc1-3          12    10203  12.so.0.1.2.3rc1-3
+ 1.2.3rc1-4          12    10203  12.so.0.1.2.3rc1-4
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3831,7 +3831,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.2.3rc3 - May 1, 2002:
+Libpng version 1.2.3rc4 - May 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).
 
@@ -3848,7 +3848,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.3rc3, May 1, 2002, are
+libpng versions 1.0.7, July 1, 2000, through 1.2.3rc4, May 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
@@ -3940,7 +3940,7 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-May 1, 2002
+May 3, 2002
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index 63b2048..9fa32a3 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.3rc3 - May 1, 2002
+ libpng version 1.2.3rc4 - May 3, 2002
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998-2002 Glenn Randers-Pehrson
@@ -2851,13 +2851,13 @@
 
 IX. Y2K Compliance in libpng
 
-May 1, 2002
+May 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.3rc3 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.3rc4 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 3e2f7ce..34d6914 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "May 1, 2002"
+.TH LIBPNGPF 3 "May 3, 2002"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc3
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc4
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 2379fca..6262312 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "May 1, 2002"
+.TH PNG 5 "May 3, 2002"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index a7e1f2c..09c1ec7 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng version 1.2.3rc3 - May 1, 2002
+ * libpng version 1.2.3rc4 - May 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_3rc3 Your_png_h_is_not_version_1_2_3rc3;
+typedef version_1_2_3rc4 Your_png_h_is_not_version_1_2_3rc4;
 
 /* 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.3rc3";
+const char png_libpng_ver[18] = "1.2.3rc4";
 
 /* png_sig was changed to a function in version 1.0.5c */
 /* Place to hold the signature string for a PNG file. */
@@ -663,7 +663,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.3rc3 - May 1, 2002\n\
+   return ((png_charp) "\n libpng version 1.2.3rc4 - May 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");
@@ -681,8 +681,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.3rc3");
-   return((png_charp) "1.2.3rc3");
+      return((png_charp) "1.2.3rc4");
+   return((png_charp) "1.2.3rc4");
 }
 
 png_charp PNGAPI
diff --git a/png.h b/png.h
index 6a58f0b..c7b5c8e 100644
--- a/png.h
+++ b/png.h
@@ -1,6 +1,6 @@
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.2.3rc3 - May 1, 2002
+ * libpng version 1.2.3rc4 - May 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.3rc3 - May 1, 2002: Glenn
+ *  libpng versions 0.97, January 1998, through 1.2.3rc4 - May 3, 2002: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -86,7 +86,7 @@
  *    1.2.2rc1                12    10202  12.so.0.1.2.2rc1
  *    1.0.13                  10    10013  10.so.0.1.0.13
  *    1.2.2                   12    10202  12.so.0.1.2.2
- *    1.2.3rc1-3              12    10203  12.so.0.1.2.3rc1-3
+ *    1.2.3rc1-4              12    10203  12.so.0.1.2.3rc1-4
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -116,7 +116,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.3rc3, May 1, 2002, are
+ * libpng versions 1.0.7, July 1, 2000, through 1.2.3rc4, May 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
@@ -221,13 +221,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    May 1, 2002
+ *    May 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.3rc3 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.2.3rc4 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
@@ -283,7 +283,7 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.3rc3"
+#define PNG_LIBPNG_VER_STRING "1.2.3rc4"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  %DLLNUM%
@@ -295,7 +295,7 @@
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
 
-#define PNG_LIBPNG_VER_BUILD  3
+#define PNG_LIBPNG_VER_BUILD  4
 
 #define PNG_LIBPNG_BUILD_ALPHA    1
 #define PNG_LIBPNG_BUILD_BETA     2
@@ -1263,9 +1263,9 @@
 
 
 /* This prevents a compiler error in png.c if png.c and png.h are both at
-   version 1.2.3rc3
+   version 1.2.3rc4
  */
-typedef png_structp version_1_2_3rc3;
+typedef png_structp version_1_2_3rc4;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -2411,7 +2411,7 @@
 /* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
 
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.3rc3 - May 1, 2002 (header)\n"
+   " libpng version 1.2.3rc4 - May 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 6891bad..09ad3a3 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.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 82deea7..d8ade57 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,6 +1,6 @@
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 5ab7cca..d0287af 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 8eff39b..4d43887 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.3rc3 - May 1, 2002
+ * libpng version 1.2.3rc4 - May 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 207730c..cb95587 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 1c71ca7..9f4a464 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 dab4411..532f833 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 3d50f45..efdcb59 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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)
@@ -795,7 +795,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.3rc3
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.3rc4
  */
 
 void PNGAPI
@@ -844,7 +844,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.3rc3
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.3rc4
  */
 void PNGAPI
 png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index 9c9e883..34fbd37 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 605574f..91db94a 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.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 14b8f82..84d7767 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 a7f5380..5332741 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 2091f30..4b5e004 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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)
@@ -1512,4 +1512,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_3rc3 your_png_h_is_not_version_1_2_3rc3;
+typedef version_1_2_3rc4 your_png_h_is_not_version_1_2_3rc4;
diff --git a/pngtrans.c b/pngtrans.c
index f933e42..6a95c39 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.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 21ff67d..05e3367 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
  *
  * For Intel x86 CPU and Microsoft Visual C++ compiler
  *
- * libpng version 1.2.3rc3 - May 1, 2002
+ * libpng version 1.2.3rc4 - May 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 6b28f55..5737fc7 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 20a4188..0638c09 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 750250e..a4c59c3 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.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 d9489bb..b80527c 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.2.3rc3 - May 1, 2002
+ * libpng 1.2.3rc4 - May 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 a64a2b2..4871f16 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.3rc3 (May 1, 2002) and zlib
+libpng 1.2.3rc4 (May 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/libpng.dsp b/projects/msvc/libpng.dsp
index fd9bb4f..586becc 100644
--- a/projects/msvc/libpng.dsp
+++ b/projects/msvc/libpng.dsp
@@ -24,6 +24,7 @@
 !MESSAGE "libpng - Win32 DLL Debug ASM" (based on "Win32 (x86) Dynamic-Link Library")
 !MESSAGE "libpng - Win32 LIB" (based on "Win32 (x86) Static Library")
 !MESSAGE "libpng - Win32 LIB Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "libpng - Win32 DLL VB" (based on "Win32 (x86) Dynamic-Link Library")
 !MESSAGE 
 
 # Begin Project
@@ -133,7 +134,7 @@
 MTL=midl.exe
 RSC=rc.exe
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /i "..\.." /d "_DEBUG" /d PNG_DEBUG=1  /d "PNG_USE_PNGVCRD"
+# ADD RSC /l 0x409 /i "..\.." /d "_DEBUG" /d PNG_DEBUG=1 /d "PNG_USE_PNGVCRD"
 BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
@@ -193,6 +194,36 @@
 # ADD BASE LIB32 /nologo
 # ADD LIB32 /nologo
 
+!ELSEIF  "$(CFG)" == "libpng - Win32 DLL VB"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "libpng___Win32_DLL_VB"
+# PROP BASE Intermediate_Dir "libpng___Win32_DLL_VB"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ".\win32\libpng\dll_vb"
+# PROP Intermediate_Dir ".\win32\libpng\dll_vb"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+CPP=cl.exe
+# ADD BASE CPP /nologo /MD /W3 /O1 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /Yu"png.h" /FD /c
+# ADD CPP /nologo /Gz /MD /W3 /O1 /I "..\.." /I "..\..\..\zlib" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PNG_BUILD_DLL" /D "ZLIB_DLL" /D PNGAPI=__stdcall /Yu"png.h" /FD /c
+MTL=midl.exe
+RSC=rc.exe
+# ADD BASE RSC /l 0x409 /i "..\.." /d "NDEBUG"
+# ADD RSC /l 0x409 /i "..\.." /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll\libpng12.dll"
+# SUBTRACT BASE LINK32 /pdb:none
+# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll_vb\libpngvb12.dll"
+# SUBTRACT LINK32 /pdb:none
+
 !ENDIF 
 
 # Begin Target
@@ -203,6 +234,7 @@
 # Name "libpng - Win32 DLL Debug ASM"
 # Name "libpng - Win32 LIB"
 # Name "libpng - Win32 LIB Debug"
+# Name "libpng - Win32 DLL VB"
 # Begin Group "Source Files"
 
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
@@ -231,6 +263,8 @@
 
 # PROP Exclude_From_Build 1
 
+!ELSEIF  "$(CFG)" == "libpng - Win32 DLL VB"
+
 !ENDIF 
 
 # End Source File
@@ -254,6 +288,8 @@
 
 # PROP Exclude_From_Build 1
 
+!ELSEIF  "$(CFG)" == "libpng - Win32 DLL VB"
+
 !ENDIF 
 
 # End Source File
@@ -322,6 +358,11 @@
 
 # PROP Exclude_From_Build 1
 
+!ELSEIF  "$(CFG)" == "libpng - Win32 DLL VB"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
 !ENDIF 
 
 # End Source File
@@ -361,7 +402,38 @@
 # Begin Source File
 
 SOURCE=.\readme.txt
+
+!IF  "$(CFG)" == "libpng - Win32 DLL"
+
 # PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "libpng - Win32 DLL Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "libpng - Win32 DLL ASM"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "libpng - Win32 DLL Debug ASM"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "libpng - Win32 LIB"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "libpng - Win32 LIB Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "libpng - Win32 DLL VB"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project
diff --git a/projects/msvc/png32ms.def b/projects/msvc/png32ms.def
index 6223214..3add00c 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.3rc3
+;Version 1.2.3rc4
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
@@ -216,7 +216,7 @@
   png_zalloc @195
   png_zfree @196
 ; Added at version 1.2.3
-  png_default_read @197
-  png_default_write @198
+  png_default_read_data @197
+  png_default_write_data @198
   png_default_flush @199
   png_push_fill_buffer @200
diff --git a/projects/netware.txt b/projects/netware.txt
index f5c01c1..cca1be3 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.3rc3-project-netware.zip from a libpng distribution
+libpng-1.2.3rc4-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.3rc3-project-netware.zip"
+"unzip -a libpng-1.2.3rc4-project-netware.zip"
diff --git a/projects/wince.txt b/projects/wince.txt
index bc94d95..39e57aa 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.3rc3-project-wince.zip from a libpng distribution
+libpng-1.2.3rc4-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.3rc3-project-wince.zip"
+"unzip -a libpng-1.2.3rc4-project-wince.zip"
diff --git a/scripts/libpng-config b/scripts/libpng-config
new file mode 100755
index 0000000..8d34e5b
--- /dev/null
+++ b/scripts/libpng-config
@@ -0,0 +1,92 @@
+#! /bin/sh
+
+# libpng12-config
+# provides configuration info for libpng12.
+
+# Copyright (C) 2002 Glenn Randers-Pehrson
+# For conditions of distribution and use, see copyright notice in png.h
+
+# Modeled after libxml-config, fixed to handle --prefix properly.
+
+prefix=/usr/local
+exec_prefix=${prefix}
+includedir=${prefix}/include
+
+usage()
+{
+    cat <<EOF
+Usage: libpng12-config [OPTION] ...
+
+Known values for OPTION are:
+
+  --prefix=DIR		change libpng12 prefix [default $prefix]
+  --libs		print library linking information
+  --cflags		print compiler flags
+  --cppflags		print pre-processor flags
+  --ldflags		print loader flags
+  --help		display this help and exit
+  --version		output version information
+EOF
+
+    exit $1
+}
+
+if test $# -eq 0; then
+    usage 1
+fi
+
+cflags=false
+cppflags=false
+ldflags=false
+libs=false
+
+while test $# -gt 0; do
+    case "$1" in
+    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+    *) optarg= ;;
+    esac
+
+    case "$1" in
+    --prefix=*)
+	prefix=$optarg
+	exec_prefix=${prefix}
+	includedir=${prefix}/include
+	;;
+
+    --prefix)
+	echo $prefix
+	;;
+
+    --version)
+	echo 1.2.3rc4
+	exit 0
+	;;
+
+    --help)
+	usage 0
+	;;
+
+    --cflags)
+        ;;
+
+    --cppflags)
+       	echo -I${includedir}/libpng12
+       	;;
+
+    --libs)
+       	echo -lpng12
+        ;;
+
+    --ldflags)
+       	echo -L${exec_prefix}/lib
+       	;;
+
+    *)
+	usage
+	exit 1
+	;;
+    esac
+    shift
+done
+
+exit 0
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 57e9189..0391f37 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.3rc3
+Version: 1.2.3rc4
 Libs: -L${libdir} -lpng12
 Cflags: -I${includedir}/libpng12
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index e023749..d4f689b 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -33,12 +33,13 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -134,24 +135,35 @@
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index 43ec1d7..d3bd96f 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -33,12 +33,13 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -134,24 +135,35 @@
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 4cbe899..8578515 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -19,7 +19,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 05a49fe..91aa204 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -14,7 +14,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 ALIGN=
@@ -40,6 +40,7 @@
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -123,24 +124,35 @@
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index 2a3dbee..5ccb0b3 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -52,7 +52,7 @@
 LIBNAME=libpng12
 PNGMAJ = 0
 PNGDLL = 12
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(PNGDLL).dll
@@ -74,8 +74,8 @@
 
 BINPATH=$(prefix)/bin
 MANPATH=$(prefix)/man
-MAN3PATH=$(MANPATH)/man3
-MAN5PATH=$(MANPATH)/man5
+MAN3PATH=$(DESTDIR)$(MANPATH)/man3
+MAN5PATH=$(DESTDIR)$(MANPATH)/man5
 
 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
@@ -149,8 +149,6 @@
 test-shared: pngtest$(EXE)
 	./pngtest
 
-install: install-static install-shared
-
 install-static: $(STATLIB) install-headers install-man
 	-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then mkdir -p $(DESTDIR)$(LIBPATH); fi
 	install -m 644 $(STATLIB) $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
@@ -162,7 +160,7 @@
 	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then mkdir -p $(DESTDIR)$(BINPATH); fi
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir -p $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	install -m 644 $(IMPLIB) $(DESTDIR)$(LIBPATH)/$(LIBNAME).dll.a
 	-@rm -f $(DESTDIR)$(LIBPATH)/$(IMPLIB)
@@ -172,8 +170,10 @@
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf libpng12.pc libpng.pc)
 
 install-headers:
-	-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then mkdir -p $(DESTDIR)$(INCPATH); fi
-	-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then mkdir -p $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
+	-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then \
+	mkdir -p $(DESTDIR)$(INCPATH); fi
+	-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
+	mkdir -p $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
 	-@rm -f $(DESTDIR)$(INCPATH)/png.h
 	-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
 	install -m 644 png.h pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
@@ -181,11 +181,24 @@
 	(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
 
 install-man:
-	-@if [ ! -d $(DESTDIR)$(MAN3PATH) ]; then mkdir -p $(DESTDIR)$(MAN3PATH); fi
-	-@if [ ! -d $(DESTDIR)$(MAN5PATH) ]; then mkdir -p $(DESTDIR)$(MAN5PATH); fi
+	-@if [ ! -d $(DESTDIR)$(MAN3PATH) ]; then \
+	mkdir -p $(DESTDIR)$(MAN3PATH); fi
+	-@if [ ! -d $(DESTDIR)$(MAN5PATH) ]; then \
+	mkdir -p $(DESTDIR)$(MAN5PATH); fi
 	install -m 644 libpngpf.3 libpng.3 $(DESTDIR)$(MAN3PATH)
 	install -m 644 png.5 $(DESTDIR)$(MAN5PATH)
 
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
+
 clean:
 	/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
 	pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF)
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index 9616064..9f042c5 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -25,13 +25,14 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -115,24 +116,35 @@
 	ln -sf $(LIBNAME).$(PNGMAJ).dylib $(LIBNAME).dylib)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	rm -f *.o libpng.a $(LIBNAME).*dylib pngtest pngout.png
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 753e239..f037bc1 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -8,6 +8,7 @@
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -28,7 +29,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -102,24 +103,35 @@
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest pngout.png
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 63f5845..df01c3c 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -15,7 +15,7 @@
 
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=gcc
@@ -63,6 +63,7 @@
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -161,24 +162,35 @@
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index eac0677..0cf4d79 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -35,13 +35,14 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -126,24 +127,35 @@
 	ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then mkdir \
 	$(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	/bin/rm -f *.o libpng.a $(SHAREDLIB).sl $(SHAREDLIB).sl.$(PNGMAJ)* \
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index db19154..ad43edc 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -19,7 +19,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -28,6 +28,7 @@
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -111,24 +112,35 @@
 	ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	/bin/rm -f *.o libpng.a $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)* \
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 285a03a..c5ff7a7 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -5,7 +5,7 @@
 
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=gcc
@@ -42,6 +42,7 @@
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -135,24 +136,35 @@
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then mkdir \
 	$(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNMAJ)* \
diff --git a/scripts/makefile.macosx b/scripts/makefile.macosx
index a2ce055..48ef7e3 100644
--- a/scripts/makefile.macosx
+++ b/scripts/makefile.macosx
@@ -17,7 +17,7 @@
 CC=cc
 
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CFLAGS=-fno-common -I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
@@ -30,6 +30,7 @@
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -111,24 +112,35 @@
 	$(LIBNAME).$(SHAREDLIB_POSTFIX))
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	rm -f *.o libpng.a pngtest pngout.png \
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index f6dac30..a1c61a4 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -13,7 +13,7 @@
 
 LIB=	png12
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.3rc3
+SHLIB_MINOR=	1.2.3rc4
 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 151f11c..3593dca 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,7 +13,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.2.3rc3
+SHLIB_MINOR=	1.2.3rc4
 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 829c13c..fdd830d 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -7,7 +7,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.3rc3
+SHLIB_MINOR=	1.2.3rc4
 
 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 f897bc1..c2c86cb 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -26,13 +26,14 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
 INCPATH=$(prefix)/include/libpng
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -119,24 +120,35 @@
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 
 clean:
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 96a0f34..766cfe3 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -36,7 +36,7 @@
 LDSHARED=CC $(ABI) -shared
 
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 # See "man dso" for info about shared objects
 LIBS=libpng12.so.$(PNGVER)
@@ -44,6 +44,7 @@
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib32
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -120,24 +121,35 @@
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	rm -f *.o libpng.a pngtest pngout.png
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 1f1fbd9..5cc3341 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -31,7 +31,7 @@
 # See "man dso" for info about shared objects
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 RANLIB=echo
@@ -41,6 +41,8 @@
 LIBPATH=$(prefix)/lib
 #LIBPATH=$(prefix)/lib32
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -115,25 +117,35 @@
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
 
+install: install-static install-shared install-man install-config
 
 clean:
 	rm -f *.o libpng.a pngtest pngout.png $(LIBNAME).so \
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index f97788e..4162eb6 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -36,13 +36,14 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -138,24 +139,35 @@
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then mkdir \
 	$(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 
 clean:
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 88b4247..1ed9922 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -32,13 +32,14 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.3rc3
+PNGMIN = 1.2.3rc4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
 MANPATH=$(prefix)/man
+BINPATH=$(prefix)/bin
 
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
@@ -134,24 +135,35 @@
 	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ))
 	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
 	mkdir $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.12.pc
+	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
 	cp libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	chmod 644 $(DESTDIR)$(LIBPATH)/pkgconfig/libpng12.pc
 	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -f -s libpng12.pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
-	-@if [ ! -d $(MANPATH) ]; then mkdir $(MANPATH); fi
-	-@if [ ! -d $(MANPATH)/man3 ]; then mkdir $(MANPATH)/man3; fi
-	-@/bin/rm -f $(MANPATH)/man3/libpng.3
-	-@/bin/rm -f $(MANPATH)/man3/libpngpf.3
-	cp libpng.3 $(MANPATH)/man3
-	cp libpngpf.3 $(MANPATH)/man3
-	-@if [ ! -d $(MANPATH)/man5 ]; then mkdir $(MANPATH)/man5; fi
-	-@/bin/rm -f $(MANPATH)/man5/png.5
-	cp png.5 $(MANPATH)/man5
+	-@if [ ! -d $(DESTDIR)$(MANPATH) ]; then mkdir $(DESTDIR)$(MANPATH); fi
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man3 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man3; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpng.3
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man3/libpngpf.3
+	cp libpng.3 $(DESTDIR)$(MANPATH)/man3
+	cp libpngpf.3 $(DESTDIR)$(MANPATH)/man3
+	-@if [ ! -d $(DESTDIR)$(MANPATH)/man5 ]; then \
+	mkdir $(DESTDIR)$(MANPATH)/man5; fi
+	-@/bin/rm -f $(DESTDIR)$(MANPATH)/man5/png.5
+	cp png.5 $(DESTDIR)$(MANPATH)/man5
 
-install: install-static install-shared install-man
+install-config: scripts/libpng-config
+	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
+	mkdir $(DESTDIR)$(BINPATH); fi
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng12-config
+	cp scripts/libpng-config $(DESTDIR)$(BINPATH)/libpng12-config
+	chmod 755 $(DESTDIR)$(BINPATH)/libpng12-config
+	(cd $(DESTDIR)$(BINPATH); ln -sf libpng12-config libpng-config)
+
+install: install-static install-shared install-man install-config
 
 clean:
 	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 7851a0e..2adf4cd 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -7,7 +7,7 @@
 interface
 
 const
-  PNG_LIBPNG_VER_STRING = '1.2.3rc3';
+  PNG_LIBPNG_VER_STRING = '1.2.3rc4';
   PNG_LIBPNG_VER        =  10203;
 
 type
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index b2a29d6..65449d7 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.2.3rc3
+; Version 1.2.3rc4
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
@@ -202,8 +202,8 @@
   png_zfree
 
 ; Added at version 1.2.3
-  png_default_read
-  png_default_write
+  png_default_read_data
+  png_default_write_data
   png_default_flush
   png_push_fill_buffer