stl_confix.h 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. * STLport configuration file
  17. * It is internal STLport header - DO NOT include it directly
  18. * Purpose of this file : to define STLport settings that depend on
  19. * compiler flags or can be otherwise missed
  20. *
  21. */
  22. #ifndef _STLP_CONFIX_H
  23. #define _STLP_CONFIX_H
  24. /* If, by any chance, C compiler gets there, try to help it to pass smoothly */
  25. #if ! defined (__cplusplus) && ! defined (_STLP_HAS_NO_NAMESPACES)
  26. # define _STLP_HAS_NO_NAMESPACES
  27. #endif
  28. #if defined (__MINGW32__)
  29. # define _STLP_NO_DRAND48
  30. #endif
  31. /* Modena C++ library */
  32. #if defined (__MWERKS__) && __MWERKS__ <= 0x2303 || (defined (__KCC) && __KCC_VERSION < 3400)
  33. # include <mcompile.h>
  34. # define _STLP_USE_MSIPL 1
  35. # if defined (__KCC) || (defined(__MSL_CPP__) && \
  36. ( (__MSL_CPP__ >= 0x5000 && defined( _MSL_NO_MESSAGE_FACET )) || \
  37. (__MSL_CPP__ < 0x5000 && defined( MSIPL_NL_TYPES ))))
  38. # define _STLP_NO_NATIVE_MESSAGE_FACET 1
  39. # endif
  40. #endif
  41. /* common switches for EDG front-end */
  42. /* __EDG_SWITCHES do not seem to be an official EDG macro.
  43. * We keep it for historical reason. */
  44. #if defined (__EDG_SWITCHES)
  45. # if !(defined(_TYPENAME) || defined (_TYPENAME_IS_KEYWORD))
  46. # undef _STLP_NEED_TYPENAME
  47. # define _STLP_NEED_TYPENAME 1
  48. # endif
  49. # ifndef _WCHAR_T_IS_KEYWORD
  50. # undef _STLP_NO_WCHAR_T
  51. # define _STLP_NO_WCHAR_T 1
  52. # endif
  53. # ifndef _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES
  54. # undef _STLP_NO_CLASS_PARTIAL_SPECIALIZATION
  55. # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
  56. # endif
  57. # ifndef _MEMBER_TEMPLATES
  58. # undef _STLP_NO_MEMBER_TEMPLATES
  59. # define _STLP_NO_MEMBER_TEMPLATES 1
  60. # undef _STLP_NO_MEMBER_TEMPLATE_CLASSES
  61. # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
  62. # endif
  63. # ifndef _MEMBER_TEMPLATE_KEYWORD
  64. # undef _STLP_NO_MEMBER_TEMPLATE_KEYWORD
  65. # define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
  66. # endif
  67. # if !defined (__EXCEPTIONS) && ! defined (_EXCEPTIONS)
  68. # undef _STLP_HAS_NO_EXCEPTIONS
  69. # define _STLP_HAS_NO_EXCEPTIONS
  70. # endif
  71. # undef __EDG_SWITCHES
  72. #endif /* EDG */
  73. /* __EDG_VERSION__ is an official EDG macro, compilers based
  74. * on EDG have to define it. */
  75. #if defined (__EDG_VERSION__)
  76. # if !defined (_STLP_SGX_CONFIG) && (__EDG_VERSION__ >= 244) && !defined (_STLP_HAS_INCLUDE_NEXT)
  77. # define _STLP_HAS_INCLUDE_NEXT
  78. # endif
  79. # if (__EDG_VERSION__ <= 240) && !defined (_STLP_DONT_RETURN_VOID)
  80. # define _STLP_DONT_RETURN_VOID
  81. # endif
  82. # if !defined (__EXCEPTIONS) && !defined (_STLP_HAS_NO_EXCEPTIONS)
  83. # define _STLP_HAS_NO_EXCEPTIONS
  84. # endif
  85. # if !defined (__NO_LONG_LONG) && !defined (_STLP_LONG_LONG)
  86. # define _STLP_LONG_LONG long long
  87. # endif
  88. #endif
  89. #endif