aboutsummaryrefslogtreecommitdiff
path: root/reftable/reftable-system.h
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2026-04-02 09:31:14 +0200
committerJunio C Hamano <gitster@pobox.com>2026-04-02 10:45:43 -0700
commit34c17b840d5bdb8060ef6309aee04f919616c9de (patch)
tree7ad18ed6da264907bcb33b376b689a2180a407bb /reftable/reftable-system.h
parent270e10ad6dda3379ea0da7efd11e4fbf2cd7a325 (diff)
downloadgit-34c17b840d5bdb8060ef6309aee04f919616c9de.tar.xz
reftable: introduce "reftable-system.h" header
We're including a couple of standard headers like <stdint.h> in a bunch of locations, which makes it hard for a project to plug in their own logic for making required functionality available. For us this is for example via "compat/posix.h", which already includes all of the system headers relevant to us. Introduce a new "reftable-system.h" header that allows projects to provide their own headers. This new header is supposed to contain all the project-specific bits to provide the POSIX-like environment, and some additional supporting code. With this change, we thus have the following split in our system-specific code: - "reftable/reftable-system.h" is the project-specific header that provides a POSIX-like environment. Every project is expected to provide their own implementation. - "reftable/system.h" contains the project-independent definition of the interfaces that a project needs to implement. This file should not be touched by a project. - "reftable/system.c" contains the project-specific implementation of the interfaces defined in "system.h". Again, every project is expected to provide their own implementation. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'reftable/reftable-system.h')
-rw-r--r--reftable/reftable-system.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/reftable/reftable-system.h b/reftable/reftable-system.h
new file mode 100644
index 0000000000..4a18a6a790
--- /dev/null
+++ b/reftable/reftable-system.h
@@ -0,0 +1,15 @@
+#ifndef REFTABLE_SYSTEM_H
+#define REFTABLE_SYSTEM_H
+
+/*
+ * This header defines the platform-specific bits required to compile the
+ * reftable library. It should provide an environment that bridges over the
+ * gaps between POSIX and your system, as well as the zlib interfaces. This
+ * header is expected to be changed by the individual project.
+ */
+
+#define MINGW_DONT_HANDLE_IN_USE_ERROR
+#include "compat/posix.h"
+#include "compat/zlib-compat.h"
+
+#endif