* Fix bug in new code that determines the name of the container if
[alpine.git] / configure.ac
blob672a0bdbcc467c9b1502b636caee70a364f33e19
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:14 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 AC_DEFINE_UNQUOTED([DF_PUBLIC_CONTAINER], "PublicContainer", [Name of default public container])
635 AC_DEFINE_UNQUOTED([DF_PRIVATE_CONTAINER], "PrivateContainer", [Name of default private container])
636 AC_DEFINE_UNQUOTED([DF_CA_CONTAINER], "CAContainer", [Name of default certificate authority container])
638 dnl set PASSFILE?
639 AC_ARG_WITH(passfile,
640   AS_HELP_STRING([--with-passfile=FILENAME],[Password cache file (recommended when S/MIME is enabled and configured)]),
641     [
642       case "$withval" in
643         no)
644           ;;
645         yes)
646           ;;
647         *)
648           alpine_PASSFILE=$withval
649           ;;
650       esac
651     ])
654 dnl os-specific credential cache?
655 AC_ARG_WITH(local-password-cache,
656  AS_HELP_STRING([--without-local-password-cache],[Disable OS-specific password cache, if supported]),
657    [
658      alpine_os_credential_cache=$withval
659    ])
661 dnl Particular os-specific credential cache?
662 AC_ARG_WITH(local-password-cache-method,
663  AS_HELP_STRING([--with-local-password-cache-method],[OS-specific credential cache (OSX=APPLEKEYCHAIN, Windows=WINCRED)]),
664    [
665      alpine_os_credential_cache_method=$withval
666    ])
668 if test -n "$alpine_PASSFILE" ; then
669   case $alpine_os_credential_cache in
670     no)
671       ;;
672     *)
673       alpine_os_credential_cache="no"
674       AC_MSG_NOTICE([--with-passfile definition overrides OS-Specific password caching])
675       ;;
676   esac
677   AC_DEFINE_UNQUOTED([PASSFILE], "$alpine_PASSFILE", [Password cache file (recommended if S/MIME is enabled and configured)])
680 dnl set DF_SSHPATH?
681 AC_ARG_WITH(default-sshpath,
682   AS_HELP_STRING([--with-default-sshpath=FILENAME],[set default value of ssh command path (defining should cause ssh to be preferred to rsh)]),
683     [
684       case "$withval" in
685         no)
686           ;;
687         yes)
688           ;;
689         *)
690           AC_DEFINE_UNQUOTED([DF_SSHPATH], "$withval", [set default value of ssh command path (defining should cause ssh to be preferred to rsh)])
691           ;;
692       esac
693     ])
695 dnl set DF_SSHCMD?
696 AC_ARG_WITH(default-sshcmd,
697   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")]),
698     [
699       case "$withval" in
700         no)
701           ;;
702         yes)
703           ;;
704         *)
705           AC_DEFINE_UNQUOTED([DF_SSHCMD], "$withval", [set default value of ssh command string (usually "%s %s -l %s exec /etc/r%sd")])
706           ;;
707       esac
708     ])
710 dnl Include SSL?
711 dnl Set SSLDIR for c-client make
712 AC_ARG_WITH(ssl,
713   AS_HELP_STRING([--without-ssl],[Disable SSL support (OpenSSL)]),
714   [ with_ssl=$withval ])
716 if test "x$with_ssl" = "xno" ; then
717   alpine_SSLTYPE="none"
718 else
719   dnl preload c-client default locations/options
720   case $host in
721     *-linux-gnu*)
722       if test -f /etc/fedora-release -o -f /etc/redhat-release -o -f /etc/redhat_version ; then  
723         alpine_SSLTYPE="nopwd"
724         if test -d /etc/pki/tls ; then  
725           alpine_SSLDIR="/etc/pki/tls"
726         else
727           alpine_SSLDIR="/usr/share/ssl"
728         fi
729         alpine_SSLCERTS="$alpine_SSLDIR/certs"
730         alpine_SSLKEYS="$alpine_SSLDIR/private"
731         alpine_SSLINCLUDE="/usr/include/openssl" 
732         alpine_SSLLIB="/usr/lib"
733       elif test -f /etc/mandrake-release ; then
734         alpine_SSLDIR="/usr/lib/ssl"
735         alpine_SSLCERTS="$alpine_SSLDIR/certs" 
736         alpine_SSLKEYS="$alpine_SSLDIR/private"
737         alpine_SSLINCLUDE="/usr/include/openssl" 
738         alpine_SSLLIB="/usr/lib"
739       elif test -f /etc/SuSE-release ; then
740         alpine_SSLTYPE="nopwd"
741         alpine_SSLDIR="/etc/ssl"
742         alpine_SSLCERTS="$alpine_SSLDIR/certs"
743         alpine_SSLKEYS="$alpine_SSLDIR/private"
744         alpine_SSLINCLUDE="/usr/include/openssl" 
745         alpine_SSLLIB="/usr/lib"
746       elif test -d /etc/osso-af-init ; then
747         alpine_SSLTYPE="nopwd"
748         alpine_SSLDIR="/usr"
749         alpine_SSLCERTS="/usr/share/certs"
750         alpine_SSLINCLUDE="/usr/include/openssl"
751         alpine_SSLLIB="/usr/lib"
752       elif test -f /etc/debian_release -o -f /etc/debian_version ; then
753         if test ! -d /etc/osso-af-init ; then
754            alpine_SSLDIR="/etc/ssl"
755            alpine_SSLCERTS="$alpine_SSLDIR/certs"
756            alpine_SSLKEYS="$alpine_SSLDIR/private"
757            alpine_SSLINCLUDE="/usr/include/openssl" 
758            alpine_SSLLIB="/usr/lib"
759         fi
760       else
761         alpine_SSLTYPE="nopwd"
762         alpine_SSLDIR="/usr"
763         alpine_SSLCERTS="/etc/ssl/certs"
764       fi
765       ;;
766     *-apple-darwin*)
767       alpine_SSLTYPE="nopwd"
768 dnl Originally this is where certs are, and they might still be there, even
769 dnl after installing Homebrew, MacPorts or Fink. We will use it if we cannot
770 dnl find it anywhere else.
771       alpine_SSLCERTS_ORIG="/System/Library/OpenSSL/certs"
772       if test -d /usr/local/opt/openssl ; then
773         alpine_SSLDIR="/usr/local/opt/openssl"
774         alpine_SSLINCLUDE="$alpine_SSLDIR/include"
775         alpine_SSLLIB="$alpine_SSLDIR/lib"
776         alpine_SSLCERTS="/usr/local/etc/openssl"
777         alpine_SSLKEYS="$alpine_SSLDIR/private"
778       elif test -d /opt/local/etc/openssl ; then
779         alpine_SSLDIR="/opt/local"
780         alpine_SSLINCLUDE="$alpine_SSLDIR/include"
781         alpine_SSLLIB="$alpine_SSLDIR/lib"
782         alpine_SSLCERTS="/opt/local/etc/openssl/certs"
783         alpine_SSLKEYS="/opt/local/etc/openssl/private"
784       elif test -d /sw/etc/ssl ; then
785         alpine_SSLDIR="/sw/etc/ssl"
786         alpine_SSLINCLUDE="/sw/include"
787         alpine_SSLLIB="/sw/lib"
788         alpine_SSLCERTS="/sw/etc/ssl/certs"
789         alpine_SSLKEYS="/sw/etc/ssl/private"
790       elif test -d /System/Library/OpenSSL ; then
791         alpine_SSLDIR="/System/Library/OpenSSL"
792         alpine_SSLCERTS="$alpine_SSLDIR/certs"
793         alpine_SSLKEYS="$alpine_SSLDIR/private"
794         alpine_SSLLIB="/usr/lib"
795         alpine_SSLINCLUDE="/usr/include/openssl"
796       fi
797       ;;
798     *-*-netbsd*)
799         alpine_SSLDIR="/etc/openssl"
800         alpine_SSLCERTS="$alpine_SSLDIR/certs"
801         alpine_SSLKEYS="$alpine_SSLDIR/private"
802         alpine_SSLINCLUDE="/usr/include/openssl"
803         alpine_SSLLIB="/usr/lib"
804       ;;
805     *-*-dragonfly*)
806         alpine_SSLDIR="/etc/openssl"
807         alpine_SSLCERTS="$alpine_SSLDIR/certs"
808         alpine_SSLKEYS="$alpine_SSLDIR/private"
809         alpine_SSLINCLUDE="/usr/include/openssl"
810         alpine_SSLLIB="/usr/lib"
811       ;;
812     *-openbsd*)
813         alpine_SSLTYPE="nopwd"
814         alpine_SSLDIR="/usr"
815         alpine_SSLCERTS="/etc/ssl/certs"
816       ;;
817     *-*-freebsd*)
818         alpine_SSLDIR="/etc/ssl"
819         alpine_SSLCERTS="$alpine_SSLDIR/certs"
820         alpine_SSLKEYS="$alpine_SSLDIR/private"
821         alpine_SSLINCLUDE="/usr/include/openssl" 
822         alpine_SSLLIB="/usr/lib"
823       ;;
824     *-*-openbsd*)
825         alpine_SSLDIR="/etc/ssl"
826         alpine_SSLINCLUDE="/usr/include/openssl"
827         alpine_SSLLIB="/usr/lib"
828         alpine_SSLCERTS="/etc/ssl" 
829         alpine_SSLKEYS="/etc/ssl/private"
830       ;;
831     *-*-cygwin)
832         alpine_SSLDIR="/usr/ssl"
833         alpine_SSLCERTS="$alpine_SSLDIR/certs" 
834         alpine_SSLKEYS="$alpine_SSLDIR/certs"
835         alpine_SSLINCLUDE="/usr/include/openssl" 
836         alpine_SSLLIB="/usr/lib"
837       ;;
838     *-sco-sysv* | *-sysv*UnixWare | *-sysv*OpenUNIX)
839         alpine_SSLTYPE="sco.nopwd"
840         alpine_SSLDIR="/usr/local/ssl"
841       ;;
842     *-*-solaris*)
843       if test -d /usr/sfw/include/openssl ; then
844         alpine_SSLDIR="/usr/sfw"
845       elif test -d /opt/csw/include/openssl ; then
846         alpine_SSLDIR="/opt/csw"
847         if test -d /opt/csw/ssl/certs ; then
848           alpine_SSLCERTS="/opt/csw/ssl/certs"
849         fi
850       fi
851       if test -z "$alpine_SSLCERTS" -a -d /etc/certs ; then
852         alpine_SSLCERTS="/etc/certs"
853       fi
854       ;;
855     *)
856       alpine_SSLTYPE="nopwd"
857       alpine_SSLDIR="/usr/local/ssl"
858       ;;
859   esac
861   AC_ARG_WITH(ssl-dir,
862     AS_HELP_STRING([--with-ssl-dir=DIR],[Root of SSL lib/include path]),
863     [
864       if test "x$withval" != "xno" ; then
865         alpine_SSLDIR=$withval
866         alpine_SSLINCLUDE=$alpine_SSLDIR/include
867         alpine_SSLLIB=$alpine_SSLDIR/lib
868       fi
869     ])
871   AC_ARG_WITH(ssl-certs-dir,
872     AS_HELP_STRING([--with-ssl-certs-dir=DIR],[Path to SSL certificate directory]),
873     [
874       if test "x$withval" != "xno" ; then
875         alpine_SSLCERTS=$withval
876       fi
877     ])
879   AC_ARG_WITH(ssl-include-dir,
880     AS_HELP_STRING([--with-ssl-include-dir=DIR],[SSL include file path]),
881     [
882       if test "x$withval" != "xno" ; then
883         alpine_SSLINCLUDE=$withval
884       fi
885     ])
887   AC_ARG_WITH(ssl-lib-dir,
888     AS_HELP_STRING([--with-ssl-lib-dir=DIR],[SSL library path]),
889     [
890       if test "x$withval" != "xno" ; then
891         alpine_SSLLIB=$withval
892       fi
893     ])
894   dnl setup globals so tests below work
895   if test -n "$alpine_SSLINCLUDE" ; then
896     CPPFLAGS="-I$alpine_SSLINCLUDE $CPPFLAGS"
897   elif test -n "$alpine_SSLDIR" ; then
898     CPPFLAGS="-I${alpine_SSLDIR}/include $CPPFLAGS"
899   fi
900   if test -n "$alpine_SSLLIB" ; then
901     LDFLAGS="-L$alpine_SSLLIB $LDFLAGS"
902   elif test -n "$alpine_SSLDIR" ; then
903     LDFLAGS="-L${alpine_SSLDIR}/lib $LDFLAGS"
904   fi
907 dnl Include Kerberos?
908 dnl Set GSSDIR for c-client make
909 AC_ARG_WITH(krb5,
910   AS_HELP_STRING([--without-krb5],[Disable Kerberos support]),
911   [ with_krb5=$withval ])
913 if test "x$with_krb5" = "xno" ; then
914   alpine_GSSTYPE="none"
915 else
916   alpine_GSSTYPE=
918   AC_ARG_WITH(krb5-dir,
919     AS_HELP_STRING([--with-krb5-dir=DIR],[Root of Kerberos lib/include path]),
920     [
921       if test "x$withval" != "xno" ; then
922         CPPFLAGS="$CPPFLAGS -I${withval}/include"
923         LDFLAGS="$LDFLAGS -L${withval}/lib"
924       fi
925     ])
927   AC_ARG_WITH(krb5-include-dir,
928     AS_HELP_STRING([--with-krb5-include-dir=DIR],[Kerberos include file path]),
929     [
930       if test "x$withval" != "xno" ; then
931         CPPFLAGS="$CPPFLAGS -I$withval"
932       fi
933     ])
935   AC_ARG_WITH(krb5-lib-dir,
936     AS_HELP_STRING([--with-krb5-lib-dir=DIR],[Kerberos library path]),
937     [
938       if test "x$withval" != "xno" ; then
939         LDFLAGS="$LDFLAGS -L$withval"
940       fi
941     ])
944 dnl Include LDAP?
945 AC_ARG_WITH(ldap,
946   AS_HELP_STRING([--without-ldap],[Disable LDAP query support]),
947   [ with_ldap=$withval ])
949 if test "x$with_ldap" = "xno" ; then
950   alpine_with_ldap=
951   AC_MSG_NOTICE([Excluding LDAP Support])
952 else
953   dnl Do stuff to figure out where OpenLDAP is
955   alpine_with_ldap=yes
956   AC_ARG_WITH(ldap-dir,
957     AS_HELP_STRING([--with-ldap-dir=DIR],[Root of LDAP lib/include path]),
958     [
959       if test "x$withval" != "xno" ; then 
960         CPPFLAGS="$CPPFLAGS -I${withval}/include"
961         LDFLAGS="$LDFLAGS -L${withval}/lib"
962       fi
963     ])
965   AC_ARG_WITH(ldap-include-dir,
966     AS_HELP_STRING([--with-ldap-include-dir=DIR],[Directory containing LDAP include files]),
967     [
968       if test "x$withval" != "xno" ; then
969         CPPFLAGS="$CPPFLAGS -I$withval"
970       fi
971     ])
973   AC_ARG_WITH(ldap-lib-dir,
974     AS_HELP_STRING([--with-ldap-lib-dir=DIR],[LDAP library path]),
975     [
976       if test "x$withval" != "xno" ; then
977         LDFLAGS="$LDFLAGS -L$withval"
978       fi
979     ])
982 dnl Include SMIME?
983 AC_ARG_WITH(smime,
984   AS_HELP_STRING([--without-smime],[Disable S/MIME]),
985   [ with_smime=$withval ])
987 dnl Include TCL?
988 AC_ARG_WITH(tcl,
989   AS_HELP_STRING([--without-tcl],[Disable TCL, thus Web Alpine support]),
990   [ with_tcl=$withval ])
992 if test "x$with_tcl" = "xno" ; then
993   WEB_BUILD=
994   AC_MSG_NOTICE([Excluding TCL Support, and thus Web Alpine Support])
995 else
996   AC_ARG_WITH(tcl-lib,
997     AS_HELP_STRING([--with-tcl-lib=LIBRARY],[Specific TCL Library, like \"tcl8.6\"]),
998     [
999       if test "x$withval" != "xno" ; then 
1000         alpine_TCLLIB=$withval
1001       fi
1002     ])
1003   AC_ARG_WITH(tcl-include,
1004     AS_HELP_STRING([--with-tcl-include=DIR],[Directory containing TCL include files]),
1005     [
1006       if test "x$withval" != "xno" ; then
1007         CPPFLAGS="$CPPFLAGS -I$withval"
1008         alpine_TCLINC=$withval
1009       fi
1010     ])
1013 AC_ARG_WITH(supplied-regex,
1014   AS_HELP_STRING([--with-supplied-regex],[Use regex library supplied with alpine]),
1015   [ alpine_REGEX=$withval ])
1017 AC_ARG_WITH(pthread,
1018   AS_HELP_STRING([--without-pthread],[Do NOT test for nor build with POSIX thread support]),
1019   [ with_pthread=$withval ])
1021 AC_ARG_WITH(system-mail-directory,
1022   AS_HELP_STRING([--with-system-mail-directory=DIR],[Directory where local mail is delivered]),
1023   [
1024     if test "x$withval" != "xno" ; then
1025       alpine_with_local_maildir="$withval"
1026     fi
1027   ])
1029 AC_ARG_WITH(c-client-target,
1030   AS_HELP_STRING([--with-c-client-target=TARGET],[IMAP build target (see imap/Makefile)]),
1031   [
1032     if test "x$withval" != "xno" ;then
1033       alpine_with_c_client_target="$withval"
1034     fi
1035   ])
1038 dnl Assume PAM is *not* required and only set the systems that need it.
1039 alpine_PAM="none"
1041 dnl HOST-OS SPECIFIC DEFINITIONS
1042 dnl Tests and assignments below are mostly to coax the appropriate
1043 dnl build from c-client.  Most of this will go away when c-client
1044 dnl adopts configure
1045 case "$host" in
1046   *-linux-gnu*|*-k*bsd*-gnu*)
1047     alpine_path_delim="/"
1048     alpine_mode_readonly="(0600)"
1049     if test -f /etc/fedora-release ; then  
1050       systype="LFD"
1051       alpine_PAM="yes"
1052       if test -d /etc/pki/tls ; then  
1053         alpine_c_client_target="lfd"
1054       else
1055         alpine_c_client_target="lrh"
1056       fi
1057     elif test -f /etc/mandrake-release ; then
1058       systype="LMD"
1059       alpine_c_client_target="lmd"
1060       alpine_PAM="yes"
1061     elif test -f /etc/redhat-release -o -f /etc/redhat_version ; then
1062       systype="LRH"
1063       alpine_PAM="yes"
1064       if test -d /etc/pki/tls ; then  
1065         alpine_c_client_target="lr5"
1066       else
1067         alpine_c_client_target="lrh"
1068       fi
1069     elif test -f /etc/debian_release -o -f /etc/debian_version ; then
1070       if test -d /etc/osso-af-init ; then
1071         systype="LN8"
1072         alpine_c_client_target="ln8"
1073       else
1074         systype="DEB"
1075         alpine_c_client_target="ldb"
1076         alpine_PAM="yes"
1077       fi
1078     elif test -f /etc/SuSE-release ; then
1079       systype="LSU"
1080       alpine_c_client_target="lsu"
1081       alpine_PAM="yes"
1082     else
1083       systype="LNX"
1084       AC_CHECK_LIB(pam, pam_start,
1085         [
1086           alpine_c_client_target="lnp"
1087           alpine_PAM="yes"
1088         ],
1089         [
1090           if test -f /etc/shadow ; then
1091             alpine_c_client_target="slx"
1092           else
1093             alpine_c_client_target="lnx"
1094           fi
1095         ])
1096     fi
1097     ;;
1098   *-apple-darwin*)
1099     systype="OSX"
1100     alpine_path_delim="/"
1101     alpine_mode_readonly="(0600)"
1102     LIBS="$LIBS -framework Carbon -framework ApplicationServices -framework Security"
1103     AM_CFLAGS="$AM_CFLAGS -Dbsd"
1104     dnl SEE include/system.h
1105     AC_DEFINE([OSX_TARGET],[1],[OSX TARGET])
1106     case "$alpine_os_credential_cache" in
1107       no)
1108         ;;
1109       *)
1110         AC_DEFINE([APPLEKEYCHAIN], [1], [Use Apple OS X key chain for credential caching])
1111         ;;
1112     esac
1113     AC_CHECK_LIB(pam, pam_start,
1114       [
1115         AC_CHECK_HEADER([security/pam_appl.h],
1116         [
1117           alpine_PAM="yes"
1118           alpine_c_client_target="oxs"
1119         ],
1120         [       AC_CHECK_HEADER([pam/pam_appl.h],
1121                 [
1122                    alpine_PAM="yes"
1123                    alpine_c_client_target="oxp" 
1124                 ],
1125                 [
1126                   alpine_PAM="none"
1127                   alpine_pam_none_reason="header files not found"
1128                 ])
1129         ])
1130       ],
1131       [
1132         alpine_c_client_target="osx"
1133       ])
1134     ;;
1135   *-*-solaris*)
1136     if test x$GCC = "xyes" ; then
1137       systype="GSO"
1138       alpine_c_client_target="gso"
1139     else
1140       systype="SOC"
1141       alpine_c_client_target="soc"
1142       AC_DEFINE([__EXTENSIONS__], [1], [Enable extended pthread features on Solaris])
1143     fi
1144     alpine_path_delim="/"
1145     alpine_mode_readonly="(0600)"
1146     dnl possible other OS's need this.
1147     dnl Use autoconf 2.61's AC_USE_SYSTEM_EXTENSIONS at some point
1148     ;;
1149   *-*-sunos4*)
1150     systype="SUN"
1151     alpine_path_delim="/"
1152     alpine_mode_readonly="(0600)"
1153     alpine_c_client_target="s40"
1154     ;;
1155   *-*-sco3.2v5*)
1156     if test x$GCC = "xyes" ; then
1157       systype="GO5"
1158       alpine_c_client_target="go5"
1159     else
1160       systype="SC5"
1161       alpine_c_client_target="sc5"
1162     fi
1163     alpine_path_delim="/"
1164     alpine_mode_readonly="(0600)"
1165     dnl possible other OS's need this.
1166     dnl Use autoconf 2.61's AC_USE_SYSTEM_EXTENSIONS at some point
1167     ;;
1168   *-next-*)
1169     systype="NXT"
1170     alpine_path_delim="/"
1171     alpine_mode_readonly="(0600)"
1172     alpine_c_client_target="nx3"
1173     ;;
1174   *-*-netbsd*)
1175     systype="NEB"
1176     alpine_path_delim="/"
1177     alpine_mode_readonly="(0600)"
1178     alpine_c_client_target="neb"
1179     ;;
1180   *-*-dragonfly*)
1181     systype="DFB"
1182     alpine_path_delim="/"
1183     alpine_mode_readonly="(0600)"
1184     alpine_c_client_target="neb"
1185     ;;
1186   *-*-bsdi*)
1187     systype="BSI"
1188     alpine_path_delim="/"
1189     alpine_mode_readonly="(0600)"
1190     alpine_c_client_target="bsi"
1191     ;;
1192   *-*-freebsd*)
1193     systype="BSF"
1194     alpine_path_delim="/"
1195     alpine_mode_readonly="(0600)"
1196     alpine_c_client_target="bsf"
1197     LIBS="$LIBS $LIBINTL"
1198     ;;
1199   *-*-openbsd*)
1200     systype="BSO"
1201     alpine_path_delim="/"
1202     alpine_mode_readonly="(0600)"
1203     alpine_c_client_target="bso"
1204     LIBS="$LIBS $LIBINTL"
1205     ;;
1206   *-*-aix5*)
1207     systype="A52"
1208     alpine_path_delim="/"
1209     alpine_mode_readonly="(0600)"
1210     alpine_c_client_target="a52"
1211     ;;
1212   *-*-aix4*)
1213     systype="A41"
1214     alpine_path_delim="/"
1215     alpine_mode_readonly="(0600)"
1216     alpine_c_client_target="a41"
1217     ;;
1218   *-*-aix3*)
1219     systype="A32"
1220     alpine_path_delim="/"
1221     alpine_mode_readonly="(0600)"
1222     alpine_c_client_target="a32"
1223     ;;
1224   *-*UNIX_SV | *-*-sysv5UnixWare7* | *-*OpenUNIX*)
1225     systype="UW2"
1226     alpine_path_delim="/"
1227     alpine_mode_readonly="(0600)"
1228     alpine_c_client_target="uw2"
1229     ;;
1230   *-*-osf5*)
1231     systype="OSF"
1232     alpine_path_delim="/"
1233     alpine_mode_readonly="(0600)"
1234     alpine_c_client_target="osf"
1235     ;;
1236   *-*-cygwin)
1237     systype="CYG"
1238     alpine_path_delim="/"
1239     alpine_mode_readonly="(S_IREAD | S_IWRITE)"
1240     alpine_c_client_target="cyg"
1241     LIBS="$LIBS $LIBINTL"
1242     ;;
1243   windows* | *-*-pw32*)
1244     systype="WNT"
1245     alpine_path_delim="\\"
1246     alpine_mode_readonly="(S_IREAD | S_IWRITE)"
1247     alpine_c_client_target="wnt"
1248     AC_DEFINE([_WINDOWS], [1], [Windows is just too different])
1249     ;;
1250   *)
1251     AC_MSG_ERROR(Unrecognized system: $host)
1252     ;;
1253 esac
1255 dnl Without IPv6?
1256 AC_ARG_WITH(ipv6,
1257   AS_HELP_STRING([--without-ipv6],[Disable IPv6, primarily to work around resolver problems]),
1258   [ with_ipv6=$withval ])
1260 if test "x$with_ipv6" = "xno" ; then
1261   AC_MSG_NOTICE([Excluding IPv6 Support])
1262   c_client_specials="${c_client_specials}IP6=4 "
1263   c_client_ip6="true"
1264 else
1265   c_client_ip6="touch imap/ip6"
1269 dnl CHECK LIBRARIES
1271 if test x$enable_dmalloc = "xyes" ; then
1272   if test "x$with_pthread" = "xyes" ; then
1273     dmalloc_lib=dmallocth
1274   else
1275     dmalloc_lib=dmalloc
1276   fi
1278   AC_CHECK_LIB($dmalloc_lib,dmalloc_shutdown,,
1279     [
1280       AC_MSG_ERROR($dmalloc_lib requested, but -ldmalloc not found)
1281     ])
1284 dnl which terminal cabability database
1285 AC_CHECK_LIB(tinfo, setupterm,
1286   [
1287     alpine_termdata=info
1288     LIBS="$LIBS -ltinfo"
1289   ],
1290   [
1291     AC_CHECK_LIB(ncurses, setupterm,
1292       [
1293         alpine_termdata=info
1294         LIBS="$LIBS -lncurses"
1295       ],
1296       [
1297         AC_CHECK_LIB(curses, setupterm,
1298           [
1299             alpine_termdata=info
1300             LIBS="$LIBS -lcurses"
1301           ],
1302           [
1303             AC_CHECK_LIB(termlib, tgetent,
1304               [
1305                 alpine_termdata=cap
1306                 LIBS="$LIBS -ltermlib"
1307               ],
1308               [
1309                 AC_CHECK_LIB(termcap, tgetent,
1310                   [
1311                     alpine_termdata=cap
1312                     LIBS="$LIBS -ltermcap"
1313                   ],
1314                   [
1315                     AC_MSG_ERROR(Terminfo/termcap not found)
1316                   ])
1317               ])
1318           ])
1319       ])
1320   ])
1321 case $alpine_termdata in
1322   info)
1323     AC_DEFINE(HAS_TERMINFO, [1], [Define if systems uses terminfo terminal database])
1324     ;;
1325   cap)
1326     AC_DEFINE(HAS_TERMCAP, [1], [Define if systems uses termcap terminal database])
1327     ;;
1328 esac
1330 dnl is -ldl present? if so, add it
1331 AC_SEARCH_LIBS([dlopen], [dl dld],, [ alpine_DL="none" ])
1332 if test "x$alpine_DL" = "xnone" ; then
1333     AC_MSG_ERROR([No library containing dlopen found])
1334     exit 1      
1337 dnl Crypto support is needed 
1338 if test "x$alpine_SSLTYPE" != "xnone" ; then
1339   AC_SEARCH_LIBS(SSLeay,crypto,, [ alpine_CRYPTO="none" ])
1340   if test "x$alpine_CRYPTO" = "xnone" ; then
1341      AC_MSG_ERROR(crypto library NOT found)
1342      exit 1
1343   fi
1346 dnl provide SSL support?
1347 if test "x$alpine_SSLTYPE" != "xnone" ; then
1348    AC_SEARCH_LIBS(SSL_library_init,ssl,,[ alpine_SSLTYPE="none" ])
1350   if test "x$alpine_SSLTYPE" = "xnone" ; then
1351      AC_MSG_ERROR(No library containing SSL_library_init found in your path)
1352      exit 1
1353   fi
1355   AC_MSG_CHECKING([Openssl library version >= 1.0.0c])
1356   AC_RUN_IFELSE(
1357         [AC_LANG_SOURCE([[
1358 #include <stdio.h>
1359 #include <stdlib.h>
1360 #include <openssl/ssl.h>
1361 int main(void) {
1363         if (OPENSSL_VERSION_NUMBER >= 0x1000003f)
1364                 exit(0);
1366         exit(2);
1368         ]])],
1369         [ AC_MSG_RESULT(yes) ],
1370         [ alpine_SSLTYPE="none" ])
1372     if test "x$alpine_SSLTYPE" = "xnone" ; then
1373         AC_MSG_ERROR(Install openssl version >= 1.0.0c)
1374         exit 1
1375     fi
1376     AC_SEARCH_LIBS(TLSv1_2_client_method,ssl,
1377         [ alpine_c_client_cflags="$alpine_c_client_cflags -DTLSV1_2"
1378           AC_DEFINE([SSL_SUPPORTS_TLSV1_2], [1], [SSL Supports TLSV1.2])
1379         ])
1382 dnl provide LDAP support?
1383 if test "$alpine_with_ldap" = "yes" ; then
1384   alpine_has_ldap=
1385   AC_CHECK_LIB(lber, ber_alloc,
1386     [
1387       LIBS="$LIBS -llber"
1388     ])
1389   AC_SEARCH_LIBS(ldap_init,ldap,
1390     [
1391       alpine_has_ldap=yes
1392     ],
1393     [
1394       AC_SEARCH_LIBS(ldap_open,ldap,
1395         [
1396           alpine_has_ldap=yes
1397         ])
1398     ])
1400   if test "$alpine_has_ldap" = "yes" ; then
1401     AC_MSG_NOTICE([* * * Including LDAP Support])
1402     AC_DEFINE([ENABLE_LDAP], [], [Enable LDAP query support])
1404     dnl we use deprecated functions (ldap_get_values)
1405     dnl OpenLDAP 2.3.x doesn't define LDAP_DEPRECATED by default like 2.2.x
1406     AC_MSG_CHECKING([if we should define LDAP_DEPRECATED])
1407     AC_RUN_IFELSE(
1408         [AC_LANG_SOURCE([[
1409 #include <stdio.h>
1410 #include <stdlib.h>
1411 #include <ldap.h>
1412 int main(void) {
1414         if (LDAP_VENDOR_VERSION >= 20300)
1415                 exit(0);
1417         exit(2);
1419         ]])],
1420         [
1421                 AC_MSG_RESULT(yes)
1422                 AC_DEFINE(LDAP_DEPRECATED, 1,
1423                 [Define if you use OpenLDAP 2.3.x deprecated functions])
1425         ],
1426         [
1427                 AC_MSG_RESULT(no)
1428         ],
1429         [
1430                 AC_MSG_WARN([cross compiling: not checking])
1431         ]
1432     )
1434   else
1435     AC_MSG_NOTICE([Cannot find LDAP functions!  Excluding LDAP support.])
1436   fi
1439 dnl PAM support is needed to build c-client in some linux, and hence Alpine.
1440 if test "x$alpine_PAM" != "xnone" ; then
1441   AC_SEARCH_LIBS(pam_start,pam,
1442       [
1443         LIBS="$LIBS -lpam"
1444         AC_CHECK_HEADER([security/pam_appl.h],
1445         [
1446           alpine_PAM="yes"
1447         ],
1448         dnl Only mac is incompatible, do not spread bad habits.
1449         [ AC_CHECK_HEADER([pam/pam_appl.h],
1450           [
1451                 alpine_PAM="yes"
1452                 if test "x$alpine_c_client_target" != "xoxp" ; then
1453                    alpine_PAM="none"
1454                    alpine_pam_none_reason="header files not in security/ directory"
1455                 fi
1456           ],
1457           [
1458                 alpine_PAM="none"
1459                 alpine_pam_none_reason="header files not found"
1460           ])
1461         ])
1462       ],
1463       [
1464         alpine_PAM="none"
1465         alpine_pam_none_reason="library files not found"
1466       ])
1467     if test -n "$alpine_pam_none_reason" ; then
1468       AC_MSG_ERROR(No PAM support: $alpine_pam_none_reason)
1469   fi
1473 dnl provide KRB5 support?
1474 if test "x$alpine_GSSTYPE" != "xnone" ; then
1475   AC_SEARCH_LIBS(gss_init_sec_context,gss gssapi gssapi_krb5,
1476     [
1477       dnl MIT-based?
1478       LIBS="$LIBS -lkrb5"
1479       AC_CHECK_HEADER([gssapi/gssapi_generic.h],,
1480         [
1481           if test ! -d /usr/kerberos/include ; then
1482             alpine_GSSTYPE="none"
1483             alpine_gss_none_reason="header files not found"
1484           fi
1485         ])
1486     ],
1487     [
1488       alpine_GSSTYPE="none"
1489       alpine_gss_none_reason="libraries not found"
1490     ])
1491   if test -n "$alpine_gss_none_reason" ; then
1492     AC_MSG_NOTICE([NOT including Kerberos Support: $alpine_gss_none_reason])
1493   fi
1496 dnl check for tcl libraries for Web Alpine (HACKY)
1497 if test -n "$WEB_BUILD" ; then
1498 TCL_VERSIONS_DOT="tcl8.6 tcl8.5 tcl8.4 tcl8.3"
1499 TCL_VERSIONS_NODOT="`echo ${TCL_VERSIONS_DOT} | ${SED} 's/\.//g'`"
1500 TCL_VERSIONS="${TCL_VERSIONS_DOT} ${TCL_VERSIONS_NODOT} tcl"
1501   AC_SEARCH_LIBS([Tcl_Eval],[$alpine_TCLLIB ${TCL_VERSIONS}],,
1502     [
1503       WEB_BUILD=
1504     ])
1506   dnl look for header file
1507   if test -n "$alpine_TCLINC" ; then
1508     AC_CHECK_HEADER($alpine_TCLINC/tcl.h,,
1509       [
1510         WEB_BUILD=
1511       ])
1512     if test -z "$WEB_BUILD" ; then
1513       AC_MSG_NOTICE([Tcl Include file NOT found])
1514     fi
1515   else
1516     AC_CHECK_HEADER(tcl.h,,
1517       [
1518         for base in /usr /usr/local ; do
1519          for dir in ${TCL_VERSIONS} ; do
1520           AC_CHECK_FILE([$base/include/$dir/tcl.h],
1521             [
1522               found=yes
1523             ])
1524           if test "$found" = "yes" ; then
1525             CPPFLAGS="$CPPFLAGS -I$base/include/$dir"
1526             break
1527           fi
1528          done
1529          if test "$found" = "yes" ; then
1530             break
1531          fi
1532         done
1533         if test "$found" != "yes" ; then
1534             WEB_BUILD=
1535             AC_MSG_NOTICE([header file tcl.h NOT found: Web Alpine will not be built])
1536         fi
1537       ])
1538   fi
1541 dnl Local or supplied regex?
1542 if test "x$alpine_REGEX" != "xyes" ; then
1543   AC_SEARCH_LIBS([regcomp],posix regexp regex re,,
1544     [
1545       if test x$alpine_REGEX = "xno" ; then
1546         AC_MSG_ERROR(Unable to find system regex library)
1547       else
1548         alpine_REGEX=yes
1549       fi
1550     ])
1552 if test "x$alpine_REGEX" != "xyes" ; then
1553   AC_CHECK_HEADER([regex.h],,
1554     [
1555       if test x$alpine_REGEX = "xno" ; then
1556         AC_MSG_ERROR(Unable to find system regex include file)
1557       else
1558         alpine_REGEX=yes
1559       fi
1560     ])
1562 AC_DEFINE(HAVE_REGEX_H,1,[Regular expression header file exists])
1563 if test "x$alpine_REGEX" = "xyes" ; then
1564   CPPFLAGS="$CPPFLAGS -I${top_builddir}/regex"
1565   LDFLAGS="$LDFLAGS -L${top_builddir}/regex"
1566   REGEX_BUILD=regex
1567   REGEX_MAKEFILE="$REGEX_BUILD/Makefile"
1570 if test "x$with_pthread" != "xno" ; then
1571   AC_MSG_CHECKING([for pthread support])
1572   ACX_PTHREAD(
1573     [
1574       AC_MSG_RESULT([yes])
1575       case "$target" in
1576           *openbsd*)
1577             AC_MSG_NOTICE([WARNING: pthread support on OpenBSD is unstable!])
1578             AM_CFLAGS="$AM_CFLAGS -pthread"
1579             ;;
1580       esac
1581       LIBS="$PTHREAD_LIBS $LIBS"
1582       AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS"
1583       CC="$PTHREAD_CC"
1584       AC_DEFINE([HAVE_PTHREAD], [1], [System has pthread support])
1585     ],
1586     [
1587       AC_MSG_RESULT([no])
1588     ])
1590   AC_SEARCH_LIBS([nanosleep], [rt posix4],
1591     [
1592       AC_DEFINE([HAVE_NANOSLEEP], [1], [Define if system supports subsecond, non-alarm sleep])
1593     ])
1598 dnl CHECK HEADERS
1600 AC_HEADER_STDC
1601 AC_HEADER_DIRENT
1602 AC_HEADER_STAT
1603 AC_HEADER_SYS_WAIT
1604 AC_HEADER_TIME
1605 AC_HEADER_TIOCGWINSZ
1607 AC_CHECK_HEADERS([unistd.h])
1609 AC_CHECK_HEADERS([errno.h \
1610                   ctype.h \
1611                   fcntl.h \
1612                   signal.h \
1613                   setjmp.h \
1614                   memory.h \
1615                   sys/param.h \
1616                   sys/socket.h \
1617                   sys/uio.h \
1618                   sys/un.h \
1619                   limits.h \
1620                   wchar.h \
1621                   sys/poll.h \
1622                   stropts.h \
1623                   netdb.h \
1624                   syslog.h \
1625                   sys/syslog.h \
1626                   locale.h \
1627                   langinfo.h \
1628                   utime.h \
1629                   sys/utime.h \
1630                   pthread.h \
1631                   pwd.h \
1632                   assert.h])
1634 dnl terminal line discipline?
1635 AC_CHECK_HEADER([termios.h],
1636   AC_DEFINE(HAS_TERMIOS, [1], [Define if systems uses termios terminal control]),
1637   [
1638     AC_CHECK_HEADER([termio.h],
1639       AC_DEFINE(HAS_TERMIO, [1], [Define if systems uses termio terminal control]),
1640       [
1641         AC_CHECK_HEADER([sgtty.h],
1642           AC_DEFINE(HAS_SGTTY, [1], [Define if systems uses old BSD-style terminal control]),
1643         [
1644           AC_MSG_ERROR(Unable to figure out terminal control method)
1645         ])
1646       ])
1647   ])
1650 dnl CHECK TYPEDEFS
1652 AC_DIAGNOSE([obsolete],[your code may safely assume C89 semantics that RETSIGTYPE is void.
1653 Remove this warning and the `AC_CACHE_CHECK' when you adjust the code.])dnl
1654 AC_CACHE_CHECK([return type of signal handlers],[ac_cv_type_signal],[AC_COMPILE_IFELSE(
1655 [AC_LANG_PROGRAM([#include <sys/types.h>
1656 #include <signal.h>
1658                  [return *(signal (0, 0)) (0) == 1;])],
1659                    [ac_cv_type_signal=int],
1660                    [ac_cv_type_signal=void])])
1661 AC_DEFINE_UNQUOTED([RETSIGTYPE],[$ac_cv_type_signal],[Define as the return type of signal handlers
1662                     (`int' or `void').])
1664 AC_TYPE_SIZE_T
1665 AC_TYPE_MODE_T
1666 AC_TYPE_PID_T
1667 AC_TYPE_UID_T
1668 AC_STRUCT_TM
1670 AC_CHECK_TYPES([union wait])
1672 AC_CHECK_HEADERS([stdint.h], [uint16=uint16_t], [
1673   AC_CHECK_HEADERS([inttypes.h], [uint16=uint16_t], [
1674     AC_CHECK_HEADERS([sys/types.h], [uint16=u_int16_t], [
1675       AC_CHECK_SIZEOF(unsigned short)
1676       if test $ac_cv_sizeof_unsigned_short -eq 2 ; then
1677         uint16="unsigned short"
1678       else
1679         AC_CHECK_SIZEOF(unsigned int)
1680         if $ac_cv_sizeof_unsigned_int -eq 2 ; then
1681           uint16="unsigned int"
1682         else
1683           AC_MSG_ERROR(Unable to determine 16 bit integer type)
1684         fi
1685       fi
1686     ])
1687   ])
1689 AC_DEFINE_UNQUOTED([UINT16], $uint16, [System defined unsigned 16 bit integer])
1691 AC_CHECK_HEADERS([stdint.h], [uint32=uint32_t], [
1692   AC_CHECK_HEADERS([inttypes.h], [uint32=uint32_t], [
1693     AC_CHECK_HEADERS([sys/types.h], [uint32=u_int32_t], [
1694       AC_CHECK_SIZEOF(unsigned int)
1695       if test $ac_cv_sizeof_unsigned_int -eq 4 ; then
1696         uint32="unsigned int"
1697       else
1698         AC_CHECK_SIZEOF(unsigned long)
1699         if $ac_cv_sizeof_unsigned_long -eq 4 ; then
1700           uint32="unsigned long"
1701         else
1702           AC_MSG_ERROR(Unable to determine 32 bit integer type)
1703         fi
1704       fi
1705     ])
1706   ])
1708 AC_DEFINE_UNQUOTED([UINT32], $uint32, [System defined unsigned 32 bit integer])
1710 AC_CACHE_CHECK(argument pointer type of qsort compare function and base,
1711 ac_cv_func_qsort_argtype,
1712 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1713 #if     HAVE_STDLIB_H
1714 #include "stdlib.h"
1715 #endif
1717 extern void *base;
1718 extern sortf(const void *, const void *);
1719 int sortf(a, b)
1720   const void *a;
1721   const void *b; { return 0; }
1722 ]], [[
1723 qsort(base, 2, sizeof(char *), sortf);
1724 ]])],[ac_cv_func_qsort_argtype=void],[ac_cv_func_qsort_argtype=char])
1726 AC_DEFINE_UNQUOTED([qsort_t], $ac_cv_func_qsort_argtype, [qsort compare function argument type])
1728 dnl check for "struct passwd" ?
1730 AC_FUNC_SELECT_ARGTYPES
1732 AC_FUNC_STRCOLL
1734 dnl CHECK FOR LIBRARY FUNCTIONS
1736 AC_FUNC_FORK
1737 AC_CHECK_FUNCS([strchr \
1738                 memcpy \
1739                 strtol \
1740                 strtoul \
1741                 select \
1742                 poll \
1743                 qsort \
1744                 getuid \
1745                 getpwuid \
1746                 getpwnam \
1747                 gettimeofday \
1748                 tmpfile \
1749                 uname \
1750                 rename \
1751                 read \
1752                 signal \
1753                 setjmp \
1754                 chown \
1755                 wait4 \
1756                 waitpid \
1757                 wait \
1758                 srandom \
1759                 popen \
1760                 pclose \
1761                 fsync \
1762                 truncate \
1763                 listen \
1764                 wcwidth \
1765                 mbstowcs \
1766                 wcrtomb \
1767                 putenv \
1768                 setenv])
1770 AC_SEARCH_LIBS([gethostname],[nsl])
1772 AC_SEARCH_LIBS([socket],[socket],,
1773   [
1774     WEB_BUILD=
1775   ])
1777 AC_SEARCH_LIBS([bind],[bind],,
1778   [
1779     WEB_BUILD=
1780   ])
1782 dnl check for POSIX signal interface
1783 AC_CHECK_FUNCS([sigaction sigemptyset sigaddset sigprocmask],
1784   [
1785     AC_DEFINE([POSIX_SIGNALS], [], [Define if system supports POSIX signal interface])
1786   ],
1787   [
1788     AC_CHECK_FUNCS([sigset sigrelse],
1789       [
1790         AC_DEFINE([SYSV_SIGNALS], [], [Define if system supports SYSV signal interface])
1791       ])
1792   ])
1794 AC_SEARCH_LIBS([syslog], [bsd socket inet],
1795   [
1796     AC_DEFINE([HAVE_SYSLOG], [1], [Define if system supplies syslog() logging])
1797   ])
1800 dnl set pico newmail check directory
1801 if test -n "$alpine_with_local_maildir" ; then
1802     alpine_local_maildir=$alpine_with_local_maildir
1803 elif test -d /var/spool/mail ; then
1804     alpine_local_maildir="/var/spool/mail"
1805 elif test -d /var/mail ; then
1806     alpine_local_maildir="/var/mail"
1807 else
1808     alpine_local_maildir="/usr/spool/mail"
1811 dnl set c-client make target
1812 if test -n "$alpine_with_c_client_target" ; then
1813     alpine_c_client_target=$alpine_with_c_client_target
1816 AC_DEFINE_UNQUOTED([SYSTYPE], "$systype", [Pine-Centric Host Specifier])
1817 AC_DEFINE_UNQUOTED([C_FILESEP],'$alpine_path_delim',[File name separator as character constant])
1818 AC_DEFINE_UNQUOTED([S_FILESEP],"$alpine_path_delim",[File name separator as string constant])
1819 AC_DEFINE_UNQUOTED([MAILDIR],"$alpine_local_maildir",[Path to local inboxes for pico newmail check])
1820 AC_DEFINE_UNQUOTED([MODE_READONLY], $alpine_mode_readonly, [File mode used to set readonly access])
1822 dnl c-client make particulars
1823 AC_SUBST([C_CLIENT_TARGET], $alpine_c_client_target)
1824 AC_SUBST([C_CLIENT_WITH_IPV6], $c_client_ip6)
1825 if test "x$alpine_SSLTYPE" = "xnone" ; then 
1826   AC_MSG_NOTICE([* * *  NOT Including SSL Support])
1827   c_client_specials="${c_client_specials}SSLTYPE=none "
1828 else
1829   dnl issue any warnings for common OpenSSL issues
1831   if test -n "$alpine_SSLCERTS" -a -d "$alpine_SSLCERTS" ; then
1832     certdir="$alpine_SSLCERTS"
1833   elif test -n "$alpine_SSLDIR" -a -d "${alpine_SSLDIR}/certs" ; then
1834     certdir="${alpine_SSLDIR}/certs"
1835   elif test -n "$alpine_SSLDIR" -a -d "${alpine_SSLDIR}/ssl/certs" ; then
1836     certdir="${alpine_SSLDIR}/ssl/certs"
1837   elif test -n "$alpine_SSLCERTS_ORIG" -a -d "$alpine_SSLCERTS_ORIG" ; then
1838     certdir="$alpine_SSLCERTS_ORIG"
1839   else
1840     AC_MSG_NOTICE([SSL Problem: certificate directory not found])
1841   fi
1843   if test "x$with_smime" != "xno" ; then
1844     if test -n "$certdir" ; then
1845       AC_MSG_NOTICE([* * * S/MIME support enabled])
1846       AC_DEFINE([SMIME], [], [Enable S/MIME code])
1847       AC_DEFINE_UNQUOTED([SMIME_SSLCERTS],"$certdir",[Directory where S/MIME CACerts are located])
1848     fi
1849   fi
1851   if test ! -f ${certdir}/factory.pem ; then
1852     AC_MSG_NOTICE([* * * SSL file "${certdir}/factory.pem" is missing.])
1853     AC_MSG_NOTICE([* * *   This might indicate that CA certs did not get properly])
1854     AC_MSG_NOTICE([* * *   installed.  If you get certificate validation failures])
1855     AC_MSG_NOTICE([* * *   in Alpine, this might be the reason for them.])
1856   fi
1858   if test -z "`ls ${certdir} | $EGREP '^@<:@0-9A-Fa-f@:>@{8}\.@<:@0-9@:>@'`" ; then
1859     AC_MSG_NOTICE([* * * No 8-hexdigit symlinks in certificate directory "${certdir}".])
1860     AC_MSG_NOTICE([* * *   This might indicate that CA certs did not get properly])
1861     AC_MSG_NOTICE([* * *   installed.  If you get certificate validation failures])
1862     AC_MSG_NOTICE([* * *   in Alpine, this might be the reason for them.])
1863   fi
1865   if test -n "$alpine_SSLINCLUDE" ; then
1866     c_client_specials="${c_client_specials}SSLINCLUDE=$alpine_SSLINCLUDE "
1867   fi
1869   if test -n "$alpine_SSLLIB" ; then
1870     c_client_specials="${c_client_specials}SSLLIB=$alpine_SSLLIB "
1871   fi
1873   if test -n "$alpine_SSLDIR" ; then
1874     c_client_specials="${c_client_specials}SSLDIR=$alpine_SSLDIR "
1875   fi
1877   if test -n "$certdir" ; then
1878     c_client_specials="${c_client_specials}SSLCERTS=$certdir "
1879   fi
1881   if test -n "$alpine_SSLKEYS" ; then
1882       c_client_specials="${c_client_specials}SSLKEYS=$alpine_SSLKEYS "
1883   fi
1886 if test "x$alpine_GSSTYPE" != "xnone" ; then
1887   c_client_specials="${c_client_specials}EXTRAAUTHENTICATORS=gss "
1888   AC_MSG_NOTICE([* * * Including Kerberos5 functionality])
1891 if test -n "$CPPFLAGS" ; then
1892   alpine_c_client_cflags="$alpine_c_client_cflags ${CPPFLAGS}"
1894 if test -n "$CFLAGS" ; then
1895   alpine_c_client_cflags="$alpine_c_client_cflags ${CFLAGS}"
1898 if test -n "$alpine_c_client_cflags" ; then
1899   AC_SUBST(C_CLIENT_CFLAGS, EXTRACFLAGS=\"$alpine_c_client_cflags\")
1902 if test -n "$LDFLAGS" ; then
1903   alpine_c_client_ldflags="$alpine_c_client_ldflags ${LDFLAGS}"
1905 if test -n "$LIBS" ; then
1906   alpine_c_client_ldflags="$alpine_c_client_ldflags ${LIBS}"
1909 if test -n "$alpine_c_client_ldflags" ; then
1910   AC_SUBST(C_CLIENT_LDFLAGS, EXTRALDFLAGS=\"$alpine_c_client_ldflags\")
1913 if test -n "$alpine_c_client_gccoptlevel" ; then
1914   AC_SUBST(C_CLIENT_GCCOPTLEVEL, GCCOPTLEVEL=\"$alpine_c_client_gccoptlevel\")
1917 AC_SUBST([C_CLIENT_SPECIALS], $c_client_specials)
1919 dnl Deal with Web Alpine
1920 if test -z "$WEB_BUILD" ; then
1921   WEB_PUBCOOKIE_BUILD=
1922   AC_MSG_NOTICE([* * * TCL libraries could not be found.])
1923   AC_MSG_NOTICE([* * * WEB ALPINE COMPONENT WILL NOT BE BUILT.])
1924 else
1925   if test -n "$WEB_PUBCOOKIE_BUILD" ; then
1926     if test "x$alpine_GSSTYPE" = "xnone" ; then
1927       WEB_PUBCOOKIE_BUILD=
1928       AC_MSG_NOTICE([* * * Kerberos5 support not found.])
1929       AC_MSG_NOTICE([* * * WEB ALPINE PUBCOOKIE COMPONENT WILL NOT BE BUILT.])
1930     elif test -z "$WEB_BINDIR" ; then
1931       WEB_PUBCOOKIE_BUILD=
1932       AC_MSG_NOTICE([* * * Web Alpine binary directory not provided.])
1933         AC_MSG_ERROR([* * * --with-pubcookie requires --with-web-bin=PATH.
1934         Please re-run configure with these options:
1935         --with-pubcookie --with-web-bin=/usr/local/libexec/alpine/bin])
1936     else
1937       AC_DEFINE([PUBCOOKIE],[1],[Include support for UW Pubcookie Web Authentication])
1938       WEB_PUBCOOKIE_LIB=../pubcookie/libauthgssproxy.a
1939       WEB_PUBCOOKIE_LINK=gssapi_proxy.l
1940     fi
1941   fi
1944 AC_SUBST([REGEX_BUILD])
1946 AC_SUBST([WEB_BUILD])
1947 AC_SUBST([WEB_BINDIR])
1948 AC_SUBST([WEB_PUBCOOKIE_BUILD])
1949 AC_SUBST([WEB_PUBCOOKIE_LIB])
1950 AC_SUBST([WEB_PUBCOOKIE_LINK])
1952 AC_SUBST([AM_CFLAGS])
1953 AC_SUBST([AM_LDFLAGS])
1955 AC_CONFIG_FILES([m4/Makefile po/Makefile.in $REGEX_MAKEFILE \
1956           pith/osdep/Makefile pith/charconv/Makefile pith/Makefile \
1957           pico/osdep/Makefile pico/Makefile \
1958           alpine/osdep/Makefile alpine/Makefile \
1959           web/src/Makefile web/src/pubcookie/Makefile \
1960           web/src/alpined.d/Makefile \
1961           Makefile])
1962 AC_OUTPUT