summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2024-04-18 16:16:18 -0400
committerTavian Barnes <tavianator@tavianator.com>2024-04-19 15:50:45 -0400
commit1207086b5a6341412c647480eea68c870b18bba1 (patch)
tree3bdacc576075c5d7c71456c841e3e720c0eb84a4 /config
parent29ddac2bf64bb305b285db86015abebe8a0bd8b3 (diff)
downloadbfs-1207086b5a6341412c647480eea68c870b18bba1.tar.xz
config: Check for getdents{,64}()
Diffstat (limited to 'config')
-rw-r--r--config/flags.mk1
-rw-r--r--config/getdents.c10
-rw-r--r--config/getdents64-syscall.c12
-rw-r--r--config/getdents64.c10
-rw-r--r--config/header.mk3
5 files changed, 35 insertions, 1 deletions
diff --git a/config/flags.mk b/config/flags.mk
index 9959d10..8a2e50e 100644
--- a/config/flags.mk
+++ b/config/flags.mk
@@ -36,7 +36,6 @@ export BFS_CPPFLAGS= \
-D_DARWIN_C_SOURCE \
-D_DEFAULT_SOURCE \
-D_GNU_SOURCE \
- -D_LARGEFILE64_SOURCE \
-D_POSIX_PTHREAD_SEMANTICS \
-D_FILE_OFFSET_BITS=64 \
-D_TIME_BITS=64
diff --git a/config/getdents.c b/config/getdents.c
new file mode 100644
index 0000000..d0d4228
--- /dev/null
+++ b/config/getdents.c
@@ -0,0 +1,10 @@
+// Copyright © Tavian Barnes <tavianator@tavianator.com>
+// SPDX-License-Identifier: 0BSD
+
+#include <dirent.h>
+
+int main(void) {
+ struct dirent de;
+ getdents(3, &de, 1024);
+ return 0;
+}
diff --git a/config/getdents64-syscall.c b/config/getdents64-syscall.c
new file mode 100644
index 0000000..4838c14
--- /dev/null
+++ b/config/getdents64-syscall.c
@@ -0,0 +1,12 @@
+// Copyright © Tavian Barnes <tavianator@tavianator.com>
+// SPDX-License-Identifier: 0BSD
+
+#include <dirent.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+
+int main(void) {
+ struct dirent64 de;
+ syscall(SYS_getdents64, 3, &de, 1024);
+ return 0;
+}
diff --git a/config/getdents64.c b/config/getdents64.c
new file mode 100644
index 0000000..1abf36d
--- /dev/null
+++ b/config/getdents64.c
@@ -0,0 +1,10 @@
+// Copyright © Tavian Barnes <tavianator@tavianator.com>
+// SPDX-License-Identifier: 0BSD
+
+#include <dirent.h>
+
+int main(void) {
+ struct dirent64 de;
+ getdents64(3, &de, 1024);
+ return 0;
+}
diff --git a/config/header.mk b/config/header.mk
index 8867200..cc4ae05 100644
--- a/config/header.mk
+++ b/config/header.mk
@@ -9,6 +9,9 @@ include config/exports.mk
# All header fragments we generate
HEADERS := \
+ ${GEN}/getdents.h \
+ ${GEN}/getdents64.h \
+ ${GEN}/getdents64-syscall.h \
${GEN}/getprogname.h \
${GEN}/getprogname-gnu.h \
${GEN}/posix-spawn-addfchdir.h \