54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
/* 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;
|
|
}
|