chiark / gitweb /
Build system overhaul.
[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
33 dnl--------------------------------------------------------------------------
34 dnl C programming environment.
35
36 ## Compiler.
37 AC_PROG_CC
38 AX_CFLAGS_WARN_ALL
39
40 ## Libraries.
41 OLIBS=$LIBS
42 AC_SEARCH_LIBS([floor], [m])
43 AC_SUBST([MATH_LIBS], [$LIBS])
44 LIBS=$OLIBS
45
46 AC_CHECK_LIB([cdb], [cdb_seek], [have_cdb=yes], [have_cdb=no])
47 AM_CONDITIONAL([HAVE_LIBCDB], [test $have_cdb = yes])
48
49 AC_CHECK_LIB([spamc], [message_filter], [have_spamc=yes], [have_spamc=no])
50 AM_CONDITIONAL([HAVE_LIBSPAMC], [test $have_spamc = yes])
51
52 ## Packages.
53 PKG_CHECK_MODULES([mLib], [mLib >= 2.0.4], [have_mLib=yes], [have_mLib=no])
54 AM_CONDITIONAL([HAVE_MLIB], [test $have_mLib = yes])
55
56 PKG_CHECK_MODULES([catacomb], [catacomb >= 2.1.1],
57                   [have_catacomb=yes], [have_catacomb=no])
58 AM_CONDITIONAL([HAVE_CATACOMB], [test $have_catacomb = yes])
59
60 dnl--------------------------------------------------------------------------
61 dnl Python, Perl and other scripting languages.
62
63 ## Python.
64 AM_PATH_PYTHON([2.4], [have_python=yes], [have_python=no])
65 AM_CONDITIONAL([HAVE_PYTHON], [test $have_python = yes])
66
67 AC_PYTHON_MODULE([cdb])
68 AM_CONDITIONAL([HAVE_PYMOD_CDB], [test $HAVE_PYMOD_CDB = yes])
69
70 ## Perl.
71 AC_ARG_VAR([PERL], [Path to your favourite Perl binary.])
72 AC_PATH_PROGS([PERL], [perl perl5], [false])
73 AC_PROG_PERL_VERSION([5.004], [have_perl=yes], [have_perl=no])
74 AM_CONDITIONAL([HAVE_PERL], [test $have_perl = yes])
75
76 AC_ARG_WITH(
77         [perlmoddir],
78         AS_HELP_STRING([--perlmoddir=DIR],
79                        [Install Perl modules here.]),
80         [perlmoddir=$withval],
81         [perlmoddir='${libdir}/site_perl'])
82 AC_SUBST([perlmoddir])
83
84 ## Tcl.
85 have_tcl=yes
86 AC_ARG_VAR([TCLSH], [Path to your favourite tclsh binary.])
87 AC_PATH_PROG([TCLSH], [tclsh], [false])
88
89 AC_MSG_CHECKING([Tcl version])
90 case "$TCLSH" in false) have_tcl=no ;; esac
91 case "$have_tcl" in
92   yes)
93     tclver=$(echo "puts \$tcl_version" | tclsh -)
94     tclver_hack=$(echo "$tclver" | sed 's/\.//')
95     if test "$tclver_hack" -ge 83; then
96       AC_MSG_RESULT([$tclver])
97     else
98       have_tcl=no
99       AC_MSG_RESULT([too old ($tclver)])
100     fi
101 esac
102 AM_CONDITIONAL([HAVE_TCLSH], [test $have_tcl = yes])
103
104 ## Bash.
105 case "$BASH" in /bin/sh) unset BASH ;; esac
106 AC_ARG_VAR([BASH], [Path to the Bourne Again Shell.])
107 AC_PATH_PROG([BASH], [bash], [false])
108 AC_MSG_CHECKING([bash version])
109 bashver=$("$BASH" -c 'echo $BASH_VERSION')
110 if "$BASH" 2>/dev/null -c '[[[ ${BASH_VERSINFO[0]} -ge 3 ]]]'; then
111   have_bash=yes
112   AC_MSG_RESULT([$bashver])
113 else
114   have_bash=no
115   AC_MSG_RESULT([too old ($bashver)])
116 fi
117 AM_CONDITIONAL([HAVE_BASH], [test $have_bash = yes])
118
119 dnl--------------------------------------------------------------------------
120 dnl Output.
121
122 AC_CONFIG_FILES([Makefile])
123 AC_OUTPUT
124
125 dnl ----- That's all, folks -------------------------------------------------