[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
This commit is contained in:
John Bowler 2013-02-04 21:53:41 -06:00 committed by Glenn Randers-Pehrson
parent 3051d453ef
commit bc6abe8af8
9 changed files with 322 additions and 189 deletions

View File

@ -33,6 +33,11 @@ Version 1.5.15beta01 [February 4, 2013]
Added png_get_palette_max() function. Added png_get_palette_max() function.
Version 1.5.15beta02 [February 5, 2013] 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 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

View File

@ -3990,6 +3990,11 @@ Version 1.5.15beta01 [February 4, 2013]
Added png_get_palette_max() function. Added png_get_palette_max() function.
Version 1.5.15beta02 [February 5, 2013] 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: NOTICE November 17, 2012:

View File

@ -142,26 +142,22 @@ SYMBOL_CFLAGS = -DPNGLIB_LIBNAME='PNG@PNGLIB_MAJOR@@PNGLIB_MINOR@_0'\
-DPNG_NO_USE_READ_MACROS -DPNG_BUILDING_SYMBOL_TABLE -DPNG_NO_USE_READ_MACROS -DPNG_BUILDING_SYMBOL_TABLE
.dfn.out: .dfn.out:
rm -f $@ dfn.c dfn?.out rm -f $@ $@.c $@.?
test -d scripts || mkdir scripts test -d scripts || mkdir scripts
echo '#include "$<"' >dfn.c echo '#include "$<"' >$@.c
$(DFNCPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) @LIBPNG_DEFINES@\ $(DFNCPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) @LIBPNG_DEFINES@\
$(CPPFLAGS) $(SYMBOL_CFLAGS) dfn.c > dfn1.out $(CPPFLAGS) $(SYMBOL_CFLAGS) $@.c > $@.1
$(SED) -n -e 's|^.*PNG_DEFN_MAGIC *-\(.*\)- *PNG_DEFN_END.*$$|\1|p'\ $(AWK) -f "${srcdir}/scripts/dfn.awk" out="$@.2" $@.1 1>&2
dfn1.out >dfn2.out mv $@.2 $2
$(SED) -e 's| *PNG_JOIN *||g' -e 's| *$$||' dfn2.out >dfn3.out
rm -f dfn.c dfn[12].out
mv dfn3.out $@
# The .dfn file for pnglibconf.h is machine generated # The .dfn file for pnglibconf.h is machine generated
pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h pngusr.dfa $(DFA_XTRA) pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h pngusr.dfa $(DFA_XTRA)
rm -f $@ dfn?.out rm -f $@ pnglibconf.pre $@.?
$(AWK) -f ${srcdir}/scripts/options.awk out=dfn1.out version=search\ $(AWK) -f ${srcdir}/scripts/options.awk out="pnglibconf.pre"\
${srcdir}/pngconf.h ${srcdir}/scripts/pnglibconf.dfa\ version=search ${srcdir}/pngconf.h ${srcdir}/scripts/pnglibconf.dfa\
${srcdir}/pngusr.dfa $(DFA_XTRA) 1>&2 ${srcdir}/pngusr.dfa $(DFA_XTRA) 1>&2
$(AWK) -f ${srcdir}/scripts/options.awk out=dfn2.out dfn1.out 1>&2 $(AWK) -f ${srcdir}/scripts/options.awk out="$@.1" pnglibconf.pre 1>&2
rm dfn1.out mv $@.1 $@
mv dfn2.out $@
# Symbol checks (.def and .out files should match) # Symbol checks (.def and .out files should match)
scripts/symbols.chk: scripts/checksym.awk scripts/symbols.def scripts/symbols.out scripts/symbols.chk: scripts/checksym.awk scripts/symbols.def scripts/symbols.out

View File

@ -1242,7 +1242,7 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname)
memcpy(tIME_string, memcpy(tIME_string,
png_convert_to_rfc1123(read_ptr, mod_time), png_convert_to_rfc1123(read_ptr, mod_time),
png_sizeof(tIME_string)); png_sizeof(tIME_string));
tIME_string[png_sizeof(tIME_string) - 1] = '\0'; tIME_string[png_sizeof(tIME_string) - 1] = '\0';
tIME_chunk_present++; tIME_chunk_present++;
#endif /* PNG_TIME_RFC1123_SUPPORTED */ #endif /* PNG_TIME_RFC1123_SUPPORTED */

