epoc32/include/stdapis/stlport/config/_gcc.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /* STLport configuration file
     2  * It is internal STLport header - DO NOT include it directly
     3  */
     4 
     5 #define _STLP_COMPILER "gcc"
     6 
     7 /* Systems having GLIBC installed have different traits */
     8 #if defined (__linux__)
     9 #  ifndef _STLP_USE_GLIBC
    10 #    define _STLP_USE_GLIBC 1
    11 #  endif
    12 #  if defined (__UCLIBC__) && !defined (_STLP_USE_UCLIBC)
    13 #    define _STLP_USE_UCLIBC 1
    14 #  endif
    15 #endif
    16 
    17 #if defined (__CYGWIN__) && \
    18      (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 3) && !defined (_GLIBCPP_USE_C99)
    19 #  define _STLP_NO_VENDOR_MATH_L
    20 #  define _STLP_NO_VENDOR_STDLIB_L
    21 #endif
    22 
    23 #if (__GNUC__ < 3)
    24 #  define _STLP_NO_VENDOR_STDLIB_L
    25 #endif
    26 
    27 #if defined (__SYMBIAN32__) && !defined (_STLP_NO_VENDOR_STDLIB_L)
    28 //The following macro is defined so that the vendor's APIs dont get picked. Rather the ones from PIPS are used.
    29 #  define _STLP_NO_VENDOR_STDLIB_L
    30 #endif // (__SYMBIAN32__) && !defined (_STLP_NO_VENDOR_STDLIB_L)
    31 
    32 /* We guess if we are using the cygwin distrib that has a special include schema.
    33  * There is no way to distinguish a cygwin distrib used in no-cygwin mode from a
    34  * mingw install. We are forced to use a configuration option
    35  */
    36 #if !defined (_STLP_NATIVE_INCLUDE_PATH) && \
    37     (defined (__CYGWIN__) || defined (__MINGW32__) && defined (_STLP_NO_CYGWIN))
    38 #  if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
    39 #    define _STLP_NATIVE_INCLUDE_PATH ../../../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/include/c++
    40 #  elif defined (_STLP_NO_CYGWIN)
    41 #    define _STLP_NATIVE_INCLUDE_PATH ../mingw
    42 /*#  else
    43  * Before version gcc 3.4, the cygwin package include path was conform to the
    44  * GNU convention which is set later in this file.
    45  */
    46 #  endif
    47 #endif
    48 
    49 #if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 4))
    50 /* define for gcc versions before 3.4.0. */
    51 #  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD
    52 #endif
    53 
    54 /* azov: gcc on lynx have a bug that causes internal
    55  * compiler errors when compiling STLport with namespaces turned on.
    56  * When the compiler gets better - comment out _STLP_HAS_NO_NAMESPACES
    57  */
    58 #if defined (__Lynx__) && (__GNUC__ < 3)
    59 #  define _STLP_HAS_NO_NAMESPACES 1
    60 #  define _STLP_NO_STATIC_TEMPLATE_DATA 1
    61 /* turn off useless warning about including system headers */
    62 #  define __NO_INCLUDE_WARN__ 1
    63 #endif
    64 
    65 /* Tru64 Unix, AIX, HP : gcc there by default uses native ld and hence cannot auto-instantiate
    66    static template data. If you are using GNU ld, please say so in user_config.h header */
    67 #if (__GNUC__ < 3) && !defined(_STLP_GCC_USES_GNU_LD) && \
    68    ((defined (__osf__) && defined (__alpha__)) || defined (_AIX) || defined (__hpux) || defined(__amigaos__) )
    69 #  define _STLP_NO_STATIC_TEMPLATE_DATA
    70 #endif
    71 
    72 #if !defined (_REENTRANT) && (defined (_THREAD_SAFE) || \
    73                              (defined (__OpenBSD__) && defined (_POSIX_THREADS)) || \
    74                              (defined (__MINGW32__) && defined (_MT)))
    75 #  define _REENTRANT
    76 #endif
    77 
    78 #if defined (__DJGPP)
    79 #  define _STLP_RAND48    1
    80 #  define _NOTHREADS    1
    81 #  undef  _PTHREADS
    82 #  define _STLP_LITTLE_ENDIAN
    83 #endif
    84 
    85 #ifdef __SYMBIAN32__
    86 #  if !defined(_STLP_LITTLE_ENDIAN)
    87 #    define _STLP_LITTLE_ENDIAN
    88 #  endif
    89 #endif
    90 #if defined (__MINGW32__) && !defined (__SYMBIAN32__)
    91 /* Mingw32, egcs compiler using the Microsoft C runtime */
    92 #  define _STLP_VENDOR_GLOBAL_CSTD
    93 #  undef  _STLP_NO_DRAND48
    94 #  define _STLP_NO_DRAND48
    95 #  define _STLP_CALL
    96 
    97 #  if defined (_STLP_NEW_PLATFORM_SDK)
    98 /* For the moment the Windows SDK coming with Mingw still mimik the old platform SDK. */
    99 #    undef _STLP_NEW_PLATFORM_SDK
   100 #  endif
   101 #endif /* __MINGW32__ */
   102 
   103 #if defined (__CYGWIN__) || defined (__MINGW32__) && !defined(__SYMBIAN32__)
   104 #  if !defined (_STLP_USE_STATIC_LIB)
   105 #    define _STLP_USE_DECLSPEC 1
   106 #    if !defined (_STLP_USE_DYNAMIC_LIB)
   107 #      define _STLP_USE_DYNAMIC_LIB
   108 #    endif
   109 #    define _STLP_EXPORT_DECLSPEC __declspec(dllexport)
   110 #    define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport)
   111 #    define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport)
   112 #  endif
   113 /* The following is defined independently of _STLP_USE_STATIC_LIB because it is also
   114  * used to import symbols from PSDK under MinGW
   115  */
   116 #  define _STLP_IMPORT_DECLSPEC __declspec(dllimport)
   117 #endif
   118 
   119 #if !defined (__SYMBIAN32__) && (defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun) || defined(__APPLE__)))
   120 #  if !defined (__MINGW32__) && !defined (__CYGWIN__)
   121 #    define _STLP_NO_NATIVE_MBSTATE_T    1
   122 #  endif
   123 #  if !defined (__MINGW32__) || (__GNUC__ < 3) || (__GNUC__ == 3) && (__GNUC_MINOR__ < 4)
   124 #    define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1
   125 #  endif
   126 #  define _STLP_NO_NATIVE_WIDE_STREAMS   1
   127 #endif
   128 
   129 #define _STLP_NORETURN_FUNCTION __attribute__((noreturn))
   130 
   131 /* Mac OS X is a little different with namespaces and cannot instantiate
   132  * static data members in template classes */
   133 #if defined (__APPLE__)
   134 #  if ((__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)))
   135 /* Mac OS X is missing a required typedef and standard macro */
   136 typedef unsigned int wint_t;
   137 #  endif
   138 
   139 #  define __unix
   140 
   141 #  if (__GNUC__ < 3)
   142 
   143  /* Mac OS X needs one and only one source file to initialize all static data
   144   * members in template classes. Only one source file in an executable or
   145   * library can declare instances for such data members, otherwise duplicate
   146   * symbols will be generated. */
   147 
   148 #    define _STLP_NO_STATIC_TEMPLATE_DATA
   149 #    define _STLP_STATIC_CONST_INIT_BUG 1
   150 #    define _STLP_STATIC_TEMPLATE_DATA 0
   151 #    define _STLP_WEAK_ATTRIBUTE 1
   152  /* Workaround for the broken Mac OS X C++ preprocessor which cannot handle
   153   * parameterized macros in #include statements */
   154 #    define _STLP_NATIVE_HEADER(header) <../g++/##header##>
   155 #    define _STLP_NATIVE_C_HEADER(header) <../include/##header##>
   156 #    define _STLP_NATIVE_CPP_C_HEADER(header) <../g++/##header##>
   157 #    define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../g++/##header##>
   158 #    define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../g++/##header##>
   159 #  endif /* __GNUC__ < 3 */
   160 
   161 #  define _STLP_NO_LONG_DOUBLE
   162 
   163 /* Mac OS X needs all "::" scope references to be "std::" */
   164 #  define _STLP_USE_NEW_C_HEADERS
   165 
   166 #  define _STLP_NO_VENDOR_STDLIB_L
   167 
   168 #endif /* __APPLE__ */
   169 
   170 
   171 #if defined(__BEOS__) && defined(__INTEL__)
   172 #  define _STLP_NATIVE_HEADER(header) <../stlport/beos/##header##>
   173 #  define _STLP_NATIVE_C_HEADER(header) <../stlport/beos/##header##>
   174 #  define _STLP_NATIVE_CPP_C_HEADER(header) <../stlport/beos/##header##>
   175 #  define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../stlport/beos/##header##>
   176 #  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../stlport/beos/##header##>
   177 #  define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1
   178 #  define _STLP_NO_NATIVE_WIDE_STREAMS   1
   179 /*
   180 #  define _NOTHREADS 1
   181 */
   182 #  ifdef _PTHREADS
   183 #    undef  _PTHREADS
   184 #  endif
   185 #  ifdef _STLP_PTHREADS
   186 #    undef _STLP_PTHREADS
   187 #  endif
   188 #  define _STLP_USE_STDIO_IO 1
   189 #  define _STLP_USE_GLIBC 1
   190 #endif
   191 
   192 /* g++ 2.7.x and above */
   193 #define _STLP_LONG_LONG long long
   194 
   195 #ifdef _STLP_USE_UCLIBC
   196 /*
   197 #  ifndef __DO_C99_MATH__
   198 */
   199   /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */
   200 #  define _STLP_NO_VENDOR_MATH_F
   201   /* No *l math fuctions variants (i.e. sqrtl, fabsl, etc.) */
   202 #  define _STLP_NO_VENDOR_MATH_L
   203 #  define _STLP_NO_LONG_DOUBLE
   204 /*
   205 #  endif
   206 */
   207 #endif
   208 
   209 #if defined (__OpenBSD__) || defined (__FreeBSD__)
   210 #  define _STLP_NO_VENDOR_MATH_L
   211 #  define _STLP_NO_VENDOR_STDLIB_L /* no llabs */
   212 #  ifndef __unix
   213 #    define __unix
   214 #  endif
   215 #endif
   216 
   217 #if defined (__alpha__)
   218 #  define _STLP_NO_VENDOR_MATH_L
   219 #  define _STLP_NO_IEC559_SUPPORT
   220 #endif
   221 
   222 #if defined (__hpux)
   223 #  define _STLP_NO_VENDOR_STDLIB_L /* no llabs */
   224   /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */
   225 #  define _STLP_NO_VENDOR_MATH_F
   226 #endif
   227 
   228 #if (__GNUC__ >= 3)
   229 #  ifndef _STLP_HAS_NO_NEW_C_HEADERS
   230 /*
   231 #    ifndef _STLP_USE_UCLIBC
   232 */
   233 #    define _STLP_HAS_NATIVE_FLOAT_ABS
   234 /*
   235 #    endif
   236 */
   237 #  else
   238 #    ifdef _STLP_USE_GLIBC
   239 #      define _STLP_VENDOR_LONG_DOUBLE_MATH  1
   240 #    endif
   241 #  endif
   242 #endif
   243 
   244 #if (__GNUC__ < 3)
   245 #  define _STLP_HAS_NO_NEW_C_HEADERS     1
   246 #  if !defined(_STLP_VENDOR_GLOBAL_CSTD)
   247 #    define _STLP_VENDOR_GLOBAL_CSTD       1
   248 #  endif
   249 #  define _STLP_DONT_USE_PTHREAD_SPINLOCK 1
   250 #  ifndef __HONOR_STD
   251 #    define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1
   252 #  endif
   253 /* egcs fails to initialize builtin types in expr. like this : new(p) char();  */
   254 #  define _STLP_DEF_CONST_PLCT_NEW_BUG 1
   255 #endif
   256 
   257 /*
   258 #define _STLP_VENDOR_GLOBAL_CSTD 1
   259 */
   260 
   261 #if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)
   262 #  define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
   263 #  define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
   264 #  define _STLP_DEF_CONST_DEF_PARAM_BUG 1
   265 #else
   266 #  undef _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT
   267 #  undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
   268 #endif
   269 
   270 #if (__GNUC_MINOR__ < 9)  && (__GNUC__ < 3) && !(defined (__SYMBIAN32__) && defined (__GCCXML__))/* gcc 2.8 */
   271 #  define _STLP_NO_TEMPLATE_CONVERSIONS
   272 #  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
   273 #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
   274 #  define _STLP_NO_FRIEND_TEMPLATES 1
   275 #  define _STLP_HAS_NO_NAMESPACES 1
   276 #  define _STLP_NO_METHOD_SPECIALIZATION 1
   277 #  define _STLP_NO_MEMBER_TEMPLATES 1
   278 #  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
   279 #  define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
   280 /*  DJGPP doesn't seem to implement it in 2.8.x */
   281 #  ifdef DJGPP
   282 #    define  _STLP_NO_STATIC_TEMPLATE_DATA 1
   283 #  endif
   284 #endif
   285 
   286 #if __GNUC__ <= 2 && __GNUC_MINOR__ <= 7 && !defined (__CYGWIN32__) && !(defined (__SYMBIAN32__) && defined (__GCCXML__))
   287 /* Will it work with 2.6 ? I doubt it. */
   288 #  if ( __GNUC_MINOR__ < 6 )
   289 __GIVE_UP_WITH_STL(GCC_272);
   290 #  endif
   291 
   292 #  define  _STLP_NO_RELOPS_NAMESPACE
   293 #  define  _STLP_NON_TYPE_TMPL_PARAM_BUG
   294 #  define  _STLP_LIMITED_DEFAULT_TEMPLATES 1
   295 #  define  _STLP_DEFAULT_TYPE_PARAM 1
   296 #  define  _STLP_NO_BAD_ALLOC
   297 #  define  _STLP_NO_ARROW_OPERATOR 1
   298 #  ifndef _STLP_NO_STATIC_TEMPLATE_DATA
   299 #    define  _STLP_NO_STATIC_TEMPLATE_DATA
   300 #  endif
   301 #  define  _STLP_STATIC_CONST_INIT_BUG 1
   302 #  define  _STLP_NO_METHOD_SPECIALIZATION 1
   303 
   304 #  if !defined (__CYGWIN32__)
   305 #    define _STLP_NESTED_TYPE_PARAM_BUG   1
   306 #    define _STLP_BASE_MATCH_BUG       1
   307 /*  unused operators are required (forward) */
   308 #    define  _STLP_CONST_CONSTRUCTOR_BUG
   309 #    define _STLP_NO_DEFAULT_NON_TYPE_PARAM
   310 #  endif
   311 #  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
   312 #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
   313 #  if !(defined (__SYMBIAN32__) && defined (__GCCXML__))
   314 #    define _STLP_NO_EXCEPTION_HEADER 1
   315 #  endif
   316 #else /* ! <= 2.7.* */
   317 #endif /* ! <= 2.7.* */
   318 
   319 /* static template data members workaround strategy for gcc tries
   320  * to use weak symbols.
   321  * if you don't want to use that, #define _STLP_WEAK_ATTRIBUTE=0 ( you'll
   322  * have to put "#define __PUT_STATIC_DATA_MEMBERS_HERE" line in one of your
   323  * compilation unit ( or CFLAGS for it ) _before_ including any STL header ).
   324  */
   325 #if defined (_STLP_NO_STATIC_TEMPLATE_DATA) && ! defined (_STLP_WEAK_ATTRIBUTE )
   326 /* systems using GNU ld or format that supports weak symbols
   327    may use "weak" attribute
   328    Linux & Solaris ( x86 & SPARC ) are being auto-recognized here */
   329 #  if defined(_STLP_GNU_LD) || defined(__ELF__) || defined (__CYGWIN__) || \
   330      (( defined (__SVR4) || defined ( __svr4__ )) && \
   331       ( defined (sun) || defined ( __sun__ )))
   332 #    define _STLP_WEAK_ATTRIBUTE 1
   333 #  endif
   334 #endif /* _STLP_WEAK_ATTRIBUTE */
   335 
   336 
   337 /* strict ANSI prohibits "long long" ( gcc) */
   338 #if defined ( __STRICT_ANSI__ )
   339 #  undef _STLP_LONG_LONG
   340 /*
   341 #    define _STLP_STRICT_ANSI 1
   342 */
   343 #endif
   344 
   345 /*
   346 #if !defined (__STRICT_ANSI__) || defined (__BUILDING_STLPORT)
   347 #  define _STLP_USE_TEMPLATE_EXPORT
   348 #  define _STLP_EXPORT_TEMPLATE_KEYWORD extern
   349 #  define _STLP_IMPORT_TEMPLATE_KEYWORD extern
   350 #endif
   351 */
   352 
   353 #ifndef __EXCEPTIONS
   354 #  undef  _STLP_DONT_USE_EXCEPTIONS
   355 #  define _STLP_DONT_USE_EXCEPTIONS 1
   356 #endif
   357 
   358 #if (__GNUC__ >= 3)
   359 
   360 #  if !defined (_STLP_NATIVE_INCLUDE_PATH)
   361 #    if ( (__GNUC__ == 3 ) && ((__GNUC_MINOR__ == 0) || ((__GNUC_MINOR__ < 3) && defined(__APPLE_CC__))))
   362 #      define _STLP_NATIVE_INCLUDE_PATH ../g++-v3
   363 #    else
   364 #      if ( ((__GNUC__ == 4 ) || (__GNUC_MINOR__ >= 3)) && defined(__APPLE_CC__))
   365 #        define _STLP_NATIVE_INCLUDE_PATH ../c++
   366 /*
   367 * Before version 3.4.0 the 0 patch level was not part of the include path:
   368 */
   369 #      elif defined (__GNUC_PATCHLEVEL__) && ((__GNUC_PATCHLEVEL__ > 0) || \
   370                                               (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \
   371                                               (__GNUC__ > 3))
   372 #        define _STLP_NATIVE_INCLUDE_PATH ../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__
   373 #      else
   374 #        define _STLP_NATIVE_INCLUDE_PATH ../__GNUC__.__GNUC_MINOR__
   375 #      endif
   376 #    endif
   377 #  endif
   378 
   379 /* Instantiation scheme that used (default) in gcc 3 made void of sense explicit
   380    instantiation within library: nothing except increased library size. - ptr
   381  */
   382 #  define _STLP_NO_FORCE_INSTANTIATE
   383 
   384 #elif (__GNUC_MINOR__ < 8)
   385 
   386 #  if !defined (_STLP_NATIVE_INCLUDE_PATH)
   387 #    if !defined (__SYMBIAN32__)
   388 #      define _STLP_NATIVE_INCLUDE_PATH ../g++-include
   389 #    endif
   390 #  endif
   391 
   392 /* tuning of static template data members workaround */
   393 #  if ( _STLP_STATIC_TEMPLATE_DATA < 1 )
   394 #    if ( _STLP_WEAK_ATTRIBUTE > 0 )
   395 #      define _STLP_WEAK __attribute__ (( weak ))
   396 #    else
   397 #      define _STLP_WEAK
   398 #    endif /* _STLP_WEAK_ATTRIBUTE */
   399 
   400 #    ifdef __PUT_STATIC_DATA_MEMBERS_HERE
   401 #      define __DECLARE_INSTANCE(type,item,init) type item _STLP_WEAK init
   402 #    else
   403 #      define __DECLARE_INSTANCE(type,item,init)
   404 #    endif /* __PUT_STATIC_DATA_MEMBERS_HERE */
   405 #  endif /* _STLP_STATIC_TEMPLATE_DATA */
   406 
   407 #else
   408 
   409 /* gcc-2.95.0 used to use "g++-3" directory which has been changed to "g++" in
   410  * system-dependent "include" for 2.95.2 except for Cygwin and Mingw packages.
   411  * I expect "g++-3" not being used in later releases.
   412  * If your installation use "g++-3" include directory for any reason (pre-2.95.2 or Win binary kit),
   413  * please change the macro below to point to your directory.
   414  */
   415 
   416 #  if !defined (_STLP_NATIVE_INCLUDE_PATH)
   417 #    if defined(__DJGPP)
   418 #      define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx
   419 #    elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97)
   420 #      define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v3
   421 #    elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && \
   422           !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) || defined (__OS2__) ) )
   423 #      define _STLP_NATIVE_INCLUDE_PATH ../g++-3
   424 #    elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ )
   425 /* this really sucks, as GNUpro does not really identifies itself, so we have to guess
   426  * depending on a platform
   427  */
   428 #      ifdef __hpux
   429 #        define _STLP_NATIVE_INCLUDE_PATH ../g++-3
   430 #      else
   431 #        define _STLP_NATIVE_INCLUDE_PATH ../g++-2
   432 #      endif
   433 #    else
   434 #      define _STLP_NATIVE_INCLUDE_PATH g++
   435 #    endif
   436 #  endif
   437 
   438 /* <exception> et al */
   439 #  ifdef __FreeBSD__
   440 #    if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ > 95)
   441 #      define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../include
   442 #    endif
   443 #  else
   444 /* azov */
   445 #    ifndef __Lynx__
   446 #      if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)
   447 /*
   448 #     define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../g++-v3
   449 */
   450 #      else
   451 #        define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../include
   452 #      endif
   453 #    endif
   454 #  endif
   455 
   456 #endif /* GNUC_MINOR < 8 */
   457 
   458 #if !defined (_STLP_NATIVE_C_INCLUDE_PATH)
   459 #  define _STLP_NATIVE_C_INCLUDE_PATH ../include
   460 #endif
   461 
   462 /* Tune settings for the case where static template data members are not
   463  * instaniated by default
   464  */
   465 #if defined ( _STLP_NO_STATIC_TEMPLATE_DATA )
   466 #  define _STLP_STATIC_TEMPLATE_DATA 0
   467 #  if !defined ( _STLP_WEAK_ATTRIBUTE )
   468 #    define _STLP_WEAK_ATTRIBUTE 0
   469 #  endif
   470 #  ifdef __PUT_STATIC_DATA_MEMBERS_HERE
   471 #    define __DECLARE_INSTANCE(type,item,init) type item init
   472 #  else
   473 #    define __DECLARE_INSTANCE(type,item,init)
   474 #  endif
   475 #else
   476 #  define _STLP_STATIC_TEMPLATE_DATA 1
   477 #endif
   478 
   479