-#if __GNUC__ >= 2 && defined (__GNUC_MINOR__) \
- && __GNUC_MINOR__ >= 5 && !defined (__STRICT_ANSI__)
-#define PRINTF_ATTRIBUTE __attribute__ ((format (printf, 3, 4)))
-#else
-#define PRINTF_ATTRIBUTE /* empty */
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later. */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
+# define __attribute__(Spec) /* empty */
+# endif
+/* The __-protected variants of `format' and `printf' attributes
+ are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
+# define __format__ format
+# define __printf__ printf
+# endif