diff --git a/ANNOUNCE b/ANNOUNCE
index e14d5c3..9438c33 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.0.4 - September 17, 1999
+Libpng 1.0.4 - September 18, 1999
 
 This is a public release of libpng, intended for use in production codes.
 
@@ -49,6 +49,7 @@
   Define PNG_ALWAYS_EXTERN in pngconf.h if __STDC__ is defined
   Made several minor corrections to pngtest.c
   Changed "hptr += 16L" to "hptr = hptr + 16L" in pngmem.c for Turbo 3.0
+  Renamed the makefiles with longer but more user friendly extensions
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index c0e416b..1e7e9ce 100644
--- a/CHANGES
+++ b/CHANGES
@@ -436,7 +436,8 @@
   Fixed type casting of igamma in pngrutil.c
   Added new png_expand functions to scripts/pngdef.pas and pngos2.def
   Added a demo read_user_transform_fn that examines the row filters in pngtest.c
-version 1.0.4 [September 17, 1999]
+version 1.0.4 [September 18, 1999]
   Define PNG_ALWAYS_EXTERN in pngconf.h if __STDC__ is defined
   Delete #define PNG_INTERNAL and include "png.h" from pngasmrd.h
   Made several minor corrections to pngtest.c
+  Renamed the makefiles with longer but more user friendly extensions
diff --git a/INSTALL b/INSTALL
index 2ed6932..ba56844 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.0.4 - September 17, 1999
+Installing libpng version 1.0.4 - September 18, 1999
 
 Before installing libpng, you must first install zlib.  zlib
 can usually be found wherever you got libpng.  zlib can be
@@ -38,37 +38,38 @@
 The files that are presently available in the scripts directory
 include
 
