Hash utilities: maintain a hash state object, not a bundle of arguments.
[u/mdw/catacomb] / configure.in
1 dnl -*-m4-*-
2 dnl
3 dnl $Id$
4 dnl
5 dnl Autoconfiguration for Catacomb
6 dnl
7 dnl (c) 1999 Straylight/Edgeware
8 dnl
9
10 dnl ----- Licensing notice --------------------------------------------------
11 dnl
12 dnl This file is part of Catacomb.
13 dnl
14 dnl Catacomb is free software; you can redistribute it and/or modify
15 dnl it under the terms of the GNU Library General Public License as
16 dnl published by the Free Software Foundation; either version 2 of the
17 dnl License, or (at your option) any later version.
18 dnl
19 dnl Catacomb is distributed in the hope that it will be useful,
20 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
21 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 dnl GNU Library General Public License for more details.
23 dnl
24 dnl You should have received a copy of the GNU Library General Public
25 dnl License along with Catacomb; if not, write to the Free
26 dnl Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
27 dnl MA 02111-1307, USA.
28
29 dnl --- Boring boilerplate ---
30
31 mdw_AUTO_VERSION
32 AC_INIT(catacomb, AUTO_VERSION, mdw@distorted.org.uk)
33 AC_CONFIG_SRCDIR(blkc.h)
34 AC_CONFIG_AUX_DIR(.)
35 AM_CONFIG_HEADER(config.h)
36 AM_INIT_AUTOMAKE(foreign)
37
38 dnl --- Make sure I can compile and build libraries ---
39
40 AC_PROG_CC
41 AM_PROG_LIBTOOL
42 AX_CFLAGS_WARN_ALL
43
44 AC_PROG_YACC
45
46 dnl --- Actually, I assume these exist anyway ---
47
48 AC_CHECK_HEADERS(unistd.h)
49 AC_HEADER_STDC
50
51 dnl --- Check for various important system types ---
52
53 AC_CHECK_TYPE(pid_t, int)
54 AC_CHECK_TYPE(size_t, unsigned)
55 AC_TYPE_UID_T
56 AC_CHECK_TYPE(time_t, long)
57 AC_CHECK_TYPE(ssize_t, int)
58
59 dnl --- The maths library, for Maurer's test ---
60
61 OLIBS=$LIBS
62 AC_SEARCH_LIBS(log, m)
63 AC_SEARCH_LIBS(sqrt, m)
64 AC_SUBST([CATACOMB_LIBS], [$LIBS]) LIBS=$OLIBS
65
66 dnl --- Functions used for noise-gathering ---
67
68 AC_CHECK_FUNCS(setgroups)
69
70 AC_CACHE_CHECK([whether the freewheel noise generator will work],
71 [catacomb_cv_freewheel],
72 [AC_TRY_LINK([
73 #include <setjmp.h>
74 #include <sys/time.h>
75 ],
76 [struct itimerval itv = { { 0, 0 }, { 0, 5000 } };
77 jmp_buf j;
78 setitimer(ITIMER_REAL, &itv, 0);
79 sigsetjmp(j, 1);],
80 [catacomb_cv_freewheel=yes],
81 [catacomb_cv_freewheel=no])])
82 if test "$catacomb_cv_freewheel" = "yes"; then
83 AC_DEFINE([USE_FREEWHEEL], [1],
84 [Define if you want to use the freewheel noise generator.])
85 fi
86
87 dnl --- Support for the passphrase pixie ---
88
89 OLIBS=$LIBS
90 AC_SEARCH_LIBS(socket, socket)
91 AC_SUBST([PIXIE_LIBS], [$LIBS]) LIBS=$OLIBS
92 AC_CHECK_FUNCS(mlock)
93
94 dnl --- Debugging things ---
95
96 AC_ARG_ENABLE([mpw],
97 [AS_HELP_STRING([--enable-mpw],
98 [force small-width mp digits])],
99 [case "$enableval" in
100 y*|t*|short)
101 AC_DEFINE([FORCE_MPW_SHORT], [1],
102 [Define to force small-width mp digits.])
103 ;;
104 cussid)
105 AC_DEFINE([FORCE_MPW_CUSSID], [1],
106 [Define to force strange-width mp digits.])
107 ;;
108 esac])
109
110 dnl --- Done ---
111
112 PKG_CHECK_MODULES(mLib, mLib >= 2.0.4)
113 CFLAGS="$CFLAGS $mLib_CFLAGS"
114 LIBS="$LIBS $mLib_LIBS"
115 AC_OUTPUT(Makefile tests/Makefile catacomb.pc qcc,
116 chmod 755 qcc)
117
118 dnl ----- That's all, folks -------------------------------------------------