chiark / gitweb /
test-example: all-privkeys: Define, and indirect through, a variable
[secnet.git] / configure.ac
index 8f8fab3e4c76a46ddee9a01c1e6c066d19274834..674ed3642da6ef96a0e5cd27b171fef83af451fa 100644 (file)
@@ -25,7 +25,7 @@ AC_INIT(secnet,0.1.18+,secnet@chiark.greenend.org.uk)
 AC_CONFIG_SRCDIR(secnet.c)
 AC_CONFIG_HEADER(config.h)
 
-SUBDIRMK_SUBDIRS([test-example mtest stest])
+SUBDIRMK_SUBDIRS([test-example mtest stest base91s])
 
 AC_PREREQ(2.50)
 AC_REVISION($Id: configure.in,v 1.4 2002/09/09 22:05:02 steve Exp $)
@@ -40,11 +40,30 @@ if test "x$FINK" != x; then
   LDFLAGS="-L$finkdir/lib ${LDFLAGS}"
 fi
 
+# This is quite unpleasant.  It turns out that most header checking
+# macros call AC_INCLUDES_DEFAULT.  By default AC_INCLUDES_DEFAULT
+# implies AC_HEADER_STDC and a bunch of conditional includes.  But
+# these header checks are obsolete as the documentation for
+# AC_HEADER_STDC says.  Instead, define AC_INCLUDES_DEFAULT ourselves.
+# The list of headers below is the list from `(autoconf) Default
+# Includes' (filtered by hand for the modern ones rather than the
+# fallbacks).  We must include $1 because AC_INCLUDES_DEFAULT is
+# called with an argument giving the check-specific haders.
+m4_define([AC_INCLUDES_DEFAULT],[
+          # include <sys/types.h>
+          # include <sys/stat.h>
+          # include <stdlib.h>
+          # include <stddef.h>
+          # include <string.h>
+          # include <inttypes.h>
+          # include <stdint.h>
+          # include <unistd.h>
+$1
+])
+
 AC_PROG_MAKE_SET
 AC_PROG_CC
 AC_PROG_INSTALL
-AC_STDC_HEADERS
-AC_CHECK_HEADERS([stdint.h inttypes.h])
 AC_CHECK_HEADERS([net/if.h net/route.h])
 AC_CHECK_HEADERS([sys/socket.h])
 AC_CHECK_HEADERS([linux/if_tun.h], [], [], 
@@ -54,11 +73,6 @@ AC_CHECK_HEADERS([linux/if_tun.h], [], [],
 ])
 AC_CHECK_HEADERS([stropts.h sys/sockio.h net/if_tun.h])
 AC_C_BIGENDIAN
-AC_CHECK_SIZEOF(unsigned long long)
-AC_CHECK_SIZEOF(unsigned long)
-AC_CHECK_SIZEOF(unsigned int)
-AC_CHECK_SIZEOF(unsigned short)
-AC_CHECK_SIZEOF(unsigned char)
 AC_PROG_CC_NO_WRITEABLE_STRINGS(WRITESTRINGS)
 
 AC_ARG_ENABLE(hacky-parallel,
@@ -86,6 +100,8 @@ SECNET_C_GETFUNC(inet_aton,resolv)
 AC_CHECK_LIB(adns,adns_init)
 REQUIRE_HEADER([adns.h])
 
+AC_CHECK_FUNCS([fmemopen funopen])
+
 AC_MSG_NOTICE([Checking requirements for IPv6 support...])
 enable_ipv6=true
 m4_define(NO_IPV6,[enable_ipv6=false])
@@ -114,53 +130,6 @@ AH_BOTTOM([
 
 /* These used to be in config.h.bot, but are now in configure.in. */
 
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#else
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
-#else
-#if SIZEOF_UNSIGNED_LONG_LONG==8
-typedef unsigned long long uint64_t;
-typedef long long int64_t;
-#elif SIZEOF_UNSIGNED_LONG==8
-typedef unsigned long uint64_t;
-typedef long int64_t;
-#else
-#error I do not know what to use for a uint64_t.
-#endif
-
-/* Give us an unsigned 32-bit data type. */
-#if SIZEOF_UNSIGNED_LONG==4
-typedef unsigned long uint32_t;
-typedef long int32_t;
-#elif SIZEOF_UNSIGNED_INT==4
-typedef unsigned int uint32_t;
-typedef int int32_t;
-#else
-#error I do not know what to use for a uint32_t.
-#endif
-
-/* An unsigned 16-bit data type. */
-#if SIZEOF_UNSIGNED_INT==2
-typedef unsigned int uint16_t;
-typedef int int16_t;
-#elif SIZEOF_UNSIGNED_SHORT==2
-typedef unsigned short uint16_t;
-typedef short int16_t;
-#else
-#error I do not know what to use for a uint16_t.
-#endif
-
-/* An unsigned 8-bit data type */
-#if SIZEOF_UNSIGNED_CHAR==1
-typedef unsigned char uint8_t;
-#else
-#error I do not know what to use for a uint8_t.
-#endif
-#endif
-#endif
-
 #ifdef __GNUC__
 #define NORETURN(_x) void _x __attribute__ ((noreturn))
 #define FORMAT(_a,_b,_c) __attribute__ ((format (_a,_b,_c)))