From bc6abe8af89fc700dcb71522e21ca29cf351311b Mon Sep 17 00:00:00 2001 From: John Bowler Date: Mon, 4 Feb 2013 21:53:41 -0600 Subject: [PATCH] [libpng15] Made a probably general fix for the preprocessing used to generate source files. This change might make the check for a special C preprocessor unnecessary, and it also eliminates the requirement for sed in the configure build process. NOTE: this is incomplete, a change must also be made to pnglibconf.mak --- ANNOUNCE | 5 + CHANGES | 5 + Makefile.am | 24 ++- pngtest.c | 2 +- scripts/def.dfn | 37 ++--- scripts/dfn.awk | 135 ++++++++++++++++ scripts/pnglibconf.h.prebuilt | 295 +++++++++++++++++----------------- scripts/sym.dfn | 2 +- scripts/symbols.dfn | 6 +- 9 files changed, 322 insertions(+), 189 deletions(-) create mode 100644 scripts/dfn.awk diff --git a/ANNOUNCE b/ANNOUNCE index b94e54fa8..4bf9cb93e 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -33,6 +33,11 @@ Version 1.5.15beta01 [February 4, 2013] Added png_get_palette_max() function. Version 1.5.15beta02 [February 5, 2013] + Made a probably general fix for the preprocessing used to generate source + files. This change might make the check for a special C preprocessor + unnecessary, and it also eliminates the requirement for sed in the + configure build process. NOTE: this is incomplete, a change must also + be made to pnglibconf.mak Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 1d16e9cf8..62cf447ba 100644 --- a/CHANGES +++ b/CHANGES @@ -3990,6 +3990,11 @@ Version 1.5.15beta01 [February 4, 2013] Added png_get_palette_max() function. Version 1.5.15beta02 [February 5, 2013] + Made a probably general fix for the preprocessing used to generate source + files. This change might make the check for a special C preprocessor + unnecessary, and it also eliminates the requirement for sed in the + configure build process. NOTE: this is incomplete, a change must also + be made to pnglibconf.mak =========================================================================== NOTICE November 17, 2012: diff --git a/Makefile.am b/Makefile.am index a1d22aea8..d4d13f64a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -142,26 +142,22 @@ SYMBOL_CFLAGS = -DPNGLIB_LIBNAME='PNG@PNGLIB_MAJOR@@PNGLIB_MINOR@_0'\ -DPNG_NO_USE_READ_MACROS -DPNG_BUILDING_SYMBOL_TABLE .dfn.out: - rm -f $@ dfn.c dfn?.out + rm -f $@ $@.c $@.? test -d scripts || mkdir scripts - echo '#include "$<"' >dfn.c + echo '#include "$<"' >$@.c $(DFNCPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) @LIBPNG_DEFINES@\ - $(CPPFLAGS) $(SYMBOL_CFLAGS) dfn.c > dfn1.out - $(SED) -n -e 's|^.*PNG_DEFN_MAGIC *-\(.*\)- *PNG_DEFN_END.*$$|\1|p'\ - dfn1.out >dfn2.out - $(SED) -e 's| *PNG_JOIN *||g' -e 's| *$$||' dfn2.out >dfn3.out - rm -f dfn.c dfn[12].out - mv dfn3.out $@ + $(CPPFLAGS) $(SYMBOL_CFLAGS) $@.c > $@.1 + $(AWK) -f "${srcdir}/scripts/dfn.awk" out="$@.2" $@.1 1>&2 + mv $@.2 $2 # The .dfn file for pnglibconf.h is machine generated pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h pngusr.dfa $(DFA_XTRA) - rm -f $@ dfn?.out - $(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out version=search\ - ${srcdir}/pngconf.h ${srcdir}/scripts/pnglibconf.dfa\ + rm -f $@ pnglibconf.pre $@.? + $(AWK) -f ${srcdir}/scripts/options.awk out="pnglibconf.pre"\ + version=search ${srcdir}/pngconf.h ${srcdir}/scripts/pnglibconf.dfa\ ${srcdir}/pngusr.dfa $(DFA_XTRA) 1>&2 - $(AWK) -f ${srcdir}/scripts/options.awk out=dfn2.out dfn1.out 1>&2 - rm dfn1.out - mv dfn2.out $@ + $(AWK) -f ${srcdir}/scripts/options.awk out="$@.1" pnglibconf.pre 1>&2 + mv $@.1 $@ # Symbol checks (.def and .out files should match) scripts/symbols.chk: scripts/checksym.awk scripts/symbols.def scripts/symbols.out diff --git a/pngtest.c b/pngtest.c index d8559ff77..fb097ddd3 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1242,7 +1242,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname) memcpy(tIME_string, png_convert_to_rfc1123(read_ptr, mod_time), png_sizeof(tIME_string)); - + tIME_string[png_sizeof(tIME_string) - 1] = '\0'; tIME_chunk_present++; #endif /* PNG_TIME_RFC1123_SUPPORTED */ diff --git a/scripts/def.dfn b/scripts/def.dfn index f9918631d..8f061fd85 100644 --- a/scripts/def.dfn +++ b/scripts/def.dfn @@ -8,31 +8,22 @@ * and license in png.h */ -/* These macros exist to make the header and trailer shorter below: */ -#define S PNG_DEFN_MAGIC -#define E PNG_DEFN_END - /* Write the export file header: */ -S-;---------------------------------------------------------------E -S-; LIBPNG module definition file for OS/2-E -S-;---------------------------------------------------------------E -S--E -S-; If you give the library an explicit name one or other files-E -S-; may need modifying to support the new name on one or more-E -S-; systems.-E -S-LIBRARY-E -S-OS2 DESCRIPTION "PNG image compression library"-E -S-OS2 CODE PRELOAD MOVEABLE DISCARDABLE-E -S--E -S-EXPORTS-E -S-;Version 1.5.0beta58-E +PNG_DFN ";--------------------------------------------------------------" +PNG_DFN "; LIBPNG module definition file for OS/2" +PNG_DFN ";--------------------------------------------------------------" +PNG_DFN "" +PNG_DFN "; If you give the library an explicit name one or other files" +PNG_DFN "; may need modifying to support the new name on one or more" +PNG_DFN "; systems." +PNG_DFN "LIBRARY" +PNG_DFN "OS2 DESCRIPTION "PNG image compression library"" +PNG_DFN "OS2 CODE PRELOAD MOVEABLE DISCARDABLE" +PNG_DFN "" +PNG_DFN "EXPORTS" +PNG_DFN ";Version 1.5.0beta58" -/* NOTE: PNG_JOIN is interpreted by the calling script as a signal to - * join the two things on either side, so we can do symbol - * substitution within the name, regular C ## joins the pp-tokens, - * not their final values. - */ #define PNG_EXPORTA(ordinal, type, name, args, attributes)\ - PNG_DEFN_MAGIC- SYMBOL_PREFIX PNG_JOIN name-PNG_DEFN_END + PNG_DFN "@" SYMBOL_PREFIX "@@" name "@" #include "../png.h" diff --git a/scripts/dfn.awk b/scripts/dfn.awk new file mode 100644 index 000000000..8a5dab6f9 --- /dev/null +++ b/scripts/dfn.awk @@ -0,0 +1,135 @@ +#!/bin/awk -f +# scripts/dfn.awk - process a .dfn file +# +# last changed in libpng version 1.5.14 - February 4, 2013 +# +# Copyright (c) 2013-2013 Glenn Randers-Pehrson +# +# This code is released under the libpng license. +# For conditions of distribution and use, see the disclaimer +# and license in png.h + +# The output of this script is written to the file given by +# the variable 'out', which should be set on the command line. +# Error messages are printed to stdout and if any are printed +# the script will exit with error code 1. + +BEGIN{ + out="/dev/null" # as a flag + out_count=0 # count of output lines + err=0 # set if an error occured + sort=0 # sort the output + array[""]="" +} + +# The output file must be specified before any input: +NR==1 && out == "/dev/null" { + print "out=output.file must be given on the command line" + # but continue without setting the error code, this allows the + # script to be checked easily +} + +# Output can be sorted; two lines are recognized +$1 == "PNG_DFN_START_SORT"{ + sort=$2 + next +} + +$1 == "PNG_DFN_END_SORT"{ + # Do a very simple, slow, sort; notice that blank lines won't be + # output by this + for (entry in array) { + while (array[entry] != "") { + key = entry + value = array[key] + array[key] = "" + + for (alt in array) { + if (array[alt] != "" && alt < key) { + array[key] = value + value = array[alt] + key = alt + array[alt] = "" + } + } + + print value >out + } + } + sort=0 + next +} + +/^[^"]*PNG_DFN *".*"[^"]*$/{ + # A definition line, apparently correctly formated, extract the + # definition then replace any doubled "" that remain with a single + # double quote. Notice that the original doubled double quotes + # may have been split by tokenization + orig=$0 + + if (gsub(/^[^"]*PNG_DFN *"/,"") != 1 || gsub(/"[^"]*$/, "") != 1) { + print "line", NR, "processing failed:" + print orig + print $0 + err=1 + } else { + ++out_count + } + + # Now examine quotes within the value: + # + # @" - delete this and any following spaces + # "@ - delete this and any original spaces + # @' - replace this by a double quote + # + # This allows macro substitution by the C compiler thus: + # + # #define first_name John + # #define last_name Smith + # + # PNG_DFN"#define name @'@" first_name "@ @" last_name "@@'" + # + # Might get C preprocessed to: + # + # PNG_DFN "#define foo @'@" John "@ @" Smith "@@'" + # + # Which this script reduces to: + # + # #define name "John Smith" + # + while (sub(/@" */, "")) { + if (!sub(/ *"@/, "")) { + print "unbalanced @\" ... \"@ pair" + err=1 + break + } + } + + # Put any needed double quotes in + gsub(/@'/,"\"") + + # Remove any trailing spaces (not really required, but for + # editorial consistency + sub(/ *$/, "") + + if (sort) + array[$(sort)] = $0 + + else + print $0 >out + next +} + +/PNG_DFN/{ + print "line", NR, "incorrectly formated PNG_DFN line:" + print $0 + err = 1 +} + +END{ + if (out_count > 0 || err > 0) + exit err + + print "no definition lines found" + exit 1 +} diff --git a/scripts/pnglibconf.h.prebuilt b/scripts/pnglibconf.h.prebuilt index 182a3180a..c8cecb7a6 100644 --- a/scripts/pnglibconf.h.prebuilt +++ b/scripts/pnglibconf.h.prebuilt @@ -30,157 +30,158 @@ #define PNG_QUANTIZE_BLUE_BITS 5 #define PNG_QUANTIZE_GREEN_BITS 5 #define PNG_QUANTIZE_RED_BITS 5 -#define PNG_sCAL_PRECISION 5 #define PNG_WEIGHT_SHIFT 8 #define PNG_ZBUF_SIZE 8192 +#define PNG_sCAL_PRECISION 5 /* end of settings */ /* options */ -#define PNG_16BIT_SUPPORTED -#define PNG_ALIGN_MEMORY_SUPPORTED -#define PNG_BENIGN_ERRORS_SUPPORTED -#define PNG_bKGD_SUPPORTED -#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED -#define PNG_CHECK_cHRM_SUPPORTED -#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED -#define PNG_cHRM_SUPPORTED -#define PNG_CONSOLE_IO_SUPPORTED -#define PNG_CONVERT_tIME_SUPPORTED -#define PNG_EASY_ACCESS_SUPPORTED +#define PNG_16BIT_SUPPORTED 1 +#define PNG_ALIGN_MEMORY_SUPPORTED 1 +#define PNG_BENIGN_ERRORS_SUPPORTED 1 +#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED 1 +#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED 1 +#define PNG_CHECK_cHRM_SUPPORTED 1 +#define PNG_CONSOLE_IO_SUPPORTED 1 +#define PNG_CONVERT_tIME_SUPPORTED 1 +#define PNG_EASY_ACCESS_SUPPORTED 1 /*#undef PNG_ERROR_NUMBERS_SUPPORTED*/ -#define PNG_ERROR_TEXT_SUPPORTED -#define PNG_FIXED_POINT_SUPPORTED -#define PNG_FLOATING_ARITHMETIC_SUPPORTED -#define PNG_FLOATING_POINT_SUPPORTED -#define PNG_gAMA_SUPPORTED -#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED -#define PNG_hIST_SUPPORTED -#define PNG_iCCP_SUPPORTED -#define PNG_INCH_CONVERSIONS_SUPPORTED -#define PNG_INFO_IMAGE_SUPPORTED -#define PNG_IO_STATE_SUPPORTED -#define PNG_iTXt_SUPPORTED -#define PNG_MNG_FEATURES_SUPPORTED -#define PNG_oFFs_SUPPORTED -#define PNG_pCAL_SUPPORTED -#define PNG_pHYs_SUPPORTED -#define PNG_POINTER_INDEXING_SUPPORTED -#define PNG_PROGRESSIVE_READ_SUPPORTED -#define PNG_READ_16BIT_SUPPORTED -#define PNG_READ_ALPHA_MODE_SUPPORTED -#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED -#define PNG_READ_BACKGROUND_SUPPORTED -#define PNG_READ_BGR_SUPPORTED -#define PNG_READ_bKGD_SUPPORTED -#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED -#define PNG_READ_cHRM_SUPPORTED -#define PNG_READ_COMPOSITE_NODIV_SUPPORTED -#define PNG_READ_COMPRESSED_TEXT_SUPPORTED -#define PNG_READ_EXPAND_16_SUPPORTED -#define PNG_READ_EXPAND_SUPPORTED -#define PNG_READ_FILLER_SUPPORTED -#define PNG_READ_gAMA_SUPPORTED -#define PNG_READ_GAMMA_SUPPORTED -#define PNG_READ_GRAY_TO_RGB_SUPPORTED -#define PNG_READ_hIST_SUPPORTED -#define PNG_READ_iCCP_SUPPORTED -#define PNG_READ_INTERLACING_SUPPORTED -#define PNG_READ_INT_FUNCTIONS_SUPPORTED -#define PNG_READ_INVERT_ALPHA_SUPPORTED -#define PNG_READ_INVERT_SUPPORTED -#define PNG_READ_iTXt_SUPPORTED -#define PNG_READ_oFFs_SUPPORTED -#define PNG_READ_OPT_PLTE_SUPPORTED -#define PNG_READ_PACK_SUPPORTED -#define PNG_READ_PACKSWAP_SUPPORTED -#define PNG_READ_pCAL_SUPPORTED -#define PNG_READ_pHYs_SUPPORTED -#define PNG_READ_QUANTIZE_SUPPORTED -#define PNG_READ_RGB_TO_GRAY_SUPPORTED -#define PNG_READ_sBIT_SUPPORTED -#define PNG_READ_SCALE_16_TO_8_SUPPORTED -#define PNG_READ_sCAL_SUPPORTED -#define PNG_READ_SHIFT_SUPPORTED -#define PNG_READ_sPLT_SUPPORTED -#define PNG_READ_sRGB_SUPPORTED -#define PNG_READ_STRIP_16_TO_8_SUPPORTED -#define PNG_READ_STRIP_ALPHA_SUPPORTED -#define PNG_READ_SUPPORTED -#define PNG_READ_SWAP_ALPHA_SUPPORTED -#define PNG_READ_SWAP_SUPPORTED -#define PNG_READ_tEXt_SUPPORTED -#define PNG_READ_TEXT_SUPPORTED -#define PNG_READ_tIME_SUPPORTED -#define PNG_READ_TRANSFORMS_SUPPORTED -#define PNG_READ_tRNS_SUPPORTED -#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED -#define PNG_READ_USER_CHUNKS_SUPPORTED -#define PNG_READ_USER_TRANSFORM_SUPPORTED -#define PNG_READ_zTXt_SUPPORTED -#define PNG_SAVE_INT_32_SUPPORTED -#define PNG_sBIT_SUPPORTED -#define PNG_sCAL_SUPPORTED -#define PNG_SEQUENTIAL_READ_SUPPORTED -#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED -#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED -#define PNG_SETJMP_SUPPORTED -#define PNG_SET_USER_LIMITS_SUPPORTED -#define PNG_sPLT_SUPPORTED -#define PNG_sRGB_SUPPORTED -#define PNG_STDIO_SUPPORTED -#define PNG_tEXt_SUPPORTED -#define PNG_TEXT_SUPPORTED -#define PNG_TIME_RFC1123_SUPPORTED -#define PNG_tIME_SUPPORTED -#define PNG_tRNS_SUPPORTED -#define PNG_UNKNOWN_CHUNKS_SUPPORTED -#define PNG_USER_CHUNKS_SUPPORTED -#define PNG_USER_LIMITS_SUPPORTED -#define PNG_USER_MEM_SUPPORTED -#define PNG_USER_TRANSFORM_INFO_SUPPORTED -#define PNG_USER_TRANSFORM_PTR_SUPPORTED -#define PNG_WARNINGS_SUPPORTED -#define PNG_WRITE_16BIT_SUPPORTED -#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED -#define PNG_WRITE_BGR_SUPPORTED -#define PNG_WRITE_bKGD_SUPPORTED -#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED -#define PNG_WRITE_cHRM_SUPPORTED -#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED -#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED -#define PNG_WRITE_FILLER_SUPPORTED -#define PNG_WRITE_FILTER_SUPPORTED -#define PNG_WRITE_FLUSH_SUPPORTED -#define PNG_WRITE_gAMA_SUPPORTED -#define PNG_WRITE_hIST_SUPPORTED -#define PNG_WRITE_iCCP_SUPPORTED -#define PNG_WRITE_INTERLACING_SUPPORTED -#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED -#define PNG_WRITE_INVERT_ALPHA_SUPPORTED -#define PNG_WRITE_INVERT_SUPPORTED -#define PNG_WRITE_iTXt_SUPPORTED -#define PNG_WRITE_oFFs_SUPPORTED -#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED -#define PNG_WRITE_PACK_SUPPORTED -#define PNG_WRITE_PACKSWAP_SUPPORTED -#define PNG_WRITE_pCAL_SUPPORTED -#define PNG_WRITE_pHYs_SUPPORTED -#define PNG_WRITE_sBIT_SUPPORTED -#define PNG_WRITE_sCAL_SUPPORTED -#define PNG_WRITE_SHIFT_SUPPORTED -#define PNG_WRITE_sPLT_SUPPORTED -#define PNG_WRITE_sRGB_SUPPORTED -#define PNG_WRITE_SUPPORTED -#define PNG_WRITE_SWAP_ALPHA_SUPPORTED -#define PNG_WRITE_SWAP_SUPPORTED -#define PNG_WRITE_tEXt_SUPPORTED -#define PNG_WRITE_TEXT_SUPPORTED -#define PNG_WRITE_tIME_SUPPORTED -#define PNG_WRITE_TRANSFORMS_SUPPORTED -#define PNG_WRITE_tRNS_SUPPORTED -#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED -#define PNG_WRITE_USER_TRANSFORM_SUPPORTED -#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED -#define PNG_WRITE_zTXt_SUPPORTED -#define PNG_zTXt_SUPPORTED +#define PNG_ERROR_TEXT_SUPPORTED 1 +#define PNG_FIXED_POINT_SUPPORTED 1 +#define PNG_FLOATING_ARITHMETIC_SUPPORTED 1 +#define PNG_FLOATING_POINT_SUPPORTED 1 +#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED 1 +#define PNG_INCH_CONVERSIONS_SUPPORTED 1 +#define PNG_INFO_IMAGE_SUPPORTED 1 +#define PNG_IO_STATE_SUPPORTED 1 +#define PNG_MNG_FEATURES_SUPPORTED 1 +#define PNG_POINTER_INDEXING_SUPPORTED 1 +#define PNG_PROGRESSIVE_READ_SUPPORTED 1 +#define PNG_READ_16BIT_SUPPORTED 1 +#define PNG_READ_ALPHA_MODE_SUPPORTED 1 +#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED 1 +#define PNG_READ_BACKGROUND_SUPPORTED 1 +#define PNG_READ_BGR_SUPPORTED 1 +#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED 1 +#define PNG_READ_COMPOSITE_NODIV_SUPPORTED 1 +#define PNG_READ_COMPRESSED_TEXT_SUPPORTED 1 +#define PNG_READ_EXPAND_16_SUPPORTED 1 +#define PNG_READ_EXPAND_SUPPORTED 1 +#define PNG_READ_FILLER_SUPPORTED 1 +#define PNG_READ_GAMMA_SUPPORTED 1 +#define PNG_READ_GRAY_TO_RGB_SUPPORTED 1 +#define PNG_READ_INTERLACING_SUPPORTED 1 +#define PNG_READ_INT_FUNCTIONS_SUPPORTED 1 +#define PNG_READ_INVERT_ALPHA_SUPPORTED 1 +#define PNG_READ_INVERT_SUPPORTED 1 +#define PNG_READ_OPT_PLTE_SUPPORTED 1 +#define PNG_READ_PACKSWAP_SUPPORTED 1 +#define PNG_READ_PACK_SUPPORTED 1 +#define PNG_READ_QUANTIZE_SUPPORTED 1 +#define PNG_READ_RGB_TO_GRAY_SUPPORTED 1 +#define PNG_READ_SCALE_16_TO_8_SUPPORTED 1 +#define PNG_READ_SHIFT_SUPPORTED 1 +#define PNG_READ_STRIP_16_TO_8_SUPPORTED 1 +#define PNG_READ_STRIP_ALPHA_SUPPORTED 1 +#define PNG_READ_SUPPORTED 1 +#define PNG_READ_SWAP_ALPHA_SUPPORTED 1 +#define PNG_READ_SWAP_SUPPORTED 1 +#define PNG_READ_TEXT_SUPPORTED 1 +#define PNG_READ_TRANSFORMS_SUPPORTED 1 +#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED 1 +#define PNG_READ_USER_CHUNKS_SUPPORTED 1 +#define PNG_READ_USER_TRANSFORM_SUPPORTED 1 +#define PNG_READ_bKGD_SUPPORTED 1 +#define PNG_READ_cHRM_SUPPORTED 1 +#define PNG_READ_gAMA_SUPPORTED 1 +#define PNG_READ_hIST_SUPPORTED 1 +#define PNG_READ_iCCP_SUPPORTED 1 +#define PNG_READ_iTXt_SUPPORTED 1 +#define PNG_READ_oFFs_SUPPORTED 1 +#define PNG_READ_pCAL_SUPPORTED 1 +#define PNG_READ_pHYs_SUPPORTED 1 +#define PNG_READ_sBIT_SUPPORTED 1 +#define PNG_READ_sCAL_SUPPORTED 1 +#define PNG_READ_sPLT_SUPPORTED 1 +#define PNG_READ_sRGB_SUPPORTED 1 +#define PNG_READ_tEXt_SUPPORTED 1 +#define PNG_READ_tIME_SUPPORTED 1 +#define PNG_READ_tRNS_SUPPORTED 1 +#define PNG_READ_zTXt_SUPPORTED 1 +/*#undef PNG_SAFE_LIMITS_SUPPORTED*/ +#define PNG_SAVE_INT_32_SUPPORTED 1 +#define PNG_SEQUENTIAL_READ_SUPPORTED 1 +#define PNG_SETJMP_SUPPORTED 1 +#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED 1 +#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED 1 +#define PNG_SET_USER_LIMITS_SUPPORTED 1 +#define PNG_STDIO_SUPPORTED 1 +#define PNG_TEXT_SUPPORTED 1 +#define PNG_TIME_RFC1123_SUPPORTED 1 +#define PNG_UNKNOWN_CHUNKS_SUPPORTED 1 +#define PNG_USER_CHUNKS_SUPPORTED 1 +#define PNG_USER_LIMITS_SUPPORTED 1 +#define PNG_USER_MEM_SUPPORTED 1 +#define PNG_USER_TRANSFORM_INFO_SUPPORTED 1 +#define PNG_USER_TRANSFORM_PTR_SUPPORTED 1 +#define PNG_WARNINGS_SUPPORTED 1 +#define PNG_WRITE_16BIT_SUPPORTED 1 +#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED 1 +#define PNG_WRITE_BGR_SUPPORTED 1 +#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED 1 +#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED 1 +#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED 1 +#define PNG_WRITE_FILLER_SUPPORTED 1 +#define PNG_WRITE_FILTER_SUPPORTED 1 +#define PNG_WRITE_FLUSH_SUPPORTED 1 +#define PNG_WRITE_INTERLACING_SUPPORTED 1 +#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED 1 +#define PNG_WRITE_INVERT_ALPHA_SUPPORTED 1 +#define PNG_WRITE_INVERT_SUPPORTED 1 +#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED 1 +#define PNG_WRITE_PACKSWAP_SUPPORTED 1 +#define PNG_WRITE_PACK_SUPPORTED 1 +#define PNG_WRITE_SHIFT_SUPPORTED 1 +#define PNG_WRITE_SUPPORTED 1 +#define PNG_WRITE_SWAP_ALPHA_SUPPORTED 1 +#define PNG_WRITE_SWAP_SUPPORTED 1 +#define PNG_WRITE_TEXT_SUPPORTED 1 +#define PNG_WRITE_TRANSFORMS_SUPPORTED 1 +#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED 1 +#define PNG_WRITE_USER_TRANSFORM_SUPPORTED 1 +#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED 1 +#define PNG_WRITE_bKGD_SUPPORTED 1 +#define PNG_WRITE_cHRM_SUPPORTED 1 +#define PNG_WRITE_gAMA_SUPPORTED 1 +#define PNG_WRITE_hIST_SUPPORTED 1 +#define PNG_WRITE_iCCP_SUPPORTED 1 +#define PNG_WRITE_iTXt_SUPPORTED 1 +#define PNG_WRITE_oFFs_SUPPORTED 1 +#define PNG_WRITE_pCAL_SUPPORTED 1 +#define PNG_WRITE_pHYs_SUPPORTED 1 +#define PNG_WRITE_sBIT_SUPPORTED 1 +#define PNG_WRITE_sCAL_SUPPORTED 1 +#define PNG_WRITE_sPLT_SUPPORTED 1 +#define PNG_WRITE_sRGB_SUPPORTED 1 +#define PNG_WRITE_tEXt_SUPPORTED 1 +#define PNG_WRITE_tIME_SUPPORTED 1 +#define PNG_WRITE_tRNS_SUPPORTED 1 +#define PNG_WRITE_zTXt_SUPPORTED 1 +#define PNG_bKGD_SUPPORTED 1 +#define PNG_cHRM_SUPPORTED 1 +#define PNG_gAMA_SUPPORTED 1 +#define PNG_hIST_SUPPORTED 1 +#define PNG_iCCP_SUPPORTED 1 +#define PNG_iTXt_SUPPORTED 1 +#define PNG_oFFs_SUPPORTED 1 +#define PNG_pCAL_SUPPORTED 1 +#define PNG_pHYs_SUPPORTED 1 +#define PNG_sBIT_SUPPORTED 1 +#define PNG_sCAL_SUPPORTED 1 +#define PNG_sPLT_SUPPORTED 1 +#define PNG_sRGB_SUPPORTED 1 +#define PNG_tEXt_SUPPORTED 1 +#define PNG_tIME_SUPPORTED 1 +#define PNG_tRNS_SUPPORTED 1 +#define PNG_zTXt_SUPPORTED 1 /* end of options */ #endif /* PNGLCONF_H */ diff --git a/scripts/sym.dfn b/scripts/sym.dfn index f4f13df08..a9b7ce316 100644 --- a/scripts/sym.dfn +++ b/scripts/sym.dfn @@ -10,6 +10,6 @@ */ #define PNG_EXPORTA(ordinal, type, name, args, attributes)\ - PNG_DEFN_MAGIC-SYMBOL_PREFIX PNG_JOIN name-PNG_DEFN_END + PNG_DFN "@" SYMBOL_PREFIX "@@" name "@" #include "../png.h" diff --git a/scripts/symbols.dfn b/scripts/symbols.dfn index d790929e7..ca45b7432 100644 --- a/scripts/symbols.dfn +++ b/scripts/symbols.dfn @@ -17,11 +17,11 @@ */ #define PNG_EXPORTA(ordinal, type, name, args, attributes)\ - PNG_DEFN_MAGIC-name @ordinal-PNG_DEFN_END + PNG_DFN "@" name "@ @@" ordinal "@" #define PNG_REMOVED(ordinal, type, name, args, attributes)\ - PNG_DEFN_MAGIC-; name @ordinal-PNG_DEFN_END + PNG_DFN "; @" name "@ @@" ordinal "@" #define PNG_EXPORT_LAST_ORDINAL(ordinal)\ - PNG_DEFN_MAGIC-; @ordinal-PNG_DEFN_END + PNG_DFN "; @@" ordinal "@" /* Read the defaults, but use scripts/pnglibconf.h.prebuilt; the 'standard' * header file.