
///////////////////////////////////////////////////////////////////////////////
//
// THIS FILE IS AUTOGENERATED BY GYP_TO_ANDROID.PY. DO NOT EDIT.
//
// This file contains Skia's upstream include/config/SkUserConfig.h as a
// reference, followed by the actual defines set for Android.
//
///////////////////////////////////////////////////////////////////////////////


// Android defines:
#ifndef SkUserConfig_Android_DEFINED
#define SkUserConfig_Android_DEFINED
#ifdef ANDROID
    #include <utils/misc.h>
#endif

#if __BYTE_ORDER == __BIG_ENDIAN
    #define SK_CPU_BENDIAN
    #undef  SK_CPU_LENDIAN
#else
    #define SK_CPU_LENDIAN
    #undef  SK_CPU_BENDIAN
#endif

#define SK_BUILD_FOR_ANDROID
#define SK_BUILD_FOR_ANDROID_FRAMEWORK
#define SK_SCALAR_IS_FLOAT
#define bar
#define foo

#endif // SkUserConfig_Android_DEFINED
