Home | History | Annotate | Download | only in config
      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