Imported from libpng-1.2.2beta2.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 5987489..8a5c41b 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.2.2beta1 - February 22, 2002
+Libpng 1.2.2beta2 - February 24, 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.
@@ -9,13 +9,19 @@
 version 1.2.2beta1 [February 22, 2002]
   Fixed a bug with reading the length of iCCP profiles (Larry Reeves).
   Revised makefile.linux, makefile.gcmmx, and makefile.sgi to generate
-    libpng.a, libpng12.so (not libpng.so.3), and libpng12/png.h (not png.h)
+    libpng.a, libpng12.so (not libpng.so.3), and libpng12/png.h
   Revised makefile.darwin to remove "-undefined suppress" option.
   Added checks for gamma and chromaticity values over 21474.83, which exceed
     the limit for PNG unsigned 32-bit integers when encoded.
   Revised calls to png_create_read_struct() and png_create_write_struct()
     for simpler debugging.
   Revised png_zalloc() so zlib handles errors (uses PNG_FLAG_MALLOC_NULL_MEM_OK)
+version 1.2.2beta2 [February 24, 2002]
+  Check chunk_length and idat_size for invalid (over PNG_MAX_UINT) lengths.
+  Check for invalid image dimensions in png_get_IHDR.
+  Added missing "fi;" in the install target of the SGI makefiles.
+  Added install-static to all makefiles that make shared libraries.
+  Always do gamma compensation when image is partially transparent.
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index 5fdaae2..052a74c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1017,13 +1017,19 @@
 version 1.2.2beta1 [February 22, 2002]
   Fixed a bug with reading the length of iCCP profiles (Larry Reeves).
   Revised makefile.linux, makefile.gcmmx, and makefile.sgi to generate
-    libpng.a, libpng12.so (not libpng.so.3), and libpng12/png.h (not png.h)
+    libpng.a, libpng12.so (not libpng.so.3), and libpng12/png.h
   Revised makefile.darwin to remove "-undefined suppress" option.
   Added checks for gamma and chromaticity values over 21474.83, which exceed
     the limit for PNG unsigned 32-bit integers when encoded.
   Revised calls to png_create_read_struct() and png_create_write_struct()
     for simpler debugging.
   Revised png_zalloc() so zlib handles errors (uses PNG_FLAG_MALLOC_NULL_MEM_OK)
+version 1.2.2beta2 [February 24, 2002]
+  Check chunk_length and idat_size for invalid (over PNG_MAX_UINT) lengths.
+  Check for invalid image dimensions in png_get_IHDR.
+  Added missing "fi;" in the install target of the SGI makefiles.
+  Added install-static to all makefiles that make shared libraries.
+  Always do gamma compensation when image is partially transparent.
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index 217c2ae..5377590 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.2beta1 - February 22, 2002
+Installing libpng version 1.2.2beta2 - February 24, 2002
 
 Before installing libpng, you must first install zlib.  zlib
 can usually be found wherever you got libpng.  zlib can be
@@ -10,7 +10,7 @@
 version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.2.2beta1" or "lpng109" and "zlib-1.1.3"
+might be called "libpng-1.2.2beta2" 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 libpng.so.0.1.2.2beta1)
- makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng.so.0.1.2.2beta1,
+ makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng.so.0.1.2.2beta2)
+ makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng.so.0.1.2.2beta2,
                        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
@@ -83,10 +83,10 @@
  makefile.macosx   =>  MACOS X Makefile
  makefile.netbsd   =>  NetBSD/cc makefile, uses PNGGCCRD
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
- makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng.so.0.1.2.2beta1)
+ makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng.so.0.1.2.2beta2)
  makefile.sunos    =>  Sun makefile
- makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng.so.0.1.2.2beta1)
- makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng.so.0.1.2.2beta1)
+ makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng.so.0.1.2.2beta2)
+ makefile.so9      =>  Solaris 9 makefile (gcc, creates libpng.so.0.1.2.2beta2)
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
  makefile.mips     =>  MIPS makefile
  makefile.acorn    =>  Acorn makefile
diff --git a/KNOWNBUG b/KNOWNBUG
index 6f37ada..4d782e7 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.2.2beta1
+Known bugs in libpng version 1.2.2beta2
 
 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 c049e9c..36d844b 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.2beta1, February 22, 2002, are
+libpng versions 1.0.7, July 1, 2000, through 1.2.2beta2, February 24, 2002, are
 Copyright (c) 2000 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
-February 22, 2002
+February 24, 2002
diff --git a/README b/README
index 00d0840..26af024 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.2.2beta1 - February 22, 2002 (shared library 2.1)
+README for libpng 1.2.2beta2 - February 24, 2002 (shared library 2.1)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
@@ -187,9 +187,9 @@
        descrip.mms      =>  VMS makefile for MMS or MMK
        makefile.std     =>  Generic UNIX makefile (cc, creates static libpng.a)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng.so.0.1.2.2beta1)
+                            (gcc, creates libpng.so.0.1.2.2beta2)
        makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
-                            libpng.so.0.1.2.2beta1, uses assembler code
+                            libpng.so.0.1.2.2beta2, 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
@@ -207,12 +207,12 @@
        makefile.macosx  =>  MACOS X Makefile
        makefile.netbsd  =>  NetBSD/cc makefile, uses PNGGCCRD
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
-       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng.so.0.1.2.2beta1)
+       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng.so.0.1.2.2beta2)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng.so.0.1.2.2beta1)
+                            (gcc, creates libpng.so.0.1.2.2beta2)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng.so.0.1.2.2beta1)
+                            (gcc, creates libpng.so.0.1.2.2beta2)
        makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
        makefile.mips    =>  MIPS makefile
        makefile.acorn   =>  Acorn makefile
diff --git a/Y2KINFO b/Y2KINFO
index 92e48be..ae1e727 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      February 22, 2002
+      February 24, 2002
 
       Since the PNG Development group is an ad-hoc body, we can't make
       an official declaration.
 
       This is your unofficial assurance that libpng from version 0.71 and
-      upward through 1.2.2beta1 are Y2K compliant.  It is my belief that earlier
+      upward through 1.2.2beta2 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 3855269..55685df 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 echo "
-  There is no \"configure\" script for Libpng-1.2.2beta1.  Instead, please
+  There is no \"configure\" script for Libpng-1.2.2beta2.  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 96835ed..b00523e 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "February 22, 2002"
+.TH LIBPNG 3 "February 24, 2002"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.2beta1
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.2beta2
 .SH SYNOPSIS
 \fI\fB
 
@@ -787,10 +787,10 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.2beta1 - February 22, 2002
+ libpng version 1.2.2beta2 - February 24, 2002
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
- Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ Copyright (c) 1998-2002 Glenn Randers-Pehrson
  For conditions of distribution and use, see copyright
  notice in png.h.
 
