improved handling of systems without libipq.h
authorAndrew Tridgell <tridge@samba.org>
Mon, 15 Oct 2007 04:37:54 +0000 (14:37 +1000)
committerAndrew Tridgell <tridge@samba.org>
Mon, 15 Oct 2007 04:37:54 +0000 (14:37 +1000)
(This used to be ctdb commit cfa8ddd3ca53c0160558137cccfc7e73e46ec36c)

ctdb/Makefile.in
ctdb/configure.ac
ctdb/utils/ipmux/ipmux.c

index eec57a4c76e61b3b7abc6d86be28ca3c643ecc86..bf06a92a891c218a7f69dc3065c7114e1f98c85c 100644 (file)
@@ -54,7 +54,7 @@ CTDB_SERVER_OBJ = server/ctdbd.o server/ctdb_daemon.o server/ctdb_lockwait.o \
 TEST_BINS=bin/ctdb_bench bin/ctdb_fetch bin/ctdb_store bin/ctdb_persistent bin/rb_test \
        @INFINIBAND_BINS@
 
-BINS = bin/ctdb @CTDB_SCSI_IO@ bin/smnotify
+BINS = bin/ctdb @CTDB_SCSI_IO@ bin/ctdb_ipmux bin/smnotify
 SBINS = bin/ctdbd
 
 DIRS = lib bin
index bd2a77d0b6ebe6c32ababdbea90fc8a66431e4d8..b782c70f056a07f05b6fc6392a5135515ac475bf 100644 (file)
@@ -18,13 +18,11 @@ case `uname` in
   Linux*)
     CTDB_SYSTEM_OBJ=common/system_linux.o
     CTDB_SCSI_IO=bin/scsi_io
-    CTDB_IPMUX=bin/ctdb_ipmux
     CTDB_PCAP_LDFLAGS=
     ;;
   AIX*)
     CTDB_SYSTEM_OBJ=common/system_aix.o
     CTDB_SCSI_IO=
-    CTDB_IPMUX=
     CTDB_PCAP_LDFLAGS=-lpcap
     ;;
   *)
@@ -49,6 +47,8 @@ m4_include(libtdb.m4)
 m4_include(libevents.m4)
 m4_include(ib/config.m4)
 
+AC_CHECK_HEADERS(libipq.h linux/netfilter.h)
+
 AC_CHECK_HEADERS(sched.h)
 AC_CHECK_FUNCS(sched_setscheduler)
 
@@ -65,7 +65,6 @@ fi
 AC_SUBST(EXTRA_OBJ)
 AC_SUBST(CTDB_SYSTEM_OBJ)
 AC_SUBST(CTDB_SCSI_IO)
-AC_SUBST(CTDB_IPMUX)
 AC_SUBST(CTDB_PCAP_LDFLAGS)
 
 AC_OUTPUT(Makefile)
index cca77043b48b69da0e5ee0cd7e84a32a1c024240..948640f4e88c773b4bfded387445e5b6df6f8c1e 100644 (file)
@@ -25,6 +25,8 @@
 #include "cmdline.h"
 #include "ctdb.h"
 #include "ctdb_private.h"
+
+#if defined(HAVE_LINUX_NETFILTER_H) && defined(HAVE_LIBIPQ_H)
 #include <linux/netfilter.h>
 #include <libipq.h>
 
@@ -227,3 +229,11 @@ int main(int argc, const char *argv[])
 
        return 0;
 }
+
+#else
+int main(void)
+{
+       printf("ipmux tool disabled - lacking netfilter and libipq development libs\n");
+       return 1;
+}
+#endif