aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--GNUmakefile1
-rw-r--r--mdns.c61
2 files changed, 42 insertions, 20 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 76ff4e2..5289274 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -28,6 +28,7 @@ endef
ifeq ($(HAVE_GTK),yes)
pkgs := gtk+-x11-2.0
ifeq ($(HAVE_AVAHI),yes)
+ CFLAGS += -DHAVE_AVAHI=1
pkgs += avahi-glib avahi-client
endif
$(GTK_TARGETS) : CFLAGS += $(shell pkg-config --cflags $(pkgs)) -Wno-strict-prototypes
diff --git a/mdns.c b/mdns.c
index 19e44ca..9e27006 100644
--- a/mdns.c
+++ b/mdns.c
@@ -3,18 +3,21 @@
#include <unistd.h>
#include <string.h>
-#include <glib.h>
-
-#include <avahi-client/client.h>
-#include <avahi-client/lookup.h>
-#include <avahi-common/error.h>
-#include <avahi-common/timeval.h>
-#include <avahi-glib/glib-watch.h>
-#include <avahi-glib/glib-malloc.h>
+#ifdef HAVE_AVAHI
+# include <glib.h>
+# include <avahi-client/client.h>
+# include <avahi-client/lookup.h>
+# include <avahi-common/error.h>
+# include <avahi-common/timeval.h>
+# include <avahi-glib/glib-watch.h>
+# include <avahi-glib/glib-malloc.h>
+#endif
#include "list.h"
#include "mdns.h"
+#ifdef HAVE_AVAHI
+
/* ---------------------------------------------------------------------- */
static const char *revents[] = {
@@ -138,18 +141,6 @@ client_callback(AvahiClient *client, AvahiClientState state, void *userdata)
/* ---------------------------------------------------------------------- */
-void mdns_fini(void)
-{
- if (client) {
- avahi_client_free(client);
- client = NULL;
- }
- if (glib_poll) {
- avahi_glib_poll_free(glib_poll);
- glib_poll = NULL;
- }
-}
-
int mdns_init(void)
{
int error;
@@ -185,3 +176,33 @@ int mdns_browse(const char *service, const char *domain)
}
return 0;
}
+
+void mdns_fini(void)
+{
+ if (client) {
+ avahi_client_free(client);
+ client = NULL;
+ }
+ if (glib_poll) {
+ avahi_glib_poll_free(glib_poll);
+ glib_poll = NULL;
+ }
+}
+
+#else
+
+int mdns_init(void)
+{
+ return -1;
+}
+
+int mdns_browse(const char *service, const char *domain)
+{
+ return -1;
+}
+
+void mdns_fini(void)
+{
+}
+
+#endif