williamr@4: /* STLport configuration file williamr@4: * It is internal STLport header - DO NOT include it directly williamr@4: */ williamr@4: williamr@4: #define _STLP_COMPILER "gcc" williamr@4: williamr@4: /* Systems having GLIBC installed have different traits */ williamr@4: #if defined (__linux__) williamr@4: # ifndef _STLP_USE_GLIBC williamr@4: # define _STLP_USE_GLIBC 1 williamr@4: # endif williamr@4: # if defined (__UCLIBC__) && !defined (_STLP_USE_UCLIBC) williamr@4: # define _STLP_USE_UCLIBC 1 williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: #if defined (__CYGWIN__) && \ williamr@4: (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 3) && !defined (_GLIBCPP_USE_C99) williamr@4: # define _STLP_NO_VENDOR_MATH_L williamr@4: # define _STLP_NO_VENDOR_STDLIB_L williamr@4: #endif williamr@4: williamr@4: #if (__GNUC__ < 3) williamr@4: # define _STLP_NO_VENDOR_STDLIB_L williamr@4: #endif williamr@4: williamr@4: #if defined (__SYMBIAN32__) && !defined (_STLP_NO_VENDOR_STDLIB_L) williamr@4: //The following macro is defined so that the vendor's APIs dont get picked. Rather the ones from PIPS are used. williamr@4: # define _STLP_NO_VENDOR_STDLIB_L williamr@4: #endif // (__SYMBIAN32__) && !defined (_STLP_NO_VENDOR_STDLIB_L) williamr@4: williamr@4: /* We guess if we are using the cygwin distrib that has a special include schema. williamr@4: * There is no way to distinguish a cygwin distrib used in no-cygwin mode from a williamr@4: * mingw install. We are forced to use a configuration option williamr@4: */ williamr@4: #if !defined (_STLP_NATIVE_INCLUDE_PATH) && \ williamr@4: (defined (__CYGWIN__) || defined (__MINGW32__) && defined (_STLP_NO_CYGWIN)) williamr@4: # if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3)) williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../../../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/include/c++ williamr@4: # elif defined (_STLP_NO_CYGWIN) williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../mingw williamr@4: /*# else williamr@4: * Before version gcc 3.4, the cygwin package include path was conform to the williamr@4: * GNU convention which is set later in this file. williamr@4: */ williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: #if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 4)) williamr@4: /* define for gcc versions before 3.4.0. */ williamr@4: # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD williamr@4: #endif williamr@4: williamr@4: /* azov: gcc on lynx have a bug that causes internal williamr@4: * compiler errors when compiling STLport with namespaces turned on. williamr@4: * When the compiler gets better - comment out _STLP_HAS_NO_NAMESPACES williamr@4: */ williamr@4: #if defined (__Lynx__) && (__GNUC__ < 3) williamr@4: # define _STLP_HAS_NO_NAMESPACES 1 williamr@4: # define _STLP_NO_STATIC_TEMPLATE_DATA 1 williamr@4: /* turn off useless warning about including system headers */ williamr@4: # define __NO_INCLUDE_WARN__ 1 williamr@4: #endif williamr@4: williamr@4: /* Tru64 Unix, AIX, HP : gcc there by default uses native ld and hence cannot auto-instantiate williamr@4: static template data. If you are using GNU ld, please say so in user_config.h header */ williamr@4: #if (__GNUC__ < 3) && !defined(_STLP_GCC_USES_GNU_LD) && \ williamr@4: ((defined (__osf__) && defined (__alpha__)) || defined (_AIX) || defined (__hpux) || defined(__amigaos__) ) williamr@4: # define _STLP_NO_STATIC_TEMPLATE_DATA williamr@4: #endif williamr@4: williamr@4: #if !defined (_REENTRANT) && (defined (_THREAD_SAFE) || \ williamr@4: (defined (__OpenBSD__) && defined (_POSIX_THREADS)) || \ williamr@4: (defined (__MINGW32__) && defined (_MT))) williamr@4: # define _REENTRANT williamr@4: #endif williamr@4: williamr@4: #if defined (__DJGPP) williamr@4: # define _STLP_RAND48 1 williamr@4: # define _NOTHREADS 1 williamr@4: # undef _PTHREADS williamr@4: # define _STLP_LITTLE_ENDIAN williamr@4: #endif williamr@4: williamr@4: #ifdef __SYMBIAN32__ williamr@4: # if !defined(_STLP_LITTLE_ENDIAN) williamr@4: # define _STLP_LITTLE_ENDIAN williamr@4: # endif williamr@4: #endif williamr@4: #if defined (__MINGW32__) williamr@4: /* Mingw32, egcs compiler using the Microsoft C runtime */ williamr@4: # define _STLP_VENDOR_GLOBAL_CSTD williamr@4: # undef _STLP_NO_DRAND48 williamr@4: # define _STLP_NO_DRAND48 williamr@4: # define _STLP_CALL williamr@4: williamr@4: # if defined (_STLP_NEW_PLATFORM_SDK) williamr@4: /* For the moment the Windows SDK coming with Mingw still mimik the old platform SDK. */ williamr@4: # undef _STLP_NEW_PLATFORM_SDK williamr@4: # endif williamr@4: #endif /* __MINGW32__ */ williamr@4: williamr@4: #if defined (__CYGWIN__) || defined (__MINGW32__) williamr@4: # if !defined (_STLP_USE_STATIC_LIB) williamr@4: # define _STLP_USE_DECLSPEC 1 williamr@4: # if !defined (_STLP_USE_DYNAMIC_LIB) williamr@4: # define _STLP_USE_DYNAMIC_LIB williamr@4: # endif williamr@4: # define _STLP_EXPORT_DECLSPEC __declspec(dllexport) williamr@4: # define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport) williamr@4: # define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport) williamr@4: # endif williamr@4: /* The following is defined independently of _STLP_USE_STATIC_LIB because it is also williamr@4: * used to import symbols from PSDK under MinGW williamr@4: */ williamr@4: # define _STLP_IMPORT_DECLSPEC __declspec(dllimport) williamr@4: #endif williamr@4: williamr@4: #if !defined (__SYMBIAN32__) && (defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun) || defined(__APPLE__))) williamr@4: # if !defined (__MINGW32__) && !defined (__CYGWIN__) williamr@4: # define _STLP_NO_NATIVE_MBSTATE_T 1 williamr@4: # endif williamr@4: # if !defined (__MINGW32__) || (__GNUC__ < 3) || (__GNUC__ == 3) && (__GNUC_MINOR__ < 4) williamr@4: # define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 williamr@4: # endif williamr@4: # define _STLP_NO_NATIVE_WIDE_STREAMS 1 williamr@4: #endif williamr@4: williamr@4: #define _STLP_NORETURN_FUNCTION __attribute__((noreturn)) williamr@4: williamr@4: /* Mac OS X is a little different with namespaces and cannot instantiate williamr@4: * static data members in template classes */ williamr@4: #if defined (__APPLE__) williamr@4: # if ((__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))) williamr@4: /* Mac OS X is missing a required typedef and standard macro */ williamr@4: typedef unsigned int wint_t; williamr@4: # endif williamr@4: williamr@4: # define __unix williamr@4: williamr@4: # if (__GNUC__ < 3) williamr@4: williamr@4: /* Mac OS X needs one and only one source file to initialize all static data williamr@4: * members in template classes. Only one source file in an executable or williamr@4: * library can declare instances for such data members, otherwise duplicate williamr@4: * symbols will be generated. */ williamr@4: williamr@4: # define _STLP_NO_STATIC_TEMPLATE_DATA williamr@4: # define _STLP_STATIC_CONST_INIT_BUG 1 williamr@4: # define _STLP_STATIC_TEMPLATE_DATA 0 williamr@4: # define _STLP_WEAK_ATTRIBUTE 1 williamr@4: /* Workaround for the broken Mac OS X C++ preprocessor which cannot handle williamr@4: * parameterized macros in #include statements */ williamr@4: # define _STLP_NATIVE_HEADER(header) <../g++/##header##> williamr@4: # define _STLP_NATIVE_C_HEADER(header) <../include/##header##> williamr@4: # define _STLP_NATIVE_CPP_C_HEADER(header) <../g++/##header##> williamr@4: # define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../g++/##header##> williamr@4: # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../g++/##header##> williamr@4: # endif /* __GNUC__ < 3 */ williamr@4: williamr@4: # define _STLP_NO_LONG_DOUBLE williamr@4: williamr@4: /* Mac OS X needs all "::" scope references to be "std::" */ williamr@4: # define _STLP_USE_NEW_C_HEADERS williamr@4: williamr@4: # define _STLP_NO_VENDOR_STDLIB_L williamr@4: williamr@4: #endif /* __APPLE__ */ williamr@4: williamr@4: williamr@4: #if defined(__BEOS__) && defined(__INTEL__) williamr@4: # define _STLP_NATIVE_HEADER(header) <../stlport/beos/##header##> williamr@4: # define _STLP_NATIVE_C_HEADER(header) <../stlport/beos/##header##> williamr@4: # define _STLP_NATIVE_CPP_C_HEADER(header) <../stlport/beos/##header##> williamr@4: # define _STLP_NATIVE_OLD_STREAMS_HEADER(header) <../stlport/beos/##header##> williamr@4: # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../stlport/beos/##header##> williamr@4: # define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 williamr@4: # define _STLP_NO_NATIVE_WIDE_STREAMS 1 williamr@4: /* williamr@4: # define _NOTHREADS 1 williamr@4: */ williamr@4: # ifdef _PTHREADS williamr@4: # undef _PTHREADS williamr@4: # endif williamr@4: # ifdef _STLP_PTHREADS williamr@4: # undef _STLP_PTHREADS williamr@4: # endif williamr@4: # define _STLP_USE_STDIO_IO 1 williamr@4: # define _STLP_USE_GLIBC 1 williamr@4: #endif williamr@4: williamr@4: /* g++ 2.7.x and above */ williamr@4: #define _STLP_LONG_LONG long long williamr@4: williamr@4: #ifdef _STLP_USE_UCLIBC williamr@4: /* williamr@4: # ifndef __DO_C99_MATH__ williamr@4: */ williamr@4: /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */ williamr@4: # define _STLP_NO_VENDOR_MATH_F williamr@4: /* No *l math fuctions variants (i.e. sqrtl, fabsl, etc.) */ williamr@4: # define _STLP_NO_VENDOR_MATH_L williamr@4: # define _STLP_NO_LONG_DOUBLE williamr@4: /* williamr@4: # endif williamr@4: */ williamr@4: #endif williamr@4: williamr@4: #if defined (__OpenBSD__) || defined (__FreeBSD__) williamr@4: # define _STLP_NO_VENDOR_MATH_L williamr@4: # define _STLP_NO_VENDOR_STDLIB_L /* no llabs */ williamr@4: # ifndef __unix williamr@4: # define __unix williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: #if defined (__alpha__) williamr@4: # define _STLP_NO_VENDOR_MATH_L williamr@4: # define _STLP_NO_IEC559_SUPPORT williamr@4: #endif williamr@4: williamr@4: #if defined (__hpux) williamr@4: # define _STLP_NO_VENDOR_STDLIB_L /* no llabs */ williamr@4: /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */ williamr@4: # define _STLP_NO_VENDOR_MATH_F williamr@4: #endif williamr@4: williamr@4: #if (__GNUC__ >= 3) williamr@4: # ifndef _STLP_HAS_NO_NEW_C_HEADERS williamr@4: /* williamr@4: # ifndef _STLP_USE_UCLIBC williamr@4: */ williamr@4: # define _STLP_HAS_NATIVE_FLOAT_ABS williamr@4: /* williamr@4: # endif williamr@4: */ williamr@4: # else williamr@4: # ifdef _STLP_USE_GLIBC williamr@4: # define _STLP_VENDOR_LONG_DOUBLE_MATH 1 williamr@4: # endif williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: #if (__GNUC__ < 3) williamr@4: # define _STLP_HAS_NO_NEW_C_HEADERS 1 williamr@4: # if !defined(_STLP_VENDOR_GLOBAL_CSTD) williamr@4: # define _STLP_VENDOR_GLOBAL_CSTD 1 williamr@4: # endif williamr@4: # define _STLP_DONT_USE_PTHREAD_SPINLOCK 1 williamr@4: # ifndef __HONOR_STD williamr@4: # define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1 williamr@4: # endif williamr@4: /* egcs fails to initialize builtin types in expr. like this : new(p) char(); */ williamr@4: # define _STLP_DEF_CONST_PLCT_NEW_BUG 1 williamr@4: #endif williamr@4: williamr@4: /* williamr@4: #define _STLP_VENDOR_GLOBAL_CSTD 1 williamr@4: */ williamr@4: williamr@4: #if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95) williamr@4: # define _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT williamr@4: # define _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT williamr@4: # define _STLP_DEF_CONST_DEF_PARAM_BUG 1 williamr@4: #else williamr@4: # undef _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT williamr@4: # undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT williamr@4: #endif williamr@4: williamr@4: #if (__GNUC_MINOR__ < 9) && (__GNUC__ < 3) && !(defined (__SYMBIAN32__) && defined (__GCCXML__))/* gcc 2.8 */ williamr@4: # define _STLP_NO_TEMPLATE_CONVERSIONS williamr@4: # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 williamr@4: # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 williamr@4: # define _STLP_NO_FRIEND_TEMPLATES 1 williamr@4: # define _STLP_HAS_NO_NAMESPACES 1 williamr@4: # define _STLP_NO_METHOD_SPECIALIZATION 1 williamr@4: # define _STLP_NO_MEMBER_TEMPLATES 1 williamr@4: # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 williamr@4: # define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS williamr@4: /* DJGPP doesn't seem to implement it in 2.8.x */ williamr@4: # ifdef DJGPP williamr@4: # define _STLP_NO_STATIC_TEMPLATE_DATA 1 williamr@4: # endif williamr@4: #endif williamr@4: williamr@4: #if __GNUC__ <= 2 && __GNUC_MINOR__ <= 7 && !defined (__CYGWIN32__) && !(defined (__SYMBIAN32__) && defined (__GCCXML__)) williamr@4: /* Will it work with 2.6 ? I doubt it. */ williamr@4: # if ( __GNUC_MINOR__ < 6 ) williamr@4: __GIVE_UP_WITH_STL(GCC_272); williamr@4: # endif williamr@4: williamr@4: # define _STLP_NO_RELOPS_NAMESPACE williamr@4: # define _STLP_NON_TYPE_TMPL_PARAM_BUG williamr@4: # define _STLP_LIMITED_DEFAULT_TEMPLATES 1 williamr@4: # define _STLP_DEFAULT_TYPE_PARAM 1 williamr@4: # define _STLP_NO_BAD_ALLOC williamr@4: # define _STLP_NO_ARROW_OPERATOR 1 williamr@4: # ifndef _STLP_NO_STATIC_TEMPLATE_DATA williamr@4: # define _STLP_NO_STATIC_TEMPLATE_DATA williamr@4: # endif williamr@4: # define _STLP_STATIC_CONST_INIT_BUG 1 williamr@4: # define _STLP_NO_METHOD_SPECIALIZATION 1 williamr@4: williamr@4: # if !defined (__CYGWIN32__) williamr@4: # define _STLP_NESTED_TYPE_PARAM_BUG 1 williamr@4: # define _STLP_BASE_MATCH_BUG 1 williamr@4: /* unused operators are required (forward) */ williamr@4: # define _STLP_CONST_CONSTRUCTOR_BUG williamr@4: # define _STLP_NO_DEFAULT_NON_TYPE_PARAM williamr@4: # endif williamr@4: # define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 williamr@4: # define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 williamr@4: # if !(defined (__SYMBIAN32__) && defined (__GCCXML__)) williamr@4: # define _STLP_NO_EXCEPTION_HEADER 1 williamr@4: # endif williamr@4: #else /* ! <= 2.7.* */ williamr@4: #endif /* ! <= 2.7.* */ williamr@4: williamr@4: /* static template data members workaround strategy for gcc tries williamr@4: * to use weak symbols. williamr@4: * if you don't want to use that, #define _STLP_WEAK_ATTRIBUTE=0 ( you'll williamr@4: * have to put "#define __PUT_STATIC_DATA_MEMBERS_HERE" line in one of your williamr@4: * compilation unit ( or CFLAGS for it ) _before_ including any STL header ). williamr@4: */ williamr@4: #if defined (_STLP_NO_STATIC_TEMPLATE_DATA) && ! defined (_STLP_WEAK_ATTRIBUTE ) williamr@4: /* systems using GNU ld or format that supports weak symbols williamr@4: may use "weak" attribute williamr@4: Linux & Solaris ( x86 & SPARC ) are being auto-recognized here */ williamr@4: # if defined(_STLP_GNU_LD) || defined(__ELF__) || defined (__CYGWIN__) || \ williamr@4: (( defined (__SVR4) || defined ( __svr4__ )) && \ williamr@4: ( defined (sun) || defined ( __sun__ ))) williamr@4: # define _STLP_WEAK_ATTRIBUTE 1 williamr@4: # endif williamr@4: #endif /* _STLP_WEAK_ATTRIBUTE */ williamr@4: williamr@4: williamr@4: /* strict ANSI prohibits "long long" ( gcc) */ williamr@4: #if defined ( __STRICT_ANSI__ ) williamr@4: # undef _STLP_LONG_LONG williamr@4: /* williamr@4: # define _STLP_STRICT_ANSI 1 williamr@4: */ williamr@4: #endif williamr@4: williamr@4: /* williamr@4: #if !defined (__STRICT_ANSI__) || defined (__BUILDING_STLPORT) williamr@4: # define _STLP_USE_TEMPLATE_EXPORT williamr@4: # define _STLP_EXPORT_TEMPLATE_KEYWORD extern williamr@4: # define _STLP_IMPORT_TEMPLATE_KEYWORD extern williamr@4: #endif williamr@4: */ williamr@4: williamr@4: #ifndef __EXCEPTIONS williamr@4: # undef _STLP_DONT_USE_EXCEPTIONS williamr@4: # define _STLP_DONT_USE_EXCEPTIONS 1 williamr@4: #endif williamr@4: williamr@4: #if (__GNUC__ >= 3) williamr@4: williamr@4: # if !defined (_STLP_NATIVE_INCLUDE_PATH) williamr@4: # if ( (__GNUC__ == 3 ) && ((__GNUC_MINOR__ == 0) || ((__GNUC_MINOR__ < 3) && defined(__APPLE_CC__)))) williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../g++-v3 williamr@4: # else williamr@4: # if ( ((__GNUC__ == 4 ) || (__GNUC_MINOR__ >= 3)) && defined(__APPLE_CC__)) williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../c++ williamr@4: /* williamr@4: * Before version 3.4.0 the 0 patch level was not part of the include path: williamr@4: */ williamr@4: # elif defined (__GNUC_PATCHLEVEL__) && ((__GNUC_PATCHLEVEL__ > 0) || \ williamr@4: (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ williamr@4: (__GNUC__ > 3)) williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__ williamr@4: # else williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../__GNUC__.__GNUC_MINOR__ williamr@4: # endif williamr@4: # endif williamr@4: # endif williamr@4: williamr@4: /* Instantiation scheme that used (default) in gcc 3 made void of sense explicit williamr@4: instantiation within library: nothing except increased library size. - ptr williamr@4: */ williamr@4: # define _STLP_NO_FORCE_INSTANTIATE williamr@4: williamr@4: #elif (__GNUC_MINOR__ < 8) williamr@4: williamr@4: # if !defined (_STLP_NATIVE_INCLUDE_PATH) williamr@4: # if !defined (__SYMBIAN32__) williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../g++-include williamr@4: # endif williamr@4: # endif williamr@4: williamr@4: /* tuning of static template data members workaround */ williamr@4: # if ( _STLP_STATIC_TEMPLATE_DATA < 1 ) williamr@4: # if ( _STLP_WEAK_ATTRIBUTE > 0 ) williamr@4: # define _STLP_WEAK __attribute__ (( weak )) williamr@4: # else williamr@4: # define _STLP_WEAK williamr@4: # endif /* _STLP_WEAK_ATTRIBUTE */ williamr@4: williamr@4: # ifdef __PUT_STATIC_DATA_MEMBERS_HERE williamr@4: # define __DECLARE_INSTANCE(type,item,init) type item _STLP_WEAK init williamr@4: # else williamr@4: # define __DECLARE_INSTANCE(type,item,init) williamr@4: # endif /* __PUT_STATIC_DATA_MEMBERS_HERE */ williamr@4: # endif /* _STLP_STATIC_TEMPLATE_DATA */ williamr@4: williamr@4: #else williamr@4: williamr@4: /* gcc-2.95.0 used to use "g++-3" directory which has been changed to "g++" in williamr@4: * system-dependent "include" for 2.95.2 except for Cygwin and Mingw packages. williamr@4: * I expect "g++-3" not being used in later releases. williamr@4: * If your installation use "g++-3" include directory for any reason (pre-2.95.2 or Win binary kit), williamr@4: * please change the macro below to point to your directory. williamr@4: */ williamr@4: williamr@4: # if !defined (_STLP_NATIVE_INCLUDE_PATH) williamr@4: # if defined(__DJGPP) williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../lang/cxx williamr@4: # elif (__GNUC__ >= 3) || (__GNUC_MINOR__ >= 97) williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../include/g++-v3 williamr@4: # elif ((__GNUC_MINOR__ >= 95 && __GNUC_MINOR__ < 97) && \ williamr@4: !( defined (__FreeBSD__) || defined (__NetBSD__) || defined(__sgi) || defined (__OS2__) ) ) williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../g++-3 williamr@4: # elif (__GNUC_MINOR__ > 8) && (__GNUC_MINOR__ < 95) && (__GNUC__ < 3) && !defined( __Lynx__ ) williamr@4: /* this really sucks, as GNUpro does not really identifies itself, so we have to guess williamr@4: * depending on a platform williamr@4: */ williamr@4: # ifdef __hpux williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../g++-3 williamr@4: # else williamr@4: # define _STLP_NATIVE_INCLUDE_PATH ../g++-2 williamr@4: # endif williamr@4: # else williamr@4: # define _STLP_NATIVE_INCLUDE_PATH g++ williamr@4: # endif williamr@4: # endif williamr@4: williamr@4: /* et al */ williamr@4: # ifdef __FreeBSD__ williamr@4: # if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ > 95) williamr@4: # define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../include williamr@4: # endif williamr@4: # else williamr@4: /* azov */ williamr@4: # ifndef __Lynx__ williamr@4: # if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97) williamr@4: /* williamr@4: # define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../g++-v3 williamr@4: */ williamr@4: # else williamr@4: # define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../include williamr@4: # endif williamr@4: # endif williamr@4: # endif williamr@4: williamr@4: #endif /* GNUC_MINOR < 8 */ williamr@4: williamr@4: #if !defined (_STLP_NATIVE_C_INCLUDE_PATH) williamr@4: # define _STLP_NATIVE_C_INCLUDE_PATH ../include williamr@4: #endif williamr@4: williamr@4: /* Tune settings for the case where static template data members are not williamr@4: * instaniated by default williamr@4: */ williamr@4: #if defined ( _STLP_NO_STATIC_TEMPLATE_DATA ) williamr@4: # define _STLP_STATIC_TEMPLATE_DATA 0 williamr@4: # if !defined ( _STLP_WEAK_ATTRIBUTE ) williamr@4: # define _STLP_WEAK_ATTRIBUTE 0 williamr@4: # endif williamr@4: # ifdef __PUT_STATIC_DATA_MEMBERS_HERE williamr@4: # define __DECLARE_INSTANCE(type,item,init) type item init williamr@4: # else williamr@4: # define __DECLARE_INSTANCE(type,item,init) williamr@4: # endif williamr@4: #else williamr@4: # define _STLP_STATIC_TEMPLATE_DATA 1 williamr@4: #endif williamr@4: williamr@4: /* Setup GCCXML specific configuration on Symbian.*/ williamr@4: #if defined (__SYMBIAN32__) && defined (__GCCXML__) williamr@4: //# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 williamr@4: #define _STLP_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS 1 williamr@4: #define _STLP_NO_TYPEINFO williamr@4: #endif williamr@4: