ReactOS  0.4.14-dev-358-gbef841c
stl_confix.h
Go to the documentation of this file.
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