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