0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-30 13:41:53 +00:00

Some autoconf cleanups

The patch allows to use autoreconf, replaces some long obsolete
constructs and does some other minor cleanups. Also, the file
configure.in is renamed to configure.ac, as the old name has been
deprecated for a long time.

Thanks to Ruben Kerkhof for the patchset.
This commit is contained in:
Ondrej Zajicek (work) 2017-03-14 13:46:51 +01:00
parent 33b6c292c3
commit 7a855725f2
4 changed files with 68 additions and 112 deletions

29
aclocal.m4 vendored
View File

@ -1,12 +1,17 @@
dnl ** Additional Autoconf tests for BIRD configure script dnl ** Additional Autoconf tests for BIRD configure script
dnl ** (c) 1999 Martin Mares <mj@ucw.cz> 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(char, 0)
AC_CHECK_SIZEOF(short int, 0) AC_CHECK_SIZEOF(short int, 0)
AC_CHECK_SIZEOF(int, 0) AC_CHECK_SIZEOF(int, 0)
AC_CHECK_SIZEOF(long int, 0) AC_CHECK_SIZEOF(long int, 0)
AC_CHECK_SIZEOF(long 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 for size in 1 2 4 8; do
bits=`expr $size "*" 8` bits=`expr $size "*" 8`
AC_MSG_CHECKING([for $bits-bit type]) 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 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_CACHE_CHECK([CPU endianity], bird_cv_c_endian,[
AC_TRY_RUN([ AC_TRY_RUN([
#include <stdio.h> #include <stdio.h>
@ -65,7 +70,7 @@ case $bird_cv_c_endian in
esac 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_CACHE_CHECK([usual alignment of structures],bird_cv_c_struct_align,[
AC_TRY_RUN([ AC_TRY_RUN([
#include <stdio.h> #include <stdio.h>
@ -87,10 +92,10 @@ AC_MSG_RESULT([test program failed])
AC_MSG_ERROR([Cannot determine structure alignment]) AC_MSG_ERROR([Cannot determine structure alignment])
],[bird_cv_c_struct_align=16]) ],[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_CACHE_CHECK([characteristics of time_t], bird_cv_type_time_t, [
AC_TRY_RUN([ AC_TRY_RUN([
#include <stdio.h> #include <stdio.h>
@ -113,15 +118,15 @@ int main(void)
],[bird_cv_type_time_t="32-bit signed"]) ],[bird_cv_type_time_t="32-bit signed"])
]) ])
case "$bird_cv_type_time_t" in 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 esac
case "$bird_cv_type_time_t" in case "$bird_cv_type_time_t" in
*unsigned*) ;; *unsigned*) ;;
*) AC_DEFINE(TIME_T_IS_SIGNED) ;; *) AC_DEFINE([TIME_T_IS_SIGNED], [1], [Define to 1 if time_t is signed]) ;;
esac 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_CACHE_CHECK([for struct ip_mreqn], bird_cv_struct_ip_mreqn,[
AC_TRY_COMPILE([#include <netinet/in.h> AC_TRY_COMPILE([#include <netinet/in.h>
],[struct ip_mreqn x; ],[struct ip_mreqn x;
@ -129,11 +134,11 @@ AC_TRY_COMPILE([#include <netinet/in.h>
],[bird_cv_struct_ip_mreqn=no ],[bird_cv_struct_ip_mreqn=no
])]) ])])
if test "$bird_cv_struct_ip_mreqn" = yes ; then 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 fi
]) ])
AC_DEFUN(BIRD_CHECK_PTHREADS, AC_DEFUN([BIRD_CHECK_PTHREADS],
[ [
bird_tmp_cflags="$CFLAGS" bird_tmp_cflags="$CFLAGS"
@ -145,7 +150,7 @@ AC_DEFUN(BIRD_CHECK_PTHREADS,
CFLAGS="$bird_tmp_cflags" CFLAGS="$bird_tmp_cflags"
]) ])
AC_DEFUN(BIRD_CHECK_GCC_OPTION, AC_DEFUN([BIRD_CHECK_GCC_OPTION],
[ [
bird_tmp_cflags="$CFLAGS" bird_tmp_cflags="$CFLAGS"
@ -156,7 +161,7 @@ AC_DEFUN(BIRD_CHECK_GCC_OPTION,
CFLAGS="$bird_tmp_cflags" CFLAGS="$bird_tmp_cflags"
]) ])
AC_DEFUN(BIRD_ADD_GCC_OPTION, AC_DEFUN([BIRD_ADD_GCC_OPTION],
[ [
if test "$$1" = yes ; then if test "$$1" = yes ; then
CFLAGS="$CFLAGS $2" CFLAGS="$CFLAGS $2"

View File

@ -2,8 +2,8 @@ dnl ** This is a configure script template for BIRD
dnl ** Process it with autoconf to get ./configure dnl ** Process it with autoconf to get ./configure
dnl ** (c) 1999--2000 Martin Mares <mj@ucw.cz> dnl ** (c) 1999--2000 Martin Mares <mj@ucw.cz>
AC_REVISION($Id$) AC_INIT
AC_INIT(conf/confbase.Y) AC_CONFIG_SRCDIR([conf/confbase.Y])
AC_CONFIG_AUX_DIR(tools) AC_CONFIG_AUX_DIR(tools)
AC_ARG_ENABLE(debug, [ --enable-debug enable internal debugging routines (default: disabled)],,enable_debug=no) 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 BIRD_CHECK_PTHREADS
if test "$bird_cv_lib_pthreads" = yes ; then 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" CFLAGS="$CFLAGS -pthread"
LDFLAGS="$LDFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread"
proto_bfd=bfd proto_bfd=bfd
@ -191,7 +191,7 @@ if ! test -f $sysdesc ; then
AC_MSG_ERROR([The system configuration file is missing.]) AC_MSG_ERROR([The system configuration file is missing.])
fi fi
sysname=`echo $sysdesc | sed 's/\.h$//'` 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]) AC_MSG_CHECKING([system-dependent directories])
sysdep_dirs="`sed <$sysdesc '/^Link: /!d;s/^Link: \(.*\)$/\1/' | tr '\012' ' '` lib" 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" with_protocols="$all_protocols"
fi 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]) AC_MSG_CHECKING([protocols])
protocols=`echo "$with_protocols" | sed 's/,/ /g'` protocols=`echo "$with_protocols" | sed 's/,/ /g'`
if test "$protocols" = no ; then protocols= ; fi if test "$protocols" = no ; then protocols= ; fi
@ -239,18 +248,32 @@ case $sysdesc in
;; ;;
esac esac
AC_CHECK_HEADER(syslog.h, [AC_DEFINE(HAVE_SYSLOG)]) 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)]) 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_MSG_CHECKING(whether 'struct sockaddr' has sa_len)
AC_TRY_COMPILE([#include <sys/types.h> AC_COMPILE_IFELSE([
AC_LANG_PROGRAM(
[[
#include <sys/types.h>
#include <sys/socket.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)], static struct sockaddr sa;
AC_MSG_RESULT(no)) 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_C_BIGENDIAN(
[AC_MSG_ERROR([Cannot determine CPU endianity.])]) [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_INTEGERS
BIRD_CHECK_STRUCT_ALIGN BIRD_CHECK_STRUCT_ALIGN
@ -258,7 +281,7 @@ BIRD_CHECK_TIME_T
BIRD_CHECK_STRUCT_IP_MREQN BIRD_CHECK_STRUCT_IP_MREQN
if test "$enable_debug" = yes ; then 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 if test "$enable_memcheck" = yes ; then
AC_CHECK_LIB(dmalloc, dmalloc_debug) AC_CHECK_LIB(dmalloc, dmalloc_debug)
if test $ac_cv_lib_dmalloc_dmalloc_debug != yes ; then 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_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_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_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_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),,$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 fi
AC_SUBST(CLIENT) AC_SUBST(CLIENT)
AC_SUBST(CLIENT_LIBS) AC_SUBST(CLIENT_LIBS)
@ -299,16 +322,14 @@ AC_OUTPUT
rm -f $objdir/sysdep/paths.h rm -f $objdir/sysdep/paths.h
cat >&AC_FD_MSG <<EOF AC_MSG_RESULT()
AC_MSG_RESULT([BIRD was configured with the following options:])
BIRD was configured with the following options: AC_MSG_RESULT([ Source directory: $srcdir])
Source directory: $srcdir AC_MSG_RESULT([ Object directory: $objdir])
Object directory: $objdir AC_MSG_RESULT([ Iproute2 directory: $iproutedir])
Iproute2 directory: $iproutedir AC_MSG_RESULT([ System configuration: $sysdesc])
System configuration: $sysdesc AC_MSG_RESULT([ Debugging: $enable_debug])
Debugging: $enable_debug AC_MSG_RESULT([ POSIX threads: $enable_pthreads])
POSIX threads: $enable_pthreads AC_MSG_RESULT([ Routing protocols: $protocols])
Routing protocols: $protocols AC_MSG_RESULT([ Client: $enable_client])
Client: $enable_client
EOF
rm -f $objdir/.*-stamp rm -f $objdir/.*-stamp

View File

@ -1,70 +0,0 @@
/*
* This file contains all system parameters automatically
* discovered by the configure script.
*/
/* System configuration file */
#define SYSCONF_INCLUDE ?
/* Include debugging code */
#undef DEBUGGING
/* 8-bit integer type */
#define INTEGER_8 ?
/* 16-bit integer type */
#define INTEGER_16 ?
/* 32-bit integer type */
#define INTEGER_32 ?
/* 64-bit integer type */
#define INTEGER_64 ?
/* CPU endianity */
#undef CPU_LITTLE_ENDIAN
#undef CPU_BIG_ENDIAN
/* Usual alignment for structures */
#define CPU_STRUCT_ALIGN 1
/* Characteristics of time_t */
#undef TIME_T_IS_64BIT
#undef TIME_T_IS_SIGNED
/* We have struct ip_mreqn in <netinet/in.h> */
#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 <syslog.h> and syslog() */
#undef HAVE_SYSLOG
/* We have <alloca.h> */
#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 ?

View File

@ -16,5 +16,5 @@ clean:
distclean: clean distclean: clean
$(MAKE) -C doc distclean $(MAKE) -C doc distclean
rm -rf $(objdir) autom4te.cache 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