diff --git a/ANNOUNCE b/ANNOUNCE
index d70508e..6d3b5e0 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.2.3rc5 - May 11, 2002
+Libpng 1.2.3rc6 - May 13, 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.
@@ -48,6 +48,11 @@
   Once more restored png_zalloc and png_zfree to nonexported form.
   Restored png_default_read|write_data, png_default_flush, png_read_fill_buffer
     to nonexported form, but with PNGAPI, and removed them from module def files.
+version 1.2.3rc6 [May 13, 2002]
+  Removed "PNGAPI" from png_zalloc() and png_zfree() in png.c
+  Changed "Gz" to "Gd" in projects/msvc/libpng.dsp and zlib.dsp.
+  Removed leftover libpng-config "sed" script from four makefiles.
+  Revised libpng-config creating script in 16 makefiles.
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index f7158b6..03f3861 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1113,6 +1113,11 @@
   Once more restored png_zalloc and png_zfree to regular nonexported form.
   Restored png_default_read|write_data, png_default_flush, png_read_fill_buffer
     to nonexported form, but with PNGAPI, and removed them from module def files.
+version 1.2.3rc6 [May 13, 2002]
+  Removed "PNGAPI" from png_zalloc() and png_zfree() in png.c
+  Changed "Gz" to "Gd" in projects/msvc/libpng.dsp and zlib.dsp.
+  Removed leftover libpng-config "sed" script from four makefiles.
+  Revised libpng-config creating script in 16 makefiles.
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index 791c767..feef582 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.3rc5 - May 11, 2002
+Installing libpng version 1.2.3rc6 - May 13, 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.3rc5" or "lpng109" and "zlib-1.1.3"
+might be called "libpng-1.2.3rc6" 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.3rc5)
- makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.3rc5,
+ makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.3rc6)
+ makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng12.so.0.1.2.3rc6,
                        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.3rc5)
+ makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng12.so.0.1.2.3rc6)
  makefile.sunos    =>  Sun makefile
- makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.3rc5)
- makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.3rc5)
+ makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng12.so.0.1.2.3rc6)
+ makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng12.so.0.1.2.3rc6)
  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 258ac12..cb004fc 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.2.3rc5
+Known bugs in libpng version 1.2.3rc6
 
 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 dd306b9..a335c26 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.3rc5, May 11, 2002, are
+libpng versions 1.0.7, July 1, 2000, through 1.2.3rc6, May 13, 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 11, 2002
+May 13, 2002
diff --git a/README b/README
index 0374bf0..42394ed 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.2.3rc5 - May 11, 2002 (shared library 2.1)
+README for libpng 1.2.3rc6 - May 13, 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.3rc5)
+                            (gcc, creates libpng12.so.0.1.2.3rc6)
        makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
-                            libpng12.so.0.1.2.3rc5, uses assembler code
+                            libpng12.so.0.1.2.3rc6, 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.3rc5)
+       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng12.so.0.1.2.3rc6)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng12.so.0.1.2.3rc5)
+                            (gcc, creates libpng12.so.0.1.2.3rc6)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng12.so.0.1.2.3rc5)
+                            (gcc, creates libpng12.so.0.1.2.3rc6)
        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 f0a7493..2645cad 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      May 11, 2002
+      May 13, 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.3rc5 are Y2K compliant.  It is my belief that earlier
+      upward through 1.2.3rc6 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 5b99d75..9ae7862 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 echo "
-  There is no \"configure\" script for Libpng-1.2.3rc5.  Instead, please
+  There is no \"configure\" script for Libpng-1.2.3rc6.  Instead, please
   copy the appropriate makefile for your system from the \"scripts\"
   directory.  Read the INSTALL file for more details.
 "
diff --git a/libpng.3 b/libpng.3
index fcf1d25..5a25d6b 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "May 11, 2002"
+.TH LIBPNG 3 "May 13, 2002"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc5
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc6
 .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.3rc5 - May 11, 2002
+ libpng version 1.2.3rc6 - May 13, 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 11, 2002
+May 13, 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.3rc5 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.3rc6 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,8 @@
  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-5          12    10203  12.so.0.1.2.3rc1-5