@@ -3635,13 +3635,13 @@
 
 .SH IX. Y2K Compliance in libpng
 
-February 22, 2002
+February 24, 2002
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.2.2beta1 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.2beta2 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
@@ -3764,7 +3764,7 @@
  1.2.1beta-4          3    10201  3.1.2.1beta1-4
  1.2.1rc1-2           3    10201  3.1.2.1rc1-2
  1.2.1                3    10201  3.1.2.1
- 1.2.2beta1          12    10202  12.so.0.1.2.2beta1
+ 1.2.2beta1-2        12    10202  12.so.0.1.2.2beta1-2
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3822,7 +3822,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.2.2beta1 - February 22, 2002:
+Libpng version 1.2.2beta2 - February 24, 2002:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
 
@@ -3839,8 +3839,8 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.0.7, July 1, 2000, through  1.2.2beta1, February 22, 2002, are
-Copyright (c) 2000-2001 Glenn Randers-Pehrson, and are
+libpng versions 1.0.7, July 1, 2000, through  1.2.2beta2, February 24, 2002, are
+Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors
 
@@ -3931,7 +3931,7 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-February 22, 2002
+February 24, 2002
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index 74e315a..356db0c 100644
--- a/libpng.txt
+++ b/libpng.txt
@@ -1,9 +1,9 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.2beta1 - February 22, 2002
+ libpng version 1.2.2beta2 - February 24, 2002
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
- Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ Copyright (c) 1998-2002 Glenn Randers-Pehrson
  For conditions of distribution and use, see copyright
  notice in png.h.
 
@@ -2848,13 +2848,13 @@
 
 IX. Y2K Compliance in libpng
 
-February 22, 2002
+February 24, 2002
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.2.2beta1 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.2beta2 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 216bc61..d373e1b 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "February 22, 2002"
+.TH LIBPNGPF 3 "February 24, 2002"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.2beta1
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.2beta2
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 9af27fe..7e85ca3 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "February 22, 2002"
+.TH PNG 5 "February 24, 2002"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index c9bce38..ee86986 100644
--- a/png.c
+++ b/png.c
@@ -1,8 +1,8 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng version 1.2.2beta1 - February 22, 2002
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * libpng version 1.2.2beta2 - February 24, 2002
+ * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  *
@@ -13,14 +13,14 @@
 #include "png.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_2beta1 Your_png_h_is_not_version_1_2_2beta1;
+typedef version_1_2_2beta2 Your_png_h_is_not_version_1_2_2beta2;
 
 /* 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.2beta1";
+const char png_libpng_ver[18] = "1.2.2beta2";
 
 /* png_sig was changed to a function in version 1.0.5c */
 /* Place to hold the signature string for a PNG file. */
@@ -651,8 +651,8 @@
 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.2beta1 - February 22, 2002\n\
-   Copyright (c) 1998-2001 Glenn Randers-Pehrson\n\
+   return ((png_charp) "\n libpng version 1.2.2beta2 - February 24, 2002\n\
+   Copyright (c) 1998-2002 Glenn Randers-Pehrson\n\
    Copyright (c) 1996, 1997 Andreas Dilger\n\
    Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n");
    return ((png_charp) "");
@@ -669,8 +669,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.2beta1");
-   return((png_charp) "1.2.2beta1");
+      return((png_charp) "1.2.2beta2");
+   return((png_charp) "1.2.2beta2");
 }
 
 png_charp PNGAPI
diff --git a/png.h b/png.h
index a27de57..5a86233 100644
--- a/png.h
+++ b/png.h
@@ -1,15 +1,15 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.2.2beta1 - February 22, 2002
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * libpng version 1.2.2beta2 - February 24, 2002
+ * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  *
  * 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.2beta1 - February 22, 2002: Glenn
+ *  libpng versions 0.97, January 1998, through 1.2.2beta2 - February 24, 2002: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -81,7 +81,7 @@
  *    1.2.1beta1-4             3    10201  3.1.2.1beta1-4
  *    1.2.1rc1-2               3    10201  3.1.2.1rc1-2
  *    1.2.1                    3    10201  3.1.2.1
- *    1.2.2beta1              12    10202  12.so.0.1.2.2beta1
+ *    1.2.2beta1-2            12    10202  12.so.0.1.2.2beta1-2
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -111,8 +111,8 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.0.7, July 1, 2000, through  1.2.2beta1, February 22, 2002, are
- * Copyright (c) 2000, 2001 Glenn Randers-Pehrson, and are
+ * libpng versions 1.0.7, July 1, 2000, through  1.2.2beta2, February 24, 2002, are
+ * Copyright (c) 2000, 2002 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.0.6
  * with the following individuals added to the list of Contributing Authors
  *
@@ -216,13 +216,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    February 22, 2002
+ *    February 24, 2002
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
  *
  *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.2.2beta1 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.2.2beta2 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
@@ -278,7 +278,7 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.2beta1"
+#define PNG_LIBPNG_VER_STRING "1.2.2beta2"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  %DLLNUM%
@@ -290,7 +290,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  1
+#define PNG_LIBPNG_VER_BUILD  2
 
 #define PNG_LIBPNG_BUILD_ALPHA    1
 #define PNG_LIBPNG_BUILD_BETA     2
@@ -1254,9 +1254,9 @@
 
 
 /* This prevents a compiler error in png_get_copyright() in png.c if png.c
-   and png.h are both at version 1.2.2beta1
+   and png.h are both at version 1.2.2beta2
  */
-typedef png_structp version_1_2_2beta1;
+typedef png_structp version_1_2_2beta2;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -2373,7 +2373,7 @@
 /* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */
 
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.2beta1 - February 22, 2002 (header)\n"
+   " libpng version 1.2.2beta2 - February 24, 2002 (header)\n"
 
 #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
 /* With these routines we avoid an integer divide, which will be slower on
diff --git a/pngasmrd.h b/pngasmrd.h
index 39fb138..1a19bee 100644
--- a/pngasmrd.h
+++ b/pngasmrd.h
@@ -1,8 +1,8 @@
 /* pngasmrd.h - assembler version of utilities to read a PNG file
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 2001 Glenn Randers-Pehrson
+ * Copyright (c) 2002 Glenn Randers-Pehrson
  *
  */
 
diff --git a/pngconf.h b/pngconf.h
index b78aef6..e84fd84 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,8 +1,8 @@
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
diff --git a/pngerror.c b/pngerror.c
index ace326d..fcb19bb 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,9 +1,9 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
diff --git a/pnggccrd.c b/pnggccrd.c
index b59be97..6ea8df1 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -6,9 +6,9 @@
  *     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.2beta1 - February 22, 2002
