Import buf stuff from tripe.
[u/mdw/catacomb] / configure.in
1 dnl -*-fundamental-*-
2 dnl
3 dnl $Id: configure.in,v 1.25 2003/10/11 21:02:33 mdw Exp $
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 ----- Revision history --------------------------------------------------
30 dnl
31 dnl $Log: configure.in,v $
32 dnl Revision 1.25 2003/10/11 21:02:33 mdw
33 dnl Import buf stuff from tripe.
34 dnl
35 dnl Revision 1.24 2003/05/16 00:30:28 mdw
36 dnl Version bump.
37 dnl
38 dnl Revision 1.23 2001/03/04 13:09:40 mdw
39 dnl Mark dependency on mLib 2.0.0pre4 now.
40 dnl
41 dnl Revision 1.21 2000/10/08 12:01:28 mdw
42 dnl Reinstate the `-pedantic' option.
43 dnl
44 dnl Revision 1.20 2000/08/15 21:45:25 mdw
45 dnl New library configuration stuff from `common'.
46 dnl
47 dnl Revision 1.13 2000/06/17 13:51:03 mdw
48 dnl Whoops. Too eager with the mLib version.
49 dnl
50 dnl Revision 1.12 2000/06/17 12:57:47 mdw
51 dnl New free counter noise generator, for use if /dev/random is
52 dnl unavailable.
53 dnl
54 dnl Revision 1.11 2000/06/17 10:51:23 mdw
55 dnl Version number changes. Find maths library for Maurer's test.
56 dnl
57 dnl Revision 1.10 1999/12/22 16:03:31 mdw
58 dnl New mLib version. Find socket functions for pixie.
59 dnl
60 dnl Revision 1.7 1999/11/13 01:55:48 mdw
61 dnl Don't be pedantic, because using `long long' as a multiprecision type
62 dnl gets complained about.
63 dnl
64 dnl Revision 1.6 1999/11/11 18:56:14 mdw
65 dnl Use `libtool' to generate a shared library.
66 dnl
67 dnl Revision 1.5 1999/11/11 17:47:34 mdw
68 dnl Updates for new configuration system, and `mptypes' generator.
69 dnl
70 dnl Revision 1.4 1999/11/11 00:58:19 mdw
71 dnl Use canned check for `ssize_t'.
72 dnl
73 dnl Revision 1.3 1999/10/24 10:20:36 mdw
74 dnl Modify for standalone distribution. The library's getting far too large
75 dnl to be sensibly embedded in other programs.
76 dnl
77 dnl Revision 1.1 1999/09/03 08:41:11 mdw
78 dnl Initial import.
79 dnl
80
81 dnl --- Boring boilerplate ---
82
83 AC_INIT(blkc.h)
84 mdw_INIT_LIB(catacomb, Catacomb, 2.0.1)
85 AM_CONFIG_HEADER(config.h)
86
87 dnl --- Make sure I can compile and build libraries ---
88
89 AC_PROG_CC
90 AM_PROG_LIBTOOL
91 mdw_GCC_FLAGS
92
93 AC_PROG_YACC
94
95 dnl --- Actually, I assume these exist anyway ---
96
97 AC_CHECK_HEADERS(unistd.h)
98 AC_HEADER_STDC
99
100 dnl --- Check for various important system types ---
101
102 AC_TYPE_PID_T
103 AC_TYPE_SIZE_T
104 AC_TYPE_UID_T
105 AC_CHECK_TYPE(time_t, long)
106 mdw_TYPE_SSIZE_T
107
108 dnl --- The maths library, for Maurer's test ---
109
110 mdw_CHECK_MANYLIBS(log, m,,, [#include <math.h>], [2])
111 mdw_CHECK_MANYLIBS(sqrt, m,,, [#include <math.h>], [2])
112
113 dnl --- Functions used for noise-gathering ---
114
115 AC_CHECK_FUNCS(setgroups)
116
117 AC_CACHE_CHECK([whether the freewheel noise generator will work],
118 [catacomb_cv_freewheel],
119 [AC_TRY_LINK([
120 #include <setjmp.h>
121 #include <sys/time.h>
122 ],
123 [struct itimerval itv = { { 0, 0 }, { 0, 5000 } };
124 jmp_buf j;
125 setitimer(ITIMER_REAL, &itv, 0);
126 sigsetjmp(j, 1);],
127 [catacomb_cv_freewheel=yes],
128 [catacomb_cv_freewheel=no])])
129 if test "$catacomb_cv_freewheel" = "yes"; then
130 AC_DEFINE([USE_FREEWHEEL])
131 fi
132
133 dnl --- Support for the passphrase pixie ---
134
135 mdw_CHECK_MANYLIBS(socket, socket)
136 AC_CHECK_FUNCS(mlock)
137
138 dnl --- Done ---
139
140 mdw_MLIB(2.0.0)
141 AC_OUTPUT(Makefile tests/Makefile catacomb-config:lib-config.in qcc,
142 chmod 755 qcc)
143
144 dnl ----- That's all, folks -------------------------------------------------