-dnl -*-fundamental-*-
+dnl -*-m4-*-
dnl
-dnl $Id: configure.in,v 1.7 1999/11/13 01:55:48 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.7 1999/11/13 01:55:48 mdw
-dnl Don't be pedantic, because using `long long' as a multiprecision type
-dnl gets complained about.
-dnl
-dnl Revision 1.6 1999/11/11 18:56:14 mdw
-dnl Use `libtool' to generate a shared library.
-dnl
-dnl Revision 1.5 1999/11/11 17:47:34 mdw
-dnl Updates for new configuration system, and `mptypes' generator.
-dnl
-dnl Revision 1.4 1999/11/11 00:58:19 mdw
-dnl Use canned check for `ssize_t'.
-dnl
-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 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.0pre3)
+AM_INIT_AUTOMAKE(catacomb, 2.1.1)
AM_CONFIG_HEADER(config.h)
dnl --- Make sure I can compile and build libraries ---
AC_PROG_CC
-AC_CHECK_PROG(AR, ar, ar)
AM_PROG_LIBTOOL
-mdw_GCC_FLAGS(-Wall)
-mdw_MLIB(1.6.0)
+AX_CFLAGS_WARN_ALL
AC_PROG_YACC
dnl --- Check for various important system types ---
-AC_TYPE_PID_T
-AC_TYPE_SIZE_T
+AC_CHECK_TYPE(pid_t, int)
+AC_CHECK_TYPE(size_t, unsigned)
AC_TYPE_UID_T
AC_CHECK_TYPE(time_t, long)
-mdw_TYPE_SSIZE_T
+AC_CHECK_TYPE(ssize_t, int)
-dnl --- Can I call `initgroups'? ---
-dnl
-dnl This is used in noise-gathering.
+dnl --- The maths library, for Maurer's test ---
+
+OLIBS=$LIBS
+AC_SEARCH_LIBS(log, m)
+AC_SEARCH_LIBS(sqrt, m)
+AC_SUBST([CATACOMB_LIBS], [$LIBS]) LIBS=$OLIBS
+
+dnl --- Functions used for noise-gathering ---
AC_CHECK_FUNCS(setgroups)
+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 ---
+
+OLIBS=$LIBS
+AC_SEARCH_LIBS(socket, socket)
+AC_SUBST([PIXIE_LIBS], [$LIBS]) LIBS=$OLIBS
+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)
+PKG_CHECK_MODULES(mLib, mLib >= 2.0.4)
+CFLAGS="$CFLAGS $mLib_CFLAGS"
+LIBS="$LIBS $mLib_LIBS"
+AC_OUTPUT(Makefile tests/Makefile catacomb.pc qcc,
+ chmod 755 qcc)
dnl ----- That's all, folks -------------------------------------------------