[master] Make PNG_DEPSTRUCT, etc., configurable.
Only #define PNG_DEPSTRUCT, etc. in pngconf.h if not already defined.
diff --git a/ANNOUNCE b/ANNOUNCE
index 3de0a2a..eee63f8 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -141,6 +141,7 @@
version 1.2.41beta16 [November 9, 2009]
Removed three direct references to read_info_ptr members in pngtest.c
that were detected by the new PNG_DEPSTRUCT macro.
+ Only #define PNG_DEPSTRUCT, etc. in pngconf.h if not already defined.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
diff --git a/CHANGES b/CHANGES
index 6e942a3..d2e2313 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2572,6 +2572,7 @@
version 1.2.41beta16 [November 9, 2009]
Removed three direct references to read_info_ptr members in pngtest.c
that were detected by the new PNG_DEPSTRUCT macro.
+ Only #define PNG_DEPSTRUCT, etc. in pngconf.h if not already defined.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
diff --git a/pngconf.h b/pngconf.h
index 3691b78..a627d9c 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1528,17 +1528,27 @@
* version 1.2.41.
*/
#ifdef __GNUC__
-# define PNG_DEPRECATED __attribute__((__deprecated__))
-# define PNG_USE_RESULT __attribute__((__warn_unused_result__))
-# define PNG_NORETURN __attribute__((__noreturn__))
-# define PNG_ALLOCATED __attribute__((__malloc__))
+# ifndef PNG_DEPRECATED
+# define PNG_DEPRECATED __attribute__((__deprecated__))
+# endif
+# ifndef PNG_USE_RESULT
+# define PNG_USE_RESULT __attribute__((__warn_unused_result__))
+# endif
+# ifndef PNG_NORETURN
+# define PNG_NORETURN __attribute__((__noreturn__))
+# endif
+# ifndef PNG_ALLOCATED
+# define PNG_ALLOCATED __attribute__((__malloc__))
+# endif
# ifndef PNG_CONFIGURE_LIBPNG
- /* This specifically protects structure members that should only be
- * accessed from within the library, therefore should be empty during
- * a library build.
- */
-# define PNG_DEPSTRUCT __attribute__((__deprecated__))
+ /* This specifically protects structure members that should only be
+ * accessed from within the library, therefore should be empty during
+ * a library build.
+ */
+# ifndef PNG_DEPSTRUCT
+# define PNG_DEPSTRUCT __attribute__((__deprecated__))
+# endif
# endif
#endif