dnl ** Additional Autoconf tests for BIRD configure script
dnl ** (c) 1999 Martin Mares <mj@ucw.cz>
-AC_DEFUN(BIRD_CHECK_INTEGERS,
+AC_DEFUN([BIRD_CHECK_INTEGERS],
[AC_CHECK_SIZEOF(char, 0)
AC_CHECK_SIZEOF(short int, 0)
AC_CHECK_SIZEOF(int, 0)
AC_CHECK_SIZEOF(long int, 0)
AC_CHECK_SIZEOF(long long int, 0)
+AH_TEMPLATE([INTEGER_8], [8-bit integer type])
+AH_TEMPLATE([INTEGER_16], [16-bit integer type])
+AH_TEMPLATE([INTEGER_32], [32-bit integer type])
+AH_TEMPLATE([INTEGER_64], [64-bit integer type])
+
for size in 1 2 4 8; do
bits=`expr $size "*" 8`
AC_MSG_CHECKING([for $bits-bit type])
])
dnl BIRD_CHECK_ENDIAN is unused and obsolete
-AC_DEFUN(BIRD_CHECK_ENDIAN,
+AC_DEFUN([BIRD_CHECK_ENDIAN],
[AC_CACHE_CHECK([CPU endianity], bird_cv_c_endian,[
AC_TRY_RUN([
#include <stdio.h>
esac
])
-AC_DEFUN(BIRD_CHECK_STRUCT_ALIGN,
+AC_DEFUN([BIRD_CHECK_STRUCT_ALIGN],
[AC_CACHE_CHECK([usual alignment of structures],bird_cv_c_struct_align,[
AC_TRY_RUN([
#include <stdio.h>
AC_MSG_ERROR([Cannot determine structure alignment])
],[bird_cv_c_struct_align=16])
])
-AC_DEFINE_UNQUOTED(CPU_STRUCT_ALIGN, $bird_cv_c_struct_align)
+AC_DEFINE_UNQUOTED([CPU_STRUCT_ALIGN], [$bird_cv_c_struct_align], [Usual alignment of structures])
])
-AC_DEFUN(BIRD_CHECK_TIME_T,
+AC_DEFUN([BIRD_CHECK_TIME_T],
[AC_CACHE_CHECK([characteristics of time_t], bird_cv_type_time_t, [
AC_TRY_RUN([
#include <stdio.h>
],[bird_cv_type_time_t="32-bit signed"])
])
case "$bird_cv_type_time_t" in
- *64-bit*) AC_DEFINE(TIME_T_IS_64BIT) ;;
+ *64-bit*) AC_DEFINE([TIME_T_IS_64BIT], [1], [Define to 1 if time_t is 64 bit]) ;;
esac
case "$bird_cv_type_time_t" in
*unsigned*) ;;
- *) AC_DEFINE(TIME_T_IS_SIGNED) ;;
+ *) AC_DEFINE([TIME_T_IS_SIGNED], [1], [Define to 1 if time_t is signed]) ;;
esac
])
-AC_DEFUN(BIRD_CHECK_STRUCT_IP_MREQN,
+AC_DEFUN([BIRD_CHECK_STRUCT_IP_MREQN],
[AC_CACHE_CHECK([for struct ip_mreqn], bird_cv_struct_ip_mreqn,[
AC_TRY_COMPILE([#include <netinet/in.h>
],[struct ip_mreqn x;
],[bird_cv_struct_ip_mreqn=no
])])
if test "$bird_cv_struct_ip_mreqn" = yes ; then
- AC_DEFINE(HAVE_STRUCT_IP_MREQN)
+ AC_DEFINE([HAVE_STRUCT_IP_MREQN], [1], [Define to 1 if you have struct ip_mreqn])
fi
])
-AC_DEFUN(BIRD_CHECK_PTHREADS,
+AC_DEFUN([BIRD_CHECK_PTHREADS],
[
bird_tmp_cflags="$CFLAGS"
CFLAGS="$bird_tmp_cflags"
])
-AC_DEFUN(BIRD_CHECK_GCC_OPTION,
+AC_DEFUN([BIRD_CHECK_GCC_OPTION],
[
bird_tmp_cflags="$CFLAGS"
CFLAGS="$bird_tmp_cflags"
])
-AC_DEFUN(BIRD_ADD_GCC_OPTION,
+AC_DEFUN([BIRD_ADD_GCC_OPTION],
[
if test "$$1" = yes ; then
CFLAGS="$CFLAGS $2"
dnl ** Process it with autoconf to get ./configure
dnl ** (c) 1999--2000 Martin Mares <mj@ucw.cz>
-AC_REVISION($Id$)
-AC_INIT(conf/confbase.Y)
+AC_INIT
+AC_CONFIG_SRCDIR([conf/confbase.Y])
AC_CONFIG_AUX_DIR(tools)
AC_ARG_ENABLE(debug, [ --enable-debug enable internal debugging routines (default: disabled)],,enable_debug=no)
BIRD_CHECK_PTHREADS
if test "$bird_cv_lib_pthreads" = yes ; then
- AC_DEFINE(USE_PTHREADS)
+ AC_DEFINE([USE_PTHREADS], [1], [Define to 1 if pthreads are enabled])
CFLAGS="$CFLAGS -pthread"
LDFLAGS="$LDFLAGS -pthread"
proto_bfd=bfd
AC_MSG_ERROR([The system configuration file is missing.])
fi
sysname=`echo $sysdesc | sed 's/\.h$//'`
-AC_DEFINE_UNQUOTED(SYSCONF_INCLUDE, "$sysdesc")
+AC_DEFINE_UNQUOTED([SYSCONF_INCLUDE], ["$sysdesc"], [Which sysdep header to include])
AC_MSG_CHECKING([system-dependent directories])
sysdep_dirs="`sed <$sysdesc '/^Link: /!d;s/^Link: \(.*\)$/\1/' | tr '\012' ' '` lib"
with_protocols="$all_protocols"
fi
+AH_TEMPLATE([CONFIG_BABEL], [Babel protocol])
+AH_TEMPLATE([CONFIG_BFD], [BFD protocol])
+AH_TEMPLATE([CONFIG_BGP], [BGP protocol])
+AH_TEMPLATE([CONFIG_OSPF], [OSPF protocol])
+AH_TEMPLATE([CONFIG_PIPE], [Pipe protocol])
+AH_TEMPLATE([CONFIG_RADV], [RAdv protocol])
+AH_TEMPLATE([CONFIG_RIP], [RIP protocol])
+AH_TEMPLATE([CONFIG_STATIC], [Static protocol])
+
AC_MSG_CHECKING([protocols])
protocols=`echo "$with_protocols" | sed 's/,/ /g'`
if test "$protocols" = no ; then protocols= ; fi
;;
esac
-AC_CHECK_HEADER(syslog.h, [AC_DEFINE(HAVE_SYSLOG)])
-AC_CHECK_HEADER(alloca.h, [AC_DEFINE(HAVE_ALLOCA_H)])
+AC_CHECK_HEADER(syslog.h, [AC_DEFINE([HAVE_SYSLOG], [1], [Define to 1 if you have the <syslog.h> header file])])
+AC_CHECK_HEADER(alloca.h, [AC_DEFINE([HAVE_ALLOCA_H], [1], [Define to 1 if you have the <alloca.h> header file])])
AC_MSG_CHECKING(whether 'struct sockaddr' has sa_len)
-AC_TRY_COMPILE([#include <sys/types.h>
- #include <sys/socket.h>
- ], [static struct sockaddr sa; int i = sizeof(sa.sa_len);],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_SIN_LEN,,sin_len)],
- AC_MSG_RESULT(no))
-
-AC_C_BIGENDIAN([AC_DEFINE(CPU_BIG_ENDIAN)], [AC_DEFINE(CPU_LITTLE_ENDIAN)],
- [AC_MSG_ERROR([Cannot determine CPU endianity.])])
+AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM(
+ [[
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ]],
+ [[
+ static struct sockaddr sa;
+ int i = sizeof(sa.sa_len);
+ ]]
+ )],
+ [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_SIN_LEN,,sin_len)
+ ],
+ [AC_MSG_RESULT(no)]
+)
+
+AC_C_BIGENDIAN(
+ [AC_DEFINE([CPU_BIG_ENDIAN], [1], [Define to 1 if cpu is big endian])],
+ [AC_DEFINE([CPU_LITTLE_ENDIAN], [1], [Define to 1 if cpu is little endian])],
+ [AC_MSG_ERROR([Cannot determine CPU endianity.])]
+)
BIRD_CHECK_INTEGERS
BIRD_CHECK_STRUCT_ALIGN
BIRD_CHECK_STRUCT_IP_MREQN
if test "$enable_debug" = yes ; then
- AC_DEFINE(DEBUGGING)
+ AC_DEFINE([DEBUGGING], [1], [Define to 1 if debugging is enabled])
if test "$enable_memcheck" = yes ; then
AC_CHECK_LIB(dmalloc, dmalloc_debug)
if test $ac_cv_lib_dmalloc_dmalloc_debug != yes ; then
AC_MSG_ERROR([[The client requires ncurses library. Either install the library or use --disable-client to compile without the client.]]))))))
AC_CHECK_LIB(readline, rl_callback_read_char, CLIENT_LIBS="-lreadline $CLIENT_LIBS $USE_TERMCAP_LIB",
AC_MSG_ERROR([[The client requires GNU readline library 2.1 or newer. Either install the library or use --disable-client to compile without the client.]]), $USE_TERMCAP_LIB)
- AC_CHECK_LIB(readline, rl_crlf, AC_DEFINE(HAVE_RL_CRLF),,$USE_TERMCAP_LIB)
- AC_CHECK_LIB(readline, rl_ding, AC_DEFINE(HAVE_RL_DING),,$USE_TERMCAP_LIB)
+ AC_CHECK_LIB(readline, rl_crlf, AC_DEFINE([HAVE_RL_CRLF], [1], [Define to 1 if you have rl_crlf()]),,$USE_TERMCAP_LIB)
+ AC_CHECK_LIB(readline, rl_ding, AC_DEFINE([HAVE_RL_DING], [1], [Define to 1 if you have rl_ding()]),,$USE_TERMCAP_LIB)
fi
AC_SUBST(CLIENT)
AC_SUBST(CLIENT_LIBS)
rm -f $objdir/sysdep/paths.h
-cat >&AC_FD_MSG <<EOF
-
-BIRD was configured with the following options:
- Source directory: $srcdir
- Object directory: $objdir
- Iproute2 directory: $iproutedir
- System configuration: $sysdesc
- Debugging: $enable_debug
- POSIX threads: $enable_pthreads
- Routing protocols: $protocols
- Client: $enable_client
-EOF
+AC_MSG_RESULT()
+AC_MSG_RESULT([BIRD was configured with the following options:])
+AC_MSG_RESULT([ Source directory: $srcdir])
+AC_MSG_RESULT([ Object directory: $objdir])
+AC_MSG_RESULT([ Iproute2 directory: $iproutedir])
+AC_MSG_RESULT([ System configuration: $sysdesc])
+AC_MSG_RESULT([ Debugging: $enable_debug])
+AC_MSG_RESULT([ POSIX threads: $enable_pthreads])
+AC_MSG_RESULT([ Routing protocols: $protocols])
+AC_MSG_RESULT([ Client: $enable_client])
rm -f $objdir/.*-stamp