Conditional replacement of ETHERTYPE_IPV6.
authorMats Erik Andersson <debian@gisladisker.se>
Wed, 29 Sep 2010 20:46:20 +0000 (22:46 +0200)
committerEmil Mikulic <emikulic@gmail.com>
Mon, 9 May 2011 12:40:29 +0000 (22:40 +1000)
Autoconf test for <net/if_ether.h> needed for GNU/kfreebsd.
If possible, define ETHERTYPE_IPV6 as ETH_P_IPV6.

configure.ac
decode.c

index 1b68124..0a3759c 100644 (file)
@@ -179,5 +179,8 @@ AC_CHECK_HEADERS(sys/sockio.h)
 # Some OSes (Solaris) need sys/filio.h for FIONBIO
 AC_CHECK_HEADERS(sys/filio.h)
 
+# GNU/kfreebsd needs net/if_ether.h for ETH_P_IPV6
+AC_CHECK_HEADERS(net/if_ether.h)
+
 AC_CONFIG_FILES([Makefile darkstat.8])
 AC_OUTPUT
index c3bb176..925c50d 100644 (file)
--- a/decode.c
+++ b/decode.c
 #endif
 
 #ifndef ETHERTYPE_IPV6
-# include <net/if_ether.h>     /* ETH_P_IPV6 for GNU/kfreebsd */
-# define ETHERTYPE_IPV6 ETH_P_IPV6
+# ifdef HAVE_NET_IF_ETHER_H
+#  include <net/if_ether.h>    /* ETH_P_IPV6 for GNU/kfreebsd */
+# endif
+# ifdef ETH_P_IPV6
+#  define ETHERTYPE_IPV6 ETH_P_IPV6
+# endif
 #endif
 
 #include <net/if.h> /* struct ifreq */