| 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 ------------------------------------------------- |