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