From c551c0dbb37522ec352f97396caa62f44bc9d2e4 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Tue, 16 Mar 2010 07:52:34 -0500 Subject: [PATCH] [devel] Added symbols.chk target to Makefile.am to validate symbols in png.h against the new DEF file scripts/symbols.def. Changed the default DEF file back to pngwin.def. Removed makefile.mingw. --- ANNOUNCE | 8 +- CHANGES | 6 +- Makefile.am | 20 +++- configure.ac | 1 + png.h | 17 ++- projects/visualc6/libpng.dsp | 2 +- projects/visualc71/README.txt | 2 +- scripts/README.txt | 2 +- scripts/def.dfn | 2 +- scripts/makefile.os2 | 6 +- scripts/pngwin.def | 204 ++++++++++++++++++++++++++++++++++ 11 files changed, 250 insertions(+), 20 deletions(-) create mode 100644 scripts/pngwin.def diff --git a/ANNOUNCE b/ANNOUNCE index 1450a1dcc..f377dc3b1 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.5.0beta15 - March 14, 2010 +Libpng 1.5.0beta15 - March 16, 2010 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. @@ -124,7 +124,11 @@ version 1.5.0beta14 [March 14, 2010] platforms on which it happened (all but Mac OS and RISC OS). Moved the Mac OS test into pngpriv.h (the only place it is used.) -version 1.5.0beta14 [March 14, 2010] +version 1.5.0beta14 [March 16, 2010] + Added symbols.chk target to Makefile.am to validate the symbols in png.h + against the new DEF file scripts/symbols.def. + Changed the default DEF file back to pngwin.def. + Removed makefile.mingw. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index bcf024e9f..a73e1ef2a 100644 --- a/CHANGES +++ b/CHANGES @@ -2601,7 +2601,11 @@ version 1.5.0beta14 [March 14, 2010] platforms on which it happened (all but Mac OS and RISC OS). Moved the Mac OS test into pngpriv.h (the only place it is used.) -version 1.5.0beta14 [March 14, 2010] +version 1.5.0beta14 [March 16, 2010] + Added symbols.chk target to Makefile.am to validate the symbols in png.h + against the new DEF file scripts/symbols.def. + Changed the default DEF file back to pngwin.def. + Removed makefile.mingw. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/Makefile.am b/Makefile.am index 080ce9cc3..dfc85b2e0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -69,13 +69,14 @@ EXTRA_DIST= \ ${srcdir}/contrib/pngsuite/* \ ${srcdir}/contrib/visupng/* \ $(TESTS) \ - CMakeLists.txt example.c libpng.def libpng-@PNGLIB_VERSION@.txt + CMakeLists.txt example.c libpng-@PNGLIB_VERSION@.txt CLEANFILES= dfn.c dfn?.out pngout.png libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc \ - libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config libpng.vers libpng.sym + libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config libpng.vers libpng.sym \ + libpng.def checksym.lst symbols.new symbols.chk MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \ -config.sub configure depcomp install-sh ltmain.sh missing libpng.def +config.sub configure depcomp install-sh ltmain.sh missing $(PNGLIB_BASENAME).pc: libpng.pc cp libpng.pc $@ @@ -86,19 +87,28 @@ $(PNGLIB_BASENAME)-config: libpng-config libpng.sym: scripts/sym.dfn png.h pngconf.h libpng.vers: scripts/vers.dfn png.h pngconf.h libpng.def: scripts/def.dfn png.h pngconf.h +checksym.lst: scripts/checksym.dfn png.h pngconf.h SYMBOL_CFLAGS = -DPNGLIB_LIBNAME='PNG@PNGLIB_MAJOR@@PNGLIB_MINOR@_0'\ -DPNGLIB_VERSION='@PNGLIB_VERSION@'\ -DSYMBOL_PREFIX='$(SYMBOL_PREFIX)' -libpng.sym libpng.vers libpng.def: - $(RM) -f $@ dfn.c dfn?.out +libpng.sym libpng.vers libpng.def checksym.lst: + $(RM) $@ dfn.c dfn?.out echo '#include "$<"' >dfn.c $(CPP) @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| *@@@ *||' -e 's| *$$||' dfn2.out >dfn3.out + $(RM) dfn.c dfn[12].out mv dfn3.out $@ +symbols.chk: scripts/checksym.awk scripts/symbols.def checksym.lst + $(RM) $@ symbols.new + $(AWK) -f $^ >&2 + mv symbols.new $@ + +dist: symbols.chk + test: check # install the .../include headers as links to the new ones diff --git a/configure.ac b/configure.ac index 680ae7f5d..ea818efac 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,7 @@ AC_PROG_CC AC_PROG_LD AC_PROG_CPP AC_CHECK_TOOL(SED, sed, :) +AC_CHECK_TOOL(AWK, awk, :) AC_LIBTOOL_WIN32_DLL AC_PROG_INSTALL AC_PROG_LN_S diff --git a/png.h b/png.h index a9089a7b5..e1084c9f6 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.5.0beta15 - March 14, 2010 + * libpng version 1.5.0beta15 - March 16, 2010 * Copyright (c) 1998-2010 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.0beta15 - March 14, 2010: Glenn + * libpng versions 0.97, January 1998, through 1.5.0beta15 - March 16, 2010: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -170,7 +170,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.5.0beta15, March 14, 2010, are + * libpng versions 1.2.6, August 15, 2004, through 1.5.0beta15, March 16, 2010, are * Copyright (c) 2004, 2006-2010 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: @@ -282,7 +282,7 @@ * Y2K compliance in libpng: * ========================= * - * March 14, 2010 + * March 16, 2010 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. @@ -346,7 +346,7 @@ /* Version information for png.h - this should match the version in png.c */ #define PNG_LIBPNG_VER_STRING "1.5.0beta15" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.5.0beta15 - March 14, 2010\n" + " libpng version 1.5.0beta15 - March 16, 2010\n" #define PNG_LIBPNG_VER_SONUM 15 #define PNG_LIBPNG_VER_DLLNUM 15 @@ -1982,6 +1982,13 @@ extern PNG_EXPORT(void,png_save_int_32,(png_bytep buf, png_int_32 i),,206); extern PNG_EXPORT(void,png_save_uint_16,(png_bytep buf, unsigned int i),,207); /* No png_save_int_16 -- may be added if there's a real need for it. */ +/* The last ordinal number (this is the *last* one, the next one to + * use is one more than this.) + */ +#ifdef PNG_EXPORT_LAST_ORDINAL + PNG_EXPORT_LAST_ORDINAL(207); +#endif + /* ************************************************************************* */ /* Various modes of operation. Note that after an init, mode is set to diff --git a/projects/visualc6/libpng.dsp b/projects/visualc6/libpng.dsp index 4b125fba0..a44c75f07 100644 --- a/projects/visualc6/libpng.dsp +++ b/projects/visualc6/libpng.dsp @@ -241,7 +241,7 @@ SOURCE=..\..\pngtrans.c # End Source File # Begin Source File -SOURCE=..\..\libpng.def +SOURCE=..\..\scripts\pngwin.def !IF "$(CFG)" == "libpng - Win32 DLL Release" diff --git a/projects/visualc71/README.txt b/projects/visualc71/README.txt index 147136003..508b6de0a 100644 --- a/projects/visualc71/README.txt +++ b/projects/visualc71/README.txt @@ -11,7 +11,7 @@ Changes in libpng 15: Consequently the VB configuration is no longer required but is provided in libpng15vb.dll for backward compatibility. * The DEF file is no longer required, the DLLs link by name. A standard - DEF file, libpng.def, is included in the distribution for applications + DEF file, pngwin.def, is included in the distribution for applications that require link by number (ordinal), builds that require link by number should use the ordinals from this file (or from png.h). diff --git a/scripts/README.txt b/scripts/README.txt index 076d84876..616fdc124 100644 --- a/scripts/README.txt +++ b/scripts/README.txt @@ -1,5 +1,5 @@ -Makefiles for libpng version 1.5.0beta15 - March 14, 2010 +Makefiles for libpng version 1.5.0beta15 - March 16, 2010 makefile.linux => Linux/ELF makefile (gcc, creates libpng15.so.15.1.5.0beta15) diff --git a/scripts/def.dfn b/scripts/def.dfn index 525c3be43..6e175b65c 100644 --- a/scripts/def.dfn +++ b/scripts/def.dfn @@ -11,7 +11,7 @@ #define PNG_EXPORT(type, name, args, attributes, ordinal)\ PNG_DEFN_MAGIC- name @ordinal-PNG_DEFN_END -#define PNG_REMOVED(name, ordinal)\ +#define PNG_REMOVED(type, name, args, attributes, ordinal)\ PNG_DEFN_MAGIC-; name @ordinal-PNG_DEFN_END PNG_DEFN_MAGIC-;---------------------------------------------------------------PNG_DEFN_END diff --git a/scripts/makefile.os2 b/scripts/makefile.os2 index 229fecbee..501adcc92 100644 --- a/scripts/makefile.os2 +++ b/scripts/makefile.os2 @@ -4,7 +4,7 @@ # For conditions of distribution and use, see the disclaimer # and license in png.h -# Related files: libpng.def +# Related files: scripts/pngwin.def CC=gcc -Zomf -s @@ -36,10 +36,10 @@ all: $(PNGLIB) $(SHAREDLIB) $(SHAREDLIBIMP) $(PNGLIB): $(OBJS) $(AR) rc $@ $(OBJS) -$(SHAREDLIB): $(OBJS) libpng.def +$(SHAREDLIB): $(OBJS) scripts/pngwin.def $(CC) $(LDFLAGS) -Zdll -o $@ $^ -$(SHAREDLIBIMP): libpng.def +$(SHAREDLIBIMP): scripts/pngwin.def $(IMPLIB) -o $@ $^ pngtest.exe: pngtest.o png.dll pngdll.lib diff --git a/scripts/pngwin.def b/scripts/pngwin.def new file mode 100644 index 000000000..f7e37f5ec --- /dev/null +++ b/scripts/pngwin.def @@ -0,0 +1,204 @@ +;-------------------------------------------------------------- +; LIBPNG module definition file for Windows, WindowsCE and OS/2 +; On OS/2 uncomment lines preceded by ;0S2 +;-------------------------------------------------------------- + +; If you give the library an explicit name one or other files +; may need modifying to support the new name on one or more +; systems. +LIBRARY +;OS2 DESCRIPTION "PNG image compression library" +;OS2 CODE PRELOAD MOVEABLE DISCARDABLE + +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_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_warning @105 + png_chunk_warning @106 + 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_set_sCAL @170 + 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_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_io_state @199 + png_get_io_chunk_name @200 + png_get_uint_31 @204 + png_save_uint_32 @205 + png_save_int_32 @206 + png_save_uint_16 @207