20 #include "objfw-defs.h"
25 # define OF_BIG_ENDIAN
26 # define OF_FLOAT_BIG_ENDIAN
27 # elif !__LITTLE_ENDIAN__
28 # error OF_UNIVERSAL defined, but neither __BIG_ENDIAN__ nor __LITTLE_ENDIAN__!
32 #if (defined(__x86_64__) || defined(__amd64__)) && \
33 (defined(__LP64__) || defined(_WIN64))
35 #elif defined(__i386__)
37 #elif defined(__powerpc64__) || defined(__ppc64__) || defined(__PPC64__)
39 #elif defined(__powerpc__) || defined(__ppc__) || defined(__PPC__)
41 #elif defined(__arm64__) || defined(__aarch64__) || defined(__ARM64_ARCH_8__)
43 #elif defined(__arm__) || defined(__ARM__)
45 # if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \
46 defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || \
47 defined(__ARM_ARCH_7EM__)
50 # if defined(OF_ARMV7) || defined(__ARM_ARCH_6__) || \
51 defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || \
52 defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || \
53 defined(__ARM_ARCH_6T2__)
56 #elif defined(_MIPS_SIM)
57 # if _MIPS_SIM == _ABI64
59 # define OF_MIPS64_N64
60 # elif _MIPS_SIM == _ABIN32
62 # define OF_MIPS64_N32
63 # elif _MIPS_SIM == _ABIO32
67 #elif defined(__mips_eabi) && _MIPS_SZPTR == 32
70 #elif defined(__sparc64__) || (defined(__sparc__) && defined(__arch64__))
72 #elif defined(__sparc__) && !defined(__arch64__)
74 #elif defined(__hppa64__) || defined(_PA_RISC2_0)
75 # define OF_PA_RISC_2_0
76 #elif defined(__hppa__) || defined(_PA_RISC1_0) || defined(_PA_RISC1_1)
78 #elif defined(__ia64__) || defined(__IA64__)
80 #elif defined(__m68k__)
85 # if defined(__mc68040__) || defined(OF_M68060)
88 # if defined(__mc68030__) || defined(OF_M68040)
91 # if defined(__mc68020__) || defined(OF_M68030)
94 # if defined(__mc68010__) || defined(OF_M68020)
97 #elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
99 #elif defined(__riscv)
101 #elif defined(__s390x__)
103 #elif defined(__s390__)
105 #elif defined(__sh__)
107 #elif defined(__e2k__)
108 # define OF_ELBRUS_2000
109 #elif defined(__loongarch64)
110 # define OF_LOONGARCH64
113 #if defined(__APPLE__)
114 # include <TargetConditionals.h>
115 # if (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || \
116 (defined(TARGET_OS_SIMULATOR) && TARGET_OS_SIMULATOR)
121 #elif defined(__linux__)
123 #elif defined(_WIN32)
125 #elif defined(__FreeBSD__)
127 #elif defined(__NetBSD__)
129 #elif defined(__OpenBSD__)
131 #elif defined(__DragonFly__)
132 # define OF_DRAGONFLYBSD
133 #elif defined(__ANDROID__)
135 #elif defined(__HAIKU__)
139 #elif defined(__MORPHOS__)
142 #elif defined(__amigaos4__)
145 #elif defined(__amigaos__)
146 # define OF_AMIGAOS_M68K
148 #elif defined(__sun__)
150 #elif defined(__QNX__)
152 #elif defined(__hpux__)
156 #elif defined(__DJGPP__)
159 #elif defined(__riscos__)
160 # define OF_ACORN_RISC_OS
161 #elif defined(__MINT__)
163 #elif defined(__gnu_hurd__)
165 #elif defined(__serenity__)
166 # define OF_SERENITYOS
175 #elif defined(__MACH__)
179 #if defined(__PIC__) || defined(__pic__)