/* 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.
 */

#include "config.h"

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
#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;
}
