[devel] Enabled 'attribute' warnings that are relevant to library APIs and callbacks. Changed rules for generation of the various symbol files and added a new rule for a DEF file (which is also added to the distribution). Updated the symbol file generation to stop it adding spurious spaces to EOL (coming from preprocessor macro expansion). Added a facility to join tokens in the output and rewrite *.dfn to use this.
diff --git a/scripts/def.dfn b/scripts/def.dfn new file mode 100644 index 0000000..525c3be --- /dev/null +++ b/scripts/def.dfn
@@ -0,0 +1,32 @@ + +/* def.dfn - define format of libpng.def + * + * Last changed in libpng 1.5.0 [March 12, 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(name, ordinal)\ + PNG_DEFN_MAGIC-; name @ordinal-PNG_DEFN_END + +PNG_DEFN_MAGIC-;---------------------------------------------------------------PNG_DEFN_END +PNG_DEFN_MAGIC-; LIBPNG module definition file for Windows, WindowsCE and OS/2-PNG_DEFN_END +PNG_DEFN_MAGIC-; On OS/2 uncomment lines preceded by ;0S2-PNG_DEFN_END +PNG_DEFN_MAGIC-;---------------------------------------------------------------PNG_DEFN_END +PNG_DEFN_MAGIC--PNG_DEFN_END +PNG_DEFN_MAGIC-; If you give the library an explicit name one or other files-PNG_DEFN_END +PNG_DEFN_MAGIC-; may need modifying to support the new name on one or more-PNG_DEFN_END +PNG_DEFN_MAGIC-; systems.-PNG_DEFN_END +PNG_DEFN_MAGIC-LIBRARY-PNG_DEFN_END +PNG_DEFN_MAGIC-;OS2 DESCRIPTION "PNG image compression library"-PNG_DEFN_END +PNG_DEFN_MAGIC-;OS2 CODE PRELOAD MOVEABLE DISCARDABLE-PNG_DEFN_END +PNG_DEFN_MAGIC--PNG_DEFN_END +PNG_DEFN_MAGIC-EXPORTS-PNG_DEFN_END +PNG_DEFN_MAGIC-;Version PNGLIB_VERSION-PNG_DEFN_END + +#include "../png.h"
diff --git a/scripts/sym.dfn b/scripts/sym.dfn new file mode 100644 index 0000000..d2c219b --- /dev/null +++ b/scripts/sym.dfn
@@ -0,0 +1,15 @@ + +/* sym.dfn - define format of libpng.sym + * + * Last changed in libpng 1.5.0 [March 12, 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-SYMBOL_PREFIX @@@ name-PNG_DEFN_END + +#include "../png.h"
diff --git a/scripts/vers.dfn b/scripts/vers.dfn new file mode 100644 index 0000000..1b27111 --- /dev/null +++ b/scripts/vers.dfn
@@ -0,0 +1,26 @@ + +/* vers.dfn - define format of libpng.vers + * + * Last changed in libpng 1.5.0 [March 12, 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 HEADER PNG_DEFN_MAGIC-PNGLIB_LIBNAME {global:-PNG_DEFN_END + +/* NOTE: @@@ 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_EXPORT(type, name, args, attributes, ordinal)\ + PNG_DEFN_MAGIC- SYMBOL_PREFIX @@@ name;-PNG_DEFN_END + +#define TRAILER PNG_DEFN_MAGIC-local: *; };-PNG_DEFN_END + +HEADER +#include "../png.h" +TRAILER