configure.in
上传用户:s81996212
上传日期:2007-01-04
资源大小:722k
文件大小:4k
源码类别:

WEB邮件程序

开发平台:

C/C++

  1. dnl $Id: configure.in,v 1.5 2000/04/26 22:31:10 mrsam Exp $
  2. dnl
  3. dnl Copyright 1998 - 1999 Double Precision, Inc.  See COPYING for
  4. dnl distribution information.
  5. AC_INIT(liblock.h)
  6. AM_CONFIG_HEADER(config.h)
  7. AM_INIT_AUTOMAKE(liblock, 0.50, 0)
  8. dnl Checks for programs.
  9. AC_PROG_AWK
  10. AC_PROG_CC
  11. AC_PROG_INSTALL
  12. AC_PROG_LN_S
  13. AC_PROG_RANLIB
  14. dnl Checks for libraries.
  15. dnl Checks for header files.
  16. AC_CHECK_HEADERS(errno.h fcntl.h sys/fcntl.h sys/ioctl.h sys/file.h unistd.h)
  17. AC_HEADER_STDC
  18. AC_HEADER_SYS_WAIT
  19. dnl Checks for typedefs, structures, and compiler characteristics.
  20. AC_C_CONST
  21. AC_TYPE_OFF_T
  22. AC_TYPE_PID_T
  23. AC_TYPE_SIGNAL
  24. AC_CACHE_CHECK( [for off64_t], liblock_cv_hasoff64t,
  25. liblock_cv_hasoff64t="no"
  26. AC_TRY_COMPILE([
  27. #include <sys/types.h>
  28. ],[
  29. off64_t n;
  30. n=0;
  31. ], liblock_cv_hasoff64t="yes")
  32. )
  33. if test "$liblock_cv_hasoff64t" = "yes"
  34. then
  35. LL_OFFSET_TYPE=off64_t
  36. else
  37. LL_OFFSET_TYPE=off_t
  38. fi
  39. AC_DEFINE_UNQUOTED(LL_OFFSET_TYPE,$LL_OFFSET_TYPE)
  40. AC_CACHE_CHECK( [for flock_t], liblock_cv_hasflock_t,
  41. liblock_cv_hasflock_t="no"
  42. AC_TRY_COMPILE([
  43. #if     HAVE_CONFIG_H
  44. #include        "config.h"
  45. #endif
  46. #include        <sys/types.h>
  47. #if     HAVE_FCNTL_H
  48. #include        <fcntl.h>
  49. #endif
  50. #if     HAVE_SYS_FCNTL_H
  51. #include        <sys/fcntl.h>
  52. #endif
  53. ],[
  54. flock_t t;
  55. ], liblock_cv_hasflock_t="yes"))
  56. if test "$liblock_cv_hasflock_t" = "yes"
  57. then
  58. AC_DEFINE_UNQUOTED(HAS_FLOCK_T,1)
  59. fi
  60. dnl Checks for library functions.
  61. AC_CHECK_FUNCS(setpgrp)
  62. AC_CHECK_FUNC(setpgrp,
  63. [
  64. AC_FUNC_SETPGRP
  65. ]
  66. )
  67. AC_CACHE_CHECK( [for fcntl], liblock_cv_hasfcntl,
  68. liblock_cv_hasfcntl="no"
  69. AC_TRY_LINK([
  70. #define LL_OFFSET_TYPE $LL_OFFSET_TYPE
  71. #include "${srcdir}/lockfcntl.c"
  72. ],[
  73. int n;
  74. ], liblock_cv_hasfcntl="yes"))
  75. if test "$liblock_cv_hasfcntl" = "yes"
  76. then
  77. AC_DEFINE_UNQUOTED(HAS_FCNTL,1)
  78. fi
  79. AC_CACHE_CHECK( [for flock], liblock_cv_hasflock,
  80. liblock_cv_hasflock="no"
  81. AC_TRY_LINK([
  82. #define LL_OFFSET_TYPE $LL_OFFSET_TYPE
  83. #include "${srcdir}/lockflock.c"
  84. ],[
  85. int n;
  86. ], liblock_cv_hasflock="yes"))
  87. if test "$liblock_cv_hasflock" = "yes"
  88. then
  89. AC_DEFINE_UNQUOTED(HAS_FLOCK,1)
  90. fi
  91. AC_CACHE_CHECK( [for lockf], liblock_cv_haslockf,
  92. liblock_cv_haslockf="no"
  93. AC_TRY_LINK([
  94. #define LL_OFFSET_TYPE $LL_OFFSET_TYPE
  95. #include "${srcdir}/locklockf.c"
  96. ],[
  97. int n;
  98. ], liblock_cv_haslockf="yes"))
  99. if test "$liblock_cv_haslockf" = "yes"
  100. then
  101. AC_DEFINE_UNQUOTED(HAS_LOCKF,1)
  102. fi
  103. AC_MSG_CHECKING(for locking method)
  104. AC_ARG_WITH(locking-method, [], lockmethod="$withval", lockmethod="")
  105. case x$lockmethod in
  106. xfcntl)
  107. AC_TRY_RUN([
  108. #define USE_FCNTL 1
  109. #define LL_OFFSET_TYPE $LL_OFFSET_TYPE
  110. #include "${srcdir}/locktest.c"
  111. ], , AC_MSG_ERROR(fcntl test failed.),
  112. :
  113. )
  114. ;;
  115. x)
  116. AC_TRY_RUN([
  117. #define USE_FCNTL 1
  118. #define LL_OFFSET_TYPE $LL_OFFSET_TYPE
  119. #include "${srcdir}/locktest.c"
  120. ], lockmethod=fcntl, ,AC_MSG_ERROR(--with-locking-method option required))
  121. ;;
  122. esac
  123. case x$lockmethod in
  124. xflock)
  125. AC_TRY_RUN([
  126. #define USE_FLOCK 1
  127. #define LL_OFFSET_TYPE $LL_OFFSET_TYPE
  128. #include "${srcdir}/locktest.c"
  129. ], , AC_MSG_ERROR(flock test failed.),
  130. :
  131. )
  132. ;;
  133. x)
  134. AC_TRY_RUN([
  135. #define USE_FLOCK 1
  136. #define LL_OFFSET_TYPE $LL_OFFSET_TYPE
  137. #include "${srcdir}/locktest.c"
  138. ], lockmethod=flock, , AC_MSG_ERROR(--with-locking-method option required))
  139. ;;
  140. esac
  141. case x$lockmethod in
  142. xlockf)
  143. AC_TRY_RUN([
  144. #define USE_LOCKF 1
  145. #define LL_OFFSET_TYPE $LL_OFFSET_TYPE
  146. #include "${srcdir}/locktest.c"
  147. ], , AC_MSG_ERROR(lockf test failed.),
  148. :
  149. )
  150. ;;
  151. x)
  152. AC_TRY_RUN([
  153. #define USE_LOCKF 1
  154. #define LL_OFFSET_TYPE $LL_OFFSET_TYPE
  155. #include "${srcdir}/locktest.c"
  156. ], lockmethod=lockf, , AC_MSG_ERROR(--with-locking-method option required))
  157. ;;
  158. esac
  159. case x$lockmethod in
  160. xlockf)
  161. ;;
  162. xflock)
  163. ;;
  164. xfcntl)
  165. ;;
  166. *)
  167. AC_MSG_ERROR(must specify --with-locking-method option)
  168. ;;
  169. esac
  170. AC_MSG_RESULT($lockmethod)
  171. AM_CONDITIONAL(USE_FCNTL, test "$lockmethod" = "fcntl")
  172. AM_CONDITIONAL(USE_FLOCK, test "$lockmethod" = "flock")
  173. AM_CONDITIONAL(USE_LOCKF, test "$lockmethod" = "lockf")
  174. AC_OUTPUT(Makefile)