xref: /aosp_15_r20/external/aws-crt-java/cmake/archdetect.c (revision 3c7ae9de214676c52d19f01067dc1a404272dc11)
1 /* Use # error to output the arch, and then parse from cmake */
2 /* See https://sourceforge.net/p/predef/wiki/Architectures/ for reference */
3 #if defined(__i386) || defined(__i386__) || defined(_M_IX86)
4 #   error ARCH x86_32
5 #elif defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(_M_X64)
6 #   error ARCH x86_64
7 #elif defined(__aarch64__)
8 #   error ARCH armv8
9 #elif defined(__arm__)
10 #    if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__)
11 #        error ARCH armv7
12 #    elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__)
13 #        error ARCH armv6
14 #    endif
15 #else
16 #    error ARCH unknown
17 #endif
18 
19