build: Separate autoconf macros for pmda
authorMartin Schwenke <martin@meltin.net>
Tue, 28 May 2013 04:16:02 +0000 (14:16 +1000)
committerAmitay Isaacs <amitay@gmail.com>
Tue, 28 May 2013 04:24:16 +0000 (14:24 +1000)
The pmda stuff is no longer built by default even if the headers are
available.  To build, run "configure --enable-pmda".

Signed-off-by: Martin Schwenke <martin@meltin.net>
Pair-programmed-with: Amitay Isaacs <amitay@gmail.com>

configure.ac
utils/pmda/config.m4 [new file with mode: 0644]

index 85934a72b0d3949c5a5fa33374b4107b2c41facf..37b5a6402fffa02bc066116499763e58070e4599 100644 (file)
@@ -94,16 +94,9 @@ m4_include(ib/config.m4)
 m4_include(lib/util/signal.m4)
 m4_include(lib/util/fault.m4)
 m4_include(lib/socket_wrapper/config.m4)
+m4_include(utils/pmda/config.m4)
 
 AC_CHECK_HEADERS(sched.h)
-AC_CHECK_HEADERS(pcp/pmapi.h pcp/impl.h pcp/pmda.h, [], [],
-[[#ifdef HAVE_PCP_PMAPI_H
-# include <pcp/pmapi.h>
-#endif
-#ifdef HAVE_PCP_IMPL_H
-# include <pcp/impl.h>
-#endif
-]])
 
 AC_CHECK_DECL([ETIME], [],[AC_DEFINE([ETIME], ETIMEDOUT, [ETIME on non-supporting platforms])], [
 #include <errno.h>
@@ -122,20 +115,9 @@ if test x"$ctdb_cv_HAVE_SOCK_SIN_LEN" = x"yes"; then
     AC_DEFINE(HAVE_SOCK_SIN_LEN,1,[Whether the sockaddr_in struct has a sin_len property])
 fi
 
-if test x"$ac_cv_header_pcp_pmda_h" = x"yes"; then
-    CTDB_PMDA=bin/pmdactdb
-    CTDB_PMDA_INSTALL=install_pmda
-else
-    CTDB_PMDA=
-    CTDB_PMDA_INSTALL=
-fi
-
-
 AC_SUBST(EXTRA_OBJ)
 AC_SUBST(CTDB_SYSTEM_OBJ)
 AC_SUBST(CTDB_SCSI_IO)
 AC_SUBST(CTDB_PCAP_LDFLAGS)
-AC_SUBST(CTDB_PMDA)
-AC_SUBST(CTDB_PMDA_INSTALL)
 
 AC_OUTPUT(Makefile ctdb.pc)
diff --git a/utils/pmda/config.m4 b/utils/pmda/config.m4
new file mode 100644 (file)
index 0000000..6b3fbb0
--- /dev/null
@@ -0,0 +1,32 @@
+AC_ARG_ENABLE(pmda, 
+AS_HELP_STRING([--enable-pmda], [Turn on PCP pmda support (default=no)]))
+
+HAVE_PMDA=no
+
+if eval "test x$enable_pmda = xyes"; then
+       HAVE_PMDA=yes
+
+       AC_CHECK_HEADERS(pcp/pmapi.h pcp/impl.h pcp/pmda.h, [],
+       [AC_MSG_ERROR([Missing PCP pmda headers])],
+       [[#ifdef HAVE_PCP_PMAPI_H
+       # include <pcp/pmapi.h>
+       #endif
+       #ifdef HAVE_PCP_IMPL_H
+       # include <pcp/impl.h>
+       #endif
+       #ifdef HAVE_PCP_PMDA_H
+       # include <pcp/pmda.h>
+       #endif
+       ]])
+fi
+
+if test x"$HAVE_PMDA" = x"yes"; then
+    CTDB_PMDA=bin/pmdactdb
+    CTDB_PMDA_INSTALL=install_pmda
+else
+    CTDB_PMDA=
+    CTDB_PMDA_INSTALL=
+fi
+
+AC_SUBST(CTDB_PMDA)
+AC_SUBST(CTDB_PMDA_INSTALL)