summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--INSTALL12
-rw-r--r--configure.ac21
-rw-r--r--sysdep/unix/io.c2
3 files changed, 14 insertions, 21 deletions
diff --git a/INSTALL b/INSTALL
index 38784fe6..a0b107ef 100644
--- a/INSTALL
+++ b/INSTALL
@@ -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;