ReactOS 0.4.16-dev-125-g798ea90
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