1dnl Copyright (c) 1998-2016 Roland Rosenfeld <roland@spinnaker.de>
2dnl
3dnl This program is free software; you can redistribute it and/or modify
4dnl it under the terms of the GNU General Public License as published by
5dnl the Free Software Foundation; either version 2 of the License, or
6dnl (at your option) any later version.
7dnl
8dnl This program is distributed in the hope that it will be useful,
9dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
10dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11dnl GNU General Public License for more details.
12dnl
13dnl You should have received a copy of the GNU General Public License
14dnl along with this program; if not, write to the Free Software Foundation,
15dnl Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
16
17AC_INIT
18AC_CONFIG_SRCDIR([fetchaddr.c])
19
20AC_MSG_CHECKING(for prefix)
21if test x$prefix = xNONE; then
22	lbdb_cv_prefix=$ac_default_prefix
23else
24	lbdb_cv_prefix=$prefix
25fi
26AC_MSG_RESULT($lbdb_cv_prefix)
27
28AC_PROG_CC
29AC_PROG_INSTALL
30
31AC_CHECK_HEADER(getopt.h, AC_DEFINE(HAVE_GETOPT_H))
32
33AM_ICONV
34
35dnl SH=NONE
36
37dnl If we are runnin bash right now, BASH is set.
38unset BASH
39
40if test "x$SH" = x ; then
41	AC_PATH_PROG(BASH, bash, NONE)
42	if test ! "x$BASH" = xNONE ; then
43		if $BASH -posix -c true ; then
44			SH="$BASH -posix"
45		elif $BASH --posix -c true ; then
46			SH="$BASH --posix"
47		fi
48		echo "Using $SH".
49	fi
50fi
51
52if test "x$SH" = x ; then
53	AC_PATH_PROG(KSH, ksh, NONE)
54	if test ! "x$KSH" = xNONE ; then
55		SH="$KSH"
56		echo "Using $SH".
57	fi
58fi
59
60if test "x$SH" = x ; then
61	AC_PATH_PROG(BINSH, sh, NONE)
62	if test "x$BINSH" = xNONE; then
63		echo "ERROR: Can't find sh." >&2
64		exit 1
65	else
66		SH="$BINSH"
67	fi
68fi
69
70AC_SUBST(SH)
71
72AC_PATH_PROG(AWK, awk, NONE)
73AC_PATH_PROG(MAWK, mawk, NONE)
74AC_PATH_PROG(GAWK, gawk, NONE)
75AC_PATH_PROG(NAWK, nawk, NONE)
76
77if test "x$AWK" != "xNONE" ; then
78	AWK="$AWK"
79fi
80
81if test "x$NAWK" != "xNONE" ; then
82	AWK="$NAWK"
83fi
84
85if test "x$GAWK" != "xNONE" ; then
86	AWK="$GAWK"
87fi
88
89if test "x$MAWK" != "xNONE" ; then
90	AWK="$MAWK"
91fi
92
93AC_SUBST(AWK)
94
95AC_PATH_PROG(TAC, tac, NONE)
96if test "x$TAC" = "xNONE"; then
97	TACTARGET="tac"
98	AC_SUBST(TACTARGET)
99	TACAWK="tac.awk"
100	TAC="$libdir/tac"
101fi
102AC_SUBST(TAC)
103
104AC_ARG_ENABLE(lbdb_dotlock,
105	      AS_HELP_STRING ([--enable-lbdb-dotlock],
106		 	      [Force use of lbdb_dotlock program]),
107              [lbdb_cv_lbdb_dotlock="$enableval"])
108
109AC_PATH_PROG(DOTLOCK_OLD, mutt.dotlock, no)
110if test x$ac_cv_path_DOTLOCK_OLD = xno ; then
111	AC_PATH_PROG(DOTLOCK, mutt_dotlock, no)
112else
113	ac_cv_path_DOTLOCK=$ac_cv_path_DOTLOCK_OLD
114fi
115
116if test x$ac_cv_path_DOTLOCK = xno || test x$lbdb_cv_lbdb_dotlock = xyes
117then
118	DOTLOCK_TARGET="lbdb_dotlock"
119	AC_SUBST(DOTLOCK_TARGET)
120	DOTLOCK="$bindir"/lbdb_dotlock
121fi
122
123AC_SUBST(DOTLOCK)
124
125DOTLOCKBASE=`basename $DOTLOCK`
126AC_SUBST(DOTLOCKBASE)
127
128path_fetchaddr="$libdir/fetchaddr"
129AC_SUBST(path_fetchaddr)
130
131#
132# LBDB_ARG_WITH(FOO, foo, m_foo, [with foo support])
133#
134# several cases:
135# --with-foo        - search for foo in PATH. error if not found
136# --with-foo=/foo   - use /foo
137# --without-foo     - completely disable this
138# none of the above - search for foo in PATH. disable if not found
139#
140AC_DEFUN([LBDB_ARG_WITH], [
141    withval=""
142    AC_ARG_WITH($2,[AS_HELP_STRING([--with-$2],[$4])])
143    if test x$withval = xyes; then
144        AC_PATH_PROG($1, $2, "no")
145        if test x$$1 = xno; then
146	    AC_MSG_ERROR([$2 not in PATH])
147        else
148    	    MODULES="$MODULES $3"
149	    AC_SUBST($1)
150        fi
151    elif test x$withval = x; then
152        AC_PATH_PROG($1, $2, "no")
153        if test x$$1 != xno; then
154      	    MODULES="$MODULES $3"
155    	    AC_SUBST($1)
156        fi
157    elif test x$withval != xno; then
158        $1=$withval
159        MODULES="$MODULES $3"
160        AC_SUBST($1)
161    fi
162])
163
164MODULES="m_inmail m_passwd m_muttalias m_pine m_gnomecard m_bbdb m_wanderlust"
165
166LBDB_ARG_WITH(FINGER, finger, m_finger, [with finger support])
167LBDB_ARG_WITH(ABOOK, abook, m_abook, [with abook support])
168LBDB_ARG_WITH(GOOBOOK, goobook, m_goobook, [with goobook support])
169LBDB_ARG_WITH(ADDR_EMAIL, addr-email, m_addr_email, [with addressbook support])
170LBDB_ARG_WITH(YPCAT, ypcat, m_yppasswd, [with ypcat passwd support])
171LBDB_ARG_WITH(NISCAT, niscat, m_nispasswd, [with niscat passwd support])
172LBDB_ARG_WITH(GETENT, getent, m_getent, [with getent passwd support])
173LBDB_ARG_WITH(GPG, gpg, m_gpg, [with GnuPG support])
174LBDB_ARG_WITH(PGPK, pgpk, m_pgp5, [with PGP 5.* support])
175LBDB_ARG_WITH(PGP, pgp, m_pgp2, [with PGP 2.* support])
176LBDB_ARG_WITH(EVOLUTION_ADDRESSBOOK_EXPORT, evolution-addressbook-export,
177              m_evolution, [with Evolution support ('auto' searchs at runtime)])
178
179AC_PATH_PROG(PERL, perl, "no")
180if test "x$PERL" != xno ; then
181	# m_fido needs nodelist2lbdb, which needs perl
182	# m_palm needs palm_lsaddr, which needs perl
183	# m_ldap needs mutt_ldap_query which is written in perl
184	MODULES="$MODULES m_fido m_palm m_ldap"
185	AC_SUBST(PERL)
186fi
187
188# m_osx_addressbook requires xcode (10.3) or projectbuilder (<10.3)
189AC_PATH_PROG(XCODEBUILD, xcodebuild, "no")
190if test "x$XCODEBUILD" != xno; then
191	MODULES="$MODULES m_osx_addressbook"
192	AC_SUBST(XCODEBUILD)
193else
194	AC_PATH_PROG(PBXBUILD, pbxbuild, "no")
195	if test "x$PBXBUILD" != xno ; then
196		MODULES="$MODULES m_osx_addressbook"
197		AC_SUBST(PBXBUILD)
198	fi
199fi
200
201VFORMAT="no"
202AC_CHECK_HEADER([vf_iface.h], [
203  AC_CHECK_LIB([vformat], [vf_read_file], [
204    MODULES="$MODULES m_vcf"
205    VFORMAT="yes"
206  ])
207])
208AC_SUBST(VFORMAT)
209
210MODULES_SH=""
211for i in $MODULES ; do
212	MODULES_SH="$MODULES_SH $i.sh"
213done
214
215# some voodoo to replace ${prefix} in perl script (mutt_ldap_query.pl):
216SYSCONF_DIR=`test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${sysconfdir}"`
217AC_SUBST(SYSCONF_DIR)
218
219LBDB_VERSION=`sed -e 's/^.*(\(.*\)).*$/\1/;q' < debian/changelog`
220AC_SUBST(LBDB_VERSION)
221
222AC_SUBST(MODULES)
223AC_CONFIG_FILES([Makefile lbdbq.sh munge.awk lbdb-fetchaddr.sh \
224	lbdb-munge.sh lbdb_lib.sh nodelist2lbdb.pl palm_lsaddr.pl \
225	mutt_ldap_query.pl $MODULES_SH $TACAWK lbdb.spec lbdb.rc])
226AC_OUTPUT
227