summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ANNOUNCE5
-rw-r--r--CHANGES6
-rw-r--r--INSTALL12
-rw-r--r--KNOWNBUG22
-rw-r--r--LICENSE6
-rw-r--r--README13
-rw-r--r--Y2KINFO4
-rwxr-xr-xconfigure2
-rw-r--r--libpng.318
-rw-r--r--libpng.txt6
-rw-r--r--libpngpf.34
-rw-r--r--msvc/README.txt2
-rw-r--r--msvc/png32ms.def2
-rw-r--r--png.52
-rw-r--r--png.c14
-rw-r--r--png.h22
-rw-r--r--pngasmrd.h2
-rw-r--r--pngbar.jpgbin0 -> 2498 bytes
-rw-r--r--pngbar.pngbin0 -> 2399 bytes
-rw-r--r--pngconf.h123
-rw-r--r--pngerror.c2
-rw-r--r--pnggccrd.c6
-rw-r--r--pngget.c2
-rw-r--r--pngmem.c2
-rw-r--r--pngpread.c2
-rw-r--r--pngread.c6
-rw-r--r--pngrio.c2
-rw-r--r--pngrtran.c2
-rw-r--r--pngrutil.c2
-rw-r--r--pngset.c2
-rw-r--r--pngtest.c4
-rw-r--r--pngtrans.c2
-rw-r--r--pngvcrd.c2
-rw-r--r--pngwio.c2
-rw-r--r--pngwrite.c2
-rw-r--r--pngwtran.c2
-rw-r--r--pngwutil.c2
-rw-r--r--scripts/makefile.beos2
-rw-r--r--scripts/makefile.cygwin165
-rw-r--r--scripts/makefile.dec2
-rw-r--r--scripts/makefile.gcmmx4
-rw-r--r--scripts/makefile.linux2
-rw-r--r--scripts/makefile.sco2
-rw-r--r--scripts/makefile.sggcc4
-rw-r--r--scripts/makefile.solaris2
-rw-r--r--scripts/pngdef.pas2
46 files changed, 391 insertions, 103 deletions
diff --git a/ANNOUNCE b/ANNOUNCE
index d1b9d77bf..0bba759c0 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
-Libpng 1.0.8beta3 - July 11, 2000
+Libpng 1.0.8beta4 - July 14, 2000
This is a public release of libpng, intended for use in production codes.
@@ -15,6 +15,9 @@ Changes since the last public release (1.0.7):
Only set the PNG_FLAG_FREE_TRNS or PNG_FREE_TRNS flag in png_handle_tRNS()
for indexed-color input files to avoid potential double-freeing trans array
under some unusual conditions; problem was introduced in version 1.0.7.
+ Added the files pngbar.png and pngbar.jpg to the distribution.
+ Added cygwin subdirectory, makefile.cygwin, and cygwin support in pngconf.h
+ Added PNG_NO_ZALLOC_ZERO macro (makes png_zalloc skip zeroing memory)
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index 4e75e438f..15cd3cc1a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -797,7 +797,7 @@ version 1.0.7rc2 [June 28, 2000]
Fixed "DJBPP" typo in pnggccrd.c introduced in beta18.
version 1.0.7 [July 1, 2000]
Revised the definition of "trans_values" in libpng.3/libpng.txt
-version 1.0.8beta3 [July 11, 2000]
+version 1.0.8beta4 [July 14, 2000]
version 1.0.8beta1 [July 8, 2000]
Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks.
Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and
@@ -814,6 +814,10 @@ version 1.0.8beta3 [July 11, 2000]
for indexed-color input files to avoid potential double-freeing trans array
under some unusual conditions; problem was introduced in version 1.0.6f.
Further revisions to pngtest.c and files in the wince subdirectory.
+version 1.0.8beta4 [July 14, 2000]
+ Added the files pngbar.png and pngbar.jpg to the distribution.
+ Added cygwin subdirectory, makefile.cygwin, and cygwin support in pngconf.h
+ Added PNG_NO_ZALLOC_ZERO macro (makes png_zalloc skip zeroing memory)
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index 8bf47bf8a..26a3b6362 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
-Installing libpng version 1.0.8beta3 - July 11, 2000
+Installing libpng version 1.0.8beta4 - July 14, 2000
Before installing libpng, you must first install zlib. zlib
can usually be found wherever you got libpng. zlib can be
@@ -10,7 +10,7 @@ zlib.h and zconf.h include files that correspond to the
version of zlib that's installed.
You can rename the directories that you downloaded (they
-might be called "libpng-1.0.8beta3" or "lpng107" and "zlib-1.1.3"
+might be called "libpng-1.0.8beta4" or "lpng107" and "zlib-1.1.3"
or "zlib113") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
@@ -57,8 +57,8 @@ The files that are presently available in the scripts directory
include
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
- makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.8beta3)
- makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.8beta3,
+ makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.8beta4)
+ makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.8beta4,
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
@@ -70,9 +70,9 @@ include
makefile.intel => Intel C/C++ version 4.0 and later
libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
- makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.8beta3)
+ makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.8beta4)
makefile.sunos => Sun makefile
- makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.8beta3)
+ makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.8beta4)
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 3bf58c2b6..958c7c070 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -9,6 +9,13 @@ Known bugs and suggested enhancements in libpng-1.0.7
STATUS: Under investigation. Experts on MMX assembler code are
invited to help with the debugging. Note that pngvcrd.c works fine.
+ Update: fixed in libpng-1.0.8beta1. It compiles under gcc-2.7.2.3
+ and seems to work; under gcc-2.7.2.1 it compiles but crashes in
+ execution. It is recommended that people use 2.95.2 or later.
+
+ The png_read_filter() function has still not been fully converted and
+ will not compile under gcc-2.95.2; it is currently ifdef'ed out.
+
2. July 3, 2000 -- BUG -- MEMORY LEAK
There is a memory leak in pngpread.c; it doesn't free "key".
@@ -38,11 +45,18 @@ Known bugs and suggested enhancements in libpng-1.0.7
Libpng-1.0.7 does not support WindowsCE.
STATUS: Libpng-1.0.8 and libpng-2.0.0 will support WindowsCE. A
- new typedef, png_file_p, will be added which is normally FILE * but
+ new typedef, png_FILE_p, will be added which is normally FILE * but
will be HANDLE if libpng is being built for WindowsCE. Other patches
required for WindowsCE support have been provided and will be applied.
+ Finished in libpng-1.0.8beta3.
+
+6. July 13, 2000 -- ENHANCEMENT -- Cygwin support
+
+ Libpng-1.0.7 does not support building DLLs under Cygwin
+
+ STATUS: Cygwin support has been added to libpng-1.0.8beta4.
-6. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
+7. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
Loops need to be optimized everywhere
@@ -57,7 +71,7 @@ Known bugs and suggested enhancements in libpng-1.0.7
libpng-1.1.0. About 160 loops will be turned around
in libpng-2.0.x betaxx, for testing.
-7. July 4, 1998 -- ENHANCEMENT -- Glenn R-P
+8. July 4, 1998 -- ENHANCEMENT -- Glenn R-P
libpng-1.0.5 and earlier transform colors to gamma=1.0 space for
merging with background, and then back to the image's gamma. The
@@ -69,7 +83,7 @@ Known bugs and suggested enhancements in libpng-1.0.7
STATUS: under development.
-8. September 1999 -- ENHANCEMENT --
+9. September 1999 -- ENHANCEMENT --
It should be possible to use libpng without floating-point aritmetic.
diff --git a/LICENSE b/LICENSE
index bd2a72069..2cbd38337 100644
--- a/LICENSE
+++ b/LICENSE
@@ -4,7 +4,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following
this sentence.
-libpng version 1.0.8beta3, July 11, 2000 is Copyright (c) 2000 Glenn Randers-Pehrson
+libpng version 1.0.8beta4, July 14, 2000 is Copyright (c) 2000 Glenn Randers-Pehrson
Distributed according to the same disclaimer and license as libpng-1.0.6
with the following individuals added to the list of Contributing Authors
@@ -87,11 +87,11 @@ boxes and the like:
printf("%s",png_get_copyright(NULL));
Also, the PNG logo (in PNG format, of course) is supplied in the
-file "pngnow.png".
+files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
randeg@alum.rpi.edu
-July 11, 2000
+July 14, 2000
diff --git a/README b/README
index b5efe433a..bff2733df 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.0.8beta3 - July 11, 2000 (shared library 2.1)
+README for libpng 1.0.8beta4 - July 14, 2000 (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.
@@ -148,7 +148,8 @@ Files in this distribution:
pngerror.c => Error/warning message I/O functions
pngget.c => Functions for retrieving info from struct
pngmem.c => Memory handling functions
- pngnow.png => PNG logo
+ pngbar.png => PNG logo, 88x31
+ pngnow.png => PNG logo, 98x31
pngpread.c => Progressive reading functions
pngread.c => Read data/helper high-level functions
pngrio.c => Lowest-level data read I/O functions
@@ -176,9 +177,9 @@ Files in this distribution:
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.2.1.0.8beta3)
+ (gcc, creates libpng.so.2.1.0.8beta4)
makefile.gcmmx => Linux/ELF makefile (gcc, creates
- libpng.so.2.1.0.8beta3, uses assembler code
+ libpng.so.2.1.0.8beta4, 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
@@ -190,10 +191,10 @@ Files in this distribution:
makefile.intel => Intel C/C++ version 4.0 and later
libpng.icc => Project file, IBM VisualAge/C++ 4.0 or later
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
- makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.8beta3)
+ makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.8beta4)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
- (gcc, creates libpng.so.2.1.0.8beta3)
+ (gcc, creates libpng.so.2.1.0.8beta4)
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 caa4c1d5c..c301bcbd2 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
Y2K compliance in libpng:
=========================
- July 11, 2000
+ July 14, 2000
Since the PNG Development group is an ad-hoc body, we can't make
an official declaration.
This is your unofficial assurance that libpng from version 0.71 and
- upward through 1.0.8beta3 are Y2K compliant. It is my belief that earlier
+ upward through 1.0.8beta4 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 e18041a34..d5720bfd6 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
echo "
- There is no \"configure\" script for Libpng-1.0.8beta3. Instead, please
+ There is no \"configure\" script for Libpng-1.0.8beta4. 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 2e55112f2..aef211000 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "July 11, 2000"
+.TH LIBPNG 3 "July 14, 2000"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.8beta3
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.8beta4
.SH SYNOPSIS
\fI\fB
@@ -747,7 +747,7 @@ Following is a copy of the libpng.txt file that accompanies libpng.
.SH LIBPNG.TXT
libpng.txt - A description on how to use and modify libpng
- libpng version 1.0.8beta3 - July 11, 2000
+ libpng version 1.0.8beta4 - July 14, 2000
Updated and distributed by Glenn Randers-Pehrson
<randeg@alum.rpi.edu>
Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -3381,13 +3381,13 @@ application:
.SH VII. Y2K Compliance in libpng
-July 11, 2000
+July 14, 2000
Since the PNG Development group is an ad-hoc body, we can't make
an official declaration.
This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.0.8beta3 are Y2K compliant. It is my belief that earlier
+upward through 1.0.8beta4 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
@@ -3528,7 +3528,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
-Libpng version 1.0.8beta3 - July 11, 2000:
+Libpng version 1.0.8beta4 - July 14, 2000:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
@@ -3541,7 +3541,7 @@ Supported by the PNG development group
If you modify libpng you may insert additional notices immediately following
this sentence.
-libpng version 1.0.8beta3, July 11, 2000 is
+libpng version 1.0.8beta4, July 14, 2000 is
Copyright (c) 2000 Glenn Randers-Pehrson
Distributed according to the same disclaimer and license as libpng-1.0.6
with the following individuals added to the list of Contributing Authors
@@ -3625,14 +3625,14 @@ boxes and the like:
printf("%s",png_get_copyright(NULL));
Also, the PNG logo (in PNG format, of course) is supplied in the
-file "pngnow.png".
+files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
randeg@alum.rpi.edu
-July 11, 2000
+July 14, 2000
.\" end of man page
diff --git a/libpng.txt b/libpng.txt
index 088abc071..14306feb3 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.8beta3 - July 11, 2000
+ libpng version 1.0.8beta4 - July 14, 2000
Updated and distributed by Glenn Randers-Pehrson
<randeg@alum.rpi.edu>
Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -2634,13 +2634,13 @@ application:
VII. Y2K Compliance in libpng
-July 11, 2000
+July 14, 2000
Since the PNG Development group is an ad-hoc body, we can't make
an official declaration.
This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.0.8beta3 are Y2K compliant. It is my belief that earlier
+upward through 1.0.8beta4 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 db5a55658..a5479d67e 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "July 11, 2000"
+.TH LIBPNGPF 3 "July 14, 2000"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.8beta3
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.8beta4
(private functions)
.SH SYNOPSIS
\fB#include <png.h>\fP
diff --git a/msvc/README.txt b/msvc/README.txt
index eb258de49..19f8db613 100644
--- a/msvc/README.txt
+++ b/msvc/README.txt
@@ -1,5 +1,5 @@
Microsoft Developer Studio Build File, Format Version 6.00 for
-libpng 1.0.8beta3 (July 11, 2000) and zlib
+libpng 1.0.8beta4 (July 14, 2000) and zlib
Copyright (C) 2000 Simon-Pierre Cadieux
For conditions of distribution and use, see copyright notice in png.h
diff --git a/msvc/png32ms.def b/msvc/png32ms.def
index 79765c2c6..5685ec468 100644
--- a/msvc/png32ms.def
+++ b/msvc/png32ms.def
@@ -6,7 +6,7 @@ LIBRARY
DESCRIPTION "PNG image compression library for Windows"
EXPORTS
-;Version 1.0.8beta3
+;Version 1.0.8beta4
png_build_grayscale_palette @1
png_check_sig @2
png_chunk_error @3
diff --git a/png.5 b/png.5
index d039a1f4d..1e8d31662 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "July 11, 2000"
+.TH PNG 5 "July 14, 2000"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
diff --git a/png.c b/png.c
index aea0f98ea..1d28fa3bc 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions
*
- * libpng version 1.0.8beta3 - July 11, 2000
+ * libpng version 1.0.8beta4 - July 14, 2000
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -13,14 +13,14 @@
#include "png.h"
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_8beta3 Your_png_h_is_not_version_1_0_8beta3;
+typedef version_1_0_8beta4 Your_png_h_is_not_version_1_0_8beta4;
/* 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 */
-char png_libpng_ver[12] = "1.0.8beta3";
+char png_libpng_ver[12] = "1.0.8beta4";
/* png_sig was changed to a function in version 1.0.5c */
/* Place to hold the signature string for a PNG file. */
@@ -140,6 +140,7 @@ png_zalloc(voidpf png_ptr, uInt items, uInt size)
png_uint_32 num_bytes = (png_uint_32)items * size;
png_voidp ptr = (png_voidp)png_malloc((png_structp)png_ptr, num_bytes);
+#ifndef PNG_NO_ZALLOC_ZERO
if (num_bytes > (png_uint_32)0x8000L)
{
png_memset(ptr, 0, (png_size_t)0x8000L);
@@ -150,6 +151,7 @@ png_zalloc(voidpf png_ptr, uInt items, uInt size)
{
png_memset(ptr, 0, (png_size_t)num_bytes);
}
+#endif
return ((voidpf)ptr);
}
@@ -616,7 +618,7 @@ png_charp PNGAPI
png_get_copyright(png_structp png_ptr)
{
if (png_ptr != NULL || png_ptr == NULL) /* silence compiler warning */
- return ("\n libpng version 1.0.8beta3 - July 11, 2000\n\
+ return ("\n libpng version 1.0.8beta4 - July 14, 2000\n\
Copyright (c) 1998-2000 Glenn Randers-Pehrson\n\
Copyright (c) 1996, 1997 Andreas Dilger\n\
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n");
@@ -634,8 +636,8 @@ png_get_libpng_ver(png_structp png_ptr)
{
/* Version of *.c files used when building libpng */
if(png_ptr != NULL) /* silence compiler warning about unused png_ptr */
- return("1.0.8beta3");
- return("1.0.8beta3");
+ return("1.0.8beta4");
+ return("1.0.8beta4");
}
png_charp PNGAPI
diff --git a/png.h b/png.h
index 442125bcd..38e017be1 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
- * libpng version 1.0.8beta3 - July 11, 2000
+ * libpng version 1.0.8beta4 - July 14, 2000
* Copyright (c) 1998, 1999, 2000 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.)
@@ -9,7 +9,7 @@
* Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- * libpng versions 0.97, January 1998, through 1.0.8beta3 - July 11, 2000: Glenn
+ * libpng versions 0.97, January 1998, through 1.0.8beta4 - July 14, 2000: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@@ -82,7 +82,7 @@
* If you modify libpng you may insert additional notices immediately following
* this sentence.
*
- * libpng version 1.0.8beta3, July 11, 2000, is
+ * libpng version 1.0.8beta4, July 14, 2000, is
* Copyright (c) 2000 Glenn Randers-Pehrson
* Distributed according to the same disclaimer and license as libpng-1.0.6
* with the following individuals added to the list of Contributing Authors
@@ -167,7 +167,7 @@
* printf("%s",png_get_copyright(NULL));
*
* Also, the PNG logo (in PNG format, of course) is supplied in the
- * file "pngnow.png".
+ * files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
*/
/*
@@ -187,13 +187,13 @@
* Y2K compliance in libpng:
* =========================
*
- * July 11, 2000
+ * July 14, 2000
*
* Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration.
*
* This is your unofficial assurance that libpng from version 0.71 and
- * upward through 1.0.8beta3 are Y2K compliant. It is my belief that earlier
+ * upward through 1.0.8beta4 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
@@ -249,7 +249,7 @@
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.8beta3"
+#define PNG_LIBPNG_VER_STRING "1.0.8beta4"
#define PNG_LIBPNG_VER_SONUM 2
@@ -259,7 +259,7 @@
#define PNG_LIBPNG_VER_RELEASE 8
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
-#define PNG_LIBPNG_VER_BUILD 3
+#define PNG_LIBPNG_VER_BUILD 4
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros.
@@ -1147,9 +1147,9 @@ struct png_struct_def
};
/* This prevents a compiler error in png_get_copyright() in png.c if png.c
-and png.h are both at * version 1.0.8beta3
+and png.h are both at * version 1.0.8beta4
*/
-typedef png_structp version_1_0_8beta3;
+typedef png_structp version_1_0_8beta4;
typedef png_struct FAR * FAR * png_structpp;
@@ -2171,7 +2171,7 @@ extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp png_ptr)
extern PNG_EXPORT(png_charp,png_get_libpng_ver) PNGARG((png_structp png_ptr));
#define PNG_HEADER_VERSION_STRING \
- " libpng version 1.0.8beta3 - July 11, 2000 (header)\n"
+ " libpng version 1.0.8beta4 - July 14, 2000 (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 9c8d13c59..6eda7b10d 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.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1999, 2000 Glenn Randers-Pehrson
*
diff --git a/pngbar.jpg b/pngbar.jpg
new file mode 100644
index 000000000..70ba8d817
--- /dev/null
+++ b/pngbar.jpg
Binary files differ
diff --git a/pngbar.png b/pngbar.png
new file mode 100644
index 000000000..49798c8ed
--- /dev/null
+++ b/pngbar.png
Binary files differ
diff --git a/pngconf.h b/pngconf.h
index 6dbd5430b..22866efaf 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,6 +1,6 @@
/* pngconf.h - machine configurable file for libpng
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -49,6 +49,60 @@
#define PNG_MAX_MALLOC_64K
#endif
+/* Special munging to support doing things the 'cygwin' way:
+ * 'Normal' png-on-win32 defines/defaults:
+ * PNG_BUILD_DLL -- building dll
+ * PNG_USE_DLL -- building an application, linking to dll
+ * (no define) -- building static library, or building an
+ * application and linking to the static lib
+ * 'Cygwin' defines/defaults:
+ * PNG_BUILD_DLL -- building the dll
+ * (no define) -- building an application, linking to the dll
+ * PNG_STATIC -- building the static lib, or building an application
+ * which links to the static lib.
+ * Thus,
+ * a cygwin user should define either PNG_BUILD_DLL or PNG_STATIC, and
+ * this bit of #ifdefs will define the 'correct' config variables based on
+ * that. If a cygwin user *wants* to define 'PNG_USE_DLL' that's okay, but
+ * unnecessary.
+ */
+#if defined(__CYGWIN__)
+# if defined(PNG_BUILD_DLL)
+# if defined(PNG_USE_DLL)
+# undef PNG_USE_DLL
+# endif
+# if !defined(PNG_DLL)
+# define PNG_DLL
+# endif
+# if defined(PNG_STATIC)
+# undef PNG_STATIC
+# endif
+# else
+# if defined(PNG_STATIC)
+# if defined(PNG_USE_DLL)
+# undef PNG_USE_DLL
+# endif
+# if defined(PNG_DLL)
+# undef PNG_DLL
+# endif
+# else
+# if defined(PNG_USE_DLL)
+# if !defined(PNG_DLL)
+# define PNG_DLL
+# endif
+# else
+# if defined(PNG_DLL)
+# define PNG_USE_DLL
+# else
+# define PNG_USE_DLL
+# define PNG_DLL
+# endif
+# endif
+# endif
+# endif
+#endif
+
+
/* This protects us against compilers that run on a windowing system
* and thus don't have or would rather us not use the stdio types:
* stdin, stdout, and stderr. The only one currently used is stderr
@@ -534,6 +588,9 @@ defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
#ifndef PNG_NO_USER_MEM
#define PNG_USER_MEM_SUPPORTED
#endif
+#ifndef PNG_NO_ZALLOC_ZERO
+#define PNG_ZALLOC_ZERO
+#endif
*/
/* This is only for PowerPC big-endian and 680x0 systems */
@@ -854,7 +911,7 @@ typedef size_t png_size_t;
#define LDATA 0
#endif
-#if !defined(__WIN32__) && !defined(__FLAT__)
+#if !defined(__WIN32__) && !defined(__FLAT__) && !defined(__CYGWIN__)
#define PNG_MAX_MALLOC_64K
#if (LDATA != 1)
#ifndef FAR
@@ -868,7 +925,7 @@ typedef size_t png_size_t;
* const if your compiler supports it. (SJT)
# define FARDATA FAR
*/
-#endif /* __WIN32__, __FLAT__ */
+#endif /* __WIN32__, __FLAT__, __CYGWIN__ */
#endif /* __BORLANDC__ */
@@ -952,12 +1009,43 @@ typedef z_stream FAR * png_zstreamp;
* It is equivalent to Microsoft predefined macro _DLL which is
* automatically defined when you compile using the share
* version of the CRT (C Run-Time library)
+ *
+ * The cygwin mods make this behavior a little different:
+ * Define PNG_BUILD_DLL if you are building a dll for use with cygwin
+ * Define PNG_STATIC if you are building a static library for use with cygwin,
+ * -or- if you are building an application that you want to link to the
+ * static library.
+ * PNG_USE_DLL is defined by default (no user action needed) unless one of
+ * the other flags is defined.
*/
#if !defined(PNG_DLL) && (defined(PNG_BUILD_DLL) || defined(PNG_USE_DLL))
# define PNG_DLL
#endif
-
+/* If CYGWIN, then disallow GLOBAL ARRAYS unless building a static lib.
+ * When building a static lib, default to no GLOBAL ARRAYS, but allow
+ * command-line override
+ */
+#if defined(__CYGWIN__)
+# if !defined(PNG_STATIC)
+# if defined(PNG_USE_GLOBAL_ARRAYS)
+# undef PNG_USE_GLOBAL_ARRAYS
+# endif
+# if !defined(PNG_USE_LOCAL_ARRAYS)
+# define PNG_USE_LOCAL_ARRAYS
+# endif
+# else
+# if defined(PNG_USE_LOCAL_ARRAYS) || defined(PNG_NO_GLOBAL_ARRAYS)
+# if defined(PNG_USE_GLOBAL_ARRAYS)
+# undef PNG_USE_GLOBAL_ARRAYS
+# endif
+# endif
+# endif
+# if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS)
+# define PNG_USE_LOCAL_ARRAYS
+# endif
+#endif
+
/* Do not use global arrays (helps with building DLL's)
* They are no longer used in libpng itself, since version 1.0.5c,
* but might be required for some pre-1.0.5c applications.
@@ -972,19 +1060,21 @@ typedef z_stream FAR * png_zstreamp;
#ifndef PNGAPI
-#if defined(__MINGW32__) || defined(__CYGWIN32__) && !defined(PNG_MODULEDEF)
+
+#if defined(__MINGW32__) || defined(__CYGWIN__) && !defined(PNG_MODULEDEF)
# ifndef PNG_NO_MODULEDEF
# define PNG_NO_MODULEDEF
# endif
-#endif
-
+#endif
+
#if !defined(PNG_IMPEXP) && defined(PNG_BUILD_DLL) && !defined(PNG_NO_MODULEDEF)
# define PNG_IMPEXP
#endif
#if defined(PNG_DLL) || defined(_DLL) || defined(__DLL__ ) || \
- defined(_Windows) || defined(_WINDOWS) || \
- defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
+ (( defined(_Windows) || defined(_WINDOWS) || \
+ defined(WIN32) || defined(_WIN32) || defined(__WIN32__) \
+ ) && !defined(__CYGWIN__))
# ifdef __GNUC__
# define PNGAPI __cdecl
@@ -1026,11 +1116,18 @@ typedef z_stream FAR * png_zstreamp;
# endif
# endif
# endif /* PNG_IMPEXP */
-#else /* !(DLL || WINDOWS) */
-# if 0 /* ... other platforms, with other meanings */
+#else /* !(DLL || non-cygwin WINDOWS) */
+# if defined(__CYGWIN__) && !defined(PNG_DLL)
+# if !defined(PNG_IMPEXP)
+# define PNG_IMPEXP
+# endif
+# define PNGAPI __cdecl
# else
-# define PNGAPI
-# define PNG_IMPEXP
+# if 0 /* ... other platforms, with other meanings */
+# else
+# define PNGAPI
+# define PNG_IMPEXP
+# endif
# endif
#endif
#endif
diff --git a/pngerror.c b/pngerror.c
index 5dd1c317d..29c80c70f 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pnggccrd.c b/pnggccrd.c
index 32efb51e2..7402ca58a 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -6,7 +6,7 @@
* and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
* for Intel's performance analysis of the MMX vs. non-MMX code.
*
- * libpng version 1.0.8beta3 - July 11, 2000
+ * libpng version 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
@@ -166,9 +166,9 @@ static const int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
static const int png_pass_width[7] = {8, 4, 4, 2, 2, 1, 1};
#endif
-// djgpp and Win32 add their own underscores to global variables,
+// djgpp, Win32, and Cygwin add their own underscores to global variables,
// so define them without:
-#if defined(__DJGPP__) || defined(WIN32)
+#if defined(__DJGPP__) || defined(WIN32) || defined(__CYGWIN__)
# define _unmask unmask
# define _const4 const4
# define _const6 const6
diff --git a/pngget.c b/pngget.c
index b5df47b1c..e6375bfb4 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
/* pngget.c - retrieval of values from info struct
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngmem.c b/pngmem.c
index 2b2bd524c..9a5ab2673 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
/* pngmem.c - stub functions for memory allocation
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngpread.c b/pngpread.c
index 32dbca1f0..13fd4134f 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngread.c b/pngread.c
index 1c4e33c48..fea208c0b 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
/* pngread.c - read a PNG file
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -697,7 +697,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
* not called png_set_interlace_handling(), the display_row buffer will
* be ignored, so pass NULL to it.
*
- * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.8beta3
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.8beta4
*/
void PNGAPI
@@ -746,7 +746,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
* only call this function once. If you desire to have an image for
* each pass of a interlaced image, use png_read_rows() instead.
*
- * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.8beta3
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.8beta4
*/
void PNGAPI
png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index 7dbee1086..82c0c4588 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
/* pngrio.c - functions for data input
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrtran.c b/pngrtran.c
index 52b73aa9b..3e53fa891 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.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrutil.c b/pngrutil.c
index 6551124e2..45e175579 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
/* pngrutil.c - utilities to read a PNG file
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngset.c b/pngset.c
index fc236ebc5..72d5227aa 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
/* pngset.c - storage of image information into info struct
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngtest.c b/pngtest.c
index aa235db3b..269409402 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -1435,4 +1435,4 @@ main(int argc, char *argv[])
}
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_8beta3 your_png_h_is_not_version_1_0_8beta3;
+typedef version_1_0_8beta4 your_png_h_is_not_version_1_0_8beta4;
diff --git a/pngtrans.c b/pngtrans.c
index ae9083221..fe7c49f65 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.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngvcrd.c b/pngvcrd.c
index 639c37841..e6d533935 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
*
* For Intel x86 CPU and Microsoft Visual C++ compiler
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* Copyright (c) 1998, Intel Corporation
diff --git a/pngwio.c b/pngwio.c
index 22f8bd4e9..3d5bc522b 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
/* pngwio.c - functions for data output
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwrite.c b/pngwrite.c
index dc1246e37..97d0ff9a3 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwtran.c b/pngwtran.c
index 674c0adf7..c0efa9e26 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.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwutil.c b/pngwutil.c
index 1640a2d09..b41cc092a 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
/* pngwutil.c - utilities to write a PNG file
*
- * libpng 1.0.8beta3 - July 11, 2000
+ * libpng 1.0.8beta4 - July 14, 2000
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 3163354e9..46d462373 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -31,7 +31,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ = 2
-PNGMIN = 1.0.8beta3
+PNGMIN = 1.0.8beta4
PNGVER = $(PNGMAJ).$(PNGMIN)
# where make install puts libpng.a, libpng.so*, and png.h
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
new file mode 100644
index 000000000..463a6f77a
--- /dev/null
+++ b/scripts/makefile.cygwin
@@ -0,0 +1,165 @@
+# makefile for cygwin on x86
+# builds both dll (with import lib) and static lib versions
+# of the library, and builds two copies of pngtest: one
+# statically linked and one dynamically linked.
+#
+# based on makefile for linux-elf w/mmx by:
+# Copyright (C) 1998-2000 Greg Roelofs
+# Copyright (C) 1996, 1997 Andreas Dilger
+# For conditions of distribution and use, see copyright notice in png.h
+
+# To enable assembler optimizations, add '-DPNG_USE_PNGGCCRD' to
+# $CFLAGS, and include pnggccrd.o in $OBJS, below.
+
+CC=gcc
+
+# where "make install" puts libpng.a, libpng.so*, png.h and pngconf.h
+prefix=/usr
+
+# Where the zlib library and include files are located
+ZLIBLIB=${prefix}/lib
+ZLIBINC=${prefix}/include
+#ZLIBLIB=../zlib
+#ZLIBINC=../zlib
+
+SHAREDLIB=libpng.dll
+STATLIB=libpng.a
+IMPLIB=libpng.dll.a
+SHAREDDEF=libpng.def
+LIBS=$(SHAREDLIB) $(STATLIB)
+EXE=.exe
+
+ALIGN=
+# for i386:
+#ALIGN=-malign-loops=2 -malign-functions=2
+
+WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
+ -Wmissing-declarations -Wtraditional -Wcast-align \
+ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion
+
+#CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
+# -fomit-frame-pointer # $(WARNMORE) -g -DPNG_DEBUG=5
+CFLAGS=-I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
+ -fomit-frame-pointer
+
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz
+LDSHARED=gcc -shared -Wl,--enable-auto-image-base
+LDEXTRA=-Wl,--out-implib=$(IMPLIB) $(SHAREDDEF)
+
+RANLIB=ranlib
+#RANLIB=echo
+
+# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
+# have to change it.
+PNGMAJ = 2
+PNGMIN = 1.0.8beta3
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+BINPATH=$(prefix)/bin
+MANPATH=$(prefix)/man
+MAN3PATH=$(MANPATH)/man3
+DOCPATH=$(prefix)/doc/libpng-$(PNGMIN)
+CYGDOCPATH=$(prefix)/doc/Cygwin
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+ pngwtran.o pngmem.o pngerror.o pngpread.o # pnggccrd.o
+
+OBJSDLL = $(OBJS:.o=.pic.o)
+
+.SUFFIXES: .c .o .pic.o
+
+%.o : %.c
+ $(CC) -c $(CFLAGS) -DPNG_STATIC -DZLIB_STATIC -o $@ $<
+
+%.pic.o : %.c
+ $(CC) -c $(CFLAGS) -DPNG_BUILD_DLL -o $@ $<
+
+all: $(SHAREDLIB) $(STATLIB) pngtest$(EXE) pngtest-stat$(EXE)
+
+pnggccrd.o: png.h pngconf.h pngasmrd.h
+ @echo ""
+ @echo ' You can ignore the single "control reaches end of non-void function"'
+ @echo ' warning and multiple "<variable> defined but not used" warnings:'
+ @echo ""
+ $(CC) -c $(CFLAGS) -DPNG_STATIC -DZLIB_STATIC -o $@ $*.c
+
+pnggccrd.pic.o: png.h pngconf.h pngasmrd.h
+ @echo ""
+ @echo ' You can ignore the single "control reaches end of non-void function"'
+ @echo ' warning and multiple "<variable> defined but not used" warnings:'
+ @echo ""
+ $(CC) -c $(CFLAGS) -o $@ pnggccrd.c
+
+$(STATLIB): $(OBJS)
+ ar rc $@ $(OBJS)
+ $(RANLIB) $@
+
+$(SHAREDDEF): msvc/png32ms.def
+ cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' > $@
+
+$(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF)
+ $(LDSHARED) -o $@ $(LDEXTRA) $(OBJSDLL) -L. -L$(ZLIBLIB) -lz
+
+pngtest$(EXE): pngtest.pic.o $(SHAREDLIB)
+ $(CC) $(CFLAGS) $< $(LDFLAGS) -o $@
+
+pngtest-stat$(EXE): pngtest.o $(STATLIB)
+ $(CC) -static $(CFLAGS) $< $(LDFLAGS) -o $@
+
+pngtest.pic.o: pngtest.c
+ $(CC) $(CFLAGS) -c $< -o $@
+
+pngtest.o: pngtest.c
+ $(CC) $(CFLAGS) -DPNG_STATIC -DZLIB_STATIC -c $< -o $@
+
+test: test-dll test-stat
+
+test-stat: pngtest-stat$(EXE)
+ ./pngtest-stat
+
+test-dll: pngtest$(EXE)
+ ./pngtest
+
+install: $(STATLIB) $(SHAREDLIB)
+ -@if [ ! -d $(INCPATH) ]; then mkdir -p $(INCPATH); fi
+ -@if [ ! -d $(LIBPATH) ]; then mkdir -p $(LIBPATH); fi
+ -@if [ ! -d $(BINPATH) ]; then mkdir -p $(BINPATH); fi
+ -@if [ ! -d $(MAN3PATH) ]; then mkdir -p $(MAN3PATH); fi
+ -@if [ ! -d $(DOCPATH) ]; then mkdir -p $(DOCPATH); fi
+ install -m 644 png.h pngconf.h $(INCPATH)
+ install -m 755 $(STATLIB) $(IMPLIB) $(LIBPATH)
+ install -s -m 755 $(SHAREDLIB) $(BINPATH)
+ install -m 644 $(DOCS) $(DOCPATH)
+ install -m 644 libpngpf.3 libpng.3 $(MAN3PATH)
+
+clean:
+ /bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
+ pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF)
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+ chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o png.pic.o: png.h pngconf.h png.c pngasmrd.h
+pngerror.o pngerror.pic.o: png.h pngconf.h pngerror.c
+pngrio.o pngrio.pic.o: png.h pngconf.h pngrio.c
+pngwio.o pngwio.pic.o: png.h pngconf.h pngwio.c
+pngmem.o pngmem.pic.o: png.h pngconf.h pngmem.c
+pngset.o pngset.pic.o: png.h pngconf.h pngset.c
+pngget.o pngget.pic.o: png.h pngconf.h pngget.c
+pngread.o pngread.pic.o: png.h pngconf.h pngread.c
+pngrtran.o pngrtran.pic.o: png.h pngconf.h pngrtran.c
+pngrutil.o pngrutil.pic.o: png.h pngconf.h pngrutil.c pngasmrd.h
+pngtrans.o pngtrans.pic.o: png.h pngconf.h pngtrans.c
+pngwrite.o pngwrite.pic.o: png.h pngconf.h pngwrite.c
+pngwtran.o pngwtran.pic.o: png.h pngconf.h pngwtran.c
+pngwutil.o pngwutil.pic.o: png.h pngconf.h pngwutil.c
+pngpread.o pngpread.pic.o: png.h pngconf.h pngpread.c
+
+pngtest.o: png.h pngconf.h pngtest.c
+pngtest-stat.o: png.h pngconf.h pngtest.c
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 20d4876fc..4d075188a 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -14,7 +14,7 @@ ZLIBINC=../zlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ = 2
-PNGMIN = 1.0.8beta3
+PNGMIN = 1.0.8beta4
PNGVER = $(PNGMAJ).$(PNGMIN)
CC=cc
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 3103fd843..87c8d9108 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -3,6 +3,8 @@
# Copyright 1998-2000 Greg Roelofs
# For conditions of distribution and use, see copyright notice in png.h
+# CAUTION: Do not use this makefile with gcc versions 2.7.2.2 and earlier.
+
CC=gcc
# where "make install" puts libpng.a, libpng.so*, png.h and pngconf.h
@@ -34,7 +36,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ = 2
-PNGMIN = 1.0.8beta3
+PNGMIN = 1.0.8beta4
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 74f0163c9..ca7a4653a 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -34,7 +34,7 @@ RANLIB=ranlib
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ = 2
-PNGMIN = 1.0.8beta3
+PNGMIN = 1.0.8beta4
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index d58f83225..ec4b18adb 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -25,7 +25,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ = 2
-PNGMIN = 1.0.8beta3
+PNGMIN = 1.0.8beta4
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index cdc200f53..6935884f0 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -19,8 +19,8 @@ CFLAGS=-I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32 # -g -DPNG_DEBUG=5
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
LDSHARED=gcc -shared
-VER=1.0.8beta3
-LIBS=libpng.so.1.0.8beta3
+VER=1.0.8beta4
+LIBS=libpng.so.1.0.8beta4
SHAREDLIB=libpng.so
libdir=$(prefix)/lib32
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 613c72d5b..7f47da332 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -31,7 +31,7 @@ RANLIB=echo
# read libpng.txt or png.h to see why PNGMAJ is 2. You should not
# have to change it.
PNGMAJ = 2
-PNGMIN = 1.0.8beta3
+PNGMIN = 1.0.8beta4
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 557c80b30..ff073c1cf 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -5,7 +5,7 @@ unit pngdef;
interface
const
- PNG_LIBPNG_VER_STRING = '1.0.8beta3';
+ PNG_LIBPNG_VER_STRING = '1.0.8beta4';
PNG_LIBPNG_VER = 10008;
type