summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2017-05-09 16:46:41 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2017-05-16 12:59:22 +0200
commite40542ef3a415d163a5ff5fee26c888fead79fa6 (patch)
treea99e6537f21ca774da8ae77bf37c19cbc3b1e2f6
parentc253ec3a9c45cfce3661f38bc2f5156d4bdd7969 (diff)
Minor autoconf cleanup and documentation update
-rw-r--r--INSTALL12
-rw-r--r--configure.ac20
-rw-r--r--sysdep/unix/io.c2
3 files changed, 13 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 2180bcdf..ca8d7690 100644
--- a/configure.ac
+++ b/configure.ac
@@ -241,25 +241,7 @@ case $sysdesc in
esac
AC_CHECK_HEADERS_ONCE([alloca.h syslog.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_CHECK_MEMBERS([struct sockaddr.sa_len], [], [], [#include <sys/socket.h>])
AC_C_BIGENDIAN(
[AC_DEFINE([CPU_BIG_ENDIAN], [1], [Define to 1 if cpu is big endian])],
diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c
index 8773f4c4..561d4dea 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;