Browse Source

build: Fix build on MacOSX 10.8 (Mountain Lion)

Newer MacOSX versions have support for both IPv6 advanced socket API
RFCs (2292 and 3542) switchable in compile time, but neither of these
is default for some strange reason. RFC3542 will be default in future,
but for now we have to declare that we want to use the RFC3542 API
before including <netinet/in.h>.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Hasso Tepper 6 years ago
parent
commit
ea05767770
2 changed files with 7 additions and 0 deletions
  1. 3 0
      configure.ac
  2. 4 0
      lib/zebra.h

+ 3 - 0
configure.ac

@@ -472,6 +472,9 @@ m4_define([QUAGGA_INCLUDES],
 #if HAVE_SYS_SOCKET_H
 # include <sys/socket.h>
 #endif
+#ifdef __APPLE__
+# define __APPLE_USE_RFC_3542
+#endif
 #if HAVE_NETINET_IN_H
 # include <netinet/in.h>
 #endif

+ 4 - 0
lib/zebra.h

@@ -142,6 +142,10 @@ typedef int socklen_t;
 #include <sys/sockio.h>
 #endif /* HAVE_SYS_SOCKIO_H */
 
+#ifdef __APPLE__
+#define __APPLE_USE_RFC_3542
+#endif
+
 #ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>
 #endif /* HAVE_NETINET_IN_H */