+ 1.2.3rc1-6          12    10203  12.so.0.1.2.3rc1-6
+ 1.2.3               12    10203  12.so.0.1.2.3
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3831,7 +3832,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.2.3rc5 - May 11, 2002:
+Libpng version 1.2.3rc6 - May 13, 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 +3849,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.3rc5, May 11, 2002, are
+libpng versions 1.0.7, July 1, 2000, through 1.2.3rc6, May 13, 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 +3941,7 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-May 11, 2002
+May 13, 2002
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index 4ea4fa8..4576a7a 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.3rc5 - May 11, 2002
+ libpng version 1.2.3rc6 - May 13, 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 11, 2002
+May 13, 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.3rc5 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.3rc6 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 85faadc..baaee49 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "May 11, 2002"
+.TH LIBPNGPF 3 "May 13, 2002"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc5
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.3rc6
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 704952a..20bc55a 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "May 11, 2002"
+.TH PNG 5 "May 13, 2002"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 188f687..f004f9e 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng version 1.2.3rc5 - May 11, 2002
+ * libpng version 1.2.3rc6 - May 13, 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_3rc5 Your_png_h_is_not_version_1_2_3rc5;
+typedef version_1_2_3rc6 Your_png_h_is_not_version_1_2_3rc6;
 
 /* 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.3rc5";
+const char png_libpng_ver[18] = "1.2.3rc6";
 
 /* png_sig was changed to a function in version 1.0.5c */
 /* Place to hold the signature string for a PNG file. */
@@ -135,7 +135,7 @@
 }
 
 /* Function to allocate memory for zlib and clear it to 0. */
-voidpf PNGAPI
+voidpf /* private */
 png_zalloc(voidpf png_ptr, uInt items, uInt size)
 {
    png_uint_32 num_bytes = (png_uint_32)items * size;
@@ -166,7 +166,7 @@
 }
 
 /* function to free memory for zlib */
-void PNGAPI
+void /* private */
 png_zfree(voidpf png_ptr, voidpf ptr)
 {
    png_free((png_structp)png_ptr, (png_voidp)ptr);
@@ -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.3rc5 - May 11, 2002\n\
+   return ((png_charp) "\n libpng version 1.2.3rc6 - May 13, 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.3rc5");
-   return((png_charp) "1.2.3rc5");
+      return((png_charp) "1.2.3rc6");
+   return((png_charp) "1.2.3rc6");
 }
 
 png_charp PNGAPI
diff --git a/png.h b/png.h
index 00c3bf7..a6518a5 100644
--- a/png.h
+++ b/png.h
@@ -1,6 +1,6 @@
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.2.3rc5 - May 11, 2002
+ * libpng version 1.2.3rc6 - May 13, 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.3rc5 - May 11, 2002: Glenn
+ *  libpng versions 0.97, January 1998, through 1.2.3rc6 - May 13, 2002: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -86,7 +86,8 @@
  *    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-5              12    10203  12.so.0.1.2.3rc1-5
+ *    1.2.3rc1-6              12    10203  12.so.0.1.2.3rc1-6
+ *    1.2.3                   12    10203  12.so.0.1.2.3
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -116,7 +117,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.3rc5, May 11, 2002, are
+ * libpng versions 1.0.7, July 1, 2000, through 1.2.3rc6, May 13, 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 +222,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    May 11, 2002
+ *    May 13, 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.3rc5 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.2.3rc6 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 +284,7 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.3rc5"
+#define PNG_LIBPNG_VER_STRING "1.2.3rc6"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  %DLLNUM%
@@ -295,7 +296,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  5
+#define PNG_LIBPNG_VER_BUILD  6
 
 #define PNG_LIBPNG_BUILD_ALPHA    1
 #define PNG_LIBPNG_BUILD_BETA     2
@@ -1263,9 +1264,9 @@
 
 
 /* This prevents a compiler error in png.c if png.c and png.h are both at
-   version 1.2.3rc5
+   version 1.2.3rc6
  */
