configure.in
上传用户:tjescc
上传日期:2021-02-23
资源大小:419k
文件大小:4k
源码类别:

Telnet服务器

开发平台:

Unix_Linux

  1. dnl @(#) $Header: /usr/local/cvs/nessus-libraries/libpcap-nessus/configure.in,v 1.7 2003/02/06 20:28:07 renaud Exp $ (LBL)
  2. dnl
  3. dnl Copyright (c) 1994, 1995, 1996, 1997
  4. dnl The Regents of the University of California.  All rights reserved.
  5. dnl
  6. dnl Process this file with autoconf to produce a configure script.
  7. dnl
  8. AC_INIT(pcap.c)
  9. AC_CANONICAL_SYSTEM
  10. umask 002
  11. if test -z "$PWD" ; then
  12. PWD=`pwd`
  13. fi
  14. AC_LBL_C_INIT(V_CCOPT, V_INCLS)
  15. AC_CHECK_HEADERS(malloc.h sys/ioccom.h sys/sockio.h)
  16. AC_LBL_FIXINCLUDES
  17. AC_CHECK_FUNCS(ether_hostton strerror)
  18. dnl
  19. dnl Not all versions of test support -c (character special) but it's a
  20. dnl better way of testing since the device might be protected. So we
  21. dnl check in our normal order using -r and then check the for the /dev
  22. dnl guys again using -c.
  23. dnl
  24. AC_ARG_WITH(pcap, [  --with-pcap=TYPE        use packet capture TYPE])
  25. AC_MSG_CHECKING(packet capture type)
  26. if test ! -z "$with_pcap" ; then
  27. V_PCAP="$withval"
  28. elif test -r /dev/bpf0 ; then
  29. V_PCAP=bpf
  30. elif test -r /usr/include/net/pfilt.h ; then
  31. V_PCAP=pf
  32. elif test -r /dev/enet ; then
  33. V_PCAP=enet
  34. elif test -r /dev/nit ; then
  35. V_PCAP=snit
  36. elif test -r /usr/include/sys/net/nit.h ; then
  37. V_PCAP=nit
  38. elif test -r /usr/include/net/raw.h ; then
  39. V_PCAP=snoop
  40. elif test -r /usr/include/sys/dlpi.h ; then
  41. V_PCAP=dlpi
  42. elif test -r /usr/include/linux/socket.h ; then
  43. V_PCAP=linux
  44. elif test -c /dev/bpf0 ; then # check again in case not readable
  45. V_PCAP=bpf
  46. elif test -c /dev/enet ; then # check again in case not readable
  47. V_PCAP=enet
  48. elif test -c /dev/nit ; then # check again in case not readable
  49. V_PCAP=snit
  50. else
  51. V_PCAP=null
  52. fi
  53. AC_MSG_RESULT($V_PCAP)
  54. case "$V_PCAP" in
  55. dlpi)
  56. AC_CHECK_HEADERS(sys/bufmod.h sys/dlpi_ext.h)
  57. AC_MSG_CHECKING(for /dev/dlpi device)
  58. if test -c /dev/dlpi ; then
  59. AC_MSG_RESULT(yes)
  60. AC_DEFINE(HAVE_DEV_DLPI)
  61. else
  62. AC_MSG_RESULT(no)
  63. dir="/dev/dlpi"
  64. AC_MSG_CHECKING(for $dir directory)
  65. if test -d $dir ; then
  66. AC_MSG_RESULT(yes)
  67. AC_DEFINE_UNQUOTED(PCAP_DEV_PREFIX, "$dir")
  68. else
  69. AC_MSG_RESULT(no)
  70. fi
  71. fi
  72. ;;
  73. linux)
  74. AC_CHECK_HEADERS(net/if_arp.h)
  75. AC_MSG_CHECKING(Linux kernel version)
  76. AC_CACHE_VAL(ac_cv_linux_vers,
  77.     ac_cv_linux_vers=`uname -r 2>&1 | 
  78. sed -n -e '$s/.* //' -e '$s/..*//p'`)
  79. AC_MSG_RESULT($ac_cv_linux_vers)
  80. if test $ac_cv_linux_vers -lt 2 ; then
  81. AC_MSG_ERROR(version 2 or higher required; see libcap-nessus/INSTALL for more info)
  82. fi
  83. ;;
  84. null)
  85. AC_MSG_WARN(cannot determine packet capture interface)
  86. AC_MSG_WARN((see libcap-nessus/INSTALL for more info))
  87. ;;
  88. esac
  89. AC_LBL_LEX_AND_YACC(V_LEX, V_YACC, pcap_)
  90. AC_PATH_PROG(PLEX, $V_LEX,,$PATH)
  91. test "x$PLEX" = "x" && AC_ERROR(*** Neither lex nor flex are installed - can not continue)
  92. AC_PATH_PROG(PYACC, $V_YACC,,$PATH)
  93. test "x$PYACC" = "x" && AC_ERROR(*** Neither yacc nor bison are installed - can not continue)
  94. case "$target_os" in
  95. aix*)
  96. dnl Workaround to enable certain features
  97. AC_DEFINE(_SUN)
  98. ;;
  99. hpux9*)
  100. AC_DEFINE(HAVE_HPUX9)
  101. ;;
  102. hpux10.0*)
  103. ;;
  104. hpux10.1*)
  105. ;;
  106. hpux*)
  107. dnl HPUX 10.20 and above is similar to HPUX 9...
  108. AC_DEFINE(HAVE_HPUX10_20)
  109. ;;
  110. sinix*)
  111. AC_MSG_CHECKING(if SINIX compiler defines sinix)
  112. AC_CACHE_VAL(ac_cv_cc_sinix_defined,
  113. AC_TRY_COMPILE(
  114.     [],
  115.     [int i = sinix;],
  116.     ac_cv_cc_sinix_defined=yes,
  117.     ac_cv_cc_sinix_defined=no))
  118.     AC_MSG_RESULT($ac_cv_cc_sinix_defined)
  119.     if test $ac_cv_cc_sinix_defined = no ; then
  120.     AC_DEFINE(sinix)
  121.     fi
  122. ;;
  123. solaris*)
  124. AC_DEFINE(HAVE_SOLARIS)
  125. ;;
  126. linux*)
  127. V_INCLS="$V_INCLS -Ilinux-include"
  128. ;;
  129. esac
  130. AC_CHECK_PROGS(V_RANLIB, ranlib, @true)
  131. AC_LBL_DEVEL(V_CCOPT)
  132. AC_LBL_SOCKADDR_SA_LEN
  133. AC_LBL_UNALIGNED_ACCESS
  134. if test "${srcdir}" = "." ; then
  135. srcdirprefix=""
  136. else
  137. srcdirprefix="./"
  138. fi
  139. if test -r ${srcdirprefix}lbl/gnuc.h ; then
  140. rm -f gnuc.h
  141. ln -s ${srcdirprefix}lbl/gnuc.h gnuc.h
  142. fi
  143. rm -f bpf_filter.c
  144. if test -f ${srcdirprefix}net/bpf_filter.c
  145. then
  146. ln -s ${srcdirprefix}net/bpf_filter.c bpf_filter.c
  147. else
  148. ln -s ${srcdirprefix}bpf/net/bpf_filter.c bpf_filter.c
  149. ln -s ${srcdirprefix}bpf/net net
  150. fi
  151. AC_SUBST(V_CCOPT)
  152. AC_SUBST(V_INCLS)
  153. AC_SUBST(V_LEX)
  154. AC_SUBST(V_PCAP)
  155. AC_SUBST(V_RANLIB)
  156. AC_SUBST(V_YACC)
  157. INSTALL="`pwd`/install-sh -c"
  158. AC_SUBST(INSTALL)
  159. AC_OUTPUT(Makefile)
  160. if test -f .devel ; then
  161. make depend
  162. fi
  163. exit 0