aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--make.c5
-rw-r--r--src/compat.h26
-rw-r--r--src/grab.c6
3 files changed, 28 insertions, 9 deletions
diff --git a/make.c b/make.c
index 81b6134..7214fc2 100644
--- a/make.c
+++ b/make.c
@@ -1,12 +1,12 @@
#include <errno.h>
#include <limits.h>
-#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "cbs.h"
+#include "src/compat.h"
#define CC "cc"
#define CFLAGS "-Wall", "-Wextra", "-Wpedantic", "-Werror", "-pipe"
@@ -85,9 +85,6 @@ main(int argc, char **argv)
cmdadd(&c, CC, CFLAGS);
cmdadd(&c, buf);
-#ifdef CBS_IS_C23
- cmdadd(&c, "-DGRAB_IS_C23=1");
-#endif
if (pflag)
cmdadd(&c, "-DGRAB_DO_PCRE=1", "-lpcre2-posix");
if (debug)
diff --git a/src/compat.h b/src/compat.h
new file mode 100644
index 0000000..fedea6a
--- /dev/null
+++ b/src/compat.h
@@ -0,0 +1,26 @@
+/* This compatibility header was generated by the libcompat gen script.
+ You can find it over at https://git.sr.ht/~mango/libcompat. */
+
+#ifndef LIBCOMPAT_COMPAT_H
+#define LIBCOMPAT_COMPAT_H
+
+#if __STDC_VERSION__ >= 202311L
+# define LIBCOMPAT_IS_23 1
+#endif
+
+#if !LIBCOMPAT_IS_23
+# include <stdbool.h>
+#endif
+
+#if !LIBCOMPAT_IS_23
+# ifndef NULL
+# include <stddef.h>
+# endif
+# define nullptr NULL
+#endif
+
+#if !LIBCOMPAT_IS_23
+# define static_assert(e, ...) _Static_assert(e, ""__VA_ARGS__)
+#endif
+
+#endif /* !LIBCOMPAT_COMPAT_H */
diff --git a/src/grab.c b/src/grab.c
index 8df2684..b005c4a 100644
--- a/src/grab.c
+++ b/src/grab.c
@@ -7,11 +7,6 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
-#if !GRAB_IS_C23
-# include <assert.h>
-# include <stdbool.h>
-# define nullptr NULL
-#endif
#if GRAB_DO_PCRE
# include <pcre2posix.h>
@@ -22,6 +17,7 @@
# endif
#endif
+#include "compat.h"
#include "da.h"
#define die(...) err(EXIT_FAILURE, __VA_ARGS__);