Add a configure option to disable all default plugins
authorTobias Brunner <tobias@strongswan.org>
Thu, 31 Jan 2013 17:22:25 +0000 (18:22 +0100)
committerTobias Brunner <tobias@strongswan.org>
Mon, 4 Feb 2013 15:24:58 +0000 (16:24 +0100)
The --disable-defaults option disables all plugins that would be
enabled by default.  This allows to selectively enable specific plugins
without issues when new default options get added in future releases.

configure.in
m4/macros/enable-disable.m4

index cef1a47..d2819e9 100644 (file)
@@ -230,6 +230,19 @@ ARG_ENABL_SET([vstr],           [enforce using the Vstr string library to replac
 ARG_ENABL_SET([monolithic],     [build monolithic version of libstrongswan that includes all enabled plugins. Similarly, the plugins of charon are assembled in libcharon.])
 ARG_ENABL_SET([bfd-backtraces], [use binutils libbfd to resolve backtraces for memory leaks and segfaults.])
 
+dnl ===================================
+dnl  option to disable default options
+dnl ===================================
+
+ARG_DISBL_SET([defaults],       [disable all default plugins (they can be enabled with their respective --enable options)])
+
+if test x$defaults = xfalse; then
+       for option in $enabled_by_default; do
+               eval test x\${${option}_given} = xtrue && continue
+               let $option=false
+       done
+fi
+
 dnl =========================
 dnl  set up compiler and flags
 dnl =========================
@@ -994,7 +1007,6 @@ AC_SUBST(medsrv_plugins)
 AC_SUBST(nm_plugins)
 
 AC_SUBST(c_plugins)
-AC_SUBST(p_plugins)
 AC_SUBST(h_plugins)
 AC_SUBST(s_plugins)
 
index 3d42365..2e45520 100644 (file)
@@ -20,6 +20,7 @@ AC_DEFUN([ARG_ENABL_SET],
 # ARG_DISBL_SET(option, help)
 # ---------------------------
 # Create a --disable-$1 option with helptext, set a variable $1 to true/false
+# All $1 are collected in the variable $enabled_by_default
 AC_DEFUN([ARG_DISBL_SET],
        [AC_ARG_ENABLE(
                [$1],
@@ -32,5 +33,6 @@ AC_DEFUN([ARG_DISBL_SET],
                fi],
                [patsubst([$1], [-], [_])=true
                patsubst([$1], [-], [_])_given=false]
-       )]
+       )
+       enabled_by_default=${enabled_by_default}" patsubst([$1], [-], [_])"]
 )