summaryrefslogtreecommitdiff
path: root/def.h
diff options
context:
space:
mode:
authorFabian Vogt <fvogt@suse.de>2023-01-31 10:22:52 +0100
committerFabian Vogt <fvogt@suse.de>2023-02-01 09:34:04 +0100
commitbfd2bb4f70d2c155c1bd281ce0ea6b106ec0e2fb (patch)
tree84a3d4ce39dc06efc665799f9fef0629350eff74 /def.h
parent14b042d2061409540c6f645271bf562d15cc14cb (diff)
Avoid depending on xproto
makedepend is rather early in the distro bootstrap chain, so it shouldn't pull in anything it doesn't really need. xproto is only pulled in for two macros which we can just as easily provide ourselves.
Diffstat (limited to 'def.h')
-rw-r--r--def.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/def.h b/def.h
index d1d97f2..41deabf 100644
--- a/def.h
+++ b/def.h
@@ -28,8 +28,6 @@ in this Software without prior written authorization from The Open Group.
# include "makedepend-config.h"
#endif
-#include <X11/Xos.h>
-#include <X11/Xfuncproto.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -38,6 +36,30 @@ in this Software without prior written authorization from The Open Group.
#include <fcntl.h>
#include <sys/stat.h>
+/* http://clang.llvm.org/docs/LanguageExtensions.html#has-attribute */
+#ifndef __has_attribute
+# define __has_attribute(x) 0 /* Compatibility with non-clang compilers. */
+#endif
+
+#ifndef _X_ATTRIBUTE_PRINTF
+#if __has_attribute(__format__) \
+ || defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 203)
+# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
+#else /* not gcc >= 2.3 */
+# define _X_ATTRIBUTE_PRINTF(x,y)
+#endif
+#endif
+
+#ifndef _X_NORETURN
+#if __has_attribute(noreturn) \
+ || (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)) \
+ || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+# define _X_NORETURN __attribute((noreturn))
+#else
+# define _X_NORETURN
+#endif /* GNUC */
+#endif
+
#ifndef HAVE_REALLOCARRAY
#define reallocarray(ptr, num, size) realloc(ptr, (num) * (size))
#endif