diff --git a/ANNOUNCE b/ANNOUNCE index c8cd5cce..41a45d1d 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,30 +1,14 @@ -Libpng 1.2.0 - September 1, 2001 +Libpng 1.2.1beta1 - October 19, 2001 This is a public release of libpng, intended for use in production codes. -Changes since the last public release (1.0.12): +Changes since the last public release (1.2.0): - Enabled PNG_MNG_FEATURES_SUPPORTED and enabled PNG_ASSEMBLER_CODE_SUPPORTED - by default. - Added runtime selection of MMX features. - Added png_set_strip_error_numbers function and related macros. - Enabled user memory function by default. - Increased png_mng_features flag from png_byte to png_uint_32. - Bumped shared-library (so-number) and dll-number to 3. - Updated makefile.ibmc, makefile.gcmmx - Added some typecasts to eliminate gcc 3.0 warnings. Changed prototypes - of png_write_oFFS width and height from png_uint_32 to png_int_32. - Updated example.c - Revised prototypes for png_debug_malloc and png_debug_free in pngtest.c - Revised pnggccrd.c to conditionally compile some thread-unsafe code only - when PNG_THREAD_UNSAFE_OK is defined. - Added tests to prevent pngwutil.c from writing a bKGD or tRNS chunk with - value exceeding 2^bit_depth-1 - Removed restriction that do_invert_mono only operate on 1-bit opaque files - Replaced calls to fprintf(stderr,...) with png_warning() or png_debug() - in pnggccrd.c - Fixed contrib/gregbook/rpng-x.c, rpng2-x.c to avoid crash with XFreeGC(). + Revised makefile.std in contrib/pngminus + Include background_1 in png_struct regardless of gamma support. + Revised makefile.netbsd and makefile.macosx, added makefile.darwin. + Revised example.c to provide more details about using row_callback(). Send comments/corrections/commendations to png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu diff --git a/CHANGES b/CHANGES index fb6bc371..f4fd1e5c 100644 --- a/CHANGES +++ b/CHANGES @@ -733,10 +733,11 @@ version 1.0.6j [May 3, 2000] version 1.0.7beta11 [May 7, 2000] Removed the new PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT modes which are no longer used. - Eliminated the three new members of png_text when PNG_NO_iTXt_SUPPORTED - or PNG_LEGACY_SUPPORTED is defined. - Made PNG_NO_ITXT_SUPPORTED the default setting, to avoid memory overrun - when old applications fill the info_ptr->text structure directly. + Eliminated the three new members of png_text when PNG_LEGACY_SUPPORTED is + defined or when neither PNG_READ_iTXt_SUPPORTED nor PNG_WRITE_iTXT_SUPPORTED + is defined. + Made PNG_NO_READ|WRITE_iTXt the default setting, to avoid memory + overrun when old applications fill the info_ptr->text structure directly. Added PNGAPI macro, and added it to the definitions of all exported functions. Relocated version macro definitions ahead of the includes of zlib.h and pngconf.h in png.h. @@ -980,6 +981,11 @@ version 1.2.0beta5 [August 8, 2001] version 1.2.0 [September 1, 2001] Changed a png_warning() to png_debug() in pnggccrd.c Fixed contrib/gregbook/rpng-x.c, rpng2-x.c to avoid crash with XFreeGC(). +version 1.2.1beta1 [October 19, 2001] + Revised makefile.std in contrib/pngminus + Include background_1 in png_struct regardless of gamma support. + Revised makefile.netbsd and makefile.macosx, added makefile.darwin. + Revised example.c to provide more details about using row_callback(). Send comments/corrections/commendations to png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu diff --git a/INSTALL b/INSTALL index 4bac89c8..69721184 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.2.0 - September 1, 2001 +Installing libpng version 1.2.1beta1 - October 19, 2001 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.2.0" or "lpng109" and "zlib-1.1.3" +might be called "libpng-1.2.1beta1" 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: @@ -64,8 +64,8 @@ The files that are presently available in the scripts directory include makefile.std => Generic UNIX makefile (cc, creates static libpng.a) - makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.0) - makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.0, + makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.1beta1) + makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.1beta1, 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 @@ -82,9 +82,9 @@ include makefile.macosx => MACOS X Makefile makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) - makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.0) + makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.1beta1) makefile.sunos => Sun makefile - makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.2.0) + makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.2.1beta1) 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 1f4a8bcd..4950f180 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.2.0, September 1, 2001, are +libpng versions 1.0.7, July 1, 2000, through 1.2.1beta1, October 19, 2001, 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 -September 1, 2001 +October 19, 2001 diff --git a/README b/README index 06f92786..6b775f50 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng 1.2.0 - September 1, 2001 (shared library 2.1) +README for libpng 1.2.1beta1 - October 19, 2001 (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. @@ -187,9 +187,9 @@ Files in this distribution: descrip.mms => VMS makefile for MMS or MMK makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.linux => Linux/ELF makefile - (gcc, creates libpng.so.2.1.2.0) + (gcc, creates libpng.so.2.1.2.1beta1) makefile.gcmmx => Linux/ELF makefile (gcc, creates - libpng.so.2.1.2.0, uses assembler code + libpng.so.2.1.2.1beta1, 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 @@ -206,10 +206,10 @@ Files in this distribution: makefile.macosx => MACOS X Makefile makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) - makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.0) + makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.1beta1) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng.so.2.1.2.0) + (gcc, creates libpng.so.2.1.2.1beta1) makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.mips => MIPS makefile makefile.acorn => Acorn makefile diff --git a/Y2KINFO b/Y2KINFO index e3f91083..e15ff9f6 100644 --- a/Y2KINFO +++ b/Y2KINFO @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - September 1, 2001 + October 19, 2001 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.0 are Y2K compliant. It is my belief that earlier + upward through 1.2.1beta1 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 a469913b..08b8b87c 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ echo " - There is no \"configure\" script for Libpng-1.2.0. Instead, please + There is no \"configure\" script for Libpng-1.2.1beta1. Instead, please copy the appropriate makefile for your system from the \"scripts\" directory. Read the INSTALL file for more details. " diff --git a/contrib/pngminus/makefile.std b/contrib/pngminus/makefile.std index c98cd640..074047d6 100644 --- a/contrib/pngminus/makefile.std +++ b/contrib/pngminus/makefile.std @@ -1,26 +1,31 @@ # Makefile for PngMinus (png2pnm and pnm2png) # Linux / Unix -CC=cc -O -LD=cc -O -#CC=gcc -O -#LD=gcc -O -LB=ar -RM=rm -CP=cp +#CC=cc +CC=gcc +LD=$(CC) -PNGPATH = /usr/local -PNGINC = $(PNGPATH)/include -#PNGLIB = $(PNGPATH)/lib -lpng -PNGLIB = $(PNGPATH)/lib/libpng.a +RM=rm -f -ZPATH = /usr/local -ZINC = $(ZPATH)/include -#ZLIB = $(ZPATH)/lib -lz -ZLIB = $(ZPATH)/lib/libz.a +#PNGPATH = /usr/local +#PNGINC = -I$(PNGPATH)/include +#PNGLIB = -L$(PNGPATH)/lib -lpng +#PNGLIBS = $(PNGPATH)/lib/libpng.a +PNGINC = -I../.. +PNGLIB = -L../.. -lpng +PNGLIBS = ../../libpng.a -CCFLAGS=-I$(PNGINC) -I$(ZINC) -LDFLAGS=-L$(PNGLIB) -L$(ZLIB) +#ZPATH = /usr/local +#ZINC = -I$(ZPATH)/include +#ZLIB = -L$(ZPATH)/lib -lz +#ZLIBS = $(ZPATH)/lib/libz.a +ZINC = -I../../../zlib +ZLIB = -L../../../zlib -lz +ZLIBS = ../../../zlib/libz.a + +CFLAGS=-O3 $(PNGINC) $(ZINC) +LDFLAGS=$(PNGLIB) $(ZLIB) +LDFLAGSS=$(PNGLIBS) $(ZLIBS) C=.c O=.o L=.a @@ -28,25 +33,33 @@ E= # dependencies -all: png2pnm$(E) pnm2png$(E) +#all: png2pnm$(E) pnm2png$(E) +all: png2pnm$(E) pnm2png$(E) png2pnm-static$(E) pnm2png-static$(E) png2pnm$(O): png2pnm$(C) - $(CC) -c $(CCFLAGS) png2pnm$(C) + $(CC) -c $(CFLAGS) png2pnm$(C) png2pnm$(E): png2pnm$(O) - $(LD) -o png2pnm$(E) png2pnm$(O) $(LDFLAGS) -lpng -lz -lm + $(LD) -o png2pnm$(E) png2pnm$(O) $(LDFLAGS) -lm + +png2pnm-static$(E): png2pnm$(O) + $(LD) -o png2pnm-static$(E) png2pnm$(O) $(LDFLAGSS) -lm pnm2png$(O): pnm2png$(C) - $(CC) -c $(CCFLAGS) pnm2png$(C) + $(CC) -c $(CFLAGS) pnm2png$(C) pnm2png$(E): pnm2png$(O) - $(LD) -o pnm2png$(E) pnm2png$(O) $(LDFLAGS) -lpng -lz -lm + $(LD) -o pnm2png$(E) pnm2png$(O) $(LDFLAGS) -lm + +pnm2png-static$(E): pnm2png$(O) + $(LD) -o pnm2png-static$(E) pnm2png$(O) $(LDFLAGSS) -lm clean: $(RM) png2pnm$(O) $(RM) pnm2png$(O) $(RM) png2pnm$(E) $(RM) pnm2png$(E) + $(RM) png2pnm-static$(E) + $(RM) pnm2png-static$(E) # End of makefile for png2pnm / pnm2png - diff --git a/example.c b/example.c index 0f0ad5f2..f196a01c 100644 --- a/example.c +++ b/example.c @@ -480,21 +480,47 @@ info_callback(png_structp png_ptr, png_infop info) row_callback(png_structp png_ptr, png_bytep new_row, png_uint_32 row_num, int pass) { -/* this function is called for every row in the image. If the - * image is interlacing, and you turned on the interlace handler, +/* + * This function is called for every row in the image. If the + * image is interlaced, and you turned on the interlace handler, * this function will be called for every row in every pass. - * Some of these rows will not be changed from the previous pass. - * When the row is not changed, the new_row variable will be NULL. + * + * In this function you will receive a pointer to new row data from + * libpng called new_row that is to replace a corresponding row (of + * the same data format) in a buffer allocated by your application. + * + * The new row data pointer new_row may be NULL, indicating there is + * no new data to be replaced (in cases of interlace loading). + * + * If new_row is not NULL then you need to call + * png_progressive_combine_row() to replace the corresponding row as + * shown below: + */ + /* Check if row_num is in bounds. */ + if((row_num >= 0) && (row_num < height)) + { + /* Get pointer to corresponding row in our + * PNG read buffer. + */ + png_bytep old_row = ((png_bytep *)our_data)[row_num]; + + /* If both rows are allocated then copy the new row + * data to the corresponding row data. + */ + if((old_row != NULL) && (new_row != NULL)) + png_progressive_combine_row(png_ptr, old_row, new_row); + } +/* * The rows and passes are called in order, so you don't really * need the row_num and pass, but I'm supplying them because it * may make your life easier. * * For the non-NULL rows of interlaced images, you must call - * png_progressive_combine_row() passing in the row and the - * old row. You can call this function for NULL rows (it will - * just return) and for non-interlaced images (it just does the - * png_memcpy for you) if it will make the code easier. Thus, you - * can just do this for all cases: + * png_progressive_combine_row() passing in the new row and the + * old row, as demonstrated above. You can call this function for + * NULL rows (it will just return) and for non-interlaced images + * (it just does the png_memcpy for you) if it will make the code + * easier. Thus, you can just do this for all cases: */ png_progressive_combine_row(png_ptr, old_row, new_row); @@ -503,8 +529,8 @@ row_callback(png_structp png_ptr, png_bytep new_row, * that the first pass (pass == 0 really) will completely cover * the old row, so the rows do not have to be initialized. After * the first pass (and only for interlaced images), you will have - * to pass the current row, and the function will combine the - * old row and the new row. + * to pass the current row as new_row, and the function will combine + * the old row and the new row. */ } diff --git a/libpng.3 b/libpng.3 index 8fed9c6d..ed0bed2e 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "September 1, 2001" +.TH LIBPNG 3 "October 19, 2001" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.1beta1 .SH SYNOPSIS \fI\fB @@ -787,7 +787,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.0 - September 1, 2001 + libpng version 1.2.1beta1 - October 19, 2001 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2001 Glenn Randers-Pehrson @@ -3635,13 +3635,13 @@ application: .SH IX. Y2K Compliance in libpng -September 1, 2001 +October 19, 2001 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.0 are Y2K compliant. It is my belief that earlier +upward through 1.2.1beta1 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 @@ -3758,7 +3758,10 @@ the first widely used release: 1.0.12 2 10012 2.1.0.12 1.1.0a-f - 10100 2.1.1.0a-f abandoned 1.2.0beta1-2 2 10200 2.1.2.0beta1-2 - 1.2.0beta3-4 3 10200 3.1.2.0beta3-4 + 1.2.0beta3-5 3 10200 3.1.2.0beta3-5 + 1.2.0rc1 3 10200 3.1.2.0rc1 + 1.2.0 3 10200 3.1.2.0 + 1.2.1beta1 3 10201 3.1.2.1beta1 Henceforth the source version will match the shared-library minor and patch numbers; the shared-library major version number will be @@ -3816,7 +3819,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.2.0 - September 1, 2001: +Libpng version 1.2.1beta1 - October 19, 2001: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu). @@ -3833,7 +3836,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.0.7, July 1, 2000, through 1.2.0, September 1, 2001, are +libpng versions 1.0.7, July 1, 2000, through 1.2.1beta1, October 19, 2001, are Copyright (c) 2000-2001 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 @@ -3925,7 +3928,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson randeg@alum.rpi.edu -September 1, 2001 +October 19, 2001 .\" end of man page diff --git a/libpng.txt b/libpng.txt index fd080960..615c0e63 100644 --- a/libpng.txt +++ b/libpng.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.2.0 - September 1, 2001 + libpng version 1.2.1beta1 - October 19, 2001 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2001 Glenn Randers-Pehrson @@ -2848,13 +2848,13 @@ application: IX. Y2K Compliance in libpng -September 1, 2001 +October 19, 2001 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.0 are Y2K compliant. It is my belief that earlier +upward through 1.2.1beta1 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has three year fields. One is a 2-byte unsigned integer that diff --git a/libpngpf.3 b/libpngpf.3 index f3eb09d7..78a978f3 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "September 1, 2001" +.TH LIBPNGPF 3 "October 19, 2001" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.1beta1 (private functions) .SH SYNOPSIS \fB#include \fP diff --git a/png.5 b/png.5 index e2d44f0d..7bab523f 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "September 1, 2001" +.TH PNG 5 "October 19, 2001" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index 8b56feed..6544b94b 100644 --- a/png.c +++ b/png.c @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * libpng version 1.2.0 - September 1, 2001 + * libpng version 1.2.1beta1 - October 19, 2001 * Copyright (c) 1998-2001 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_2_0 Your_png_h_is_not_version_1_2_0; +typedef version_1_2_1beta1 Your_png_h_is_not_version_1_2_1beta1; /* 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.2.0"; +const char png_libpng_ver[18] = "1.2.1beta1"; /* png_sig was changed to a function in version 1.0.5c */ /* Place to hold the signature string for a PNG file. */ @@ -646,7 +646,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.2.0 - September 1, 2001\n\ + return ((png_charp) "\n libpng version 1.2.1beta1 - October 19, 2001\n\ Copyright (c) 1998-2001 Glenn Randers-Pehrson\n\ Copyright (c) 1996, 1997 Andreas Dilger\n\ Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n"); @@ -664,8 +664,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.2.0"); - return((png_charp) "1.2.0"); + return((png_charp) "1.2.1beta1"); + return((png_charp) "1.2.1beta1"); } png_charp PNGAPI @@ -715,7 +715,7 @@ png_uint_32 PNGAPI png_access_version_number(void) { /* Version of *.c files used when building libpng */ - return((png_uint_32) 10200L); + return((png_uint_32) 10201L); } diff --git a/png.h b/png.h index f9d4cbd8..ff88203a 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.0 - September 1, 2001 + * libpng version 1.2.1beta1 - October 19, 2001 * Copyright (c) 1998-2001 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.0 - September 1, 2001: Glenn + * libpng versions 0.97, January 1998, through 1.2.1beta1 - October 19, 2001: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -75,7 +75,10 @@ * 1.0.12 2 10012 2.1.0.12 * 1.1.0a-f - 10100 2.1.1.0a-f (branch abandoned) * 1.2.0beta1-2 2 10200 2.1.2.0beta1-2 - * 1.2.0beta3-4 3 10200 3.1.2.0beta3-4 + * 1.2.0beta3-5 3 10200 3.1.2.0beta3-5 + * 1.2.0rc1 3 10200 3.1.2.0rc1 + * 1.2.0 3 10200 3.1.2.0 + * 1.2.1beta1 3 10201 3.1.2.1beta1 * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -105,7 +108,7 @@ * If you modify libpng you may insert additional notices immediately following * this sentence. * - * libpng versions 1.0.7, July 1, 2000, through 1.2.0, September 1, 2001, are + * libpng versions 1.0.7, July 1, 2000, through 1.2.1beta1, October 19, 2001, are * Copyright (c) 2000, 2001 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 @@ -210,13 +213,13 @@ * Y2K compliance in libpng: * ========================= * - * September 1, 2001 + * October 19, 2001 * * 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.0 are Y2K compliant. It is my belief that earlier + * upward through 1.2.1beta1 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 @@ -272,7 +275,7 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.0" +#define PNG_LIBPNG_VER_STRING "1.2.1beta1" #define PNG_LIBPNG_VER_SONUM 3 #define PNG_LIBPNG_VER_DLLNUM %DLLNUM% @@ -280,11 +283,11 @@ /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ #define PNG_LIBPNG_VER_MAJOR 1 #define PNG_LIBPNG_VER_MINOR 2 -#define PNG_LIBPNG_VER_RELEASE 0 +#define PNG_LIBPNG_VER_RELEASE 1 /* This should match the numeric part of the final component of * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ -#define PNG_LIBPNG_VER_BUILD 0 +#define PNG_LIBPNG_VER_BUILD 1 #define PNG_LIBPNG_BUILD_ALPHA 1 #define PNG_LIBPNG_BUILD_BETA 2 @@ -292,14 +295,14 @@ #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 4 +#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. * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only * version 1.0.0 was mis-numbered 100 instead of 10000). From * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */ -#define PNG_LIBPNG_VER 10200 /* 1.2.0 */ +#define PNG_LIBPNG_VER 10201 /* 1.2.1 */ #ifndef PNG_VERSION_INFO_ONLY @@ -1044,9 +1047,9 @@ struct png_struct_def float background_gamma; # endif png_color_16 background; /* background color in screen gamma space */ -# if defined(PNG_READ_GAMMA_SUPPORTED) - png_color_16 background_1; /* background normalized to gamma 1.0 */ -# endif /* PNG_READ_GAMMA && PNG_bKGD_SUPPORTED */ +#if defined(PNG_READ_GAMMA_SUPPORTED) + png_color_16 background_1; /* background normalized to gamma 1.0 */ +#endif #endif /* PNG_bKGD_SUPPORTED */ #if defined(PNG_WRITE_FLUSH_SUPPORTED) @@ -1214,9 +1217,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.2.0 + and png.h are both at version 1.2.1beta1 */ -typedef png_structp version_1_2_0; +typedef png_structp version_1_2_1beta1; typedef png_struct FAR * FAR * png_structpp; @@ -2333,7 +2336,7 @@ extern PNG_EXPORT(void,png_set_strip_error_numbers) PNGARG((png_structp /* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */ #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.0 - September 1, 2001 (header)\n" + " libpng version 1.2.1beta1 - October 19, 2001 (header)\n" #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED /* With these routines we avoid an integer divide, which will be slower on @@ -2947,11 +2950,14 @@ PNG_EXTERN void png_do_shift PNGARG((png_row_infop row_info, png_bytep row, #if defined(PNG_READ_BACKGROUND_SUPPORTED) PNG_EXTERN void png_do_background PNGARG((png_row_infop row_info, png_bytep row, - png_color_16p trans_values, png_color_16p background, - png_color_16p background_1, + png_color_16p trans_values, png_color_16p background +#if defined(PNG_READ_GAMMA_SUPPORTED) + , png_color_16p background_1, png_bytep gamma_table, png_bytep gamma_from_1, png_bytep gamma_to_1, png_uint_16pp gamma_16, png_uint_16pp gamma_16_from_1, - png_uint_16pp gamma_16_to_1, int gamma_shift)); + png_uint_16pp gamma_16_to_1, int gamma_shift +#endif + )); #endif #if defined(PNG_READ_GAMMA_SUPPORTED) diff --git a/pngasmrd.h b/pngasmrd.h index 420f5fed..01ffc0b2 100644 --- a/pngasmrd.h +++ b/pngasmrd.h @@ -1,6 +1,6 @@ /* pngasmrd.h - assembler version of utilities to read a PNG file * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 2001 Glenn Randers-Pehrson * diff --git a/pngconf.h b/pngconf.h index 18d6f653..3ed28a34 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,6 +1,6 @@ /* pngconf.h - machine configurable file for libpng * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -399,10 +399,10 @@ */ #ifndef PNG_iTXt_SUPPORTED -# ifndef PNG_READ_iTXt_SUPPORTED +# if !defined(PNG_READ_iTXt_SUPPORTED) && !defined(PNG_NO_READ_iTXt) # define PNG_NO_READ_iTXt # endif -# ifndef PNG_WRITE_iTXt_SUPPORTED +# if !defined(PNG_WRITE_iTXt_SUPPORTED) && !defined(PNG_NO_WRITE_iTXt) # define PNG_NO_WRITE_iTXt # endif #endif @@ -726,8 +726,12 @@ # define PNG_iCCP_SUPPORTED #endif #ifndef PNG_NO_READ_iTXt -# define PNG_READ_iTXt_SUPPORTED -# define PNG_iTXt_SUPPORTED +# ifndef PNG_READ_iTXt_SUPPORTED +# define PNG_READ_iTXt_SUPPORTED +# endif +# ifndef PNG_iTXt_SUPPORTED +# define PNG_iTXt_SUPPORTED +# endif #endif #ifndef PNG_NO_READ_oFFs # define PNG_READ_oFFs_SUPPORTED @@ -842,7 +846,9 @@ # endif #endif #ifndef PNG_NO_WRITE_iTXt -# define PNG_WRITE_iTXt_SUPPORTED +# ifndef PNG_WRITE_iTXt_SUPPORTED +# define PNG_WRITE_iTXt_SUPPORTED +# endif # ifndef PNG_iTXt_SUPPORTED # define PNG_iTXt_SUPPORTED # endif diff --git a/pngerror.c b/pngerror.c index cf04c915..9139bb81 100644 --- a/pngerror.c +++ b/pngerror.c @@ -1,7 +1,7 @@ /* pngerror.c - stub functions for i/o and memory allocation * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pnggccrd.c b/pnggccrd.c index ce519c51..d4f77bf9 100644 --- a/pnggccrd.c +++ b/pnggccrd.c @@ -6,7 +6,7 @@ * and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm * for Intel's performance analysis of the MMX vs. non-MMX code. * - * libpng version 1.2.0 - September 1, 2001 + * libpng version 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * Copyright (c) 1998, Intel Corporation diff --git a/pngget.c b/pngget.c index d95d246f..1435d195 100644 --- a/pngget.c +++ b/pngget.c @@ -1,7 +1,7 @@ /* pngget.c - retrieval of values from info struct * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngmem.c b/pngmem.c index 4cf4db62..31ea4c07 100644 --- a/pngmem.c +++ b/pngmem.c @@ -1,7 +1,7 @@ /* pngmem.c - stub functions for memory allocation * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngpread.c b/pngpread.c index 4f7baf66..92965651 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngread.c b/pngread.c index cec672a9..301495a4 100644 --- a/pngread.c +++ b/pngread.c @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -769,7 +769,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.2.0 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.1beta1 */ void PNGAPI @@ -818,7 +818,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.2.0 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.1beta1 */ void PNGAPI png_read_image(png_structp png_ptr, png_bytepp image) diff --git a/pngrio.c b/pngrio.c index 97fcdaa6..ddafdce1 100644 --- a/pngrio.c +++ b/pngrio.c @@ -1,7 +1,7 @@ /* pngrio.c - functions for data input * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngrtran.c b/pngrtran.c index e045c94c..7329ccf9 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,7 +1,7 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -742,7 +742,7 @@ png_init_read_transformations(png_structp png_ptr) } #endif -#if defined(PNG_READ_BACKGROUND_SUPPORTED) +#if defined(PNG_READ_BACKGROUND_SUPPORTED) && defined(PNG_READ_GAMMA_SUPPORTED) png_ptr->background_1 = png_ptr->background; #endif #if defined(PNG_READ_GAMMA_SUPPORTED) && defined(PNG_FLOATING_POINT_SUPPORTED) @@ -901,7 +901,7 @@ png_init_read_transformations(png_structp png_ptr) } else /* transformation does not include PNG_BACKGROUND */ -#endif +#endif /* PNG_READ_BACKGROUND_SUPPORTED */ if (color_type == PNG_COLOR_TYPE_PALETTE) { png_colorp palette = png_ptr->palette; @@ -919,7 +919,7 @@ png_init_read_transformations(png_structp png_ptr) #if defined(PNG_READ_BACKGROUND_SUPPORTED) else #endif -#endif +#endif /* PNG_READ_GAMMA_SUPPORTED && PNG_FLOATING_POINT_SUPPORTED */ #if defined(PNG_READ_BACKGROUND_SUPPORTED) /* No GAMMA transformation */ if ((png_ptr->transformations & PNG_BACKGROUND) && @@ -952,7 +952,7 @@ png_init_read_transformations(png_structp png_ptr) } } } -#endif +#endif /* PNG_READ_BACKGROUND_SUPPORTED */ #if defined(PNG_READ_SHIFT_SUPPORTED) if ((png_ptr->transformations & PNG_SHIFT) && @@ -977,7 +977,7 @@ png_init_read_transformations(png_structp png_ptr) png_ptr->palette[i].blue >>= sb; } } -#endif +#endif /* PNG_READ_SHIFT_SUPPORTED */ } #if !defined(PNG_READ_GAMMA_SUPPORTED) && !defined(PNG_READ_SHIFT_SUPPORTED) \ && !defined(PNG_READ_BACKGROUND_SUPPORTED) @@ -1227,12 +1227,15 @@ From Andreas Dilger e-mail to png-implement, 26 March 1998: ((png_ptr->num_trans != 0 ) || (png_ptr->color_type & PNG_COLOR_MASK_ALPHA))) png_do_background(&(png_ptr->row_info), png_ptr->row_buf + 1, - &(png_ptr->trans_values), &(png_ptr->background), - &(png_ptr->background_1), + &(png_ptr->trans_values), &(png_ptr->background) +#if defined(PNG_READ_GAMMA_SUPPORTED) + , &(png_ptr->background_1), png_ptr->gamma_table, png_ptr->gamma_from_1, png_ptr->gamma_to_1, png_ptr->gamma_16_table, png_ptr->gamma_16_from_1, png_ptr->gamma_16_to_1, - png_ptr->gamma_shift); + png_ptr->gamma_shift +#endif +); #endif #if defined(PNG_READ_GAMMA_SUPPORTED) @@ -2545,11 +2548,14 @@ png_correct_palette(png_structp png_ptr, png_colorp palette, */ void /* PRIVATE */ png_do_background(png_row_infop row_info, png_bytep row, - png_color_16p trans_values, png_color_16p background, - png_color_16p background_1, + png_color_16p trans_values, png_color_16p background +#if defined(PNG_READ_GAMMA_SUPPORTED) + , png_color_16p background_1, png_bytep gamma_table, png_bytep gamma_from_1, png_bytep gamma_to_1, png_uint_16pp gamma_16, png_uint_16pp gamma_16_from_1, - png_uint_16pp gamma_16_to_1, int gamma_shift) + png_uint_16pp gamma_16_to_1, int gamma_shift +#endif + ) { png_bytep sp, dp; png_uint_32 i; @@ -2932,6 +2938,7 @@ png_do_background(png_row_infop row_info, png_bytep row, { *dp = *sp; } +#if defined(PNG_READ_GAMMA_SUPPORTED) else if (a == 0) { *dp = (png_byte)background->gray; @@ -2940,6 +2947,9 @@ png_do_background(png_row_infop row_info, png_bytep row, { png_composite(*dp, *sp, a, background_1->gray); } +#else + *dp = (png_byte)background->gray; +#endif } } } @@ -2963,12 +2973,17 @@ png_do_background(png_row_infop row_info, png_bytep row, *dp = (png_byte)((v >> 8) & 0xff); *(dp + 1) = (png_byte)(v & 0xff); } +#if defined(PNG_READ_GAMMA_SUPPORTED) else if (a == 0) +#else + else +#endif { /* background is already in screen gamma */ *dp = (png_byte)((background->gray >> 8) & 0xff); *(dp + 1) = (png_byte)(background->gray & 0xff); } +#if defined(PNG_READ_GAMMA_SUPPORTED) else { png_uint_16 g, v, w; @@ -2979,6 +2994,7 @@ png_do_background(png_row_infop row_info, png_bytep row, *dp = (png_byte)((w >> 8) & 0xff); *(dp + 1) = (png_byte)(w & 0xff); } +#endif } } else @@ -2993,11 +3009,16 @@ png_do_background(png_row_infop row_info, png_bytep row, { png_memcpy(dp, sp, 2); } +#if defined(PNG_READ_GAMMA_SUPPORTED) else if (a == 0) +#else + else +#endif { *dp = (png_byte)((background->gray >> 8) & 0xff); *(dp + 1) = (png_byte)(background->gray & 0xff); } +#if defined(PNG_READ_GAMMA_SUPPORTED) else { png_uint_16 g, v; @@ -3007,6 +3028,7 @@ png_do_background(png_row_infop row_info, png_bytep row, *dp = (png_byte)((v >> 8) & 0xff); *(dp + 1) = (png_byte)(v & 0xff); } +#endif } } } diff --git a/pngrutil.c b/pngrutil.c index 1977783f..5086297d 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,7 +1,7 @@ /* pngrutil.c - utilities to read a PNG file * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngset.c b/pngset.c index 8845d38a..02cce732 100644 --- a/pngset.c +++ b/pngset.c @@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngtest.c b/pngtest.c index 5ed1b336..556f6d92 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1,7 +1,7 @@ /* pngtest.c - a simple test program to test libpng * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1510,4 +1510,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_0 your_png_h_is_not_version_1_2_0; +typedef version_1_2_1beta1 your_png_h_is_not_version_1_2_1beta1; diff --git a/pngtrans.c b/pngtrans.c index 6398dcf3..e3b182fb 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.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngvcrd.c b/pngvcrd.c index d92c5464..42f3118e 100644 --- a/pngvcrd.c +++ b/pngvcrd.c @@ -2,7 +2,7 @@ * * For Intel x86 CPU and Microsoft Visual C++ compiler * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * Copyright (c) 1998, Intel Corporation diff --git a/pngwio.c b/pngwio.c index efc39e69..4578ccac 100644 --- a/pngwio.c +++ b/pngwio.c @@ -1,7 +1,7 @@ /* pngwio.c - functions for data output * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwrite.c b/pngwrite.c index afec136c..1a67b70d 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,7 +1,7 @@ /* pngwrite.c - general routines to write a PNG file * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwtran.c b/pngwtran.c index 7a38b9c4..aa6b5f85 100644 --- a/pngwtran.c +++ b/pngwtran.c @@ -1,7 +1,7 @@ /* pngwtran.c - transforms the data in a row for PNG writers * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwutil.c b/pngwutil.c index 5613a1f1..8282da67 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * libpng 1.2.0 - September 1, 2001 + * libpng 1.2.1beta1 - October 19, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 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 fce0052e..3185e56b 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.2.0 (September 1, 2001) and zlib +libpng 1.2.1beta1 (October 19, 2001) 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/png32ms.def b/projects/msvc/png32ms.def index 70c05992..e8bc6ea3 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.2.0 +;Version 1.2.1beta1 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3 diff --git a/projects/netware.txt b/projects/netware.txt index 74422b4a..e03cb805 100644 --- a/projects/netware.txt +++ b/projects/netware.txt @@ -1,6 +1,6 @@ A set of project files is available for Netware. Get -libpng-1.2.0-project-netware.zip from a libpng distribution +libpng-1.2.1beta1-project-netware.zip from a libpng distribution site such as http://libpng.sourceforge.net Put the zip file in this directory (projects) and then run -"unzip -a libpng-1.2.0-project-netware.zip" +"unzip -a libpng-1.2.1beta1-project-netware.zip" diff --git a/projects/wince.txt b/projects/wince.txt index f078ac54..28fa6afa 100644 --- a/projects/wince.txt +++ b/projects/wince.txt @@ -1,6 +1,6 @@ A set of project files is available for WinCE. Get -libpng-1.2.0-project-wince.zip from a libpng distribution +libpng-1.2.1beta1-project-wince.zip from a libpng distribution site such as http://libpng.sourceforge.net Put the zip file in this directory (projects) and then run -"unzip -a libpng-1.2.0-project-wince.zip" +"unzip -a libpng-1.2.1beta1-project-wince.zip" diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 7d935642..e6840348 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -18,7 +18,7 @@ RM = rm -f # read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. PNGMAJ = 3 -PNGMIN = 1.2.0 +PNGMIN = 1.2.1beta1 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index 803cc1e4..b1235144 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -13,7 +13,7 @@ ZLIBINC=/usr/local/include # read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. PNGMAJ = 3 -PNGMIN = 1.2.0 +PNGMIN = 1.2.1beta1 PNGVER = $(PNGMAJ).$(PNGMIN) ALIGN= diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 7471611e..b464e812 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -39,8 +39,8 @@ CFLAGS=-I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \ # have to change it. PNGMAJ = 3 #PNGDLL = $3 -PNGMIN = 1.2.0 -PNGMIN_BASE = 1.2.0 +PNGMIN = 1.2.1beta1 +PNGMIN_BASE = 1.2.1 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(PNGDLL).dll diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin new file mode 100644 index 00000000..d2e3dfa8 --- /dev/null +++ b/scripts/makefile.darwin @@ -0,0 +1,106 @@ +# makefile for libpng on Darwin / Mac OS X +# Copyright (C) 2001 Christoph Pfisterer +# derived from makefile.linux: +# Copyright (C) 1998, 1999 Greg Roelofs +# Copyright (C) 1996, 1997 Andreas Dilger +# For conditions of distribution and use, see copyright notice in png.h + +# where "make install" puts libpng.a, libpng.dylib, png.h and pngconf.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) -Wall -O3 -funroll-loops +LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz + +#RANLIB=echo +RANLIB=ranlib + +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not +# have to change it. +PNGMAJ = 3 +PNGMIN = 1.2.1beta1 +PNGVER = $(PNGMAJ).$(PNGMIN) + +INCPATH=$(prefix)/include +LIBPATH=$(prefix)/lib + +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 + +OBJSDLL = $(OBJS:.o=.pic.o) + +.SUFFIXES: .c .o .pic.o + +.c.pic.o: + $(CC) -c $(CFLAGS) -fno-common -o $@ $*.c + +all: libpng.a libpng.dylib pngtest + +libpng.a: $(OBJS) + ar rc $@ $(OBJS) + $(RANLIB) $@ + +libpng.dylib: libpng.$(PNGMAJ).dylib + ln -sf libpng.$(PNGMAJ).dylib libpng.dylib + +libpng.$(PNGMAJ).dylib: libpng.$(PNGVER).dylib + ln -sf libpng.$(PNGVER).dylib libpng.$(PNGMAJ).dylib + +libpng.$(PNGVER).dylib: $(OBJSDLL) + $(CC) -dynamiclib -undefined suppress \ + -install_name $(LIBPATH)/libpng.$(PNGMAJ).dylib \ + -current_version $(PNGMIN) -compatibility_version $(PNGMIN) \ + -o libpng.$(PNGVER).dylib \ + $(OBJSDLL) -L$(ZLIBLIB) -lz + +pngtest: pngtest.o libpng.dylib + $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) + +test: pngtest + ./pngtest + +install: libpng.a libpng.dylib + -@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 libpng.$(PNGVER).dylib $(LIBPATH) + chmod 755 $(LIBPATH)/libpng.$(PNGVER).dylib + ranlib $(LIBPATH)/libpng.a + -@/bin/rm -f $(LIBPATH)/libpng.$(PNGMAJ).dylib $(LIBPATH)/libpng.dylib + (cd $(LIBPATH); ln -sf libpng.$(PNGVER).dylib libpng.$(PNGMAJ).dylib; \ + ln -sf libpng.$(PNGMAJ).dylib libpng.dylib) + +clean: + rm -f *.o libpng.a libpng.*dylib 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.pic.o: png.h pngconf.h +pngerror.o pngerror.pic.o: png.h pngconf.h +pngrio.o pngrio.pic.o: png.h pngconf.h +pngwio.o pngwio.pic.o: png.h pngconf.h +pngmem.o pngmem.pic.o: png.h pngconf.h +pngset.o pngset.pic.o: png.h pngconf.h +pngget.o pngget.pic.o: png.h pngconf.h +pngread.o pngread.pic.o: png.h pngconf.h +pngrtran.o pngrtran.pic.o: png.h pngconf.h +pngrutil.o pngrutil.pic.o: png.h pngconf.h +pngtrans.o pngtrans.pic.o: png.h pngconf.h +pngwrite.o pngwrite.pic.o: png.h pngconf.h +pngwtran.o pngwtran.pic.o: png.h pngconf.h +pngwutil.o pngwutil.pic.o: png.h pngconf.h +pngpread.o pngpread.pic.o: png.h pngconf.h + +pngtest.o: png.h pngconf.h diff --git a/scripts/makefile.dec b/scripts/makefile.dec index 5bb3f497..a867c179 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 3. You should not # have to change it. PNGMAJ = 3 -PNGMIN = 1.2.0 +PNGMIN = 1.2.1beta1 PNGVER = $(PNGMAJ).$(PNGMIN) CC=cc diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index 541dc738..842e9262 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -55,7 +55,7 @@ RANLIB=ranlib # read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. PNGMAJ = 3 -PNGMIN = 1.2.0 +PNGMIN = 1.2.1beta1 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index dfe2561d..cddbf6b6 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -34,7 +34,7 @@ RANLIB=ranlib # read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. PNGMAJ = 3 -PNGMIN = 1.2.0 +PNGMIN = 1.2.1beta1 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index f4a56a23..12f46057 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -19,7 +19,7 @@ RANLIB=ranlib # read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. PNGMAJ = 3 -PNGMIN = 1.2.0 +PNGMIN = 1.2.1beta1 PNGVER = $(PNGMAJ).$(PNGMIN) # where make install puts libpng.a and png.h diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 9ea620e0..bca411d7 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 3. You should not # have to change it. PNGMAJ = 3 -PNGMIN = 1.2.0 +PNGMIN = 1.2.1beta1 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.macosx b/scripts/makefile.macosx index 093ea776..4ca44c45 100644 --- a/scripts/makefile.macosx +++ b/scripts/makefile.macosx @@ -1,5 +1,7 @@ # makefile for libpng, MACOS X # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc. +# Modified by Karin Kosina 20011010: +# build shared library (*.dylib) # For conditions of distribution and use, see copyright notice in png.h # where make install puts libpng.a and png.h @@ -12,8 +14,16 @@ ZLIBLIB=../zlib ZLIBINC=../zlib CC=cc -CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5 +CFLAGS=-fno-common -I$(ZLIBINC) -O # -g -DPNG_DEBUG=5 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz +LDSHARED=cc -lz -dynamiclib -compatibility_version $(VER) -current_version $(VER) + +PNGMAJ = 3 +PNGMIN = 1.2.1beta1 +VER = $(PNGMAJ).$(PNGMIN) +SHAREDLIB=libpng +SHAREDLIB_POSTFIX=dylib +libdir=$(prefix)/lib #RANLIB=echo RANLIB=ranlib @@ -22,12 +32,17 @@ 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 +all: libpng.a pngtest shared + +shared: $(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX) libpng.a: $(OBJS) ar rc $@ $(OBJS) $(RANLIB) $@ +$(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX): $(OBJS) + $(LDSHARED) -o $@ $(OBJS) + pngtest: pngtest.o libpng.a $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) @@ -44,8 +59,13 @@ install: libpng.a cp libpng.a $(prefix)/lib chmod 644 $(prefix)/lib/libpng.a +install-shared: $(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX) + cp $(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX) $(libdir) + (cd $(libdir); \ + ln -s $(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX) $(SHAREDLIB).$(SHAREDLIB_POSTFIX)) + clean: - rm -f *.o libpng.a pngtest pngout.png + rm -f *.o libpng.a pngtest pngout.png $(SHAREDLIB).$(VER).$(SHAREDLIB_POSTFIX) $(SHAREDLIB).$(SHAREDLIB_POSTFIX) DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO writelock: diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd index 03ba3975..a7526659 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -11,7 +11,7 @@ INCSDIR=${LOCALBASE}/include LIB=png SHLIB_MAJOR= 3 -SHLIB_MINOR= 1.2.0 +SHLIB_MINOR= 1.2.1beta1 SRCS= pnggccrd.c 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 @@ -20,12 +20,12 @@ MAN= libpng.3 libpngpf.3 png.5 CPPFLAGS+=-I${.CURDIR} -DPNG_USE_PNGGCCRD -CPPFLAGS+=-DPNG_NO_ASSEMBLER_CODE # something like this for mmx assembler, but it core dumps for me at the moment # .if ${MACHINE_ARCH} == "i386" +# CPPFLAGS+=-DPNG_THREAD_UNSAFE_OK # MKLINT= no # .else -# CPPFLAGS+=-DPNG_NO_ASSEMBLER_CODE + CPPFLAGS+=-DPNG_NO_ASSEMBLER_CODE # .endif CLEANFILES+=pngtest.o pngtest diff --git a/scripts/makefile.sco b/scripts/makefile.sco index 8b5c51f0..b801021e 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -25,7 +25,7 @@ RANLIB=echo # read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. PNGMAJ = 3 -PNGMIN = 1.2.0 +PNGMIN = 1.2.1beta1 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 0c3f846e..389fe580 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -22,7 +22,7 @@ CFLAGS=$(ABI) -I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32 LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm LDSHARED=CC $(ABI) -shared -VER=1.2.0 +VER=1.2.1beta1 # See "man dso" for info about shared objects SONUM=3 LIBS=libpng.so.$(SONUM).$(VER) diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index 6a15f322..556c34b0 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -27,7 +27,7 @@ CFLAGS=$(ABI) -I$(ZLIBINC) -O $(WARNMORE) -DPNG_USE_PNGGCCRD -DPNG_NO_ASSEMBLER_ LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm LDSHARED=cc $(ABI) -shared -VER=1.2.0 +VER=1.2.1beta1 # See "man dso" for info about shared objects SONUM=3 SHAREDLIB=libpng.so diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index d4db9f54..2d6d17d7 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 3. You should not # have to change it. PNGMAJ = 3 -PNGMIN = 1.2.0 +PNGMIN = 1.2.1beta1 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas index 507447d2..b0edbf08 100644 --- a/scripts/pngdef.pas +++ b/scripts/pngdef.pas @@ -7,8 +7,8 @@ unit pngdef; interface const - PNG_LIBPNG_VER_STRING = '1.2.0'; - PNG_LIBPNG_VER = 10200; + PNG_LIBPNG_VER_STRING = '1.2.1beta1'; + PNG_LIBPNG_VER = 10201; type png_uint_32 = Cardinal; diff --git a/scripts/pngos2.def b/scripts/pngos2.def index fd6550a0..9ff0d334 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.2.0 +; Version 1.2.1beta1 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2"