diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/configure.in b/configure.in index a01ceba7..fd98570b 100644 --- a/configure.in +++ b/configure.in @@ -7,9 +7,11 @@ AC_INIT(conf/confbase.Y) AC_CONFIG_AUX_DIR(tools) AC_ARG_ENABLE(debug,[ --enable-debug enable internal debugging routines (default: enabled)],,enable_debug=yes) +AC_ARG_ENABLE(warnings,[ --enable-warnings enable extra warnings (default: disabled)],,enable_warnings=no) AC_ARG_ENABLE(client,[ --enable-client enable building of BIRD client (default: enabled)],,enable_client=yes) +AC_ARG_ENABLE(ipv6,[ --enable-ipv6 enable building of IPv6 version (default: disabled)],,enable_ipv6=no) AC_ARG_WITH(sysconfig,[ --with-sysconfig=FILE use specified BIRD system configuration file]) -AC_ARG_WITH(protocols,[ --with-protocols=LIST include specified routing protocols (default: rip,static,pipe,bgp,ospf)],,[with_protocols="rip,static,pipe,bgp,ospf"]) +AC_ARG_WITH(protocols,[ --with-protocols=LIST include specified routing protocols (default: all)],,[with_protocols="all"]) AC_ARG_WITH(sysinclude,[ --with-sysinclude=PATH search for system includes on specified place]) if test "$srcdir" = . ; then @@ -34,6 +36,18 @@ AC_SUBST(objdir) AC_SUBST(exedir) AC_SUBST(srcdir_rel_mf) +if test "$enable_ipv6" = yes ; then + ip=ipv6 + if test "$with_protocols" = all ; then + with_protocols=bgp,pipe,rip,static + fi +else + ip=ipv4 + if test "$with_protocols" = all ; then + with_protocols=bgp,ospf,pipe,rip,static + fi +fi + AC_CANONICAL_HOST AC_MSG_CHECKING([which OS configuration should we use]) if test -n "$with_sysconfig" -a "$with_sysconfig" != no ; then @@ -48,12 +62,14 @@ if test -n "$with_sysconfig" -a "$with_sysconfig" != no ; then elif test -f sysconfig.h ; then sysdesc=sysconfig else - case "$host_os" in - linux*) case `uname -r` in + case "$ip:$host_os" in + ipv4:linux*) case `uname -r` in 1.*|2.0.*) sysdesc=linux-20 ;; *) sysdesc=linux-22 ;; esac ;; + ipv6:linux*) sysdesc=linux-v6 + ;; *) AC_MSG_RESULT(unknown) AC_MSG_ERROR([Cannot determine correct system configuration.]) ;; @@ -91,7 +107,12 @@ if test -z "$GCC" ; then fi AC_MSG_CHECKING([what CFLAGS should we use]) if test "$ac_test_CFLAGS" != set ; then - CFLAGS="$CFLAGS -Wall -W -Wstrict-prototypes -Wno-unused -Wno-parentheses" + if test "$enable_warnings" = yes ; then + WARNS="" + else + WARNS=" -Wno-unused" + fi + CFLAGS="$CFLAGS -Wall -W -Wstrict-prototypes -Wno-parentheses$WARNS" fi if test "$with_sysinclude" != no -a -n "$with_sysinclude"; then CPPFLAGS="$CPPFLAGS -I$with_sysinclude" @@ -109,8 +130,9 @@ if test -z "$FLEX" -o -z "$BISON" -o -z "$M4" ; then fi case $sysdesc in - */linux-22*) AC_CHECK_HEADER(linux/rtnetlink.h,,[AC_MSG_ERROR([Appropriate version of Linux kernel headers not found.])]) - ;; + */linux-22*|*/linux-v6*) + AC_CHECK_HEADER(linux/rtnetlink.h,,[AC_MSG_ERROR([Appropriate version of Linux kernel headers not found.])]) + ;; esac AC_CHECK_HEADER(syslog.h, [AC_DEFINE(HAVE_SYSLOG)]) |