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