epoc32/include/stdapis/stlportv5/stl/config/_gcc.h
branchSymbian3
changeset 4 837f303aceeb
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/stdapis/stlportv5/stl/config/_gcc.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -0,0 +1,485 @@
     1.4 +/* STLport configuration file
     1.5 + * It is internal STLport header - DO NOT include it directly
     1.6 + */
     1.7 +
     1.8 +#define _STLP_COMPILER "gcc"
     1.9 +
    1.10 +/* Systems having GLIBC installed have different traits */
    1.11 +#if defined (__linux__)
    1.12 +#  ifndef _STLP_USE_GLIBC
    1.13 +#    define _STLP_USE_GLIBC 1
    1.14 +#  endif
    1.15 +#  if defined (__UCLIBC__) && !defined (_STLP_USE_UCLIBC)
    1.16 +#    define _STLP_USE_UCLIBC 1
    1.17 +#  endif
    1.18 +#endif
    1.19 +
    1.20 +#if defined (__CYGWIN__) && \
    1.21 +     (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 3) && !defined (_GLIBCPP_USE_C99)
    1.22 +#  define _STLP_NO_VENDOR_MATH_L
    1.23 +#  define _STLP_NO_VENDOR_STDLIB_L
    1.24 +#endif
    1.25 +
    1.26 +#if (__GNUC__ < 3)
    1.27 +#  define _STLP_NO_VENDOR_STDLIB_L
    1.28 +#endif
    1.29 +
    1.30 +#if defined (__SYMBIAN32__) && !defined (_STLP_NO_VENDOR_STDLIB_L)
    1.31 +//The following macro is defined so that the vendor's APIs dont get picked. Rather the ones from PIPS are used.
    1.32 +#  define _STLP_NO_VENDOR_STDLIB_L
    1.33 +#endif // (__SYMBIAN32__) && !defined (_STLP_NO_VENDOR_STDLIB_L)
    1.34 +
    1.35 +/* We guess if we are using the cygwin distrib that has a special include schema.
    1.36 + * There is no way to distinguish a cygwin distrib used in no-cygwin mode from a
    1.37 + * mingw install. We are forced to use a configuration option
    1.38 + */
    1.39 +#if !defined (_STLP_NATIVE_INCLUDE_PATH) && \
    1.40 +    (defined (__CYGWIN__) || defined (__MINGW32__) && defined (_STLP_NO_CYGWIN))
    1.41 +#  if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
    1.42 +#    define _STLP_NATIVE_INCLUDE_PATH ../../../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/include/c++
    1.43 +#  elif defined (_STLP_NO_CYGWIN)
    1.44 +#    define _STLP_NATIVE_INCLUDE_PATH ../mingw
    1.45 +/*#  else
    1.46 + * Before version gcc 3.4, the cygwin package include path was conform to the
    1.47 + * GNU convention which is set later in this file.
    1.48 + */
    1.49 +#  endif
    1.50 +#endif
    1.51 +
    1.52 +#if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 4))
    1.53 +/* define for gcc versions before 3.4.0. */
    1.54 +#  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD
    1.55 +#endif
    1.56 +
    1.57 +/* azov: gcc on lynx have a bug that causes internal
    1.58 + * compiler errors when compiling STLport with namespaces turned on.
    1.59 + * When the compiler gets better - comment out _STLP_HAS_NO_NAMESPACES
    1.60 + */
    1.61 +#if defined (__Lynx__) && (__GNUC__ < 3)
    1.62 +#  define _STLP_HAS_NO_NAMESPACES 1
    1.63 +#  define _STLP_NO_STATIC_TEMPLATE_DATA 1
    1.64 +/* turn off useless warning about including system headers */
    1.65 +#  define __NO_INCLUDE_WARN__ 1
    1.66 +#endif
    1.67 +
    1.68 +/* Tru64 Unix, AIX, HP : gcc there by default uses native ld and hence cannot auto-instantiate
    1.69 +   static template data. If you are using GNU ld, please say so in user_config.h header */
    1.70 +#if (__GNUC__ < 3) && !defined(_STLP_GCC_USES_GNU_LD) && \
    1.71 +   ((defined (__osf__) && defined (__alpha__)) || defined (_AIX) || defined (__hpux) || defined(__amigaos__) )
    1.72 +#  define _STLP_NO_STATIC_TEMPLATE_DATA
    1.73 +#endif
    1.74 +
    1.75 +#if !defined (_REENTRANT) && (defined (_THREAD_SAFE) || \
    1.76 +                             (defined (__OpenBSD__) && defined (_POSIX_THREADS)) || \
    1.77 +                             (defined (__MINGW32__) && defined (_MT)))
    1.78 +#  define _REENTRANT
    1.79 +#endif
    1.80 +
    1.81 +#if defined (__DJGPP)
    1.82 +#  define _STLP_RAND48    1
    1.83 +#  define _NOTHREADS    1
    1.84 +#  undef  _PTHREADS
    1.85 +#  define _STLP_LITTLE_ENDIAN
    1.86 +#endif
    1.87 +
    1.88 +#ifdef __SYMBIAN32__
    1.89 +#  if !defined(_STLP_LITTLE_ENDIAN)
    1.90 +#    define _STLP_LITTLE_ENDIAN
    1.91 +#  endif
    1.92 +#endif
    1.93 +#if defined (__MINGW32__)
    1.94 +/* Mingw32, egcs compiler using the Microsoft C runtime */
    1.95 +#  define _STLP_VENDOR_GLOBAL_CSTD
    1.96 +#  undef  _STLP_NO_DRAND48
    1.97 +#  define _STLP_NO_DRAND48
    1.98 +#  define _STLP_CALL
    1.99 +
   1.100 +#  if defined (_STLP_NEW_PLATFORM_SDK)
   1.101 +/* For the moment the Windows SDK coming with Mingw still mimik the old platform SDK. */
   1.102 +#    undef _STLP_NEW_PLATFORM_SDK
   1.103 +#  endif
   1.104 +#endif /* __MINGW32__ */
   1.105 +
   1.106 +#if defined (__CYGWIN__) || defined (__MINGW32__)
   1.107 +#  if !defined (_STLP_USE_STATIC_LIB)
   1.108 +#    define _STLP_USE_DECLSPEC 1
   1.109 +#    if !defined (_STLP_USE_DYNAMIC_LIB)
   1.110 +#      define _STLP_USE_DYNAMIC_LIB
   1.111 +#    endif
   1.112 +#    define _STLP_EXPORT_DECLSPEC __declspec(dllexport)
   1.113 +#    define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport)
   1.114 +#    define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport)
   1.115 +#  endif
   1.116 +/* The following is defined independently of _STLP_USE_STATIC_LIB because it is also
   1.117 + * used to import symbols from PSDK under MinGW
   1.118 + */
   1.119 +#  define _STLP_IMPORT_DECLSPEC __declspec(dllimport)
   1.120 +#endif
   1.121 +
   1.122 +#if !defined (__SYMBIAN32__) && (defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun) || defined(__APPLE__)))
   1.123 +#  if !defined (__MINGW32__) && !defined (__CYGWIN__)
   1.124 +#    define _STLP_NO_NATIVE_MBSTATE_T    1
   1.125 +#  endif
   1.126 +#  if !defined (__MINGW32__) || (__GNUC__ < 3) || (__GNUC__ == 3) && (__GNUC_MINOR__ < 4)
   1.127 +#    define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1
   1.128 +#  endif
   1.129 +#  define _STLP_NO_NATIVE_WIDE_STREAMS   1
   1.130 +#endif
   1.131 +
   1.132 +#define _STLP_NORETURN_FUNCTION __attribute__((noreturn))
   1.133 +
   1.134 +/* Mac OS X is a little different with namespaces and cannot instantiate
   1.135 + * static data members in template classes */
   1.136 +#if defined (__APPLE__)
   1.137 +#  if ((__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)))
   1.138 +/* Mac OS X is missing a required typedef and standard macro */
   1.139 +typedef unsigned int wint_t;
   1.140 +#  endif
   1.141 +
   1.142 +#  define __unix
   1.143 +
   1.144 +#  if (__GNUC__ < 3)
   1.145 +
   1.146 + /* Mac OS X needs one and only one source file to initialize all static data
   1.147 +  * members in template classes. Only one source file in an executable or
   1.148 +  * library can declare instances for such data members, otherwise duplicate
   1.149 +  * symbols will be generated. */
   1.150 +
   1.151 +#    define _STLP_NO_STATIC_TEMPLATE_DATA
   1.152 +#    define _STLP_STATIC_CONST_INIT_BUG 1
   1.153 +#    define _STLP_STATIC_TEMPLATE_DATA 0
   1.154 +#    define _STLP_WEAK_ATTRIBUTE 1
   1.155 + /* Workaround for the broken Mac OS X C++ preprocessor which cannot handle
   1.156 +  * parameterized macros in #include statements */
   1.157 +#    define _STLP_NATIVE_HEADER(header) <../g++/##header##>
   1.158 +#    define _STLP_NATIVE_C_HEADER(header) <../include/##header##>
   1.159 +#    define _STLP_NATIVE_CPP_C_HEADER(header) <../g++/##header##>
   1.160 +#    define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../g++/##header##>
   1.161 +#    define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../g++/##header##>
   1.162 +#  endif /* __GNUC__ < 3 */
   1.163 +
   1.164 +#  define _STLP_NO_LONG_DOUBLE
   1.165 +
   1.166 +/* Mac OS X needs all "::" scope references to be "std::" */
   1.167 +#  define _STLP_USE_NEW_C_HEADERS
   1.168 +
   1.169 +#  define _STLP_NO_VENDOR_STDLIB_L
   1.170 +
   1.171 +#endif /* __APPLE__ */
   1.172 +
   1.173 +
   1.174 +#if defined(__BEOS__) && defined(__INTEL__)
   1.175 +#  define _STLP_NATIVE_HEADER(header) <../stlport/beos/##header##>
   1.176 +#  define _STLP_NATIVE_C_HEADER(header) <../stlport/beos/##header##>
   1.177 +#  define _STLP_NATIVE_CPP_C_HEADER(header) <../stlport/beos/##header##>
   1.178 +#  define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../stlport/beos/##header##>
   1.179 +#  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../stlport/beos/##header##>
   1.180 +#  define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1
   1.181 +#  define _STLP_NO_NATIVE_WIDE_STREAMS   1
   1.182 +/*
   1.183 +#  define _NOTHREADS 1
   1.184 +*/
   1.185 +#  ifdef _PTHREADS
   1.186 +#    undef  _PTHREADS
   1.187 +#  endif
   1.188 +#  ifdef _STLP_PTHREADS
   1.189 +#    undef _STLP_PTHREADS
   1.190 +#  endif
   1.191 +#  define _STLP_USE_STDIO_IO 1
   1.192 +#  define _STLP_USE_GLIBC 1
   1.193 +#endif
   1.194 +
   1.195 +/* g++ 2.7.x and above */
   1.196 +#define _STLP_LONG_LONG long long
   1.197 +
   1.198 +#ifdef _STLP_USE_UCLIBC
   1.199 +/*
   1.200 +#  ifndef __DO_C99_MATH__
   1.201 +*/
   1.202 +  /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */
   1.203 +#  define _STLP_NO_VENDOR_MATH_F
   1.204 +  /* No *l math fuctions variants (i.e. sqrtl, fabsl, etc.) */
   1.205 +#  define _STLP_NO_VENDOR_MATH_L
   1.206 +#  define _STLP_NO_LONG_DOUBLE
   1.207 +/*
   1.208 +#  endif
   1.209 +*/
   1.210 +#endif
   1.211 +
   1.212 +#if defined (__OpenBSD__) || defined (__FreeBSD__)
   1.213 +#  define _STLP_NO_VENDOR_MATH_L
   1.214 +#  define _STLP_NO_VENDOR_STDLIB_L /* no llabs */
   1.215 +#  ifndef __unix
   1.216 +#    define __unix
   1.217 +#  endif
   1.218 +#endif
   1.219 +
   1.220 +#if defined (__alpha__)
   1.221 +#  define _STLP_NO_VENDOR_MATH_L
   1.222 +#  define _STLP_NO_IEC559_SUPPORT
   1.223 +#endif
   1.224 +
   1.225 +#if defined (__hpux)
   1.226 +#  define _STLP_NO_VENDOR_STDLIB_L /* no llabs */
   1.227 +  /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */
   1.228 +#  define _STLP_NO_VENDOR_MATH_F
   1.229 +#endif
   1.230 +
   1.231 +#if (__GNUC__ >= 3)
   1.232 +#  ifndef _STLP_HAS_NO_NEW_C_HEADERS
   1.233 +/*
   1.234 +#    ifndef _STLP_USE_UCLIBC
   1.235 +*/
   1.236 +#    define _STLP_HAS_NATIVE_FLOAT_ABS
   1.237 +/*
   1.238 +#    endif
   1.239 +*/
   1.240 +#  else
   1.241 +#    ifdef _STLP_USE_GLIBC
   1.242 +#      define _STLP_VENDOR_LONG_DOUBLE_MATH  1
   1.243 +#    endif
   1.244 +#  endif
   1.245 +#endif
   1.246 +
   1.247 +#if (__GNUC__ < 3)
   1.248 +#  define _STLP_HAS_NO_NEW_C_HEADERS     1
   1.249 +#  if !defined(_STLP_VENDOR_GLOBAL_CSTD)
   1.250 +#    define _STLP_VENDOR_GLOBAL_CSTD       1
   1.251 +#  endif
   1.252 +#  define _STLP_DONT_USE_PTHREAD_SPINLOCK 1
   1.253 +#  ifndef __HONOR_STD
   1.254 +#    define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1
   1.255 +#  endif
   1.256 +/* egcs fails to initialize builtin types in expr. like this : new(p) char();  */
   1.257 +#  define _STLP_DEF_CONST_PLCT_NEW_BUG 1
   1.258 +#endif
   1.259 +
   1.260 +/*
   1.261 +#define _STLP_VENDOR_GLOBAL_CSTD 1
   1.262 +*/
   1.263 +
   1.264 +#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)
   1.265 +#  define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
   1.266 +#  define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
   1.267 +#  define _STLP_DEF_CONST_DEF_PARAM_BUG 1
   1.268 +#else
   1.269 +#  undef _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
   1.270 +#  undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
   1.271 +#endif
   1.272 +
   1.273 +#if (__GNUC_MINOR__ < 9)  && (__GNUC__ < 3) && !(defined (__SYMBIAN32__) && defined (__GCCXML__))/* gcc 2.8 */
   1.274 +#  define _STLP_NO_TEMPLATE_CONVERSIONS
   1.275 +#  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
   1.276 +#  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
   1.277 +#  define _STLP_NO_FRIEND_TEMPLATES 1
   1.278 +#  define _STLP_HAS_NO_NAMESPACES 1
   1.279 +#  define _STLP_NO_METHOD_SPECIALIZATION 1
   1.280 +#  define _STLP_NO_MEMBER_TEMPLATES 1
   1.281 +#  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
   1.282 +#  define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
   1.283 +/*  DJGPP doesn't seem to implement it in 2.8.x */
   1.284 +#  ifdef DJGPP
   1.285 +#    define  _STLP_NO_STATIC_TEMPLATE_DATA 1
   1.286 +#  endif
   1.287 +#endif
   1.288 +
   1.289 +#if __GNUC__ <= 2 && __GNUC_MINOR__ <= 7 && !defined (__CYGWIN32__) && !(defined (__SYMBIAN32__) && defined (__GCCXML__))
   1.290 +/* Will it work with 2.6 ? I doubt it. */
   1.291 +#  if ( __GNUC_MINOR__ < 6 )
   1.292 +__GIVE_UP_WITH_STL(GCC_272);
   1.293 +#  endif
   1.294 +
   1.295 +#  define  _STLP_NO_RELOPS_NAMESPACE
   1.296 +#  define  _STLP_NON_TYPE_TMPL_PARAM_BUG
   1.297 +#  define  _STLP_LIMITED_DEFAULT_TEMPLATES 1
   1.298 +#  define  _STLP_DEFAULT_TYPE_PARAM 1
   1.299 +#  define  _STLP_NO_BAD_ALLOC
   1.300 +#  define  _STLP_NO_ARROW_OPERATOR 1
   1.301 +#  ifndef _STLP_NO_STATIC_TEMPLATE_DATA
   1.302 +#    define  _STLP_NO_STATIC_TEMPLATE_DATA
   1.303 +#  endif
   1.304 +#  define  _STLP_STATIC_CONST_INIT_BUG 1
   1.305 +#  define  _STLP_NO_METHOD_SPECIALIZATION 1
   1.306 +
   1.307 +#  if !defined (__CYGWIN32__)
   1.308 +#    define _STLP_NESTED_TYPE_PARAM_BUG   1
   1.309 +#    define _STLP_BASE_MATCH_BUG       1
   1.310 +/*  unused operators are required (forward) */
   1.311 +#    define  _STLP_CONST_CONSTRUCTOR_BUG
   1.312 +#    define _STLP_NO_DEFAULT_NON_TYPE_PARAM
   1.313 +#  endif
   1.314 +#  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
   1.315 +#  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
   1.316 +#  if !(defined (__SYMBIAN32__) && defined (__GCCXML__))
   1.317 +#    define _STLP_NO_EXCEPTION_HEADER 1
   1.318 +#  endif
   1.319 +#else /* ! <= 2.7.* */
   1.320 +#endif /* ! <= 2.7.* */
   1.321 +
   1.322 +/* static template data members workaround strategy for gcc tries
   1.323 + * to use weak symbols.
   1.324 + * if you don't want to use that, #define _STLP_WEAK_ATTRIBUTE=0 ( you'll
   1.325 + * have to put "#define __PUT_STATIC_DATA_MEMBERS_HERE" line in one of your
   1.326 + * compilation unit ( or CFLAGS for it ) _before_ including any STL header ).
   1.327 + */
   1.328 +#if defined (_STLP_NO_STATIC_TEMPLATE_DATA) && ! defined (_STLP_WEAK_ATTRIBUTE )
   1.329 +/* systems using GNU ld or format that supports weak symbols
   1.330 +   may use "weak" attribute
   1.331 +   Linux & Solaris ( x86 & SPARC ) are being auto-recognized here */
   1.332 +#  if defined(_STLP_GNU_LD) || defined(__ELF__) || defined (__CYGWIN__) || \
   1.333 +     (( defined (__SVR4) || defined ( __svr4__ )) && \
   1.334 +      ( defined (sun) || defined ( __sun__ )))
   1.335 +#    define _STLP_WEAK_ATTRIBUTE 1
   1.336 +#  endif
   1.337 +#endif /* _STLP_WEAK_ATTRIBUTE */
   1.338 +
   1.339 +
   1.340 +/* strict ANSI prohibits "long long" ( gcc) */
   1.341 +#if defined ( __STRICT_ANSI__ )
   1.342 +#  undef _STLP_LONG_LONG
   1.343 +/*
   1.344 +#    define _STLP_STRICT_ANSI 1
   1.345 +*/
   1.346 +#endif
   1.347 +
   1.348 +/*
   1.349 +#if !defined (__STRICT_ANSI__) || defined (__BUILDING_STLPORT)
   1.350 +#  define _STLP_USE_TEMPLATE_EXPORT
   1.351 +#  define _STLP_EXPORT_TEMPLATE_KEYWORD extern
   1.352 +#  define _STLP_IMPORT_TEMPLATE_KEYWORD extern
   1.353 +#endif
   1.354 +*/
   1.355 +
   1.356 +#ifndef __EXCEPTIONS
   1.357 +#  undef  _STLP_DONT_USE_EXCEPTIONS
   1.358 +#  define _STLP_DONT_USE_EXCEPTIONS 1
   1.359 +#endif
   1.360 +
   1.361 +#if (__GNUC__ >= 3)
   1.362 +
   1.363 +#  if !defined (_STLP_NATIVE_INCLUDE_PATH)
   1.364 +#    if ( (__GNUC__ == 3 ) && ((__GNUC_MINOR__ == 0) || ((__GNUC_MINOR__ < 3) && defined(__APPLE_CC__))))
   1.365 +#      define _STLP_NATIVE_INCLUDE_PATH ../g++-v3
   1.366 +#    else
   1.367 +#      if ( ((__GNUC__ == 4 ) || (__GNUC_MINOR__ >= 3)) && defined(__APPLE_CC__))
   1.368 +#        define _STLP_NATIVE_INCLUDE_PATH ../c++
   1.369 +/*
   1.370 +* Before version 3.4.0 the 0 patch level was not part of the include path:
   1.371 +*/
   1.372 +#      elif defined (__GNUC_PATCHLEVEL__) && ((__GNUC_PATCHLEVEL__ > 0) || \
   1.373 +                                              (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \
   1.374 +                                              (__GNUC__ > 3))
   1.375 +#        define _STLP_NATIVE_INCLUDE_PATH ../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__
   1.376 +#      else
   1.377 +#        define _STLP_NATIVE_INCLUDE_PATH ../__GNUC__.__GNUC_MINOR__
   1.378 +#      endif
   1.379 +#    endif
   1.380 +#  endif
   1.381 +
   1.382 +/* Instantiation scheme that used (default) in gcc 3 made void of sense explicit
   1.383 +   instantiation within library: nothing except increased library size. - ptr
   1.384 + */
   1.385 +#  define _STLP_NO_FORCE_INSTANTIATE
   1.386 +
   1.387 +#elif (__GNUC_MINOR__ < 8)
   1.388 +
   1.389 +#  if !defined (_STLP_NATIVE_INCLUDE_PATH)
   1.390 +#    if !defined (__SYMBIAN32__)
   1.391 +#      define _STLP_NATIVE_INCLUDE_PATH ../g++-include
   1.392 +#    endif
   1.393 +#  endif
   1.394 +
   1.395 +/* tuning of static template data members workaround */
   1.396 +#  if ( _STLP_STATIC_TEMPLATE_DATA < 1 )
   1.397 +#    if ( _STLP_WEAK_ATTRIBUTE > 0 )
   1.398 +#      define _STLP_WEAK __attribute__ (( weak ))
   1.399 +#    else
   1.400 +#      define _STLP_WEAK
   1.401 +#    endif /* _STLP_WEAK_ATTRIBUTE */
   1.402 +
   1.403 +#    ifdef __PUT_STATIC_DATA_MEMBERS_HERE
   1.404 +#      define __DECLARE_INSTANCE(type,item,init) type item _STLP_WEAK init
   1.405 +#    else
   1.406 +#      define __DECLARE_INSTANCE(type,item,init)
   1.407 +#    endif /* __PUT_STATIC_DATA_MEMBERS_HERE */
   1.408 +#  endif /* _STLP_STATIC_TEMPLATE_DATA */
   1.409 +
   1.410 +#else
   1.411 +
   1.412 +/* gcc-2.95.0 used to use "g++-3" directory which has been changed to "g++" in
   1.413 + * system-dependent "include" for 2.95.2 except for Cygwin and Mingw packages.
   1.414 + * I expect "g++-3" not being used in later releases.
   1.415 + * If your installation use "g++-3" include directory for any reason (pre-2.95.2 or Win binary kit),
   1.416 + * please change the macro below to point to your directory.
   1.417 + */
   1.418 +
   1.419 +#  if !defined (_STLP_NATIVE_INCLUDE_PATH)
   1.420 +#    if defined(__DJGPP)
   1.421 +#      define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx
   1.422 +#    elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97)
   1.423 +#      define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v3
   1.424 +#    elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && \
   1.425 +          !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) || defined (__OS2__) ) )
   1.426 +#      define _STLP_NATIVE_INCLUDE_PATH ../g++-3
   1.427 +#    elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ )
   1.428 +/* this really sucks, as GNUpro does not really identifies itself, so we have to guess
   1.429 + * depending on a platform
   1.430 + */
   1.431 +#      ifdef __hpux
   1.432 +#        define _STLP_NATIVE_INCLUDE_PATH ../g++-3
   1.433 +#      else
   1.434 +#        define _STLP_NATIVE_INCLUDE_PATH ../g++-2
   1.435 +#      endif
   1.436 +#    else
   1.437 +#      define _STLP_NATIVE_INCLUDE_PATH g++
   1.438 +#    endif
   1.439 +#  endif
   1.440 +
   1.441 +/* <exception> et al */
   1.442 +#  ifdef __FreeBSD__
   1.443 +#    if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ > 95)
   1.444 +#      define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../include
   1.445 +#    endif
   1.446 +#  else
   1.447 +/* azov */
   1.448 +#    ifndef __Lynx__
   1.449 +#      if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)
   1.450 +/*
   1.451 +#     define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../g++-v3
   1.452 +*/
   1.453 +#      else
   1.454 +#        define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../include
   1.455 +#      endif
   1.456 +#    endif
   1.457 +#  endif
   1.458 +
   1.459 +#endif /* GNUC_MINOR < 8 */
   1.460 +
   1.461 +#if !defined (_STLP_NATIVE_C_INCLUDE_PATH)
   1.462 +#  define _STLP_NATIVE_C_INCLUDE_PATH ../include
   1.463 +#endif
   1.464 +
   1.465 +/* Tune settings for the case where static template data members are not
   1.466 + * instaniated by default
   1.467 + */
   1.468 +#if defined ( _STLP_NO_STATIC_TEMPLATE_DATA )
   1.469 +#  define _STLP_STATIC_TEMPLATE_DATA 0
   1.470 +#  if !defined ( _STLP_WEAK_ATTRIBUTE )
   1.471 +#    define _STLP_WEAK_ATTRIBUTE 0
   1.472 +#  endif
   1.473 +#  ifdef __PUT_STATIC_DATA_MEMBERS_HERE
   1.474 +#    define __DECLARE_INSTANCE(type,item,init) type item init
   1.475 +#  else
   1.476 +#    define __DECLARE_INSTANCE(type,item,init)
   1.477 +#  endif
   1.478 +#else
   1.479 +#  define _STLP_STATIC_TEMPLATE_DATA 1
   1.480 +#endif
   1.481 +
   1.482 +/* Setup GCCXML specific configuration on Symbian.*/
   1.483 +#if defined (__SYMBIAN32__) && defined (__GCCXML__)
   1.484 +//#  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
   1.485 +#define _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS 1
   1.486 +#define _STLP_NO_TYPEINFO
   1.487 +#endif
   1.488 +