+ * libpng version 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
  *
  * Based on MSVC code contributed by Nirav Chhatrapati, Intel Corp., 1998.
diff --git a/pngget.c b/pngget.c
index fbea578..c573a49 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,9 +1,9 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
@@ -566,6 +566,10 @@
          channels++;
       pixel_depth = *bit_depth * channels;
       rowbytes_per_pixel = (pixel_depth + 7) >> 3;
+      if (width == 0 || *width > PNG_MAX_UINT)
+        png_error(png_ptr, "Invalid image width");
+      if (height == 0 || *height > PNG_MAX_UINT)
+        png_error(png_ptr, "Invalid image height");
       if ((*width > PNG_MAX_UINT/rowbytes_per_pixel))
       {
          png_warning(png_ptr,
diff --git a/pngmem.c b/pngmem.c
index 5d2dff6..1467c60 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,9 +1,9 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
diff --git a/pngpread.c b/pngpread.c
index 8d59aa4..049a77d 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,9 +1,9 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
diff --git a/pngread.c b/pngread.c
index 9a6169c..d639b84 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,9 +1,9 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
@@ -374,6 +374,9 @@
       png_debug2(0, "Reading %s chunk, length=%lu.\n", png_ptr->chunk_name,
          length);
 
+      if (length > PNG_MAX_UINT)
+         png_error(png_ptr, "Invalid chunk length.");
+
       /* This should be a binary subdivision search or a hash for
        * matching the chunk name rather than a linear search.
        */
@@ -657,6 +660,9 @@
             png_read_data(png_ptr, chunk_length, 4);
             png_ptr->idat_size = png_get_uint_32(chunk_length);
 
+            if (png_ptr->idat_size > PNG_MAX_UINT)
+              png_error(png_ptr, "Invalid chunk length.");
+
             png_reset_crc(png_ptr);
             png_crc_read(png_ptr, png_ptr->chunk_name, 4);
             if (png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
@@ -768,7 +774,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.2beta1
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.2beta2
  */
 
 void PNGAPI
@@ -817,7 +823,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.2beta1
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.2beta2
  */
 void PNGAPI
 png_read_image(png_structp png_ptr, png_bytepp image)
@@ -935,6 +941,9 @@
 
       png_debug1(0, "Reading %s chunk.\n", png_ptr->chunk_name);
 
+      if (length > PNG_MAX_UINT)
+         png_error(png_ptr, "Invalid chunk length.");
+
       if (!png_memcmp(png_ptr->chunk_name, png_IHDR, 4))
          png_handle_IHDR(png_ptr, info_ptr, length);
       else if (!png_memcmp(png_ptr->chunk_name, png_IEND, 4))
diff --git a/pngrio.c b/pngrio.c
index 54f2be9..3498411 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,9 +1,9 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
diff --git a/pngrtran.c b/pngrtran.c
index 8f846c9..94216b2 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,9 +1,9 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
@@ -510,13 +510,19 @@
  * only do transformations on images where the file_gamma and screen_gamma
  * are not close reciprocals, otherwise it slows things down slightly, and
  * also needlessly introduces small errors.
+ *
+ * We will turn off gamma transformation later if no semitransparent entries
+ * are present in the tRNS array for palette images.  We can't do it here
+ * because we don't necessarily have the tRNS chunk yet.
  */
 void PNGAPI
 png_set_gamma(png_structp png_ptr, double scrn_gamma, double file_gamma)
 {
    png_debug(1, "in png_set_gamma\n");
-   if (fabs(scrn_gamma * file_gamma - 1.0) > PNG_GAMMA_THRESHOLD)
-      png_ptr->transformations |= PNG_GAMMA;
+   if ((fabs(scrn_gamma * file_gamma - 1.0) > PNG_GAMMA_THRESHOLD) ||
+       (png_ptr->color_type & PNG_COLOR_MASK_ALPHA) ||
+       (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE))
+     png_ptr->transformations |= PNG_GAMMA;
    png_ptr->gamma = (float)file_gamma;
    png_ptr->screen_gamma = (float)scrn_gamma;
 }
@@ -746,6 +752,22 @@
    png_ptr->background_1 = png_ptr->background;
 #endif
 #if defined(PNG_READ_GAMMA_SUPPORTED) && defined(PNG_FLOATING_POINT_SUPPORTED)
+
+   if ((color_type == PNG_COLOR_TYPE_PALETTE && png_ptr->num_trans != 0)
+       && (fabs(png_ptr->screen_gamma * png_ptr->gamma - 1.0)
+         < PNG_GAMMA_THRESHOLD))
+   {
+    int i,k;
+    k=0;
+    for (i=0; i<png_ptr->num_trans; i++)
+    {
+      if (png_ptr->trans[i] != 0 && png_ptr->trans[i] != 0xff)
+        k=1; /* partial transparency is present */
+    }
+    if (k == 0)
+      png_ptr->transformations &= (~PNG_GAMMA);
+   }
+
    if (png_ptr->transformations & (PNG_GAMMA | PNG_RGB_TO_GRAY))
    {
       png_build_gamma_table(png_ptr);
@@ -754,6 +776,8 @@
       {
          if (color_type == PNG_COLOR_TYPE_PALETTE)
          {
+           /* could skip if no transparency and 
+           */
             png_color back, back_1;
             png_colorp palette = png_ptr->palette;
             int num_palette = png_ptr->num_palette;
@@ -3150,17 +3174,17 @@
                         png_uint_16 v, w, x;
 
                         v = gamma_16_to_1[*(sp + 1) >> gamma_shift][*sp];
-                        png_composite_16(w, v, a, background->red);
+                        png_composite_16(w, v, a, background_1->red);
                         x = gamma_16_from_1[((w&0xff) >> gamma_shift)][w >> 8];
                         *dp = (png_byte)((x >> 8) & 0xff);
                         *(dp + 1) = (png_byte)(x & 0xff);
                         v = gamma_16_to_1[*(sp + 3) >> gamma_shift][*(sp + 2)];
-                        png_composite_16(w, v, a, background->green);
+                        png_composite_16(w, v, a, background_1->green);
                         x = gamma_16_from_1[((w&0xff) >> gamma_shift)][w >> 8];
                         *(dp + 2) = (png_byte)((x >> 8) & 0xff);
                         *(dp + 3) = (png_byte)(x & 0xff);
                         v = gamma_16_to_1[*(sp + 5) >> gamma_shift][*(sp + 4)];
-                        png_composite_16(w, v, a, background->blue);
+                        png_composite_16(w, v, a, background_1->blue);
                         x = gamma_16_from_1[(w & 0xff) >> gamma_shift][w >> 8];
                         *(dp + 4) = (png_byte)((x >> 8) & 0xff);
                         *(dp + 5) = (png_byte)(x & 0xff);
diff --git a/pngrutil.c b/pngrutil.c
index 4db4016..d85c301 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,9 +1,9 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
diff --git a/pngset.c b/pngset.c
index aeb3a44..1d640c4 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,9 +1,9 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
diff --git a/pngtest.c b/pngtest.c
index 828eabf..528ab93 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,9 +1,9 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
@@ -1512,4 +1512,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_2beta1 your_png_h_is_not_version_1_2_2beta1;
+typedef version_1_2_2beta2 your_png_h_is_not_version_1_2_2beta2;
diff --git a/pngtrans.c b/pngtrans.c
index f0cebb4..dbbc130 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,9 +1,9 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
diff --git a/pngvcrd.c b/pngvcrd.c
index 52e6c72..ccfe9c4 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,9 +2,9 @@
  *
  * For Intel x86 CPU and Microsoft Visual C++ compiler
  *
- * libpng version 1.2.2beta1 - February 22, 2002
+ * libpng version 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * Copyright (c) 1998-2002 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
  *
  * Contributed by Nirav Chhatrapati, Intel Corporation, 1998
diff --git a/pngwio.c b/pngwio.c
index 3fb9e56..8861e6b 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,9 +1,9 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  *
diff --git a/pngwrite.c b/pngwrite.c
index 827e9af..ba68cd9 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,9 +1,9 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
diff --git a/pngwtran.c b/pngwtran.c
index 97cb181..33692e2 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,9 +1,9 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
diff --git a/pngwutil.c b/pngwutil.c
index 6c4f15e..c63eeb4 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,9 +1,9 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.2.2beta1 - February 22, 2002
+ * libpng 1.2.2beta2 - February 24, 2002
  * For conditions of distribution and use, see copyright notice in png.h
- * Copyright (c) 1998-2001 Glenn Randers-Pehrson
+ * 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.)
  */
diff --git a/projects/msvc/README.txt b/projects/msvc/README.txt
index 2993e8f..8f3ad2d 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.2beta1 (February 22, 2002) and zlib
+libpng 1.2.2beta2 (February 24, 2002) and zlib
 
 Copyright (C) 2000 Simon-Pierre Cadieux
 For conditions of distribution and use, see copyright notice in png.h
diff --git a/projects/msvc/png.rc b/projects/msvc/png.rc
index b9ef2d6..9912471 100644
--- a/projects/msvc/png.rc
+++ b/projects/msvc/png.rc
@@ -81,7 +81,7 @@
       VALUE "FileDescription", "PNG image compression library\000"
       VALUE "FileVersion", PNG_LIBPNG_VER_STRING "\000"
       VALUE "InternalName", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_MAJOR) DLLFNAME_POSTFIX " (Windows 32 bit)\000"
-      VALUE "LegalCopyright", "\251 1998-2000 Glenn Randers-Pehrson\000"
+      VALUE "LegalCopyright", "\251 1998-2002 Glenn Randers-Pehrson\000"
       VALUE "OriginalFilename", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_MAJOR) DLLFNAME_POSTFIX ".DLL\000"
 #ifdef PRIVATEBUILD
       VALUE "PrivateBuild", PRIVATEBUILD
diff --git a/projects/msvc/png32ms.def b/projects/msvc/png32ms.def
index 2ee8502..11917a0 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.2beta1
+;Version 1.2.2beta2
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
diff --git a/projects/netware.txt b/projects/netware.txt
index 439b136..ef7a925 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.2beta1-project-netware.zip from a libpng distribution
+libpng-1.2.2beta2-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.2beta1-project-netware.zip"
+"unzip -a libpng-1.2.2beta2-project-netware.zip"
diff --git a/projects/wince.txt b/projects/wince.txt
index 3d4f1d7..eb070b7 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.2beta1-project-wince.zip from a libpng distribution
+libpng-1.2.2beta2-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.2beta1-project-wince.zip"
+"unzip -a libpng-1.2.2beta2-project-wince.zip"
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 52ded49..94ed707 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -18,7 +18,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.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 130a7ef..b26584d 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -1,5 +1,6 @@
 # makefile for libpng on BeOS x86 ELF with gcc
 # modified from makefile.linux by Sander Stoks
+# Copyright (C) 2002 Glenn Randers-Pehrson
 # Copyright (C) 1999 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
 # For conditions of distribution and use, see copyright notice in png.h
@@ -13,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.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 ALIGN=
@@ -67,26 +68,41 @@
 	 $(OBJSDLL)
 
 pngtest: pngtest.o $(LIBNAME).so
-	$(CC) -L$(ZLIBLIB) -lz -lpng -o pngtest pngtest.o
+	$(CC) -L$(ZLIBLIB) -lz -lpng12 -o pngtest pngtest.o
 
 test: pngtest
 	./pngtest
 
-install: libpng.a $(LIBNAME).so.$(PNGVER)
-	-@mkdir $(INCPATH) $(LIBPATH)
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
 	cp png.h pngconf.h $(INCPATH)
 	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
-	-@mkdir $(INCPATH) $(LIBPATH)/$(LIBNAME)
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
+
+install: libpng.a $(LIBNAME).so.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
 	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
-	cp libpng.a $(LIBNAME).so.$(PNGVER) $(LIBPATH)
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -sf $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -sf $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -sf $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).so.$(PNGVER) $(LIBPATH)
 	chmod 755 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
-	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ) $(LIBPATH)/$(LIBNAME).so
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).so
 	(cd $(LIBPATH); ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	 ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 
 clean:
-	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest pngout.png
+	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
+	pngtest pngout.png
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index 4defb96..977259a 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -39,7 +39,7 @@
 # have to change it.
 PNGMAJ = 0
 #PNGDLL = $12
-PNGMIN = 1.2.2beta1
+PNGMIN = 1.2.2beta2
 PNGMIN_BASE = 1.2.2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index d1369ea..23ed83f 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.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -68,20 +68,32 @@
 test: pngtest
 	./pngtest
 
-install: libpng.a $(LIBNAME).dylib
-	-@if [ ! -d $(INCPATH)  ]; then mkdir $(INCPATH); fi
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
 	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
-	-@if [ ! -d $(INCPATH)/$(LIBNAME)  ]; then mkdir $(INCPATH)/$(LIBNAME); fi
 	cp png.h pngconf.h $(INCPATH)
-	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
+
+install: libpng.a $(LIBNAME).dylib
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
-	cp libpng.a $(LIBNAME).$(PNGVER).dylib $(LIBPATH)
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -sf $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -sf $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -sf $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).$(PNGVER).dylib $(LIBPATH)
 	chmod 755 $(LIBPATH)/$(LIBNAME).$(PNGVER).dylib
