diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2017-05-09 17:37:38 +0200 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2017-05-09 17:37:38 +0200 |
commit | fd1f355b7b24f354f7d57f127911b4fd98354b34 (patch) | |
tree | df857122e33422c4e72057b4a301f9cec61363bd | |
parent | 525a88d87930d01d4301e2723dda3dca208cd3d4 (diff) | |
parent | 71652572e35bfeea2f346b7c700a3050bf27e466 (diff) |
Merge branch 'master' into int-new
-rw-r--r-- | INSTALL | 12 | ||||
-rw-r--r-- | configure.ac | 21 | ||||
-rw-r--r-- | sysdep/unix/io.c | 2 |
3 files changed, 14 insertions, 21 deletions
@@ -9,13 +9,23 @@ Default location for configuration file is /usr/local/etc/bird.conf and for control socket is /usr/local/var/run/bird.ctl . You can change that by --sysconfdir and --localstatedir configure options. +To compile current development BIRD source code from Git repository, you +also need Git (to download the source code) and Autoconf (to generate +the configure script and associated files using 'autoreconf' tool): + +$ git clone git://git.nic.cz/bird.git +$ cd bird +$ autoreconf + +Then continue as in usual installation above. + Requirements ============ For compiling BIRD you need these programs and libraries: - - GNU C Compiler + - GNU C Compiler (or LLVM Clang) - GNU Make - GNU Bison - GNU M4 diff --git a/configure.ac b/configure.ac index 52bca085..de612ec2 100644 --- a/configure.ac +++ b/configure.ac @@ -218,28 +218,11 @@ case $sysdesc in esac AC_CHECK_HEADERS_ONCE([alloca.h syslog.h]) +AC_CHECK_MEMBERS([struct sockaddr.sa_len], [], [], [#include <sys/socket.h>]) + AC_CHECK_HEADER([linux/lwtunnel.h], [AC_DEFINE([HAVE_LWTUNNEL], [1], [Define to 1 if you have the <linux/lwtunnel.h> header file.])]) AC_CHECK_MEMBERS([struct rtvia.rtvia_family], [AC_DEFINE([HAVE_STRUCT_RTVIA], [1], [Define to 1 if you have rtvia structure.])],,[#include <linux/rtnetlink.h>]) -AC_MSG_CHECKING(whether 'struct sockaddr' has sa_len) -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])], diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index 6722fc69..d1246ea5 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -516,7 +516,7 @@ static inline void sockaddr_fill4(struct sockaddr_in *sa, ip_addr a, uint port) { memset(sa, 0, sizeof(struct sockaddr_in)); -#ifdef HAVE_SIN_LEN +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN sa->sin_len = sizeof(struct sockaddr_in); #endif sa->sin_family = AF_INET; |