epoc32/include/stdapis/stlport/config/stl_msvc.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
     1.1 --- a/epoc32/include/stdapis/stlport/config/stl_msvc.h	Tue Nov 24 13:55:44 2009 +0000
     1.2 +++ b/epoc32/include/stdapis/stlport/config/stl_msvc.h	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -1,1 +1,246 @@
     1.4 -stl_msvc.h
     1.5 +// STLport configuration file
     1.6 +// It is internal STLport header - DO NOT include it directly
     1.7 +// Microsoft Visual C++ 4.0, 4.1, 4.2, 5.0, 6.0, 7.0, 7.1, ICL
     1.8 +
     1.9 +
    1.10 +// Common features for VC++ 4.0 and higher
    1.11 +# ifdef _M_IA64
    1.12 +#  define _STLP_NATIVE_HEADER(x) <../crt/##x>
    1.13 +#  define _STLP_NATIVE_C_HEADER(x) <../crt/##x>
    1.14 +#  define _STLP_NATIVE_CPP_C_HEADER(x) <../crt/##x>
    1.15 +#  define _STLP_NATIVE_OLD_STREAMS_HEADER(x) <../crt/##x>
    1.16 +#  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../crt/##header>
    1.17 +#  define _STLP_GLOBAL_NEW_HANDLER
    1.18 +# else
    1.19 +#  define _STLP_NATIVE_HEADER(x) <../include/##x>
    1.20 +#  define _STLP_NATIVE_C_HEADER(x) <../include/##x>
    1.21 +#  define _STLP_NATIVE_CPP_C_HEADER(x) <../include/##x>
    1.22 +#  define _STLP_NATIVE_OLD_STREAMS_HEADER(x) <../include/##x>
    1.23 +#  define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header>
    1.24 +# endif
    1.25 +
    1.26 +# define _STLP_CALL __cdecl
    1.27 +
    1.28 +# ifndef _STLP_LONG_LONG
    1.29 +#  define _STLP_LONG_LONG  __int64
    1.30 +# endif
    1.31 +
    1.32 +# define _STLP_PRAGMA_ONCE
    1.33 +
    1.34 +// these switches depend on compiler flags
    1.35 +# ifndef _CPPUNWIND
    1.36 +#  define _STLP_HAS_NO_EXCEPTIONS 1
    1.37 +# endif
    1.38 +
    1.39 +# define _STLP_VENDOR_UNEXPECTED_STD
    1.40 +
    1.41 +# if defined ( _MT ) && !defined (_STLP_NO_THREADS)  && !defined (_REENTRANT) && !defined(__WINS__)
    1.42 +#   define _REENTRANT 1
    1.43 +# endif
    1.44 +
    1.45 +# if !defined (_NATIVE_WCHAR_T_DEFINED)
    1.46 +# define _STLP_WCHAR_T_IS_USHORT 1
    1.47 +# endif
    1.48 +
    1.49 +# define _STLP_MINIMUM_IMPORT_STD
    1.50 +
    1.51 +# ifdef _STLP_MSVC
    1.52 +
    1.53 +# ifndef _STLP_MSVC50_COMPATIBILITY
    1.54 +#  define _STLP_MSVC50_COMPATIBILITY   1
    1.55 +# endif
    1.56 +
    1.57 +#  define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1
    1.58 +#  define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
    1.59 +
    1.60 +// # ifndef __BUILDING_STLPORT
    1.61 +// #  define _STLP_USE_TEMPLATE_EXPORT 1
    1.62 +// # endif
    1.63 +
    1.64 +# if (_STLP_MSVC >= 1310)
    1.65 +# define _STLP_NO_METHOD_SPECIALIZATION 1
    1.66 +# endif	//	(_STLP_MSVC >= 1310)
    1.67 +
    1.68 +#  if (_STLP_MSVC > 1100)
    1.69 +     typedef char __stl_char;
    1.70 +#   define _STLP_DEFAULTCHAR __stl_char
    1.71 +#  endif /* (_STLP_MSVC < 1100 ) */
    1.72 +
    1.73 +# if (_STLP_MSVC <= 1310)
    1.74 +# define _STLP_STATIC_CONST_INIT_BUG   1
    1.75 +# endif	//	(_STLP_MSVC <= 1310)
    1.76 +
    1.77 +# if (_STLP_MSVC <= 1300) 
    1.78 +#  define _STLP_DEFAULT_CONSTRUCTOR_BUG 1
    1.79 +
    1.80 +#  define _STLP_NO_TYPENAME_IN_TEMPLATE_HEADER
    1.81 +// fails to properly resolve call to sin() from within sin()
    1.82 +#  define _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG
    1.83 +#  define _STLP_NO_TYPENAME_ON_RETURN_TYPE 1
    1.84 +// boris : not defining this macro for SP5 causes other problems
    1.85 +// #  if !defined (_MSC_FULL_VER) || (_MSC_FULL_VER < 12008804 )
    1.86 +#  define _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS 1
    1.87 +//#  endif
    1.88 +#  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
    1.89 +#  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
    1.90 +#  define _STLP_NO_FRIEND_TEMPLATES
    1.91 +// VC++ cannot handle default allocator argument in template constructors
    1.92 +#  define _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS
    1.93 +// there is no partial spec, and MSVC breaks on simulating it for iterator_traits queries
    1.94 +#  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
    1.95 +// #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
    1.96 +#  define _STLP_NO_QUALIFIED_FRIENDS    1
    1.97 +#  define _STLP_DONT_USE_BOOL_TYPEDEF 1
    1.98 +# endif /* _STLP_MSVC <= 1300 */
    1.99 +
   1.100 +# endif /* _STLP_MSVC */
   1.101 +
   1.102 +# if (_MSC_VER <= 1310) 
   1.103 +#  define _STLP_VENDOR_GLOBAL_CSTD
   1.104 +// They included the necessary coding,
   1.105 +// but the beta still has an issue with template classes
   1.106 +// ok:    class a { static const int v = 2; };
   1.107 +// error: template &lt;class _Tp> class a { static const int v = 2; };
   1.108 +#  if !defined (_STLP_WHOLE_NATIVE_STD) && ! defined (_STLP_REDEFINE_STD)
   1.109 +#    define _STLP_REDEFINE_STD
   1.110 +#  endif
   1.111 +# endif /* (_MSC_VER <= 1310) */
   1.112 +
   1.113 +# if (_MSC_VER <= 1200)  // including MSVC 6.0
   1.114 +//  these work, as long they are inline
   1.115 +#  define _STLP_INLINE_MEMBER_TEMPLATES 1
   1.116 +#  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
   1.117 +#  define _STLP_GLOBAL_NEW_HANDLER
   1.118 +#  define _STLP_DONT_RETURN_VOID 1
   1.119 +#  define _STLP_DONT_USE_NESTED_TCLASS_THROUGHT_TPARAM 1
   1.120 +# endif /* (_MSC_VER <= 1200) */
   1.121 +
   1.122 +# if ( _MSC_VER<=1010 )
   1.123 +// "bool" is reserved in MSVC 4.1 while <yvals.h> absent, so :
   1.124 +// #    define _STLP_USE_ABBREVS           1
   1.125 +#  define _STLP_NO_BAD_ALLOC
   1.126 +#  define _STLP_HAS_NO_NEW_C_HEADERS 1
   1.127 +#  define _STLP_NO_NEW_NEW_HEADER 1
   1.128 +# elif (_MSC_VER < 1100)
   1.129 +// VC++ 4.2 and higher
   1.130 +#  define _STLP_YVALS_H 1
   1.131 +#  define _STLP_HAS_NO_NEW_IOSTREAMS 1
   1.132 +# endif /* 1010 */
   1.133 +
   1.134 +# if defined (_STLP_MSVC) && ( _STLP_MSVC < 1200 ) /* VC++ 6.0 */
   1.135 +// #  define _STLP_NO_MEMBER_TEMPLATES 1
   1.136 +// #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
   1.137 +#  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 
   1.138 +#  define _STLP_THROW_RETURN_BUG 1
   1.139 +#  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
   1.140 +# endif
   1.141 +
   1.142 +# if defined (_STLP_MSVC) && ( _STLP_MSVC < 1100 )
   1.143 +#  ifndef _STLP_NO_OWN_IOSTREAMS
   1.144 +#   define _STLP_NO_OWN_IOSTREAMS
   1.145 +#   undef  _STLP_OWN_IOSTREAMS
   1.146 +#  endif
   1.147 +// #  define _STLP_NESTED_TYPE_PARAM_BUG 1
   1.148 +// Debug mode does not work for 4.2
   1.149 +#  ifdef _STLP_DEBUG
   1.150 +#   pragma message ("STLport debug mode does not work for VC++ 4.2, turning _STLP_DEBUG off ...")
   1.151 +#    undef _STLP_DEBUG
   1.152 +#  endif
   1.153 +#  define _STLP_NO_BOOL            1
   1.154 +#  define _STLP_NEED_TYPENAME      1
   1.155 +#  define _STLP_NEED_EXPLICIT      1
   1.156 +#   define _STLP_NEED_MUTABLE       1
   1.157 +#   define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX
   1.158 +#   define _STLP_LIMITED_DEFAULT_TEMPLATES 1
   1.159 +
   1.160 +// up to 4.2, library is in global namespace
   1.161 +#   define _STLP_VENDOR_GLOBAL_STD
   1.162 +#   define _STLP_NONTEMPL_BASE_MATCH_BUG 1
   1.163 +#   define _STLP_BROKEN_USING_DIRECTIVE  1
   1.164 +#   define _STLP_NO_ARROW_OPERATOR
   1.165 +#   define _STLP_NO_SIGNED_BUILTINS 1
   1.166 +#   define _STLP_NO_EXCEPTION_SPEC 1
   1.167 +#   undef  _STLP_DEFAULT_TYPE_PARAM
   1.168 +#   undef  _STLP_HAS_NO_NAMESPACES
   1.169 +#   undef  _STLP_NO_AT_MEMBER_FUNCTION
   1.170 +#   undef  _STLP_NO_MEMBER_TEMPLATES
   1.171 +#   undef  _STLP_NO_MEMBER_TEMPLATE_CLASSES
   1.172 +#   define  _STLP_HAS_NO_NAMESPACES 1
   1.173 +#   define  _STLP_NO_AT_MEMBER_FUNCTION 1
   1.174 +#  define  _STLP_NO_MEMBER_TEMPLATES
   1.175 +#  define  _STLP_NO_MEMBER_TEMPLATE_CLASSES
   1.176 +# endif /* 1100 */
   1.177 +
   1.178 +// If we are under Windows CE, include appropriate config
   1.179 +
   1.180 +# ifdef UNDER_CE
   1.181 +#   include <config/stl_wince.h>
   1.182 +# endif
   1.183 +
   1.184 +# ifdef __ICL
   1.185 +#  define _STLP_LIB_BASENAME "stlport_icl"
   1.186 +# else
   1.187 +# if (_MSC_VER >= 1310) 
   1.188 +#   define _STLP_LIB_BASENAME "stlport_vc71"
   1.189 +# elif (_MSC_VER >= 1300) 
   1.190 +#   define _STLP_LIB_BASENAME "stlport_vc7"
   1.191 +# elif (_MSC_VER >= 1200)
   1.192 +#    define _STLP_LIB_BASENAME "stlport_vc6"
   1.193 +//#   endif
   1.194 +#  elif (_MSC_VER >= 1100)
   1.195 +//#   ifdef _UNICODE
   1.196 +//#    define _STLP_LIB_BASENAME "stlport_vc5_unicode"
   1.197 +//#   else
   1.198 +#    define _STLP_LIB_BASENAME "stlport_vc5"
   1.199 +//#   endif
   1.200 +#  endif /* (_MSC_VER >= 1200) */
   1.201 +# endif /* __ICL */
   1.202 +
   1.203 +
   1.204 +#    if (defined (__ICL) && (__ICL < 450)) || (_MSC_VER < 1200)
   1.205 +//    only static STLport lib now works for ICL and VC 5.0
   1.206 +#     undef  _STLP_USE_STATIC_LIB
   1.207 +#     define _STLP_USE_STATIC_LIB
   1.208 +//    disable hook which makes template symbols to be searched for in the library
   1.209 +#     undef _STLP_NO_CUSTOM_IO
   1.210 +#    endif
   1.211 +
   1.212 +#if defined (__WINS__)
   1.213 +
   1.214 +#  ifdef _PTHREADS
   1.215 +#    undef  _PTHREADS
   1.216 +#  endif
   1.217 +#  ifdef _STLP_PTHREADS
   1.218 +#    undef _STLP_PTHREADS
   1.219 +#  endif
   1.220 +#  ifdef _STLP_THREADS
   1.221 +#    undef _STLP_THREADS
   1.222 +#  endif
   1.223 +
   1.224 +#   undef _STLP_NATIVE_C_HEADER
   1.225 +#   define _STLP_NATIVE_C_HEADER(x) <libc/##x>
   1.226 +
   1.227 +#   define _STLP_NO_NEW_HEADER
   1.228 +#   define _STLP_HAS_NO_NEW_C_HEADERS 1
   1.229 +#   define _STLP_NO_THREADS
   1.230 +#   define _STLP_NO_EXCEPTIONS
   1.231 +#   define _STLP_USE_TRAP_LEAVE 
   1.232 +#   define _STLP_NO_EXCEPTION_HEADER
   1.233 +// #   define _STLP_NO_WCHAR_T
   1.234 +#   define _STLP_NO_IOSTREAMS
   1.235 +#   define _STLP_NO_OWN_IOSTREAMS
   1.236 +#   undef  _STLP_OWN_IOSTREAMS
   1.237 +#   define _NOTHREADS
   1.238 +#   define _STLP_USE_NEWALLOC
   1.239 +#   define _STLP_NO_NODE_ALLOC
   1.240 +#   define _STLP_LITTLE_ENDIAN
   1.241 +#   define _STLP_NO_LONG_DOUBLE
   1.242 +#   define _STLP_LABS
   1.243 +#   define _STLP_LDIV
   1.244 +#   define _STLP_NO_NAMESPACES
   1.245 +#   define _STLP_CONST_CONSTRUCTOR_BUG
   1.246 +//#	define _STLP_IMPLICIT_STRING_TO_DESC
   1.247 +// #   define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG
   1.248 +#endif
   1.249 +
   1.250 +#   include <config/vc_select_lib.h>