-	ranlib $(LIBPATH)/libpng.a
-	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).$(PNGMAJ).dylib
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).$(PNGMAJ)*.dylib
 	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).dylib
-	(cd $(LIBPATH); \
+	(cd $(LIBPATH);
 	ln -sf $(LIBNAME).$(PNGVER).dylib $(LIBNAME).$(PNGMAJ).dylib; \
 	ln -sf $(LIBNAME).$(PNGMAJ).dylib $(LIBNAME).dylib)
 
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index bd8c4be..576386a 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -17,7 +17,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.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -53,25 +53,34 @@
 test: pngtest
 	./pngtest
 
-install: libpng.a $(LIBNAME).so.$(PNGVER)
-	-@mkdir $(INCPATH)
-	-@mkdir $(LIBPATH)
-	-@mkdir $(INCPATH)/$(LIBNAME)
-	cp png.h $(INCPATH)
-	cp pngconf.h $(INCPATH)
-	chmod 644 $(INCPATH)/png.h
-	chmod 644 $(INCPATH)/pngconf.h
-	cp png.h $(INCPATH)/$(LIBNAME)
-	cp pngconf.h $(INCPATH)/$(LIBNAME)
-	chmod 644 $(INCPATH)/$(LIBNAME)/png.h
-	chmod 644 $(INCPATH)/$(LIBNAME)/pngconf.h
+
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	cp png.h pngconf.h $(INCPATH)
+	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
 	cp libpng.a $(LIBPATH)
-	cp $(LIBNAME).so.$(PNGVER) $(LIBPATH)
 	chmod 644 $(LIBPATH)/libpng.a
-	chmod 644 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
-	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ) $(LIBPATH)/$(LIBNAME).so
-	(cd $(LIBPATH); ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	 ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+
+install: libpng.a $(LIBNAME).so.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
+	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -f -s $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -f -s $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -f -s $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).so.$(PNGVER) $(LIBPATH)
+	chmod 755 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).so
+	(cd $(LIBPATH); \
+	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
+	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 
 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 abd7aa5..f9261f3 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -15,7 +15,7 @@
 
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=gcc
@@ -112,22 +112,32 @@
 	@echo ""
 	./pngtest-static
 
-install: libpng.a $(LIBNAME).so.$(PNGVER)
-	-@if [ ! -d $(INCPATH)  ]; then mkdir $(INCPATH); fi
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
 	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
-	-@if [ ! -d $(INCPATH)/$(LIBNAME)  ]; then mkdir $(INCPATH)/$(LIBNAME); fi
 	cp png.h pngconf.h $(INCPATH)
-	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
-	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
-	cp libpng.a $(LIBNAME).so.$(PNGVER) $(LIBPATH)
-	chmod 755 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
-	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ) \
-	$(LIBPATH)/$(LIBNAME).so
-	(cd $(LIBPATH); ln -sf $(LIBNAME).so.$(PNGVER) \
-	$(LIBNAME).so.$(PNGMAJ); \
-	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
 
+install: libpng.a $(LIBNAME).so.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
+	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -sf $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -sf $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -sf $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).so.$(PNGVER) $(LIBPATH)
+	chmod 755 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).so
+	(cd $(LIBPATH); ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
+	 ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 clean:
 	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest pngout.png
 
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 0c620ae..7bf3427 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -35,9 +35,9 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
-SHAREDLIB = libpng12
+LIBNAME = libpng12
 
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
@@ -53,43 +53,54 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a $(SHAREDLIB).sl pngtest
+all: libpng.a $(LIBNAME).sl pngtest
 
 libpng.a: $(OBJS)
 	ar rc $@ $(OBJS)
 	$(RANLIB) $@
 
-$(SHAREDLIB).sl: $(SHAREDLIB).sl.$(PNGMAJ)
-	ln -f -s $(SHAREDLIB).sl.$(PNGMAJ) $(SHAREDLIB).sl
+$(LIBNAME).sl: $(LIBNAME).sl.$(PNGMAJ)
+	ln -f -s $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl
 
-$(SHAREDLIB).sl.$(PNGMAJ): $(SHAREDLIB).sl.$(PNGVER)
-	ln -f -s $(SHAREDLIB).sl.$(PNGVER) $(SHAREDLIB).sl.$(PNGMAJ)
+$(LIBNAME).sl.$(PNGMAJ): $(LIBNAME).sl.$(PNGVER)
+	ln -f -s $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ)
 
