commit 084ec9781183c072eeb69e76ae12ee4fdb4bad5c (tree)
parent ace8396076992a51be0e71cc0dafa8ecd55b64b5
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Mon, 2 Dec 2024 10:47:19 +0100
zig.h: Introduce object format macros.
Diffstat:
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/lib/zig.h b/lib/zig.h
@@ -10,6 +10,8 @@
#define zig_gnuc
#elif defined(__GNUC__)
#define zig_gnuc
+#elif defined(__IBMC__)
+#define zig_xlc
#elif defined(__TINYC__)
#define zig_tinyc
#elif defined(__slimcc__)
@@ -79,6 +81,18 @@
#define zig_big_endian 1
#endif
+#if defined(_WIN32)
+#define zig_coff
+#elif defined(__ELF__)
+#define zig_elf
+#elif defined(__MVS__)
+#define zig_goff
+#elif defined(__MACH__)
+#define zig_macho
+#elif defined(_AIX)
+#define zig_xcoff
+#endif
+
#define zig_concat(lhs, rhs) lhs##rhs
#define zig_expand_concat(lhs, rhs) zig_concat(lhs, rhs)
@@ -236,14 +250,14 @@
#define zig_mangle_c(symbol) "_" symbol
#endif /* zig_x86_64 */
#else /* zig_msvc */
-#if __APPLE__
+#if defined(zig_macho)
#define zig_mangle_c(symbol) "_" symbol
-#else /* __APPLE__ */
+#else /* zig_macho */
#define zig_mangle_c(symbol) symbol
-#endif /* __APPLE__ */
+#endif /* zig_macho */
#endif /* zig_msvc */
-#if (zig_has_attribute(alias) || defined(zig_tinyc)) && !__APPLE__
+#if (zig_has_attribute(alias) || defined(zig_tinyc)) && !defined(zig_macho)
#define zig_export(symbol, name) __attribute__((alias(symbol)))
#elif defined(zig_msvc)
#define zig_export(symbol, name) ; \