-dnl -*-fundamental-*-
+dnl -*-m4-*-
dnl
-dnl $Id: configure.in,v 1.3 1999/10/24 10:20:36 mdw Exp $
+dnl $Id$
dnl
dnl Autoconfiguration for Catacomb
dnl
dnl it under the terms of the GNU Library General Public License as
dnl published by the Free Software Foundation; either version 2 of the
dnl License, or (at your option) any later version.
-dnl
+dnl
dnl Catacomb is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU Library General Public License for more details.
-dnl
+dnl
dnl You should have received a copy of the GNU Library General Public
dnl License along with Catacomb; if not, write to the Free
dnl Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
dnl MA 02111-1307, USA.
-dnl ----- Revision history --------------------------------------------------
-dnl
-dnl $Log: configure.in,v $
-dnl Revision 1.3 1999/10/24 10:20:36 mdw
-dnl Modify for standalone distribution. The library's getting far too large
-dnl to be sensibly embedded in other programs.
-dnl
-dnl Modify for standalone distribution. The library's getting far too large
-dnl to be sensibly embedded in other programs.
-dnl
-dnl Revision 1.2 1999/10/23 12:56:25 mdw
-dnl Version number change.
-dnl
-dnl Revision 1.1 1999/09/03 08:41:11 mdw
-dnl Initial import.
-dnl
-
dnl --- Boring boilerplate ---
AC_INIT(blkc.h)
-AM_INIT_AUTOMAKE(catacomb, 1.0.0pre2)
+mdw_INIT_LIB(catacomb, Catacomb, 2.1.0)
AM_CONFIG_HEADER(config.h)
dnl --- Make sure I can compile and build libraries ---
AC_PROG_CC
-AC_CHECK_LIB(mLib, ego)
-AC_CHECK_PROG(AR, ar, ar)
-AC_PROG_RANLIB
-mdw_MLIB
+AM_PROG_LIBTOOL
+mdw_GCC_FLAGS
AC_PROG_YACC
dnl --- Check for various important system types ---
AC_TYPE_PID_T
-
-dnl --- Tedious check for ssize_t ---
-dnl
-dnl glibc-2 puts ssize_t in a strange place.
-
-AC_CACHE_CHECK(for ssize_t, cat_cv_type_ssize_t,
-[AC_EGREP_CPP(ssize_t,
-[#include <sys/types.h>
-#if HAVE_UNISTD_H
-#inlcude <unistd.h>
-#endif
-#if STDC_HEADERS
-#include <stddef.h>
-#include <stdlib.h>
-#endif],
-cat_cv_type_ssize_t=yes, cat_cv_type_ssize_t=no)])
-if test $cat_cv_type_ssize_t = no; then
- AC_DEFINE(ssize_t, int)
-fi
+AC_TYPE_SIZE_T
AC_TYPE_UID_T
AC_CHECK_TYPE(time_t, long)
mdw_TYPE_SSIZE_T
-dnl --- Can I call `initgroups'? ---
-dnl
-dnl This is used in noise-gathering.
+dnl --- The maths library, for Maurer's test ---
+
+mdw_CHECK_MANYLIBS(log, m,,, [#include <math.h>], [2])
+mdw_CHECK_MANYLIBS(sqrt, m,,, [#include <math.h>], [2])
+
+dnl --- Functions used for noise-gathering ---
AC_CHECK_FUNCS(setgroups)
-AC_OUTPUT(Makefile)
+
+AC_CACHE_CHECK([whether the freewheel noise generator will work],
+[catacomb_cv_freewheel],
+[AC_TRY_LINK([
+#include <setjmp.h>
+#include <sys/time.h>
+],
+[struct itimerval itv = { { 0, 0 }, { 0, 5000 } };
+jmp_buf j;
+setitimer(ITIMER_REAL, &itv, 0);
+sigsetjmp(j, 1);],
+[catacomb_cv_freewheel=yes],
+[catacomb_cv_freewheel=no])])
+if test "$catacomb_cv_freewheel" = "yes"; then
+ AC_DEFINE([USE_FREEWHEEL], [1],
+ [Define if you want to use the freewheel noise generator.])
+fi
+
+dnl --- Support for the passphrase pixie ---
+
+mdw_CHECK_MANYLIBS(socket, socket)
+AC_CHECK_FUNCS(mlock)
+
+dnl --- Debugging things ---
+
+AC_ARG_ENABLE([mpw],
+ [AS_HELP_STRING([--enable-mpw],
+ [force small-width mp digits])],
+ [case "$enableval" in
+ y*|t*|short)
+ AC_DEFINE([FORCE_MPW_SHORT], [1],
+ [Define to force small-width mp digits.])
+ ;;
+ cussid)
+ AC_DEFINE([FORCE_MPW_CUSSID], [1],
+ [Define to force strange-width mp digits.])
+ ;;
+ esac])
+
dnl --- Done ---
-AC_OUTPUT(Makefile catacomb-config)
+mdw_MLIB(2.0.0)
+AC_OUTPUT(Makefile tests/Makefile catacomb-config:lib-config.in qcc,
+ chmod 755 qcc)
dnl ----- That's all, folks -------------------------------------------------