From 80de04e560d6e4a4e280d32b8ddaf4fe1dba422e Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Thu, 24 Mar 2011 23:06:26 -0500 Subject: [PATCH] [devel] Don't include standard header files in png.h while building the symbol table, to avoid cpp failure on SunOS (introduced PNG_BUILDING_SYMBOL_TABLE macro). --- ANNOUNCE | 6 ++++-- CHANGES | 4 +++- Makefile.am | 2 +- Makefile.in | 2 +- png.h | 37 +++++++++++++++++++++---------------- pngconf.h | 22 ++++++++++++---------- 6 files changed, 42 insertions(+), 31 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 36a2378ac..7187aeac5 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.5.2rc03 - March 24, 2011 +Libpng 1.5.2rc03 - March 25, 2011 This is not intended to be a public release. It will be replaced within a few weeks by a public version or by another test version. @@ -64,7 +64,9 @@ Version 1.5.2rc02 [March 22, 2011] Fixed a bug (present since libpng-1.0.7) that makes png_handle_sPLT() fail to compile when PNG_NO_POINTER_INDEXING is defined (Chubanov Kirill) -Version 1.5.2rc03 [March 24, 2011] +Version 1.5.2rc03 [March 25, 2011] + Don't include standard header files in png.h while building the symbol table, + to avoid cpp failure on SunOS (introduced PNG_BUILDING_SYMBOL_TABLE macro). Send comments/corrections/commendations to png-mng-implement at lists.sf.net: (subscription required; visit diff --git a/CHANGES b/CHANGES index b2813b613..6f553d88e 100644 --- a/CHANGES +++ b/CHANGES @@ -3280,7 +3280,9 @@ Version 1.5.2rc02 [March 22, 2011] Fixed a bug (present since libpng-1.0.7) that makes png_handle_sPLT() fail to compile when PNG_NO_POINTER_INDEXING is defined (Chubanov Kirill) -Version 1.5.2rc03 [March 24, 2011] +Version 1.5.2rc03 [March 25, 2011] + Don't include standard header files in png.h while building the symbol table, + to avoid cpp failure on SunOS (introduced PNG_BUILDING_SYMBOL_TABLE macro). Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/Makefile.am b/Makefile.am index 18f87b490..7b8c494c3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -124,7 +124,7 @@ pngvalid.o pngtest.o: pnglibconf.h SYMBOL_CFLAGS = -DPNGLIB_LIBNAME='PNG@PNGLIB_MAJOR@@PNGLIB_MINOR@_0'\ -DPNGLIB_VERSION='@PNGLIB_VERSION@'\ -DSYMBOL_PREFIX='$(SYMBOL_PREFIX)'\ - -DPNG_NO_USE_READ_MACROS + -DPNG_NO_USE_READ_MACROS -DPNG_BUILDING_SYMBOL_TABLE .dfn.out: rm -f $@ dfn.c dfn?.out diff --git a/Makefile.in b/Makefile.in index d2febdd2b..5410f1bfb 100644 --- a/Makefile.in +++ b/Makefile.in @@ -362,7 +362,7 @@ SUFFIXES = .chk .dfn .out SYMBOL_CFLAGS = -DPNGLIB_LIBNAME='PNG@PNGLIB_MAJOR@@PNGLIB_MINOR@_0'\ -DPNGLIB_VERSION='@PNGLIB_VERSION@'\ -DSYMBOL_PREFIX='$(SYMBOL_PREFIX)'\ - -DPNG_NO_USE_READ_MACROS + -DPNG_NO_USE_READ_MACROS -DPNG_BUILDING_SYMBOL_TABLE all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am diff --git a/png.h b/png.h index 353f00306..ea1f1848b 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.5.2rc03 - March 24, 2011 + * libpng version 1.5.2rc03 - March 25, 2011 * Copyright (c) 1998-2011 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.) @@ -11,7 +11,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.5.2rc03 - March 24, 2011: Glenn + * libpng versions 0.97, January 1998, through 1.5.2rc03 - March 25, 2011: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -180,7 +180,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.5.2rc03, March 24, 2011, are + * libpng versions 1.2.6, August 15, 2004, through 1.5.2rc03, March 25, 2011, are * Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.2.5 * with the following individual added to the list of Contributing Authors: @@ -292,7 +292,7 @@ * Y2K compliance in libpng: * ========================= * - * March 24, 2011 + * March 25, 2011 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. @@ -356,7 +356,7 @@ /* Version information for png.h - this should match the version in png.c */ #define PNG_LIBPNG_VER_STRING "1.5.2rc03" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.5.2rc03 - March 24, 2011\n" + " libpng version 1.5.2rc03 - March 25, 2011\n" #define PNG_LIBPNG_VER_SONUM 15 #define PNG_LIBPNG_VER_DLLNUM 15 @@ -407,18 +407,23 @@ #endif #ifndef PNG_VERSION_INFO_ONLY -/* Standard header files (not needed for the version info) */ -# ifdef PNG_SETJMP_SUPPORTED -# include -# endif +# ifndef PNG_BUILDING_SYMBOL_TABLE + /* + * Standard header files (not needed for the version info or while + * building symbol table -- see scripts/pnglibconf.dfa) + */ +# ifdef PNG_SETJMP_SUPPORTED +# include +# endif -/* Need the time information for converting tIME chunks, it - * defines struct tm: - */ -#ifdef PNG_CONVERT_tIME_SUPPORTED - /* "time.h" functions are not supported on all operating systems */ -# include -#endif + /* Need the time information for converting tIME chunks, it + * defines struct tm: + */ +# ifdef PNG_CONVERT_tIME_SUPPORTED + /* "time.h" functions are not supported on all operating systems */ +# include +# endif +# endif /* Machine specific configuration. */ # include "pngconf.h" diff --git a/pngconf.h b/pngconf.h index 7c30b2975..b49ea0ad6 100644 --- a/pngconf.h +++ b/pngconf.h @@ -22,29 +22,31 @@ #ifndef PNGCONF_H #define PNGCONF_H +#ifndef PNG_BUILDING_SYMBOL_TABLE /* PNG_NO_LIMITS_H may be used to turn off the use of the standard C * definition file for machine specific limits, this may impact the * correctness of the definitons below (see uses of INT_MAX). */ -#ifndef PNG_NO_LIMITS_H -# include -#endif +# ifndef PNG_NO_LIMITS_H +# include +# endif /* For the memory copy APIs (i.e. the standard definitions of these), * because this file defines png_memcpy and so on the base APIs must * be defined here. */ -#ifdef BSD -# include -#else -# include -#endif +# ifdef BSD +# include +# else +# include +# endif /* For png_FILE_p - this provides the standard definition of a * FILE */ -#ifdef PNG_STDIO_SUPPORTED -# include +# ifdef PNG_STDIO_SUPPORTED +# include +# endif #endif /* This controls optimization of the reading of 16 and 32 bit values