build(waf): Fail "configure --with-cluster-support" if ctdb support is not available. master-cluster-checks
authorBjörn Baumbach <bb@sernet.de>
Tue, 30 Oct 2012 15:04:10 +0000 (16:04 +0100)
committerMichael Adam <obnox@samba.org>
Thu, 1 Nov 2012 09:22:15 +0000 (10:22 +0100)
Currently, configure only warns if cluster support is not found.

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Michael Adam <obnox@samba.org>
source3/wscript

index 157a8c9d161a246b47c5e79ab15d31529fbccc3c..96ab4deb2cff73352be2a2b06c60c707bb670427 100644 (file)
@@ -43,7 +43,7 @@ def set_options(opt):
     opt.SAMBA3_ADD_OPTION('aio-support')
     opt.SAMBA3_ADD_OPTION('profiling-data', default=False)
 
-    opt.SAMBA3_ADD_OPTION('cluster-support')
+    opt.SAMBA3_ADD_OPTION('cluster-support', default=None)
 
     opt.add_option('--with-ctdb-dir',
                    help=("Directory under which ctdb is installed"),
@@ -1288,7 +1288,9 @@ main() {
     #
     # checking for clustering extensions (CTDB)
     #
-    if not Options.options.with_cluster_support:
+    if Options.options.with_cluster_support == False:
+        # configure is called with --without-cluster-support,
+        # so don't check for and build w/o ctdb support.
         have_cluster_support = False
 
     else:
@@ -1519,14 +1521,16 @@ main() {
         Logs.info("building with cluster support")
         conf.DEFINE('CLUSTER_SUPPORT', 1);
     else:
-        if not Options.options.with_cluster_support:
-            Logs.info("building without cluster support")
+        if Options.options.with_cluster_support == False:
+            Logs.info("building without cluster support (--without-cluster-support)")
+        elif Options.options.with_cluster_support == True:
+            Logs.error("Cluster support not available: " + ctdb_broken)
+            conf.fatal("Cluster support not found, but --with-cluster-support was specified")
         else:
-            Logs.warn("building without cluster support: " + ctdb_broken)
+            Logs.info("building without cluster support: " + ctdb_broken)
         conf.undefine('CLUSTER_SUPPORT')
 
 
-
     conf.CHECK_CODE('__attribute__((destructor)) static void cleanup(void) { }',
                     'HAVE_FUNCTION_ATTRIBUTE_DESTRUCTOR',
                     addmain=False,