/* This simple file is used to check that compiler flags are properly * set when using the NDK build system. Look at Android.mk to see how * the various CHECK_XXX macros are supposed to be defined. */ int main(void) { #if defined(CHECK_THUMB) # ifndef __arm__ # error "This source file should be compiled with an ARM toolchain" # endif # ifndef __thumb__ # error "This source file should be built in thumb mode!" # endif #elif defined(CHECK_THUMB2) # ifndef __arm__ # error "This source file should be compiled with an ARM toolchain" # endif # ifndef __thumb2__ # error "This source file should be built in thumb2 mode!" # endif #elif defined(CHECK_ARM) # ifndef __arm__ # error "This source file should be compiled with an ARM toolchain" # endif # if defined(__thumb__) || defined(__thumb2__) # error "This source file should be compiled to 32-bit ARM instructions" # endif #elif defined(CHECK_X86) # ifndef __i386__ # error "This source file should be compiled with an x86 toolchain" # endif #elif defined(CHECK_MIPS) # ifndef __mips__ # error "This source file should be compiled with a MIPS toolchain" # endif #else # error "This unit test is broken!" #endif #if defined(CHECK_NEON) # ifndef __ARM_NEON__ # error "This source file should be compiled with NEON support!" # endif #else # ifdef __ARM_NEON__ # error "This source file should be compiled without NEON support!" # endif #endif #ifndef __ANDROID__ # error "This toolchain doesn't define the __ANDROID__ built-in macro!" #endif return 0; }