From 9cab7a24fd047aa723807ffa00d7b8140061a26c Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Wed, 17 Aug 2016 06:39:26 -0500 Subject: [PATCH 01/18] [libpng16] Minor editing of INSTALL, (whitespace, added copyright line) --- ANNOUNCE | 5 +++-- CHANGES | 3 ++- INSTALL | 44 ++++++++++++++++++++++++++++---------------- 3 files changed, 33 insertions(+), 19 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index e9464489c..fe77f8bd9 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ -Libpng 1.6.25beta02 - August 14, 2016 +Libpng 1.6.25beta02 - August 17, 2016 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. @@ -30,8 +30,9 @@ Version 1.6.25beta01 [August 12, 2016] Cleaned up PNG_DEBUG compile of pngtest.c. Conditionally compile png_inflate(). -Version 1.6.25beta02 [August 14, 2016] +Version 1.6.25beta02 [August 17, 2016] Don't install pngcp; it conflicts with pngcp in the pngtools package. + Minor editing of INSTALL, (whitespace, added copyright line) Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 1d0968e7a..0721aae84 100644 --- a/CHANGES +++ b/CHANGES @@ -5680,8 +5680,9 @@ Version 1.6.25beta01 [August 12, 2016] Cleaned up PNG_DEBUG compile of pngtest.c. Conditionally compile png_inflate(). -Version 1.6.25beta02 [August 14, 2016] +Version 1.6.25beta02 [August 17, 2016] Don't install pngcp; it conflicts with pngcp in the pngtools package. + Minor editing of INSTALL, (whitespace, added copyright line) Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/INSTALL b/INSTALL index eed4dc8db..213e565fb 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng + Installing libpng Contents @@ -90,22 +90,24 @@ standard library search path, put ZLIBLIB, ZLIBINC, CPPFLAGS, LDFLAGS, and LD_LIBRARY_PATH in your environment before running "make test" or "make distcheck": -ZLIBLIB=/path/to/lib export ZLIBLIB -ZLIBINC=/path/to/include export ZLIBINC -CPPFLAGS="-I$ZLIBINC" export CPPFLAGS -LDFLAGS="-L$ZLIBLIB" export LDFLAGS -LD_LIBRARY_PATH="$ZLIBLIB:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH + ZLIBLIB=/path/to/lib export ZLIBLIB + ZLIBINC=/path/to/include export ZLIBINC + CPPFLAGS="-I$ZLIBINC" export CPPFLAGS + LDFLAGS="-L$ZLIBLIB" export LDFLAGS + LD_LIBRARY_PATH="$ZLIBLIB:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH If you are using one of the makefile scripts, put ZLIBLIB and ZLIBINC -in your environment and type "make ZLIBLIB=$ZLIBLIB ZLIBINC=$ZLIBINC test". +in your environment and type + + make ZLIBLIB=$ZLIBLIB ZLIBINC=$ZLIBINC test IV. Using cmake If you want to use "cmake" (see www.cmake.org), type - cmake . -DCMAKE_INSTALL_PREFIX=/path - make - make install + cmake . -DCMAKE_INSTALL_PREFIX=/path + make + make install As when using the simple configure method described above, "/path" points to the installation directory where you want to put the libpng "lib", "include", @@ -119,7 +121,7 @@ or "zlib128") so that you have directories called "zlib" and "libpng". Your directory structure should look like this: - .. (the parent directory) + .. (the parent directory) libpng (this directory) INSTALL (this file) README @@ -163,10 +165,15 @@ VII. Building with makefiles Copy the file (or files) that you need from the scripts directory into this directory, for example - MSDOS example: copy scripts\makefile.msc makefile - copy scripts\pnglibconf.h.prebuilt pnglibconf.h - UNIX example: cp scripts/makefile.std makefile - cp scripts/pnglibconf.h.prebuilt pnglibconf.h +MSDOS example: + + copy scripts\makefile.msc makefile + copy scripts\pnglibconf.h.prebuilt pnglibconf.h + +UNIX example: + + cp scripts/makefile.std makefile + cp scripts/pnglibconf.h.prebuilt pnglibconf.h Read the makefile to see if you need to change any source or target directories to match your preferences. @@ -374,7 +381,7 @@ your application is going to be using multiple threads, you should configure libpng with PNG_NO_SETJMP in your pngusr.dfa file, with -DPNG_NO_SETJMP on your compile line, or with - #undef PNG_SETJMP_SUPPORTED + #undef PNG_SETJMP_SUPPORTED in your pnglibconf.h or pngusr.h. @@ -400,3 +407,8 @@ XVII. Other sources of information about libpng: Further information can be found in the README and libpng-manual.txt files, in the individual makefiles, in png.h, and the manual pages libpng.3 and png.5. + +Copyright (c) 1998-2002,2006-2016 Glenn Randers-Pehrson +This document is released under the libpng license. +For conditions of distribution and use, see the disclaimer +and license in png.h. From 4be85e1b37993b84c9cec77b3aa3bc2e47376961 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Wed, 17 Aug 2016 06:52:07 -0500 Subject: [PATCH 02/18] [libpng16] Rebased contrib/intel/intel_sse.patch --- contrib/intel/intel_sse.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/intel/intel_sse.patch b/contrib/intel/intel_sse.patch index c5579e3ab..cddd9bf26 100644 --- a/contrib/intel/intel_sse.patch +++ b/contrib/intel/intel_sse.patch @@ -164,7 +164,7 @@ diff --git a/pngpriv.h b/pngpriv.h #ifdef PNG_SEQUENTIAL_READ_SUPPORTED PNG_INTERNAL_FUNCTION(void,png_read_IDAT_data,(png_structrp png_ptr, png_bytep output, png_alloc_size_t avail_out),PNG_EMPTY); -@@ -1914,16 +1965,20 @@ PNG_INTERNAL_FUNCTION(void, PNG_FILTER_O +@@ -1916,16 +1967,20 @@ PNG_INTERNAL_FUNCTION(void, PNG_FILTER_O /* List *all* the possible optimizations here - this branch is required if * the builder of libpng passes the definition of PNG_FILTER_OPTIMIZATIONS in * CFLAGS in place of CPPFLAGS *and* uses symbol prefixing. From e175eb1ffbd538a1e30c8b5c205a4b44331d35ed Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Thu, 18 Aug 2016 12:15:53 -0500 Subject: [PATCH 03/18] [libpng16] Further trivial editing of whitespace in INSTALL --- INSTALL | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/INSTALL b/INSTALL index 213e565fb..58ec0b60a 100644 --- a/INSTALL +++ b/INSTALL @@ -3,23 +3,23 @@ Contents - I. Simple installation - II. Rebuilding the configure scripts - III. Using scripts/makefile* - IV. Using cmake - V. Directory structure - VI. Building with project files - VII. Building with makefiles -VIII. Configuring libpng for 16-bit platforms - IX. Configuring for DOS - X. Configuring for Medium Model - XI. Prepending a prefix to exported symbols - XII. Configuring for compiler xxx: -XIII. Removing unwanted object code - XIV. Changes to the build and configuration of libpng in libpng-1.5.x - XV. Setjmp/longjmp issues - XVI. Common linking failures -XVII. Other sources of information about libpng + I. Simple installation + II. Rebuilding the configure scripts + III. Using scripts/makefile* + IV. Using cmake + V. Directory structure + VI. Building with project files + VII. Building with makefiles + VIII. Configuring libpng for 16-bit platforms + IX. Configuring for DOS + X. Configuring for Medium Model + XI. Prepending a prefix to exported symbols + XII. Configuring for compiler xxx: + XIII. Removing unwanted object code + XIV. Changes to the build and configuration of libpng in libpng-1.5.x + XV. Setjmp/longjmp issues + XVI. Common linking failures + XVII. Other sources of information about libpng I. Simple installation @@ -249,7 +249,7 @@ libpng are compiled. All the defines end in _SUPPORTED. If you are never going to use a capability, you can change the #define to #undef before recompiling libpng and save yourself code and data space, or you can turn off individual capabilities with defines that begin with -PNG_NO_. +"PNG_NO_". In libpng-1.5.0 and later, the #define's are in pnglibconf.h instead. @@ -317,7 +317,7 @@ only png_longjmp_ptr, which must match the C longjmp function.) The new approach is documented in pngconf.h Despite these changes, libpng 1.5.0 only supports the native C function -calling standard on those platforms tested so far (__cdecl on Microsoft +calling standard on those platforms tested so far ("__cdecl" on Microsoft Windows). This is because the support requirements for alternative calling conventions seem to no longer exist. Developers who find it necessary to set PNG_API_RULE to 1 should advise the mailing list From 4dc4b2efac7cdf67c644daec3dd883d21bed70f8 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Thu, 18 Aug 2016 12:11:46 -0500 Subject: [PATCH 04/18] [libpng16] Imported from libpng-1.6.25beta02.tar --- ANNOUNCE | 4 ++-- CHANGES | 2 +- LICENSE | 4 ++-- README | 2 +- TODO | 4 +++- libpng-manual.txt | 4 ++-- libpng.3 | 12 ++++++------ libpngpf.3 | 2 +- png.5 | 2 +- png.c | 4 ++-- png.h | 10 +++++----- pngconf.h | 2 +- projects/vstudio/README.txt | 2 +- projects/vstudio/zlib.props | 2 +- scripts/README.txt | 2 +- scripts/pnglibconf.h.prebuilt | 2 +- 16 files changed, 31 insertions(+), 29 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index fe77f8bd9..b730960e1 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ -Libpng 1.6.25beta02 - August 17, 2016 +Libpng 1.6.25beta02 - August 18, 2016 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. @@ -30,7 +30,7 @@ Version 1.6.25beta01 [August 12, 2016] Cleaned up PNG_DEBUG compile of pngtest.c. Conditionally compile png_inflate(). -Version 1.6.25beta02 [August 17, 2016] +Version 1.6.25beta02 [August 18, 2016] Don't install pngcp; it conflicts with pngcp in the pngtools package. Minor editing of INSTALL, (whitespace, added copyright line) diff --git a/CHANGES b/CHANGES index 0721aae84..4371cdc5c 100644 --- a/CHANGES +++ b/CHANGES @@ -5680,7 +5680,7 @@ Version 1.6.25beta01 [August 12, 2016] Cleaned up PNG_DEBUG compile of pngtest.c. Conditionally compile png_inflate(). -Version 1.6.25beta02 [August 17, 2016] +Version 1.6.25beta02 [August 18, 2016] Don't install pngcp; it conflicts with pngcp in the pngtools package. Minor editing of INSTALL, (whitespace, added copyright line) diff --git a/LICENSE b/LICENSE index 5db8350a8..fba2d4356 100644 --- a/LICENSE +++ b/LICENSE @@ -10,7 +10,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.0.7, July 1, 2000 through 1.6.25beta02, August 12, 2016 are +libpng versions 1.0.7, July 1, 2000 through 1.6.25beta02, August 18, 2016 are Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are derived from libpng-1.0.6, and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals @@ -127,4 +127,4 @@ any encryption software. See the EAR, paragraphs 734.3(b)(3) and Glenn Randers-Pehrson glennrp at users.sourceforge.net -August 12, 2016 +August 18, 2016 diff --git a/README b/README index 7974472bd..b0f966cd4 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng version 1.6.25beta02 - August 12, 2016 (shared library 16.0) +README for libpng version 1.6.25beta02 - August 18, 2016 (shared library 16.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. diff --git a/TODO b/TODO index 0b3b65137..cdb9e1fa8 100644 --- a/TODO +++ b/TODO @@ -5,7 +5,9 @@ Final bug fixes. Better C++ wrapper/full C++ implementation? Fix problem with C++ and EXTERN "C". cHRM transformation. -Remove setjmp/longjmp usage in favor of returning error codes. +Remove setjmp/longjmp usage in favor of returning error codes. As a start on + this, minimize the use of png_error(), replacing them with + png_warning(); return(0; or similar. Palette creation. Add "grayscale->palette" transformation and "palette->grayscale" detection. Improved dithering. diff --git a/libpng-manual.txt b/libpng-manual.txt index 887c9bfbd..3cf0cec52 100644 --- a/libpng-manual.txt +++ b/libpng-manual.txt @@ -1,6 +1,6 @@ libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.6.25beta02 - August 12, 2016 + libpng version 1.6.25beta02 - August 18, 2016 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2016 Glenn Randers-Pehrson @@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.6.25beta02 - August 12, 2016 + libpng versions 0.97, January 1998, through 1.6.25beta02 - August 18, 2016 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2016 Glenn Randers-Pehrson diff --git a/libpng.3 b/libpng.3 index bfb3f3b6d..ebbf242de 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,4 +1,4 @@ -.TH LIBPNG 3 "August 12, 2016" +.TH LIBPNG 3 "August 18, 2016" .SH NAME libpng \- Portable Network Graphics (PNG) Reference Library 1.6.25beta02 .SH SYNOPSIS @@ -510,7 +510,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng. .SH LIBPNG.TXT libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.6.25beta02 - August 12, 2016 + libpng version 1.6.25beta02 - August 18, 2016 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2016 Glenn Randers-Pehrson @@ -521,7 +521,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.6.25beta02 - August 12, 2016 + libpng versions 0.97, January 1998, through 1.6.25beta02 - August 18, 2016 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2016 Glenn Randers-Pehrson @@ -6018,7 +6018,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.6.25beta02 - August 12, 2016: +Libpng version 1.6.25beta02 - August 18, 2016: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -6043,7 +6043,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.0.7, July 1, 2000 through 1.6.25beta02, August 12, 2016 are +libpng versions 1.0.7, July 1, 2000 through 1.6.25beta02, August 18, 2016 are Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are derived from libpng-1.0.6, and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals @@ -6168,7 +6168,7 @@ files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). Glenn Randers-Pehrson glennrp at users.sourceforge.net -August 12, 2016 +August 18, 2016 .\" end of man page diff --git a/libpngpf.3 b/libpngpf.3 index 3e430895b..f101c4603 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,4 +1,4 @@ -.TH LIBPNGPF 3 "August 12, 2016" +.TH LIBPNGPF 3 "August 18, 2016" .SH NAME libpng \- Portable Network Graphics (PNG) Reference Library 1.6.25beta02 (private functions) diff --git a/png.5 b/png.5 index 498c98e49..a6fa02621 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "August 12, 2016" +.TH PNG 5 "August 18, 2016" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index 47e6512fc..d2466aa10 100644 --- a/png.c +++ b/png.c @@ -775,14 +775,14 @@ png_get_copyright(png_const_structrp png_ptr) #else # ifdef __STDC__ return PNG_STRING_NEWLINE \ - "libpng version 1.6.25beta02 - August 12, 2016" PNG_STRING_NEWLINE \ + "libpng version 1.6.25beta02 - August 18, 2016" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson" \ PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ PNG_STRING_NEWLINE; # else - return "libpng version 1.6.25beta02 - August 12, 2016\ + return "libpng version 1.6.25beta02 - August 18, 2016\ Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson\ Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."; diff --git a/png.h b/png.h index b5db364e9..96c9f78b6 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.6.25beta02, August 12, 2016 + * libpng version 1.6.25beta02, August 18, 2016 * * Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -12,7 +12,7 @@ * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.6.25beta02, August 12, 2016: + * libpng versions 0.97, January 1998, through 1.6.25beta02, August 18, 2016: * Glenn Randers-Pehrson. * See also "Contributing Authors", below. */ @@ -29,7 +29,7 @@ * files that are distributed with libpng have other copyright owners and * are released under other open source licenses. * - * libpng versions 1.0.7, July 1, 2000 through 1.6.25beta02, August 12, 2016 are + * libpng versions 1.0.7, July 1, 2000 through 1.6.25beta02, August 18, 2016 are * Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are * derived from libpng-1.0.6, and are distributed according to the same * disclaimer and license as libpng-1.0.6 with the following individuals @@ -245,7 +245,7 @@ * Y2K compliance in libpng: * ========================= * - * August 12, 2016 + * August 18, 2016 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. @@ -314,7 +314,7 @@ /* Version information for png.h - this should match the version in png.c */ #define PNG_LIBPNG_VER_STRING "1.6.25beta02" -#define PNG_HEADER_VERSION_STRING " libpng version 1.6.25beta02 - August 12, 2016\n" +#define PNG_HEADER_VERSION_STRING " libpng version 1.6.25beta02 - August 18, 2016\n" #define PNG_LIBPNG_VER_SONUM 16 #define PNG_LIBPNG_VER_DLLNUM 16 diff --git a/pngconf.h b/pngconf.h index 7b32af3fc..171fbf427 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.6.25beta02, August 12, 2016 + * libpng version 1.6.25beta02, August 18, 2016 * * Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/projects/vstudio/README.txt b/projects/vstudio/README.txt index b30c0e577..49d6acaca 100644 --- a/projects/vstudio/README.txt +++ b/projects/vstudio/README.txt @@ -1,7 +1,7 @@ VisualStudio instructions -libpng version 1.6.25beta02 - August 12, 2016 +libpng version 1.6.25beta02 - August 18, 2016 Copyright (c) 2010,2013,2015 Glenn Randers-Pehrson diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props index e6b462d67..7a88a5d24 100644 --- a/projects/vstudio/zlib.props +++ b/projects/vstudio/zlib.props @@ -2,7 +2,7 @@