[devel] Regenerated Makefile.in and configure; relocated libpng.def

to scripts/symbols.def, added scripts/checksym.*
This commit is contained in:
Glenn Randers-Pehrson
2010-03-16 08:07:22 -05:00
parent c551c0dbb3
commit 8069aeb88e
5 changed files with 394 additions and 27 deletions

152
scripts/checksym.awk Normal file
View File

@@ -0,0 +1,152 @@
#!/bin/awk
# Check a list of symbols against the master definition
# (official) list. Arguments:
#
# awk -f checksym.awk official-def list-to-check
#
# Output is a file in the current directory called 'symbols.new',
# stdout holds error messages. Error code indicates success or
# failure.
#
# NOTE: this is a pure, old fashioned, awk script. It will
# work with any awk
BEGIN{
err=0
master="" # master file
official[1] = "" # defined symbols from master file
symbol[1] = "" # defined symbols from png.h
removed[1] = "" # removed symbols from png.h
lasto = 0 # last ordinal value from png.h
mastero = 0 # highest ordinal in master file
symbolo = 0 # highest ordinal in png.h
}
# Read existing definitions from the master file (the first
# file on the command line.) This must be a def file and it
# has definition lines (others are ignored) of the form:
#
# symbol @ordinal
#
master == "" {
master = FILENAME;
}
FILENAME==master && NF==2 && $2~/^@/ && $1!~/^;/ {
o=0+substr($2,2)
if (o >0) {
if (official[o] == "") {
official[o] = $1
if (o > mastero) mastero = o
next
} else
print master ": duplicated symbol:", official[o] ":", $0
} else
print master ": bad export line format:", $0
err = 1
}
FILENAME==master {
next
}
# Read new definitions, these are free form but the lines must
# just be symbol definitions. Lines will be commented out for
# 'removed' symbols, introduced in png.h using PNG_REMOVED rather
# than PNG_EXPORT. Use checksym.dfn to generate the input file.
#
# symbol ordinal # two fields, exported symbol
# ; symbol ordinal # three fields, removed symbol
# ; ordinal # two fields, the last ordinal
NF==2 && $1 == ";" && $2 ~ /^[1-9][0-9]*$/ { # last ordinal
o = 0+$2
if (lasto == 0 || lasto == o)
lasto=o
else {
print "png.h: duplicated last ordinal:", lasto, o
err = 1
}
next
}
NF==3 && $1 == ";" && $3 ~ /^[1-9][0-9]*$/ { # removed symbol
o = 0+$3
if (removed[o] == "" || removed[o] == $2) {
removed[o] = $2
if (o > symbolo) symbolo = o
} else {
print "png.h: duplicated removed symbol",
o ": '" removed[o] "' != '" $2 "'"
err = 1
}
next
}
NF==2 && $2 ~ /^[1-9][0-9]*$/ { # exported symbol
o = 0+$2
if (symbol[o] == "" || symbol[o] == $1) {
symbol[o] = $1
if (o > symbolo) symbolo = o
} else {
print "png.h: duplicated symbol",
o ": '" symbol[o] "' != '" $1 "'"
err = 1
}
}
{
next # skip all other lines
}
# At the end check for symbols marked as both duplicated and removed
END{
if (symbolo > lasto) {
print "highest symbol ordinal in png.h,",
symbolo ", exceeds last ordinal from png.h", lasto
err = 1
}
if (mastero > lasto) {
print "highest symbol ordinal in", master ",",
mastero ", exceeds last ordinal from png.h", lasto
err = 1
}
missing = 0
for (o=1; o<=lasto; ++o) {
stop=0
if (symbol[o] == "" && removed[o] == "") {
if (missing == 0) missing = o
if (o < lasto) continue
stop=1
}
if (missing != 0) {
if (o-1 > missing)
print "png.h: missing symbol definitions:", missing "-" o-1
else
print "png.h: missing symbol definition:", missing
missing = 0
err = 1
}
if (stop == 1) break; # lasto is missing
if (symbol[o] != "" && removed[o] != "") {
print "png.h: symbol", o,
"both exported as '" symbol[o] "' and removed as '" removed[o] "'"
err = 1
} else if (symbol[o] != official[o]) {
# either master symbol not there or it changed
err = 1
if (symbol[o] == "")
print "png.h: removed symbol", o,
"'" symbol[o] "' exported as '" official[o] "' in", master
else if (official[o] == "")
print "png.h: exported symbol", o, "'" symbol[o] "' not present in",
master
else
print "png.h: exported symbol", o,
"'" symbol[o] "' exists as '" official[o] "' in", master
}
# Finally generate symbols.new
if (symbol[o] != "")
print " " symbol[o], "@" o > "symbols.new"
}
if (err != 0) {
print "*** A new list is in symbols.new ***"
exit 1
}
}