-typedef png_structp version_1_2_3rc5;
+typedef png_structp version_1_2_3rc6;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -2387,7 +2388,7 @@
 /* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
 
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.3rc5 - May 11, 2002 (header)\n"
+   " libpng version 1.2.3rc6 - May 13, 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 a0404e7..dfee05c 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.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 ee9ab52..23e83ba 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,6 +1,6 @@
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 6cfb86d..6eac623 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 2644df4..05233c7 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.3rc5 - May 11, 2002
+ * libpng version 1.2.3rc6 - May 13, 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 a8c8446..17c79f9 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 ce1dd90..ec4af6f 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 370705e..dd26afa 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 b70ebdc..3aca69d 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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.3rc5
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.3rc6
  */
 
 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.3rc5
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.3rc6
  */
 void PNGAPI
 png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index 8184902..bbd63e6 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 e8136b0..3542c6d 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.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 cedb4a9..2ff4007 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 98f1013..50371c1 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 1c3ad41..4496733 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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_3rc5 your_png_h_is_not_version_1_2_3rc5;
+typedef version_1_2_3rc6 your_png_h_is_not_version_1_2_3rc6;
diff --git a/pngtrans.c b/pngtrans.c
index aeaaf84..fc366c8 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.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 d64692d..eb5d640 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
  *
  * For Intel x86 CPU and Microsoft Visual C++ compiler
  *
- * libpng version 1.2.3rc5 - May 11, 2002
+ * libpng version 1.2.3rc6 - May 13, 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 db364f0..ac7ae34 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 9c68935..bf8f8fd 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 8516b3e..c75e3f9 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.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 81b7e5a..ec36d64 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.2.3rc5 - May 11, 2002
+ * libpng 1.2.3rc6 - May 13, 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 3ce7a75..ea0a4f6 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.3rc5 (May 11, 2002) and zlib
+libpng 1.2.3rc6 (May 13, 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 586becc..858c6d2 100644
--- a/projects/msvc/libpng.dsp
+++ b/projects/msvc/libpng.dsp
@@ -210,7 +210,7 @@
 # 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
+# ADD CPP /nologo /Gd /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"
diff --git a/projects/msvc/png32ms.def b/projects/msvc/png32ms.def
index 373a33b..dfe6103 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.3rc5
+;Version 1.2.3rc6
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
diff --git a/projects/msvc/zlib.dsp b/projects/msvc/zlib.dsp
index e5e5879..df9a5db 100644
--- a/projects/msvc/zlib.dsp
+++ b/projects/msvc/zlib.dsp
@@ -210,7 +210,7 @@
 # PROP Target_Dir ""
 CPP=cl.exe
 # ADD BASE CPP /nologo /MD /W3 /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ZLIB_DLL" /FD /c
-# ADD CPP /nologo /Gz /MD /W3 /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ZLIB_DLL" /FD /c
+# ADD CPP /nologo /Gd /MD /W3 /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ZLIB_DLL" /FD /c
 MTL=midl.exe
 RSC=rc.exe
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
diff --git a/projects/netware.txt b/projects/netware.txt
index 2421050..2833858 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.3rc5-project-netware.zip from a libpng distribution
+libpng-1.2.3rc6-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.3rc5-project-netware.zip"
+"unzip -a libpng-1.2.3rc6-project-netware.zip"
diff --git a/projects/wince.txt b/projects/wince.txt
index 0cf3a32..34b1dd4 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.3rc5-project-wince.zip from a libpng distribution
+libpng-1.2.3rc6-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.3rc5-project-wince.zip"
+"unzip -a libpng-1.2.3rc6-project-wince.zip"
diff --git a/scripts/libpng-config b/scripts/libpng-config
deleted file mode 100755
index e69de29..0000000
--- a/scripts/libpng-config
+++ /dev/null
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index a3daf0e..5196c43 100644
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.2.3rc5
+version=1.2.3rc6
 prefix=""
 cppflags=""
 cflags=""
diff --git a/scripts/libpng-config.in b/scripts/libpng-config.in
deleted file mode 100644
index 617b3f0..0000000
--- a/scripts/libpng-config.in
+++ /dev/null
@@ -1,88 +0,0 @@
-#! /bin/sh
-
-# libpng-config
-# provides configuration info for libpng.
-
-# 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=@PREFIX@
-exec_prefix=${prefix}
-includedir=${prefix}/include
-
-usage()
-{
-    cat <<EOF
-Usage: libpng-config [OPTION] ...
-
-Known values for OPTION are:
-
-  --prefix=DIR          change libpng 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
-
-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.3rc5
-        exit 0
-        ;;
-
-    --help)
-        usage 0
-        ;;
-
-    --cflags)
-        echo #CFLAGS
-        ;;
-
-    --cppflags)
-        echo -I${includedir}/libpng12 #CPPFLAGS
-        ;;
-
-    --libs)
-        echo -lpng12 -lz #LIBS
-        ;;
-
-    --ldflags)
-        echo -L${exec_prefix}/lib #LDFLAGS
-        ;;
-
-    *)
-        usage
-        exit 1
-        ;;
-    esac
-    shift
-done
-
-exit 0
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index b776346..4024c6e 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.3rc5
+Version: 1.2.3rc6
 Libs: -L${libdir} -lpng12 -lz -lm
 Cflags: -I${includedir}/libpng12
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index c1a6f2a..25db689 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -33,7 +33,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
@@ -74,7 +74,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"-xtarget=ultra\"; \
 	echo ldflags=\"-xtarget=ultra -L$(LIBPATH) -R$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index 60406e6..323f547 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -33,7 +33,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
