epoc32/include/tools/stlport/stl/config/_linux.h
branchSymbian2
changeset 2 2fe1408b6811
child 4 837f303aceeb
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/tools/stlport/stl/config/_linux.h	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -0,0 +1,93 @@
     1.4 +#ifndef __stl_config__linux_h
     1.5 +#define __stl_config__linux_h
     1.6 +
     1.7 +#define _STLP_PLATFORM "Linux"
     1.8 +
     1.9 +#include <features.h>
    1.10 +
    1.11 +/* This is defined wether library in use is glibc or not.
    1.12 +   This may be treated as presence of GNU libc compatible
    1.13 +   header files (these define is not really intended to check
    1.14 +   for the presence of a particular library, but rather is used
    1.15 +   to define an INTERFACE.) */
    1.16 +#ifndef _STLP_USE_GLIBC
    1.17 +#  define _STLP_USE_GLIBC 1
    1.18 +#endif
    1.19 +
    1.20 +#define _STLP_UNIX 1
    1.21 +
    1.22 +#if defined(_REENTRANT) && !defined(_PTHREADS)
    1.23 +# define _PTHREADS
    1.24 +#endif
    1.25 +
    1.26 +#ifdef __UCLIBC__ /* uClibc 0.9.27 */
    1.27 +#  define _STLP_USE_UCLIBC 1
    1.28 +#  if !defined(__UCLIBC_HAS_WCHAR__)
    1.29 +#    ifndef _STLP_NO_WCHAR_T
    1.30 +#      define _STLP_NO_WCHAR_T
    1.31 +#    endif
    1.32 +#    ifndef _STLP_NO_MBSTATE_T
    1.33 +#      define _STLP_NO_MBSTATE_T
    1.34 +#    endif
    1.35 +#    ifndef _STLP_NO_NATIVE_WIDE_STREAMS
    1.36 +#      define _STLP_NO_NATIVE_WIDE_STREAMS
    1.37 +#    endif
    1.38 +#  endif /* __UCLIBC_HAS_WCHAR__ */
    1.39 +   /* Hmm, bogus _GLIBCPP_USE_NAMESPACES seems undefined... */
    1.40 +#  define _STLP_VENDOR_GLOBAL_CSTD 1
    1.41 +#  if defined(_STLP_REAL_LOCALE_IMPLEMENTED)
    1.42 +     /* locale in uClibc is very restricted */
    1.43 +     /* recheck if __UCLIBC_HAS_LOCALE__ defined...*/
    1.44 +#    undef _STLP_REAL_LOCALE_IMPLEMENTED
    1.45 +#  endif
    1.46 +#endif
    1.47 +
    1.48 +
    1.49 +#if defined(_PTHREADS)
    1.50 +#  define _STLP_THREADS
    1.51 +#  define _STLP_PTHREADS
    1.52 +/*
    1.53 +#  ifndef __USE_UNIX98
    1.54 +#    define __USE_UNIX98
    1.55 +#  endif
    1.56 +*/
    1.57 +/* This feature exist at least since glibc 2.2.4 */
    1.58 +/* #  define __FIT_XSI_THR */ /* Unix 98 or X/Open System Interfaces Extention */
    1.59 +#  ifdef __USE_XOPEN2K
    1.60 +/* The IEEE Std. 1003.1j-2000 introduces functions to implement spinlocks. */
    1.61 +#   ifndef __UCLIBC__ /* There are no spinlocks in uClibc 0.9.27 */
    1.62 +#     define _STLP_USE_PTHREAD_SPINLOCK
    1.63 +#   else
    1.64 +#     ifndef _STLP_DONT_USE_PTHREAD_SPINLOCK
    1.65 +        /* in uClibc (0.9.26) pthread_spinlock* declared in headers
    1.66 +         * but absent in library */
    1.67 +#       define _STLP_DONT_USE_PTHREAD_SPINLOCK
    1.68 +#     endif
    1.69 +#   endif
    1.70 +/* #   define __FIT_PSHARED_MUTEX */
    1.71 +#  endif
    1.72 +#endif
    1.73 +
    1.74 +/* Endiannes */
    1.75 +#include <endian.h>
    1.76 +#if !defined(__BYTE_ORDER) || !defined(__LITTLE_ENDIAN) || !defined(__BIG_ENDIAN)
    1.77 +#  error "One of __BYTE_ORDER, __LITTLE_ENDIAN and __BIG_ENDIAN undefined; Fix me!"
    1.78 +#endif
    1.79 +
    1.80 +#if ( __BYTE_ORDER == __LITTLE_ENDIAN )
    1.81 +#  define _STLP_LITTLE_ENDIAN 1
    1.82 +#elif ( __BYTE_ORDER == __BIG_ENDIAN )
    1.83 +#  define _STLP_BIG_ENDIAN 1
    1.84 +#else
    1.85 +#  error "__BYTE_ORDER neither __BIG_ENDIAN nor __LITTLE_ENDIAN; Fix me!"
    1.86 +#endif
    1.87 +
    1.88 +#if defined(__GNUC__) && (__GNUC__ < 3)
    1.89 +#  define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1
    1.90 +/*
    1.91 +#    define _STLP_NO_NATIVE_WIDE_STREAMS   1
    1.92 +*/
    1.93 +#endif
    1.94 +
    1.95 +
    1.96 +#endif /* __stl_config__linux_h */