mfx_limits.m4 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. # serial 3
  2. AC_DEFUN([mfx_CHECK_HEADER_SANE_LIMITS_H], [
  3. AC_CACHE_CHECK([whether limits.h is sane],
  4. mfx_cv_header_sane_limits_h,
  5. [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <limits.h>
  6. #if (32767 >= 4294967295ul) || (65535u >= 4294967295ul)
  7. # if defined(__APPLE__) && defined(__GNUC__)
  8. # error "your preprocessor is broken - use compiler option -no-cpp-precomp"
  9. # else
  10. # include "your preprocessor is broken"
  11. # endif
  12. #endif
  13. #define MFX_0xffff 0xffff
  14. #define MFX_0xffffffffL 4294967295ul
  15. #if !defined(CHAR_BIT) || (CHAR_BIT != 8)
  16. # include "error CHAR_BIT"
  17. #endif
  18. #if !defined(UCHAR_MAX)
  19. # include "error UCHAR_MAX 1"
  20. #endif
  21. #if !defined(USHRT_MAX)
  22. # include "error USHRT_MAX 1"
  23. #endif
  24. #if !defined(UINT_MAX)
  25. # include "error UINT_MAX 1"
  26. #endif
  27. #if !defined(ULONG_MAX)
  28. # include "error ULONG_MAX 1"
  29. #endif
  30. #if !defined(SHRT_MAX)
  31. # include "error SHRT_MAX 1"
  32. #endif
  33. #if !defined(INT_MAX)
  34. # include "error INT_MAX 1"
  35. #endif
  36. #if !defined(LONG_MAX)
  37. # include "error LONG_MAX 1"
  38. #endif
  39. #if (UCHAR_MAX < 1)
  40. # include "error UCHAR_MAX 2"
  41. #endif
  42. #if (USHRT_MAX < 1)
  43. # include "error USHRT_MAX 2"
  44. #endif
  45. #if (UINT_MAX < 1)
  46. # include "error UINT_MAX 2"
  47. #endif
  48. #if (ULONG_MAX < 1)
  49. # include "error ULONG_MAX 2"
  50. #endif
  51. #if (UCHAR_MAX < 0xff)
  52. # include "error UCHAR_MAX 3"
  53. #endif
  54. #if (USHRT_MAX < MFX_0xffff)
  55. # include "error USHRT_MAX 3"
  56. #endif
  57. #if (UINT_MAX < MFX_0xffff)
  58. # include "error UINT_MAX 3"
  59. #endif
  60. #if (ULONG_MAX < MFX_0xffffffffL)
  61. # include "error ULONG_MAX 3"
  62. #endif
  63. #if (USHRT_MAX > UINT_MAX)
  64. # include "error USHRT_MAX vs UINT_MAX"
  65. #endif
  66. #if (UINT_MAX > ULONG_MAX)
  67. # include "error UINT_MAX vs ULONG_MAX"
  68. #endif
  69. ]], [[
  70. #if (USHRT_MAX == MFX_0xffff)
  71. { typedef char a_short2a[1 - 2 * !(sizeof(short) == 2)]; }
  72. #elif (USHRT_MAX >= MFX_0xffff)
  73. { typedef char a_short2b[1 - 2 * !(sizeof(short) > 2)]; }
  74. #endif
  75. #if (UINT_MAX == MFX_0xffff)
  76. { typedef char a_int2a[1 - 2 * !(sizeof(int) == 2)]; }
  77. #elif (UINT_MAX >= MFX_0xffff)
  78. { typedef char a_int2b[1 - 2 * !(sizeof(int) > 2)]; }
  79. #endif
  80. #if (ULONG_MAX == MFX_0xffff)
  81. { typedef char a_long2a[1 - 2 * !(sizeof(long) == 2)]; }
  82. #elif (ULONG_MAX >= MFX_0xffff)
  83. { typedef char a_long2b[1 - 2 * !(sizeof(long) > 2)]; }
  84. #endif
  85. #if !defined(_CRAY1) /* CRAY PVP systems */
  86. #if (USHRT_MAX == MFX_0xffffffffL)
  87. { typedef char a_short4a[1 - 2 * !(sizeof(short) == 4)]; }
  88. #elif (USHRT_MAX >= MFX_0xffffffffL)
  89. { typedef char a_short4b[1 - 2 * !(sizeof(short) > 4)]; }
  90. #endif
  91. #endif /* _CRAY1 */
  92. #if (UINT_MAX == MFX_0xffffffffL)
  93. { typedef char a_int4a[1 - 2 * !(sizeof(int) == 4)]; }
  94. #elif (UINT_MAX >= MFX_0xffffffffL)
  95. { typedef char a_int4b[1 - 2 * !(sizeof(int) > 4)]; }
  96. #endif
  97. #if (ULONG_MAX == MFX_0xffffffffL)
  98. { typedef char a_long4a[1 - 2 * !(sizeof(long) == 4)]; }
  99. #elif (ULONG_MAX >= MFX_0xffffffffL)
  100. { typedef char a_long4b[1 - 2 * !(sizeof(long) > 4)]; }
  101. #endif
  102. ]])],
  103. [mfx_cv_header_sane_limits_h=yes],
  104. [mfx_cv_header_sane_limits_h=no])])
  105. ])
  106. # /***********************************************************************
  107. # // standard
  108. # ************************************************************************/
  109. AC_DEFUN([mfx_LZO_CHECK_ENDIAN], [
  110. AC_C_BIGENDIAN([AC_DEFINE(LZO_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(LZO_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])])
  111. ])#
  112. # /***********************************************************************
  113. # //
  114. # ************************************************************************/
  115. dnl more types which are not yet covered by ACC
  116. AC_DEFUN([mfx_CHECK_SIZEOF], [
  117. AC_CHECK_SIZEOF(__int32)
  118. AC_CHECK_SIZEOF(intmax_t)
  119. AC_CHECK_SIZEOF(uintmax_t)
  120. AC_CHECK_SIZEOF(intptr_t)
  121. AC_CHECK_SIZEOF(uintptr_t)
  122. AC_CHECK_SIZEOF(float)
  123. AC_CHECK_SIZEOF(double)
  124. AC_CHECK_SIZEOF(long double)
  125. AC_CHECK_SIZEOF(dev_t)
  126. AC_CHECK_SIZEOF(fpos_t)
  127. AC_CHECK_SIZEOF(mode_t)
  128. AC_CHECK_SIZEOF(off_t)
  129. AC_CHECK_SIZEOF(ssize_t)
  130. AC_CHECK_SIZEOF(time_t)
  131. ])#
  132. AC_DEFUN([mfx_CHECK_LIB_WINMM], [
  133. if test "X$GCC" = Xyes; then
  134. case $host_os in
  135. cygwin* | mingw* | pw32*)
  136. test "X$LIBS" != "X" && LIBS="$LIBS "
  137. LIBS="${LIBS}-lwinmm" ;;
  138. *)
  139. ;;
  140. esac
  141. fi
  142. ])#