@@ -74,7 +74,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"-xtarget=ultra -xarch=v9\"; \
 	echo ldflags=\"-xtarget=ultra -xarch=v9 -L$(LIBPATH) -R$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 43ca51c..5f7e4bc 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.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 ALIGN=
@@ -74,9 +74,9 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"\"; \
-	echo ldflags=\"-Wl,-soname=$(LIBNAME).so.$(PNGMAJ)"; \
+	echo ldflags=\"-Wl,-soname=$(LIBNAME).so.$(PNGMAJ)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index 9623356..6e78b92 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -9,14 +9,14 @@
 # For conditions of distribution and use, see copyright notice in png.h
 
 # this makefile intends to support building outside the src directory
-# if desired. when invoking it, specify an argument to SRC on the
+# if desired. when invoking it, specify an argument to SRCDIR on the
 # command line that points to the top of the directory where your source
 # is located.
 
-ifdef SRC
-VPATH = $(SRC)
+ifdef SRCDIR
+VPATH = $(SRCDIR)
 else
-SRC = .
+SRCDIR = .
 endif
 
 # override DESTDIR= on the make install command line to easily support
@@ -30,9 +30,12 @@
 
 DESTDIR=
 
+# cosmetic: shortened strings:
+S =$(SRCDIR)
+D =$(DESTDIR)
+
 # To enable assembler optimizations, add '-DPNG_USE_PNGGCCRD' to
-# $CFLAGS, and include pnggccrd.o in $OBJS, below, and in the dependency
-# list at the bottom of this file.
+# $CFLAGS, and include pnggccrd.o in $OBJS, below.
 
 CC=gcc
 ifdef MINGW
@@ -47,8 +50,8 @@
 endif
 
 # Where the zlib library and include files are located
-ZLIBLIB=/lib#$(DESTDIR)$(LIBPATH)
-ZLIBINC=#$(DESTDIR)$(INCPATH)
+ZLIBLIB= /usr/lib
+ZLIBINC=
 #ZLIBLIB=../zlib
 #ZLIBINC=../zlib
 
@@ -78,7 +81,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 PNGDLL = 12
-PNGMIN = 1.2.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(PNGDLL).dll
@@ -88,9 +91,9 @@
 LIBS=$(SHAREDLIB) $(STATLIB)
 EXE=.exe
 
-LDFLAGS=$(strip -L. $(MINGW_LDFLAGS) $(addprefix -L,$(ZLIBLIB)) -lpng -lz)
+LDFLAGS=$(strip -L. $(MINGW_LDFLAGS) -lpng $(addprefix -L,$(ZLIBLIB)) -lz)
 LDSFLAGS=$(strip -shared -L.  $(MINGW_LDFLAGS) -Wl,--export-all)
-LDEXTRA=-Wl,--out-implib=$(IMPLIB)
+LDEXTRA=-Wl,--out-implib=$(IMPLIB) $(addprefix -L,$(ZLIBLIB)) -lz
 
 MKDIR=/bin/mkdir -pv
 RANLIB=ranlib
@@ -125,25 +128,24 @@
 	@echo  VPATH is set to: \"$(VPATH)\"
 	@echo  prefix is set to: \"$(prefix)\"
 	@echo -e INCPATH,LIBPATH, etc. are set to:'\n' \
