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