102
scripts/checksym.dfn Normal file
View File

@@ -0,0 +1,102 @@
/* pngwin.dfn - find all exported symbols
*
* Last changed in libpng 1.5.0 [March 16, 2010]
* Copyright (c) 1998-2010 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
*/
#define PNG_EXPORT(type, name, args, attributes, ordinal)\
PNG_DEFN_MAGIC-name ordinal-PNG_DEFN_END
#define PNG_REMOVED(type, name, args, attributes, ordinal)\
PNG_DEFN_MAGIC-; name ordinal-PNG_DEFN_END
#define PNG_EXPORT_LAST_ORDINAL(ordinal)\
PNG_DEFN_MAGIC-; ordinal-PNG_DEFN_END
/* Turn on everything that we can turn on: */
#define PNG_BENIGN_ERRORS_SUPPORTED
#define PNG_CONVERT_tIME_SUPPORTED
#define PNG_EASY_ACCESS_SUPPORTED
#define PNG_ERROR_NUMBERS_SUPPORTED
#undef PNG_FIXED_POINT_SUPPORTED /* Chose between floating and fixed */
#define PNG_FLOATING_POINT_SUPPORTED
#define PNG_NO_USE_READ_MACROS /* Exposes no APIs if defined */
#define PNG_GET_INT_32_SUPPORTED
#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
#define PNG_INCH_CONVERSIONS /* NOTE: no SUPPORTED! */
#define PNG_INFO_IMAGE_SUPPORTED
#define PNG_IO_STATE_SUPPORTED
#define PNG_MNG_FEATURES_SUPPORTED
#define PNG_PROGRESSIVE_READ_SUPPORTED
#define PNG_READ_16_TO_8_SUPPORTED
#define PNG_READ_BACKGROUND_SUPPORTED
#define PNG_READ_BGR_SUPPORTED
#define PNG_READ_COMPOSITE_NODIV_SUPPORTED
#define PNG_READ_DITHER_SUPPORTED
#define PNG_READ_EXPAND_SUPPORTED
#define PNG_READ_FILLER_SUPPORTED
#define PNG_READ_GAMMA_SUPPORTED
#define PNG_READ_GRAY_TO_RGB_SUPPORTED
#define PNG_READ_INTERLACING_SUPPORTED
#define PNG_READ_INVERT_ALPHA_SUPPORTED
#define PNG_READ_INVERT_SUPPORTED
#define PNG_READ_PACKSWAP_SUPPORTED
#define PNG_READ_PACK_SUPPORTED
#define PNG_READ_RGB_TO_GRAY_SUPPORTED
#define PNG_READ_SHIFT_SUPPORTED
#define PNG_READ_STRIP_ALPHA_SUPPORTED
#define PNG_READ_SWAP_ALPHA_SUPPORTED
#define PNG_READ_SWAP_SUPPORTED
#define PNG_READ_USER_TRANSFORM_SUPPORTED
#define PNG_SEQUENTIAL_READ_SUPPORTED
#define PNG_SETJMP_SUPPORTED
#define PNG_SET_USER_LIMITS_SUPPORTED
#define PNG_STDIO_SUPPORTED
#define PNG_TEXT_SUPPORTED
#define PNG_TIME_RFC1123_SUPPORTED
#define PNG_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_USER_CHUNKS_SUPPORTED
#define PNG_USER_MEM_SUPPORTED
#define PNG_NO_ERROR_TEXT /* NOTE: no supported */
#define PNG_WRITE_BGR_SUPPORTED
#define PNG_WRITE_FILLER_SUPPORTED
#define PNG_WRITE_FLUSH_SUPPORTED
#define PNG_WRITE_INTERLACING_SUPPORTED
#define PNG_WRITE_INVERT_ALPHA_SUPPORTED
#define PNG_WRITE_INVERT_SUPPORTED
#define PNG_WRITE_PACKSWAP_SUPPORTED
#define PNG_WRITE_PACK_SUPPORTED
#define PNG_WRITE_SHIFT_SUPPORTED
#define PNG_WRITE_SWAP_ALPHA_SUPPORTED
#define PNG_WRITE_SWAP_SUPPORTED
#define PNG_WRITE_USER_TRANSFORM_SUPPORTED
#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
#define PNG_bKGD_SUPPORTED
#define PNG_cHRM_SUPPORTED
#define PNG_gAMA_SUPPORTED
#define PNG_hIST_SUPPORTED
#define PNG_iCCP_SUPPORTED
#define PNG_iTXt_SUPPORTED
#define PNG_oFFs_SUPPORTED
#define PNG_pCAL_SUPPORTED
#define PNG_pHYs_SUPPORTED
#define PNG_sBIT_SUPPORTED
#define PNG_sCAL_SUPPORTED
#define PNG_sPLT_SUPPORTED
#define PNG_sRGB_SUPPORTED
#define PNG_tIME_SUPPORTED
#define PNG_tRNS_SUPPORTED
#include "../png.h"
/* Now repeat, but toggle everything that has a #else clause */
#define PNG_FIXED_POINT_SUPPORTED
#undef PNG_FLOATING_POINT_SUPPORTED
#define PNG_NO_FLOATING_POINT_SUPPORTED
#undef PNG_NO_ERROR_TEXT
#undef PNG_H
#include "../png.h"

