hpux.hpp 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. // (C) Copyright John Maddock 2001 - 2003.
  2. // (C) Copyright Jens Maurer 2001 - 2003.
  3. // (C) Copyright David Abrahams 2002.
  4. // (C) Copyright Toon Knapen 2003.
  5. // (C) Copyright Boris Gubenko 2006 - 2007.
  6. // Use, modification and distribution are subject to the
  7. // Boost Software License, Version 1.0. (See accompanying file
  8. // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  9. // See http://www.boost.org for most recent version.
  10. // hpux specific config options:
  11. #define BOOST_PLATFORM "HP-UX"
  12. // In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>
  13. // However, it has the following problem:
  14. // Use of UINT32_C(0) results in "0u l" for the preprocessed source
  15. // (verifyable with gcc 2.95.3)
  16. #if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC)
  17. # define BOOST_HAS_STDINT_H
  18. #endif
  19. #if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE))
  20. # define BOOST_NO_SWPRINTF
  21. #endif
  22. #if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE)
  23. # define BOOST_NO_CWCTYPE
  24. #endif
  25. #if defined(__GNUC__)
  26. # if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))
  27. // GNU C on HP-UX does not support threads (checked up to gcc 3.3)
  28. # define BOOST_DISABLE_THREADS
  29. # elif !defined(BOOST_DISABLE_THREADS)
  30. // threads supported from gcc-3.3 onwards:
  31. # define BOOST_HAS_THREADS
  32. # define BOOST_HAS_PTHREADS
  33. # endif
  34. #elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS)
  35. # define BOOST_HAS_PTHREADS
  36. #endif
  37. // boilerplate code:
  38. #define BOOST_HAS_UNISTD_H
  39. #include <boost/config/detail/posix_features.hpp>
  40. // the following are always available:
  41. #ifndef BOOST_HAS_GETTIMEOFDAY
  42. # define BOOST_HAS_GETTIMEOFDAY
  43. #endif
  44. #ifndef BOOST_HAS_SCHED_YIELD
  45. # define BOOST_HAS_SCHED_YIELD
  46. #endif
  47. #ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
  48. # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
  49. #endif
  50. #ifndef BOOST_HAS_NL_TYPES_H
  51. # define BOOST_HAS_NL_TYPES_H
  52. #endif
  53. #ifndef BOOST_HAS_NANOSLEEP
  54. # define BOOST_HAS_NANOSLEEP
  55. #endif
  56. #ifndef BOOST_HAS_GETTIMEOFDAY
  57. # define BOOST_HAS_GETTIMEOFDAY
  58. #endif
  59. #ifndef BOOST_HAS_DIRENT_H
  60. # define BOOST_HAS_DIRENT_H
  61. #endif
  62. #ifndef BOOST_HAS_CLOCK_GETTIME
  63. # define BOOST_HAS_CLOCK_GETTIME
  64. #endif
  65. #ifndef BOOST_HAS_SIGACTION
  66. # define BOOST_HAS_SIGACTION
  67. #endif
  68. #ifndef BOOST_HAS_NRVO
  69. # ifndef __parisc
  70. # define BOOST_HAS_NRVO
  71. # endif
  72. #endif
  73. #ifndef BOOST_HAS_LOG1P
  74. # define BOOST_HAS_LOG1P
  75. #endif
  76. #ifndef BOOST_HAS_EXPM1
  77. # define BOOST_HAS_EXPM1
  78. #endif