-$(SHAREDLIB).sl.$(PNGVER): $(OBJSDLL)
+$(LIBNAME).sl.$(PNGVER): $(OBJSDLL)
 	$(LD) -b -L$(ZLIBLIB) +s +b $(ZLIBLIB) \
 	+h libpng.sl.$(PNGMAJ) -o libpng.sl.$(PNGVER) $(OBJSDLL) -lz
 
-pngtest: pngtest.o $(SHAREDLIB).sl
+pngtest: pngtest.o $(LIBNAME).sl
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 test: pngtest
 	./pngtest
 
-install: libpng.a $(SHAREDLIB).sl.$(PNGVER)
-	-@if [ ! -d $(INCPATH)  ]; then mkdir $(INCPATH); fi
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
 	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
-	-@if [ ! -d $(INCPATH)/$(LIBNAME)  ]; then mkdir $(INCPATH)/$(LIBNAME); fi
 	cp png.h pngconf.h $(INCPATH)
-	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
+
+install: libpng.a $(LIBNAME).sl.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
-	cp libpng.a $(SHAREDLIB).sl.$(PNGVER) $(LIBPATH)
-	chmod 755 $(LIBPATH)/$(SHAREDLIB).sl.$(PNGVER)
-	-@/bin/rm -f $(LIBPATH)/$(SHAREDLIB).sl.$(PNGMAJ) \
-	$(LIBPATH)/$(SHAREDLIB).sl
-	(cd $(LIBPATH); ln -sf $(SHAREDLIB).sl.$(PNGVER) \
-	$(SHAREDLIB).sl.$(PNGMAJ); \
-	 ln -sf $(SHAREDLIB).sl.$(PNGMAJ) $(SHAREDLIB).sl)
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -sf $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -sf $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -sf $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).sl.$(PNGVER) $(LIBPATH)
+	chmod 755 $(LIBPATH)/$(LIBNAME).sl.$(PNGVER)
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).sl.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).sl
+	(cd $(LIBPATH); ln -sf $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
+	 ln -sf $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
 
 clean:
 	/bin/rm -f *.o libpng.a $(SHAREDLIB).sl $(SHAREDLIB).sl.$(PNGMAJ)* \
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 14b7315..a835f25 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -19,12 +19,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.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
 # where make install puts libpng.a, libpng12.sl, and png.h
 prefix=/opt/libpng
+LIBPATH=$prefix/lib
+INCPATH=$prefix/include
 
 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
@@ -60,22 +62,31 @@
 test: pngtest
 	./pngtest
 
-install: libpng.a
-	-@mkdir $(prefix)/include
-	-@mkdir $(prefix)/include/$(LIBNAME)
-	-@mkdir $(prefix)/lib
-	cp png.h $(prefix)/include
-	cp pngconf.h $(prefix)/include
-	cp png.h $(prefix)/include/$(LIBNAME)
-	cp pngconf.h $(prefix)/include/$(LIBNAME)
-	chmod 644 $(prefix)/include/png.h
-	chmod 644 $(prefix)/include/pngconf.h
-	chmod 644 $(prefix)/include/$(LIBNAME)/png.h
-	chmod 644 $(prefix)/include/$(LIBNAME)/pngconf.h
-	cp libpng.a $(LIBNAME).sl.$(PNGVER) $(prefix)/lib
-	chmod 644 $(prefix)/lib/libpng.a
-	chmod 755 $(prefix)/lib/$(LIBNAME).sl.$(PNGVER)
-	(cd $(prefix)/lib; \
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	cp png.h pngconf.h $(INCPATH)
+	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
+
+install: libpng.a $(LIBNAME).sl.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
+	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -f -s $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -f -s $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -f -s $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).sl.$(PNGVER) $(LIBPATH)
+	chmod 755 $(LIBPATH)/$(LIBNAME).sl.$(PNGVER)
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).sl.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).sl
+	(cd $(LIBPATH); \
 	ln -f -s $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
 	ln -f -s $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
 
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index e747109..b3fc68e 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -5,7 +5,7 @@
 
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=gcc
@@ -86,21 +86,32 @@
 	@echo ""
 	./pngtest-static
 
-install: libpng.a $(LIBNAME).so.$(PNGVER)
-	-@if [ ! -d $(INCPATH)  ]; then mkdir $(INCPATH); fi
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
 	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
-	-@if [ ! -d $(INCPATH)/$(LIBNAME)  ]; then mkdir $(INCPATH)/$(LIBNAME); fi
 	cp png.h pngconf.h $(INCPATH)
-	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
+
+install: libpng.a $(LIBNAME).so.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
-	cp libpng.a $(LIBNAME).so.$(PNGVER) $(LIBPATH)
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -sf $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -sf $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -sf $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).so.$(PNGVER) $(LIBPATH)
 	chmod 755 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
