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#define _STLP_NATIVE_HEADER(header) <libstdc++/include/header> 58#define _STLP_NATIVE_C_HEADER(header) <../include/header> 59#define _STLP_NATIVE_CPP_C_HEADER(header) <libstdc++/include/header> 60#define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <libstdc++/include/header> 61#define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <libstdc++/include/header> 62#define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <libstdc++/include/header> 63 64// Include most of the gcc settings. 65#include <stl/config/_gcc.h> 66 67// Do not use glibc, Android is missing some things. 68#undef _STLP_USE_GLIBC 69 70// No exceptions. 71#define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT 1 72#define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT 1 73 74// Android does have include_next but it doesn't work well in our build system. 75#undef _STLP_HAS_INCLUDE_NEXT 76 77#if !defined(__BUILDING_STLPORT) 78// Turn off container extension which fails correct, standard-compliant code. 79// Note: Container extension uses template member function to implement 80// insert, find, ... member functions of the containers. 81#define _STLP_NO_CONTAINERS_EXTENSION 1 82#endif 83 84#endif /* __stl_config__android_h */ 85