* Update to version 2.19.11
[alpine.git] / configure.ac
blob1e818b7c80c73e4b61b6b65a86564b0438799a33
1 dnl Process this file with autoconf to produce a configure script.
3 dnl /* ========================================================================
4 dnl  * Copyright 2013-2014 Eduardo Chappa
5 dnl  * Copyright 2006-2008 University of Washington
6 dnl  *
7 dnl  * Licensed under the Apache License, Version 2.0 (the "License");
8 dnl  * you may not use this file except in compliance with the License.
9 dnl  * You may obtain a copy of the License at
10 dnl  *
11 dnl  *     http://www.apache.org/licenses/LICENSE-2.0
12 dnl  *
13 dnl  * ========================================================================
14 dnl  */
16 AC_PREREQ([2.69])
18 AC_REVISION([Rev:13 by chappa@washington.edu])
20 dnl Alpine Version Number is in $srcdir/VERSION
21 AC_INIT([alpine],[m4_normalize(m4_include(VERSION))],[chappa@washington.edu])
23 AC_CONFIG_SRCDIR([include/system.h])
24 AC_CONFIG_HEADERS([include/config.h])
25 AC_CONFIG_MACRO_DIR([m4])
26 AM_INIT_AUTOMAKE([foreign nostdinc])
28 AM_MAINTAINER_MODE
30 AC_CANONICAL_HOST
32 AC_LANG(C)
34 AC_MSG_NOTICE([Configuring for $PACKAGE_STRING ($host))])
36 # start out with intent to build Web Alpine
37 WEB_BUILD=web/src/alpined.d
39 dnl CHECK PROGRAMS
41 AC_PROG_CC
42 AC_PROG_CC_STDC
43 AC_PROG_INSTALL
44 AC_PROG_MAKE_SET
45 AC_PROG_LN_S
46 AC_PROG_AWK
47 AC_PROG_RANLIB
48 LT_INIT
49 AC_SUBST([LIBTOOL_DEPS])
51 AC_PATH_PROG(AR, ar, ar)
52 AC_PATH_PROG(RM, rm, rm)
53 AC_PATH_PROG(CP, cp, cp)
54 AC_PATH_PROG(LN, ln, ln)
55 AC_PATH_PROG(LS, ls, ls)
56 AC_PATH_PROG(SED, sed, sed)
57 AC_PATH_PROG(MAKE, make)
59 dnl COMPILE-TIME OPTIONS
61 AM_GNU_GETTEXT_VERSION([0.16.1])
62 AM_GNU_GETTEXT([external])
64 dnl enable dmalloc per http://dmalloc.com
65 dnl NOTE: does not check c-client
66 AC_MSG_CHECKING([option: dmalloc enabled])
67 AC_ARG_ENABLE(dmalloc, AS_HELP_STRING([--enable-dmalloc],[Enable dmalloc debugging]))
68 if test x$enable_dmalloc = "xyes" ; then
69   AC_MSG_RESULT([yes])
70 else
71   AC_MSG_RESULT([no])
74 AC_ARG_WITH(dmalloc-dir,
75   AS_HELP_STRING([--with-dmalloc-dir=DIR],[Root of dmalloc lib/include path]),
76   [
77     if test "x$withval" != "xno" ; then
78       enable_dmalloc = "yes"
79       CPPFLAGS="$CPPFLAGS -I${withval}"
80       LDFLAGS="$LDFLAGS -L${withval}"
81     fi
82   ])
84 if test x$enable_dmalloc = "xyes" ; then
85   AC_DEFINE(ENABLE_DMALLOC, 1, [Define enable dmalloc debugging])
88 dnl set ps command, this test is fragile, but it should mostly work
89 ALPINE_psefcmd="/bin/ps auxww"
90 ALPINE_psfailed="0"
91 ALPINE_PSTEST="-"
92 AC_ARG_WITH(ps-cmd,
93   AS_HELP_STRING([--with-ps-cmd="CMD"],[Use this command to check running commands. Default: /bin/ps auxww]),
94   [
95     if test "x$withval" = "xno" -o "x$withval" = "xyes" -o "x$withval" = "x" ; then
96         withval=$ALPINE_psefcmd
97     fi
98     ALPINE_PSTEST=`$withval | $EGREP "$withval" | $EGREP -v $EGREP`
99     if test -n "$ALPINE_PSTEST" ; then
100        ALPINE_psefcmd="$withval"
101     else
102        ALPINE_psfailed="1"
103        if test "x$ALPINE_psefcmd" != "x$withval" ; then
104           AC_MSG_WARN(failed command $withval. Trying $ALPINE_psefcmd)
105        fi
106     fi
107   ])
108 if test "$ALPINE_psfailed" = "1" -o "$ALPINE_PSTEST" = "-" ; then
109    withval="$ALPINE_psefcmd"
110    ALPINE_PSTEST=`$withval | $EGREP "$withval" | $EGREP -v $EGREP`
111    if test -z "$ALPINE_PSTEST" ; then
112       ALPINE_psfailed="1"
113    else
114       ALPINE_psfailed="0"
115    fi
117 if test "$ALPINE_psfailed" = "0" ; then
118   AC_DEFINE_UNQUOTED([PSEFCMD], "$ALPINE_psefcmd", [ps command which outputs list of running commands])
121 dnl Set default locale dir.
122 case $host in
123     *apple-darwin*)
124       if test -d /opt/local ; then
125         localedir="/opt/local/share/locale"
126       else
127         localedir="\${datadir}/locale"
128       fi
129       ;;
130     *-*-cygwin)
131         localedir="/usr/share"
132       ;;
133     *)  
134       localedir="\${datadir}/locale"
135       ;;
136 esac
137 AC_ARG_WITH(localedir,
138   AS_HELP_STRING([--with-localedir=DIR],[Name of gettext locale directory]),
139   [
140     case $withval in
141       yes)
142         ;;
143       no)
144         ;;
145       *)
146         localedir=$withval
147         ;;
148     esac
149   ])
150 AC_SUBST(localedir, "[$localedir]")
152 # Setup OS-Specific features
153 case "$host" in
154   *darwin*)
155     dnl OS X Universal Binary Support
156     AC_ARG_ENABLE(osx-universal-binaries,
157       AS_HELP_STRING([--enable-osx-universal-binaries],[Produce universal binaries under OS X [[default=no]]]))
158     if test "x$enable_osx_universal_binaries" = "xyes" ; then
159       if test "x$enable_dependency_tracking" != xno ; then
160         AC_MSG_ERROR([--enable-osx-universal-binary requires --disable-dependency-tracking.
161 Please re-run configure with these options:
162     --disable-dependency-tracking --enable-osx-universal-binary])
163       fi
164       if [test -d /Developer/SDKs/MacOSX10.5.sdk] ; then
165         alpine_sysroot=/Developer/SDKs/MacOSX10.5.sdk
166       elif [test -d /Developer/SDKs/MacOSX10.4u.sdk] ; then
167         alpine_sysroot=/Developer/SDKs/MacOSX10.4u.sdk
168       else
169         AC_MSG_ERROR([No suitable MacOSX SDK found.  Make sure Xcode tools are installed])
170       fi
171       ub_cflags="-isysroot $alpine_sysroot -arch ppc -arch i386"
172       ub_ldflags="-Wl,-syslibroot,$alpine_sysroot -arch ppc -arch i386"
173       AM_CFLAGS="$AM_CFLAGS $ub_cflags"
174       AM_LDFLAGS="$AM_LDFLAGS $ub_ldflags"
175       alpine_c_client_cflags="$alpine_c_client_cflags $ub_cflags"
176       alpine_c_client_ldflags="$alpine_c_client_ldflags $ub_ldflags"
177     fi
178     ;;
179 esac
181 AC_ARG_WITH(include-path,
182   AS_HELP_STRING([--with-include-path=PATHS],[Colon-separated list of directories used for include file search]),
183   [
184     case $withval in
185       no)
186         ;;
187       yes)
188         ;;
189       *)
190         new_cppflags="-I`echo ${withval} | ${SED} 's/:/ -I/g'`"
191         CPPFLAGS="$CPPFLAGS ${new_cppflags}"
192         alpine_c_client_cflags="$alpine_c_client_cflags ${new_cppflags}"
193         ;;
194     esac
195   ])
197 AC_ARG_WITH(lib-path,
198   AS_HELP_STRING([--with-lib-path=PATHS],[Colon-separated list of directories used for library search]),
199   [
200     case $withval in
201       no)
202         ;;
203       yes)
204         ;;
205       *)
206         new_ldflags="-L`echo ${withval} | ${SED} 's/:/ -L/g'`"
207         LDFLAGS="$LDFLAGS $new_ldflags"
208         alpine_c_client_ldflags="$alpine_c_client_ldflags ${new_ldflags}"
209         ;;
210     esac
211   ])
213 AC_ARG_WITH(pubcookie,
214   AS_HELP_STRING([--with-pubcookie],[Include support for UW-Pubcookie Web Authentication]),
215   [
216     if test "x$withval" != "xno" ; then
217       WEB_PUBCOOKIE_BUILD=web/src/pubcookie
218     fi
219   ])
222 AC_ARG_WITH(web-bin,
223   AS_HELP_STRING([--with-web-bin=PATH],[Directory to hold Web Alpine component binary files]),
224   [
225     case "$withval" in
226       no)
227         ;;
228       yes)
229         ;;
230       *)
231         WEB_BINDIR=$withval
232         ;;
233     esac
234   ])
236 dnl disable debug, turned on by default
237 AC_MSG_CHECKING([option: debugging is enabled])
238 AC_ARG_ENABLE(debug, AS_HELP_STRING([--disable-debug],[Exclude debug messages from source]))
239 if test x$enable_debug != "xno" ; then
240   AM_CFLAGS="$AM_CFLAGS -g"
241   AC_DEFINE([DEBUG], [1], [Compile in debugging])
242   AC_DEFINE([DEBUGJOURNAL], [1], [Display debug messages in journal])
243   AC_MSG_RESULT([yes])
244 else
245 dnl ??? set AM_CFLAGS to optimize ???
246   AC_MSG_RESULT([no])
249 dnl disable optimization, on by default
250 AC_MSG_CHECKING([option: optimization is enabled])
251 AC_ARG_ENABLE(optimization, AS_HELP_STRING([--disable-optimization],[Exclude optimizing compiler flags]))
252 if test x$enable_optimization != "xno" ; then
253   AC_MSG_RESULT([yes])
254 else
255   CFLAGS="`echo $AM_CFLAGS | ${SED} 's/-O2//'`"
256   alpine_c_client_gccoptlevel="-O0"
257   AC_MSG_RESULT([no])
260 dnl disable mouse support
261 AC_MSG_CHECKING([option: mouse support enabled])
262 AC_ARG_ENABLE(mouse, AS_HELP_STRING([--disable-mouse],[Disable mouse support]))
263 if test x$enable_mouse != "xno" ; then
264   AC_DEFINE([MOUSE], [], [Compile in mouse support])
265   AC_MSG_RESULT([yes])
266 else
267    AC_MSG_RESULT([no])
270 dnl enable quotas
271 AC_MSG_CHECKING([option: quotas enabled])
272 AC_ARG_ENABLE(quotas, AS_HELP_STRING([--enable-quotas],[Enable disk quota checking on startup]))
273 if test x$enable_quotas = "xyes" ; then
274   AC_DEFINE([USE_QUOTAS], [], [Compile in quota check on startup])
275   AC_MSG_RESULT([yes])
276 else
277    AC_MSG_RESULT([no])
280 AC_MSG_CHECKING([option: From changing enabled])
281 AC_ARG_ENABLE(from_changing, AS_HELP_STRING([--disable-from-changing],[Disallow users changing From addresss]))
282 if test x$enable_from_changing != "xno" ; then
283   AC_MSG_RESULT([yes])
284 else
285   AC_DEFINE([NEVER_ALLOW_CHANGING_FROM], [], [Disallow users changing their From address])
286   AC_MSG_RESULT([no])
289 dnl enable background posting support
290 AC_MSG_CHECKING([option: background post enabled])
291 AC_ARG_ENABLE(background-post, AS_HELP_STRING([--disable-background-post],[Disable background posting]))
292 if test x$enable_background_post != "xno" ; then
293   AC_DEFINE([BACKGROUND_POST], [], [Enable background posting support])
294   AC_MSG_RESULT([yes])
295 else
296     AC_MSG_RESULT([no])
299 dnl enable keyboard locking support
300 AC_MSG_CHECKING([option: keyboard lock enabled])
301 AC_ARG_ENABLE(keyboard-lock, AS_HELP_STRING([--disable-keyboard-lock],[Disable keyboard locking]))
302 if test x$enable_keyboard_lock != "xno" ; then
303   AC_DEFINE([KEYBOARD_LOCK], [], [Enable keyboard lock support])
304   AC_MSG_RESULT([yes])
305 else
306   AC_MSG_RESULT([no])
309 dnl enable from encoding support
310 AC_MSG_CHECKING([option: from encoding enabled])
311 AC_ARG_ENABLE(from-encoding, AS_HELP_STRING([--enable-from-encoding],[Enable From encoding in sent messages]))
312 if test x$enable_from_encoding = "xyes" ; then
313   AC_DEFINE([ENCODE_FROMS], [], [Enable From address encoding in sent messages])
314   AC_MSG_RESULT([yes])
315 else
316   AC_MSG_RESULT([no])
319 dnl OPTION: name of local submission agent
320 dnl         Might not be sendmail, but it MUST speak SMTP on stdin/stdout
321 AC_ARG_WITH(smtp-msa,
322   AS_HELP_STRING([--with-smtp-msa=PATH],[Local Mail Submission Agent (sendmail)]),
323     [
324       case "$withval" in
325         no)
326           ;;
327         yes)
328           AC_PATH_PROG(SENDMAIL, sendmail, "", $PATH:/usr/sbin:/usr/lib)
329           ;;
330         *)
331           SENDMAIL=$withval
332           ;;
333       esac
334     ],
335     [
336           AC_PATH_PROG(SENDMAIL, sendmail, "", $PATH:/usr/sbin:/usr/lib)
337     ])
338 if test -n "$SENDMAIL" ; then
339     AC_DEFINE_UNQUOTED([SENDMAIL], "$SENDMAIL", [Local mail submission agent])
342 dnl OPTION: local msa arguments
343 smtp_msa_flags="-bs -odb -oem"
344 AC_ARG_WITH(smtp-msa-flags,
345   AS_HELP_STRING([--with-smtp-msa-flags=FLAGS],[MSA flags for SMTP on stdin/stdout (-bs -odb -oem)]),
346   [
347     if test "x$withval" != "xno" ; then
348       smtp_msa_flags=$withval
349     fi
350   ])
351 AC_DEFINE_UNQUOTED([SENDMAILFLAGS], "$smtp_msa_flags", [Local MSA flags for SMTP on stdin/stdout])
353 dnl OPTION: name of local news posting agent and flags
354 npa="inews"
355 AC_ARG_WITH(npa,
356   AS_HELP_STRING([--with-npa=PATH],[Posting agent when no nntp-servers defined (inews)]),
357     [
358       case "$withval" in
359         no)
360           ;;
361         yes)
362           AC_PATH_PROG(NPA_PROG, inews, "", $PATH:/usr/sbin:/usr/lib)
363           ;;
364         *)
365           NPA_PROG=$withval
366           ;;
367       esac
368     ],
369     [
370           AC_PATH_PROG(NPA_PROG, inews, "", $PATH:/usr/sbin:/usr/lib)
371     ])
373 npa_flags="-h"
374 AC_ARG_WITH(npa-flags,
375   AS_HELP_STRING([--with-npa-flags=FLAGS],[Flags to allow posting via local agent (-h)]),
376   [
377     if test "x$withval" != "xno" ; then
378       npa_flags=$withval
379     fi
380   ])
381 if test -n "$NPA_PROG" ; then
382   AC_DEFINE_UNQUOTED([SENDNEWS], "$NPA_PROG $npa_flags", [Posting agent to use when no nntp-servers defined])
385 dnl OPTION: password changing program
386 AC_ARG_WITH(password-prog,
387   AS_HELP_STRING([--with-password-prog=PATH],[Password change program (/bin/passwd)]),
388     [
389       case "$withval" in
390         no)
391           ;;
392         yes)
393           AC_PATH_PROG(PWPROG, passwd, "", $PATH:/usr/sbin:/usr/lib)
394           ;;
395         *)
396           AC_PATH_PROG(PWPROG, $withval, "", $PATH:/usr/sbin:/usr/lib)
397           ;;
398       esac
399     ],
400     [
401           AC_PATH_PROG(PWPROG, passwd, "", $PATH:/usr/sbin:/usr/lib)
402     ])
403 if test -n "$PWPROG" ; then
404     AC_DEFINE_UNQUOTED([PASSWD_PROG], "$PWPROG", [Program users use to change their password])
407 dnl OPTION: basic spell checking program
408 AC_ARG_WITH(simple-spellcheck,
409   AS_HELP_STRING([--with-simple-spellcheck=PROG],[Spellcheck program reads stdin, emits misspellings on stdout]),
410     [
411       if test "x$withval" != "xno" ; then
412         SPELLPROG=$withval
413       fi
414     ],
415     [
416       AC_CHECK_PROG([SPELLPROG], [hunspell], [hunspell], [])
417       if test -z "$SPELLPROG" ; then
418         AC_CHECK_PROG([SPELLPROG], [aspell], [aspell], [])
419         if test -z "$SPELLPROG" ; then
420           AC_CHECK_PROG([SPELLPROG], [ispell], [ispell], [])
421           if test -z "$SPELLPROG" ; then
422            SPELLPROG="spell"
423           fi
424         fi
425       fi
426     ])
428 if test "x$SPELLPROG" != "xno" ; then
429   AC_PATH_PROG(alpine_simple_spellcheck, $SPELLPROG)
430   if test -n "$alpine_simple_spellcheck" ; then
431     case "$SPELLPROG" in
432       hunspell)
433         alpine_simple_spellcheck="$alpine_simple_spellcheck -l"
434         ;;
435       aspell)
436         alpine_simple_spellcheck="$alpine_simple_spellcheck --dont-backup --mode=email list"
437         ;;
438       ispell)
439         alpine_simple_spellcheck="$alpine_simple_spellcheck -l"
440         ;;
441       *)
442         ;;
443     esac
444   fi
447 dnl OPTION: interactive spell checking program
448 AC_ARG_WITH(interactive-spellcheck,
449   AS_HELP_STRING([--with-interactive-spellcheck=PROG],[Interactive, filewise spell checker]),
450     [
451       if test "x$withval" != "xno" ; then
452         ISPELLPROG=$withval
453       fi
454     ],
455     [
456       AC_CHECK_PROG([ISPELLPROG], [hunspell], [hunspell], [])
457       if test -z "$ISPELLPROG" ; then
458         AC_CHECK_PROG([ISPELLPROG], [aspell], [aspell], [])
459         if test -z "$SPELLPROG" ; then
460           ISPELLPROG="ispell"
461         fi
462       fi
463     ])
465 if test "x$ISPELLPROG" != "xno" ; then
466   AC_PATH_PROG(alpine_interactive_spellcheck, $ISPELLPROG)
467   if test -n "$alpine_interactive_spellcheck" ; then
468     case "$ISPELLPROG" in
469       aspell)
470         alpine_interactive_spellcheck="$alpine_interactive_spellcheck --dont-backup --mode=email check"
471         ;;
472       *)
473         ;;
474     esac
475   fi
478 if test -n "$alpine_interactive_spellcheck" ; then
479     AC_DEFINE_UNQUOTED([DF_VAR_SPELLER], "$alpine_interactive_spellcheck", [Interactive, filewise spell checker])
482 if test -z "$alpine_simple_spellcheck" -a -n "$alpine_interactive_spellcheck" ; then
483   alpine_simple_spellcheck=test
485 AC_DEFINE_UNQUOTED([SPELLER], "$alpine_simple_spellcheck", [Simple spell checker: reads stdin, emits misspellings on stdout])
487 dnl OPTION: system-pinerc
488 dnl NOTE: historically we used /lib for the config dir.
489 dnl       don't ask, it was a long time ago. but, we can't
490 dnl       change it now without breaking compatibility
491 case "$prefix" in
492   NONE) dpv=/usr/local/lib/pine.conf ;;
493   *) dpv=${prefix}/lib/pine.conf ;;
494 esac
495 AC_ARG_WITH(system-pinerc,
496   AS_HELP_STRING([--with-system-pinerc=VALUE],[System pinerc (/usr/local/lib/pine.conf)]),
497     [
498       case "$withval" in
499         no)
500           ;;
501         yes)
502           ;;
503         *)
504           dpv=$withval
505           ;;
506       esac
507     ])
508 AC_DEFINE_UNQUOTED(SYSTEM_PINERC, "$dpv", [System pinerc])
510 dnl OPTION: system-fixed-pinerc
511 dnl NOTE: historically we used /lib for the config dir.
512 dnl       don't ask, it was a long time ago. but, we can't
513 dnl       change it now without breaking compatibility
514 case "$prefix" in
515   NONE) dpv=/usr/local/lib/pine.conf.fixed ;;
516   *) dpv=${prefix}/lib/pine.conf.fixed ;;
517 esac
518 AC_ARG_WITH(system-fixed-pinerc,
519   AS_HELP_STRING([--with-system-fixed-pinerc=VALUE],[System fixed pinerc (/usr/local/lib/pine.conf.fixed)]),
520     [
521       case "$withval" in
522         no)
523           ;;
524         yes)
525           ;;
526         *)
527           dpv=$withval
528           ;;
529       esac
530     ])
531 AC_DEFINE_UNQUOTED(SYSTEM_PINERC_FIXED, "$dpv", [System fixed pinerc])
533 dnl OPTION: local support information, file that contains information on
534 dnl         how to contact local support for Alpine.
535 dnl NOTE: historically we used /lib for the config dir.
536 dnl       don't ask, it was a long time ago. but, we can't
537 dnl       change it now without breaking compatibility
538 case "$prefix" in
539   NONE) dpv=/usr/local/lib/pine.info ;;
540   *) dpv=${prefix}/lib/pine.info ;;
541 esac
542 AC_ARG_WITH(local-support-info,
543   AS_HELP_STRING([--with-local-support-info=VALUE],[Local Support Info File (/usr/local/lib/pine.info)]),
544     [
545       case "$withval" in
546         no)
547           ;;
548         yes)
549           ;;
550         *)
551           dpv=$withval
552           ;;
553       esac
554     ])
555 AC_DEFINE_UNQUOTED(SYSTEM_PINE_INFO_PATH, "$dpv", [Local Support Info File])
557 dnl Function to simplify setting alpine/pico defaults
558 dnl usage: PINEVAR(configure-name, definition-name, definition-value, help)
559 AC_DEFUN([PINEVAR],
560   [
561     dpv=$3
562     AC_ARG_WITH($1,
563       AS_HELP_STRING([--with-$1=VALUE],[$4 ($3)]),
564       [
565         if test "x$withval" != "xno" ; then
566           dpv=$withval
567         fi
568       ])
569     AC_DEFINE_UNQUOTED($2, "$dpv", [Default configuration value])
570   ])
572 dnl Function to simplify setting pine/pico defaults
573 dnl usage: PINEVAR_UNQUOTED(configure-name, definition-name, definition-value, help)
574 AC_DEFUN([PINEVAR_UNQUOTED],
575   [
576     dpv=$3
577     AC_ARG_WITH($1,
578       AS_HELP_STRING([--with-$1=VALUE],[$4 ($3)]),
579       [
580         if test "x$withval" != "xno" ; then
581           dpv=$withval
582         fi
583       ])
584     AC_DEFINE_UNQUOTED($2, $dpv, [Default configuration value])
585   ])
587 PINEVAR(mailcheck-interval, DF_MAILCHECK, 150, [Specify default mail-check-interval])
588 PINEVAR_UNQUOTED(checkpoint-interval, CHECK_POINT_TIME, 420, [Specify default checkpoint-interval])
589 PINEVAR_UNQUOTED(checkpoint-frequency, CHECK_POINT_FREQ, 12, [State change count before checkpoint])
590 PINEVAR_UNQUOTED(display-rows, DEFAULT_LINES_ON_TERMINAL, 24, [Initial rows on display])
591 PINEVAR_UNQUOTED(display-columns, DEFAULT_COLUMNS_ON_TERMINAL, 80, [Initial columns on display])
592 PINEVAR_UNQUOTED(max-display-rows, MAX_SCREEN_ROWS, 200, [Maximum display rows])
593 PINEVAR_UNQUOTED(max-display-columns, MAX_SCREEN_COLS, 500, [Maximum display columns])
594 PINEVAR(fill-column, DF_FILLCOL, 74, [Default fill column])
595 PINEVAR_UNQUOTED(max_fill-column, MAX_FILLCOL, 80, [Maximum fill column])
596 PINEVAR_UNQUOTED(debug-level, DEFAULT_DEBUG, 2, [Specify default debug verbosity level])
597 PINEVAR_UNQUOTED(debug-files, NUMDEBUGFILES, 4, [Specify number of debug files])
598 PINEVAR(debug-file, DEBUGFILE, [.pine-debug], [Specify debug file name])
599 PINEVAR(forwarded-keyword, FORWARDED_FLAG, ["\$Forwarded"], [IMAP (c-client) keyword to store forwarded status])
600 PINEVAR(display-overlap, DF_OVERLAP, [2], [Lines preserved while paging])
601 PINEVAR(display-margin, DF_MARGIN, [0], [Lines visible while scrolling])
602 PINEVAR(default-fcc, DF_DEFAULT_FCC, [sent-mail], [Default sent mail folder])
603 PINEVAR(default-save-folder, DEFAULT_SAVE, [saved-messages], [Default save folder])
604 PINEVAR(default-legacy-postponed-folder, POSTPONED_MAIL, [postponed-mail], [Pre Pine 3.90 postponed folder])
605 PINEVAR(default-postponed-folder, POSTPONED_MSGS, [postponed-msgs], [Default postponed folder])
606 PINEVAR(default-trash-folder, TRASH_FOLDER, [Trash], [Default Trash folder for Web Alpine])
607 PINEVAR(default-interrupted-mail, INTERRUPTED_MAIL, [.pine-interrupted-mail], [Default folder for interrupted mail])
608 PINEVAR(default-dead-letter-folder, DEADLETTER, [dead.letter], [Default dead letter folder])
609 PINEVAR(default-mail-directory, DF_MAIL_DIRECTORY, [mail], [Default mail directory])
610 PINEVAR(default-inbox-name, INBOX_NAME, [INBOX], [Default inbox name])
611 PINEVAR(default-signature-file, DF_SIGNATURE_FILE, [.signature], [Default signature file])
612 PINEVAR(default-elm-style-save, DF_ELM_STYLE_SAVE, [no], [Default to Elm style save])
613 PINEVAR(default-header-in-reply, DF_HEADER_IN_REPLY, [no], [Include header in reply])
614 PINEVAR(default-old-style-reply, DF_OLD_STYLE_REPLY, [no], [Default to old style reply])
615 PINEVAR(default-use-only-domain-name, DF_USE_ONLY_DOMAIN_NAME, [no], [Default to using only the domain name])
616 PINEVAR(default-save-by-sender, DF_SAVE_BY_SENDER, [no], [Default to save by sender])
617 PINEVAR(default-sort-key, DF_SORT_KEY, [arrival], [Default sort key])
618 PINEVAR(default-addressbook-sort-rule, DF_AB_SORT_RULE, [fullname-with-lists-last], [Default addressbook sort rule])
619 PINEVAR(default-folder-sort-rule, DF_FLD_SORT_RULE, [alphabetical], [Default folder sort rule])
620 PINEVAR(default-saved-message-name-rule, DF_SAVED_MSG_NAME_RULE, [default-folder], [Default saved message name rule])
621 PINEVAR(default-fcc-rule, DF_FCC_RULE, [default-fcc], [Default fcc rule])
622 PINEVAR(default-standard-printer, DF_STANDARD_PRINTER, [lpr], [Default standard printern])
623 PINEVAR(default-ansi-printer, ANSI_PRINTER, [attached-to-ansi], [ANSI printer definition])
624 PINEVAR(default-addressbook, DF_ADDRESSBOOK, [.addressbook], [Default addressbook name])
625 PINEVAR(default-local-fullname, DF_LOCAL_FULLNAME, ["Local Support"], [Default local support fullname])
626 PINEVAR(default-local-address, DF_LOCAL_ADDRESS, [postmaster], [Default local support address])
627 PINEVAR(default-keyboard-lock-count, DF_KBLOCK_PASSWD_COUNT, [1], [Default keyboard lock count])
628 PINEVAR(default-remote-addressbook-history, DF_REMOTE_ABOOK_HISTORY, [3], [Default address book history count])
629 PINEVAR(smime-public-cert-directory, DF_PUBLICCERT_DIR, [.alpine-smime/public], [Default Public Cert Directory])
630 PINEVAR(smime-private-key-directory, DF_PRIVATEKEY_DIR, [.alpine-smime/private], [Default Private Key Directory])
631 PINEVAR(smime-cacert-directory, DF_CACERT_DIR, [.alpine-smime/ca], [Default Cert Authority Directory])
632 PINEVAR_UNQUOTED(default-printer, DF_DEFAULT_PRINTER, [ANSI_PRINTER], [Default printer])
634 dnl set PASSFILE?
635 AC_ARG_WITH(passfile,
636   AS_HELP_STRING([--with-passfile=FILENAME],[Password cache file (recommended when S/MIME is enabled and configured)]),
637     [
638       case "$withval" in
639         no)
640           ;;
641         yes)
642           ;;
643         *)
644           alpine_PASSFILE=$withval
645           ;;
646       esac
647     ])
650 dnl os-specific credential cache?
651 AC_ARG_WITH(local-password-cache,
652  AS_HELP_STRING([--without-local-password-cache],[Disable OS-specific password cache, if supported]),
653    [
654      alpine_os_credential_cache=$withval
655    ])
657 dnl Particular os-specific credential cache?
658 AC_ARG_WITH(local-password-cache-method,
659  AS_HELP_STRING([--with-local-password-cache-method],[OS-specific credential cache (OSX=APPLEKEYCHAIN, Windows=WINCRED)]),
660    [
661      alpine_os_credential_cache_method=$withval
662    ])
664 if test -n "$alpine_PASSFILE" ; then
665   case $alpine_os_credential_cache in
666     no)
667       ;;
668     *)
669       alpine_os_credential_cache="no"
670       AC_MSG_NOTICE([--with-passfile definition overrides OS-Specific password caching])
671       ;;
672   esac
673   AC_DEFINE_UNQUOTED([PASSFILE], "$alpine_PASSFILE", [Password cache file (recommended if S/MIME is enabled and configured)])
676 dnl set DF_SSHPATH?
677 AC_ARG_WITH(default-sshpath,
678   AS_HELP_STRING([--with-default-sshpath=FILENAME],[set default value of ssh command path (defining should cause ssh to be preferred to rsh)]),
679     [
680       case "$withval" in
681         no)
682           ;;
683         yes)
684           ;;
685         *)
686           AC_DEFINE_UNQUOTED([DF_SSHPATH], "$withval", [set default value of ssh command path (defining should cause ssh to be preferred to rsh)])
687           ;;
688       esac
689     ])
691 dnl set DF_SSHCMD?
692 AC_ARG_WITH(default-sshcmd,
693   AS_HELP_STRING([--with-default-sshcmd=PERCENT_S_STRING],[set default value of ssh command string (usually "%s %s -l %s exec /etc/r%sd")]),
694     [
695       case "$withval" in
696         no)
697           ;;
698         yes)
699           ;;
700         *)
701           AC_DEFINE_UNQUOTED([DF_SSHCMD], "$withval", [set default value of ssh command string (usually "%s %s -l %s exec /etc/r%sd")])
702           ;;
703       esac
704     ])
706 dnl Include SSL?
707 dnl Set SSLDIR for c-client make
708 AC_ARG_WITH(ssl,
709   AS_HELP_STRING([--without-ssl],[Disable SSL support (OpenSSL)]),
710   [ with_ssl=$withval ])
712 if test "x$with_ssl" = "xno" ; then
713   alpine_SSLTYPE="none"
714 else
715   dnl preload c-client default locations/options
716   case $host in
717     *-linux-gnu*)
718       if test -f /etc/fedora-release -o -f /etc/redhat-release -o -f /etc/redhat_version ; then  
719         alpine_SSLTYPE="nopwd"
720         if test -d /etc/pki/tls ; then  
721           alpine_SSLDIR="/etc/pki/tls"
722         else
723           alpine_SSLDIR="/usr/share/ssl"
724         fi
725         alpine_SSLCERTS="$alpine_SSLDIR/certs"
726         alpine_SSLKEYS="$alpine_SSLDIR/private"
727         alpine_SSLINCLUDE="/usr/include/openssl" 
728         alpine_SSLLIB="/usr/lib"
729       elif test -f /etc/mandrake-release ; then
730         alpine_SSLDIR="/usr/lib/ssl"
731         alpine_SSLCERTS="$alpine_SSLDIR/certs" 
732         alpine_SSLKEYS="$alpine_SSLDIR/private"
733         alpine_SSLINCLUDE="/usr/include/openssl" 
734         alpine_SSLLIB="/usr/lib"
735       elif test -f /etc/SuSE-release ; then
736         alpine_SSLTYPE="nopwd"
737         alpine_SSLDIR="/etc/ssl"
738         alpine_SSLCERTS="$alpine_SSLDIR/certs"
739         alpine_SSLKEYS="$alpine_SSLDIR/private"
740         alpine_SSLINCLUDE="/usr/include/openssl" 
741         alpine_SSLLIB="/usr/lib"
742       elif test -d /etc/osso-af-init ; then
743         alpine_SSLTYPE="nopwd"
744         alpine_SSLDIR="/usr"
745         alpine_SSLCERTS="/usr/share/certs"
746         alpine_SSLINCLUDE="/usr/include/openssl"
747         alpine_SSLLIB="/usr/lib"
748       elif test -f /etc/debian_release -o -f /etc/debian_version ; then
749         if test ! -d /etc/osso-af-init ; then
750            alpine_SSLDIR="/etc/ssl"
751            alpine_SSLCERTS="$alpine_SSLDIR/certs"
752            alpine_SSLKEYS="$alpine_SSLDIR/private"
753            alpine_SSLINCLUDE="/usr/include/openssl" 
754            alpine_SSLLIB="/usr/lib"
755         fi
756       else
757         alpine_SSLTYPE="nopwd"
758         alpine_SSLDIR="/usr"
759         alpine_SSLCERTS="/etc/ssl/certs"
760       fi
761       ;;
762     *-apple-darwin*)
763       alpine_SSLTYPE="nopwd"
764 dnl Originally this is where certs are, and they might still be there, even
765 dnl after installing Homebrew, MacPorts or Fink. We will use it if we cannot
766 dnl find it anywhere else.
767       alpine_SSLCERTS_ORIG="/System/Library/OpenSSL/certs"
768       if test -d /usr/local/opt/openssl ; then
769         alpine_SSLDIR="/usr/local/opt/openssl"
770         alpine_SSLINCLUDE="$alpine_SSLDIR/include"
771         alpine_SSLLIB="$alpine_SSLDIR/lib"
772         alpine_SSLCERTS="/usr/local/etc/openssl"
773         alpine_SSLKEYS="$alpine_SSLDIR/private"
774       elif test -d /opt/local/etc/openssl ; then
775         alpine_SSLDIR="/opt/local"
776         alpine_SSLINCLUDE="$alpine_SSLDIR/include"
777         alpine_SSLLIB="$alpine_SSLDIR/lib"
778         alpine_SSLCERTS="/opt/local/etc/openssl/certs"
779         alpine_SSLKEYS="/opt/local/etc/openssl/private"
780       elif test -d /sw/etc/ssl ; then
781         alpine_SSLDIR="/sw/etc/ssl"
782         alpine_SSLINCLUDE="/sw/include"
783         alpine_SSLLIB="/sw/lib"
784         alpine_SSLCERTS="/sw/etc/ssl/certs"
785         alpine_SSLKEYS="/sw/etc/ssl/private"
786       elif test -d /System/Library/OpenSSL ; then
787         alpine_SSLDIR="/System/Library/OpenSSL"
788         alpine_SSLCERTS="$alpine_SSLDIR/certs"
789         alpine_SSLKEYS="$alpine_SSLDIR/private"
790         alpine_SSLLIB="/usr/lib"
791         alpine_SSLINCLUDE="/usr/include/openssl"
792       fi
793       ;;
794     *-*-netbsd*)
795         alpine_SSLDIR="/etc/openssl"
796         alpine_SSLCERTS="$alpine_SSLDIR/certs"
797         alpine_SSLKEYS="$alpine_SSLDIR/private"
798         alpine_SSLINCLUDE="/usr/include/openssl"
799         alpine_SSLLIB="/usr/lib"
800       ;;
801     *-*-dragonfly*)
802         alpine_SSLDIR="/etc/openssl"
803         alpine_SSLCERTS="$alpine_SSLDIR/certs"
804         alpine_SSLKEYS="$alpine_SSLDIR/private"
805         alpine_SSLINCLUDE="/usr/include/openssl"
806         alpine_SSLLIB="/usr/lib"
807       ;;
808     *-openbsd*)
809         alpine_SSLTYPE="nopwd"
810         alpine_SSLDIR="/usr"
811         alpine_SSLCERTS="/etc/ssl/certs"
812       ;;
813     *-*-freebsd*)
814         alpine_SSLDIR="/etc/ssl"
815         alpine_SSLCERTS="$alpine_SSLDIR/certs"
816         alpine_SSLKEYS="$alpine_SSLDIR/private"
817         alpine_SSLINCLUDE="/usr/include/openssl" 
818         alpine_SSLLIB="/usr/lib"
819       ;;
820     *-*-openbsd*)
821         alpine_SSLDIR="/etc/ssl"
822         alpine_SSLINCLUDE="/usr/include/openssl"
823         alpine_SSLLIB="/usr/lib"
824         alpine_SSLCERTS="/etc/ssl" 
825         alpine_SSLKEYS="/etc/ssl/private"
826       ;;
827     *-*-cygwin)
828         alpine_SSLDIR="/usr/ssl"
829         alpine_SSLCERTS="$alpine_SSLDIR/certs" 
830         alpine_SSLKEYS="$alpine_SSLDIR/certs"
831         alpine_SSLINCLUDE="/usr/include/openssl" 
832         alpine_SSLLIB="/usr/lib"
833       ;;
834     *-sco-sysv* | *-sysv*UnixWare | *-sysv*OpenUNIX)
835         alpine_SSLTYPE="sco.nopwd"
836         alpine_SSLDIR="/usr/local/ssl"
837       ;;
838     *-*-solaris*)
839       if test -d /usr/sfw/include/openssl ; then
840         alpine_SSLDIR="/usr/sfw"
841       elif test -d /opt/csw/include/openssl ; then
842         alpine_SSLDIR="/opt/csw"
843         if test -d /opt/csw/ssl/certs ; then
844           alpine_SSLCERTS="/opt/csw/ssl/certs"
845         fi
846       fi
847       if test -z "$alpine_SSLCERTS" -a -d /etc/certs ; then
848         alpine_SSLCERTS="/etc/certs"
849       fi
850       ;;
851     *)
852       alpine_SSLTYPE="nopwd"
853       alpine_SSLDIR="/usr/local/ssl"
854       ;;
855   esac
857   AC_ARG_WITH(ssl-dir,
858     AS_HELP_STRING([--with-ssl-dir=DIR],[Root of SSL lib/include path]),
859     [
860       if test "x$withval" != "xno" ; then
861         alpine_SSLDIR=$withval
862         alpine_SSLINCLUDE=$alpine_SSLDIR/include
863         alpine_SSLLIB=$alpine_SSLDIR/lib
864       fi
865     ])
867   AC_ARG_WITH(ssl-certs-dir,
868     AS_HELP_STRING([--with-ssl-certs-dir=DIR],[Path to SSL certificate directory]),
869     [
870       if test "x$withval" != "xno" ; then
871         alpine_SSLCERTS=$withval
872       fi
873     ])
875   AC_ARG_WITH(ssl-include-dir,
876     AS_HELP_STRING([--with-ssl-include-dir=DIR],[SSL include file path]),
877     [
878       if test "x$withval" != "xno" ; then
879         alpine_SSLINCLUDE=$withval
880       fi
881     ])
883   AC_ARG_WITH(ssl-lib-dir,
884     AS_HELP_STRING([--with-ssl-lib-dir=DIR],[SSL library path]),
885     [
886       if test "x$withval" != "xno" ; then
887         alpine_SSLLIB=$withval
888       fi
889     ])
890   dnl setup globals so tests below work
891   if test -n "$alpine_SSLINCLUDE" ; then
892     CPPFLAGS="-I$alpine_SSLINCLUDE $CPPFLAGS"
893   elif test -n "$alpine_SSLDIR" ; then
894     CPPFLAGS="-I${alpine_SSLDIR}/include $CPPFLAGS"
895   fi
896   if test -n "$alpine_SSLLIB" ; then
897     LDFLAGS="-L$alpine_SSLLIB $LDFLAGS"
898   elif test -n "$alpine_SSLDIR" ; then
899     LDFLAGS="-L${alpine_SSLDIR}/lib $LDFLAGS"
900   fi
903 dnl Include Kerberos?
904 dnl Set GSSDIR for c-client make
905 AC_ARG_WITH(krb5,
906   AS_HELP_STRING([--without-krb5],[Disable Kerberos support]),
907   [ with_krb5=$withval ])
909 if test "x$with_krb5" = "xno" ; then
910   alpine_GSSTYPE="none"
911 else
912   alpine_GSSTYPE=
914   AC_ARG_WITH(krb5-dir,
915     AS_HELP_STRING([--with-krb5-dir=DIR],[Root of Kerberos lib/include path]),
916     [
917       if test "x$withval" != "xno" ; then
918         CPPFLAGS="$CPPFLAGS -I${withval}/include"
919         LDFLAGS="$LDFLAGS -L${withval}/lib"
920       fi
921     ])
923   AC_ARG_WITH(krb5-include-dir,
924     AS_HELP_STRING([--with-krb5-include-dir=DIR],[Kerberos include file path]),
925     [
926       if test "x$withval" != "xno" ; then
927         CPPFLAGS="$CPPFLAGS -I$withval"
928       fi
929     ])
931   AC_ARG_WITH(krb5-lib-dir,
932     AS_HELP_STRING([--with-krb5-lib-dir=DIR],[Kerberos library path]),
933     [
934       if test "x$withval" != "xno" ; then
935         LDFLAGS="$LDFLAGS -L$withval"
936       fi
937     ])
940 dnl Include LDAP?
941 AC_ARG_WITH(ldap,
942   AS_HELP_STRING([--without-ldap],[Disable LDAP query support]),
943   [ with_ldap=$withval ])
945 if test "x$with_ldap" = "xno" ; then
946   alpine_with_ldap=
947   AC_MSG_NOTICE([Excluding LDAP Support])
948 else
949   dnl Do stuff to figure out where OpenLDAP is
951   alpine_with_ldap=yes
952   AC_ARG_WITH(ldap-dir,
953     AS_HELP_STRING([--with-ldap-dir=DIR],[Root of LDAP lib/include path]),
954     [
955       if test "x$withval" != "xno" ; then 
956         CPPFLAGS="$CPPFLAGS -I${withval}/include"
957         LDFLAGS="$LDFLAGS -L${withval}/lib"
958       fi
959     ])
961   AC_ARG_WITH(ldap-include-dir,
962     AS_HELP_STRING([--with-ldap-include-dir=DIR],[Directory containing LDAP include files]),
963     [
964       if test "x$withval" != "xno" ; then
965         CPPFLAGS="$CPPFLAGS -I$withval"
966       fi
967     ])
969   AC_ARG_WITH(ldap-lib-dir,
970     AS_HELP_STRING([--with-ldap-lib-dir=DIR],[LDAP library path]),
971     [
972       if test "x$withval" != "xno" ; then
973         LDFLAGS="$LDFLAGS -L$withval"
974       fi
975     ])
978 dnl Include SMIME?
979 AC_ARG_WITH(smime,
980   AS_HELP_STRING([--without-smime],[Disable S/MIME]),
981   [ with_smime=$withval ])
983 dnl Include TCL?
984 AC_ARG_WITH(tcl,
985   AS_HELP_STRING([--without-tcl],[Disable TCL, thus Web Alpine support]),
986   [ with_tcl=$withval ])
988 if test "x$with_tcl" = "xno" ; then
989   WEB_BUILD=
990   AC_MSG_NOTICE([Excluding TCL Support, and thus Web Alpine Support])
991 else
992   AC_ARG_WITH(tcl-lib,
993     AS_HELP_STRING([--with-tcl-lib=LIBRARY],[Specific TCL Library, like \"tcl8.6\"]),
994     [
995       if test "x$withval" != "xno" ; then 
996         alpine_TCLLIB=$withval
997       fi
998     ])
999   AC_ARG_WITH(tcl-include,
1000     AS_HELP_STRING([--with-tcl-include=DIR],[Directory containing TCL include files]),
1001     [
1002       if test "x$withval" != "xno" ; then
1003         CPPFLAGS="$CPPFLAGS -I$withval"
1004         alpine_TCLINC=$withval
1005       fi
1006     ])
1009 AC_ARG_WITH(supplied-regex,
1010   AS_HELP_STRING([--with-supplied-regex],[Use regex library supplied with alpine]),
1011   [ alpine_REGEX=$withval ])
1013 AC_ARG_WITH(pthread,
1014   AS_HELP_STRING([--without-pthread],[Do NOT test for nor build with POSIX thread support]),
1015   [ with_pthread=$withval ])
1017 AC_ARG_WITH(system-mail-directory,
1018   AS_HELP_STRING([--with-system-mail-directory=DIR],[Directory where local mail is delivered]),
1019   [
1020     if test "x$withval" != "xno" ; then
1021       alpine_with_local_maildir="$withval"
1022     fi
1023   ])
1025 AC_ARG_WITH(c-client-target,
1026   AS_HELP_STRING([--with-c-client-target=TARGET],[IMAP build target (see imap/Makefile)]),
1027   [
1028     if test "x$withval" != "xno" ;then
1029       alpine_with_c_client_target="$withval"
1030     fi
1031   ])
1034 dnl Assume PAM is *not* required and only set the systems that need it.
1035 alpine_PAM="none"
1037 dnl HOST-OS SPECIFIC DEFINITIONS
1038 dnl Tests and assignments below are mostly to coax the appropriate
1039 dnl build from c-client.  Most of this will go away when c-client
1040 dnl adopts configure
1041 case "$host" in
1042   *-linux-gnu*|*-k*bsd*-gnu*)
1043     alpine_path_delim="/"
1044     alpine_mode_readonly="(0600)"
1045     if test -f /etc/fedora-release ; then  
1046       systype="LFD"
1047       alpine_PAM="yes"
1048       if test -d /etc/pki/tls ; then  
1049         alpine_c_client_target="lfd"
1050       else
1051         alpine_c_client_target="lrh"
1052       fi
1053     elif test -f /etc/mandrake-release ; then
1054       systype="LMD"
1055       alpine_c_client_target="lmd"
1056       alpine_PAM="yes"
1057     elif test -f /etc/redhat-release -o -f /etc/redhat_version ; then
1058       systype="LRH"
1059       alpine_PAM="yes"
1060       if test -d /etc/pki/tls ; then  
1061         alpine_c_client_target="lr5"
1062       else
1063         alpine_c_client_target="lrh"
1064       fi
1065     elif test -f /etc/debian_release -o -f /etc/debian_version ; then
1066       if test -d /etc/osso-af-init ; then
1067         systype="LN8"
1068         alpine_c_client_target="ln8"
1069       else
1070         systype="DEB"
1071         alpine_c_client_target="ldb"
1072         alpine_PAM="yes"
1073       fi
1074     elif test -f /etc/SuSE-release ; then
1075       systype="LSU"
1076       alpine_c_client_target="lsu"
1077       alpine_PAM="yes"
1078     else
1079       systype="LNX"
1080       AC_CHECK_LIB(pam, pam_start,
1081         [
1082           alpine_c_client_target="lnp"
1083           alpine_PAM="yes"
1084         ],
1085         [
1086           if test -f /etc/shadow ; then
1087             alpine_c_client_target="slx"
1088           else
1089             alpine_c_client_target="lnx"
1090           fi
1091         ])
1092     fi
1093     ;;
1094   *-apple-darwin*)
1095     systype="OSX"
1096     alpine_path_delim="/"
1097     alpine_mode_readonly="(0600)"
1098     LIBS="$LIBS -framework Carbon -framework ApplicationServices -framework Security"
1099     AM_CFLAGS="$AM_CFLAGS -Dbsd"
1100     dnl SEE include/system.h
1101     AC_DEFINE([OSX_TARGET],[1],[OSX TARGET])
1102     case "$alpine_os_credential_cache" in
1103       no)
1104         ;;
1105       *)
1106         AC_DEFINE([APPLEKEYCHAIN], [1], [Use Apple OS X key chain for credential caching])
1107         ;;
1108     esac
1109     AC_CHECK_LIB(pam, pam_start,
1110       [
1111         AC_CHECK_HEADER([security/pam_appl.h],
1112         [
1113           alpine_PAM="yes"
1114           alpine_c_client_target="oxs"
1115         ],
1116         [       AC_CHECK_HEADER([pam/pam_appl.h],
1117                 [
1118                    alpine_PAM="yes"
1119                    alpine_c_client_target="oxp" 
1120                 ],
1121                 [
1122                   alpine_PAM="none"
1123                   alpine_pam_none_reason="header files not found"
1124                 ])
1125         ])
1126       ],
1127       [
1128         alpine_c_client_target="osx"
1129       ])
1130     ;;
1131   *-*-solaris*)
1132     if test x$GCC = "xyes" ; then
1133       systype="GSO"
1134       alpine_c_client_target="gso"
1135     else
1136       systype="SOC"
1137       alpine_c_client_target="soc"
1138       AC_DEFINE([__EXTENSIONS__], [1], [Enable extended pthread features on Solaris])
1139     fi
1140     alpine_path_delim="/"
1141     alpine_mode_readonly="(0600)"
1142     dnl possible other OS's need this.
1143     dnl Use autoconf 2.61's AC_USE_SYSTEM_EXTENSIONS at some point
1144     ;;
1145   *-*-sunos4*)
1146     systype="SUN"
1147     alpine_path_delim="/"
1148     alpine_mode_readonly="(0600)"
1149     alpine_c_client_target="s40"
1150     ;;
1151   *-*-sco3.2v5*)
1152     if test x$GCC = "xyes" ; then
1153       systype="GO5"
1154       alpine_c_client_target="go5"
1155     else
1156       systype="SC5"
1157       alpine_c_client_target="sc5"
1158     fi
1159     alpine_path_delim="/"
1160     alpine_mode_readonly="(0600)"
1161     dnl possible other OS's need this.
1162     dnl Use autoconf 2.61's AC_USE_SYSTEM_EXTENSIONS at some point
1163     ;;
1164   *-next-*)
1165     systype="NXT"
1166     alpine_path_delim="/"
1167     alpine_mode_readonly="(0600)"
1168     alpine_c_client_target="nx3"
1169     ;;
1170   *-*-netbsd*)
1171     systype="NEB"
1172     alpine_path_delim="/"
1173     alpine_mode_readonly="(0600)"
1174     alpine_c_client_target="neb"
1175     ;;
1176   *-*-dragonfly*)
1177     systype="DFB"
1178     alpine_path_delim="/"
1179     alpine_mode_readonly="(0600)"
1180     alpine_c_client_target="neb"
1181     ;;
1182   *-*-bsdi*)
1183     systype="BSI"
1184     alpine_path_delim="/"
1185     alpine_mode_readonly="(0600)"
1186     alpine_c_client_target="bsi"
1187     ;;
1188   *-*-freebsd*)
1189     systype="BSF"
1190     alpine_path_delim="/"
1191     alpine_mode_readonly="(0600)"
1192     alpine_c_client_target="bsf"
1193     LIBS="$LIBS $LIBINTL"
1194     ;;
1195   *-*-openbsd*)
1196     systype="BSO"
1197     alpine_path_delim="/"
1198     alpine_mode_readonly="(0600)"
1199     alpine_c_client_target="bso"
1200     LIBS="$LIBS $LIBINTL"
1201     ;;
1202   *-*-aix5*)
1203     systype="A52"
1204     alpine_path_delim="/"
1205     alpine_mode_readonly="(0600)"
1206     alpine_c_client_target="a52"
1207     ;;
1208   *-*-aix4*)
1209     systype="A41"
1210     alpine_path_delim="/"
1211     alpine_mode_readonly="(0600)"
1212     alpine_c_client_target="a41"
1213     ;;
1214   *-*-aix3*)
1215     systype="A32"
1216     alpine_path_delim="/"
1217     alpine_mode_readonly="(0600)"
1218     alpine_c_client_target="a32"
1219     ;;
1220   *-*UNIX_SV | *-*-sysv5UnixWare7* | *-*OpenUNIX*)
1221     systype="UW2"
1222     alpine_path_delim="/"
1223     alpine_mode_readonly="(0600)"
1224     alpine_c_client_target="uw2"
1225     ;;
1226   *-*-osf5*)
1227     systype="OSF"
1228     alpine_path_delim="/"
1229     alpine_mode_readonly="(0600)"
1230     alpine_c_client_target="osf"
1231     ;;
1232   *-*-cygwin)
1233     systype="CYG"
1234     alpine_path_delim="/"
1235     alpine_mode_readonly="(S_IREAD | S_IWRITE)"
1236     alpine_c_client_target="cyg"
1237     LIBS="$LIBS $LIBINTL"
1238     ;;
1239   windows* | *-*-pw32*)
1240     systype="WNT"
1241     alpine_path_delim="\\"
1242     alpine_mode_readonly="(S_IREAD | S_IWRITE)"
1243     alpine_c_client_target="wnt"
1244     AC_DEFINE([_WINDOWS], [1], [Windows is just too different])
1245     ;;
1246   *)
1247     AC_MSG_ERROR(Unrecognized system: $host)
1248     ;;
1249 esac
1251 dnl Without IPv6?
1252 AC_ARG_WITH(ipv6,
1253   AS_HELP_STRING([--without-ipv6],[Disable IPv6, primarily to work around resolver problems]),
1254   [ with_ipv6=$withval ])
1256 if test "x$with_ipv6" = "xno" ; then
1257   AC_MSG_NOTICE([Excluding IPv6 Support])
1258   c_client_specials="${c_client_specials}IP6=4 "
1259   c_client_ip6="true"
1260 else
1261   c_client_ip6="touch imap/ip6"
1265 dnl CHECK LIBRARIES
1267 if test x$enable_dmalloc = "xyes" ; then
1268   if test "x$with_pthread" = "xyes" ; then
1269     dmalloc_lib=dmallocth
1270   else
1271     dmalloc_lib=dmalloc
1272   fi
1274   AC_CHECK_LIB($dmalloc_lib,dmalloc_shutdown,,
1275     [
1276       AC_MSG_ERROR($dmalloc_lib requested, but -ldmalloc not found)
1277     ])
1280 dnl which terminal cabability database
1281 AC_CHECK_LIB(tinfo, setupterm,
1282   [
1283     alpine_termdata=info
1284     LIBS="$LIBS -ltinfo"
1285   ],
1286   [
1287     AC_CHECK_LIB(ncurses, setupterm,
1288       [
1289         alpine_termdata=info
1290         LIBS="$LIBS -lncurses"
1291       ],
1292       [
1293         AC_CHECK_LIB(curses, setupterm,
1294           [
1295             alpine_termdata=info
1296             LIBS="$LIBS -lcurses"
1297           ],
1298           [
1299             AC_CHECK_LIB(termlib, tgetent,
1300               [
1301                 alpine_termdata=cap
1302                 LIBS="$LIBS -ltermlib"
1303               ],
1304               [
1305                 AC_CHECK_LIB(termcap, tgetent,
1306                   [
1307                     alpine_termdata=cap
1308                     LIBS="$LIBS -ltermcap"
1309                   ],
1310                   [
1311                     AC_MSG_ERROR(Terminfo/termcap not found)
1312                   ])
1313               ])
1314           ])
1315       ])
1316   ])
1317 case $alpine_termdata in
1318   info)
1319     AC_DEFINE(HAS_TERMINFO, [1], [Define if systems uses terminfo terminal database])
1320     ;;
1321   cap)
1322     AC_DEFINE(HAS_TERMCAP, [1], [Define if systems uses termcap terminal database])
1323     ;;
1324 esac
1326 dnl is -ldl present? if so, add it
1327 AC_SEARCH_LIBS([dlopen], [dl dld],, [ alpine_DL="none" ])
1328 if test "x$alpine_DL" = "xnone" ; then
1329     AC_MSG_ERROR([No library containing dlopen found])
1330     exit 1      
1333 dnl Crypto support is needed 
1334 if test "x$alpine_SSLTYPE" != "xnone" ; then
1335   AC_SEARCH_LIBS(SSLeay,crypto,, [ alpine_CRYPTO="none" ])
1336   if test "x$alpine_CRYPTO" = "xnone" ; then
1337      AC_MSG_ERROR(crypto library NOT found)
1338      exit 1
1339   fi
1342 dnl provide SSL support?
1343 if test "x$alpine_SSLTYPE" != "xnone" ; then
1344    AC_SEARCH_LIBS(SSL_library_init,ssl,,[ alpine_SSLTYPE="none" ])
1346   if test "x$alpine_SSLTYPE" = "xnone" ; then
1347      AC_MSG_ERROR(No library containing SSL_library_init found in your path)
1348      exit 1
1349   fi
1351   AC_MSG_CHECKING([Openssl library version >= 1.0.0c])
1352   AC_RUN_IFELSE(
1353         [AC_LANG_SOURCE([[
1354 #include <stdio.h>
1355 #include <stdlib.h>
1356 #include <openssl/ssl.h>
1357 int main(void) {
1359         if (OPENSSL_VERSION_NUMBER >= 0x1000003f)
1360                 exit(0);
1362         exit(2);
1364         ]])],
1365         [ AC_MSG_RESULT(yes) ],
1366         [ alpine_SSLTYPE="none" ])
1368     if test "x$alpine_SSLTYPE" = "xnone" ; then
1369         AC_MSG_ERROR(Install openssl version >= 1.0.0c)
1370         exit 1
1371     fi
1372     AC_SEARCH_LIBS(TLSv1_2_client_method,ssl,
1373         [ alpine_c_client_cflags="$alpine_c_client_cflags -DTLSV1_2"
1374           AC_DEFINE([SSL_SUPPORTS_TLSV1_2], [1], [SSL Supports TLSV1.2])
1375         ])
1378 dnl provide LDAP support?
1379 if test "$alpine_with_ldap" = "yes" ; then
1380   alpine_has_ldap=
1381   AC_CHECK_LIB(lber, ber_alloc,
1382     [
1383       LIBS="$LIBS -llber"
1384     ])
1385   AC_SEARCH_LIBS(ldap_init,ldap,
1386     [
1387       alpine_has_ldap=yes
1388     ],
1389     [
1390       AC_SEARCH_LIBS(ldap_open,ldap,
1391         [
1392           alpine_has_ldap=yes
1393         ])
1394     ])
1396   if test "$alpine_has_ldap" = "yes" ; then
1397     AC_MSG_NOTICE([* * * Including LDAP Support])
1398     AC_DEFINE([ENABLE_LDAP], [], [Enable LDAP query support])
1400     dnl we use deprecated functions (ldap_get_values)
1401     dnl OpenLDAP 2.3.x doesn't define LDAP_DEPRECATED by default like 2.2.x
1402     AC_MSG_CHECKING([if we should define LDAP_DEPRECATED])
1403     AC_RUN_IFELSE(
1404         [AC_LANG_SOURCE([[
1405 #include <stdio.h>
1406 #include <stdlib.h>
1407 #include <ldap.h>
1408 int main(void) {
1410         if (LDAP_VENDOR_VERSION >= 20300)
1411                 exit(0);
1413         exit(2);
1415         ]])],
1416         [
1417                 AC_MSG_RESULT(yes)
1418                 AC_DEFINE(LDAP_DEPRECATED, 1,
1419                 [Define if you use OpenLDAP 2.3.x deprecated functions])
1421         ],
1422         [
1423                 AC_MSG_RESULT(no)
1424         ],
1425         [
1426                 AC_MSG_WARN([cross compiling: not checking])
1427         ]
1428     )
1430   else
1431     AC_MSG_NOTICE([Cannot find LDAP functions!  Excluding LDAP support.])
1432   fi
1435 dnl PAM support is needed to build c-client in some linux, and hence Alpine.
1436 if test "x$alpine_PAM" != "xnone" ; then
1437   AC_SEARCH_LIBS(pam_start,pam,
1438       [
1439         LIBS="$LIBS -lpam"
1440         AC_CHECK_HEADER([security/pam_appl.h],
1441         [
1442           alpine_PAM="yes"
1443         ],
1444         dnl Only mac is incompatible, do not spread bad habits.
1445         [ AC_CHECK_HEADER([pam/pam_appl.h],
1446           [
1447                 alpine_PAM="yes"
1448                 if test "x$alpine_c_client_target" != "xoxp" ; then
1449                    alpine_PAM="none"
1450                    alpine_pam_none_reason="header files not in security/ directory"
1451                 fi
1452           ],
1453           [
1454                 alpine_PAM="none"
1455                 alpine_pam_none_reason="header files not found"
1456           ])
1457         ])
1458       ],
1459       [
1460         alpine_PAM="none"
1461         alpine_pam_none_reason="library files not found"
1462       ])
1463     if test -n "$alpine_pam_none_reason" ; then
1464       AC_MSG_ERROR(No PAM support: $alpine_pam_none_reason)
1465   fi
1469 dnl provide KRB5 support?
1470 if test "x$alpine_GSSTYPE" != "xnone" ; then
1471   AC_SEARCH_LIBS(gss_init_sec_context,gss gssapi gssapi_krb5,
1472     [
1473       dnl MIT-based?
1474       LIBS="$LIBS -lkrb5"
1475       AC_CHECK_HEADER([gssapi/gssapi_generic.h],,
1476         [
1477           if test ! -d /usr/kerberos/include ; then
1478             alpine_GSSTYPE="none"
1479             alpine_gss_none_reason="header files not found"
1480           fi
1481         ])
1482     ],
1483     [
1484       alpine_GSSTYPE="none"
1485       alpine_gss_none_reason="libraries not found"
1486     ])
1487   if test -n "$alpine_gss_none_reason" ; then
1488     AC_MSG_NOTICE([NOT including Kerberos Support: $alpine_gss_none_reason])
1489   fi
1492 dnl check for tcl libraries for Web Alpine (HACKY)
1493 if test -n "$WEB_BUILD" ; then
1494 TCL_VERSIONS_DOT="tcl8.6 tcl8.5 tcl8.4 tcl8.3"
1495 TCL_VERSIONS_NODOT="`echo ${TCL_VERSIONS_DOT} | ${SED} 's/\.//g'`"
1496 TCL_VERSIONS="${TCL_VERSIONS_DOT} ${TCL_VERSIONS_NODOT} tcl"
1497   AC_SEARCH_LIBS([Tcl_Eval],[$alpine_TCLLIB ${TCL_VERSIONS}],,
1498     [
1499       WEB_BUILD=
1500     ])
1502   dnl look for header file
1503   if test -n "$alpine_TCLINC" ; then
1504     AC_CHECK_HEADER($alpine_TCLINC/tcl.h,,
1505       [
1506         WEB_BUILD=
1507       ])
1508     if test -z "$WEB_BUILD" ; then
1509       AC_MSG_NOTICE([Tcl Include file NOT found])
1510     fi
1511   else
1512     AC_CHECK_HEADER(tcl.h,,
1513       [
1514         for base in /usr /usr/local ; do
1515          for dir in ${TCL_VERSIONS} ; do
1516           AC_CHECK_FILE([$base/include/$dir/tcl.h],
1517             [
1518               found=yes
1519             ])
1520           if test "$found" = "yes" ; then
1521             CPPFLAGS="$CPPFLAGS -I$base/include/$dir"
1522             break
1523           fi
1524          done
1525          if test "$found" = "yes" ; then
1526             break
1527          fi
1528         done
1529         if test "$found" != "yes" ; then
1530             WEB_BUILD=
1531             AC_MSG_NOTICE([header file tcl.h NOT found: Web Alpine will not be built])
1532         fi
1533       ])
1534   fi
1537 dnl Local or supplied regex?
1538 if test "x$alpine_REGEX" != "xyes" ; then
1539   AC_SEARCH_LIBS([regcomp],posix regexp regex re,,
1540     [
1541       if test x$alpine_REGEX = "xno" ; then
1542         AC_MSG_ERROR(Unable to find system regex library)
1543       else
1544         alpine_REGEX=yes
1545       fi
1546     ])
1548 if test "x$alpine_REGEX" != "xyes" ; then
1549   AC_CHECK_HEADER([regex.h],,
1550     [
1551       if test x$alpine_REGEX = "xno" ; then
1552         AC_MSG_ERROR(Unable to find system regex include file)
1553       else
1554         alpine_REGEX=yes
1555       fi
1556     ])
1558 AC_DEFINE(HAVE_REGEX_H,1,[Regular expression header file exists])
1559 if test "x$alpine_REGEX" = "xyes" ; then
1560   CPPFLAGS="$CPPFLAGS -I${top_builddir}/regex"
1561   LDFLAGS="$LDFLAGS -L${top_builddir}/regex"
1562   REGEX_BUILD=regex
1563   REGEX_MAKEFILE="$REGEX_BUILD/Makefile"
1566 if test "x$with_pthread" != "xno" ; then
1567   AC_MSG_CHECKING([for pthread support])
1568   ACX_PTHREAD(
1569     [
1570       AC_MSG_RESULT([yes])
1571       case "$target" in
1572           *openbsd*)
1573             AC_MSG_NOTICE([WARNING: pthread support on OpenBSD is unstable!])
1574             AM_CFLAGS="$AM_CFLAGS -pthread"
1575             ;;
1576       esac
1577       LIBS="$PTHREAD_LIBS $LIBS"
1578       AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS"
1579       CC="$PTHREAD_CC"
1580       AC_DEFINE([HAVE_PTHREAD], [1], [System has pthread support])
1581     ],
1582     [
1583       AC_MSG_RESULT([no])
1584     ])
1586   AC_SEARCH_LIBS([nanosleep], [rt posix4],
1587     [
1588       AC_DEFINE([HAVE_NANOSLEEP], [1], [Define if system supports subsecond, non-alarm sleep])
1589     ])
1594 dnl CHECK HEADERS
1596 AC_HEADER_STDC
1597 AC_HEADER_DIRENT
1598 AC_HEADER_STAT
1599 AC_HEADER_SYS_WAIT
1600 AC_HEADER_TIME
1601 AC_HEADER_TIOCGWINSZ
1603 AC_CHECK_HEADERS([unistd.h])
1605 AC_CHECK_HEADERS([errno.h \
1606                   ctype.h \
1607                   fcntl.h \
1608                   signal.h \
1609                   setjmp.h \
1610                   memory.h \
1611                   sys/param.h \
1612                   sys/socket.h \
1613                   sys/uio.h \
1614                   sys/un.h \
1615                   limits.h \
1616                   wchar.h \
1617                   sys/poll.h \
1618                   stropts.h \
1619                   netdb.h \
1620                   syslog.h \
1621                   sys/syslog.h \
1622                   locale.h \
1623                   langinfo.h \
1624                   utime.h \
1625                   sys/utime.h \
1626                   pthread.h \
1627                   pwd.h \
1628                   assert.h])
1630 dnl terminal line discipline?
1631 AC_CHECK_HEADER([termios.h],
1632   AC_DEFINE(HAS_TERMIOS, [1], [Define if systems uses termios terminal control]),
1633   [
1634     AC_CHECK_HEADER([termio.h],
1635       AC_DEFINE(HAS_TERMIO, [1], [Define if systems uses termio terminal control]),
1636       [
1637         AC_CHECK_HEADER([sgtty.h],
1638           AC_DEFINE(HAS_SGTTY, [1], [Define if systems uses old BSD-style terminal control]),
1639         [
1640           AC_MSG_ERROR(Unable to figure out terminal control method)
1641         ])
1642       ])
1643   ])
1646 dnl CHECK TYPEDEFS
1648 AC_DIAGNOSE([obsolete],[your code may safely assume C89 semantics that RETSIGTYPE is void.
1649 Remove this warning and the `AC_CACHE_CHECK' when you adjust the code.])dnl
1650 AC_CACHE_CHECK([return type of signal handlers],[ac_cv_type_signal],[AC_COMPILE_IFELSE(
1651 [AC_LANG_PROGRAM([#include <sys/types.h>
1652 #include <signal.h>
1654                  [return *(signal (0, 0)) (0) == 1;])],
1655                    [ac_cv_type_signal=int],
1656                    [ac_cv_type_signal=void])])
1657 AC_DEFINE_UNQUOTED([RETSIGTYPE],[$ac_cv_type_signal],[Define as the return type of signal handlers
1658                     (`int' or `void').])
1660 AC_TYPE_SIZE_T
1661 AC_TYPE_MODE_T
1662 AC_TYPE_PID_T
1663 AC_TYPE_UID_T
1664 AC_STRUCT_TM
1666 AC_CHECK_TYPES([union wait])
1668 AC_CHECK_HEADERS([stdint.h], [uint16=uint16_t], [
1669   AC_CHECK_HEADERS([inttypes.h], [uint16=uint16_t], [
1670     AC_CHECK_HEADERS([sys/types.h], [uint16=u_int16_t], [
1671       AC_CHECK_SIZEOF(unsigned short)
1672       if test $ac_cv_sizeof_unsigned_short -eq 2 ; then
1673         uint16="unsigned short"
1674       else
1675         AC_CHECK_SIZEOF(unsigned int)
1676         if $ac_cv_sizeof_unsigned_int -eq 2 ; then
1677           uint16="unsigned int"
1678         else
1679           AC_MSG_ERROR(Unable to determine 16 bit integer type)
1680         fi
1681       fi
1682     ])
1683   ])
1685 AC_DEFINE_UNQUOTED([UINT16], $uint16, [System defined unsigned 16 bit integer])
1687 AC_CHECK_HEADERS([stdint.h], [uint32=uint32_t], [
1688   AC_CHECK_HEADERS([inttypes.h], [uint32=uint32_t], [
1689     AC_CHECK_HEADERS([sys/types.h], [uint32=u_int32_t], [
1690       AC_CHECK_SIZEOF(unsigned int)
1691       if test $ac_cv_sizeof_unsigned_int -eq 4 ; then
1692         uint32="unsigned int"
1693       else
1694         AC_CHECK_SIZEOF(unsigned long)
1695         if $ac_cv_sizeof_unsigned_long -eq 4 ; then
1696           uint32="unsigned long"
1697         else
1698           AC_MSG_ERROR(Unable to determine 32 bit integer type)
1699         fi
1700       fi
1701     ])
1702   ])
1704 AC_DEFINE_UNQUOTED([UINT32], $uint32, [System defined unsigned 32 bit integer])
1706 AC_CACHE_CHECK(argument pointer type of qsort compare function and base,
1707 ac_cv_func_qsort_argtype,
1708 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1709 #if     HAVE_STDLIB_H
1710 #include "stdlib.h"
1711 #endif
1713 extern void *base;
1714 extern sortf(const void *, const void *);
1715 int sortf(a, b)
1716   const void *a;
1717   const void *b; { return 0; }
1718 ]], [[
1719 qsort(base, 2, sizeof(char *), sortf);
1720 ]])],[ac_cv_func_qsort_argtype=void],[ac_cv_func_qsort_argtype=char])
1722 AC_DEFINE_UNQUOTED([qsort_t], $ac_cv_func_qsort_argtype, [qsort compare function argument type])
1724 dnl check for "struct passwd" ?
1726 AC_FUNC_SELECT_ARGTYPES
1728 AC_FUNC_STRCOLL
1730 dnl CHECK FOR LIBRARY FUNCTIONS
1732 AC_FUNC_FORK
1733 AC_CHECK_FUNCS([strchr \
1734                 memcpy \
1735                 strtol \
1736                 strtoul \
1737                 select \
1738                 poll \
1739                 qsort \
1740                 getuid \
1741                 getpwuid \
1742                 getpwnam \
1743                 gettimeofday \
1744                 tmpfile \
1745                 uname \
1746                 rename \
1747                 read \
1748                 signal \
1749                 setjmp \
1750                 chown \
1751                 wait4 \
1752                 waitpid \
1753                 wait \
1754                 srandom \
1755                 popen \
1756                 pclose \
1757                 fsync \
1758                 truncate \
1759                 listen \
1760                 wcwidth \
1761                 mbstowcs \
1762                 wcrtomb \
1763                 putenv \
1764                 setenv])
1766 AC_SEARCH_LIBS([gethostname],[nsl])
1768 AC_SEARCH_LIBS([socket],[socket],,
1769   [
1770     WEB_BUILD=
1771   ])
1773 AC_SEARCH_LIBS([bind],[bind],,
1774   [
1775     WEB_BUILD=
1776   ])
1778 dnl check for POSIX signal interface
1779 AC_CHECK_FUNCS([sigaction sigemptyset sigaddset sigprocmask],
1780   [
1781     AC_DEFINE([POSIX_SIGNALS], [], [Define if system supports POSIX signal interface])
1782   ],
1783   [
1784     AC_CHECK_FUNCS([sigset sigrelse],
1785       [
1786         AC_DEFINE([SYSV_SIGNALS], [], [Define if system supports SYSV signal interface])
1787       ])
1788   ])
1790 AC_SEARCH_LIBS([syslog], [bsd socket inet],
1791   [
1792     AC_DEFINE([HAVE_SYSLOG], [1], [Define if system supplies syslog() logging])
1793   ])
1796 dnl set pico newmail check directory
1797 if test -n "$alpine_with_local_maildir" ; then
1798     alpine_local_maildir=$alpine_with_local_maildir
1799 elif test -d /var/spool/mail ; then
1800     alpine_local_maildir="/var/spool/mail"
1801 elif test -d /var/mail ; then
1802     alpine_local_maildir="/var/mail"
1803 else
1804     alpine_local_maildir="/usr/spool/mail"
1807 dnl set c-client make target
1808 if test -n "$alpine_with_c_client_target" ; then
1809     alpine_c_client_target=$alpine_with_c_client_target
1812 AC_DEFINE_UNQUOTED([SYSTYPE], "$systype", [Pine-Centric Host Specifier])
1813 AC_DEFINE_UNQUOTED([C_FILESEP],'$alpine_path_delim',[File name separator as character constant])
1814 AC_DEFINE_UNQUOTED([S_FILESEP],"$alpine_path_delim",[File name separator as string constant])
1815 AC_DEFINE_UNQUOTED([MAILDIR],"$alpine_local_maildir",[Path to local inboxes for pico newmail check])
1816 AC_DEFINE_UNQUOTED([MODE_READONLY], $alpine_mode_readonly, [File mode used to set readonly access])
1818 dnl c-client make particulars
1819 AC_SUBST([C_CLIENT_TARGET], $alpine_c_client_target)
1820 AC_SUBST([C_CLIENT_WITH_IPV6], $c_client_ip6)
1821 if test "x$alpine_SSLTYPE" = "xnone" ; then 
1822   AC_MSG_NOTICE([* * *  NOT Including SSL Support])
1823   c_client_specials="${c_client_specials}SSLTYPE=none "
1824 else
1825   dnl issue any warnings for common OpenSSL issues
1827   if test -n "$alpine_SSLCERTS" -a -d "$alpine_SSLCERTS" ; then
1828     certdir="$alpine_SSLCERTS"
1829   elif test -n "$alpine_SSLDIR" -a -d "${alpine_SSLDIR}/certs" ; then
1830     certdir="${alpine_SSLDIR}/certs"
1831   elif test -n "$alpine_SSLDIR" -a -d "${alpine_SSLDIR}/ssl/certs" ; then
1832     certdir="${alpine_SSLDIR}/ssl/certs"
1833   elif test -n "$alpine_SSLCERTS_ORIG" -a -d "$alpine_SSLCERTS_ORIG" ; then
1834     certdir="$alpine_SSLCERTS_ORIG"
1835   else
1836     AC_MSG_NOTICE([SSL Problem: certificate directory not found])
1837   fi
1839   if test "x$with_smime" != "xno" ; then
1840     if test -n "$certdir" ; then
1841       AC_MSG_NOTICE([* * * S/MIME support enabled])
1842       AC_DEFINE([SMIME], [], [Enable S/MIME code])
1843       AC_DEFINE_UNQUOTED([SMIME_SSLCERTS],"$certdir",[Directory where S/MIME CACerts are located])
1844     fi
1845   fi
1847   if test ! -f ${certdir}/factory.pem ; then
1848     AC_MSG_NOTICE([* * * SSL file "${certdir}/factory.pem" is missing.])
1849     AC_MSG_NOTICE([* * *   This might indicate that CA certs did not get properly])
1850     AC_MSG_NOTICE([* * *   installed.  If you get certificate validation failures])
1851     AC_MSG_NOTICE([* * *   in Alpine, this might be the reason for them.])
1852   fi
1854   if test -z "`ls ${certdir} | $EGREP '^@<:@0-9A-Fa-f@:>@{8}\.@<:@0-9@:>@'`" ; then
1855     AC_MSG_NOTICE([* * * No 8-hexdigit symlinks in certificate directory "${certdir}".])
1856     AC_MSG_NOTICE([* * *   This might indicate that CA certs did not get properly])
1857     AC_MSG_NOTICE([* * *   installed.  If you get certificate validation failures])
1858     AC_MSG_NOTICE([* * *   in Alpine, this might be the reason for them.])
1859   fi
1861   if test -n "$alpine_SSLINCLUDE" ; then
1862     c_client_specials="${c_client_specials}SSLINCLUDE=$alpine_SSLINCLUDE "
1863   fi
1865   if test -n "$alpine_SSLLIB" ; then
1866     c_client_specials="${c_client_specials}SSLLIB=$alpine_SSLLIB "
1867   fi
1869   if test -n "$alpine_SSLDIR" ; then
1870     c_client_specials="${c_client_specials}SSLDIR=$alpine_SSLDIR "
1871   fi
1873   if test -n "$certdir" ; then
1874     c_client_specials="${c_client_specials}SSLCERTS=$certdir "
1875   fi
1877   if test -n "$alpine_SSLKEYS" ; then
1878       c_client_specials="${c_client_specials}SSLKEYS=$alpine_SSLKEYS "
1879   fi
1882 if test "x$alpine_GSSTYPE" != "xnone" ; then
1883   c_client_specials="${c_client_specials}EXTRAAUTHENTICATORS=gss "
1884   AC_MSG_NOTICE([* * * Including Kerberos5 functionality])
1887 if test -n "$CPPFLAGS" ; then
1888   alpine_c_client_cflags="$alpine_c_client_cflags ${CPPFLAGS}"
1890 if test -n "$CFLAGS" ; then
1891   alpine_c_client_cflags="$alpine_c_client_cflags ${CFLAGS}"
1894 if test -n "$alpine_c_client_cflags" ; then
1895   AC_SUBST(C_CLIENT_CFLAGS, EXTRACFLAGS=\"$alpine_c_client_cflags\")
1898 if test -n "$LDFLAGS" ; then
1899   alpine_c_client_ldflags="$alpine_c_client_ldflags ${LDFLAGS}"
1901 if test -n "$LIBS" ; then
1902   alpine_c_client_ldflags="$alpine_c_client_ldflags ${LIBS}"
1905 if test -n "$alpine_c_client_ldflags" ; then
1906   AC_SUBST(C_CLIENT_LDFLAGS, EXTRALDFLAGS=\"$alpine_c_client_ldflags\")
1909 if test -n "$alpine_c_client_gccoptlevel" ; then
1910   AC_SUBST(C_CLIENT_GCCOPTLEVEL, GCCOPTLEVEL=\"$alpine_c_client_gccoptlevel\")
1913 AC_SUBST([C_CLIENT_SPECIALS], $c_client_specials)
1915 dnl Deal with Web Alpine
1916 if test -z "$WEB_BUILD" ; then
1917   WEB_PUBCOOKIE_BUILD=
1918   AC_MSG_NOTICE([* * * TCL libraries could not be found.])
1919   AC_MSG_NOTICE([* * * WEB ALPINE COMPONENT WILL NOT BE BUILT.])
1920 else
1921   if test -n "$WEB_PUBCOOKIE_BUILD" ; then
1922     if test "x$alpine_GSSTYPE" = "xnone" ; then
1923       WEB_PUBCOOKIE_BUILD=
1924       AC_MSG_NOTICE([* * * Kerberos5 support not found.])
1925       AC_MSG_NOTICE([* * * WEB ALPINE PUBCOOKIE COMPONENT WILL NOT BE BUILT.])
1926     elif test -z "$WEB_BINDIR" ; then
1927       WEB_PUBCOOKIE_BUILD=
1928       AC_MSG_NOTICE([* * * Web Alpine binary directory not provided.])
1929         AC_MSG_ERROR([* * * --with-pubcookie requires --with-web-bin=PATH.
1930         Please re-run configure with these options:
1931         --with-pubcookie --with-web-bin=/usr/local/libexec/alpine/bin])
1932     else
1933       AC_DEFINE([PUBCOOKIE],[1],[Include support for UW Pubcookie Web Authentication])
1934       WEB_PUBCOOKIE_LIB=../pubcookie/libauthgssproxy.a
1935       WEB_PUBCOOKIE_LINK=gssapi_proxy.l
1936     fi
1937   fi
1940 AC_SUBST([REGEX_BUILD])
1942 AC_SUBST([WEB_BUILD])
1943 AC_SUBST([WEB_BINDIR])
1944 AC_SUBST([WEB_PUBCOOKIE_BUILD])
1945 AC_SUBST([WEB_PUBCOOKIE_LIB])
1946 AC_SUBST([WEB_PUBCOOKIE_LINK])
1948 AC_SUBST([AM_CFLAGS])
1949 AC_SUBST([AM_LDFLAGS])
1951 AC_CONFIG_FILES([m4/Makefile po/Makefile.in $REGEX_MAKEFILE \
1952           pith/osdep/Makefile pith/charconv/Makefile pith/Makefile \
1953           pico/osdep/Makefile pico/Makefile \
1954           alpine/osdep/Makefile alpine/Makefile \
1955           web/src/Makefile web/src/pubcookie/Makefile \
1956           web/src/alpined.d/Makefile \
1957           Makefile])
1958 AC_OUTPUT