aef91e05efce02428ac4e9d6bbbde778d363cbce
[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 AC_INIT(blkc.h)
32 mdw_INIT_LIB(catacomb, Catacomb, 2.1.0)
33 AM_CONFIG_HEADER(config.h)
34
35 dnl --- Make sure I can compile and build libraries ---
36
37 AC_PROG_CC
38 AM_PROG_LIBTOOL
39 mdw_GCC_FLAGS
40
41 AC_PROG_YACC
42
43 dnl --- Actually, I assume these exist anyway ---
44
45 AC_CHECK_HEADERS(unistd.h)
46 AC_HEADER_STDC
47
48 dnl --- Check for various important system types ---
49
50 AC_TYPE_PID_T
51 AC_TYPE_SIZE_T
52 AC_TYPE_UID_T
53 AC_CHECK_TYPE(time_t, long)
54 mdw_TYPE_SSIZE_T
55
56 dnl --- The maths library, for Maurer's test ---
57
58 mdw_CHECK_MANYLIBS(log, m,,, [#include <math.h>], [2])
59 mdw_CHECK_MANYLIBS(sqrt, m,,, [#include <math.h>], [2])
60
61 dnl --- Functions used for noise-gathering ---
62
63 AC_CHECK_FUNCS(setgroups)
64
65 AC_CACHE_CHECK([whether the freewheel noise generator will work],
66 [catacomb_cv_freewheel],
67 [AC_TRY_LINK([
68 #include <setjmp.h>
69 #include <sys/time.h>
70 ],
71 [struct itimerval itv = { { 0, 0 }, { 0, 5000 } };
72 jmp_buf j;
73 setitimer(ITIMER_REAL, &itv, 0);
74 sigsetjmp(j, 1);],
75 [catacomb_cv_freewheel=yes],
76 [catacomb_cv_freewheel=no])])
77 if test "$catacomb_cv_freewheel" = "yes"; then
78 AC_DEFINE([USE_FREEWHEEL], [1],
79 [Define if you want to use the freewheel noise generator.])
80 fi
81
82 dnl --- Support for the passphrase pixie ---
83
84 mdw_CHECK_MANYLIBS(socket, socket)
85 AC_CHECK_FUNCS(mlock)
86
87 dnl --- Debugging things ---
88
89 AC_ARG_ENABLE([mpw],
90 [AS_HELP_STRING([--enable-mpw],
91 [force small-width mp digits])],
92 [case "$enableval" in
93 y*|t*|short)
94 AC_DEFINE([FORCE_MPW_SHORT], [1],
95 [Define to force small-width mp digits.])
96 ;;
97 cussid)
98 AC_DEFINE([FORCE_MPW_CUSSID], [1],
99 [Define to force strange-width mp digits.])
100 ;;
101 esac])
102
103 dnl --- Done ---
104
105 mdw_MLIB(2.0.0)
106 AC_OUTPUT(Makefile tests/Makefile catacomb-config:lib-config.in qcc,
107 chmod 755 qcc)
108
109 dnl ----- That's all, folks -------------------------------------------------