View File

@ -8,31 +8,22 @@
* and license in png.h * 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: */ /* Write the export file header: */
S-;---------------------------------------------------------------E PNG_DFN ";--------------------------------------------------------------"
S-; LIBPNG module definition file for OS/2-E PNG_DFN "; LIBPNG module definition file for OS/2"
S-;---------------------------------------------------------------E PNG_DFN ";--------------------------------------------------------------"
S--E PNG_DFN ""
S-; If you give the library an explicit name one or other files-E PNG_DFN "; If you give the library an explicit name one or other files"
S-; may need modifying to support the new name on one or more-E PNG_DFN "; may need modifying to support the new name on one or more"
S-; systems.-E PNG_DFN "; systems."
S-LIBRARY-E PNG_DFN "LIBRARY"
S-OS2 DESCRIPTION "PNG image compression library"-E PNG_DFN "OS2 DESCRIPTION "PNG image compression library""
S-OS2 CODE PRELOAD MOVEABLE DISCARDABLE-E PNG_DFN "OS2 CODE PRELOAD MOVEABLE DISCARDABLE"
S--E PNG_DFN ""
S-EXPORTS-E PNG_DFN "EXPORTS"
S-;Version 1.5.0beta58-E 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)\ #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" #include "../png.h"

135
scripts/dfn.awk Normal file
View File

@ -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
}

View File

