1#ifndef __stl_config__android_h 2#define __stl_config__android_h 3 4#define _STLP_PLATFORM "Android" 5 6// Mostly Unix-like. 7#define _STLP_UNIX 1 8 9// Have pthreads support. 10#define _PTHREADS 11 12// Don't have native <cplusplus> headers 13#define _STLP_HAS_NO_NEW_C_HEADERS 1 14 15// Use unix for streams 16#define _STLP_USE_UNIX_IO 1 17 18// No rtti support 19#define _STLP_NO_RTTI 1 20 21// C library is in the global namespace. 22#define _STLP_VENDOR_GLOBAL_CSTD 1 23 24// Don't have underlying local support. 25#undef _STLP_REAL_LOCALE_IMPLEMENTED 26 27// No pthread_spinlock_t in Android 28#define _STLP_DONT_USE_PTHREAD_SPINLOCK 1 29 30// Enable thread support 31#undef _NOTHREADS 32 33// Little endian platform. 34#define _STLP_LITTLE_ENDIAN 1 35 36// No <exception> headers 37#define _STLP_NO_EXCEPTION_HEADER 1 38 39// No throwing exceptions 40#define _STLP_NO_EXCEPTIONS 1 41 42// No need to define our own namespace 43#define _STLP_NO_OWN_NAMESPACE 1 44 45// Use __new_alloc instead of __node_alloc, so we don't need static functions. 46#define _STLP_USE_SIMPLE_NODE_ALLOC 1 47 48// Don't use extern versions of range errors, so we don't need to 49// compile as a library. 50#define _STLP_USE_NO_EXTERN_RANGE_ERRORS 1 51 52// The system math library doesn't have long double variants, e.g 53// sinl, cosl, etc 54#define _STLP_NO_VENDOR_MATH_L 1 55 56// Define how to include our native headers. 57#ifdef BUILD_WITH_NDK 58 59#define _STLP_NATIVE_HEADER(header) <usr/include/header> 60#define _STLP_NATIVE_C_HEADER(header) <../include/header> 61#define _STLP_NATIVE_CPP_C_HEADER(header) <usr/include/header> 62#define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <usr/include/header> 63#define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <usr/include/header> 64#define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <usr/include/header> 65 66#else 67 68#define _STLP_NATIVE_HEADER(header) <libstdc++/include/header> 69#define _STLP_NATIVE_C_HEADER(header) <../include/header> 70#define _STLP_NATIVE_CPP_C_HEADER(header) <libstdc++/include/header> 71#define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <libstdc++/include/header> 72#define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <libstdc++/include/header> 73#define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <libstdc++/include/header> 74 75#endif 76 77// Include most of the gcc settings. 78#include <stl/config/_gcc.h> 79 80// Do not use glibc, Android is missing some things. 81#undef _STLP_USE_GLIBC 82 83// No exceptions. 84#define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT 1 85#define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT 1 86 87// Android does have include_next but it doesn't work well in our build system. 88#undef _STLP_HAS_INCLUDE_NEXT 89 90#endif /* __stl_config__android_h */ 91