config.hpp 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # /* **************************************************************************
  2. # * *
  3. # * (C) Copyright Paul Mensonides 2002.
  4. # * Distributed under the Boost Software License, Version 1.0. (See
  5. # * accompanying file LICENSE_1_0.txt or copy at
  6. # * http://www.boost.org/LICENSE_1_0.txt)
  7. # * *
  8. # ************************************************************************** */
  9. #
  10. # /* See http://www.boost.org for most recent version. */
  11. #
  12. # ifndef BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
  13. # define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
  14. #
  15. # /* BOOST_PP_CONFIG_FLAGS */
  16. #
  17. # define BOOST_PP_CONFIG_STRICT() 0x0001
  18. # define BOOST_PP_CONFIG_IDEAL() 0x0002
  19. #
  20. # define BOOST_PP_CONFIG_MSVC() 0x0004
  21. # define BOOST_PP_CONFIG_MWCC() 0x0008
  22. # define BOOST_PP_CONFIG_BCC() 0x0010
  23. # define BOOST_PP_CONFIG_EDG() 0x0020
  24. # define BOOST_PP_CONFIG_DMC() 0x0040
  25. #
  26. # ifndef BOOST_PP_CONFIG_FLAGS
  27. # if defined(__GCCXML__)
  28. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
  29. # elif defined(__WAVE__)
  30. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
  31. # elif defined(__MWERKS__) && __MWERKS__ >= 0x3200
  32. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
  33. # elif defined(__EDG__) || defined(__EDG_VERSION__)
  34. # if defined(_MSC_VER) && __EDG_VERSION__ >= 308
  35. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
  36. # else
  37. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT())
  38. # endif
  39. # elif defined(__MWERKS__)
  40. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC())
  41. # elif defined(__DMC__)
  42. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_DMC())
  43. # elif defined(__BORLANDC__) && __BORLANDC__ >= 0x581
  44. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
  45. # elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC)
  46. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC())
  47. # elif defined(_MSC_VER)
  48. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
  49. # else
  50. # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
  51. # endif
  52. # endif
  53. #
  54. # /* BOOST_PP_CONFIG_EXTENDED_LINE_INFO */
  55. #
  56. # ifndef BOOST_PP_CONFIG_EXTENDED_LINE_INFO
  57. # define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0
  58. # endif
  59. #
  60. # /* BOOST_PP_CONFIG_ERRORS */
  61. #
  62. # ifndef BOOST_PP_CONFIG_ERRORS
  63. # ifdef NDEBUG
  64. # define BOOST_PP_CONFIG_ERRORS 0
  65. # else
  66. # define BOOST_PP_CONFIG_ERRORS 1
  67. # endif
  68. # endif
  69. #
  70. # endif