summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ANNOUNCE32
-rw-r--r--CHANGES4
-rw-r--r--INSTALL16
-rw-r--r--KNOWNBUG23
-rw-r--r--LICENSE4
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in3
-rw-r--r--README14
-rw-r--r--Y2KINFO4
-rwxr-xr-xconfigure121
-rw-r--r--configure.ac15
-rw-r--r--libpng-1.2.20rc5.txt (renamed from libpng-1.2.20rc4.txt)6
-rw-r--r--libpng.320
-rw-r--r--libpngpf.34
-rw-r--r--png.52
-rw-r--r--png.c60
-rw-r--r--png.h22
-rw-r--r--pngconf.h13
-rw-r--r--pngerror.c2
-rw-r--r--pnggccrd.c100
-rw-r--r--pngget.c4
-rw-r--r--pngpread.c2
-rw-r--r--pngtest.c2
-rw-r--r--scripts/CMakeLists.txt2
-rwxr-xr-xscripts/libpng-config-head.in2
-rw-r--r--scripts/libpng.pc-configure.in2
-rw-r--r--scripts/libpng.pc.in2
-rw-r--r--scripts/makefile.32sunu2
-rw-r--r--scripts/makefile.64sunu2
-rw-r--r--scripts/makefile.aix2
-rw-r--r--scripts/makefile.beos2
-rw-r--r--scripts/makefile.cygwin3
-rw-r--r--scripts/makefile.darwin2
-rw-r--r--scripts/makefile.dec2
-rw-r--r--scripts/makefile.elf2
-rw-r--r--scripts/makefile.gcmmx2
-rw-r--r--scripts/makefile.hp642
-rw-r--r--scripts/makefile.hpgcc2
-rw-r--r--scripts/makefile.hpux2
-rw-r--r--scripts/makefile.linux2
-rw-r--r--scripts/makefile.mingw2
-rw-r--r--scripts/makefile.ne12bsd2
-rw-r--r--scripts/makefile.netbsd2
-rw-r--r--scripts/makefile.nommx2
-rw-r--r--scripts/makefile.openbsd2
-rw-r--r--scripts/makefile.sco2
-rw-r--r--scripts/makefile.sggcc2
-rw-r--r--scripts/makefile.sgi2
-rw-r--r--scripts/makefile.so92
-rw-r--r--scripts/makefile.solaris2
-rw-r--r--scripts/makefile.solaris-x862
-rw-r--r--scripts/pngos2.def2
-rw-r--r--scripts/pngw32.def2
53 files changed, 311 insertions, 225 deletions
diff --git a/ANNOUNCE b/ANNOUNCE
index 0a7187c6c..dda1d062d 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
-Libpng 1.2.20rc4 - September 1, 2007
+Libpng 1.2.20rc5 - September 2, 2007
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,32 +9,32 @@ Files available for download:
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
- libpng-1.2.20rc4.tar.gz
- libpng-1.2.20rc4.tar.bz2
+ libpng-1.2.20rc5.tar.gz
+ libpng-1.2.20rc5.tar.bz2
Source files with LF line endings (for Unix/Linux) without the
"configure" script
- libpng-1.2.20rc4-no-config.tar.gz
- libpng-1.2.20rc4-no-config.tar.bz2
+ libpng-1.2.20rc5-no-config.tar.gz
+ libpng-1.2.20rc5-no-config.tar.bz2
Source files with CRLF line endings (for Windows), without the
"configure" script
- lp1220r04.zip
- lp1220r04.tar.bz2
+ lp1220r05.zip
+ lp1220r05.tar.bz2
Project files
- libpng-1.2.20rc4-project-netware.zip
- libpng-1.2.20rc4-project-wince.zip
+ libpng-1.2.20rc5-project-netware.zip
+ libpng-1.2.20rc5-project-wince.zip
Other information:
- libpng-1.2.20rc4-README.txt
- libpng-1.2.20rc4-KNOWNBUGS.txt
- libpng-1.2.20rc4-LICENSE.txt
- libpng-1.2.20rc4-Y2K-compliance.txt
+ libpng-1.2.20rc5-README.txt
+ libpng-1.2.20rc5-KNOWNBUGS.txt
+ libpng-1.2.20rc5-LICENSE.txt
+ libpng-1.2.20rc5-Y2K-compliance.txt
Changes since the last public release (1.2.19):
@@ -62,7 +62,7 @@ version 1.2.20rc2 [August 27, 2007]
Revised #ifdefs to ensure one and only one of pnggccrd.c, pngvcrd.c,
or part of pngrutil.c is selected.
-version 1.2.20rc3 [September 1, 2007]
+version 1.2.20rc3 [September 2, 2007]
Remove a little more code in pngwutil.c when PNG_NO_WRITE_FILTER is selected.
Added /D _CRT_SECURE_NO_WARNINGS to visual6c and visualc71 projects.
Compile png_mmx_support() in png.c even when PNG_NO_MMX_CODE is defined.
@@ -72,6 +72,10 @@ version 1.2.20rc3 [September 1, 2007]
version 1.2.20rc4 [September 1, 2007]
Removed Intel contributions (MMX, Optimized C).
+version 1.2.20rc5 [September 2, 2007]
+ Restored configure and Makefile.in to rc3 and put a snippet of code in
+ pnggccrd.c, to ensure configure makes the same PNG_NO_MMX_CODE selection
+
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
diff --git a/CHANGES b/CHANGES
index ffb954e24..e298727af 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1929,6 +1929,10 @@ version 1.2.20rc3 [August 30, 2007]
version 1.2.20rc4 [September 1, 2007]
Removed Intel contributions (MMX, Optimized C).
+version 1.2.20rc5 [September 2, 2007]
+ Restored configure and Makefile.in to rc3 and put a snippet of code in
+ pnggccrd.c, to ensure configure makes the same PNG_NO_MMX_CODE selection
+
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff --git a/INSTALL b/INSTALL
index 75f58e812..5764117a4 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
-Installing libpng version 1.2.20rc4 - September 1, 2007
+Installing libpng version 1.2.20rc5 - September 2, 2007
On Unix/Linux and similar systems, you can simply type
@@ -44,7 +44,7 @@ to have access to the 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.2.20rc4" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.2.20rc5" or "lpng109" and "zlib-1.2.1"
or "zlib121") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
@@ -101,9 +101,9 @@ include
CMakeLists.txt => "cmake" script
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.elf => Linux/ELF makefile symbol versioning,
- gcc, creates libpng12.so.0.1.2.20rc4)
+ gcc, creates libpng12.so.0.1.2.20rc5)
makefile.linux => Linux/ELF makefile
- (gcc, creates libpng12.so.0.1.2.20rc4)
+ (gcc, creates libpng12.so.0.1.2.20rc5)
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files with
ansi2knr (Requires ansi2knr.c from
@@ -125,14 +125,14 @@ include
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.sggcc => Silicon Graphics (gcc,
- creates libpng12.so.0.1.2.20rc4)
+ creates libpng12.so.0.1.2.20rc5)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile (gcc,
- creates libpng12.so.0.1.2.20rc4)
+ creates libpng12.so.0.1.2.20rc5)
makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc,
- creates libpng12.so.0.1.2.20rc4)
+ creates libpng12.so.0.1.2.20rc5)
makefile.so9 => Solaris 9 makefile (gcc,
- creates libpng12.so.0.1.2.20rc4)
+ creates libpng12.so.0.1.2.20rc5)
makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
diff --git a/KNOWNBUG b/KNOWNBUG
index b1a946ce0..0d9d0a582 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,29 +1,12 @@
-Known bugs in libpng version 1.2.20rc4
+Known bugs in libpng version 1.2.20rc5
-1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
- reading interlaced PNG files, when assembler code is enabled but running
- on a non-MMX i386 platform.
-
- STATUS: Under investigation. The change to pnggccrd.c in libpng-1.2.1
- fixed a problem under FreeBSD but not the problem with NetBSD, which
- still fails as of libpng-1.2.2rc1.
-
-2. February 23, 2006: The custom makefiles don't build libpng with -lz.
+1. February 23, 2006: The custom makefiles don't build libpng with -lz.
STATUS: This is a subject of debate. The change will probably be made
as a part of a major overhaul of the makefiles in libpng version 1.3.0.
-3. February 24, 2006: The Makefile generated by the "configure" script
+2. February 24, 2006: The Makefile generated by the "configure" script
fails to install symbolic links
libpng12.so => libpng12.so.0.1.2.9betaN
that are generated by the custom makefiles.
-
-4. June 28, 2007: Pnggccrd.c has been reported to be unreliable on
- several 64-bit platforms running gcc-3.x. Although it appears to
- build properly, it does not always read files correctly.
-
- STATUS: Appears to be a bug in the 64-bit version of gcc-3.4.6.
- Workarounds are to define PNG_NO_MMX_FILTER_UP|AVG|PAETH (as in
- pngconf.h) or to upgrade gcc to a newer version.
-
diff --git a/LICENSE b/LICENSE
index 15011523d..6abd5fb7d 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following
this sentence.
-libpng versions 1.2.6, August 15, 2004, through 1.2.20rc4, September 1, 2007, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.20rc5, September 2, 2007, are
Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@@ -106,4 +106,4 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
-September 1, 2007
+September 2, 2007
diff --git a/Makefile.am b/Makefile.am
index 549c2c7b5..c35402adb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -83,7 +83,7 @@ EXTRA_DIST= \
${srcdir}/contrib/pngsuite/* \
${srcdir}/contrib/visupng/* \
$(TESTS) \
- example.c libpng.txt
+ example.c libpng.txt pngvcrd.c
CLEANFILES= pngout.png libpng12.pc libpng12-config libpng.vers \
libpng.sym
diff --git a/Makefile.in b/Makefile.in
index a56378adc..687642ca4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -183,6 +183,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBPNG_DEFINES = @LIBPNG_DEFINES@
+LIBPNG_NO_MMX = @LIBPNG_NO_MMX@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
@@ -320,7 +321,7 @@ EXTRA_DIST = \
${srcdir}/contrib/pngsuite/* \
${srcdir}/contrib/visupng/* \
$(TESTS) \
- example.c libpng.txt
+ example.c libpng.txt pngvcrd.c
CLEANFILES = pngout.png libpng12.pc libpng12-config libpng.vers \
libpng.sym
diff --git a/README b/README
index 6ae9daf7b..1c5eed235 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.2.20rc4 - September 1, 2007 (shared library 12.0)
+README for libpng version 1.2.20rc5 - September 2, 2007 (shared library 12.0)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
@@ -190,11 +190,11 @@ Files in this distribution:
descrip.mms => VMS makefile for MMS or MMK
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.elf => Linux/ELF makefile symbol versioning,
- gcc, creates libpng12.so.0.1.2.20rc4)
+ gcc, creates libpng12.so.0.1.2.20rc5)
makefile.linux => Linux/ELF makefile
- (gcc, creates libpng12.so.0.1.2.20rc4)
+ (gcc, creates libpng12.so.0.1.2.20rc5)
makefile.gcmmx => Linux/ELF makefile
- (gcc, creates libpng12.so.0.1.2.20rc4,
+ (gcc, creates libpng12.so.0.1.2.20rc5,
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
@@ -216,12 +216,12 @@ Files in this distribution:
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
makefile.sggcc => Silicon Graphics
- (gcc, creates libpng12.so.0.1.2.20rc4)
+ (gcc, creates libpng12.so.0.1.2.20rc5)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
- (gcc, creates libpng12.so.0.1.2.20rc4)
+ (gcc, creates libpng12.so.0.1.2.20rc5)
makefile.so9 => Solaris 9 makefile
- (gcc, creates libpng12.so.0.1.2.20rc4)
+ (gcc, creates libpng12.so.0.1.2.20rc5)
makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
diff --git a/Y2KINFO b/Y2KINFO
index 52cb27b16..d8b048765 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
Y2K compliance in libpng:
=========================
- September 1, 2007
+ September 2, 2007
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.20rc4 are Y2K compliant. It is my belief that earlier
+ upward through 1.2.20rc5 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 bfaf6366f..23a3a31ac 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for libpng 1.2.20rc4.
+# Generated by GNU Autoconf 2.61 for libpng 1.2.20rc5.
#
# Report bugs to <png-mng-implement@lists.sourceforge.net>.
#
@@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='libpng'
PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.2.20rc4'
-PACKAGE_STRING='libpng 1.2.20rc4'
+PACKAGE_VERSION='1.2.20rc5'
+PACKAGE_STRING='libpng 1.2.20rc5'
PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
ac_unique_file="pngget.c"
@@ -876,6 +876,7 @@ LIBTOOL
POW_LIB
LIBOBJS
LIBPNG_DEFINES
+LIBPNG_NO_MMX
HAVE_LD_VERSION_SCRIPT_TRUE
HAVE_LD_VERSION_SCRIPT_FALSE
PNGLIB_VERSION
@@ -1404,7 +1405,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libpng 1.2.20rc4 to adapt to many kinds of systems.
+\`configure' configures libpng 1.2.20rc5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1474,7 +1475,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libpng 1.2.20rc4:";;
+ short | recursive ) echo "Configuration of libpng 1.2.20rc5:";;
esac
cat <<\_ACEOF
@@ -1584,7 +1585,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libpng configure 1.2.20rc4
+libpng configure 1.2.20rc5
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1598,7 +1599,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libpng $as_me 1.2.20rc4, which was
+It was created by libpng $as_me 1.2.20rc5, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2268,7 +2269,7 @@ fi
# Define the identity of the package.
PACKAGE='libpng'
- VERSION='1.2.20rc4'
+ VERSION='1.2.20rc5'
cat >>confdefs.h <<_ACEOF
@@ -2439,7 +2440,7 @@ fi
-PNGLIB_VERSION=1.2.20rc4
+PNGLIB_VERSION=1.2.20rc5
PNGLIB_MAJOR=1
PNGLIB_MINOR=2
PNGLIB_RELEASE=20
@@ -4787,7 +4788,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4790 "configure"' > conftest.$ac_ext
+ echo '#line 4791 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -7300,11 +7301,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7303: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7304: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7307: \$? = $ac_status" >&5
+ echo "$as_me:7308: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7590,11 +7591,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7593: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7594: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7597: \$? = $ac_status" >&5
+ echo "$as_me:7598: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7694,11 +7695,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7697: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7698: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7701: \$? = $ac_status" >&5
+ echo "$as_me:7702: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -10043,7 +10044,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10046 "configure"
+#line 10047 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10143,7 +10144,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10146 "configure"
+#line 10147 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12563,11 +12564,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12566: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12567: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12570: \$? = $ac_status" >&5
+ echo "$as_me:12571: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -12667,11 +12668,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12670: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12671: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12674: \$? = $ac_status" >&5
+ echo "$as_me:12675: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14229,11 +14230,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14232: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14233: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14236: \$? = $ac_status" >&5
+ echo "$as_me:14237: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -14333,11 +14334,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14336: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14337: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14340: \$? = $ac_status" >&5
+ echo "$as_me:14341: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16520,11 +16521,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16523: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16524: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16527: \$? = $ac_status" >&5
+ echo "$as_me:16528: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16810,11 +16811,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16813: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16814: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16817: \$? = $ac_status" >&5
+ echo "$as_me:16818: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16914,11 +16915,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16917: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16918: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16921: \$? = $ac_status" >&5
+ echo "$as_me:16922: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -20712,6 +20713,55 @@ fi
LIBPNG_DEFINES=-DPNG_CONFIGURE_LIBPNG
+{ echo "$as_me:$LINENO: checking if assembler code in pnggccrd.c can be compiled without PNG_NO_MMX_CODE" >&5
+echo $ECHO_N "checking if assembler code in pnggccrd.c can be compiled without PNG_NO_MMX_CODE... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include "$srcdir/pnggccrd.c"
+int
+main ()
+{
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ LIBPNG_NO_MMX=""
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ LIBPNG_NO_MMX=-DPNG_NO_MMX_CODE
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+LIBPNG_DEFINES=$LIBPNG_DEFINES\ $LIBPNG_NO_MMX
+
{ echo "$as_me:$LINENO: checking if libraries can be versioned" >&5
@@ -21232,7 +21282,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libpng $as_me 1.2.20rc4, which was
+This file was extended by libpng $as_me 1.2.20rc5, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21285,7 +21335,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-libpng config.status 1.2.20rc4
+libpng config.status 1.2.20rc5
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -21613,6 +21663,7 @@ LIBTOOL!$LIBTOOL$ac_delim
POW_LIB!$POW_LIB$ac_delim
LIBOBJS!$LIBOBJS$ac_delim
LIBPNG_DEFINES!$LIBPNG_DEFINES$ac_delim
+LIBPNG_NO_MMX!$LIBPNG_NO_MMX$ac_delim
HAVE_LD_VERSION_SCRIPT_TRUE!$HAVE_LD_VERSION_SCRIPT_TRUE$ac_delim
HAVE_LD_VERSION_SCRIPT_FALSE!$HAVE_LD_VERSION_SCRIPT_FALSE$ac_delim
PNGLIB_VERSION!$PNGLIB_VERSION$ac_delim
@@ -21625,7 +21676,7 @@ compatlib!$compatlib$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 20; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 21; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/configure.ac b/configure.ac
index 244952c57..f835b1574 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@ AC_PREREQ(2.59)
dnl Version number stuff here:
-AC_INIT([libpng], [1.2.20rc4], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.2.20rc5], [png-mng-implement@lists.sourceforge.net])
AM_INIT_AUTOMAKE
dnl stop configure from automagically running automake
AM_MAINTAINER_MODE
-PNGLIB_VERSION=1.2.20rc4
+PNGLIB_VERSION=1.2.20rc5
PNGLIB_MAJOR=1
PNGLIB_MINOR=2
PNGLIB_RELEASE=20
@@ -59,7 +59,18 @@ AC_CHECK_FUNCS([pow], , AC_CHECK_LIB(m, pow, , AC_ERROR([cannot find pow])) )
AC_CHECK_LIB(z, zlibVersion, , AC_ERROR([zlib not installed]))
LIBPNG_DEFINES=-DPNG_CONFIGURE_LIBPNG
+AC_MSG_CHECKING(
+ [if assembler code in pnggccrd.c can be compiled without PNG_NO_MMX_CODE])
+AC_TRY_COMPILE(
+ [#include "$srcdir/pnggccrd.c"],
+ [return 0;],
+ AC_MSG_RESULT(yes)
+ LIBPNG_NO_MMX="",
+ AC_MSG_RESULT(no)
+ LIBPNG_NO_MMX=-DPNG_NO_MMX_CODE)
+LIBPNG_DEFINES=$LIBPNG_DEFINES\ $LIBPNG_NO_MMX
AC_SUBST(LIBPNG_DEFINES)
+AC_SUBST(LIBPNG_NO_MMX)
AC_MSG_CHECKING([if libraries can be versioned])
GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script`
diff --git a/libpng-1.2.20rc4.txt b/libpng-1.2.20rc5.txt
index ba4d9ab7d..3d8b86ae4 100644
--- a/libpng-1.2.20rc4.txt
+++ b/libpng-1.2.20rc5.txt
@@ -1,6 +1,6 @@
libpng.txt - A description on how to use and modify libpng
- libpng version 1.2.20rc4 - September 1, 2007
+ libpng version 1.2.20rc5 - September 2, 2007
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2007 Glenn Randers-Pehrson
@@ -2796,13 +2796,13 @@ application:
IX. Y2K Compliance in libpng
-September 1, 2007
+September 2, 2007
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.20rc4 are Y2K compliant. It is my belief that earlier
+upward through 1.2.20rc5 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/libpng.3 b/libpng.3
index d80f90bf8..26653ff48 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "September 1, 2007"
+.TH LIBPNG 3 "September 2, 2007"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.20rc4
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.20rc5
.SH SYNOPSIS
\fB
#include <png.h>\fP
@@ -410,7 +410,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.2.20rc4 - September 1, 2007
+ libpng version 1.2.20rc5 - September 2, 2007
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2007 Glenn Randers-Pehrson
@@ -3206,13 +3206,13 @@ application:
.SH IX. Y2K Compliance in libpng
-September 1, 2007
+September 2, 2007
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.20rc4 are Y2K compliant. It is my belief that earlier
+upward through 1.2.20rc5 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
@@ -3407,8 +3407,8 @@ the first widely used release:
1.0.27 10 10027 10.so.0.27[.0]
1.2.19 13 10219 12.so.0.19[.0]
1.2.20beta01-04 13 10220 12.so.0.20[.0]
- 1.0.28rc1-4 10 10028 10.so.0.28[.0]
- 1.2.20rc1-4 13 10220 12.so.0.20[.0]
+ 1.0.28rc1-5 10 10028 10.so.0.28[.0]
+ 1.2.20rc1-5 13 10220 12.so.0.20[.0]
1.0.28 10 10028 10.so.0.28[.0]
1.2.20 13 10220 12.so.0.20[.0]
@@ -3466,7 +3466,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
-Libpng version 1.2.20rc4 - September 1, 2007:
+Libpng version 1.2.20rc5 - September 2, 2007:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@@ -3487,7 +3487,7 @@ included in the libpng distribution, the latter shall prevail.)
If you modify libpng you may insert additional notices immediately following
this sentence.
-libpng versions 1.2.6, August 15, 2004, through 1.2.20rc4, September 1, 2007, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.20rc5, September 2, 2007, are
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@@ -3586,7 +3586,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
-September 1, 2007
+September 2, 2007
.\" end of man page
diff --git a/libpngpf.3 b/libpngpf.3
index 06fddfa36..2cd7bfb74 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "September 1, 2007"
+.TH LIBPNGPF 3 "September 2, 2007"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.20rc4
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.20rc5
(private functions)
.SH SYNOPSIS
\fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 317b7aeb3..fe9380d12 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "September 1, 2007"
+.TH PNG 5 "September 2, 2007"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
diff --git a/png.c b/png.c
index e6ffcd4dc..094b76b4c 100644
--- a/png.c
+++ b/png.c
@@ -13,7 +13,7 @@
#include "png.h"
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_20rc4 Your_png_h_is_not_version_1_2_20rc4;
+typedef version_1_2_20rc5 Your_png_h_is_not_version_1_2_20rc5;
/* Version information for C files. This had better match the version
* string defined in png.h. */
@@ -693,7 +693,7 @@ png_charp PNGAPI
png_get_copyright(png_structp png_ptr)
{
png_ptr = png_ptr; /* silence compiler warning about unused png_ptr */
- return ((png_charp) "\n libpng version 1.2.20rc4 - September 1, 2007\n\
+ return ((png_charp) "\n libpng version 1.2.20rc5 - September 2, 2007\n\
Copyright (c) 1998-2007 Glenn Randers-Pehrson\n\
Copyright (c) 1996-1997 Andreas Dilger\n\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
@@ -730,51 +730,9 @@ png_get_header_version(png_structp png_ptr)
png_ptr = png_ptr; /* silence compiler warning about unused png_ptr */
return ((png_charp) PNG_HEADER_VERSION_STRING
#ifdef PNG_READ_SUPPORTED
-# ifdef PNG_USE_PNGGCCRD
-# ifdef __x86_64__
-# ifdef __PIC__
- " (PNGGCRD x86_64, PIC)\n"
-# else
-# ifdef PNG_THREAD_UNSAFE_OK
- " (PNGGCRD x86_64, Thread unsafe)\n"
-# else
- " (PNGGCRD x86_64, Thread safe)\n"
-# endif
-# endif
-# else
-# ifdef PNG_THREAD_UNSAFE_OK
- " (PNGGCRD, Thread unsafe)\n"
-# else
- " (PNGGCRD, Thread safe)\n"
-# endif
-# endif
-# else
-# ifdef PNG_USE_PNGVCRD
-# ifdef __x86_64__
- " (x86_64 PNGVCRD)\n"
-# else
- " (PNGVCRD)\n"
-# endif
-# else
-# ifdef __x86_64__
-# ifdef PNG_OPTIMIZED_CODE_SUPPORTED
- " (x86_64 OPTIMIZED)\n"
-# else
- " (x86_64 NOT OPTIMIZED)\n"
-# endif
-# else
-# ifdef PNG_OPTIMIZED_CODE_SUPPORTED
- " (OPTIMIZED)\n"
-# else
- " (NOT OPTIMIZED)\n"
-# endif
-# endif
-# endif
-# endif
-#else
- " (NO READ SUPPORT)\n"
+ " (NO READ SUPPORT)"
#endif
- );
+ "\n");
}
#if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
@@ -815,16 +773,6 @@ png_access_version_number(void)
#if defined(PNG_READ_SUPPORTED) && defined(PNG_ASSEMBLER_CODE_SUPPORTED)
#if !defined(PNG_1_0_X)
-#if defined(PNG_MMX_CODE_SUPPORTED)
-/* this INTERNAL function was added to libpng 1.2.0 */
-void /* PRIVATE */
-png_init_mmx_flags (png_structp png_ptr)
-{
- /* obsolete, to be removed from libpng-1.4.0 */
-}
-
-#endif /* !(PNG_MMX_CODE_SUPPORTED) */
-
/* this function was added to libpng 1.2.0 */
int PNGAPI
png_mmx_support(void)
diff --git a/png.h b/png.h
index a4aa8d0af..795decc17 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
- * libpng version 1.2.20rc4 - September 1, 2007
+ * libpng version 1.2.20rc5 - September 2, 2007
* Copyright (c) 1998-2007 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.2.20rc4 - September 1, 2007: Glenn
+ * libpng versions 0.97, January 1998, through 1.2.20rc5 - September 2, 2007: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@@ -156,8 +156,8 @@
* 1.0.27 10 10027 10.so.0.27[.0]
* 1.2.19 13 10219 12.so.0.19[.0]
* 1.2.20beta01-04 13 10220 12.so.0.20[.0]
- * 1.0.28rc1-4 10 10028 10.so.0.28[.0]
- * 1.2.20rc1-4 13 10220 12.so.0.20[.0]
+ * 1.0.28rc1-5 10 10028 10.so.0.28[.0]
+ * 1.2.20rc1-5 13 10220 12.so.0.20[.0]
* 1.0.28 10 10028 10.so.0.28[.0]
* 1.2.20 13 10220 12.so.0.20[.0]
*
@@ -189,7 +189,7 @@
* If you modify libpng you may insert additional notices immediately following
* this sentence.
*
- * libpng versions 1.2.6, August 15, 2004, through 1.2.20rc4, September 1, 2007, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.2.20rc5, September 2, 2007, are
* Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors:
@@ -301,13 +301,13 @@
* Y2K compliance in libpng:
* =========================
*
- * September 1, 2007
+ * September 2, 2007
*
* 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.20rc4 are Y2K compliant. It is my belief that earlier
+ * upward through 1.2.20rc5 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
@@ -363,9 +363,9 @@
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.20rc4"
+#define PNG_LIBPNG_VER_STRING "1.2.20rc5"
#define PNG_HEADER_VERSION_STRING \
- " libpng version 1.2.20rc4 - September 1, 2007\n"
+ " libpng version 1.2.20rc5 - September 2, 2007\n"
#define PNG_LIBPNG_VER_SONUM 0
#define PNG_LIBPNG_VER_DLLNUM 13
@@ -377,7 +377,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 4
+#define PNG_LIBPNG_VER_BUILD 5
/* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1
@@ -1412,7 +1412,7 @@ struct png_struct_def
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
-typedef png_structp version_1_2_20rc4;
+typedef png_structp version_1_2_20rc5;
typedef png_struct FAR * FAR * png_structpp;
diff --git a/pngconf.h b/pngconf.h
index 01d757891..0a55522ce 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng
*
- * libpng version 1.2.20rc4 - September 1, 2007
+ * libpng version 1.2.20rc5 - September 2, 2007
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2007 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -765,17 +765,6 @@
# define PNG_MMX_CODE_SUPPORTED
# endif
-# if !defined(PNG_USE_PNGVCRD) && defined(PNG_MMX_CODE_SUPPORTED) && \
- defined(_MSC_VER)
-# define PNG_USE_PNGVCRD
-# endif
-
-# if !defined(PNG_USE_PNGGCCRD) && defined(PNG_MMX_CODE_SUPPORTED) && \
- !defined(PNG_USE_PNGVCRD)
-# define PNG_USE_PNGGCCRD
-# define PNG_THREAD_UNSAFE_OK
-# endif
-
#endif
/* end of obsolete code to be removed from libpng-1.4.0 */
diff --git a/pngerror.c b/pngerror.c
index 2d03c56f1..6bd20fd0a 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation
*
- * Last changed in libpng 1.2.20 September 1, 2007
+ * Last changed in libpng 1.2.20 September 2, 2007
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2007 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pnggccrd.c b/pnggccrd.c
index 7007ad9f0..a7248d6ca 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -1 +1,101 @@
/* pnggccrd.c was removed from libpng-1.2.20. */
+
+/* This code snippet is for use by configure's compilation test. */
+
+#if defined(PNG_ASSEMBLER_CODE_SUPPORTED) && \
+ defined(PNG_MMX_CODE_SUPPORTED)
+int PNGAPI png_dummy_mmx_support(void);
+
+static int _mmx_supported = 2; // 0: no MMX; 1: MMX supported; 2: not tested
+
+int PNGAPI
+png_dummy_mmx_support(void) __attribute__((noinline));
+
+int PNGAPI
+png_dummy_mmx_support(void)
+{
+ int result;
+#if defined(PNG_MMX_CODE_SUPPORTED) // superfluous, but what the heck
+ __asm__ __volatile__ (
+#if defined(__x86_64__)
+ "pushq %%rbx \n\t" // rbx gets clobbered by CPUID instruction
+ "pushq %%rcx \n\t" // so does rcx...
+ "pushq %%rdx \n\t" // ...and rdx (but rcx & rdx safe on Linux)
+ "pushfq \n\t" // save Eflag to stack
+ "popq %%rax \n\t" // get Eflag from stack into rax
+ "movq %%rax, %%rcx \n\t" // make another copy of Eflag in rcx
+ "xorl $0x200000, %%eax \n\t" // toggle ID bit in Eflag (i.e., bit 21)
+ "pushq %%rax \n\t" // save modified Eflag back to stack
+ "popfq \n\t" // restore modified value to Eflag reg
+ "pushfq \n\t" // save Eflag to stack
+ "popq %%rax \n\t" // get Eflag from stack
+ "pushq %%rcx \n\t" // save original Eflag to stack
+ "popfq \n\t" // restore original Eflag
+#else
+ "pushl %%ebx \n\t" // ebx gets clobbered by CPUID instruction
+ "pushl %%ecx \n\t" // so does ecx...
+ "pushl %%edx \n\t" // ...and edx (but ecx & edx safe on Linux)
+ "pushfl \n\t" // save Eflag to stack
+ "popl %%eax \n\t" // get Eflag from stack into eax
+ "movl %%eax, %%ecx \n\t" // make another copy of Eflag in ecx
+ "xorl $0x200000, %%eax \n\t" // toggle ID bit in Eflag (i.e., bit 21)
+ "pushl %%eax \n\t" // save modified Eflag back to stack
+ "popfl \n\t" // restore modified value to Eflag reg
+ "pushfl \n\t" // save Eflag to stack
+ "popl %%eax \n\t" // get Eflag from stack
+ "pushl %%ecx \n\t" // save original Eflag to stack
+ "popfl \n\t" // restore original Eflag
+#endif
+ "xorl %%ecx, %%eax \n\t" // compare new Eflag with original Eflag
+ "jz 0f \n\t" // if same, CPUID instr. is not supported
+
+ "xorl %%eax, %%eax \n\t" // set eax to zero
+// ".byte 0x0f, 0xa2 \n\t" // CPUID instruction (two-byte opcode)
+ "cpuid \n\t" // get the CPU identification info
+ "cmpl $1, %%eax \n\t" // make sure eax return non-zero value
+ "jl 0f \n\t" // if eax is zero, MMX is not supported
+
+ "xorl %%eax, %%eax \n\t" // set eax to zero and...
+ "incl %%eax \n\t" // ...increment eax to 1. This pair is
+ // faster than the instruction "mov eax, 1"
+ "cpuid \n\t" // get the CPU identification info again
+ "andl $0x800000, %%edx \n\t" // mask out all bits but MMX bit (23)
+ "cmpl $0, %%edx \n\t" // 0 = MMX not supported
+ "jz 0f \n\t" // non-zero = yes, MMX IS supported
+
+ "movl $1, %%eax \n\t" // set return value to 1
+ "jmp 1f \n\t" // DONE: have MMX support
+
+ "0: \n\t" // .NOT_SUPPORTED: target label for jump instructions
+ "movl $0, %%eax \n\t" // set return value to 0
+ "1: \n\t" // .RETURN: target label for jump instructions
+#if defined(__x86_64__)
+ "popq %%rdx \n\t" // restore rdx
+ "popq %%rcx \n\t" // restore rcx
+ "popq %%rbx \n\t" // restore rbx
+#else
+ "popl %%edx \n\t" // restore edx
+ "popl %%ecx \n\t" // restore ecx
+ "popl %%ebx \n\t" // restore ebx
+#endif
+
+// "ret \n\t" // DONE: no MMX support
+ // (fall through to standard C "ret")
+
+ : "=a" (result) // output list
+
+ : // any variables used on input (none)
+
+ // no clobber list
+// , "%ebx", "%ecx", "%edx" // GRR: we handle these manually
+// , "memory" // if write to a variable gcc thought was in a reg
+// , "cc" // "condition codes" (flag bits)
+ );
+ _mmx_supported = result;
+#else
+ _mmx_supported = 0;
+#endif /* PNG_MMX_CODE_SUPPORTED */
+
+ return _mmx_supported;
+}
+#endif
diff --git a/pngget.c b/pngget.c
index 9cf1b845b..a0e90bb6a 100644
--- a/pngget.c
+++ b/pngget.c
@@ -842,11 +842,7 @@ png_uint_32 PNGAPI
png_get_asm_flags (png_structp png_ptr)
{
/* obsolete, to be removed from libpng-1.4.0 */
-#ifdef PNG_MMX_CODE_SUPPORTED
- return (png_uint_32)(png_ptr? png_ptr->asm_flags : 0L);
-#else
return (png_ptr? 0L: 0L);
-#endif
}
/* this function was added to libpng 1.2.0 and should exist by default */
diff --git a/pngpread.c b/pngpread.c
index d5952bbd9..6810056a1 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode
*
- * Last changed in libpng 1.2.20 September 1, 2007
+ * Last changed in libpng 1.2.20 September 2, 2007
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2007 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngtest.c b/pngtest.c
index 70734a366..4ef37f4f9 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1548,4 +1548,4 @@ main(int argc, char *argv[])
}
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_20rc4 your_png_h_is_not_version_1_2_20rc4;
+typedef version_1_2_20rc5 your_png_h_is_not_version_1_2_20rc5;
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index b948607e2..2530c7bbd 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -165,7 +165,7 @@ configure_file(${PNG_SOURCE_DIR}/scripts/libpng-config.in
# SET UP LINKS
set_target_properties(${PNG_LIB_NAME} PROPERTIES
-# VERSION 0.${PNGLIB_RELEASE}.1.2.20rc4
+# VERSION 0.${PNGLIB_RELEASE}.1.2.20rc5
VERSION 0.${PNGLIB_RELEASE}.0
SOVERSION 0
CLEAN_DIRECT_OUTPUT 1)
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index 8f8e29b56..71931d7bd 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
# Modeled after libxml-config.
-version=1.2.20rc4
+version=1.2.20rc5
prefix=""
libdir=""
libs=""
diff --git a/scripts/libpng.pc-configure.in b/scripts/libpng.pc-configure.in
index ab39e205b..3fe86b743 100644
--- a/scripts/libpng.pc-configure.in
+++ b/scripts/libpng.pc-configure.in
@@ -5,6 +5,6 @@ includedir=@includedir@/libpng12
Name: libpng
Description: Loads and saves PNG files
-Version: 1.2.20rc4
+Version: 1.2.20rc5
Libs: -L${libdir} -lpng12
Cflags: -I${includedir} @LIBPNG_NO_MMX@
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index d83e2d8b3..27c3303e3 100644
--- a/scripts/libpng.pc.in
+++ b/scripts/libpng.pc.in
@@ -5,6 +5,6 @@ includedir=@includedir@/libpng12
Name: libpng
Description: Loads and saves PNG files
-Version: 1.2.20rc4
+Version: 1.2.20rc5
Libs: -L${libdir} -lpng12
Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index 125599888..2a0cc25b0 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index aed69ed46..4dd95a24a 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index f32233f23..f57db208c 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@ LN_SF = ln -f -s
LIBNAME=libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 15449c434..e5ce3f325 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index 2812ac25d..4b7cbac64 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME = libpng12
PNGMAJ = 0
CYGDLL = 12
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=cygpng$(CYGDLL).dll
@@ -288,7 +288,6 @@ 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
-# pnggccrd.o pnggccrd.pic.o: png.h pngconf.h pnggccrd.c
pngtest.o: png.h pngconf.h pngtest.c
pngtest-stat.o: png.h pngconf.h pngtest.c
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index 2a27d1f74..667ea7a00 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,7 @@ ZLIBINC=../zlib
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index a9d243e14..7078073ed 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -5,7 +5,7 @@
# Library name:
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index 4d8e04c45..f03cbb91c 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -12,7 +12,7 @@
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 1bc5215b7..ef4eee7d7 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -14,7 +14,7 @@
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index 38c896cdb..683927b48 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 34053ce72..32c8abe11 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -8,7 +8,7 @@
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index d92222d59..0a0d508db 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 2c83c21f2..218406dfd 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -6,7 +6,7 @@
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index 43963e850..4ac8b7b74 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME = libpng12
PNGMAJ = 0
MINGDLL = 12
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=libpng$(MINGDLL).dll
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index de9c56a85..88d40baca 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng12
LIB= png12
SHLIB_MAJOR= 0
-SHLIB_MINOR= 1.2.20rc4
+SHLIB_MINOR= 1.2.20rc5
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 26be87f11..a0720c9f1 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng
LIB= png
SHLIB_MAJOR= 3
-SHLIB_MINOR= 1.2.20rc4
+SHLIB_MINOR= 1.2.20rc5
SRCS= 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.nommx b/scripts/makefile.nommx
index e1b8c01d0..963388133 100644
--- a/scripts/makefile.nommx
+++ b/scripts/makefile.nommx
@@ -7,7 +7,7 @@
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 912596246..14e5b0b39 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -8,7 +8,7 @@ LIBDIR= ${PREFIX}/lib
MANDIR= ${PREFIX}/man/cat
SHLIB_MAJOR= 0
-SHLIB_MINOR= 1.2.20rc4
+SHLIB_MINOR= 1.2.20rc5
LIB= png
SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 3827f5158..caead821d 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -9,7 +9,7 @@
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 58f7ec6f7..b3aebb33b 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -6,7 +6,7 @@
# Library name:
LIBNAME=libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 64a659506..1221b1a47 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -6,7 +6,7 @@
# Library name:
LIBNAME=libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 3b1a2864c..713a90400 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -8,7 +8,7 @@
# Library name:
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng12
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 01b10f491..5ca03452f 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -8,7 +8,7 @@
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86
index e4e2b74d3..c90832674 100644
--- a/scripts/makefile.solaris-x86
+++ b/scripts/makefile.solaris-x86
@@ -8,7 +8,7 @@
# Library name:
LIBNAME = libpng12
PNGMAJ = 0
-PNGMIN = 1.2.20rc4
+PNGMIN = 1.2.20rc5
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 4a6b3f1d0..707c6f946 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
; PNG.LIB module definition file for OS/2
;----------------------------------------
-; Version 1.2.20rc4
+; Version 1.2.20rc5
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"
diff --git a/scripts/pngw32.def b/scripts/pngw32.def
index b31fa79ea..48cb28a6b 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngw32.def
@@ -5,7 +5,7 @@
LIBRARY
EXPORTS
-;Version 1.2.20rc4
+;Version 1.2.20rc5
png_build_grayscale_palette @1
png_check_sig @2
png_chunk_error @3