// STLport configuration file for SCF C++ compiler for SPARC
// It is internal STLport header - DO NOT include it directly

// Unsigned 32-bit integral type
#define _STLP_UINT32_T unsigned int

// Compiler supports non-standard long long type
#define _STLP_LONG_LONG long long

#if defined(__linux__) 
// With GLIBC we simply don't use new stlye headers
#define _STLP_HAS_NO_NEW_C_HEADERS
#else
// Solaris library is tricky - it doesn't have new style named files,
// but old named files provide all the new stuff in both global and
// std namespaces.
#undef  _STLP_HAS_NO_NEW_C_HEADERS
#define _STLP_NO_NEW_C_HEADERS
// Workaround strange STLport behavior
#define _STLP_VENDOR_GLOBAL_CSTD
#endif

// Use STLport as main STL implementation
#define _STLP_NO_OWN_NAMESPACE

// Exceptions support
#ifndef __EXCEPTIONS
#   define _STLP_HAS_NO_EXCEPTIONS 1
#endif

#ifdef __sun__
// On old solaris native library does not provide mbstate_t type
// hack-check libc version
#include <sys/feature_tests.h>
#ifndef _ISO_CPP_14882_1998
#define _STLP_NO_NATIVE_MBSTATE_T
#define _STLP_WCHAR_SUNPRO_EXCLUDE
#endif
#endif

#if defined(__linux__)
// Try to figure out GLIBC version. Include a harmless header.
#include <errno.h> 
// Some wchar functions are missing
// __GLIBC_PREREQ is missing in GLIBC 2.1
#  if (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 2
#    if !(defined __USE_ISOC99 || defined __USE_UNIX98)
#      define _STLP_WCHAR_SUNPRO_EXCLUDE
#    endif
#  else
#    define _STLP_WCHAR_SUNPRO_EXCLUDE
#    define _STLP_WCHAR_BORLAND_EXCLUDE
#  endif
#endif

