[CLASSPNP] Fix MSVC build. Brought to you by Timo.
[reactos.git] / reactos / include / c++ / stlport / stl / config / stl_confix.h
1 /*
2 * Copyright (c) 1999
3 * Boris Fomitchev
4 *
5 * This material is provided "as is", with absolutely no warranty expressed
6 * or implied. Any use is at your own risk.
7 *
8 * Permission to use or copy this software for any purpose is hereby granted
9 * without fee, provided the above notices are retained on all copies.
10 * Permission to modify the code and to distribute modified code is granted,
11 * provided the above notices are retained, and a notice that the code was
12 * modified is included with the above copyright notice.
13 *
14 */
15
16 /*
17 * STLport configuration file
18 * It is internal STLport header - DO NOT include it directly
19 * Purpose of this file : to define STLport settings that depend on
20 * compiler flags or can be otherwise missed
21 *
22 */
23
24 #ifndef _STLP_CONFIX_H
25 #define _STLP_CONFIX_H
26
27 /* If, by any chance, C compiler gets there, try to help it to pass smoothly */
28 #if ! defined (__cplusplus) && ! defined (_STLP_HAS_NO_NAMESPACES)
29 # define _STLP_HAS_NO_NAMESPACES
30 #endif
31
32 #if defined (__MINGW32__)
33 # define _STLP_NO_DRAND48
34 #endif
35
36 /* Modena C++ library */
37 #if defined (__MWERKS__) && __MWERKS__ <= 0x2303 || (defined (__KCC) && __KCC_VERSION < 3400)
38 # include <mcompile.h>
39 # define _STLP_USE_MSIPL 1
40 # if defined (__KCC) || (defined(__MSL_CPP__) && \
41 ( (__MSL_CPP__ >= 0x5000 && defined( _MSL_NO_MESSAGE_FACET )) || \
42 (__MSL_CPP__ < 0x5000 && defined( MSIPL_NL_TYPES ))))
43 # define _STLP_NO_NATIVE_MESSAGE_FACET 1
44 # endif
45 #endif
46
47 /* common switches for EDG front-end */
48 /* __EDG_SWITCHES do not seem to be an official EDG macro.
49 * We keep it for historical reason. */
50 #if defined (__EDG_SWITCHES)
51 # if !(defined(_TYPENAME) || defined (_TYPENAME_IS_KEYWORD))
52 # undef _STLP_NEED_TYPENAME
53 # define _STLP_NEED_TYPENAME 1
54 # endif
55 # ifndef _WCHAR_T_IS_KEYWORD
56 # undef _STLP_NO_WCHAR_T
57 # define _STLP_NO_WCHAR_T 1
58 # endif
59 # ifndef _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES
60 # undef _STLP_NO_CLASS_PARTIAL_SPECIALIZATION
61 # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
62 # endif
63 # ifndef _MEMBER_TEMPLATES
64 # undef _STLP_NO_MEMBER_TEMPLATES
65 # define _STLP_NO_MEMBER_TEMPLATES 1
66 # undef _STLP_NO_MEMBER_TEMPLATE_CLASSES
67 # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
68 # endif
69 # ifndef _MEMBER_TEMPLATE_KEYWORD
70 # undef _STLP_NO_MEMBER_TEMPLATE_KEYWORD
71 # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
72 # endif
73 # if !defined (__EXCEPTIONS) && ! defined (_EXCEPTIONS)
74 # undef _STLP_HAS_NO_EXCEPTIONS
75 # define _STLP_HAS_NO_EXCEPTIONS
76 # endif
77 # undef __EDG_SWITCHES
78 #endif /* EDG */
79
80 /* __EDG_VERSION__ is an official EDG macro, compilers based
81 * on EDG have to define it. */
82 #if defined (__EDG_VERSION__)
83 # if (__EDG_VERSION__ >= 244) && !defined (_STLP_HAS_INCLUDE_NEXT)
84 # define _STLP_HAS_INCLUDE_NEXT
85 # endif
86 # if (__EDG_VERSION__ <= 240) && !defined (_STLP_DONT_RETURN_VOID)
87 # define _STLP_DONT_RETURN_VOID
88 # endif
89 # if !defined (__EXCEPTIONS) && !defined (_STLP_HAS_NO_EXCEPTIONS)
90 # define _STLP_HAS_NO_EXCEPTIONS
91 # endif
92 # if !defined (__NO_LONG_LONG) && !defined (_STLP_LONG_LONG)
93 # define _STLP_LONG_LONG long long
94 # endif
95 #endif
96
97 #endif