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

WEB邮件程序

开发平台:

C/C++

  1. dnl $Id: configure.in,v 1.79 2000/06/25 02:17:56 mrsam Exp $
  2. dnl
  3. dnl Copyright 1998 - 2000 Double Precision, Inc.  See COPYING for
  4. dnl distribution information.
  5. AC_INIT(sqwebmail.c)
  6. AM_INIT_AUTOMAKE(sqwebmail, 0.37a, 0)
  7. AM_CONFIG_HEADER(config.h)
  8. AC_PROG_MAKE_SET
  9. dnl Checks for programs.
  10. AC_PROG_CC
  11. AC_PROG_RANLIB
  12. AC_ISC_POSIX
  13. AC_AIX
  14. AC_MINIX
  15. if test "$GCC" = yes ; then
  16.         CXXFLAGS="$CXXFLAGS -Wall"
  17.         CFLAGS="$CFLAGS -Wall"
  18. fi
  19. AC_PATH_PROGS(PERL,perl5 perl, perl)
  20. AC_PATH_PROGS(GZIP,gzip,gzip)
  21. if test "$PERL" = "perl"
  22. then
  23. AC_MSG_ERROR(Perl not found)
  24. fi
  25. test "x$prefix" = xNONE && prefix=$ac_default_prefix
  26. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
  27. eval "prefix=$prefix"
  28. eval "exec_prefix=$exec_prefix"
  29. eval "datadir=$datadir"
  30. eval "bindir=$bindir"
  31. eval "localstatedir=$localstatedir"
  32. pkgdatadir=$datadir/sqwebmail
  33. AC_ARG_WITH(mailer,
  34. [  --with-mailer=prog  Your mail submission program],
  35. mailer="$withval",
  36. [
  37. if test -d ${srcdir}/../courier
  38. then
  39. mailer="$bindir/sendmail"
  40. else
  41. AC_PATH_PROG(qmail, qmail-inject, no, $PATH:/var/qmail/bin)
  42. if test "$qmail" = "no"
  43. then
  44. AC_PATH_PROG(sendmail, sendmail, /usr/bin/sendmail,
  45. $PATH:/etc:/sbin:/usr/sbin)
  46. mailer="$sendmail -oi -t"
  47. else
  48. mailer="$qmail"
  49. fi
  50. fi
  51. ]
  52. )
  53. AC_SUBST(mailer)
  54. AC_ARG_WITH(fcgi,
  55. [  --without-fcgi      Do not compile fastcgi support
  56.   --with-fcgi         Compile with fastcgi support],
  57. [ AC_CHECK_LIB(fcgi, FCGX_GetChar) ] )
  58. AC_ARG_WITH(ispell,
  59. [  --without-ispell      Do not compile ispell support
  60.   --with-ispell=prog    Pathname to ispell (if not in default path)],
  61. ispell="$withval", [ AC_PATH_PROG(ispell, ispell, N) ] )
  62. case $ispell in
  63. "/"*)
  64. AC_DEFINE_UNQUOTED(ISPELL, "$ispell")
  65. ;;
  66. *)
  67. ispell=""
  68. ;;
  69. esac
  70. AM_CONDITIONAL(ISPELL, test "$ispell" != "")
  71. dnl Checks for libraries.
  72. AC_CHECK_LIB(sun,getpwnam)
  73. AC_CHECK_LIB(crypt, crypt)
  74. dnl Check whether we should use gdbm, or db.
  75. needs_withdb=0
  76. . ../dbobj.config
  77. if test "$dblibrary" = ""
  78. then
  79. AC_MSG_ERROR(--with-db option required)
  80. fi
  81. dblibrary="../$dblibrary"
  82. AC_SUBST(LIBDB)
  83. AC_SUBST(LIBGDBM)
  84. AC_SUBST(dblibrary)
  85. dnl Checks for header files.
  86. AC_HEADER_DIRENT
  87. AC_HEADER_STDC
  88. AC_HEADER_SYS_WAIT
  89. AC_CHECK_HEADERS(syslog.h fcntl.h sys/wait.h sys/stat.h sys/time.h utime.h unistd.h locale.h crypt.h)
  90. AC_HEADER_TIME
  91. dnl Checks for typedefs, structures, and compiler characteristics.
  92. AC_C_CONST
  93. AC_STRUCT_TM
  94. AC_TYPE_PID_T
  95. AC_TYPE_UID_T
  96. AC_TYPE_SIGNAL
  97. AC_TRY_RUN( [
  98. #include <stdio.h>
  99. #include <stdlib.h>
  100. #include <limits.h>
  101. int main()
  102. {
  103. FILE *fp=fopen("conftestval", "w");
  104. if (!fp) exit(1);
  105. fprintf(fp, "-%lun", ULONG_MAX);
  106. fclose(fp);
  107. return (0);
  108. }
  109. ]
  110. , [ MAXLONGSIZE=`wc -c conftestval | awk ' { print $1 } '  ` ],
  111. [
  112. AC_MSG_ERROR(Unable to run test program.)
  113. ] ,
  114. [
  115. MAXLONGSIZE=60
  116. AC_MSG_WARN([Cross compiling, setting MAXLONGSIZE to $MAXLONGSIZE])
  117. ]
  118. )
  119. dnl Checks for library functions.
  120. AC_FUNC_STRFTIME
  121. AC_CHECK_FUNCS(crypt utime utimes setreuid setlocale)
  122. AC_REPLACE_FUNCS(strdup strcasecmp strncasecmp)
  123. AC_CACHE_CHECK([for crypt() prototype],sqwebmail_cv_NEED_CRYPT_PROTOTYPE,
  124. AC_TRY_COMPILE( [
  125.        #if HAVE_CRYPT_H
  126.        #include <crypt.h>
  127.        #endif
  128.        #if HAVE_UNISTD_H
  129.        #include <unistd.h>
  130.        #endif
  131.        int crypt(int, int);
  132.         ], [], sqwebmail_cv_NEED_CRYPT_PROTOTYPE=1,
  133.                 sqwebmail_cv_NEED_CRYPT_PROTOTYPE=0 )
  134. )
  135. AC_DEFINE_UNQUOTED(NEED_CRYPT_PROTOTYPE,$sqwebmail_cv_NEED_CRYPT_PROTOTYPE)
  136. dnl Other
  137. AC_ARG_ENABLE(webpass,
  138. [  --enable-webpass=yes  Enable ~/Maildir/sqwebmail-pass authentication
  139.   --enable-webpass=vpopmail   Change password via vpopmail ],
  140. ENABLE_WEBPASS=$enableval, ENABLE_WEBPASS=yes)
  141. WEBPASS_CHANGE_VCHKPW=0
  142. case $ENABLE_WEBPASS in
  143. vpopmail)
  144. ENABLE_WEBPASS=1
  145. WEBPASS_CHANGE_VCHKPW=1
  146. ;;
  147. 1*|y*|Y*)
  148. ENABLE_WEBPASS=1
  149. ;;
  150. *)
  151. ENABLE_WEBPASS=0
  152. ;;
  153. esac
  154. AC_DEFINE_UNQUOTED(ENABLE_WEBPASS,$ENABLE_WEBPASS)
  155. AC_ARG_ENABLE(https, [  --enable-https          Generate https:// URLs for all accesses
  156.   --enable-https=login    Use https:// URLs for password transmission only ],
  157. https="$enableval", https="n")
  158. case "$https" in
  159. 1*|y*|Y*)
  160. AC_DEFINE_UNQUOTED(USE_HTTPS, 1)
  161. AC_DEFINE_UNQUOTED(USE_HTTPS_LOGIN, 1)
  162. ;;
  163. login)
  164. AC_DEFINE_UNQUOTED(USE_HTTPS_LOGIN, 1)
  165. ;;
  166. esac
  167. AC_ARG_ENABLE(hardtimeout, [  --enable-hardtimeout=7200  Hard session timeout (2hrs default)],
  168. TIMEOUTHARD=$enableval, TIMEOUTHARD=7200)
  169. AC_DEFINE_UNQUOTED(TIMEOUTHARD,$TIMEOUTHARD)
  170. AC_SUBST(TIMEOUTHARD)
  171. AC_ARG_ENABLE(softtimeout, [  --enable-softtimeout=1200  Inactivity timeout (20 min default)],
  172. TIMEOUTSOFT=$enableval, TIMEOUTSOFT=1200)
  173. AC_DEFINE_UNQUOTED(TIMEOUTSOFT,$TIMEOUTSOFT)
  174. AC_ARG_ENABLE(autopurge, [  --enable-autopurge=7       Automatically purge deleted messages (days).],
  175. AUTOPURGE=$enableval, AUTOPURGE=7)
  176. AC_DEFINE_UNQUOTED(AUTOPURGE,$AUTOPURGE)
  177. AC_ARG_ENABLE(maxpurge,  [  --enable-maxpurge=90       Maximum value for autopurge (days).],
  178. MAXPURGE=$enableval, MAXPURGE=90)
  179. AC_DEFINE_UNQUOTED(MAXPURGE,$MAXPURGE)
  180. AC_ARG_WITH(htmllibdir, [  --with-htmllibdir={dir}    Install sqwebmail HTML data in {dir}, instead of
  181.                              PREFIX/share/sqwebmail (which is usually
  182.                              /usr/local/share/sqwebmail)],
  183. htmllibdir="$withval",
  184. htmllibdir="$pkgdatadir"
  185. ac_configure_args="$ac_configure_args --with-htmllibdir=$htmllibdir")
  186. AC_SUBST(htmllibdir)
  187. AC_ARG_WITH(maxmsgsize,
  188. [  --with-maxmsgsize=nbytes       Limit max size of a created message, in bytes
  189.                                  (default: 2 megabytes)],
  190. MAXMSGSIZE=$withval,
  191. MAXMSGSIZE=2097152)
  192. AC_SUBST(MAXMSGSIZE)
  193. AC_ARG_ENABLE(lang, [  --with-defaultlang={lang}       Default language to use (only en, so far)],
  194. lang="$enableval",lang=en; ac_configure_args="$ac_configure_args --with-defaultlang=$lang")
  195. AC_ARG_WITH(scriptdir, [], scriptdir="$withval",
  196. scriptdir="$htmllibdir"
  197. ac_configure_args="$ac_configure_args --with-scriptdir=$scriptdir")
  198. AC_SUBST(scriptdir)
  199. AC_ARG_ENABLE(mimecharset,
  200. [  --enable-mimecharset=charset   Default MIME charset to set on new messages])
  201. mimetypes=""
  202. for f in /usr/lib /usr/local/lib /usr/lib/pine /usr/local/lib/pine /etc 
  203.          /var/lib/httpd/conf /home/httpd/conf /usr/local/etc/apache 
  204.          /usr/local/apache/conf /var/lib/apache/etc
  205. do
  206. if test -f $f/mime.types
  207. then
  208. if test "$mimetypes" != ""
  209. then
  210. mimetypes="$mimetypes:"
  211. fi
  212. mimetypes="$mimetypes$f/mime.types"
  213. fi
  214. done
  215. AC_ARG_ENABLE(mimetypes, [  --enable-mimetypes={dir}   Your mime.types file.],
  216. mimetypes="$enableval",
  217. [
  218. if test "$mimetypes" = ""
  219. then
  220. AC_MSG_ERROR([Unable to find your mime.types file, specify --enable-mimetypes.])
  221. fi
  222. ] )
  223. AC_DEFINE_UNQUOTED(MIMETYPES, "$mimetypes")
  224. AC_DEFINE_UNQUOTED(MAXLONGSIZE, $MAXLONGSIZE)
  225. AC_SUBST(LIBOBJS)
  226. AC_ARG_ENABLE(bannerprog,
  227. [  --enable-bannerprog=prog   Program which will generate a banner.],
  228. AC_DEFINE_UNQUOTED(BANNERPROG, "$enableval")
  229.  ])
  230. CFLAGS="$CFLAGS -I.. -I$srcdir/.."
  231. AC_ARG_WITH(maxargsize,
  232. [  --with-maxargsize=nbytes       Limit maximum size of CGI args])
  233. AC_ARG_WITH(maxformargsize,
  234. [  --with-maxformargsize=nbytes   Maximum size of multipart/formdata uploads])
  235. need_cache=0
  236. for f in `cat ../authlib/modulelist`
  237. do
  238. if test "$f" = "authldap"
  239. then
  240. need_cache=1
  241. fi
  242. if test "$f" = "authmysql"
  243. then
  244. need_cache=1
  245. fi
  246. if test "$f" = "authvchkpw"
  247. then
  248. need_cache=1
  249. fi
  250. if test "$f" = "authdaemon"
  251. then
  252. need_cache=1
  253. fi
  254. done
  255. AC_ARG_WITH(cachedir,
  256. [  --with-cachedir            Cache logins
  257.   --with-cachedir=dir        Use dir instead of /var/run/sqwebmail or /var/cache/sqwebmail],
  258. cachedir="$withval",
  259. cachedir="no"
  260. test "$need_cache" = 1 && cachedir="yes")
  261. if test "$cachedir" = "yes"
  262. then
  263. cachedir=/var/run/sqwebmail
  264. if test -d /var/cache
  265. then
  266. cachedir=/var/cache/sqwebmail
  267. fi
  268. if test -d ${srcdir}/../courier
  269. then
  270. cachedir=$localstatedir/webmail-logincache
  271. fi
  272. fi
  273. if test "$cachedir" != "no"
  274. then
  275. AC_DEFINE_UNQUOTED(CACHEDIR, "$cachedir")
  276. else
  277. for f in `cat ../authlib/modulelist`
  278. do
  279. case $f in
  280. authdaemon|authldap|authmysql)
  281. AC_MSG_ERROR(--with-cachedir required for $f module)
  282. ;;
  283. esac
  284. done
  285. fi
  286. AC_SUBST(cachedir)
  287. AC_ARG_WITH(cacheowner,
  288. [  --with-cacheowner=user     Owner of the cache directory (default: bin)],
  289. cacheowner="$withval", cacheowner="bin")
  290. AC_DEFINE_UNQUOTED(CACHEOWNER, "$cacheowner")
  291. AC_SUBST(cacheowner)
  292. AM_CONDITIONAL(HASCACHE, test "$cachedir" != "no")
  293. dogzip="no"
  294. if test "$GZIP" != "gzip"
  295. then
  296. dogzip="yes"
  297. fi
  298. AC_ARG_WITH(gzip,
  299. [  --without-gzip                 Do not use gzip to compress messages],
  300. dogzip="$withval")
  301. if test "$dogzip" = "no"
  302. then
  303. GZIP=""
  304. fi
  305. if test "$GZIP" != ""
  306. then
  307. AC_DEFINE_UNQUOTED(GZIP,"$GZIP")
  308. fi
  309. AC_ARG_WITH(efence,
  310. [  --with-efence                  Link with efence.a debugger ],
  311. efence=$withval, efence="N")
  312. case $efence in
  313. 1*|y*|Y*)
  314. LIBS="$LIBS -lefence"
  315. ;;
  316. *)
  317. ;;
  318. esac
  319. have_vpopmail=0
  320. for f in `cat ../authlib/modulelist ; . ../authlib/authdaemonrc ; echo $authmodulelist `
  321. do
  322. test "$f" = "authvchkpw" || continue
  323. have_vpopmail=1
  324. done
  325. LIBVCHKPW=""
  326. if test "$have_vpopmail" = 1
  327. then
  328.         vpopmail_home="`echo ~vpopmail`"
  329.         LIBVCHKPW="-L${vpopmail_home}/lib -lvpopmail"
  330. AC_CHECK_LIB(crypt, crypt, LIBVCHKPW="-lcrypt $LIBVCHKPW")
  331. AC_MSG_CHECKING(whether -lm is needed for floor)
  332. AC_TRY_LINK_FUNC(floor,
  333. AC_MSG_RESULT(no),
  334. LIBVCHKPW="$LIBVCHKPW -lm"
  335. AC_MSG_RESULT(yes))
  336.         CFLAGS="-I${vpopmail_home}/include $CFLAGS"
  337. AC_DEFINE_UNQUOTED(WEBPASS_CHANGE_VCHKPW, $WEBPASS_CHANGE_VCHKPW)
  338. fi
  339. AC_SUBST(LIBVCHKPW)
  340. imageurl="/webmail/"
  341. AC_ARG_ENABLE(imageurl, [  --enable-imageurl={url}   URL to <DocumentRoot> directory for images.],
  342. imageurl="$enableval")
  343. AC_SUBST(imageurl)
  344. AC_MSG_CHECKING(URL to access images)
  345. AC_MSG_RESULT($imageurl)
  346. AC_CONFIG_SUBDIRS(images html)
  347. INSTALL_SCRIPT='${INSTALL} -m 0755'
  348. AC_OUTPUT(Makefile sendit.sh cleancache.pl)
  349. if test ! -d html/$lang
  350. then
  351. AC_MSG_ERROR(Unknown language: $lang)
  352. fi