chiark / gitweb /
hush: New handy program.
[misc] / configure.ac
1 dnl -*-autoconf-*-
2 dnl
3 dnl Configuration script for nsict-utils
4 dnl
5 dnl (c) 2008 Mark Wooding
6 dnl
7
8 dnl ----- Licensing notice --------------------------------------------------
9 dnl
10 dnl This program is free software; you can redistribute it and/or modify
11 dnl it under the terms of the GNU General Public License as published by
12 dnl the Free Software Foundation; either version 2 of the License, or
13 dnl (at your option) any later version.
14 dnl
15 dnl This program is distributed in the hope that it will be useful,
16 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
17 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 dnl GNU General Public License for more details.
19 dnl
20 dnl You should have received a copy of the GNU General Public License
21 dnl along with this program; if not, write to the Free Software Foundation,
22 dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23
24 dnl--------------------------------------------------------------------------
25 dnl Initialization.
26
27 mdw_AUTO_VERSION
28 AC_INIT([nsict-utils], AUTO_VERSION, [mdw@distorted.org.uk])
29 AC_CONFIG_SRCDIR([shadowfix.in])
30 AC_CONFIG_AUX_DIR([config])
31 AM_INIT_AUTOMAKE([foreign])
32 mdw_SILENT_RULES
33
34 AC_ARG_WITH([logdir],
35         AS_HELP_STRING([--with-logdir=DIR],
36                        [Write log files here.]),
37         [logdir=$withval],
38         [logdir=/var/log
39          for i in /var/log /var/adm; do
40            if test -d $i; then logdir=$i; break; fi
41          done])
42 AC_SUBST(logdir)
43
44 AC_CANONICAL_HOST
45
46 dnl--------------------------------------------------------------------------
47 dnl C programming environment.
48
49 ## Compiler.
50 AC_PROG_CC
51 AX_CFLAGS_WARN_ALL
52
53 ## Libraries.
54 OLIBS=$LIBS
55 AC_SEARCH_LIBS([floor], [m])
56 AC_SUBST([MATH_LIBS], [$LIBS])
57 LIBS=$OLIBS
58
59 AC_CHECK_LIB([cdb], [cdb_seek], [have_cdb=yes], [have_cdb=no])
60 AM_CONDITIONAL([HAVE_LIBCDB], [test $have_cdb = yes])
61
62 AC_CHECK_LIB([spamc], [message_filter], [have_spamc=yes], [have_spamc=no])
63 AM_CONDITIONAL([HAVE_LIBSPAMC], [test $have_spamc = yes])
64
65 ## Packages.
66 PKG_CHECK_MODULES([mLib], [mLib >= 2.0.4], [have_mLib=yes], [have_mLib=no])
67 AM_CONDITIONAL([HAVE_MLIB], [test $have_mLib = yes])
68
69 PKG_CHECK_MODULES([catacomb], [catacomb >= 2.1.1],
70                   [have_catacomb=yes], [have_catacomb=no])
71 AM_CONDITIONAL([HAVE_CATACOMB], [test $have_catacomb = yes])
72
73 ## Functions.
74 AC_CHECK_FUNC([prlimit], [have_prlimit=yes], [have_prlimit=no])
75 AM_CONDITIONAL([HAVE_PRLIMIT], [test $have_prlimit = yes])
76
77 ## Processor type.
78 case "$host_cpu" in i?86) x86=yes;; *) x86=no;; esac
79 AM_CONDITIONAL([X86], [test $x86 = yes -a $GCC = yes])
80
81 dnl--------------------------------------------------------------------------
82 dnl Python, Perl and other scripting languages.
83
84 ## Python.
85 AM_PATH_PYTHON([2.4], [have_python=yes], [have_python=no])
86 AM_CONDITIONAL([HAVE_PYTHON], [test $have_python = yes])
87
88 AC_PYTHON_MODULE([cdb])
89 AM_CONDITIONAL([HAVE_PYMOD_CDB], [test $HAVE_PYMOD_CDB = yes])
90
91 ## Perl.
92 AC_ARG_VAR([PERL], [Path to your favourite Perl binary.])
93 AC_PATH_PROGS([PERL], [perl perl5], [false])
94 AX_PROG_PERL_VERSION([5.004], [have_perl=yes], [have_perl=no])
95 AM_CONDITIONAL([HAVE_PERL], [test $have_perl = yes])
96
97 AC_ARG_WITH([perlmoddir],
98         AS_HELP_STRING([--with-perlmoddir=DIR],
99                        [Install Perl modules here.]),
100         [perlmoddir=$withval],
101         [perlmoddir='${libdir}/site_perl'])
102 AC_SUBST([perlmoddir])
103
104 ## Tcl.
105 have_tcl=yes
106 AC_ARG_VAR([TCLSH], [Path to your favourite tclsh binary.])
107 AC_PATH_PROG([TCLSH], [tclsh], [false])
108
109 AC_MSG_CHECKING([Tcl version])
110 case "$TCLSH" in false) have_tcl=no ;; esac
111 case "$have_tcl" in
112   yes)
113     tclver=$(echo "puts \$tcl_version" | tclsh -)
114     tclver_hack=$(echo "$tclver" | sed 's/\.//')
115     if test "$tclver_hack" -ge 83; then
116       AC_MSG_RESULT([$tclver])
117     else
118       have_tcl=no
119       AC_MSG_RESULT([too old ($tclver)])
120     fi
121 esac
122 AM_CONDITIONAL([HAVE_TCLSH], [test $have_tcl = yes])
123
124 ## Bash.
125 case "$BASH" in /bin/sh) unset BASH ;; esac
126 AC_ARG_VAR([BASH], [Path to the Bourne Again Shell.])
127 AC_PATH_PROG([BASH], [bash], [false])
128 AC_MSG_CHECKING([bash version])
129 bashver=$("$BASH" -c 'echo $BASH_VERSION')
130 if "$BASH" 2>/dev/null -c '[[[ ${BASH_VERSINFO[0]} -ge 3 ]]]'; then
131   have_bash=yes
132   AC_MSG_RESULT([$bashver])
133 else
134   have_bash=no
135   AC_MSG_RESULT([too old ($bashver)])
136 fi
137 AM_CONDITIONAL([HAVE_BASH], [test $have_bash = yes])
138
139 dnl--------------------------------------------------------------------------
140 dnl Output.
141
142 AC_CONFIG_FILES([Makefile])
143 AC_OUTPUT
144
145 dnl ----- That's all, folks -------------------------------------------------