diff --git a/ANNOUNCE b/ANNOUNCE index 63ee893f0..1efb25b9d 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.0.9beta2 - November 19, 2000 +Libpng 1.0.9beta3 - November 23, 2000 This is a public release of libpng, intended for use in production codes. @@ -28,6 +28,10 @@ Changes since the last public release (1.0.8): subdirectory and added projects/borland project subdirectory. Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate. Add error message in png_set_compression_buffer_size() when malloc fails. + Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project. + Ifdef'ed out the png_flush() in pngwrite.c that crashes some applications + that don't set png_output_flush_fn. + Added makefile.macosx and makefile.aix to scripts directory. Send comments/corrections/commendations to png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu diff --git a/CHANGES b/CHANGES index 33f7045dd..cc9d34c93 100644 --- a/CHANGES +++ b/CHANGES @@ -379,7 +379,7 @@ version 1.0.2a [December 30, 1998] Changed "ln -sf" to "ln -s -f" in makefile.s2x, makefile.lnx, and makefile.sco. Removed lines after Dynamic Dependencies" in makefile.aco . Revised makefile.dec to make a shared library (Jeremie Petit). - Removed trailing blanks from all files. + Removed trailing blanks from all files. version 1.0.2a [January 6, 1999] Removed misplaced #endif and #ifdef PNG_NO_EXTERN near the end of png.h Added "if" tests to silence complaints about unused png_ptr in png.h and png.c @@ -718,7 +718,7 @@ version 1.0.6i [May 2, 2000] the high-level interface, and unknown chunks support (all new in 1.0.6). This was necessary because of old applications that allocate the structs directly as authors were instructed to do in libpng-0.88 and earlier, - instead of using png_create_*(). + instead of using png_create_*(). Added modes PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT which can be used to detect codes that directly allocate the structs, and code to check these modes in png_read_init() and png_write_init() and @@ -798,7 +798,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.9beta2 [November 19, 2000] +version 1.0.9beta3 [November 23, 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 @@ -848,6 +848,11 @@ version 1.0.9beta2 [November 19, 2000] Added borland project files to "projects" subdirectory. Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate. Add error message in png_set_compression_buffer_size() when malloc fails. +version 1.0.9beta3 [November 23, 2000] + Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project. + Ifdef'ed out the png_flush() in pngwrite.c that crashes some applications + that don't set png_output_flush_fn. + Added makefile.macosx and makefile.aix to scripts directory. Send comments/corrections/commendations to png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu diff --git a/INSTALL b/INSTALL index fa74b1256..ae8aae14f 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.0.9beta2 - November 19, 2000 +Installing libpng version 1.0.9beta3 - November 23, 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.9beta2" or "lpng109" and "zlib-1.1.3" +might be called "libpng-1.0.9beta3" or "lpng109" and "zlib-1.1.3" or "zlib113") so that you have directories called "zlib" and "libpng". Your directory structure should look like this: @@ -53,29 +53,31 @@ instructions in the README* files. Else enter the zlib directory and follow the instructions in zlib/README, then come back here and choose the appropriate makefile.sys in the scripts -directory. +directory. 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.9beta2) - makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta2, + makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta3) + makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta3, 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 ansi2knr (Requires ansi2knr.c from ftp://ftp.cs.wisc.edu/ghost) + makefile.aix => AIX makefile makefile.cygwin => Cygwin/gcc makefile makefile.dec => DEC Alpha UNIX makefile makefile.hpux => HPUX (10.20 and 11.00) makefile makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static) makefile.intel => Intel C/C++ version 4.0 and later libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later + makefile.macosx => MACOS X Makefile makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) - makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta2) + makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta3) makefile.sunos => Sun makefile - makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9beta2) + makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9beta3) makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.mips => MIPS makefile makefile.acorn => Acorn makefile diff --git a/LICENSE b/LICENSE index 7b88943f5..ebb8420dc 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.0.7, July 1, 2000, through 1.0.9beta2, November 19, 2000, are +libpng versions 1.0.7, July 1, 2000, through 1.0.9beta3, November 23, 2000, are Copyright (c) 2000 Glenn Randers-Pehrson and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals added to the list of Contributing Authors @@ -99,4 +99,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson randeg@alum.rpi.edu -November 19, 2000 +November 23, 2000 diff --git a/README b/README index 3ac9cbe00..eb82e276d 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng 1.0.9beta2 - November 19, 2000 (shared library 2.1) +README for libpng 1.0.9beta3 - November 23, 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. @@ -182,25 +182,27 @@ 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.9beta2) + (gcc, creates libpng.so.2.1.0.9beta3) makefile.gcmmx => Linux/ELF makefile (gcc, creates - libpng.so.2.1.0.9beta2, uses assembler code + libpng.so.2.1.0.9beta3, 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 ansi2knr (Requires ansi2knr.c from ftp://ftp.cs.wisc.edu/ghost) + makefile.aix => AIX makefile makefile.cygwin => Cygwin/gcc makefile makefile.dec => DEC Alpha UNIX makefile makefile.hpux => HPUX (10.20 and 11.00) makefile makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static) makefile.intel => Intel C/C++ version 4.0 and later libpng.icc => Project file, IBM VisualAge/C++ 4.0 or later + makefile.macosx => MACOS X Makefile makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) - makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta2) + makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta3) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng.so.2.1.0.9beta2) + (gcc, creates libpng.so.2.1.0.9beta3) makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.mips => MIPS makefile makefile.acorn => Acorn makefile diff --git a/TODO b/TODO index e1de86ce5..74763a95a 100644 --- a/TODO +++ b/TODO @@ -17,3 +17,4 @@ Better filter selection (counting huffman bits/precompression? filter inertia? filter costs?). Histogram creation. Text conversion between different code pages (Latin-1 -> Mac and DOS). +Should we always malloc 2^bit_depth PLTE/tRNS/hIST entries for safety? diff --git a/Y2KINFO b/Y2KINFO index c3542a483..7257d4a91 100644 --- a/Y2KINFO +++ b/Y2KINFO @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - November 19, 2000 + November 23, 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.9beta2 are Y2K compliant. It is my belief that earlier + upward through 1.0.9beta3 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 53a921ecd..4629d24e3 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ echo " - There is no \"configure\" script for Libpng-1.0.9beta2. Instead, please + There is no \"configure\" script for Libpng-1.0.9beta3. 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 2a54ac20c..d32e6c134 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "November 19, 2000" +.TH LIBPNG 3 "November 23, 2000" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta2 +libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta3 .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.9beta2 - November 19, 2000 + libpng version 1.0.9beta3 - November 23, 2000 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson @@ -814,7 +814,7 @@ majority of the needs of its users. Libpng uses zlib for its compression and decompression of PNG files. Further information about zlib, and the latest version of zlib, can -be found at the zlib home page, . +be found at the zlib home page, . The zlib compression utility is a general purpose utility that is useful for more than PNG files, and can be used without libpng. See the documentation delivered with zlib for more details. @@ -1118,7 +1118,7 @@ row_pointers prior to calling png_read_png() with row_pointers = png_malloc(png_ptr, height*sizeof(png_bytep)); for (int i=0; i Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson @@ -67,7 +67,7 @@ majority of the needs of its users. Libpng uses zlib for its compression and decompression of PNG files. Further information about zlib, and the latest version of zlib, can -be found at the zlib home page, . +be found at the zlib home page, . The zlib compression utility is a general purpose utility that is useful for more than PNG files, and can be used without libpng. See the documentation delivered with zlib for more details. @@ -371,7 +371,7 @@ row_pointers prior to calling png_read_png() with row_pointers = png_malloc(png_ptr, height*sizeof(png_bytep)); for (int i=0; i\fP diff --git a/png.5 b/png.5 index a1cce5d15..133b8f6a3 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "November 19, 2000" +.TH PNG 5 "November 23, 2000" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index 164ebf382..09ed6d288 100644 --- a/png.c +++ b/png.c @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * libpng version 1.0.9beta2 - November 19, 2000 + * libpng version 1.0.9beta3 - November 23, 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_9beta2 Your_png_h_is_not_version_1_0_9beta2; +typedef version_1_0_9beta3 Your_png_h_is_not_version_1_0_9beta3; /* Version information for C files. This had better match the version * string defined in png.h. */ #ifdef PNG_USE_GLOBAL_ARRAYS /* png_libpng_ver was changed to a function in version 1.0.5c */ -const char png_libpng_ver[18] = "1.0.9beta2"; +const char png_libpng_ver[18] = "1.0.9beta3"; /* png_sig was changed to a function in version 1.0.5c */ /* Place to hold the signature string for a PNG file. */ @@ -526,7 +526,7 @@ png_info_destroy(png_structp png_ptr, png_infop info_ptr) png_debug(1, "in png_info_destroy\n"); png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1); - + #if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) if (png_ptr->num_chunk_list) { @@ -626,7 +626,7 @@ png_charp PNGAPI png_get_copyright(png_structp png_ptr) { if (png_ptr != NULL || png_ptr == NULL) /* silence compiler warning */ - return ((png_charp) "\n libpng version 1.0.9beta2 - November 19, 2000\n\ + return ((png_charp) "\n libpng version 1.0.9beta3 - November 23, 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"); @@ -644,8 +644,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((png_charp) "1.0.9beta2"); - return((png_charp) "1.0.9beta2"); + return((png_charp) "1.0.9beta3"); + return((png_charp) "1.0.9beta3"); } png_charp PNGAPI diff --git a/png.h b/png.h index ca4c8a945..11fb23770 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.0.9beta2 - November 19, 2000 + * libpng version 1.0.9beta3 - November 23, 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.9beta2 - November 19, 2000: Glenn + * libpng versions 0.97, January 1998, through 1.0.9beta3 - November 23, 2000: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -85,7 +85,7 @@ * If you modify libpng you may insert additional notices immediately following * this sentence. * - * libpng versions 1.0.7, July 1, 2000, through 1.0.9beta2, November 19, 2000, are + * libpng versions 1.0.7, July 1, 2000, through 1.0.9beta3, November 23, 2000, are * Copyright (c) 2000 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.0.6 * with the following individuals added to the list of Contributing Authors @@ -190,13 +190,13 @@ * Y2K compliance in libpng: * ========================= * - * November 19, 2000 + * November 23, 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.9beta2 are Y2K compliant. It is my belief that earlier + * upward through 1.0.9beta3 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 @@ -252,7 +252,7 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.0.9beta2" +#define PNG_LIBPNG_VER_STRING "1.0.9beta3" #define PNG_LIBPNG_VER_SONUM 2 @@ -262,8 +262,16 @@ #define PNG_LIBPNG_VER_RELEASE 9 /* This should match the numeric part of the final component of * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ -#define PNG_LIBPNG_VER_BUILD 2 -#define PNG_LIBPNG_BUILD_TYPE beta /* alpha, beta, rc, stable, patched */ + +#define PNG_LIBPNG_VER_BUILD 3 + +#define PNG_LIBPNG_BUILD_ALPHA 1 +#define PNG_LIBPNG_BUILD_BETA 2 +#define PNG_LIBPNG_BUILD_RC 3 +#define PNG_LIBPNG_BUILD_STABLE 4 +#define PNG_LIBPNG_BUILD_TYPEMASK 7 +#define PNG_LIBPNG_BUILD_PATCH 8 /* Can be OR'ed with STABLE only */ +#define PNG_LIBPNG_BUILD_TYPE 2 /* Careful here. At one time, Guy wanted to use 082, but that would be octal. * We must not include leading zeros. @@ -909,8 +917,10 @@ typedef void (PNGAPI *png_unknown_chunk_ptr) PNGARG((png_structp)); #define PNG_TRANSFORM_STRIP_FILLER 0x0800 /* WRITE only */ /* Flags for MNG supported features */ -#define PNG_FLAG_MNG_EMPTY_PLTE 0x01 -#define PNG_ALL_MNG_FEATURES 0x01 +#define PNG_FLAG_MNG_EMPTY_PLTE 0x01 +#define PNG_MODE_EMBEDDED_IN_MNG 0x02 +#define PNG_FLAG_MNG_FILTER_64 0x04 +#define PNG_ALL_MNG_FEATURES 0x07 typedef png_voidp (*png_malloc_ptr) PNGARG((png_structp, png_size_t)); typedef void (*png_free_ptr) PNGARG((png_structp, png_voidp)); @@ -1159,9 +1169,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.9beta2 +and png.h are both at * version 1.0.9beta3 */ -typedef png_structp version_1_0_9beta2; +typedef png_structp version_1_0_9beta3; typedef png_struct FAR * FAR * png_structpp; @@ -2200,7 +2210,7 @@ extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp #endif #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.0.9beta2 - November 19, 2000 (header)\n" + " libpng version 1.0.9beta3 - November 23, 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 0293920bb..00b9ab818 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.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1999, 2000 Glenn Randers-Pehrson * diff --git a/pngconf.h b/pngconf.h index 12d12dd2c..a7e041212 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,6 +1,6 @@ /* pngconf.h - machine configurable file for libpng * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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) @@ -33,7 +33,7 @@ #define PNG_ZBUF_SIZE 8192 #endif -#ifndef PNG_NO_FLOATING_POINT_SUPPORTED +#ifndef PNG_NO_FLOATING_POINT_SUPPORTED #define PNG_FLOATING_POINT_SUPPORTED #endif @@ -53,7 +53,7 @@ * '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 + * (no define) -- building static library, or building an * application and linking to the static lib * 'Cygwin' defines/defaults: * PNG_BUILD_DLL -- building the dll @@ -1015,11 +1015,11 @@ 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: + * + * 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 + * -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. @@ -1051,7 +1051,7 @@ typedef z_stream FAR * png_zstreamp; # 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. @@ -1071,8 +1071,8 @@ typedef z_stream FAR * png_zstreamp; # 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 diff --git a/pngerror.c b/pngerror.c index 43bf597b3..0b7799132 100644 --- a/pngerror.c +++ b/pngerror.c @@ -1,7 +1,7 @@ /* pngerror.c - stub functions for i/o and memory allocation * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 d6e49b4bd..483c74113 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 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 @@ -198,7 +198,7 @@ * correctly (but 48-bit RGB just fine) * * 20000916: - * - fixed bug in png_read_filter_row_mmx_avg(), bpp == 2 case; three errors: + * - fixed bug in png_read_filter_row_mmx_avg(), bpp == 2 case; three errors: * - "_ShiftBpp.use = 24;" should have been "_ShiftBpp.use = 16;" * - "_ShiftRem.use = 40;" should have been "_ShiftRem.use = 48;" * - "psllq _ShiftRem, %%mm2" should have been "psrlq _ShiftRem, %%mm2" @@ -240,22 +240,22 @@ static const int FARDATA png_pass_width[7] = {8, 4, 4, 2, 2, 1, 1}; # define _unmask unmask # define _const4 const4 # define _const6 const6 -# define _mask8_0 mask8_0 -# define _mask16_1 mask16_1 -# define _mask16_0 mask16_0 -# define _mask24_2 mask24_2 -# define _mask24_1 mask24_1 -# define _mask24_0 mask24_0 -# define _mask32_3 mask32_3 -# define _mask32_2 mask32_2 -# define _mask32_1 mask32_1 -# define _mask32_0 mask32_0 -# define _mask48_5 mask48_5 -# define _mask48_4 mask48_4 -# define _mask48_3 mask48_3 -# define _mask48_2 mask48_2 -# define _mask48_1 mask48_1 -# define _mask48_0 mask48_0 +# define _mask8_0 mask8_0 +# define _mask16_1 mask16_1 +# define _mask16_0 mask16_0 +# define _mask24_2 mask24_2 +# define _mask24_1 mask24_1 +# define _mask24_0 mask24_0 +# define _mask32_3 mask32_3 +# define _mask32_2 mask32_2 +# define _mask32_1 mask32_1 +# define _mask32_0 mask32_0 +# define _mask48_5 mask48_5 +# define _mask48_4 mask48_4 +# define _mask48_3 mask48_3 +# define _mask48_2 mask48_2 +# define _mask48_1 mask48_1 +# define _mask48_0 mask48_0 # define _FullLength FullLength # define _MMXLength MMXLength # define _dif dif @@ -642,7 +642,7 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) png_memcpy(dstptr, srcptr, rep_bytes); srcptr += stride; dstptr += stride; - } + } } /* end of else */ break; @@ -774,7 +774,7 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) png_memcpy(dstptr, srcptr, rep_bytes); srcptr += stride; dstptr += stride; - } + } } /* end of else */ break; @@ -921,7 +921,7 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) png_memcpy(dstptr, srcptr, rep_bytes); srcptr += stride; dstptr += stride; - } + } } /* end of else */ break; @@ -1246,7 +1246,7 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) png_memcpy(dstptr, srcptr, rep_bytes); srcptr += stride; dstptr += stride; - } + } } /* end of else */ break; @@ -1273,7 +1273,7 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) png_memcpy(dstptr, srcptr, rep_bytes); srcptr += stride; dstptr += stride; - } + } break; } // end 64 bpp @@ -2095,7 +2095,7 @@ png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass, : "=c" (dummy_value_c), // output regs (dummy) "=S" (dummy_value_S), "=D" (dummy_value_D) - + : "1" (sptr), // esi // input regs "2" (dp), // edi "0" (width_mmx) // ecx @@ -2153,7 +2153,7 @@ png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass, : "=c" (dummy_value_c), // output regs (dummy) "=S" (dummy_value_S), "=D" (dummy_value_D) - + : "1" (sptr), // esi // input regs "2" (dp), // edi "0" (width_mmx) // ecx diff --git a/pngget.c b/pngget.c index 42ba52897..08bf599c8 100644 --- a/pngget.c +++ b/pngget.c @@ -1,7 +1,7 @@ /* pngget.c - retrieval of values from info struct * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 6a0474f84..3943f8b3d 100644 --- a/pngmem.c +++ b/pngmem.c @@ -1,7 +1,7 @@ /* pngmem.c - stub functions for memory allocation * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 0e564666b..cee670dd1 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 af88de5ec..4d1bf4464 100644 --- a/pngread.c +++ b/pngread.c @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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) @@ -103,7 +103,7 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr, removed from version 2.0.0 and beyond because the previous test would have already rejected it. */ - if (user_png_ver[4] == '6' && user_png_ver[2] == '0' && + if (user_png_ver[4] == '6' && user_png_ver[2] == '0' && user_png_ver[0] == '1' && user_png_ver[5] == '\0') { png_error(png_ptr, @@ -701,7 +701,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.9beta2 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta3 */ void PNGAPI @@ -750,7 +750,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.9beta2 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta3 */ void PNGAPI png_read_image(png_structp png_ptr, png_bytepp image) diff --git a/pngrio.c b/pngrio.c index 5cd3ddc06..6671c970a 100644 --- a/pngrio.c +++ b/pngrio.c @@ -1,7 +1,7 @@ /* pngrio.c - functions for data input * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 57391bac4..aa5f05d1d 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.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 e87ee5357..9ff60de7d 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,7 +1,7 @@ /* pngrutil.c - utilities to read a PNG file * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 114012656..5f9ed298d 100644 --- a/pngset.c +++ b/pngset.c @@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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) @@ -730,7 +730,7 @@ void PNGAPI png_set_unknown_chunk_location(png_structp png_ptr, png_infop info_ptr, int chunk, int location) { - if(png_ptr != NULL && info_ptr != NULL && chunk >= 0 && chunk < + if(png_ptr != NULL && info_ptr != NULL && chunk >= 0 && chunk < (int)info_ptr->unknown_chunks_num) info_ptr->unknown_chunks[chunk].location = (png_byte)location; } diff --git a/pngtest.c b/pngtest.c index 2ced4204c..0dc6e9eeb 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1,7 +1,7 @@ /* pngtest.c - a simple test program to test libpng * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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) @@ -1449,4 +1449,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_9beta2 your_png_h_is_not_version_1_0_9beta2; +typedef version_1_0_9beta3 your_png_h_is_not_version_1_0_9beta3; diff --git a/pngtrans.c b/pngtrans.c index 140905c6f..af553bc78 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.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 4b85a1fd7..3d394df6f 100644 --- a/pngvcrd.c +++ b/pngvcrd.c @@ -2,7 +2,7 @@ * * For Intel x86 CPU and Microsoft Visual C++ compiler * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 d62fe85ba..320989f8d 100644 --- a/pngwio.c +++ b/pngwio.c @@ -1,7 +1,7 @@ /* pngwio.c - functions for data output * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 ba79c7b83..bffad0f02 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,7 +1,7 @@ /* pngwrite.c - general routines to write a PNG file * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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) @@ -375,7 +375,11 @@ png_write_end(png_structp png_ptr, png_infop info_ptr) /* write end of PNG file */ png_write_IEND(png_ptr); +#if 0 +/* This flush, added in libpng-1.0.8, causes some applications to crash + because they do not set png_ptr->output_flush_fn */ png_flush(png_ptr); +#endif } #if defined(PNG_WRITE_tIME_SUPPORTED) @@ -488,7 +492,7 @@ png_create_write_struct_2(png_const_charp user_png_ver, png_voidp error_ptr, removed from version 2.0.0 and beyond because the previous test would have already rejected it. */ - if (user_png_ver[4] == '6' && user_png_ver[2] == '0' && + if (user_png_ver[4] == '6' && user_png_ver[2] == '0' && user_png_ver[0] == '1' && user_png_ver[5] == '\0') { png_error(png_ptr, diff --git a/pngwtran.c b/pngwtran.c index d0f5dd7fb..ace6532fa 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.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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 ef81008d6..6aa1c4e33 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * libpng 1.0.9beta2 - November 19, 2000 + * libpng 1.0.9beta3 - November 23, 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/projects/msvc/README.txt b/projects/msvc/README.txt index 8c4c534da..f2a5f86fe 100644 --- a/projects/msvc/README.txt +++ b/projects/msvc/README.txt @@ -1,5 +1,5 @@ Microsoft Developer Studio Build File, Format Version 6.00 for -libpng 1.0.9beta2 (November 19, 2000) and zlib +libpng 1.0.9beta3 (November 23, 2000) and zlib Copyright (C) 2000 Simon-Pierre Cadieux For conditions of distribution and use, see copyright notice in png.h diff --git a/projects/msvc/png.rc b/projects/msvc/png.rc index 692198385..b9ef2d6f8 100644 --- a/projects/msvc/png.rc +++ b/projects/msvc/png.rc @@ -50,23 +50,18 @@ # define VS_SPECIALBUILD 0 #endif /* SPECIALBUILD */ -#if defined(PNG_LIBPNG_BUILD_TYPE) -# if (PNG_LIBPNG_BUILD_TYPE != stable) -# if(PNG_LIBPNG_BUILD_TYPE == patched) -# define VS_PATCHED VS_FF_PATCHED -# define VS_PRERELEASE 0 -# else -# define VS_PRERELEASE VS_FF_PRERELEASE -# define VS_PATCHED 0 -# endif -# else -# define VS_PRERELEASE 0 -# define VS_PATCHED 0 -# endif /* PNG_LIBPNG_BUILD_TYPE != stable */ +#if ((PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_TYPEMASK) != \ + PNG_LIBPNG_BUILD_STABLE) +# define VS_PRERELEASE VS_FF_PRERELEASE +# define VS_PATCHED 0 #else # define VS_PRERELEASE 0 -# define VS_PATCHED 0 -#endif /* PNG_LIBPNG_BUILD_TYPE */ +# if (PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_PATCHED) +# define VS_PATCHED VS_FF_PATCHED +# else +# define VS_PATCHED 0 +# endif +#endif VS_VERSION_INFO VERSIONINFO FILEVERSION PNG_LIBPNG_VER_MAJOR, PNG_LIBPNG_VER_MINOR, PNG_LIBPNG_VER_RELEASE, PNG_LIBPNG_VER_BUILD diff --git a/projects/msvc/png32ms.def b/projects/msvc/png32ms.def index 699685156..9aa8885f0 100644 --- a/projects/msvc/png32ms.def +++ b/projects/msvc/png32ms.def @@ -6,7 +6,7 @@ LIBRARY DESCRIPTION "PNG image compression library for Windows" EXPORTS -;Version 1.0.9beta2 +;Version 1.0.9beta3 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3 diff --git a/projects/wince/READMEE.WCE b/projects/wince/READMEE.WCE index ecfee547e..54f697ef5 100644 --- a/projects/wince/READMEE.WCE +++ b/projects/wince/READMEE.WCE @@ -8,9 +8,9 @@ libpng for WindowsCE Rel.1.0 Introduction ============ -This is libpng 1.0.9beta2 ported to WindowsCE 2.0 and 2.11. -libpng 1.0.9beta2 is a PNG reference library. -See README, a document of original libpng 1.0.9beta2. +This is libpng 1.0.9beta3 ported to WindowsCE 2.0 and 2.11. +libpng 1.0.9beta3 is a PNG reference library. +See README, a document of original libpng 1.0.9beta3. zlib for WindowsCE ================== @@ -23,7 +23,7 @@ This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -See README and LICENSE, documents of original libpng 1.0.9beta2, for conditions +See README and LICENSE, documents of original libpng 1.0.9beta3, for conditions of use and distribution. Files diff --git a/projects/wince/READMEJ.WCE b/projects/wince/READMEJ.WCE index d94c9d791..bf0ef598f 100644 --- a/projects/wince/READMEJ.WCE +++ b/projects/wince/READMEJ.WCE @@ -24,7 +24,7 @@ libpng になったいかなる被害についても、作者、配布者、その他利用者以外の人物、 団体に責任をとる義務はないものとします。 -その他、このソフトウェアの利用条件については、原版である libpng 1.0.9beta2に +その他、このソフトウェアの利用条件については、原版である libpng 1.0.9beta3に 準拠するものとします。詳しくは、付属の README,LICENSE をお読みください。 収録内容 diff --git a/projects/wince/png32ce.def b/projects/wince/png32ce.def index c9eddc5f2..af70b161d 100644 --- a/projects/wince/png32ce.def +++ b/projects/wince/png32ce.def @@ -5,7 +5,7 @@ LIBRARY lpngce EXPORTS -;Version 1.0.9beta2 +;Version 1.0.9beta3 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3 diff --git a/scripts/makefile.acorn b/scripts/makefile.acorn index 504a17fc6..470cf89b1 100644 --- a/scripts/makefile.acorn +++ b/scripts/makefile.acorn @@ -2,40 +2,40 @@ # Toolflags: -CCflags = -c -depend !Depend -IC:,Zlib: -g -throwback -DRISCOS -fnah +CCflags = -c -depend !Depend -IC:,Zlib: -g -throwback -DRISCOS -fnah C++flags = -c -depend !Depend -IC: -throwback Linkflags = -aif -c++ -o $@ ObjAsmflags = -throwback -NoCache -depend !Depend CMHGflags = -LibFileflags = -c -l -o $@ +LibFileflags = -c -l -o $@ Squeezeflags = -o $@ # Final targets: @.libpng-lib: @.o.png @.o.pngerror @.o.pngrio @.o.pngwio @.o.pngmem \ @.o.pngpread @.o.pngset @.o.pngget @.o.pngread @.o.pngrtran \ - @.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil + @.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil LibFile $(LibFileflags) @.o.png @.o.pngerror @.o.pngrio @.o.pngrtran \ @.o.pngmem @.o.pngpread @.o.pngset @.o.pngget @.o.pngread @.o.pngwio \ - @.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil + @.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil @.mm-libpng-lib: @.mm.png @.mm.pngerror @.mm.pngrio @.mm.pngwio @.mm.pngmem \ @.mm.pngpread @.mm.pngset @.mm.pngget @.mm.pngread @.mm.pngrtran \ - @.mm.pngrutil @.mm.pngtrans @.mm.pngwrite @.mm.pngwtran @.mm.pngwutil + @.mm.pngrutil @.mm.pngtrans @.mm.pngwrite @.mm.pngwtran @.mm.pngwutil LibFile $(LibFileflags) @.mm.png @.mm.pngerror @.mm.pngrio \ @.mm.pngwio @.mm.pngmem @.mm.pngpread @.mm.pngset @.mm.pngget \ @.mm.pngread @.mm.pngrtran @.mm.pngrutil @.mm.pngtrans @.mm.pngwrite \ - @.mm.pngwtran @.mm.pngwutil + @.mm.pngwtran @.mm.pngwutil # User-editable dependencies: # (C) Copyright 1997 Tom Tanner -Test: @.pngtest +Test: @.pngtest .pngtest @remove .pngtest #It would be nice if you could stop "make" listing from here on! -@.pngtest: @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib - Link $(Linkflags) @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib +@.pngtest: @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib + Link $(Linkflags) @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib .SUFFIXES: .o .mm .c diff --git a/scripts/makefile.aix b/scripts/makefile.aix new file mode 100644 index 000000000..e53d8b78b --- /dev/null +++ b/scripts/makefile.aix @@ -0,0 +1,84 @@ +# makefile for libpng using gcc (generic, static library) +# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. +# Copyright (C) 2000 Cosmin Truta +# Copyright (C) 2000 Marc O. Gloor (AIX support added, from makefile.gcc) +# For conditions of distribution and use, see copyright notice in png.h + +# Location of the zlib library and include files +ZLIBINC = ../zlib +ZLIBLIB = ../zlib + +# Compiler, linker, lib and other tools +CC = gcc +LD = $(CC) +AR = ar rcs +RANLIB = ranlib +RM = rm -f + +# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# have to change it. +PNGMAJ = 2 +PNGMIN = 1.0.9beta3 +PNGVER = $(PNGMAJ).$(PNGMIN) + +prefix=/usr/local +INCPATH=$(prefix)/include +LIBPATH=$(prefix)/lib + +CDEBUG = -g -DPNG_DEBUG=5 +LDDEBUG = +CRELEASE = -O2 +LDRELEASE = -s +CFLAGS = -I$(ZLIBINC) -Wall $(CRELEASE) +LDFLAGS = -L. -L$(ZLIBLIB) -lpng -lz -lm $(LDRELEASE) + +# File extensions +O=.o +A=.a +E= + +# Variables +OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \ + pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \ + pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O) + +# Targets +all: libpng$(A) pngtest$(E) + +libpng$(A): $(OBJS) + $(AR) $@ $(OBJS) + $(RANLIB) $@ + +test: pngtest$(E) + ./pngtest$(E) + +pngtest$(E): pngtest$(O) libpng$(A) + $(LD) -o $@ pngtest$(O) $(LDFLAGS) + +install: libpng.a + -@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi + -@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi + cp png.h pngconf.h $(INCPATH) + chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h + cp libpng.a $(LIBPATH) + +clean: + /bin/rm -f *.o libpng.a libpng.so* pngtest pngout.png + +png$(O): png.h pngconf.h +pngerror$(O): png.h pngconf.h +pngget$(O): png.h pngconf.h +pngmem$(O): png.h pngconf.h +pngpread$(O): png.h pngconf.h +pngread$(O): png.h pngconf.h +pngrio$(O): png.h pngconf.h +pngrtran$(O): png.h pngconf.h +pngrutil$(O): png.h pngconf.h +pngset$(O): png.h pngconf.h +pngtest$(O): png.h pngconf.h +pngtrans$(O): png.h pngconf.h +pngwio$(O): png.h pngconf.h +pngwrite$(O): png.h pngconf.h +pngwtran$(O): png.h pngconf.h +pngwutil$(O): png.h pngconf.h + diff --git a/scripts/makefile.amiga b/scripts/makefile.amiga index 458708811..79cb42499 100644 --- a/scripts/makefile.amiga +++ b/scripts/makefile.amiga @@ -14,7 +14,7 @@ CC=sc # So use V6.55 or set NOOPTGO!!!!!!!!! CFLAGS= NOSTKCHK PARMS=REG OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL\ OPTLOOP OPTRDEP=4 OPTDEP=4 OPTCOMP=4 INCLUDEDIR=$(ZLIB) \ - DEFINE=PNG_INTERNAL + DEFINE=PNG_INTERNAL #linker flags LDFLAGS= SD ND BATCH #link libs diff --git a/scripts/makefile.bd32 b/scripts/makefile.bd32 index bc7e1933d..92a57abae 100644 --- a/scripts/makefile.bd32 +++ b/scripts/makefile.bd32 @@ -21,7 +21,7 @@ PNGLIB=png32bd.lib CC=bcc32 CFLAGS= -ps -O2 -N- -k- -d -r- -w-par -w-aus -I$(ZLIBDIR) \ - -DPNG_NO_GLOBAL_ARRAYS #-DPNG_DEBUG=5 + -DPNG_NO_GLOBAL_ARRAYS #-DPNG_DEBUG=5 #LINK=tlink32 #LINK=ilink32 LINK=bcc32 diff --git a/scripts/makefile.beos b/scripts/makefile.beos index 26334e9a9..3f7c16bb6 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.9beta2 +PNGMIN = 1.0.9beta3 PNGVER = $(PNGMAJ).$(PNGMIN) # where make install puts libpng.a, libpng.so*, and png.h diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index f38d7016d..be674b31c 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -2,7 +2,7 @@ # 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 @@ -33,12 +33,12 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ #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 + -fomit-frame-pointer # read libpng.txt or png.h to see why PNGMAJ is 2. You should not # have to change it. PNGMAJ = 2 -PNGMIN = 1.0.9beta2 +PNGMIN = 1.0.9beta3 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(PNGMAJ).dll @@ -108,7 +108,7 @@ $(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 + $(LDSHARED) -o $@ $(LDEXTRA) $(OBJSDLL) -L. -L$(ZLIBLIB) -lz pngtest$(EXE): pngtest.pic.o $(SHAREDLIB) $(CC) $(CFLAGS) $< $(LDFLAGS) -o $@ @@ -132,7 +132,7 @@ test-shared: pngtest$(EXE) install: install-static install-shared -install-static: $(STATLIB) install-headers install-docs install-man +install-static: $(STATLIB) install-headers install-docs install-man -@if [ ! -d $(LIBPATH) ]; then mkdir -p $(LIBPATH); fi install -m 755 $(STATLIB) $(LIBPATH) diff --git a/scripts/makefile.dec b/scripts/makefile.dec index b590c40ce..1665c58df 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -17,7 +17,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.9beta2 +PNGMIN = 1.0.9beta3 PNGVER = $(PNGMAJ).$(PNGMIN) CC=cc diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index 458af0287..80891b9b2 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -27,7 +27,7 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ # for pgcc version 2.95.1, -O3 is buggy; don't use it. CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \ - -fomit-frame-pointer # $(WARNMORE) -g -DPNG_DEBUG=5 + -fomit-frame-pointer # $(WARNMORE) -g -DPNG_DEBUG=5 LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng -lz -lm LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm @@ -37,7 +37,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.9beta2 +PNGMIN = 1.0.9beta3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index 65e0ebad5..baf670491 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -18,7 +18,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.9beta2 +PNGMIN = 1.0.9beta3 PNGVER = $(PNGMAJ).$(PNGMIN) # where make install puts libpng.a and png.h diff --git a/scripts/makefile.intel b/scripts/makefile.intel index b55226339..b747070f5 100644 --- a/scripts/makefile.intel +++ b/scripts/makefile.intel @@ -42,9 +42,9 @@ LDFLAGS=/SUBSYSTEM:CONSOLE /NOLOGO O=.obj -OBJS=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)\ - pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)\ - pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O) pngvcrd$(O) +OBJS=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O) \ +pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O) \ +pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O) pngvcrd$(O) all: test diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 1bb8ec3b5..3b88176a5 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.9beta2 +PNGMIN = 1.0.9beta3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.macosx b/scripts/makefile.macosx new file mode 100644 index 000000000..093ea7767 --- /dev/null +++ b/scripts/makefile.macosx @@ -0,0 +1,72 @@ +# makefile for libpng, MACOS X +# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. +# For conditions of distribution and use, see copyright notice in png.h + +# where make install puts libpng.a and png.h +prefix=/usr/local + +# Where the zlib library and include files are located +#ZLIBLIB=/usr/local/lib +#ZLIBINC=/usr/local/include +ZLIBLIB=../zlib +ZLIBINC=../zlib + +CC=cc +CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5 +LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz + +#RANLIB=echo +RANLIB=ranlib + +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 + +all: libpng.a pngtest + +libpng.a: $(OBJS) + ar rc $@ $(OBJS) + $(RANLIB) $@ + +pngtest: pngtest.o libpng.a + $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) + +test: pngtest + ./pngtest + +install: libpng.a + -@mkdir $(prefix)/include + -@mkdir $(prefix)/lib + cp png.h $(prefix)/include + cp pngconf.h $(prefix)/include + chmod 644 $(prefix)/include/png.h + chmod 644 $(prefix)/include/pngconf.h + cp libpng.a $(prefix)/lib + chmod 644 $(prefix)/lib/libpng.a + +clean: + rm -f *.o libpng.a pngtest pngout.png + +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.h pngconf.h +pngerror.o: png.h pngconf.h +pngrio.o: png.h pngconf.h +pngwio.o: png.h pngconf.h +pngmem.o: png.h pngconf.h +pngset.o: png.h pngconf.h +pngget.o: png.h pngconf.h +pngread.o: png.h pngconf.h +pngrtran.o: png.h pngconf.h +pngrutil.o: png.h pngconf.h +pngtest.o: png.h pngconf.h +pngtrans.o: png.h pngconf.h +pngwrite.o: png.h pngconf.h +pngwtran.o: png.h pngconf.h +pngwutil.o: png.h pngconf.h +pngpread.o: png.h pngconf.h + diff --git a/scripts/makefile.msc b/scripts/makefile.msc index 651281c32..1cbfd9149 100644 --- a/scripts/makefile.msc +++ b/scripts/makefile.msc @@ -9,7 +9,7 @@ CFLAGS=-Oait -Gs -nologo -W3 -A$(MODEL) -I..\zlib #-Ox generates bad code with MSC 5.1 CC=cl LD=link -LDFLAGS=/e/st:0x1500/noe +LDFLAGS=/e/st:0x1500/noe O=.obj #uncomment next to put error messages in a file @@ -76,7 +76,7 @@ libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3) lib libpng $(OBJS2); lib libpng $(OBJS3); -pngtest.exe: pngtest.obj libpng.lib +pngtest.exe: pngtest.obj libpng.lib $(LD) $(LDFLAGS) pngtest.obj,,,libpng.lib ..\zlib\zlib.lib ; test: pngtest.exe diff --git a/scripts/makefile.sco b/scripts/makefile.sco index ff979fa1e..38f92b1c8 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -16,7 +16,7 @@ prefix=/usr/local ZLIBLIB=../zlib ZLIBINC=../zlib -CFLAGS= -dy -belf -I$(ZLIBINC) -O3 +CFLAGS= -dy -belf -I$(ZLIBINC) -O3 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm #RANLIB=ranlib @@ -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.9beta2 +PNGMIN = 1.0.9beta3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 650c6a986..978baef49 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.9beta2 -LIBS=libpng.so.1.0.9beta2 +VER=1.0.9beta3 +LIBS=libpng.so.1.0.9beta3 SHAREDLIB=libpng.so libdir=$(prefix)/lib32 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index f8e6425be..eb8cf32f3 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.9beta2 +PNGMIN = 1.0.9beta3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.vcawin32 b/scripts/makefile.vcawin32 index 4c05ff4df..57ce51022 100644 --- a/scripts/makefile.vcawin32 +++ b/scripts/makefile.vcawin32 @@ -84,7 +84,7 @@ libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3) del libpng.lib lib /OUT:libpng.lib $(OBJS1) $(OBJS2) $(OBJS3) -pngtest.exe: pngtest.obj libpng.lib +pngtest.exe: pngtest.obj libpng.lib $(LD) $(LDFLAGS) pngtest.obj libpng.lib ..\zlib\zlib.lib /OUT:pngtest.exe /SUBSYSTEM:CONSOLE test: pngtest.exe diff --git a/scripts/makefile.vcwin32 b/scripts/makefile.vcwin32 index a2d8e2723..a5e88d822 100644 --- a/scripts/makefile.vcwin32 +++ b/scripts/makefile.vcwin32 @@ -77,7 +77,7 @@ libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3) del libpng.lib lib /OUT:libpng.lib $(OBJS1) $(OBJS2) $(OBJS3) -pngtest.exe: pngtest.obj libpng.lib +pngtest.exe: pngtest.obj libpng.lib $(LD) $(LDFLAGS) pngtest.obj libpng.lib ..\zlib\zlib.lib /OUT:pngtest.exe /SUBSYSTEM:CONSOLE test: pngtest.exe diff --git a/scripts/makevms.com b/scripts/makevms.com index 003732645..b9e389555 100644 --- a/scripts/makevms.com +++ b/scripts/makevms.com @@ -14,7 +14,7 @@ $ @makevms $ set def [-.pngminus] $ @makevms $ set def [--] -$ exit +$ exit $ endif $ Make = "" $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS" @@ -54,7 +54,7 @@ $ if make.eqs."" $ then $ dele pngtest.obj;* $ CALL MAKE png.OBJ "cc ''CCOPT' png" - - png.c png.h pngconf.h + png.c png.h pngconf.h $ CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" - pngpread.c png.h pngconf.h $ CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" - @@ -90,8 +90,8 @@ $ CALL MAKE libpng.OLB "lib/crea libpng.olb *.obj" *.OBJ $ write sys$output "Building pngtest..." $ CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" - pngtest.c png.h pngconf.h -$ call make pngtest.exe - - "LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" - +$ call make pngtest.exe - + "LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" - pngtest.obj libpng.olb $ write sys$output "Testing Libpng..." $ run pngtest diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas index 90e381f55..23946aabd 100644 --- a/scripts/pngdef.pas +++ b/scripts/pngdef.pas @@ -5,7 +5,7 @@ unit pngdef; interface const - PNG_LIBPNG_VER_STRING = '1.0.9beta2'; + PNG_LIBPNG_VER_STRING = '1.0.9beta3'; PNG_LIBPNG_VER = 10009; type @@ -209,7 +209,7 @@ const PNG_CRC_WARN_DISCARD = 2; // (INVALID) warn/discard data PNG_CRC_WARN_USE = 3; // warn/use data warn/use data PNG_CRC_QUIET_USE = 4; // quiet/use data quiet/use data - PNG_CRC_NO_CHANGE = 5; // use current value use current value + PNG_CRC_NO_CHANGE = 5; // use current value use current value // Flags for png_set_filter() to say which filters to use. The flags // are chosen so that they don't conflict with real filter types @@ -241,7 +241,7 @@ const PNG_FILTER_HEURISTIC_DEFAULT = 0; // Currently "UNWEIGHTED" PNG_FILTER_HEURISTIC_UNWEIGHTED = 1; // Used by libpng < 0.95 PNG_FILTER_HEURISTIC_WEIGHTED = 2; // Experimental feature - PNG_FILTER_HEURISTIC_LAST = 3; // Not a valid value + PNG_FILTER_HEURISTIC_LAST = 3; // Not a valid value procedure png_build_grayscale_palette(bit_depth: int; palette: png_colorp); stdcall; @@ -340,7 +340,7 @@ function png_get_oFFs(png_ptr: png_structp; info_ptr: png_infop; var unit_type: int): png_uint_32; stdcall; function png_get_sCAL(png_ptr: png_structp; info_ptr: png_infop; - var unit:int; var width: png_uint_32; height: png_uint_32): + var unit:int; var width: png_uint_32; height: png_uint_32): png_uint_32; stdcall function png_get_pCAL(png_ptr: png_structp; info_ptr: png_infop; @@ -373,7 +373,7 @@ function png_get_sBIT(png_ptr: png_structp; info_ptr: png_infop; stdcall; function png_get_sRGB(png_ptr: png_structp; info_ptr: png_infop; var file_srgb_intent: int): png_uint_32; - stdcall; + stdcall; function png_get_signature(png_ptr: png_structp; info_ptr: png_infop): png_bytep; stdcall; diff --git a/scripts/pngos2.def b/scripts/pngos2.def index dcb9a32b5..333f056f5 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -297,11 +297,11 @@ EXPORTS png_pass_dsp_mask ; png_pass_width ; png_pass_height - png_get_iCCP + png_get_iCCP png_get_sCAL - png_get_sPLT - png_set_iCCP - png_set_sPLT + png_get_sPLT + png_set_iCCP + png_set_sPLT png_free_data png_IHDR