Home | History | Annotate | Download | only in config
      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 // We do have rtti support now through GAbi++
     19 #undef _STLP_NO_RTTI
     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 #undef _STLP_NO_EXCEPTION_HEADER
     38 
     39 // No throwing exceptions
     40 #undef _STLP_NO_EXCEPTIONS
     41 
     42 
     43 // No need to define our own namespace
     44 #define _STLP_NO_OWN_NAMESPACE 1
     45 
     46 // Use __new_alloc instead of __node_alloc, so we don't need static functions.
     47 #define _STLP_USE_SIMPLE_NODE_ALLOC 1
     48 
     49 // Don't use extern versions of range errors, so we don't need to
     50 // compile as a library.
     51 #define _STLP_USE_NO_EXTERN_RANGE_ERRORS 1
     52 
     53 // The system math library doesn't have long double variants, e.g
     54 // sinl, cosl, etc
     55 #define _STLP_NO_VENDOR_MATH_L
     56 
     57 // Define how to include our native headers.
     58 #define _STLP_NATIVE_HEADER(header) <usr/include/header>
     59 #define _STLP_NATIVE_C_HEADER(header) <../include/header>
     60 #define _STLP_NATIVE_CPP_C_HEADER(header) <../../gabi++/include/header>
     61 #define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../../gabi++/include/header>
     62 #define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <usr/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 #undef _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
     72 #undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
     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 #endif /* __stl_config__android_h */
     78