-	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ) \
-	$(LIBPATH)/$(LIBNAME).so
-	(cd $(LIBPATH); ln -sf $(LIBNAME).so.$(PNGVER) \
-	$(LIBNAME).so.$(PNGMAJ); \
-	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).so
+	(cd $(LIBPATH); ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
+	 ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 
 clean:
 	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNMAJ)* \
diff --git a/scripts/makefile.macosx b/scripts/makefile.macosx
index bf8f76a..5dfaf56 100644
--- a/scripts/makefile.macosx
+++ b/scripts/makefile.macosx
@@ -20,11 +20,12 @@
 LDSHARED=cc -lz -dynamiclib -compatibility_version $(VER) -current_version $(VER)
 
 PNGMAJ = 0
-PNGMIN = 1.2.2beta1
+PNGMIN = 1.2.2beta2
 VER = $(PNGMAJ).$(PNGMIN)
-SHAREDLIB=libpng12
+LIBNAME=libpng12
 SHAREDLIB_POSTFIX=dylib
-libdir=$(prefix)/lib
+LIBPATH=$(prefix)/lib
+INCPATH=$(prefix)/include
 
 #RANLIB=echo
 RANLIB=ranlib
@@ -35,13 +36,13 @@
 
 all: libpng.a pngtest shared
 
-shared: $(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX)
+shared: $(LIBNAME).$(VER).$(SHAREDLIB_POSTFIX)
 
 libpng.a: $(OBJS)
 	ar rc $@  $(OBJS)
 	$(RANLIB) $@
 
-$(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX): $(OBJS)
+$(LIBNAME).$(VER).$(SHAREDLIB_POSTFIX): $(OBJS)
 	$(LDSHARED) -o $@ $(OBJS)
 
 pngtest: pngtest.o libpng.a
@@ -50,31 +51,40 @@
 test: pngtest
 	./pngtest
 
-install: libpng.a
-	-@mkdir $(prefix)/include
-	-@mkdir $(prefix)/lib
-	-@mkdir $(prefix)/include/$(SHAREDLIB)
-	cp png.h $(prefix)/include
-	cp pngconf.h $(prefix)/include
-	cp png.h $(prefix)/include/$(SHAREDLIB)
-	cp pngconf.h $(prefix)/include/$(SHAREDLIB)
-	chmod 644 $(prefix)/include/png.h
-	chmod 644 $(prefix)/include/pngconf.h
-	chmod 644 $(prefix)/include/$(SHAREDLIB)/png.h
-	chmod 644 $(prefix)/include/$(SHAREDLIB)/pngconf.h
-	cp libpng.a $(prefix)/lib
-	chmod 644 $(prefix)/lib/libpng.a
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	cp png.h pngconf.h $(INCPATH)
+	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
 
-install-shared: $(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX)
-	cp $(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX) $(libdir)
-	(cd $(libdir); \
-	ln -s $(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX) \
-	$(SHAREDLIB).$(SHAREDLIB_POSTFIX)) 
+install: libpng.a $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
+	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -sf $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -sf $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -sf $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) $(LIBPATH)
+	chmod 755 $(LIBPATH)/$(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX)
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).$(PNGMAJ)*.$(SHAREDLIB_POSTFIX)
+	-@/bin/rm -f$(LIBPATH)/$(LIBNAME).$(SHAREDLIB_POSTFIX)
+	(cd $(LIBPATH); ln -sf $(LIBNAME).$(PNGVER).$(SHAREDLIB_POSTFIX) \
+	$(LIBNAME).$(PNGMAJ).$(SHAREDLIB_POSTFIX); \
+	ln -sf $(LIBNAME).$(PNGMAJ).$(SHAREDLIB_POSTFIX) \
+	$(LIBNAME).$(SHAREDLIB_POSTFIX))
 
 clean:
 	rm -f *.o libpng.a pngtest pngout.png \
-	$(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX) \
-	$(SHAREDLIB).$(SHAREDLIB_POSTFIX)
+	$(LIBNAME).$(VER).$(SHAREDLIB_POSTFIX) \
+	$(LIBNAME).$(SHAREDLIB_POSTFIX)
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 615c80f..45e8c3c 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,7 +13,7 @@
 LIB=png
 # Shared lib name should be png12.
 SHLIB_MAJOR= 0
-SHLIB_MINOR= 1.2.2beta1
+SHLIB_MINOR= 1.2.2beta2
 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 5eb1b37..ff7fb37 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -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.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -65,15 +65,30 @@
 test: pngtest
 	./pngtest
 
-install: libpng.a $(LIBNAME).so.$(PNGVER)
-	-@mkdir $(INCPATH) $(LIBPATH) $(INCPATH)/$(LIBNAME)
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
 	cp png.h pngconf.h $(INCPATH)
-	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
+
+install: libpng.a $(LIBNAME).so.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
-	cp libpng.a $(LIBNAME).so.$(PNGVER) $(LIBPATH)
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -f -s $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -f -s $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -f -s $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).so.$(PNGVER) $(LIBPATH)
 	chmod 755 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
-	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ) $(LIBPATH)/$(LIBNAME).so
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).so
 	(cd $(LIBPATH); \
 	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index ffd46a5..50912e2 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -23,12 +23,13 @@
 LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
 LDSHARED=CC $(ABI) -shared
 
-VER=1.2.2beta1
+PNGMAJ = 0
+PNGMIN = 1.2.2beta2
+PNGVER = $(PNGMAJ).$(PNGMIN)
 # See "man dso" for info about shared objects
-SONUM=0
-LIBS=libpng12.so.$(SONUM).$(VER)
-SHAREDLIB=libpng12.so
-libdir=$(prefix)/lib32
+LIBS=libpng12.so.$(PNGMAJ).$(PNGVER)
+LIBNAME=libpng12
+LIBPATH=$(prefix)/lib32
 
 RANLIB=echo
 #RANLIB=ranlib
@@ -37,17 +38,17 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
 
-all: libpng.a $(SHAREDLIB).$(VER) pngtest
+all: libpng.a $(LIBNAME).so.$(PNGVER) pngtest
 
 libpng.a: $(OBJS)
 	ar rc $@  $(OBJS)
 	$(RANLIB) $@
 
-$(SHAREDLIB).$(VER): $(OBJS)
+$(LIBNAME).so.$(PNGVER): $(OBJS)
 	$(LDSHARED) -o $@ $(OBJS)
-	rm -f $(SHAREDLIB) $(SHAREDLIB).$(SONUM)
-	ln -s $@ $(SHAREDLIB)
-	ln -s $@ $(SHAREDLIB).$(SONUM)
+	rm -f $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)
+	ln -s $@ $(LIBNAME).so
+	ln -s $@ $(LIBNAME).so.$(PNGMAJ)
 
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -55,25 +56,32 @@
 test: pngtest
 	./pngtest
 
-install: libpng.a
-	-@mkdir $(prefix)/include
-	-@mkdir $(prefix)/lib
-	cp png.h pngconf.h $(prefix)/include
-	chmod 644 $(prefix)/include/png.h
-	chmod 644 $(prefix)/include/pngconf.h
-	cp libpng.a $(prefix)/lib
-	chmod 644 $(prefix)/lib/libpng.a
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	cp png.h pngconf.h $(INCPATH)
+	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
 
-install-shared: $(SHAREDLIB).$(VER)
-	-@mkdir $(prefix)/include/libpng12
-	cp png.h pngconf.h $(prefix)/include/libpng12
-	chmod 644 $(prefix)/include/libpng12/png.h
-	chmod 644 $(prefix)/include/libpng12/pngconf.h
-	cp $(SHAREDLIB).$(VER) $(libdir); chmod 755 $(SHAREDLIB).$(VER)
-	(cd $(libdir); if test -f $(SHAREDLIB).$(VER); then \
-	rm -f $(SHAREDLIB) $(SHAREDLIB).$(SONUM); \
-	ln -s $(SHAREDLIB).$(VER) $(SHAREDLIB); \
-	ln -s $(SHAREDLIB).$(VER) $(SHAREDLIB).$(SONUM); \
+install: libpng.a $(LIBNAME).so.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
+	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -sf $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -sf $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -sf $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).so.$(PNGVER) $(LIBPATH)
+	chmod 755 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).so
+	(cd $(LIBPATH); ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
+	 ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 	(ldconfig || true)  >/dev/null 2>&1; \
 	fi)
 
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index d96a7f2..1618ae7 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -28,10 +28,11 @@
 LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
 LDSHARED=cc $(ABI) -shared
 
-VER=1.2.2beta1
 # See "man dso" for info about shared objects
-SONUM=0
-SHAREDLIB=libpng12.so
+LIBNAME=libpng12
+PNGMAJ = 0
+PNGMIN = 1.2.2beta2
+PNGVER = $(PNGMAJ).$(PNGMIN)
 
 RANLIB=echo
 #RANLIB=ranlib
@@ -46,17 +47,17 @@
 
 all: libpng.a pngtest shared
 
-shared: $(SHAREDLIB).$(SONUM).$(VER)
+shared: $(LIBNAME).so.$(PNGMAJ).$(PNGVER)
 
 libpng.a: $(OBJS)
 	ar rc $@  $(OBJS)
 	$(RANLIB) $@
 
-$(SHAREDLIB).$(SONUM).$(VER): $(OBJS)
+$(LIBNAME).so.$(PNGVER): $(OBJS)
 	$(LDSHARED) -o $@ $(OBJS)
-	rm -f $(SHAREDLIB) $(SHAREDLIB).$(SONUM)
-	ln -s $@ $(SHAREDLIB)
-	ln -s $@ $(SHAREDLIB).$(SONUM)
+	rm -f $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)
+	ln -s $@ $(LIBNAME).so
+	ln -s $@ $(LIBNAME).so.$(PNGMAJ)
 
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -64,33 +65,36 @@
 test: pngtest
 	./pngtest
 
-install: libpng.a
-	-@mkdir $(INCPATH)
-	-@mkdir $(LIBPATH)
-	cp png.h $(INCPATH)
-	cp pngconf.h $(INCPATH)
-	chmod 644 $(INCPATH)/png.h
-	chmod 644 $(INCPATH)/pngconf.h
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	cp png.h pngconf.h $(INCPATH)
+	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
 	cp libpng.a $(LIBPATH)
 	chmod 644 $(LIBPATH)/libpng.a
 
