Add a configure option to disable all default plugins

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.
This commit is contained in:
Tobias Brunner 2013-01-31 18:22:25 +01:00
parent cf29fc075a
commit eaf752d203
2 changed files with 16 additions and 2 deletions

View 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)

View 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], [-], [_])"]
)