@ -30,157 +30,158 @@
#define PNG_QUANTIZE_BLUE_BITS 5 #define PNG_QUANTIZE_BLUE_BITS 5
#define PNG_QUANTIZE_GREEN_BITS 5 #define PNG_QUANTIZE_GREEN_BITS 5
#define PNG_QUANTIZE_RED_BITS 5 #define PNG_QUANTIZE_RED_BITS 5
#define PNG_sCAL_PRECISION 5
#define PNG_WEIGHT_SHIFT 8 #define PNG_WEIGHT_SHIFT 8
#define PNG_ZBUF_SIZE 8192 #define PNG_ZBUF_SIZE 8192
#define PNG_sCAL_PRECISION 5
/* end of settings */ /* end of settings */
/* options */ /* options */
#define PNG_16BIT_SUPPORTED #define PNG_16BIT_SUPPORTED 1
#define PNG_ALIGN_MEMORY_SUPPORTED #define PNG_ALIGN_MEMORY_SUPPORTED 1
#define PNG_BENIGN_ERRORS_SUPPORTED #define PNG_BENIGN_ERRORS_SUPPORTED 1
#define PNG_bKGD_SUPPORTED #define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED 1
#define PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED #define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED 1
#define PNG_CHECK_cHRM_SUPPORTED #define PNG_CHECK_cHRM_SUPPORTED 1
#define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED #define PNG_CONSOLE_IO_SUPPORTED 1
#define PNG_cHRM_SUPPORTED #define PNG_CONVERT_tIME_SUPPORTED 1
#define PNG_CONSOLE_IO_SUPPORTED #define PNG_EASY_ACCESS_SUPPORTED 1
#define PNG_CONVERT_tIME_SUPPORTED
#define PNG_EASY_ACCESS_SUPPORTED
/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/ /*#undef PNG_ERROR_NUMBERS_SUPPORTED*/
#define PNG_ERROR_TEXT_SUPPORTED #define PNG_ERROR_TEXT_SUPPORTED 1
#define PNG_FIXED_POINT_SUPPORTED #define PNG_FIXED_POINT_SUPPORTED 1
#define PNG_FLOATING_ARITHMETIC_SUPPORTED #define PNG_FLOATING_ARITHMETIC_SUPPORTED 1
#define PNG_FLOATING_POINT_SUPPORTED #define PNG_FLOATING_POINT_SUPPORTED 1
#define PNG_gAMA_SUPPORTED #define PNG_HANDLE_AS_UNKNOWN_SUPPORTED 1
#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED #define PNG_INCH_CONVERSIONS_SUPPORTED 1
#define PNG_hIST_SUPPORTED #define PNG_INFO_IMAGE_SUPPORTED 1
#define PNG_iCCP_SUPPORTED #define PNG_IO_STATE_SUPPORTED 1
#define PNG_INCH_CONVERSIONS_SUPPORTED #define PNG_MNG_FEATURES_SUPPORTED 1
#define PNG_INFO_IMAGE_SUPPORTED #define PNG_POINTER_INDEXING_SUPPORTED 1
#define PNG_IO_STATE_SUPPORTED #define PNG_PROGRESSIVE_READ_SUPPORTED 1
#define PNG_iTXt_SUPPORTED #define PNG_READ_16BIT_SUPPORTED 1
#define PNG_MNG_FEATURES_SUPPORTED #define PNG_READ_ALPHA_MODE_SUPPORTED 1
#define PNG_oFFs_SUPPORTED #define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED 1
#define PNG_pCAL_SUPPORTED #define PNG_READ_BACKGROUND_SUPPORTED 1
#define PNG_pHYs_SUPPORTED #define PNG_READ_BGR_SUPPORTED 1
#define PNG_POINTER_INDEXING_SUPPORTED #define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED 1
#define PNG_PROGRESSIVE_READ_SUPPORTED #define PNG_READ_COMPOSITE_NODIV_SUPPORTED 1
#define PNG_READ_16BIT_SUPPORTED #define PNG_READ_COMPRESSED_TEXT_SUPPORTED 1
#define PNG_READ_ALPHA_MODE_SUPPORTED #define PNG_READ_EXPAND_16_SUPPORTED 1
#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED #define PNG_READ_EXPAND_SUPPORTED 1
#define PNG_READ_BACKGROUND_SUPPORTED #define PNG_READ_FILLER_SUPPORTED 1
#define PNG_READ_BGR_SUPPORTED #define PNG_READ_GAMMA_SUPPORTED 1
#define PNG_READ_bKGD_SUPPORTED #define PNG_READ_GRAY_TO_RGB_SUPPORTED 1
#define PNG_READ_CHECK_FOR_INVALID_INDEX_SUPPORTED #define PNG_READ_INTERLACING_SUPPORTED 1
#define PNG_READ_cHRM_SUPPORTED #define PNG_READ_INT_FUNCTIONS_SUPPORTED 1
#define PNG_READ_COMPOSITE_NODIV_SUPPORTED #define PNG_READ_INVERT_ALPHA_SUPPORTED 1
#define PNG_READ_COMPRESSED_TEXT_SUPPORTED #define PNG_READ_INVERT_SUPPORTED 1
#define PNG_READ_EXPAND_16_SUPPORTED #define PNG_READ_OPT_PLTE_SUPPORTED 1
#define PNG_READ_EXPAND_SUPPORTED #define PNG_READ_PACKSWAP_SUPPORTED 1
#define PNG_READ_FILLER_SUPPORTED #define PNG_READ_PACK_SUPPORTED 1
#define PNG_READ_gAMA_SUPPORTED #define PNG_READ_QUANTIZE_SUPPORTED 1
#define PNG_READ_GAMMA_SUPPORTED #define PNG_READ_RGB_TO_GRAY_SUPPORTED 1
#define PNG_READ_GRAY_TO_RGB_SUPPORTED #define PNG_READ_SCALE_16_TO_8_SUPPORTED 1
#define PNG_READ_hIST_SUPPORTED #define PNG_READ_SHIFT_SUPPORTED 1
#define PNG_READ_iCCP_SUPPORTED #define PNG_READ_STRIP_16_TO_8_SUPPORTED 1
#define PNG_READ_INTERLACING_SUPPORTED #define PNG_READ_STRIP_ALPHA_SUPPORTED 1
#define PNG_READ_INT_FUNCTIONS_SUPPORTED #define PNG_READ_SUPPORTED 1
#define PNG_READ_INVERT_ALPHA_SUPPORTED #define PNG_READ_SWAP_ALPHA_SUPPORTED 1
#define PNG_READ_INVERT_SUPPORTED #define PNG_READ_SWAP_SUPPORTED 1
#define PNG_READ_iTXt_SUPPORTED #define PNG_READ_TEXT_SUPPORTED 1
#define PNG_READ_oFFs_SUPPORTED #define PNG_READ_TRANSFORMS_SUPPORTED 1
#define PNG_READ_OPT_PLTE_SUPPORTED #define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED 1
#define PNG_READ_PACK_SUPPORTED #define PNG_READ_USER_CHUNKS_SUPPORTED 1
#define PNG_READ_PACKSWAP_SUPPORTED #define PNG_READ_USER_TRANSFORM_SUPPORTED 1
#define PNG_READ_pCAL_SUPPORTED #define PNG_READ_bKGD_SUPPORTED 1
#define PNG_READ_pHYs_SUPPORTED #define PNG_READ_cHRM_SUPPORTED 1
#define PNG_READ_QUANTIZE_SUPPORTED #define PNG_READ_gAMA_SUPPORTED 1
#define PNG_READ_RGB_TO_GRAY_SUPPORTED #define PNG_READ_hIST_SUPPORTED 1
#define PNG_READ_sBIT_SUPPORTED #define PNG_READ_iCCP_SUPPORTED 1
#define PNG_READ_SCALE_16_TO_8_SUPPORTED #define PNG_READ_iTXt_SUPPORTED 1
#define PNG_READ_sCAL_SUPPORTED #define PNG_READ_oFFs_SUPPORTED 1
#define PNG_READ_SHIFT_SUPPORTED #define PNG_READ_pCAL_SUPPORTED 1
#define PNG_READ_sPLT_SUPPORTED #define PNG_READ_pHYs_SUPPORTED 1
#define PNG_READ_sRGB_SUPPORTED #define PNG_READ_sBIT_SUPPORTED 1
#define PNG_READ_STRIP_16_TO_8_SUPPORTED #define PNG_READ_sCAL_SUPPORTED 1
#define PNG_READ_STRIP_ALPHA_SUPPORTED #define PNG_READ_sPLT_SUPPORTED 1
#define PNG_READ_SUPPORTED #define PNG_READ_sRGB_SUPPORTED 1
#define PNG_READ_SWAP_ALPHA_SUPPORTED #define PNG_READ_tEXt_SUPPORTED 1
#define PNG_READ_SWAP_SUPPORTED #define PNG_READ_tIME_SUPPORTED 1
#define PNG_READ_tEXt_SUPPORTED #define PNG_READ_tRNS_SUPPORTED 1
#define PNG_READ_TEXT_SUPPORTED #define PNG_READ_zTXt_SUPPORTED 1
#define PNG_READ_tIME_SUPPORTED /*#undef PNG_SAFE_LIMITS_SUPPORTED*/
#define PNG_READ_TRANSFORMS_SUPPORTED #define PNG_SAVE_INT_32_SUPPORTED 1
#define PNG_READ_tRNS_SUPPORTED #define PNG_SEQUENTIAL_READ_SUPPORTED 1
#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED #define PNG_SETJMP_SUPPORTED 1
#define PNG_READ_USER_CHUNKS_SUPPORTED #define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED 1
#define PNG_READ_USER_TRANSFORM_SUPPORTED #define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED 1
#define PNG_READ_zTXt_SUPPORTED #define PNG_SET_USER_LIMITS_SUPPORTED 1
#define PNG_SAVE_INT_32_SUPPORTED #define PNG_STDIO_SUPPORTED 1
#define PNG_sBIT_SUPPORTED #define PNG_TEXT_SUPPORTED 1
#define PNG_sCAL_SUPPORTED #define PNG_TIME_RFC1123_SUPPORTED 1
#define PNG_SEQUENTIAL_READ_SUPPORTED #define PNG_UNKNOWN_CHUNKS_SUPPORTED 1
#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED #define PNG_USER_CHUNKS_SUPPORTED 1
#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED #define PNG_USER_LIMITS_SUPPORTED 1
#define PNG_SETJMP_SUPPORTED #define PNG_USER_MEM_SUPPORTED 1
#define PNG_SET_USER_LIMITS_SUPPORTED #define PNG_USER_TRANSFORM_INFO_SUPPORTED 1
#define PNG_sPLT_SUPPORTED #define PNG_USER_TRANSFORM_PTR_SUPPORTED 1
#define PNG_sRGB_SUPPORTED #define PNG_WARNINGS_SUPPORTED 1
#define PNG_STDIO_SUPPORTED #define PNG_WRITE_16BIT_SUPPORTED 1
#define PNG_tEXt_SUPPORTED #define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED 1
#define PNG_TEXT_SUPPORTED #define PNG_WRITE_BGR_SUPPORTED 1
#define PNG_TIME_RFC1123_SUPPORTED #define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED 1
#define PNG_tIME_SUPPORTED #define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED 1
#define PNG_tRNS_SUPPORTED #define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED 1
#define PNG_UNKNOWN_CHUNKS_SUPPORTED #define PNG_WRITE_FILLER_SUPPORTED 1
#define PNG_USER_CHUNKS_SUPPORTED #define PNG_WRITE_FILTER_SUPPORTED 1
#define PNG_USER_LIMITS_SUPPORTED #define PNG_WRITE_FLUSH_SUPPORTED 1
#define PNG_USER_MEM_SUPPORTED #define PNG_WRITE_INTERLACING_SUPPORTED 1
#define PNG_USER_TRANSFORM_INFO_SUPPORTED #define PNG_WRITE_INT_FUNCTIONS_SUPPORTED 1
#define PNG_USER_TRANSFORM_PTR_SUPPORTED #define PNG_WRITE_INVERT_ALPHA_SUPPORTED 1
#define PNG_WARNINGS_SUPPORTED #define PNG_WRITE_INVERT_SUPPORTED 1
#define PNG_WRITE_16BIT_SUPPORTED #define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED 1
#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED #define PNG_WRITE_PACKSWAP_SUPPORTED 1
#define PNG_WRITE_BGR_SUPPORTED #define PNG_WRITE_PACK_SUPPORTED 1
#define PNG_WRITE_bKGD_SUPPORTED #define PNG_WRITE_SHIFT_SUPPORTED 1
#define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED #define PNG_WRITE_SUPPORTED 1
#define PNG_WRITE_cHRM_SUPPORTED #define PNG_WRITE_SWAP_ALPHA_SUPPORTED 1
#define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED #define PNG_WRITE_SWAP_SUPPORTED 1
#define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED #define PNG_WRITE_TEXT_SUPPORTED 1
#define PNG_WRITE_FILLER_SUPPORTED #define PNG_WRITE_TRANSFORMS_SUPPORTED 1
#define PNG_WRITE_FILTER_SUPPORTED #define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED 1
#define PNG_WRITE_FLUSH_SUPPORTED #define PNG_WRITE_USER_TRANSFORM_SUPPORTED 1
#define PNG_WRITE_gAMA_SUPPORTED #define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED 1
#define PNG_WRITE_hIST_SUPPORTED #define PNG_WRITE_bKGD_SUPPORTED 1
#define PNG_WRITE_iCCP_SUPPORTED #define PNG_WRITE_cHRM_SUPPORTED 1
#define PNG_WRITE_INTERLACING_SUPPORTED #define PNG_WRITE_gAMA_SUPPORTED 1
#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED #define PNG_WRITE_hIST_SUPPORTED 1
#define PNG_WRITE_INVERT_ALPHA_SUPPORTED #define PNG_WRITE_iCCP_SUPPORTED 1
#define PNG_WRITE_INVERT_SUPPORTED #define PNG_WRITE_iTXt_SUPPORTED 1
#define PNG_WRITE_iTXt_SUPPORTED #define PNG_WRITE_oFFs_SUPPORTED 1
#define PNG_WRITE_oFFs_SUPPORTED #define PNG_WRITE_pCAL_SUPPORTED 1
#define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED #define PNG_WRITE_pHYs_SUPPORTED 1
#define PNG_WRITE_PACK_SUPPORTED #define PNG_WRITE_sBIT_SUPPORTED 1
#define PNG_WRITE_PACKSWAP_SUPPORTED #define PNG_WRITE_sCAL_SUPPORTED 1
#define PNG_WRITE_pCAL_SUPPORTED #define PNG_WRITE_sPLT_SUPPORTED 1
#define PNG_WRITE_pHYs_SUPPORTED #define PNG_WRITE_sRGB_SUPPORTED 1
#define PNG_WRITE_sBIT_SUPPORTED #define PNG_WRITE_tEXt_SUPPORTED 1
#define PNG_WRITE_sCAL_SUPPORTED #define PNG_WRITE_tIME_SUPPORTED 1
#define PNG_WRITE_SHIFT_SUPPORTED #define PNG_WRITE_tRNS_SUPPORTED 1
#define PNG_WRITE_sPLT_SUPPORTED #define PNG_WRITE_zTXt_SUPPORTED 1
#define PNG_WRITE_sRGB_SUPPORTED #define PNG_bKGD_SUPPORTED 1
#define PNG_WRITE_SUPPORTED #define PNG_cHRM_SUPPORTED 1
#define PNG_WRITE_SWAP_ALPHA_SUPPORTED #define PNG_gAMA_SUPPORTED 1
#define PNG_WRITE_SWAP_SUPPORTED #define PNG_hIST_SUPPORTED 1
#define PNG_WRITE_tEXt_SUPPORTED #define PNG_iCCP_SUPPORTED 1
#define PNG_WRITE_TEXT_SUPPORTED #define PNG_iTXt_SUPPORTED 1
#define PNG_WRITE_tIME_SUPPORTED #define PNG_oFFs_SUPPORTED 1
#define PNG_WRITE_TRANSFORMS_SUPPORTED #define PNG_pCAL_SUPPORTED 1
#define PNG_WRITE_tRNS_SUPPORTED #define PNG_pHYs_SUPPORTED 1
#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED #define PNG_sBIT_SUPPORTED 1
#define PNG_WRITE_USER_TRANSFORM_SUPPORTED #define PNG_sCAL_SUPPORTED 1
#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED #define PNG_sPLT_SUPPORTED 1
#define PNG_WRITE_zTXt_SUPPORTED #define PNG_sRGB_SUPPORTED 1
#define PNG_zTXt_SUPPORTED #define PNG_tEXt_SUPPORTED 1
#define PNG_tIME_SUPPORTED 1
#define PNG_tRNS_SUPPORTED 1
#define PNG_zTXt_SUPPORTED 1
/* end of options */ /* end of options */
#endif /* PNGLCONF_H */ #endif /* PNGLCONF_H */

View File

@ -10,6 +10,6 @@
*/ */
#define PNG_EXPORTA(ordinal, type, name, args, attributes)\ #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" #include "../png.h"

View File

@ -17,11 +17,11 @@
*/ */
#define PNG_EXPORTA(ordinal, type, name, args, attributes)\ #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)\ #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)\ #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' /* Read the defaults, but use scripts/pnglibconf.h.prebuilt; the 'standard'
* header file. * header file.