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