diff --git a/aclocal.m4 b/aclocal.m4 index 02c0f76b..f2775422 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,12 +1,17 @@ dnl ** Additional Autoconf tests for BIRD configure script dnl ** (c) 1999 Martin Mares -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]) @@ -30,7 +35,7 @@ for size in 1 2 4 8; do ]) 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 @@ -65,7 +70,7 @@ case $bird_cv_c_endian in 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 @@ -87,10 +92,10 @@ AC_MSG_RESULT([test program failed]) 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 @@ -113,15 +118,15 @@ int main(void) ],[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 ],[struct ip_mreqn x; @@ -129,11 +134,11 @@ AC_TRY_COMPILE([#include ],[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" @@ -145,7 +150,7 @@ AC_DEFUN(BIRD_CHECK_PTHREADS, CFLAGS="$bird_tmp_cflags" ]) -AC_DEFUN(BIRD_CHECK_GCC_OPTION, +AC_DEFUN([BIRD_CHECK_GCC_OPTION], [ bird_tmp_cflags="$CFLAGS" @@ -156,7 +161,7 @@ AC_DEFUN(BIRD_CHECK_GCC_OPTION, CFLAGS="$bird_tmp_cflags" ]) -AC_DEFUN(BIRD_ADD_GCC_OPTION, +AC_DEFUN([BIRD_ADD_GCC_OPTION], [ if test "$$1" = yes ; then CFLAGS="$CFLAGS $2" diff --git a/configure.in b/configure.ac similarity index 81% rename from configure.in rename to configure.ac index 57fa0079..c06677c5 100644 --- a/configure.in +++ b/configure.ac @@ -2,8 +2,8 @@ dnl ** This is a configure script template for BIRD dnl ** Process it with autoconf to get ./configure dnl ** (c) 1999--2000 Martin Mares -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) @@ -96,7 +96,7 @@ if test "$enable_pthreads" != no ; then 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 @@ -191,7 +191,7 @@ if ! test -f $sysdesc ; then 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" @@ -217,6 +217,15 @@ if test "$with_protocols" = all ; then 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 @@ -239,18 +248,32 @@ case $sysdesc in ;; 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 header file])]) +AC_CHECK_HEADER(alloca.h, [AC_DEFINE([HAVE_ALLOCA_H], [1], [Define to 1 if you have the header file])]) AC_MSG_CHECKING(whether 'struct sockaddr' has sa_len) -AC_TRY_COMPILE([#include - #include - ], [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_COMPILE_IFELSE([ + AC_LANG_PROGRAM( + [[ + #include + #include + ]], + [[ + 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_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 @@ -258,7 +281,7 @@ BIRD_CHECK_TIME_T 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 @@ -280,8 +303,8 @@ if test "$enable_client" = 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) @@ -299,16 +322,14 @@ AC_OUTPUT rm -f $objdir/sysdep/paths.h -cat >&AC_FD_MSG < */ -#undef HAVE_STRUCT_IP_MREQN - -/* Protocols compiled in */ -#undef CONFIG_STATIC -#undef CONFIG_RIP -#undef CONFIG_RADV -#undef CONFIG_BFD -#undef CONFIG_BGP -#undef CONFIG_OSPF -#undef CONFIG_PIPE -#undef CONFIG_BABEL - -/* We use multithreading */ -#undef USE_PTHREADS - -/* We have and syslog() */ -#undef HAVE_SYSLOG - -/* We have */ -#undef HAVE_ALLOCA_H - -/* Are we using dmalloc? */ -#undef HAVE_LIBDMALLOC - -/* Readline stuff */ -#undef HAVE_RL_CRLF -#undef HAVE_RL_DING - -/* struct sockaddr_in(6) */ -#undef HAVE_SIN_LEN - -/* We have stdint.h */ -#undef HAVE_STDINT_H - -#define CONFIG_PATH ? diff --git a/tools/Makefile-top.in b/tools/Makefile-top.in index cf59f7a1..fa02b5e6 100644 --- a/tools/Makefile-top.in +++ b/tools/Makefile-top.in @@ -16,5 +16,5 @@ clean: distclean: clean $(MAKE) -C doc distclean rm -rf $(objdir) autom4te.cache - rm -f config.* configure sysdep/autoconf.h sysdep/paths.h Makefile + rm -f config.* configure sysdep/autoconf.h.in sysdep/paths.h Makefile