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

网络编程

开发平台:

Unix_Linux

  1. dnl Process this file with autoconf to produce a configure script.
  2. AC_INIT(flock.c)
  3. AC_CONFIG_HEADER(config.h)
  4. dnl Checks for programs.
  5. AC_PROG_MAKE_SET
  6. AC_PROG_CC
  7. AC_ISC_POSIX
  8. if test "$ISC" = yes 
  9. then
  10. AC_CHECK_LIB(cposix, main)
  11. AC_CHECK_LIB(inet,bzero,NETWORK_LIBS="$NETWORK_LIBS -linet")
  12. fi
  13. if test "$GCC" = yes 
  14. then
  15. CFLAGS="$CFLAGS -fstrength-reduce -fpcc-struct-return "
  16. fi
  17. AC_SUBST(CC)
  18. AC_SUBST(CFLAGS)
  19. AC_ARG_ENABLE(debugging, [ --enable-debugging compiling in debug code], 
  20. debugging="$enableval", debugging="no")
  21. if test "$debugging" != "no"; then
  22. AC_MSG_RESULT(Will compile in debugging code)
  23. AC_DEFINE(DEBUG)
  24. else
  25. AC_MSG_RESULT(Will NOT compile in debugging code)
  26. fi
  27. AC_ARG_ENABLE(servermode, [ --enable-servermode    enable SERVER_MODE ], 
  28. servermode="$enableval", servermode="no")
  29. if test "$servermode" != "no"; then
  30. AC_MSG_RESULT(Enabled SERVER_MODE)
  31. AC_DEFINE(SERVER_MODE)
  32. fi
  33. AC_ARG_ENABLE(bulletins, [ --enable-bulletins=directory    Set the path for bulletin directory [/var/spool/bulls]], bulletins="$enableval", bulletins="no")
  34. if test "$bulletins" != "no" ; then
  35.     AC_MSG_RESULT(Bulletin support is enabled)
  36.     if test "$bulletins" != "yes" ; then
  37.         AC_DEFINE_UNQUOTED(BULLDIR,"$bulletins")
  38.     else
  39.         AC_DEFINE_UNQUOTED(BULLDIR,"/var/spool/bulls")
  40.     fi
  41. fi
  42. AC_ARG_ENABLE(specialauth, [ --enable-specialauth     enable secure crypt or shadow passwords ],
  43. specialauth="$specialauth", specialauth="no")
  44. if test "$specialauth" != "no"; then
  45. AC_MSG_RESULT(Defining AUTH_SPECIAL)
  46. AC_DEFINE(AUTH_SPECIAL)
  47. AUTH="yes"
  48. fi
  49. AC_ARG_ENABLE(apop, [ --enable-apop=path       Set the pop.auth file path [/etc/pop.auth]], apop="$enableval", apop="no")
  50. if test "$apop" != "no" ; then
  51.     AC_MSG_RESULT(APOP is enabled.)
  52.     TARGET="popauth"
  53.     if test "$apop" != "yes" ; then
  54.         AC_DEFINE_UNQUOTED(APOP,"$apop")
  55.     else
  56.         AC_DEFINE_UNQUOTED(APOP,"/etc/pop.auth") 
  57.     fi
  58. fi
  59. AC_ARG_WITH(apopuid, [ --with-apopuid=pop       Set the user who would own the pop.auth file. [pop]], apopuid=$withval, apopuid="no")
  60. if test "${apopuid}" != "no" ; then
  61.     if test "${apopuid}" != "yes" ; then
  62.         AC_DEFINE_UNQUOTED(POPUID,"$apopuid")
  63.     else
  64.         AC_DEFINE_UNQUOTED(POPUID,"pop")
  65.     fi
  66. else
  67.     if test "$apop" != "no" ; then
  68.         AC_DEFINE_UNQUOTED(POPUID,"pop")
  69.     fi
  70. fi
  71. dnl
  72. dnl query for the OS options
  73. dnl
  74. SYS_NAME="`uname -sr 2>/dev/null | sed 1q`"
  75. if test -z "$SYS_NAME"; then SYS_NAME=unknown;fi
  76.    
  77. OS_NAME="`echo $SYS_NAME 2>/dev/null | sed -e 's/[ ].*//'`"
  78. OS_VERSION="`echo $SYS_NAME 2>/dev/null | sed -e 's/.*[ ]//'`"
  79. case $OS_NAME in
  80.     SunOS)
  81. case $OS_VERSION in
  82.     [5]*) O_DEFS="$O_DEFS -DSOLARIS2 -DAUTH_SPECIAL -DGNU_PASS -DNO_GETLINE -DCONTENT_LENGTH=1" ;;
  83.     [4]*) O_DEFS="$O_DEFS -DSUNOS4" ;;
  84.     *) ;;
  85. esac ;;
  86.     OSF1) O_DEFS="$O_DEFS -DOSF1" ;;
  87.     HP*) O_DEFS="$O_DEFS -DHPUX" 
  88. OS_VERSION="`echo $OS_VERSION 2>/dev/null | sed -e 's/..//'`"
  89. case $OS_VERSION in
  90. [1][0]*) O_DEFS="$O_DEFS -DHPUX10" 
  91.                          if test $AUTH = "yes"; then
  92.                             LIBS="$LIBS -lsec"
  93.                          fi;;
  94. *) ;;
  95. esac ;;
  96.     AIX*) O_DEFS="$O_DEFS -DAIX" ;;
  97.     IRIX*) O_DEFS="-cckr $O_DEFS -DIRIX" ;;
  98.     BSD*) O_DEFS="$O_DEFS -DBSD" ;;
  99.     FreeBSD*) O_DEFS="$O_DEFS -DBSD" ;;
  100.     Linux*) O_DEFS="$O_DEFS -DLINUX" ;;
  101.     SCO*) O_DEFS="$O_DEFS -DPOPSCO -DAUTH_SPECIAL" 
  102.           LIBS="$LIBS -lsocket -lprot -lm -lx -lc -lndbm -ltinfo"
  103.           ;;
  104.     ULTRIX*) O_DEFS="$O_DEFS -DULTRIX -DSYSLOG42 -DBIND43 -DAUTH_SPECIAL"
  105.              LIBS="$LIBS -lauth"
  106.              ;;
  107.     *)
  108.         MACHINE="`uname -m 2>/dev/null`"
  109.         case $MACHINE in
  110.              DS/90*) OS_DEFS="$OS_DEFS -DUXPDS -DAUTH_SPECIAL";;
  111.         esac ;;
  112. esac
  113. TARGET="popper $TARGET"
  114. AC_SUBST(TARGET)
  115. AC_CHECK_SIZEOF(unsigned long int,4)
  116. AC_MSG_CHECKING([for sendmail program])
  117. if test -x /usr/sbin/sendmail
  118. then
  119. AC_DEFINE(MAIL_COMMAND, "/usr/sbin/sendmail")
  120. AC_MSG_RESULT([found at /usr/sbin/sendmail])
  121. elif test -x /usr/lib/sendmail 
  122. then
  123. AC_DEFINE(MAIL_COMMAND, "/usr/lib/sendmail")
  124. AC_MSG_RESULT([found at /usr/lib/sendmail])
  125. elif text -x /usr/ucblib/sendmail
  126. then
  127. AC_DEFINE(MAIL_COMMAND, "/usr/ucblib/sendmail")
  128. AC_MSG_RESULT([found at /usr/ucblib/sendmail])
  129. else
  130. AC_MSG_RESULT([ERROR: The sendmail program cannot be located])
  131. exit 1
  132. fi
  133. AC_MSG_CHECKING([for mail spool directory])
  134. if test -d /usr/mail
  135. then
  136. AC_DEFINE(POP_MAILDIR, "/usr/mail")
  137. AC_DEFINE(POP_DROP, "/usr/mail/.%s.pop")
  138. AC_DEFINE(POP_TMPDROP, "/usr/mail/tmpXXXXXX")
  139. AC_DEFINE(POP_TMPXMIT, "/usr/mail/xmitXXXXXX")
  140. AC_MSG_RESULT([found at /usr/mail])
  141. elif test -d /usr/spool/mail
  142. then
  143. AC_DEFINE(POP_MAILDIR, "/usr/spool/mail")
  144. AC_DEFINE(POP_DROP, "/usr/spool/mail/.%s.pop")
  145. AC_DEFINE(POP_TMPDROP, "/usr/spool/mail/tmpXXXXXX")
  146. AC_DEFINE(POP_TMPXMIT, "/usr/spool/mail/xmitXXXXXX")
  147. AC_MSG_RESULT([found at /usr/spool/mail])
  148. elif test -d /var/mail 
  149. then
  150. AC_DEFINE(POP_MAILDIR, "/var/mail")
  151. AC_DEFINE(POP_DROP, "/var/mail/.%s.pop")
  152. AC_DEFINE(POP_TMPDROP, "/var/mail/tmpXXXXXX")
  153. AC_DEFINE(POP_TMPXMIT, "/var/mail/xmitXXXXXX")
  154. AC_MSG_RESULT([found at /var/mail])
  155. elif test -d /var/spool/mail
  156. then
  157. AC_DEFINE(POP_MAILDIR, "/var/spool/mail")
  158. AC_DEFINE(POP_DROP, "/var/spool/mail/.%s.pop")
  159. AC_DEFINE(POP_TMPDROP, "/var/spool/mail/tmpXXXXXX")
  160. AC_DEFINE(POP_TMPXMIT, "/var/spool/mail/xmitXXXXXX")
  161. AC_MSG_RESULT([found at /var/spool/mail])
  162. else
  163. AC_MSG_RESULT([ERROR: Couln't locate the mail spool])
  164. exit 1
  165. fi
  166. dnl Checks for header files.
  167. AC_HEADER_STDC
  168. AC_HEADER_DIRENT
  169. AC_HEADER_SYS_WAIT
  170. AC_CHECK_HEADERS( 
  171. prot.h 
  172. fcntl.h 
  173. strings.h 
  174. sys/param.h 
  175. sys/file.h 
  176. sys/security.h 
  177. sys/syslog.h 
  178. sys/types.h 
  179. sys/fcntl.h 
  180. sys/stat.h 
  181. sys/unistd.h 
  182. sys/netinet/in.h 
  183. syslog.h 
  184. net/errno.h 
  185. unistd.h 
  186. netinet/in.h 
  187. maillock.h 
  188. ndbm.h 
  189. gdbm.h 
  190. dbm.h 
  191. shadow.h 
  192. )
  193. dnl Checks for libraries.
  194. AC_CHECK_LIB(nsl, t_accept, NETWORK_LIBS="$NETWORK_LIBS -lnsl")
  195. AC_CHECK_LIB(socket, socket, NETWORK_LIBS="$NETWORK_LIBS -lsocket")
  196. AC_CHECK_LIB(resolv, res_init, NETWORK_LIBS="$NETWORK_LIBS -lresolv")
  197. AC_CHECK_LIB(mail, maillock, NETWORK_LIBS="$NETWORK_LIBS -lmail"; AC_DEFINE(MAILOCK))
  198. AC_CHECK_LIB(krb, krb_recvauth, KERBEROS_LIBS="$KERBEROS_LIBS -lkrb")
  199. AC_CHECK_LIB(ndbm, dbm_open, DBM_LIBS="-lndbm")
  200. AC_CHECK_LIB(dbm, dbm_open, DBM_LIBS="-ldbm")
  201. AC_CHECK_LIB(gdbm, gdbm_open, DBM_LIBS="-lgdbm"; AC_DEFINE(GDBM))
  202. AC_CHECK_LIB(security, set_auth_parameters, LIBS="$LIBS -lsecurity")
  203. AC_CHECK_LIB(crypt, crypt, LIBS="$LIBS -lcrypt")
  204. AC_CHECK_LIB(shadow, pw_encrypt, LIBS="$LIBS -lshadow")
  205. AC_SUBST(NETWORK_LIBS)
  206. AC_SUBST(KERBEROS_LIBS)
  207. AC_SUBST(DBM_LIBS)
  208. AC_SUBST(LIBS)
  209. dnl Checks for typedefs, structures, and compiler characteristics.
  210. AC_C_CONST
  211. AC_TYPE_UID_T
  212. AC_TYPE_OFF_T
  213. AC_TYPE_SIZE_T
  214. AC_DECL_SYS_SIGLIST
  215. dnl Checks for library functions.
  216. AC_TYPE_SIGNAL
  217. AC_FUNC_VPRINTF
  218. AC_CHECK_FUNCS( 
  219. gethostname 
  220. getusershell 
  221. strdup 
  222. strerror 
  223. bcopy 
  224. index 
  225. flock  
  226. set_auth_parameters 
  227. pw_encrypt 
  228. ftruncate 
  229. )
  230. AC_SUBST(O_DEFS)
  231. AC_SUBST(DEFS)
  232. AC_OUTPUT(Makefile)