215
scripts/symbols.def Normal file
View File

@@ -0,0 +1,215 @@
;--------------------------------------------------------------
; LIBPNG symbol list as a WIn32 DEF file
; Contains all the symbols that can be exported from libpng
;--------------------------------------------------------------
LIBRARY
EXPORTS
;Version 1.5.0beta15
png_access_version_number @1
png_set_sig_bytes @2
png_sig_cmp @3
png_create_read_struct @4
png_create_write_struct @5
png_get_compression_buffer_size @6
png_set_compression_buffer_size @7
png_set_longjmp_fn @8
png_longjmp @9
png_reset_zstream @10
png_create_read_struct_2 @11
png_create_write_struct_2 @12
png_write_sig @13
png_write_chunk @14
png_write_chunk_start @15
png_write_chunk_data @16
png_write_chunk_end @17
png_create_info_struct @18
png_info_init_3 @19
png_write_info_before_PLTE @20
png_write_info @21
png_read_info @22
png_convert_to_rfc1123 @23
png_convert_from_struct_tm @24
png_convert_from_time_t @25
png_set_expand @26
png_set_expand_gray_1_2_4_to_8 @27
png_set_palette_to_rgb @28
png_set_tRNS_to_alpha @29
png_set_bgr @30
png_set_gray_to_rgb @31
png_set_rgb_to_gray @32
png_set_rgb_to_gray_fixed @33
png_get_rgb_to_gray_status @34
png_build_grayscale_palette @35
png_set_strip_alpha @36
png_set_swap_alpha @37
png_set_invert_alpha @38
png_set_filler @39
png_set_add_alpha @40
png_set_swap @41
png_set_packing @42
png_set_packswap @43
png_set_shift @44
png_set_interlace_handling @45
png_set_invert_mono @46
png_set_background @47
png_set_strip_16 @48
png_set_dither @49
png_set_gamma @50
png_set_flush @51
png_write_flush @52
png_start_read_image @53
png_read_update_info @54
png_read_rows @55
png_read_row @56
png_read_image @57
png_write_row @58
png_write_rows @59
png_write_image @60
png_write_end @61
png_read_end @62
png_destroy_info_struct @63
png_destroy_read_struct @64
png_destroy_write_struct @65
png_set_crc_action @66
png_set_filter @67
png_set_filter_heuristics @68
png_set_compression_level @69
png_set_compression_mem_level @70
png_set_compression_strategy @71
png_set_compression_window_bits @72
png_set_compression_method @73
png_init_io @74
png_set_error_fn @75
png_get_error_ptr @76
png_set_write_fn @77
png_set_read_fn @78
png_get_io_ptr @79
png_set_read_status_fn @80
png_set_write_status_fn @81
png_set_mem_fn @82
png_get_mem_ptr @83
png_set_read_user_transform_fn @84
png_set_write_user_transform_fn @85
png_set_user_transform_info @86
png_get_user_transform_ptr @87
png_set_read_user_chunk_fn @88
png_get_user_chunk_ptr @89
png_set_progressive_read_fn @90
png_get_progressive_ptr @91
png_process_data @92
png_progressive_combine_row @93
png_malloc @94
png_calloc @95
png_malloc_warn @96
png_free @97
png_free_data @98
png_data_freer @99
png_malloc_default @100
png_free_default @101
png_error @102
png_chunk_error @103
png_err @104
png_warning @105
png_chunk_warning @106
png_benign_error @107
png_chunk_benign_error @108
png_set_benign_errors @109
png_get_valid @110
png_get_rowbytes @111
png_get_rows @112
png_set_rows @113
png_get_channels @114
png_get_image_width @115
png_get_image_height @116
png_get_bit_depth @117
png_get_color_type @118
png_get_filter_type @119
png_get_interlace_type @120
png_get_compression_type @121
png_get_pixels_per_meter @122
png_get_x_pixels_per_meter @123
png_get_y_pixels_per_meter @124
png_get_pixel_aspect_ratio @125
png_get_x_offset_pixels @126
png_get_y_offset_pixels @127
png_get_x_offset_microns @128
png_get_y_offset_microns @129
png_get_signature @130
png_get_bKGD @131
png_set_bKGD @132
png_get_cHRM @133
png_get_cHRM_fixed @134
png_set_cHRM @135
png_set_cHRM_fixed @136
png_get_gAMA @137
png_get_gAMA_fixed @138
png_set_gAMA @139
png_set_gAMA_fixed @140
png_get_hIST @141
png_set_hIST @142
png_get_IHDR @143
png_set_IHDR @144
png_get_oFFs @145
png_set_oFFs @146
png_get_pCAL @147
png_set_pCAL @148
png_get_pHYs @149
png_set_pHYs @150
png_get_PLTE @151
png_set_PLTE @152
png_get_sBIT @153
png_set_sBIT @154
png_get_sRGB @155
png_set_sRGB @156
png_set_sRGB_gAMA_and_cHRM @157
png_get_iCCP @158
png_set_iCCP @159
png_get_sPLT @160
png_set_sPLT @161
png_get_text @162
png_set_text @163
png_get_tIME @164
png_set_tIME @165
png_get_tRNS @166
png_set_tRNS @167
png_get_sCAL @168
png_get_sCAL_s @169
png_set_sCAL @170
png_set_sCAL_s @171
png_set_keep_unknown_chunks @172
png_handle_as_unknown @173
png_set_unknown_chunks @174
png_set_unknown_chunk_location @175
png_get_unknown_chunks @176
png_set_invalid @177
png_read_png @178
png_write_png @179
png_get_copyright @180
png_get_header_ver @181
png_get_header_version @182
png_get_libpng_ver @183
png_permit_mng_features @184
png_set_strip_error_numbers @185
png_set_user_limits @186
png_get_user_width_max @187
png_get_user_height_max @188
png_set_chunk_cache_max @189
png_get_chunk_cache_max @190
png_set_chunk_malloc_max @191
png_get_chunk_malloc_max @192
png_get_pixels_per_inch @193
png_get_x_pixels_per_inch @194
png_get_y_pixels_per_inch @195
png_get_x_offset_inches @196
png_get_y_offset_inches @197
png_get_pHYs_dpi @198
png_get_io_state @199
png_get_io_chunk_name @200
png_get_uint_32 @201
png_get_uint_16 @202
png_get_int_32 @203
png_get_uint_31 @204
png_save_uint_32 @205
png_save_int_32 @206
png_save_uint_16 @207