summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-09-21 00:18:11 +0000
committerLennart Poettering <lennart@poettering.net>2006-09-21 00:18:11 +0000
commit6014a9885431654d03484ae5ed0aded7268adfeb (patch)
treeb6a8c088aefaed1b5531a59fe92f168c78b32301
parent1411a742fadc5de81fde4677ec16aae41f9e3b72 (diff)
Fix build on NetBSD. Patch contributed by Daniel S. Haischt (closes #59)
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1328 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r--avahi-core/iface-pfroute.c6
-rw-r--r--configure.ac16
2 files changed, 19 insertions, 3 deletions
diff --git a/avahi-core/iface-pfroute.c b/avahi-core/iface-pfroute.c
index a67b826..035e267 100644
--- a/avahi-core/iface-pfroute.c
+++ b/avahi-core/iface-pfroute.c
@@ -318,7 +318,7 @@ void avahi_interface_monitor_free_osdep(AvahiInterfaceMonitor *m) {
}
}
-#ifndef HAVE_SYS_SYSCTL_H
+#if defined (SIOCGLIFNUM) && defined(HAVE_STRUCT_LIFCONF) /* Solaris 8 and later; Sol 7? */
/*
* I got this function from GNU zsbra
*/
@@ -428,7 +428,7 @@ static void if_add_interface(struct lifreq *lifreq, AvahiInterfaceMonitor *m, in
#endif
void avahi_interface_monitor_sync(AvahiInterfaceMonitor *m) {
-#ifdef HAVE_SYS_SYSCTL_H
+#ifndef HAVE_STRUCT_LIFCONF
size_t needed;
int mib[6];
char *buf, *lim, *next, count = 0;
@@ -473,7 +473,7 @@ void avahi_interface_monitor_sync(AvahiInterfaceMonitor *m) {
avahi_interface_monitor_check_relevant(m);
avahi_interface_monitor_update_rrs(m, 0);
avahi_log_info("Network interface enumeration completed.");
-#else
+#elif defined (SIOCGLIFNUM) && defined(HAVE_STRUCT_LIFCONF) /* Solaris 8 and later; Sol 7? */
int sockfd;
int ret;
int n;
diff --git a/configure.ac b/configure.ac
index ea6ef45..0acb7dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -104,11 +104,27 @@ AC_DEFINE([HAVE_SYS_SYSCTL_H],[],[Support for sys/sysctl.h])
, [], [
#include <sys/types.h>
#include <sys/socket.h>
+#include <sys/param.h>
])
AM_CONDITIONAL(HAVE_SYS_SYSCTL_H, [ test x"$HAVE_SYS_SYSCTL_H" = xyes ])
#
+# Check for lifconf struct; only present on Solaris
+#
+AC_MSG_CHECKING(for struct lifconf)
+AC_CACHE_VAL(avahi_cv_has_struct_lifconf,
+[AC_TRY_COMPILE(
+[#include <sys/socket.h>
+#include <net/if.h>
+],[sizeof (struct lifconf);],
+avahi_cv_has_struct_lifconf=yes,avahi_cv_has_struct_lifconf=no)])
+AC_MSG_RESULT($avahi_cv_has_struct_lifconf)
+if test $avahi_cv_has_struct_lifconf = yes; then
+ AC_DEFINE(HAVE_STRUCT_LIFCONF,1,[Define if there is a struct lifconf.])
+fi
+
+#
# Check for struct ip_mreqn
#
AC_MSG_CHECKING(for struct ip_mreqn)