111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __stl_config__android_h 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __stl_config__android_h 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_PLATFORM "Android" 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Mostly Unix-like. 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_UNIX 1 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Have pthreads support. 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _PTHREADS 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Don't have native <cplusplus> headers 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_HAS_NO_NEW_C_HEADERS 1 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Use unix for streams 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_UNIX_IO 1 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// We do have rtti support now through GAbi++ 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _STLP_NO_RTTI 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// C library is in the global namespace. 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_VENDOR_GLOBAL_CSTD 1 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Don't have underlying local support. 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _STLP_REAL_LOCALE_IMPLEMENTED 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// No pthread_spinlock_t in Android 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_DONT_USE_PTHREAD_SPINLOCK 1 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Enable thread support 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _NOTHREADS 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Little endian platform. 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_LITTLE_ENDIAN 1 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// No <exception> headers 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_EXCEPTION_HEADER 1 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// No throwing exceptions 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_EXCEPTIONS 1 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// No need to define our own namespace 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_OWN_NAMESPACE 1 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Use __new_alloc instead of __node_alloc, so we don't need static functions. 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_SIMPLE_NODE_ALLOC 1 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Don't use extern versions of range errors, so we don't need to 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// compile as a library. 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_USE_NO_EXTERN_RANGE_ERRORS 1 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// The system math library doesn't have long double variants, e.g 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// sinl, cosl, etc 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_VENDOR_MATH_L 1 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Define how to include our native headers. 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NATIVE_HEADER(header) <usr/include/header> 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NATIVE_C_HEADER(header) <../include/header> 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NATIVE_CPP_C_HEADER(header) <../../gabi++/include/header> 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../../gabi++/include/header> 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <usr/include/header> 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Include most of the gcc settings. 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <stl/config/_gcc.h> 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Do not use glibc, Android is missing some things. 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _STLP_USE_GLIBC 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// No exceptions. 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT 1 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT 1 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _ANDROID_NDK_BLAZE_ 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Android does have include_next but it doesn't work well in our build system. 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#undef _STLP_HAS_INCLUDE_NEXT 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* __stl_config__android_h */ 79