[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/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