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.
laforge/swu
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], [-], [_])"]
)