[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.
This commit is contained in:
Glenn Randers-Pehrson
2010-03-12 21:03:18 -06:00
parent eae8e36ec4
commit a528fba7aa
10 changed files with 159 additions and 80 deletions

32
scripts/def.dfn Normal file
View File

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

15
scripts/sym.dfn Normal file
View File

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

26
scripts/vers.dfn Normal file
View File

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