Make database backends disableable 02/141202/2
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Fri, 28 Jul 2017 11:53:01 +0000 (13:53 +0200)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Thu, 3 Aug 2017 14:30:06 +0000 (14:30 +0000)
Default to ejdb, if not specified.

Change-Id: Iac6be95a7653ee79802122d80f3c9261ed9ffdfe

Makefile.am
configure.ac

index c56322f83955be5e2c2e9bfb632d90e89e61bdd7..6b73bba0fc8b8728553ee5f3498c5c97cef6779d 100644 (file)
@@ -61,8 +61,6 @@ faultd_SOURCES = \
     src/core/event_processor.c \
     src/core/module.c \
     src/core/service.c \
-    src/database/database_nop.c \
-    src/database/ejdb.c \
     src/core/faultd-config.c \
     src/event_types/action_executed_event.c \
     src/event_types/decision_made_event.c \
@@ -82,6 +80,8 @@ EXTRA_faultd_SOURCES = \
     src/listeners/audit.c \
     src/listeners/systemd.c \
     src/listeners/startup.c \
+    src/database/database_nop.c \
+    src/database/ejdb.c \
     src/decision_makers/vip_fault_dm.c \
     src/decision_makers/rv_dm.c \
     src/decision_makers/standard_fault_dm.c \
index 1ed348e65a34d04d7a9ca5b702098c6e7b30da54..9c9a7c271ce9bdd38a41407a22230d067dd2e8bf 100644 (file)
@@ -47,6 +47,9 @@ AS_IF([test "x$enable_tests" = xyes], [
 ])
 AM_CONDITIONAL(ENABLE_TESTS, [test "x$enable_tests" = xyes])
 
+# Default database backend when not specified by user
+default_db_mod="src/database/ejdb"
+
 all_modules=`./modules.list path`
 
 AC_ARG_ENABLE([modules],
@@ -57,6 +60,7 @@ AC_ARG_ENABLE([modules],
 # Enable only given modules
 modules_to_enable="`echo $enableval | sed 's/,/ /g'`"
 
+num_db_enabled=0
 for i in $modules_to_enable
 do
        invalid=yes
@@ -65,6 +69,7 @@ do
                modname=${modpath##*/}
                if test "x$modname" = "x$i"; then
                        ENABLED_MODULES="$ENABLED_MODULES ${modpath}.o"
+                       test "x${modpath%/*}" = "xsrc/database" && num_db_enabled=$(($num_db_enabled + 1))
                        invalid=
                        break
                fi
@@ -74,13 +79,16 @@ do
                AC_MSG_ERROR([invalid module $i])
        fi
 done
+test $num_db_enabled -gt 1 && AC_MSG_ERROR([only one database backend can be enabled at time])
 ],
 [
 # No --enable-modules specified, enable all modules
 for modpath in $all_modules
 do
+       test "x${modpath%/*}" = "xsrc/database" && continue
        ENABLED_MODULES="$ENABLED_MODULES ${modpath}.o"
 done
+ENABLED_MODULES="$ENABLED_MODULES ${default_db_mod}.o"
 ])
 
 AC_SUBST([ENABLED_MODULES])