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 98