19720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifndef __stl_config__android_h 29720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define __stl_config__android_h 39720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 49720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_PLATFORM "Android" 59720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 6e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// Mostly Unix-like. 79720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_UNIX 1 89720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 99720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Have pthreads support. 109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _PTHREADS 119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Don't have native <cplusplus> headers 139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_HAS_NO_NEW_C_HEADERS 1 149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 15e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// Use unix for streams 16e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#define _STLP_USE_UNIX_IO 1 179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 18e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// No rtti support 19e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#define _STLP_NO_RTTI 1 209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// C library is in the global namespace. 229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_VENDOR_GLOBAL_CSTD 1 239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Don't have underlying local support. 259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#undef _STLP_REAL_LOCALE_IMPLEMENTED 269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// No pthread_spinlock_t in Android 289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_DONT_USE_PTHREAD_SPINLOCK 1 299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 30f4c9fc3867a265561218d08fbbad64d017d8e93dDavid 'Digit' Turner// Enable thread support 31f4c9fc3867a265561218d08fbbad64d017d8e93dDavid 'Digit' Turner#undef _NOTHREADS 329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Little endian platform. 349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_LITTLE_ENDIAN 1 359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// No <exception> headers 379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NO_EXCEPTION_HEADER 1 389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// No throwing exceptions 409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NO_EXCEPTIONS 1 419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// No need to define our own namespace 439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NO_OWN_NAMESPACE 1 449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Use __new_alloc instead of __node_alloc, so we don't need static functions. 469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_USE_SIMPLE_NODE_ALLOC 1 479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Don't use extern versions of range errors, so we don't need to 499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// compile as a library. 509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_USE_NO_EXTERN_RANGE_ERRORS 1 519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// The system math library doesn't have long double variants, e.g 539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// sinl, cosl, etc 549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NO_VENDOR_MATH_L 1 559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Define how to include our native headers. 579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NATIVE_HEADER(header) <libstdc++/include/header> 589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NATIVE_C_HEADER(header) <../include/header> 599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NATIVE_CPP_C_HEADER(header) <libstdc++/include/header> 60e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <libstdc++/include/header> 619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <libstdc++/include/header> 629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <libstdc++/include/header> 639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 64e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// Include most of the gcc settings. 65e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <stl/config/_gcc.h> 66e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 67e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// Do not use glibc, Android is missing some things. 68e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#undef _STLP_USE_GLIBC 69e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 70e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// No exceptions. 71e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT 1 72e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT 1 73e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 74e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// Android does have include_next but it doesn't work well in our build system. 75e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#undef _STLP_HAS_INCLUDE_NEXT 76e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 77f2a92bde67bec20683304eb94b3aacb2433c7572Shih-wei Liao#if !defined(__BUILDING_STLPORT) 78f2a92bde67bec20683304eb94b3aacb2433c7572Shih-wei Liao// Turn off container extension which fails correct, standard-compliant code. 79f2a92bde67bec20683304eb94b3aacb2433c7572Shih-wei Liao// Note: Container extension uses template member function to implement 80f2a92bde67bec20683304eb94b3aacb2433c7572Shih-wei Liao// insert, find, ... member functions of the containers. 81f2a92bde67bec20683304eb94b3aacb2433c7572Shih-wei Liao#define _STLP_NO_CONTAINERS_EXTENSION 1 82f2a92bde67bec20683304eb94b3aacb2433c7572Shih-wei Liao#endif 83f2a92bde67bec20683304eb94b3aacb2433c7572Shih-wei Liao 849720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif /* __stl_config__android_h */ 85