111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// STLport configuration file 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// It is internal STLport header - DO NOT include it directly 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_COMPILER "Sunpro CC" 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_LONG_LONG long long 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// GAB: 11/09/05 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Starting with 5.0 the STLport code expects to be 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// instantiated during compile time. This is due to undefing 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// a number of defines that are also used in the c versions 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// of the file. When they are undefed the c version fails to 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// compile. 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// # define _STLP_LINK_TIME_INSTANTIATION 1 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if ! defined(_BOOL) 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_BOOL 1 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// compatibility mode stuff 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if (__SUNPRO_CC >= 0x510) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 )) 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_INCLUDE_PATH ../CC/Cstd 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH ../CC 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#elif (__SUNPRO_CC >= 0x500) && (!defined (__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT == 5 )) 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_INCLUDE_PATH ../CC 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#elif (defined (__SUNPRO_CC_COMPAT) && __SUNPRO_CC_COMPAT == 4) 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_INCLUDE_PATH ../CC4 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_INCLUDE_PATH ../CC 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_STATIC_CONST_INIT_BUG 1 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if (__SUNPRO_CC < 0x530) 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// those are tested and proved not to work... 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_USE_OLD_HP_ITERATOR_QUERIES 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifdef _STLP_USE_NO_IOSTREAMS 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_HAS_NO_NEW_C_HEADERS 1 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// those do not depend on compatibility 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if (__SUNPRO_CC < 0x510) 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if (__SUNPRO_CC < 0x510) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5)) 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_QUALIFIED_FRIENDS 1 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// no partial , just for explicit one 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_MEMBER_TEMPLATES 1 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// Features that depend on compatibility switch 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if ( __SUNPRO_CC < 0x500 ) || (defined (__SUNPRO_CC_COMPAT) && (__SUNPRO_CC_COMPAT < 5)) 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# ifndef _STLP_USE_NO_IOSTREAMS 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_USE_NO_IOSTREAMS 1 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_NEW_NEW_HEADER 1 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// # define _STLP_NO_RELOPS_NAMESPACE 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_HAS_NO_NAMESPACES 1 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NEED_MUTABLE 1 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_BAD_ALLOC 1 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_EXCEPTION_HEADER 1 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_C_INCLUDE_PATH ../include 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#elif (__SUNPRO_CC < 0x510) 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// # define _STLP_NATIVE_C_HEADER(header) <../CC/##header##.SUNWCCh> 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_CPP_C_HEADER(header) <../CC/##header##.SUNWCCh> 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_C_INCLUDE_PATH /usr/include 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#elif defined( __SunOS_5_5_1 ) || defined( __SunOS_5_6 ) || defined( __SunOS_5_7 ) 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_C_INCLUDE_PATH ../CC/std 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#else 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_C_INCLUDE_PATH /usr/include 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_CPP_C_INCLUDE_PATH ../CC/std 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if ( __SUNPRO_CC < 0x500 ) 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# undef _STLP_NATIVE_C_HEADER 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# undef _STLP_NATIVE_CPP_C_HEADER 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define wint_t __wint_t 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// famous CC 4.2 bug 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_INLINE_STRING_LITERAL_BUG 1 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// /usr/include 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NATIVE_C_INCLUDE_PATH ../include 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// 4.2 cannot handle iterator_traits<_Tp>::iterator_category as a return type ;( 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_USE_OLD_HP_ITERATOR_QUERIES 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// 4.2 does not like it 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# undef _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NEED_TYPENAME 1 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NEED_EXPLICIT 1 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_BAD_ALLOC 1 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_ARROW_OPERATOR 1 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_DEF_CONST_PLCT_NEW_BUG 1 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_DEF_CONST_DEF_PARAM_BUG 1 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_GLOBAL_NESTED_RETURN_TYPE_PARAM_BUG 1 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# undef _STLP_HAS_NO_NEW_C_HEADERS 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_HAS_NO_NEW_C_HEADERS 1 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert// # define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if ( __SUNPRO_CC < 0x420 ) 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_NEW_STYLE_CASTS 1 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_NO_METHOD_SPECIALIZATION 1 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if ( __SUNPRO_CC > 0x401 ) 12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if (__SUNPRO_CC==0x410) 12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1 12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# else 13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert // SUNPro C++ 4.0.1 13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_BASE_MATCH_BUG 1 13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_BASE_TYPEDEF_BUG 1 13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if (( __SUNPRO_CC < 0x401 ) && !defined(__SUNPRO_C)) 13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __GIVE_UP_WITH_STL(SUNPRO_401) 13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif /* 4.0.1 */ 13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif /* 4.2 */ 13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* < 5.0 */ 14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _MBSTATET_H 14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _MBSTATET_H 14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# undef _MBSTATE_T 14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _MBSTATE_T 14511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct __mbstate_t { 14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if defined(_LP64) 14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long __filler[4]; 14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# else 14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int __filler[6]; 15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __mbstate_t; 15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# ifndef _STLP_HAS_NO_NAMESPACES 15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertnamespace std { 15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert typedef __mbstate_t mbstate_t; 15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} 15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertusing std::mbstate_t; 15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# else 15811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef __mbstate_t mbstate_t; 15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* __MBSTATET_H */ 16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if !defined(_STLP_HAS_NO_NEW_C_HEADERS) && !defined(_STLP_NO_NEW_C_HEADERS) 16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* Since Sun Studio uses <iso/stdlib_iso.h>, we are at its 16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * mercy. GCC is built on top of <stdlib.h>. */ 16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_NO_VENDOR_STDLIB_L 16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 167