-      descrip.mms   =>  VMS makefile for MMS or MMK
-      makefile.std  =>  Generic UNIX makefile
-      makefile.knr  =>  Archaic UNIX Makefile that converts files with ansi2knr
-                        (Requires ansi2knr.c from ftp://ftp.cs.wisc.edu/ghost)
-      makefile.dec  =>  DEC Alpha UNIX makefile
-      makefile.hux  =>  HPUX (10.20 and 11.00) makefile
-      makefile.sgi  =>  Silicon Graphics IRIX makefile
-      makefile.sun  =>  Sun makefile
-      makefile.s2x  =>  Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.4)
-      makefile.lnx  =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.4)
-      makefile.sco  =>  For SCO OSr5  ELF and Unixware 7 with Native cc
-      makefile.mip  =>  MIPS makefile
-      makefile.aco  =>  Acorn makefile
-      makefile.ama  =>  Amiga makefile
-      smakefile.ppc =>  AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
-                        (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
-      makefile.atr  =>  Atari makefile
-      makefile.beo  =>  BEOS makefile for X86
-      makefile.bor  =>  Borland makefile
-      build.bat     =>  MS-DOS batch file for Borland compiler
-      makefile.dj2  =>  DJGPP 2 makefile
-      makefile.msc  =>  Microsoft C makefile
-      makefile.w32  =>  makefile for Microsoft Visual C++ 4.0 and later
-      makefile.tc3  =>  Turbo C 3.0 makefile
-      makefile.os2  =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
-      pngos2.def    =>  OS/2 module definition file used by makefile.os2
-      makefile.wat  =>  Watcom 10a+ Makefile, 32-bit flat memory model
-      makevms.com   =>  VMS build script
-      pngdll.mak    =>  To make a png32bd.dll with Borland C++ 4.5
-      pngdef.pas    =>  Defines for a png32bd.dll with Borland C++ 4.5
-      SCOPTIONS.ppc =>  Used with smakefile.ppc
+ descrip.mms      =>  VMS makefile for MMS or MMK
+ makefile.std     =>  Generic UNIX makefile
+ makefile.knr     =>  Archaic UNIX Makefile that converts files with
+                      ansi2knr (Requires ansi2knr.c from
+                      ftp://ftp.cs.wisc.edu/ghost)
+ makefile.dec     =>  DEC Alpha UNIX makefile
+ makefile.hpux    =>  HPUX (10.20 and 11.00) makefile
+ makefile.sgi     =>  Silicon Graphics IRIX makefile
+ makefile.sunos   =>  Sun makefile
+ makefile.solaris =>  Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.4)
+ makefile.linux   =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.4)
+ makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
+ makefile.mips    =>  MIPS makefile
+ makefile.acorn   =>  Acorn makefile
+ makefile.amiga   =>  Amiga makefile
+ smakefile.ppc    =>  AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
+                   (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
+ makefile.atari   =>  Atari makefile
+ makefile.beos    =>  BEOS makefile for X86
+ makefile.borland =>  Borland makefile
+ build.bat        =>  MS-DOS batch file for Borland compiler
+ makefile.dj2     =>  DJGPP 2 makefile
+ makefile.msc     =>  Microsoft C makefile
+ makefile.win32vc =>  makefile for Microsoft Visual C++ 4.0 and later
+ makefile.turboc3 =>  Turbo C 3.0 makefile
+ makefile.os2     =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
+ pngos2.def       =>  OS/2 module definition file used by makefile.os2
+ makefile.watcom  =>  Watcom 10a+ Makefile, 32-bit flat memory model
+ makevms.com      =>  VMS build script
+ pngdll.mak       =>  To make a png32bd.dll with Borland C++ 4.5
+ pngdef.pas       =>  Defines for a png32bd.dll with Borland C++ 4.5
+ SCOPTIONS.ppc    =>  Used with smakefile.ppc
 
 Copy the file (or files) that you need from the
 scripts directory into this directory, for example
diff --git a/README b/README
index 6281b22..750468e 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.0.4 - September 17, 1999 (shared library 2.1)
+README for libpng 1.0.4 - September 18, 1999 (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.
@@ -153,37 +153,41 @@
       pngwtran.c    =>  Write data transformations
       pngwutil.c    =>  Write utility functions
       scripts       =>  Directory containing scripts for building libpng:
-        descrip.mms   => VMS makefile for MMS or MMK
-        makefile.std  => Generic UNIX makefile
-        makefile.knr  => Archaic UNIX Makefile that converts files with ansi2knr
-                        (Requires ansi2knr.c from ftp://ftp.cs.wisc.edu/ghost)
-        makefile.dec  => DEC Alpha UNIX makefile
-        makefile.hux  => HPUX (10.20 and 11.00) makefile
-        makefile.sgi  => Silicon Graphics IRIX makefile
-        makefile.sun  => Sun makefile
-        makefile.s2x  => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0)
-        makefile.lnx  => Linux/ELF makefile (gcc, creates libpng.so.2.1.0)
-        makefile.sco  => For SCO OSr5  ELF and Unixware 7 with Native cc
-        makefile.mip  => MIPS makefile
-        makefile.aco  => Acorn makefile
-        makefile.ama  => Amiga makefile
-        smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
-                         (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
-        makefile.atr  => Atari makefile
-        makefile.beo  => BEOS makefile for X86
-        makefile.bor  => Borland makefile
-        build.bat     => MS-DOS batch file for Borland compiler
-        makefile.dj2  => DJGPP 2 makefile
-        makefile.msc  => Microsoft C makefile
-        makefile.w32  => makefile for Microsoft Visual C++ 4.0 and later
-        makefile.tc3  => Turbo C 3.0 makefile
-        makefile.os2  => OS/2 Makefile (gcc and emx, requires pngos2.def)
-        pngos2.def    => OS/2 module definition file used by makefile.os2
-        makefile.wat  => Watcom 10a+ Makefile, 32-bit flat memory model
-        makevms.com   => VMS build script
-        pngdll.mak    => To make a png32bd.dll with Borland C++ 4.5
-        pngdef.pas    => Defines for a png32bd.dll with Borland C++ 4.5
-        SCOPTIONS.ppc => Used with smakefile.ppc
+       descrip.mms      =>  VMS makefile for MMS or MMK
+       makefile.std     =>  Generic UNIX makefile
+       makefile.knr     =>  Archaic UNIX Makefile that converts files with
+                            ansi2knr (Requires ansi2knr.c from
+                            ftp://ftp.cs.wisc.edu/ghost)
+       makefile.dec     =>  DEC Alpha UNIX makefile
+       makefile.hpux    =>  HPUX (10.20 and 11.00) makefile
+       makefile.sgi     =>  Silicon Graphics IRIX makefile
+       makefile.sunos   =>  Sun makefile
+       makefile.solaris =>  Solaris 2.X makefile
+                            (gcc, creates libpng.so.2.1.0.4)
+       makefile.linux   =>  Linux/ELF makefile
+                            (gcc, creates libpng.so.2.1.0.4)
+       makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
+       makefile.mips    =>  MIPS makefile
+       makefile.acorn   =>  Acorn makefile
+       makefile.amiga   =>  Amiga makefile
+       smakefile.ppc    =>  AMIGA smakefile for SAS C V6.58/7.00 PPC
+                            compiler (Requires SCOPTIONS, copied from
+                            scripts/SCOPTIONS.ppc)
+       makefile.atari   =>  Atari makefile
+       makefile.beos    =>  BEOS makefile for X86
+       makefile.borland =>  Borland makefile
+       build.bat        =>  MS-DOS batch file for Borland compiler
+       makefile.dj2     =>  DJGPP 2 makefile
+       makefile.msc     =>  Microsoft C makefile
+       makefile.win32vc =>  makefile for Microsoft Visual C++ 4.0 and later
+       makefile.turboc3 =>  Turbo C 3.0 makefile
+       makefile.os2     =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
+       pngos2.def       =>  OS/2 module definition file used by makefile.os2
+       makefile.watcom  =>  Watcom 10a+ Makefile, 32-bit flat memory model
+       makevms.com      =>  VMS build script
+       pngdll.mak       =>  To make a png32bd.dll with Borland C++ 4.5
+       pngdef.pas       =>  Defines for a png32bd.dll with Borland C++ 4.5
+       SCOPTIONS.ppc    =>  Used with smakefile.ppc
 
 Good luck, and happy coding.
 
diff --git a/libpng.3 b/libpng.3
index 47091d4..acbaee2 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "September 17, 1999"
+.TH LIBPNG 3 "September 18, 1999"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.4 - September 17, 1999
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.4 - September 18, 1999
 .SH SYNOPSIS
 \fI\fB
 
@@ -617,7 +617,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.4 - September 17, 1999
+ libpng version 1.0.4 - September 18, 1999
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998, 1999 Glenn Randers-Pehrson
@@ -2815,7 +2815,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
   
-Libpng version 1.0.4 - September 17, 1999:
+Libpng version 1.0.4 - September 18, 1999:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
 
diff --git a/libpng.txt b/libpng.txt
index f0171b1..a68f335 100644
--- a/libpng.txt
+++ b/libpng.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.4 - September 17, 1999
+ libpng version 1.0.4 - September 18, 1999
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998, 1999 Glenn Randers-Pehrson
diff --git a/png.5 b/png.5
index 1c088ec..c3e4710 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "September 17, 1999"
+.TH PNG 5 "September 18, 1999"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index d564783..1cec376 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng version 1.0.4 - September 17, 1999
+ * libpng version 1.0.4 - September 18, 1999
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
@@ -352,7 +352,7 @@
 {
    if(png_ptr == NULL)
      /* silence compiler warning about unused png_ptr */ ;
-   return("\n libpng version 1.0.4 - September 17, 1999\n\
+   return("\n libpng version 1.0.4 - September 18, 1999\n\
    Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n\
    Copyright (c) 1996, 1997 Andreas Dilger\n\
    Copyright (c) 1998, 1999 Glenn Randers-Pehrson\n");
diff --git a/png.h b/png.h
index 0c17b05..571ddfa 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.0.4 - September 17, 1999
+ * libpng version 1.0.4 - September 18, 1999
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
@@ -9,7 +9,7 @@
  * Authors and maintainers:
  *  libpng versions 0.71, May 1995, through 0.89c, May 1996: Guy Schalnat
  *  libpng versions 0.90, December 1996, through 0.96, May 1997: Andreas Dilger
- *  libpng versions 0.97, January 1998, through 1.0.4 - September 17, 1999: Glenn R-P
+ *  libpng versions 0.97, January 1998, through 1.0.4 - September 18, 1999: Glenn R-P
  *  See also "Contributing Authors", below.
  *
  * Y2K compliance in libpng:
@@ -137,7 +137,7 @@
  * Copyright (c) 1996, 1997 Andreas Dilger
  * (libpng versions 0.90, December 1996, through 0.96, May 1997)
  * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
- * (libpng versions 0.97, January 1998, through 1.0.4 - September 17, 1999)
+ * (libpng versions 0.97, January 1998, through 1.0.4 - September 18, 1999)
  *
  * The PNG Reference Library is supplied "AS IS".  The Contributing Authors
  * and Group 42, Inc. disclaim all warranties, expressed or implied,
@@ -1605,7 +1605,7 @@
 {
    if(png_ptr == NULL)
      /* silence compiler warning about unused png_ptr */ ;
-   return("\n libpng version 1.0.4 - September 17, 1999 (header)\n");
+   return("\n libpng version 1.0.4 - September 18, 1999 (header)\n");
 }
 #endif
 
diff --git a/pngasmrd.h b/pngasmrd.h
index 50bc229..1b3c962 100644
--- a/pngasmrd.h
+++ b/pngasmrd.h
@@ -1,6 +1,6 @@
 /* pngasmrd.h - assembler version of utilities to read a PNG file
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1999 Glenn Randers-Pehrson
  *
@@ -21,7 +21,7 @@
 /* Set this in the makefile for gcc on Pentium, not in pngconf.h */
 #ifdef PNG_USE_PNGGCCRD
 /* Platform must be Pentium.  Makefile must assemble and load pnggccrd.c
- * (not available in libpng-1.0.3a).
+ * (not available in libpng 1.0.4).
  * MMX will be detected at run time and used if present.
  */
 #define PNG_HAVE_ASSEMBLER_COMBINE_ROW
diff --git a/pngconf.h b/pngconf.h
index 05e84e0..b23d38b 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
@@ -658,23 +658,31 @@
 typedef charf * FAR *   png_zcharpp;
 typedef z_stream FAR *  png_zstreamp;
 
-/* allow for compilation as dll under MS Windows */
-#ifdef __WIN32DLL__
-#define PNG_EXPORT(type,symbol) __declspec(dllexport) type symbol
-#endif
 
-/* allow for compilation as dll with BORLAND C++ 5.0 */
-#if defined(__BORLANDC__) && defined(_Windows) && defined(__DLL__)
-#   define PNG_EXPORT(type,symbol) type _export symbol
-#endif
+#ifndef PNG_EXPORT
+   /* allow for compilation as dll under MS Windows */
+#  ifdef __WIN32DLL__
+#    define PNG_EXPORT(type,symbol) __declspec(dllexport) type symbol
+#  endif
 
-/* allow for compilation as shared lib under BeOS */
-#ifdef __BEOSDLL__
-#define PNG_EXPORT(type,symbol) __declspec(export) type symbol
+   /* this variant is used in Mozilla; may correspond to MSVC++ 6.0 changes */
+#  ifdef ALT_WIN32_DLL
+#    define PNG_EXPORT(type,symbol) type __attribute__((dllexport)) symbol
+#  endif
+
+   /* allow for compilation as dll with Borland C++ 5.0 */
+#  if defined(__BORLANDC__) && defined(_Windows) && defined(__DLL__)
+#    define PNG_EXPORT(type,symbol) type _export symbol
+#  endif
+
+   /* allow for compilation as shared lib under BeOS */
+#  ifdef __BEOSDLL__
+#    define PNG_EXPORT(type,symbol) __declspec(export) type symbol
+#  endif
 #endif
 
 #ifndef PNG_EXPORT
-#define PNG_EXPORT(type,symbol) type symbol
+#  define PNG_EXPORT(type,symbol) type symbol
 #endif
 
 
diff --git a/pngerror.c b/pngerror.c
index 73b2f96..ae113a7 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngget.c b/pngget.c
index 582ca71..14e66a4 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngmem.c b/pngmem.c
index 8cc220d..637fa03 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngpread.c b/pngpread.c
index efc55e9..2429dba 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngread.c b/pngread.c
index 36df20a..4c0f3ed 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngrio.c b/pngrio.c
index bf624e8..4e04a3e 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngrtran.c b/pngrtran.c
index 8a4d6d2..f86d83c 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngrutil.c b/pngrutil.c
index 3919fce..3e9c708 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.0.3b - August 26, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngset.c b/pngset.c
index 07fc581..9e40996 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngtest.c b/pngtest.c
index 30decde..cff2362 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngtrans.c b/pngtrans.c
index 998d363..e5d8770 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,7 +1,7 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngvcrd.c b/pngvcrd.c
index 57d3b1a..df92455 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
  *
  * For Intel CPU and Microsoft Visual C++ compiler
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, Intel Corporation
  * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
diff --git a/pngwio.c b/pngwio.c
index 4228df3..f332d15 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngwrite.c b/pngwrite.c
index 8809123..5afad37 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngwtran.c b/pngwtran.c
index 7fed233..d4ba4fe 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/pngwutil.c b/pngwutil.c
index e7a6a3c..35ab558 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.0.4 - September 17, 1999
+ * libpng 1.0.4 - September 18, 1999
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
diff --git a/scripts/makefile.aco b/scripts/makefile.acorn
similarity index 100%
rename from scripts/makefile.aco
rename to scripts/makefile.acorn
diff --git a/scripts/makefile.ama b/scripts/makefile.amiga
similarity index 100%
rename from scripts/makefile.ama
rename to scripts/makefile.amiga
diff --git a/scripts/makefile.atr b/scripts/makefile.atari
similarity index 100%
rename from scripts/makefile.atr
rename to scripts/makefile.atari
diff --git a/scripts/makefile.beo b/scripts/makefile.beos
similarity index 98%
rename from scripts/makefile.beo
rename to scripts/makefile.beos
index 8265012..bc7be4a 100644
--- a/scripts/makefile.beo
+++ b/scripts/makefile.beos
@@ -11,7 +11,7 @@
 ZLIBINC=/usr/local/include
 
 ALIGN=
-# For I-386:
+# For i386:
 # ALIGN=-malign-loops=2 -malign-functions=2
 
 WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
@@ -31,7 +31,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.3
+PNGMIN = 1.0.4
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # where make install puts libpng.a, libpng.so*, and png.h
diff --git a/scripts/makefile.bor b/scripts/makefile.borland
similarity index 100%
rename from scripts/makefile.bor
rename to scripts/makefile.borland
diff --git a/scripts/makefile.hux b/scripts/makefile.hpux
similarity index 100%
rename from scripts/makefile.hux
rename to scripts/makefile.hpux
diff --git a/scripts/makefile.lnx b/scripts/makefile.linux
similarity index 89%
rename from scripts/makefile.lnx
rename to scripts/makefile.linux
index 95564b6..4201201 100644
--- a/scripts/makefile.lnx
+++ b/scripts/makefile.linux
@@ -1,11 +1,11 @@
 # makefile for libpng on Linux ELF with gcc
 # Copyright (C) 1996, 1997 Andreas Dilger
-# Copyright (C) 1998 Greg Roelofs
+# Copyright (C) 1998, 1999 Greg Roelofs
 # For conditions of distribution and use, see copyright notice in png.h
 
 CC=gcc
 
-# where make install puts libpng.a, libpng.so*, and png.h
+# where "make install" puts libpng.a, libpng.so*, png.h and pngconf.h
 prefix=/usr/local
 
 # Where the zlib library and include files are located
@@ -15,7 +15,7 @@
 ZLIBINC=../zlib
 
 ALIGN=
-# For I-386:
+# for i386:
 #ALIGN=-malign-loops=2 -malign-functions=2
 
 WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
@@ -56,10 +56,10 @@
 	$(RANLIB) $@
 
 libpng.so: libpng.so.$(PNGMAJ)
-	ln -f -s libpng.so.$(PNGMAJ) libpng.so
+	ln -sf libpng.so.$(PNGMAJ) libpng.so
 
 libpng.so.$(PNGMAJ): libpng.so.$(PNGVER)
-	ln -f -s libpng.so.$(PNGVER) libpng.so.$(PNGMAJ)
+	ln -sf libpng.so.$(PNGVER) libpng.so.$(PNGMAJ)
 
 libpng.so.$(PNGVER): $(OBJSDLL)
 	$(CC) -shared -Wl,-soname,libpng.so.$(PNGMAJ) -o libpng.so.$(PNGVER) \
@@ -78,8 +78,8 @@
 	cp libpng.a libpng.so.$(PNGVER) $(LIBPATH)
 	chmod 755 $(LIBPATH)/libpng.so.$(PNGVER)
 	-@/bin/rm -f $(LIBPATH)/libpng.so.$(PNGMAJ) $(LIBPATH)/libpng.so
-	(cd $(LIBPATH); ln -f -s libpng.so.$(PNGVER) libpng.so.$(PNGMAJ); \
-	 ln -f -s libpng.so.$(PNGMAJ) libpng.so)
+	(cd $(LIBPATH); ln -sf libpng.so.$(PNGVER) libpng.so.$(PNGMAJ); \
+	 ln -sf libpng.so.$(PNGMAJ) libpng.so)
 
 clean:
 	/bin/rm -f *.o libpng.a libpng.so* pngtest pngout.png
diff --git a/scripts/makefile.mip b/scripts/makefile.mips
similarity index 100%
rename from scripts/makefile.mip
rename to scripts/makefile.mips
diff --git a/scripts/makefile.s2x b/scripts/makefile.solaris
similarity index 100%
rename from scripts/makefile.s2x
rename to scripts/makefile.solaris
diff --git a/scripts/makefile.sun b/scripts/makefile.sunos
similarity index 100%
rename from scripts/makefile.sun
rename to scripts/makefile.sunos
diff --git a/scripts/makefile.tc3 b/scripts/makefile.turboc3
similarity index 100%
rename from scripts/makefile.tc3
rename to scripts/makefile.turboc3
diff --git a/scripts/makefile.wat b/scripts/makefile.watcom
similarity index 100%
rename from scripts/makefile.wat
rename to scripts/makefile.watcom
diff --git a/scripts/makefile.w32 b/scripts/makefile.win32vc
similarity index 100%
rename from scripts/makefile.w32
rename to scripts/makefile.win32vc
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 2c8eaa4..94e859a 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -3,8 +3,8 @@
 interface
 
 const
-  PNG_LIBPNG_VER_STRING = '1.0.3b';
-  PNG_LIBPNG_VER        =  10001;
+  PNG_LIBPNG_VER_STRING = '1.0.4';
+  PNG_LIBPNG_VER        =  10004;
 
 type
   png_uint_32 = Cardinal;
