summaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in71
1 files changed, 38 insertions, 33 deletions
diff --git a/configure.in b/configure.in
index 6d58e7c..2ddb7ab 100644
--- a/configure.in
+++ b/configure.in
@@ -50,7 +50,35 @@ else
fi
AC_CANONICAL_HOST
-AC_MSG_CHECKING([which OS configuration should we use])
+
+AC_PROG_CC
+if test -z "$GCC" ; then
+ AC_MSG_ERROR([This program requires the GNU C Compiler.])
+ fi
+AC_MSG_CHECKING([what CFLAGS should we use])
+if test "$ac_test_CFLAGS" != set ; then
+ 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"
+fi
+AC_MSG_RESULT($CFLAGS)
+
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+AC_CHECK_PROG(FLEX, flex, flex)
+AC_CHECK_PROG(BISON, bison, bison)
+AC_CHECK_PROGS(M4, gm4 m4, m4)
+if test -z "$FLEX" -o -z "$BISON" -o -z "$M4" ; then
+ AC_MSG_ERROR([Some tools required for building BIRD are missing.])
+ fi
+
if test -n "$with_sysconfig" -a "$with_sysconfig" != no ; then
if test -f $with_sysconfig ; then
sysdesc=$with_sysconfig
@@ -64,19 +92,24 @@ elif test -f sysconfig.h ; then
sysdesc=sysconfig
else
case "$ip:$host_os" in
- ipv4:linux*) case `uname -r` in
+ ipv4:linux*) BIRD_CHECK_LINUX_VERSION
+ case $bird_cv_sys_linux_version in
1.*|2.0.*) sysdesc=linux-20 ;;
*) sysdesc=linux-22 ;;
esac
;;
- ipv6:linux*) sysdesc=linux-v6
+ ipv6:linux*) BIRD_CHECK_LINUX_VERSION
+ case $bird_cv_sys_linux_version in
+ 1.*|2.0.*) AC_MSG_ERROR([This version of Linux doesn't support IPv6.]) ;;
+ *) sysdesc=linux-v6 ;;
+ esac
;;
- *) AC_MSG_RESULT(unknown)
- AC_MSG_ERROR([Cannot determine correct system configuration.])
+ *) AC_MSG_ERROR([Cannot determine correct system configuration. Please use --with-sysconfig to set it manually.])
;;
esac
sysdesc=$srcdir/sysdep/cf/$sysdesc.h
fi
+AC_MSG_CHECKING([which OS configuration should we use])
AC_MSG_RESULT($sysdesc)
if ! test -f $sysdesc ; then
AC_MSG_ERROR([The system configuration file is missing.])
@@ -102,34 +135,6 @@ for a in $protocols ; do
AC_MSG_RESULT(ok)
AC_SUBST(protocols)
-AC_PROG_CC
-if test -z "$GCC" ; then
- AC_MSG_ERROR([This program requires the GNU C Compiler.])
- fi
-AC_MSG_CHECKING([what CFLAGS should we use])
-if test "$ac_test_CFLAGS" != set ; then
- 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"
-fi
-AC_MSG_RESULT($CFLAGS)
-
-AC_PROG_CPP
-AC_PROG_INSTALL
-AC_PROG_RANLIB
-AC_CHECK_PROG(FLEX, flex, flex)
-AC_CHECK_PROG(BISON, bison, bison)
-AC_CHECK_PROGS(M4, gm4 m4, m4)
-if test -z "$FLEX" -o -z "$BISON" -o -z "$M4" ; then
- AC_MSG_ERROR([Some tools required for building BIRD are missing.])
- fi
-
case $sysdesc in
*/linux-22*|*/linux-v6*)
AC_CHECK_HEADER(linux/rtnetlink.h,,[AC_MSG_ERROR([Appropriate version of Linux kernel headers not found.])])