- $(addprefix $(DESTDIR),$(INCPATH)'\n' $(LIBPATH)'\n' $(BINPATH)'\n' \
+ $(addprefix $(D),$(INCPATH)'\n' $(LIBPATH)'\n' $(BINPATH)'\n' \
    $(MANPATH)'\n' $(MAN3PATH)'\n' $(MAN5PATH)'\n')'\n'
 
 libpng.pc: scripts/libpng.pc.in
 	@echo -e Making pkg-config file for this libpng installation..'\n' \
            using PREFIX=\"$(prefix)\"'\n'
-	cat $(SRC)/scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! | \
-	   sed -e s/-lm// > libpng.pc
+	cat $(S)/scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
 
 libpng-config: scripts/libpng-config.in
-	@echo -e Making libpng-config file for this libpng installation..'\n' \
-           using PREFIX=\"$(prefix)\"'\n'
-	( cat $(SRC)/scripts/libpng-config-head.in; \
+	@echo -e Making $(LIBNAME) libpng-config file for this libpng \
+ installation..'\n' using PREFIX=\"$(prefix)\"'\n'
+	( cat $(S)/scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"\"; \
-	echo ldflags=\"-L$(LIBPATH)"; \
-	echo libs=\"-lpng12 -lz\"; \
-	cat $(SRC)/scripts/libpng-config-body.in ) > libpng-config
+	echo ldflags=\"-L$(LIBPATH)\"; \
+	echo libs=\"-lpng$(PNGDLL) -lz\"; \
+	cat $(S)/scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
 static: all-static
@@ -153,19 +155,15 @@
 
 pnggccrd.o: pnggccrd.c png.h pngconf.h
 	@echo ""
-	@echo \
-	'    You can ignore the single "control reaches end of non-void function"'
-	@echo \
-	'    warning and multiple "<variable> defined but not used" warnings:'
+	@echo '    You can ignore the single "control reaches end of non-void function"'
+	@echo '    warning and multiple "<variable> defined but not used" warnings:'
 	@echo ""
 	$(CC) -c $(CFLAGS) -o $@ $<
 
 pnggccrd.pic.o:	pnggccrd.c png.h pngconf.h
 	@echo ""
-	@echo \
-	'    You can ignore the single "control reaches end of non-void function"'
-	@echo \
-	'    warning and multiple "<variable> defined but not used" warnings:'
+	@echo '    You can ignore the single "control reaches end of non-void function"'
+	@echo '    warning and multiple "<variable> defined but not used" warnings:'
 	@echo ""
 	$(CC) -c $(CFLAGS) -DPNG_BUILD_DLL -o $@ $<
 
@@ -178,7 +176,7 @@
 	sed -e 's/\([^;]*\);/;/' > $@
 
 $(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF)
-	$(CC) $(LDSFLAGS) -o $@ $(LDEXTRA) $(OBJSDLL) -L. -L$(ZLIBLIB) -lz
+	$(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA)
 
 pngtest$(EXE): pngtest.pic.o $(SHAREDLIB)
 	$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@
@@ -195,67 +193,68 @@
 test: test-static test-shared
 
 test-static: pngtest-stat$(EXE)
-	./pngtest-stat $(SRC)/pngtest.png
+	./pngtest-stat $(S)/pngtest.png
 
 test-shared: pngtest$(EXE)
-	./pngtest $(SRC)/pngtest.png
+	./pngtest $(S)/pngtest.png
 
 install-static: $(STATLIB) install-headers install-man
-	-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then $(MKDIR) $(DESTDIR)$(LIBPATH); fi
-	install -m 644 $(STATLIB) $(DESTDIR)$(LIBPATH)/$(LIBNAME).a
-	-@rm -f $(DESTDIR)$(LIBPATH)/$(STATLIB)
-	(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).a $(STATLIB))
+	-@if [ ! -d $(D)$(LIBPATH) ]; then $(MKDIR) $(D)$(LIBPATH); fi
+	install -m 644 $(STATLIB) $(D)$(LIBPATH)/$(LIBNAME).a
+	-@rm -f $(D)$(LIBPATH)/$(STATLIB)
+	(cd $(D)$(LIBPATH); ln -sf $(LIBNAME).a $(STATLIB))
 
 install-shared: $(SHAREDLIB) libpng.pc libpng-config install-headers install-man
-	-@if [ ! -d $(DESTDIR)$(LIBPATH) ]; then $(MKDIR) $(DESTDIR)$(LIBPATH); fi
-	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then $(MKDIR) $(DESTDIR)$(BINPATH); fi
-	-@if [ ! -d $(DESTDIR)$(LIBPATH)/pkgconfig ]; then \
-           $(MKDIR) $(DESTDIR)$(LIBPATH)/pkgconfig; fi
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
-	-@/bin/rm -f $(DESTDIR)$(LIBPATH)/pkgconfig/libpng.pc
-	install -m 644 $(IMPLIB) $(DESTDIR)$(LIBPATH)/$(LIBNAME).dll.a
-	-@rm -f $(DESTDIR)$(LIBPATH)/$(IMPLIB)
-	(cd $(DESTDIR)$(LIBPATH); ln -sf $(LIBNAME).dll.a $(IMPLIB))
-	install -s -m 755 $(SHAREDLIB) $(DESTDIR)$(BINPATH)
-	install -m 644 libpng.pc $(DESTDIR)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
-	(cd $(DESTDIR)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
+	-@if [ ! -d $(D)$(LIBPATH) ]; then $(MKDIR) $(D)$(LIBPATH); fi
+	-@if [ ! -d $(D)$(BINPATH) ]; then $(MKDIR) $(D)$(BINPATH); fi
+	-@if [ ! -d $(D)$(LIBPATH)/pkgconfig ]; then \
+           $(MKDIR) $(D)$(LIBPATH)/pkgconfig; fi
+	-@/bin/rm -f $(D)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
+	-@/bin/rm -f $(D)$(LIBPATH)/pkgconfig/libpng.pc
+	install -m 644 $(IMPLIB) $(D)$(LIBPATH)/$(LIBNAME).dll.a
+	-@rm -f $(D)$(LIBPATH)/$(IMPLIB)
+	(cd $(D)$(LIBPATH); ln -sf $(LIBNAME).dll.a $(IMPLIB))
+	install -s -m 755 $(SHAREDLIB) $(D)$(BINPATH)
+	install -m 644 libpng.pc $(D)$(LIBPATH)/pkgconfig/$(LIBNAME).pc
+	(cd $(D)$(LIBPATH)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
 
 install-headers:
-	-@if [ ! -d $(DESTDIR)$(INCPATH) ]; then \
-          $(MKDIR) $(DESTDIR)$(INCPATH); fi
-	-@if [ ! -d $(DESTDIR)$(INCPATH)/$(LIBNAME) ]; then \
-          $(MKDIR) $(DESTDIR)$(INCPATH)/$(LIBNAME); fi
-	-@rm -f $(DESTDIR)$(INCPATH)/png.h
-	-@rm -f $(DESTDIR)$(INCPATH)/pngconf.h
-	install -m 644 $(SRC)/png.h $(SRC)/pngconf.h $(DESTDIR)$(INCPATH)/$(LIBNAME)
-	-@rm -f $(DESTDIR)$(INCPATH)/libpng
-	(cd $(DESTDIR)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
+	-@if [ ! -d $(D)$(INCPATH) ]; then \
+          $(MKDIR) $(D)$(INCPATH); fi
+	-@if [ ! -d $(D)$(INCPATH)/$(LIBNAME) ]; then \
+          $(MKDIR) $(D)$(INCPATH)/$(LIBNAME); fi
+	-@rm -f $(D)$(INCPATH)/png.h
+	-@rm -f $(D)$(INCPATH)/pngconf.h
+	install -m 644 $(S)/png.h $(S)/pngconf.h $(D)$(INCPATH)/$(LIBNAME)
+	-@rm -f $(D)$(INCPATH)/libpng
+	(cd $(D)$(INCPATH); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
 
 install-man:
-	-@if [ ! -d $(DESTDIR)$(MAN3PATH) ]; then \
-          $(MKDIR) $(DESTDIR)$(MAN3PATH); fi
-	-@if [ ! -d $(DESTDIR)$(MAN5PATH) ]; then \
-          $(MKDIR) $(DESTDIR)$(MAN5PATH); fi
-	install -m 644 $(SRC)/libpngpf.3 $(SRC)/libpng.3 $(DESTDIR)$(MAN3PATH)
-	install -m 644 $(SRC)/png.5 $(DESTDIR)$(MAN5PATH)
+	-@if [ ! -d $(D)$(MAN3PATH) ]; then \
+          $(MKDIR) $(D)$(MAN3PATH); fi
+	-@if [ ! -d $(D)$(MAN5PATH) ]; then \
+          $(MKDIR) $(D)$(MAN5PATH); fi
+	install -m 644 $(S)/libpngpf.3 $(S)/libpng.3 $(D)$(MAN3PATH)
+	install -m 644 $(S)/png.5 $(D)$(MAN5PATH)
 
 install-config: libpng-config
-	-@if [ ! -d $(DESTDIR)$(BINPATH) ]; then \
-           mkdir $(DESTDIR)$(BINPATH); fi
-	-@/bin/rm -f $(DESTDIR)$(BINPATH)/libpng-config
-	-@/bin/rm -f $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
-	cp libpng-config $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
-	chmod 755 $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
-	(cd $(DESTDIR)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
+	-@if [ ! -d $(D)$(BINPATH) ]; then \
+           mkdir $(D)$(BINPATH); fi
+	-@/bin/rm -f $(D)$(BINPATH)/libpng-config
+	-@/bin/rm -f $(D)$(BINPATH)/$(LIBNAME)-config
+	cp libpng-config $(D)$(BINPATH)/$(LIBNAME)-config
+	chmod 755 $(D)$(BINPATH)/$(LIBNAME)-config
+	(cd $(D)$(BINPATH); ln -sf $(LIBNAME)-config libpng-config)
 
-# run this to verify that a future `configure' run will pick up the settings you want.
+# run this to verify that a future `configure' run will pick up the settings
+# you want.
 test-config-install: SHELL=/bin/bash
-test-config-install: $(DESTDIR)$(BINPATH)/$(LIBNAME)-config
+test-config-install: $(D)$(BINPATH)/libpng-config
 	@echo -e Testing libpng-config functions...'\n'
 	@ for TYRA in LDFLAGS CPPFLAGS CFLAGS LIBS VERSION; \
    do \
     printf "(%d)\t %s = %s\n" $$(($$gytiu + 1)) $$TYRA \
-    $$(libpng-config `echo "--$$TYRA" |tr '[:upper:]' '[:lower:]'`); \
+    "$$($(D)$(BINPATH)/libpng-config `echo --$$TYRA |tr '[:upper:]' '[:lower:]'`)"; \
     gytiu=$$(( $$gytiu + 1 )); \
    done
 
@@ -264,7 +263,8 @@
 
 clean:
 	/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
-	pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF)
+	pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
+	libpng-config libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -295,3 +295,5 @@
 
 
 
+
+
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index bd374b9..4e8901e 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -25,7 +25,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.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -68,7 +68,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"\"; \
 	echo ldflags=\"-L$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz\"; \
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 4c7b794..1dbf3b8 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -29,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.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -56,17 +56,13 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"-std\"; \
 	echo ldflags=\"-L$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-	cat scripts/libpng-config.in | sed -e s\!@PREFIX@!$(prefix)! > \
-	  -e s!\#LIBS!-lm! > libpng-config
-	chmod +x libpng-config
-
 $(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
 
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 93bfe23..a7cac2c 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -15,7 +15,7 @@
 
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=gcc
@@ -94,7 +94,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12 -DPNG_THREAD_UNSAFE_OK \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME) -DPNG_THREAD_UNSAFE_OK \
 	   -DPNG_USE_PNGGCCRD"; \
 	echo cflags=\"\"; \
 	echo ldflags=\"\"; \
@@ -102,11 +102,6 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-	cat scripts/libpng-config.in | sed -e s\!@PREFIX@!$(prefix)! > \
-	  -e s!\#CFLAGS!-DPNG_THREAD_UNSAFE_OK -DPNG_USE_PNGGCCRD! \
-	  -e s!\#LIBS!-lm! > libpng-config
-	chmod +x libpng-config
-
 pnggccrd.o:	pnggccrd.c png.h pngconf.h
 	$(CC) -c $(CFLAGS) -o $@ $*.c
 
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 865efb1..5e8bc27 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -35,7 +35,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.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -77,7 +77,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"\"; \
 	echo ldflags=\"\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 20b8bbf..9c9b9cc 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.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -63,7 +63,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"-Ae +DA1.1 +DS2.0"; \
 	echo ldflags=\"-L$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 8de6ca7..8ab6e77 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -5,7 +5,7 @@
 
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=gcc
@@ -77,17 +77,13 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"\"; \
-	echo ldflags=\"-L$(LIBPATH) -Wl,-rpath,$(LIBPATH)"; \
+	echo ldflags=\"-L$(LIBPATH) -Wl,-rpath,$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-	cat scripts/libpng-config.in | sed -e s\!@PREFIX@!$(prefix)! > \
-	  -e s!\#LIBS!-lm! > libpng-config
-	chmod +x libpng-config
-
 $(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
 	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
 
diff --git a/scripts/makefile.macosx b/scripts/makefile.macosx
index bc3d840..b8c916a 100644
--- a/scripts/makefile.macosx
+++ b/scripts/makefile.macosx
@@ -17,7 +17,7 @@
 CC=cc
 
 PNGMAJ = 0
-PNGMIN = 1.2.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CFLAGS=-fno-common -I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
@@ -60,17 +60,13 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"\"; \
 	echo ldflags=\"-L$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz\"; \
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-	cat scripts/libpng-config.in | sed -e s\!@PREFIX@!$(prefix)! > \
-	libpng-config
-	chmod +x libpng-config
-
 libpng.a: $(OBJS)
 	ar rc $@  $(OBJS)
 	$(RANLIB) $@
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 0581298..cbb0a62 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -13,7 +13,7 @@
 
 LIB=	png12
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.3rc5
+SHLIB_MINOR=	1.2.3rc6
 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 b86a20f..eea55f8 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,7 +13,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.2.3rc5
+SHLIB_MINOR=	1.2.3rc6
 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.sco b/scripts/makefile.sco
index 7b7ce7b..08d556d 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -26,7 +26,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.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -68,7 +68,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"-belf\"; \
 	echo ldflags=\"-L$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 5910083..985a355 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -38,7 +38,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBS=$(LIBNAME).so.$(PNGVER)
 INCPATH=$(prefix)/include
@@ -75,7 +75,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12 -DPNG_USE_PNGGCCRD \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME) -DPNG_USE_PNGGCCRD \
 		-DPNG_NO_ASSEMBLER_CODE\"; \
 	echo cflags=\"$(ABI)\"; \
 	echo ldflags=\"-L$(LIBPATH)\"; \
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 6633923..e8b6491 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -31,7 +31,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 RANLIB=echo
@@ -68,7 +68,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12 -DPNG_USE_PNGGCCRD \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME) -DPNG_USE_PNGGCCRD \
 		-DPNG_NO_ASSEMBLER_CODE\"; \
 	echo cflags=\"$(ABI)\"; \
 	echo ldflags=\"-L$(LIBPATH)\"; \
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 309f8c0..a0675d7 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -36,7 +36,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.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -78,7 +78,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12\"; \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME)\"; \
 	echo cflags=\"\"; \
 	echo ldflags=\"-L$(LIBPATH) -R$(LIBPATH)\"; \
 	echo libs=\"-lpng12 -lz -lm\"; \
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index aba2485..3e66284 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -32,7 +32,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.3rc5
+PNGMIN = 1.2.3rc6
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -74,7 +74,7 @@
 libpng-config:
 	( cat scripts/libpng-config-head.in; \
 	echo prefix=\"$(prefix)\"; \
-	echo cppflags=\"-I$(INCPATH)/libpng12 -DPNG_USE_PNGGCCRD \
+	echo cppflags=\"-I$(INCPATH)/$(LIBNAME) -DPNG_USE_PNGGCCRD \
 		-DPNG_NO_ASSEMBLER_CODE\"; \
 	echo cflags=\"$(ABI)\"; \
 	echo ldflags=\"-L$(LIBPATH) -R$(LIBPATH)\"; \
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index c48c41a..b60afc7 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -7,7 +7,7 @@
 interface
 
 const
-  PNG_LIBPNG_VER_STRING = '1.2.3rc5';
+  PNG_LIBPNG_VER_STRING = '1.2.3rc6';
   PNG_LIBPNG_VER        =  10203;
 
 type
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index b30c7fa..9f0540e 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.2.3rc5
+; Version 1.2.3rc6
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
