m68k.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /*
  2. Copyright Rene Rivera 2008-2015
  3. Distributed under the Boost Software License, Version 1.0.
  4. (See accompanying file LICENSE_1_0.txt or copy at
  5. http://www.boost.org/LICENSE_1_0.txt)
  6. */
  7. #ifndef BOOST_PREDEF_ARCHITECTURE_M68K_H
  8. #define BOOST_PREDEF_ARCHITECTURE_M68K_H
  9. #include <boost/predef/version_number.h>
  10. #include <boost/predef/make.h>
  11. /*`
  12. [heading `BOOST_ARCH_M68K`]
  13. [@http://en.wikipedia.org/wiki/M68k Motorola 68k] architecture.
  14. [table
  15. [[__predef_symbol__] [__predef_version__]]
  16. [[`__m68k__`] [__predef_detection__]]
  17. [[`M68000`] [__predef_detection__]]
  18. [[`__mc68060__`] [6.0.0]]
  19. [[`mc68060`] [6.0.0]]
  20. [[`__mc68060`] [6.0.0]]
  21. [[`__mc68040__`] [4.0.0]]
  22. [[`mc68040`] [4.0.0]]
  23. [[`__mc68040`] [4.0.0]]
  24. [[`__mc68030__`] [3.0.0]]
  25. [[`mc68030`] [3.0.0]]
  26. [[`__mc68030`] [3.0.0]]
  27. [[`__mc68020__`] [2.0.0]]
  28. [[`mc68020`] [2.0.0]]
  29. [[`__mc68020`] [2.0.0]]
  30. [[`__mc68010__`] [1.0.0]]
  31. [[`mc68010`] [1.0.0]]
  32. [[`__mc68010`] [1.0.0]]
  33. [[`__mc68000__`] [0.0.1]]
  34. [[`mc68000`] [0.0.1]]
  35. [[`__mc68000`] [0.0.1]]
  36. ]
  37. */
  38. #define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_NOT_AVAILABLE
  39. #if defined(__m68k__) || defined(M68000)
  40. # undef BOOST_ARCH_M68K
  41. # if !defined(BOOST_ARCH_M68K) && (defined(__mc68060__) || defined(mc68060) || defined(__mc68060))
  42. # define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(6,0,0)
  43. # endif
  44. # if !defined(BOOST_ARCH_M68K) && (defined(__mc68040__) || defined(mc68040) || defined(__mc68040))
  45. # define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(4,0,0)
  46. # endif
  47. # if !defined(BOOST_ARCH_M68K) && (defined(__mc68030__) || defined(mc68030) || defined(__mc68030))
  48. # define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(3,0,0)
  49. # endif
  50. # if !defined(BOOST_ARCH_M68K) && (defined(__mc68020__) || defined(mc68020) || defined(__mc68020))
  51. # define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(2,0,0)
  52. # endif
  53. # if !defined(BOOST_ARCH_M68K) && (defined(__mc68010__) || defined(mc68010) || defined(__mc68010))
  54. # define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(1,0,0)
  55. # endif
  56. # if !defined(BOOST_ARCH_M68K) && (defined(__mc68000__) || defined(mc68000) || defined(__mc68000))
  57. # define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_AVAILABLE
  58. # endif
  59. # if !defined(BOOST_ARCH_M68K)
  60. # define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_AVAILABLE
  61. # endif
  62. #endif
  63. #if BOOST_ARCH_M68K
  64. # define BOOST_ARCH_M68K_AVAILABLE
  65. #endif
  66. #define BOOST_ARCH_M68K_NAME "Motorola 68k"
  67. #endif
  68. #include <boost/predef/detail/test.h>
  69. BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_M68K,BOOST_ARCH_M68K_NAME)