-install-shared: $(SHAREDLIB).$(SONUM).$(VER)
-	-@mkdir $(LIBPATH)
-	-@mkdir $(INCPATH)
-	-@mkdir $(INCPATH)/libpng12
-	cp png.h $(INCPATH)/libpng12
-	cp pngconf.h $(INCPATH)/libpng12
-	chmod 644 $(INCPATH)/libpng12/png.h
-	chmod 644 $(INCPATH)/libpng12/pngconf.h
-	cp $(SHAREDLIB).$(SONUM).$(VER) $(LIBPATH)
-	chmod 755 $(SHAREDLIB).$(SONUM).$(VER)
-	(cd $(LIBPATH); if test -f $(SHAREDLIB).$(SONUM).$(VER); then \
-	rm -f $(SHAREDLIB) $(SHAREDLIB).$(SONUM); \
-	ln -s $(SHAREDLIB).$(SONUM).$(VER) $(SHAREDLIB).$(SONUM); \
-	ln -s $(SHAREDLIB).$(SONUM) $(SHAREDLIB))
+install: libpng.a $(LIBNAME).so.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
+	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -sf $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -sf $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -sf $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).so.$(PNGVER) $(LIBPATH)
+	chmod 755 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).so
+	(cd $(LIBPATH); ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
+	 ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 
 clean:
-	rm -f *.o libpng.a pngtest pngout.png $(SHAREDLIB) $(SHAREDLIB).$(SONUM)*
+	rm -f *.o libpng.a pngtest pngout.png $(LIBNAME).so \
+	$(LIBNAME).so.$(PNGMAJ)*
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index b4ae0b4..af421f5 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -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.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
@@ -87,16 +87,30 @@
 test: pngtest
 	./pngtest
 
-install: libpng.a $(LIBNAME).so.$(PNGVER)
-	-@mkdir $(INCPATH) $(LIBPATH)
-	-@mkdir $(INCPATH)/$(LIBNAME)
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
 	cp png.h pngconf.h $(INCPATH)
-	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
+
+install: libpng.a $(LIBNAME).so.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
 	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
-	cp libpng.a $(LIBNAME).so.$(PNGVER) $(LIBPATH)
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -f -s $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -f -s $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -f -s $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).so.$(PNGVER) $(LIBPATH)
 	chmod 755 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
-	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ) $(LIBPATH)/$(LIBNAME).so
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).so
 	(cd $(LIBPATH); \
 	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
 	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index b69abb7..4a9cafc 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -32,8 +32,9 @@
 # read libpng.txt or png.h to see why PNGMAJ is 0.  You should not
 # have to change it.
 PNGMAJ = 0
-PNGMIN = 1.2.2beta1
+PNGMIN = 1.2.2beta2
 PNGVER = $(PNGMAJ).$(PNGMIN)
+LIBNAME = libpng12
 
 INCPATH=$(prefix)/include
 LIBPATH=$(prefix)/lib
@@ -49,19 +50,19 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a libpng12.so pngtest
+all: libpng.a $(LIBNAME).so pngtest
 
 libpng.a: $(OBJS)
 	ar rc $@ $(OBJS)
 	$(RANLIB) $@
 
-libpng12.so: libpng12.so.$(PNGMAJ)
-	ln -f -s libpng12.so.$(PNGMAJ) libpng12.so
+$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
+	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
 
-libpng12.so.$(PNGMAJ): libpng12.so.$(PNGVER)
-	ln -f -s libpng12.so.$(PNGVER) libpng12.so.$(PNGMAJ)
+$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
+	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
 
-libpng12.so.$(PNGVER): $(OBJSDLL)
+$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
 	@case "`type ld`" in *ucb*) \
 	echo; \
 	echo '## WARNING:'; \
@@ -74,33 +75,45 @@
 	echo; \
 	;; \
 	esac
-	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h libpng12.so.$(PNGMAJ) \
-	 -o libpng12.so.$(PNGVER) $(OBJSDLL) -lz
+	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBNAME).so.$(PNGMAJ) \
+	 -o $(LIBNAME).so.$(PNGVER) $(OBJSDLL) -lz
 
-pngtest: pngtest.o libpng12.so
+pngtest: pngtest.o $(LIBNAME).so
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 test: pngtest
 	./pngtest
 
-install: libpng.a libpng12.so.$(PNGVER)
-	-@mkdir $(INCPATH) $(LIBPATH)
-	-@mkdir $(INCPATH)/libpng12
-	cp png.h pngconf.h $(INCPATH)/libpng12
-	cp png.h pngconf.h $(INCPATH)/libpng12
+install-static: libpng.a
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	cp png.h pngconf.h $(INCPATH)
 	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
-	chmod 644 $(INCPATH)/libpng12/png.h \
-	$(INCPATH)/libpng12/pngconf.h
-	cp libpng.a libpng12.so.$(PNGVER) $(LIBPATH)
-	chmod 755 $(LIBPATH)/libpng12.so.$(PNGVER)
-	-@/bin/rm -f $(LIBPATH)/libpng12.so.$(PNGMAJ) \
-	$(LIBPATH)/libpng12.so
-	(cd $(LIBPATH); \
-	ln -f -s libpng12.so.$(PNGVER) libpng12.so.$(PNGMAJ); \
-	ln -f -s libpng12.so.$(PNGMAJ) libpng12.so)
+	cp libpng.a $(LIBPATH)
+	chmod 644 $(LIBPATH)/libpng.a
+
+install: libpng.a $(LIBNAME).so.$(PNGVER)
+	-@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	-@if [ ! -d $(INCPATH)/$(LIBNAME) ]; then mkdir $(INCPATH)/$(LIBNAME); fi
+	cp png.h pngconf.h $(INCPATH)/$(LIBNAME)
+	chmod 644 $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)/$(LIBNAME)/pngconf.h
+	-@/bin/rm -f $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	ln -f -s $(INCPATH)/$(LIBNAME)/png.h $(INCPATH)
+	ln -f -s $(INCPATH)/$(LIBNAME)/pngconf.h $(INCPATH)
+	cp libpng.a $(LIBPATH)/$(LIBNAME).a
+	chmod 644 $(LIBPATH)/$(LIBNAME).a
+	-@/bin/rm -f $(LIBPATH)/libpng.a
+	ln -f -s $(LIBPATH)/$(LIBNAME).a $(LIBPATH)/libpng.a
+	cp $(LIBNAME).so.$(PNGVER) $(LIBPATH)
+	chmod 755 $(LIBPATH)/$(LIBNAME).so.$(PNGVER)
+	-@/bin/rm -f $(LIBPATH)/$(LIBNAME).so.$(PNGMAJ)* $(LIBPATH)/$(LIBNAME).so
+	(cd $(LIBPATH);
+	ln -f -s $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
+	ln -f -s $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
 
 clean:
-	/bin/rm -f *.o libpng.a libpng12.so libpng12.so.$(PNGMAJ)* \
+	/bin/rm -f *.o libpng.a $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
 	pngtest pngout.png
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index cec3517..db50439 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -7,7 +7,7 @@
 interface
 
 const
-  PNG_LIBPNG_VER_STRING = '1.2.2beta1';
+  PNG_LIBPNG_VER_STRING = '1.2.2beta2';
   PNG_LIBPNG_VER        =  10202;
 
 type
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index c50b1b3..27c807f 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.2.2beta1
+; Version 1.2.2beta2
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"