Use auto-version machinery for building.
[u/mdw/catacomb] / configure.in
... / ...
CommitLineData
1dnl -*-m4-*-
2dnl
3dnl $Id$
4dnl
5dnl Autoconfiguration for Catacomb
6dnl
7dnl (c) 1999 Straylight/Edgeware
8dnl
9
10dnl ----- Licensing notice --------------------------------------------------
11dnl
12dnl This file is part of Catacomb.
13dnl
14dnl Catacomb is free software; you can redistribute it and/or modify
15dnl it under the terms of the GNU Library General Public License as
16dnl published by the Free Software Foundation; either version 2 of the
17dnl License, or (at your option) any later version.
18dnl
19dnl Catacomb is distributed in the hope that it will be useful,
20dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
21dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22dnl GNU Library General Public License for more details.
23dnl
24dnl You should have received a copy of the GNU Library General Public
25dnl License along with Catacomb; if not, write to the Free
26dnl Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
27dnl MA 02111-1307, USA.
28
29dnl --- Boring boilerplate ---
30
31mdw_AUTO_VERSION
32AC_INIT(catacomb, AUTO_VERSION, mdw@distorted.org.uk)
33AC_CONFIG_SRCDIR(blkc.h)
34AC_CONFIG_AUX_DIR(.)
35AM_CONFIG_HEADER(config.h)
36AM_INIT_AUTOMAKE(foreign)
37
38dnl --- Make sure I can compile and build libraries ---
39
40AC_PROG_CC
41AM_PROG_LIBTOOL
42AX_CFLAGS_WARN_ALL
43
44AC_PROG_YACC
45
46dnl --- Actually, I assume these exist anyway ---
47
48AC_CHECK_HEADERS(unistd.h)
49AC_HEADER_STDC
50
51dnl --- Check for various important system types ---
52
53AC_CHECK_TYPE(pid_t, int)
54AC_CHECK_TYPE(size_t, unsigned)
55AC_TYPE_UID_T
56AC_CHECK_TYPE(time_t, long)
57AC_CHECK_TYPE(ssize_t, int)
58
59dnl --- The maths library, for Maurer's test ---
60
61OLIBS=$LIBS
62AC_SEARCH_LIBS(log, m)
63AC_SEARCH_LIBS(sqrt, m)
64AC_SUBST([CATACOMB_LIBS], [$LIBS]) LIBS=$OLIBS
65
66dnl --- Functions used for noise-gathering ---
67
68AC_CHECK_FUNCS(setgroups)
69
70AC_CACHE_CHECK([whether the freewheel noise generator will work],
71[catacomb_cv_freewheel],
72[AC_TRY_LINK([
73#include <setjmp.h>
74#include <sys/time.h>
75],
76[struct itimerval itv = { { 0, 0 }, { 0, 5000 } };
77jmp_buf j;
78setitimer(ITIMER_REAL, &itv, 0);
79sigsetjmp(j, 1);],
80[catacomb_cv_freewheel=yes],
81[catacomb_cv_freewheel=no])])
82if test "$catacomb_cv_freewheel" = "yes"; then
83 AC_DEFINE([USE_FREEWHEEL], [1],
84 [Define if you want to use the freewheel noise generator.])
85fi
86
87dnl --- Support for the passphrase pixie ---
88
89OLIBS=$LIBS
90AC_SEARCH_LIBS(socket, socket)
91AC_SUBST([PIXIE_LIBS], [$LIBS]) LIBS=$OLIBS
92AC_CHECK_FUNCS(mlock)
93
94dnl --- Debugging things ---
95
96AC_ARG_ENABLE([mpw],
97 [AS_HELP_STRING([--enable-mpw],
98 [force small-width mp digits])],
99 [case "$enableval" in
100 y*|t*|short)
101 AC_DEFINE([FORCE_MPW_SHORT], [1],
102 [Define to force small-width mp digits.])
103 ;;
104 cussid)
105 AC_DEFINE([FORCE_MPW_CUSSID], [1],
106 [Define to force strange-width mp digits.])
107 ;;
108 esac])
109
110dnl --- Done ---
111
112PKG_CHECK_MODULES(mLib, mLib >= 2.0.4)
113CFLAGS="$CFLAGS $mLib_CFLAGS"
114LIBS="$LIBS $mLib_LIBS"
115AC_OUTPUT(Makefile tests/Makefile catacomb.pc qcc,
116 chmod 755 qcc)
117
118dnl ----- That's all, folks -------------------------------------------------