[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.
diff --git a/ANNOUNCE b/ANNOUNCE
index 1450a1d..f377dc3 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 @@
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 bcf024e..a73e1ef 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2601,7 +2601,11 @@
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 080ce9c..dfc85b2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -69,13 +69,14 @@
${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 @@
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 680ae7f..ea818ef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,6 +38,7 @@
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 a9089a7..e1084c9 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_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 4b125fb..a44c75f 100644
--- a/projects/visualc6/libpng.dsp
+++ b/projects/visualc6/libpng.dsp
@@ -241,7 +241,7 @@
# 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 1471360..508b6de 100644
--- a/projects/visualc71/README.txt
+++ b/projects/visualc71/README.txt
@@ -11,7 +11,7 @@
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 076d848..616fdc1 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 525c3be..6e175b6 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 229fecb..501adcc 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 @@
$(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 0000000..f7e37f5
--- /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