Do not install config files with user/group, as it might not exist on build machine
[strongswan.git] / configure.in
index 84e6e80..9a7f8d8 100644 (file)
@@ -16,7 +16,7 @@ dnl ===========================
 dnl  initialize & set some vars
 dnl ===========================
 
-AC_INIT(strongSwan,4.3.5)
+AC_INIT(strongSwan,4.5.1dr5)
 AM_INIT_AUTOMAKE(tar-ustar)
 AC_CONFIG_MACRO_DIR([m4/config])
 PKG_PROG_PKG_CONFIG
@@ -35,13 +35,13 @@ ARG_WITH_SUBST([resolv-conf],        [${sysconfdir}/resolv.conf], [set the file
 ARG_WITH_SUBST([piddir],             [/var/run], [set path for PID and UNIX socket files])
 ARG_WITH_SUBST([ipsecdir],           [${libexecdir%/}/ipsec], [set installation path for ipsec tools])
 ARG_WITH_SUBST([plugindir],          [${ipsecdir%/}/plugins], [set the installation path of plugins])
-ARG_WITH_SUBST([sim-reader],         [${plugindir%/}/libeapsim-file.so], [set library containing the sim_run_alg()/sim_get_triplet() functions for EAP-SIM])
 ARG_WITH_SUBST([nm-ca-dir],          [/usr/share/ca-certificates], [directory the NM plugin uses to look up trusted root certificates])
 ARG_WITH_SUBST([linux-headers],      [\${top_srcdir}/src/include], [set directory of linux header files to use])
 ARG_WITH_SUBST([routing-table],      [220], [set routing table to use for IPsec routes])
 ARG_WITH_SUBST([routing-table-prio], [220], [set priority for IPsec routing table])
 
-ARG_WITH_SET([capabilities],         [no], [set capability dropping library. Currently only the value "libcap" is supported])
+ARG_WITH_SET([capabilities],         [no], [set capability dropping library. Currently supported values are "libcap" and "native"])
+ARG_WITH_SET([mpz_powm_sec],         [yes], [use the more side-channel resistant mpz_powm_sec in libgmp, if available])
 
 AC_ARG_WITH(
        [xauth-module],
@@ -78,6 +78,8 @@ ARG_DISBL_SET([fips-prf],       [disable FIPS PRF software implementation plugin
 ARG_DISBL_SET([gmp],            [disable GNU MP (libgmp) based crypto implementation plugin.])
 ARG_DISBL_SET([random],         [disable RNG implementation on top of /dev/(u)random.])
 ARG_DISBL_SET([x509],           [disable X509 certificate implementation plugin.])
+ARG_DISBL_SET([revocation],     [disable X509 CRL/OCSP revocation check plugin.])
+ARG_DISBL_SET([constraints],    [disable advanced X509 constraint checking plugin.])
 ARG_DISBL_SET([pubkey],         [disable RAW public key support plugin.])
 ARG_DISBL_SET([pkcs1],          [disable PKCS1 key decoding plugin.])
 ARG_DISBL_SET([pgp],            [disable PGP key decoding plugin.])
@@ -85,6 +87,7 @@ ARG_DISBL_SET([dnskey],         [disable DNS RR key decoding plugin.])
 ARG_DISBL_SET([pem],            [disable PEM decoding plugin.])
 ARG_DISBL_SET([hmac],           [disable HMAC crypto implementation plugin.])
 ARG_DISBL_SET([xcbc],           [disable xcbc crypto implementation plugin.])
+ARG_ENABL_SET([af-alg],         [enable AF_ALG crypto interface to Linux Crypto API.])
 ARG_ENABL_SET([test-vectors],   [enable plugin providing crypto test vectors.])
 ARG_ENABL_SET([mysql],          [enable MySQL database support. Requires libmysqlclient_r.])
 ARG_ENABL_SET([sqlite],         [enable SQLite database support. Requires libsqlite3.])
@@ -98,19 +101,34 @@ ARG_ENABL_SET([cisco-quirks],   [enable support of Cisco VPN client.])
 ARG_ENABL_SET([leak-detective], [enable malloc hooks to find memory leaks.])
 ARG_ENABL_SET([lock-profiler],  [enable lock/mutex profiling code.])
 ARG_ENABL_SET([unit-tests],     [enable unit tests on IKEv2 daemon startup.])
-ARG_ENABL_SET([load-tests],     [enable load testing plugin for IKEv2 daemon.])
-ARG_ENABL_SET([eap-sim],        [enable SIM authenication module for EAP.])
+ARG_ENABL_SET([load-tester],    [enable load testing plugin for IKEv2 daemon.])
+ARG_ENABL_SET([eap-sim],        [enable SIM authentication module for EAP.])
 ARG_ENABL_SET([eap-sim-file],   [enable EAP-SIM backend based on a triplet file.])
+ARG_ENABL_SET([eap-simaka-sql], [enable EAP-SIM/AKA backend based on a triplet/quintuplet SQL database.])
+ARG_ENABL_SET([eap-simaka-pseudonym], [enable EAP-SIM/AKA pseudonym storage plugin.])
+ARG_ENABL_SET([eap-simaka-reauth],    [enable EAP-SIM/AKA reauthentication data storage plugin.])
 ARG_ENABL_SET([eap-identity],   [enable EAP module providing EAP-Identity helper.])
-ARG_ENABL_SET([eap-md5],        [enable EAP MD5 (CHAP) authenication module.])
-ARG_ENABL_SET([eap-gtc],        [enable PAM based EAP GTC authenication module.])
+ARG_ENABL_SET([eap-md5],        [enable EAP MD5 (CHAP) authentication module.])
+ARG_ENABL_SET([eap-gtc],        [enable PAM based EAP GTC authentication module.])
 ARG_ENABL_SET([eap-aka],        [enable EAP AKA authentication module.])
-ARG_ENABL_SET([eap-mschapv2],   [enable EAP MS-CHAPv2 authenication module.])
-ARG_ENABL_SET([eap-radius],     [enable RADIUS proxy authenication module.])
+ARG_ENABL_SET([eap-aka-3gpp2],  [enable EAP AKA backend implementing 3GPP2 algorithms in software. Requires libgmp.])
+ARG_ENABL_SET([eap-mschapv2],   [enable EAP MS-CHAPv2 authentication module.])
+ARG_ENABL_SET([eap-tls],        [enable EAP TLS authentication module.])
+ARG_ENABL_SET([eap-ttls],       [enable EAP TTLS authentication module.])
+ARG_ENABL_SET([eap-tnc],        [enable EAP TNC trusted network connect module.])
+ARG_ENABL_SET([eap-radius],     [enable RADIUS proxy authentication module.])
+ARG_ENABL_SET([tnc-imc],        [enable TNC IMC module.])
+ARG_ENABL_SET([tnc-imv],        [enable TNC IMV module.])
+ARG_ENABL_SET([tnccs-11],       [enable TNCCS 1.1 protocol module.])
+ARG_ENABL_SET([tnccs-20],       [enable TNCCS 2.0 protocol module.])
 ARG_DISBL_SET([kernel-netlink], [disable the netlink kernel interface.])
 ARG_ENABL_SET([kernel-pfkey],   [enable the PF_KEY kernel interface.])
 ARG_ENABL_SET([kernel-pfroute], [enable the PF_ROUTE kernel interface.])
 ARG_ENABL_SET([kernel-klips],   [enable the KLIPS kernel interface.])
+ARG_DISBL_SET([socket-default], [disable default socket implementation for charon.])
+ARG_ENABL_SET([socket-raw],     [enable raw socket implementation of charon, enforced if pluto is enabled])
+ARG_ENABL_SET([socket-dynamic], [enable dynamic socket implementation for charon])
+ARG_ENABL_SET([farp],           [enable ARP faking plugin that responds to ARP requests to peers virtual IP])
 ARG_ENABL_SET([nat-transport],  [enable NAT traversal with IPsec transport mode in pluto.])
 ARG_DISBL_SET([vendor-id],      [disable the sending of the strongSwan vendor ID in pluto.])
 ARG_DISBL_SET([xauth-vid],      [disable the sending of the XAUTH vendor ID.])
@@ -119,21 +137,36 @@ ARG_ENABL_SET([fast],           [enable libfast (FastCGI Application Server w/ t
 ARG_ENABL_SET([manager],        [enable web management console (proof of concept).])
 ARG_ENABL_SET([mediation],      [enable IKEv2 Mediation Extension.])
 ARG_ENABL_SET([integrity-test], [enable integrity testing of libstrongswan and plugins.])
+ARG_DISBL_SET([load-warning],   [disable the charon/pluto plugin load option warning in starter.])
 ARG_DISBL_SET([pluto],          [disable the IKEv1 keying daemon pluto.])
+ARG_DISBL_SET([xauth],          [disable xauth plugin.])
 ARG_DISBL_SET([threads],        [disable the use of threads in pluto. Charon always uses threads.])
 ARG_DISBL_SET([charon],         [disable the IKEv2 keying daemon charon.])
 ARG_DISBL_SET([tools],          [disable additional utilities (openac, scepclient and pki).])
 ARG_DISBL_SET([scripts],        [disable additional utilities (found in directory scripts).])
+ARG_ENABL_SET([conftest],       [enforce Suite B conformance test framework.])
 ARG_DISBL_SET([updown],         [disable updown firewall script plugin.])
 ARG_DISBL_SET([attr],           [disable strongswan.conf based configuration attribute plugin.])
+ARG_ENABL_SET([attr-sql],       [enable SQL based configuration attribute plugin.])
+ARG_ENABL_SET([dhcp],           [enable DHCP based attribute provider plugin.])
 ARG_DISBL_SET([resolve],        [disable resolve DNS handler plugin.])
 ARG_ENABL_SET([padlock],        [enables VIA Padlock crypto plugin.])
 ARG_ENABL_SET([openssl],        [enables the OpenSSL crypto plugin.])
 ARG_ENABL_SET([gcrypt],         [enables the libgcrypt plugin.])
 ARG_ENABL_SET([agent],          [enables the ssh-agent signing plugin.])
+ARG_ENABL_SET([pkcs11],         [enables the PKCS11 token support plugin.])
+ARG_ENABL_SET([ctr],            [enables the Counter Mode wrapper crypto plugin.])
+ARG_ENABL_SET([ccm],            [enables the CCM AEAD wrapper crypto plugin.])
+ARG_ENABL_SET([gcm],            [enables the GCM AEAD wrapper crypto plugin.])
+ARG_ENABL_SET([addrblock],      [enables RFC 3779 address block constraint support.])
 ARG_ENABL_SET([uci],            [enable OpenWRT UCI configuration plugin.])
+ARG_ENABL_SET([android],        [enable Android specific plugin.])
+ARG_ENABL_SET([maemo],          [enable Maemo specific plugin.])
 ARG_ENABL_SET([nm],             [enable NetworkManager plugin.])
+ARG_ENABL_SET([ha],             [enable high availability cluster plugin.])
+ARG_ENABL_SET([led],            [enable plugin to control LEDs on IKEv2 activity using the Linux kernel LED subsystem.])
 ARG_ENABL_SET([vstr],           [enforce using the Vstr string library to replace glibc-like printf hooks.])
+ARG_ENABL_SET([monolithic],     [build monolithic version of libstrongswan that includes all enabled plugins. Similarly, the plugins of charon are assembled in libcharon.])
 
 dnl =========================
 dnl  set up compiler and flags
@@ -171,40 +204,32 @@ else
        AC_MSG_RESULT([not found])
 fi
 
-dnl translate user/group to numercial ids
-AC_MSG_CHECKING([for uid of user "$ipsecuser"])
-ipsecuid=`id -u $ipsecuser 2>/dev/null`
-if test -n "$ipsecuid"; then
-       AC_MSG_RESULT([$ipsecuid])
-       AC_SUBST(ipsecuid)
-else
-       AC_MSG_ERROR([not found])
-fi
-AC_MSG_CHECKING([for gid of group "$ipsecgroup"])
-ipsecgid=`$EGREP "^$ipsecgroup:" /etc/group | $AWK -F: '{ print $3 }'`
-if test -n "$ipsecgid"; then
-       AC_MSG_RESULT([$ipsecgid])
-       AC_SUBST(ipsecgid)
-else
-       AC_MSG_ERROR([not found])
-fi
-
 dnl =========================
 dnl  dependency calculation
 dnl =========================
 
-if test x$eap_aka = xtrue; then
+if test x$eap_aka_3gpp2 = xtrue; then
        gmp=true;
+fi
+
+if test x$eap_aka = xtrue; then
        fips_prf=true;
-       sha1=true;
+       simaka=true;
 fi
 
 if test x$eap_sim = xtrue; then
        fips_prf=true;
+       simaka=true;
+fi
+
+if test x$eap_tls = xtrue -o x$eap_ttls = xtrue; then
+       tls=true;
 fi
 
 if test x$fips_prf = xtrue; then
-       sha1=true;
+       if test x$openssl = xfalse; then
+               sha1=true;
+       fi
 fi
 
 if test x$smp = xtrue; then
@@ -224,6 +249,16 @@ if test x$medcli = xtrue; then
        mediation=true
 fi
 
+if test x$pluto = xtrue; then
+       if test x$socket_raw = xfalse; then
+               AC_MSG_NOTICE([Enforcing --enable-socket-raw, as pluto is enabled])
+               socket_raw=true
+               if test x$socket_default_given = xfalse; then
+                       socket_default=false
+               fi
+       fi
+fi
+
 dnl ===========================================
 dnl  check required libraries and header files
 dnl ===========================================
@@ -259,6 +294,11 @@ AC_SEARCH_LIBS(clock_gettime, rt, [RTLIB=$LIBS])
 AC_CHECK_FUNCS(clock_gettime)
 AC_SUBST(RTLIB)
 
+dnl Android has pthread_* functions in bionic (libc), others need libpthread
+LIBS=""
+AC_SEARCH_LIBS(pthread_create, pthread, [PTHREADLIB=$LIBS])
+AC_SUBST(PTHREADLIB)
+
 LIBS=$saved_LIBS
 dnl ======================
 
@@ -274,7 +314,7 @@ AC_TRY_COMPILE(
 
 dnl check if pthread_condattr_setclock(CLOCK_MONOTONE) is supported
 saved_LIBS=$LIBS
-LIBS="-lpthread"
+LIBS=$PTHREADLIB
 AC_MSG_CHECKING([for pthread_condattr_setclock(CLOCK_MONOTONE)])
 AC_TRY_RUN(
        [#include <pthread.h>
@@ -282,12 +322,27 @@ AC_TRY_RUN(
                pthread_condattr_init(&attr);
                return pthread_condattr_setclock(&attr, CLOCK_MONOTONIC);}],
        [AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_CONDATTR_CLOCK_MONOTONIC])],
-       [AC_MSG_RESULT([no])]
+       [AC_MSG_RESULT([no])],
+       dnl Check existence of pthread_condattr_setclock if cross-compiling
+       [AC_MSG_RESULT([unknown]);
+        AC_CHECK_FUNCS(pthread_condattr_setclock,
+               [AC_DEFINE([HAVE_CONDATTR_CLOCK_MONOTONIC])]
+       )]
 )
+dnl check if we actually are able to configure attributes on cond vars
+AC_CHECK_FUNCS(pthread_condattr_init)
+dnl instead of pthread_condattr_setclock Android has this function
+AC_CHECK_FUNCS(pthread_cond_timedwait_monotonic)
+dnl check if we can cancel threads
+AC_CHECK_FUNCS(pthread_cancel)
+dnl check if native rwlocks are available
+AC_CHECK_FUNCS(pthread_rwlock_init)
 LIBS=$saved_LIBS
 
 AC_CHECK_FUNCS(prctl)
 
+AC_CHECK_FUNCS(mallinfo)
+
 AC_CHECK_HEADERS(sys/sockio.h)
 AC_CHECK_HEADERS(net/pfkeyv2.h netipsec/ipsec.h netinet6/ipsec.h linux/udp.h)
 
@@ -308,6 +363,32 @@ AC_CHECK_MEMBERS([struct sadb_x_policy.sadb_x_policy_priority], [], [],
        #endif
 ])
 
+AC_MSG_CHECKING([for in6addr_any])
+AC_TRY_COMPILE(
+       [#include <sys/types.h>
+       #include <sys/socket.h>
+       #include <netinet/in.h>],
+       [struct in6_addr in6;
+       in6 = in6addr_any;],
+       [AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_IN6ADDR_ANY])],
+       [AC_MSG_RESULT([no])]
+)
+
+AC_MSG_CHECKING([for in6_pktinfo])
+AC_TRY_COMPILE(
+       [#define _GNU_SOURCE
+       #include <sys/types.h>
+       #include <sys/socket.h>
+       #include <netinet/in.h>],
+       [struct in6_pktinfo pi;
+       if (pi.ipi6_ifindex)
+       {
+               return 0;
+       }],
+       [AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_IN6_PKTINFO])],
+       [AC_MSG_RESULT([no])]
+)
+
 AC_MSG_CHECKING([for IPSEC_MODE_BEET])
 AC_TRY_COMPILE(
        [#include <sys/types.h>
@@ -358,13 +439,19 @@ AC_TRY_RUN(
 [AC_MSG_RESULT([no])],
 [AC_MSG_RESULT([no])])
 
+dnl check for the new register_printf_specifier function with len argument,
+dnl or the deprecated register_printf_function without
 AC_CHECK_FUNC(
-       [register_printf_function],
-       [AC_DEFINE(HAVE_PRINTF_HOOKS)],
-       [
-               AC_MSG_NOTICE([printf does not support custom format specifiers!])
-               vstr=true
-       ]
+       [register_printf_specifier],
+       [AC_DEFINE(HAVE_PRINTF_SPECIFIER)],
+       [AC_CHECK_FUNC(
+               [register_printf_function],
+               [AC_DEFINE(HAVE_PRINTF_FUNCTION)],
+               [
+                       AC_MSG_NOTICE([printf does not support custom format specifiers!])
+                       vstr=true
+               ]
+       )]
 )
 
 if test x$vstr = xtrue; then
@@ -373,7 +460,21 @@ if test x$vstr = xtrue; then
 fi
 
 if test x$gmp = xtrue; then
-       AC_HAVE_LIBRARY([gmp],[LIBS="$LIBS"],[AC_MSG_ERROR([GNU Multi Precision library gmp not found])])
+       saved_LIBS=$LIBS
+       AC_HAVE_LIBRARY([gmp],,[AC_MSG_ERROR([GNU Multi Precision library gmp not found])])
+       AC_MSG_CHECKING([mpz_powm_sec])
+       if test x$mpz_powm_sec = xyes; then
+               AC_TRY_COMPILE(
+                       [#include "gmp.h"],
+                       [
+                               void *x = mpz_powm_sec;
+                       ],
+                       [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_MPZ_POWM_SEC)], [AC_MSG_RESULT([no])]
+               )
+       else
+               AC_MSG_RESULT([disabled])
+       fi
+       LIBS=$saved_LIBS
        AC_MSG_CHECKING([gmp.h version >= 4.1.4])
        AC_TRY_COMPILE(
                [#include "gmp.h"],
@@ -480,7 +581,7 @@ if test x$openssl = xtrue; then
 fi
 
 if test x$gcrypt = xtrue; then
-       AC_HAVE_LIBRARY([gcrypt],[LIBS="$LIBS"],[AC_MSG_ERROR([gcrypt library not found])])
+       AC_HAVE_LIBRARY([gcrypt],[LIBS="$LIBS"],[AC_MSG_ERROR([gcrypt library not found])],[-lgpg-error])
        AC_CHECK_HEADER([gcrypt.h],,[AC_MSG_ERROR([gcrypt header gcrypt.h not found!])])
        AC_MSG_CHECKING([gcrypt CAMELLIA cipher])
        AC_TRY_COMPILE(
@@ -496,8 +597,28 @@ if test x$uci = xtrue; then
        AC_CHECK_HEADER([uci.h],,[AC_MSG_ERROR([UCI header uci.h not found!])])
 fi
 
+if test x$android = xtrue; then
+       AC_HAVE_LIBRARY([cutils],[LIBS="$LIBS"],[AC_MSG_ERROR([Android library libcutils not found])])
+       AC_CHECK_HEADER([cutils/properties.h],,[AC_MSG_ERROR([Android header cutils/properties.h not found!])])
+       dnl we have to force the use of libdl here because the autodetection
+       dnl above does not work correctly when cross-compiling for android.
+       DLLIB="-ldl"
+       AC_SUBST(DLLIB)
+fi
+
+if test x$maemo = xtrue; then
+       PKG_CHECK_MODULES(maemo, [glib-2.0 gthread-2.0 libosso osso-af-settings])
+       AC_SUBST(maemo_CFLAGS)
+       AC_SUBST(maemo_LIBS)
+       dbusservicedir="/usr/share/dbus-1/system-services"
+       AC_SUBST(dbusservicedir)
+fi
+
 if test x$nm = xtrue; then
-       PKG_CHECK_MODULES(nm, [NetworkManager libnm_glib_vpn gthread-2.0])
+       PKG_CHECK_EXISTS([libnm-glib],
+               [PKG_CHECK_MODULES(nm, [NetworkManager gthread-2.0 libnm-glib libnm-glib-vpn])],
+               [PKG_CHECK_MODULES(nm, [NetworkManager gthread-2.0 libnm_glib libnm_glib_vpn])]
+       )
        AC_SUBST(nm_CFLAGS)
        AC_SUBST(nm_LIBS)
 fi
@@ -507,9 +628,21 @@ if test x$eap_gtc = xtrue; then
        AC_CHECK_HEADER([security/pam_appl.h],,[AC_MSG_ERROR([PAM header security/pam_appl.h not found!])])
 fi
 
+if test x$capabilities = xnative; then
+       AC_MSG_NOTICE([Usage of the native Linux capabilities interface is deprecated, use libcap instead])
+       dnl Linux requires the following for capset(), Android does not have it,
+       dnl but defines capset() in unistd.h instead.
+       AC_CHECK_HEADERS([sys/capability.h])
+       AC_CHECK_FUNC(capset,,[AC_MSG_ERROR([capset() not found!])])
+       AC_DEFINE(CAPABILITIES_NATIVE)
+fi
+
 if test x$capabilities = xlibcap; then
        AC_HAVE_LIBRARY([cap],[LIBS="$LIBS"],[AC_MSG_ERROR([libcap library not found])])
-       AC_CHECK_HEADER([sys/capability.h],,[AC_MSG_ERROR([libcap header sys/capability.h not found!])])
+       AC_CHECK_HEADER([sys/capability.h],
+               [AC_DEFINE(HAVE_SYS_CAPABILITY_H)],
+               [AC_MSG_ERROR([libcap header sys/capability.h not found!])])
+       AC_DEFINE(CAPABILITIES_LIBCAP)
 fi
 
 if test x$integrity_test = xtrue; then
@@ -531,117 +664,126 @@ if test x$integrity_test = xtrue; then
        )
 fi
 
-dnl ======================================
-dnl  collect all plugins for libstrongswan
-dnl ======================================
+dnl ==============================================
+dnl  collect plugin list for strongSwan components
+dnl ==============================================
 
-libstrongswan_plugins=
-pluto_plugins=
+m4_include(m4/macros/add-plugin.m4)
 
-if test x$test_vectors = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" test-vectors"
-       pluto_plugins=${pluto_plugins}" test-vectors"
-fi
-if test x$curl = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" curl"
-       pluto_plugins=${pluto_plugins}" curl"
-fi
-if test x$ldap = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" ldap"
-       pluto_plugins=${pluto_plugins}" ldap"
-fi
-if test x$aes = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" aes"
-       pluto_plugins=${pluto_plugins}" aes"
-fi
-if test x$des = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" des"
-       pluto_plugins=${pluto_plugins}" des"
-fi
-if test x$blowfish = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" blowfish"
-       pluto_plugins=${pluto_plugins}" blowfish"
-fi
-if test x$sha1 = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" sha1"
-       pluto_plugins=${pluto_plugins}" sha1"
-fi
-if test x$sha2 = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" sha2"
-       pluto_plugins=${pluto_plugins}" sha2"
-fi
-if test x$md4 = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" md4"
-fi
-if test x$md5 = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" md5"
-       pluto_plugins=${pluto_plugins}" md5"
-fi
-if test x$fips_prf = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" fips-prf"
-fi
-if test x$random = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" random"
-       pluto_plugins=${pluto_plugins}" random"
-fi
-if test x$x509 = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" x509"
-       pluto_plugins=${pluto_plugins}" x509"
-fi
-if test x$pubkey = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" pubkey"
-       pluto_plugins=${pluto_plugins}" pubkey"
-fi
-if test x$pkcs1 = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" pkcs1"
-       pluto_plugins=${pluto_plugins}" pkcs1"
-fi
-if test x$pgp = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" pgp"
-       pluto_plugins=${pluto_plugins}" pgp"
-fi
-if test x$dnskey = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" dnskey"
-       pluto_plugins=${pluto_plugins}" dnskey"
-fi
-if test x$pem = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" pem"
-       pluto_plugins=${pluto_plugins}" pem"
-fi
-if test x$mysql = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" mysql"
-fi
-if test x$sqlite = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" sqlite"
-fi
-if test x$padlock = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" padlock"
-fi
-if test x$openssl = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" openssl"
-       pluto_plugins=${pluto_plugins}" openssl"
-fi
-if test x$gcrypt = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" gcrypt"
-       pluto_plugins=${pluto_plugins}" gcrypt"
-fi
-if test x$xcbc = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" xcbc"
-fi
-if test x$hmac = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" hmac"
-       pluto_plugins=${pluto_plugins}" hmac"
-fi
-if test x$agent = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" agent"
-fi
-if test x$gmp = xtrue; then
-       libstrongswan_plugins=${libstrongswan_plugins}" gmp"
-       pluto_plugins=${pluto_plugins}" gmp"
-fi
-
-AC_SUBST(libstrongswan_plugins)
+# plugin lists for all components
+libcharon_plugins=
+pluto_plugins=
+pool_plugins=
+openac_plugins=
+scepclient_plugins=
+pki_plugins=
+scripts_plugins=
+manager_plugins=
+medsrv_plugins=
+
+# location specific lists for checksumming,
+# for src/libcharon, src/pluto, src/libhydra and src/libstrongswan
+c_plugins=
+p_plugins=
+h_plugins=
+s_plugins=
+
+ADD_PLUGIN([test-vectors],         [s libcharon pluto openac scepclient pki])
+ADD_PLUGIN([curl],                 [s libcharon pluto scepclient])
+ADD_PLUGIN([ldap],                 [s libcharon pluto scepclient])
+ADD_PLUGIN([mysql],                [s libcharon pluto pool manager medsrv])
+ADD_PLUGIN([sqlite],               [s libcharon pluto pool manager medsrv])
+ADD_PLUGIN([aes],                  [s libcharon pluto openac scepclient pki scripts])
+ADD_PLUGIN([des],                  [s libcharon pluto openac scepclient pki scripts])
+ADD_PLUGIN([blowfish],             [s libcharon pluto openac scepclient pki scripts])
+ADD_PLUGIN([sha1],                 [s libcharon pluto openac scepclient pki scripts medsrv])
+ADD_PLUGIN([sha2],                 [s libcharon pluto openac scepclient pki scripts medsrv])
+ADD_PLUGIN([md4],                  [s libcharon openac manager scepclient pki])
+ADD_PLUGIN([md5],                  [s libcharon pluto openac scepclient pki])
+ADD_PLUGIN([random],               [s libcharon pluto openac scepclient pki scripts medsrv])
+ADD_PLUGIN([x509],                 [s libcharon pluto openac scepclient pki scripts])
+ADD_PLUGIN([revocation],           [s libcharon])
+ADD_PLUGIN([constraints],          [s libcharon])
+ADD_PLUGIN([pubkey],               [s libcharon])
+ADD_PLUGIN([pkcs1],                [s libcharon pluto openac scepclient pki scripts manager medsrv])
+ADD_PLUGIN([pgp],                  [s libcharon pluto])
+ADD_PLUGIN([dnskey],               [s pluto])
+ADD_PLUGIN([pem],                  [s libcharon pluto openac scepclient pki scripts manager medsrv])
+ADD_PLUGIN([padlock],              [s libcharon])
+ADD_PLUGIN([openssl],              [s libcharon pluto openac scepclient pki scripts manager medsrv])
+ADD_PLUGIN([gcrypt],               [s libcharon pluto openac scepclient pki scripts manager medsrv])
+ADD_PLUGIN([fips-prf],             [s libcharon])
+ADD_PLUGIN([gmp],                  [s libcharon pluto openac scepclient pki scripts manager medsrv])
+ADD_PLUGIN([agent],                [s libcharon])
+ADD_PLUGIN([pkcs11],               [s libcharon pki])
+ADD_PLUGIN([xcbc],                 [s libcharon])
+ADD_PLUGIN([hmac],                 [s libcharon pluto scripts])
+ADD_PLUGIN([ctr],                  [s libcharon scripts])
+ADD_PLUGIN([ccm],                  [s libcharon scripts])
+ADD_PLUGIN([gcm],                  [s libcharon scripts])
+ADD_PLUGIN([af-alg],               [s libcharon pluto openac scepclient pki scripts medsrv])
+ADD_PLUGIN([xauth],                [p pluto])
+ADD_PLUGIN([attr],                 [h libcharon pluto])
+ADD_PLUGIN([attr-sql],             [h libcharon pluto])
+ADD_PLUGIN([kernel-pfkey],         [h libcharon pluto])
+ADD_PLUGIN([kernel-pfroute],       [h libcharon pluto])
+ADD_PLUGIN([kernel-klips],         [h libcharon pluto])
+ADD_PLUGIN([kernel-netlink],       [h libcharon pluto])
+ADD_PLUGIN([resolve],              [h libcharon pluto])
+ADD_PLUGIN([load-tester],          [c libcharon])
+ADD_PLUGIN([socket-default],       [c libcharon])
+ADD_PLUGIN([socket-raw],           [c libcharon])
+ADD_PLUGIN([socket-dynamic],       [c libcharon])
+ADD_PLUGIN([farp],                 [c libcharon])
+ADD_PLUGIN([stroke],               [c libcharon])
+ADD_PLUGIN([smp],                  [c libcharon])
+ADD_PLUGIN([sql],                  [c libcharon])
+ADD_PLUGIN([updown],               [c libcharon])
+ADD_PLUGIN([eap-identity],         [c libcharon])
+ADD_PLUGIN([eap-sim],              [c libcharon])
+ADD_PLUGIN([eap-sim-file],         [c libcharon])
+ADD_PLUGIN([eap-simaka-sql],       [c libcharon])
+ADD_PLUGIN([eap-simaka-pseudonym], [c libcharon])
+ADD_PLUGIN([eap-simaka-reauth],    [c libcharon])
+ADD_PLUGIN([eap-aka],              [c libcharon])
+ADD_PLUGIN([eap-aka-3gpp2],        [c libcharon])
+ADD_PLUGIN([eap-md5],              [c libcharon])
+ADD_PLUGIN([eap-gtc],              [c libcharon])
+ADD_PLUGIN([eap-mschapv2],         [c libcharon])
+ADD_PLUGIN([eap-radius],           [c libcharon])
+ADD_PLUGIN([eap-tls],              [c libcharon])
+ADD_PLUGIN([eap-ttls],             [c libcharon])
+ADD_PLUGIN([eap-tnc],              [c libcharon])
+ADD_PLUGIN([tnccs-20],             [c libcharon])
+ADD_PLUGIN([tnccs-11],             [c libcharon])
+ADD_PLUGIN([tnc-imc],              [c libcharon])
+ADD_PLUGIN([tnc-imv],              [c libcharon])
+ADD_PLUGIN([medsrv],               [c libcharon])
+ADD_PLUGIN([medcli],               [c libcharon])
+ADD_PLUGIN([nm],                   [c libcharon])
+ADD_PLUGIN([dhcp],                 [c libcharon])
+ADD_PLUGIN([android],              [c libcharon])
+ADD_PLUGIN([ha],                   [c libcharon])
+ADD_PLUGIN([led],                  [c libcharon])
+ADD_PLUGIN([maemo],                [c libcharon])
+ADD_PLUGIN([uci],                  [c libcharon])
+ADD_PLUGIN([addrblock],            [c libcharon])
+ADD_PLUGIN([unit-tester],          [c libcharon])
+
+AC_SUBST(libcharon_plugins)
 AC_SUBST(pluto_plugins)
+AC_SUBST(pool_plugins)
+AC_SUBST(openac_plugins)
+AC_SUBST(scepclient_plugins)
+AC_SUBST(pki_plugins)
+AC_SUBST(scripts_plugins)
+AC_SUBST(manager_plugins)
+AC_SUBST(medsrv_plugins)
+
+AC_SUBST(c_plugins)
+AC_SUBST(p_plugins)
+AC_SUBST(h_plugins)
+AC_SUBST(s_plugins)
 
 dnl =========================
 dnl  set Makefile.am vars
@@ -663,6 +805,8 @@ AM_CONDITIONAL(USE_FIPS_PRF, test x$fips_prf = xtrue)
 AM_CONDITIONAL(USE_GMP, test x$gmp = xtrue)
 AM_CONDITIONAL(USE_RANDOM, test x$random = xtrue)
 AM_CONDITIONAL(USE_X509, test x$x509 = xtrue)
+AM_CONDITIONAL(USE_REVOCATION, test x$revocation = xtrue)
+AM_CONDITIONAL(USE_CONSTRAINTS, test x$constraints = xtrue)
 AM_CONDITIONAL(USE_PUBKEY, test x$pubkey = xtrue)
 AM_CONDITIONAL(USE_PKCS1, test x$pkcs1 = xtrue)
 AM_CONDITIONAL(USE_PGP, test x$pgp = xtrue)
@@ -676,6 +820,11 @@ AM_CONDITIONAL(USE_PADLOCK, test x$padlock = xtrue)
 AM_CONDITIONAL(USE_OPENSSL, test x$openssl = xtrue)
 AM_CONDITIONAL(USE_GCRYPT, test x$gcrypt = xtrue)
 AM_CONDITIONAL(USE_AGENT, test x$agent = xtrue)
+AM_CONDITIONAL(USE_PKCS11, test x$pkcs11 = xtrue)
+AM_CONDITIONAL(USE_CTR, test x$ctr = xtrue)
+AM_CONDITIONAL(USE_CCM, test x$ccm = xtrue)
+AM_CONDITIONAL(USE_GCM, test x$gcm = xtrue)
+AM_CONDITIONAL(USE_AF_ALG, test x$af_alg = xtrue)
 
 dnl charon plugins
 dnl ==============
@@ -684,25 +833,54 @@ AM_CONDITIONAL(USE_MEDSRV, test x$medsrv = xtrue)
 AM_CONDITIONAL(USE_MEDCLI, test x$medcli = xtrue)
 AM_CONDITIONAL(USE_NM, test x$nm = xtrue)
 AM_CONDITIONAL(USE_UCI, test x$uci = xtrue)
+AM_CONDITIONAL(USE_ANDROID, test x$android = xtrue)
+AM_CONDITIONAL(USE_MAEMO, test x$maemo = xtrue)
 AM_CONDITIONAL(USE_SMP, test x$smp = xtrue)
 AM_CONDITIONAL(USE_SQL, test x$sql = xtrue)
 AM_CONDITIONAL(USE_UPDOWN, test x$updown = xtrue)
-AM_CONDITIONAL(USE_ATTR, test x$attr = xtrue)
-AM_CONDITIONAL(USE_RESOLVE, test x$resolve = xtrue)
-AM_CONDITIONAL(USE_UNIT_TESTS, test x$unittest = xtrue)
-AM_CONDITIONAL(USE_LOAD_TESTS, test x$loadtest = xtrue)
+AM_CONDITIONAL(USE_DHCP, test x$dhcp = xtrue)
+AM_CONDITIONAL(USE_UNIT_TESTS, test x$unit_tests = xtrue)
+AM_CONDITIONAL(USE_LOAD_TESTER, test x$load_tester = xtrue)
+AM_CONDITIONAL(USE_HA, test x$ha = xtrue)
+AM_CONDITIONAL(USE_LED, test x$led = xtrue)
 AM_CONDITIONAL(USE_EAP_SIM, test x$eap_sim = xtrue)
 AM_CONDITIONAL(USE_EAP_SIM_FILE, test x$eap_sim_file = xtrue)
+AM_CONDITIONAL(USE_EAP_SIMAKA_SQL, test x$eap_simaka_sql = xtrue)
+AM_CONDITIONAL(USE_EAP_SIMAKA_PSEUDONYM, test x$eap_simaka_pseudonym = xtrue)
+AM_CONDITIONAL(USE_EAP_SIMAKA_REAUTH, test x$eap_simaka_reauth = xtrue)
 AM_CONDITIONAL(USE_EAP_IDENTITY, test x$eap_identity = xtrue)
 AM_CONDITIONAL(USE_EAP_MD5, test x$eap_md5 = xtrue)
 AM_CONDITIONAL(USE_EAP_GTC, test x$eap_gtc = xtrue)
 AM_CONDITIONAL(USE_EAP_AKA, test x$eap_aka = xtrue)
+AM_CONDITIONAL(USE_EAP_AKA_3GPP2, test x$eap_aka_3gpp2 = xtrue)
 AM_CONDITIONAL(USE_EAP_MSCHAPV2, test x$eap_mschapv2 = xtrue)
+AM_CONDITIONAL(USE_EAP_TLS, test x$eap_tls = xtrue)
+AM_CONDITIONAL(USE_EAP_TTLS, test x$eap_ttls = xtrue)
+AM_CONDITIONAL(USE_EAP_TNC, test x$eap_tnc = xtrue)
 AM_CONDITIONAL(USE_EAP_RADIUS, test x$eap_radius = xtrue)
+AM_CONDITIONAL(USE_TNC_IMC, test x$tnc_imc = xtrue)
+AM_CONDITIONAL(USE_TNC_IMV, test x$tnc_imv = xtrue)
+AM_CONDITIONAL(USE_TNCCS_11, test x$tnccs_11 = xtrue)
+AM_CONDITIONAL(USE_TNCCS_20, test x$tnccs_20 = xtrue)
+AM_CONDITIONAL(USE_SOCKET_DEFAULT, test x$socket_default = xtrue)
+AM_CONDITIONAL(USE_SOCKET_RAW, test x$socket_raw = xtrue)
+AM_CONDITIONAL(USE_SOCKET_DYNAMIC, test x$socket_dynamic = xtrue)
+AM_CONDITIONAL(USE_FARP, test x$farp = xtrue)
+AM_CONDITIONAL(USE_ADDRBLOCK, test x$addrblock = xtrue)
+
+dnl hydra plugins
+dnl =============
+AM_CONDITIONAL(USE_ATTR, test x$attr = xtrue)
+AM_CONDITIONAL(USE_ATTR_SQL, test x$attr_sql = xtrue -o x$sql = xtrue)
+AM_CONDITIONAL(USE_KERNEL_KLIPS, test x$kernel_klips = xtrue)
 AM_CONDITIONAL(USE_KERNEL_NETLINK, test x$kernel_netlink = xtrue)
 AM_CONDITIONAL(USE_KERNEL_PFKEY, test x$kernel_pfkey = xtrue)
 AM_CONDITIONAL(USE_KERNEL_PFROUTE, test x$kernel_pfroute = xtrue)
-AM_CONDITIONAL(USE_KERNEL_KLIPS, test x$kernel_klips = xtrue)
+AM_CONDITIONAL(USE_RESOLVE, test x$resolve = xtrue)
+
+dnl pluto plugins
+dnl =============
+AM_CONDITIONAL(USE_XAUTH, test x$xauth = xtrue)
 
 dnl other options
 dnl =============
@@ -718,15 +896,23 @@ AM_CONDITIONAL(USE_FAST, test x$fast = xtrue)
 AM_CONDITIONAL(USE_MANAGER, test x$manager = xtrue)
 AM_CONDITIONAL(USE_ME, test x$mediation = xtrue)
 AM_CONDITIONAL(USE_INTEGRITY_TEST, test x$integrity_test = xtrue)
-AM_CONDITIONAL(USE_CAPABILITIES, test x$capabilities = xlibcap)
+AM_CONDITIONAL(USE_LOAD_WARNING, test x$load_warning = xtrue)
 AM_CONDITIONAL(USE_PLUTO, test x$pluto = xtrue)
 AM_CONDITIONAL(USE_THREADS, test x$threads = xtrue)
 AM_CONDITIONAL(USE_CHARON, test x$charon = xtrue)
 AM_CONDITIONAL(USE_TOOLS, test x$tools = xtrue)
 AM_CONDITIONAL(USE_SCRIPTS, test x$scripts = xtrue)
-AM_CONDITIONAL(USE_LIBSTRONGSWAN, test x$charon = xtrue -o x$pluto = xtrue -o x$tools = xtrue)
+AM_CONDITIONAL(USE_CONFTEST, test x$conftest = xtrue)
+AM_CONDITIONAL(USE_LIBSTRONGSWAN, test x$charon = xtrue -o x$pluto = xtrue -o x$tools = xtrue -o x$conftest = xtrue)
+AM_CONDITIONAL(USE_LIBHYDRA, test x$charon = xtrue -o x$pluto = xtrue)
+AM_CONDITIONAL(USE_LIBCHARON, test x$charon = xtrue -o x$conftest = xtrue)
 AM_CONDITIONAL(USE_FILE_CONFIG, test x$pluto = xtrue -o x$stroke = xtrue)
+AM_CONDITIONAL(USE_IPSEC_SCRIPT, test x$pluto = xtrue -o x$stroke = xtrue -o x$tools = xtrue -o x$conftest = xtrue)
+AM_CONDITIONAL(USE_LIBCAP, test x$capabilities = xlibcap)
 AM_CONDITIONAL(USE_VSTR, test x$vstr = xtrue)
+AM_CONDITIONAL(USE_SIMAKA, test x$simaka = xtrue)
+AM_CONDITIONAL(USE_TLS, test x$tls = xtrue)
+AM_CONDITIONAL(MONOLITHIC, test x$monolithic = xtrue)
 
 dnl ==============================
 dnl  set global definitions
@@ -735,9 +921,13 @@ dnl ==============================
 if test x$mediation = xtrue; then
        AC_DEFINE(ME)
 fi
-if test x$capabilities = xlibcap; then
+if test x$capabilities = xlibcap -o x$capabilities = xnative; then
        AC_DEFINE(CAPABILITIES)
 fi
+if test x$monolithic = xtrue; then
+       AC_DEFINE(MONOLITHIC)
+fi
+
 
 dnl ==============================
 dnl  build Makefiles
@@ -745,6 +935,7 @@ dnl ==============================
 
 AC_OUTPUT(
        Makefile
+       man/Makefile
        src/Makefile
        src/include/Makefile
        src/libstrongswan/Makefile
@@ -761,6 +952,8 @@ AC_OUTPUT(
        src/libstrongswan/plugins/hmac/Makefile
        src/libstrongswan/plugins/xcbc/Makefile
        src/libstrongswan/plugins/x509/Makefile
+       src/libstrongswan/plugins/revocation/Makefile
+       src/libstrongswan/plugins/constraints/Makefile
        src/libstrongswan/plugins/pubkey/Makefile
        src/libstrongswan/plugins/pkcs1/Makefile
        src/libstrongswan/plugins/pgp/Makefile
@@ -774,35 +967,67 @@ AC_OUTPUT(
        src/libstrongswan/plugins/openssl/Makefile
        src/libstrongswan/plugins/gcrypt/Makefile
        src/libstrongswan/plugins/agent/Makefile
+       src/libstrongswan/plugins/pkcs11/Makefile
+       src/libstrongswan/plugins/ctr/Makefile
+       src/libstrongswan/plugins/ccm/Makefile
+       src/libstrongswan/plugins/gcm/Makefile
+       src/libstrongswan/plugins/af_alg/Makefile
        src/libstrongswan/plugins/test_vectors/Makefile
+       src/libhydra/Makefile
+       src/libhydra/plugins/attr/Makefile
+       src/libhydra/plugins/attr_sql/Makefile
+       src/libhydra/plugins/kernel_klips/Makefile
+       src/libhydra/plugins/kernel_netlink/Makefile
+       src/libhydra/plugins/kernel_pfkey/Makefile
+       src/libhydra/plugins/kernel_pfroute/Makefile
+       src/libhydra/plugins/resolve/Makefile
        src/libfreeswan/Makefile
+       src/libsimaka/Makefile
+       src/libtls/Makefile
        src/pluto/Makefile
+       src/pluto/plugins/xauth/Makefile
        src/whack/Makefile
        src/charon/Makefile
-       src/charon/plugins/eap_aka/Makefile
-       src/charon/plugins/eap_identity/Makefile
-       src/charon/plugins/eap_md5/Makefile
-       src/charon/plugins/eap_gtc/Makefile
-       src/charon/plugins/eap_sim/Makefile
-       src/charon/plugins/eap_sim_file/Makefile
-       src/charon/plugins/eap_mschapv2/Makefile
-       src/charon/plugins/eap_radius/Makefile
-       src/charon/plugins/kernel_netlink/Makefile
-       src/charon/plugins/kernel_pfkey/Makefile
-       src/charon/plugins/kernel_pfroute/Makefile
-       src/charon/plugins/kernel_klips/Makefile
-       src/charon/plugins/smp/Makefile
-       src/charon/plugins/sql/Makefile
-       src/charon/plugins/medsrv/Makefile
-       src/charon/plugins/medcli/Makefile
-       src/charon/plugins/nm/Makefile
-       src/charon/plugins/uci/Makefile
-       src/charon/plugins/stroke/Makefile
-       src/charon/plugins/updown/Makefile
-       src/charon/plugins/attr/Makefile
-       src/charon/plugins/resolve/Makefile
-       src/charon/plugins/unit_tester/Makefile
-       src/charon/plugins/load_tester/Makefile
+       src/libcharon/Makefile
+       src/libcharon/plugins/eap_aka/Makefile
+       src/libcharon/plugins/eap_aka_3gpp2/Makefile
+       src/libcharon/plugins/eap_identity/Makefile
+       src/libcharon/plugins/eap_md5/Makefile
+       src/libcharon/plugins/eap_gtc/Makefile
+       src/libcharon/plugins/eap_sim/Makefile
+       src/libcharon/plugins/eap_sim_file/Makefile
+       src/libcharon/plugins/eap_simaka_sql/Makefile
+       src/libcharon/plugins/eap_simaka_pseudonym/Makefile
+       src/libcharon/plugins/eap_simaka_reauth/Makefile
+       src/libcharon/plugins/eap_mschapv2/Makefile
+       src/libcharon/plugins/eap_tls/Makefile
+       src/libcharon/plugins/eap_ttls/Makefile
+       src/libcharon/plugins/eap_tnc/Makefile
+       src/libcharon/plugins/eap_radius/Makefile
+       src/libcharon/plugins/tnc_imc/Makefile
+       src/libcharon/plugins/tnc_imv/Makefile
+       src/libcharon/plugins/tnccs_11/Makefile
+       src/libcharon/plugins/tnccs_20/Makefile
+       src/libcharon/plugins/socket_default/Makefile
+       src/libcharon/plugins/socket_raw/Makefile
+       src/libcharon/plugins/socket_dynamic/Makefile
+       src/libcharon/plugins/farp/Makefile
+       src/libcharon/plugins/smp/Makefile
+       src/libcharon/plugins/sql/Makefile
+       src/libcharon/plugins/medsrv/Makefile
+       src/libcharon/plugins/medcli/Makefile
+       src/libcharon/plugins/nm/Makefile
+       src/libcharon/plugins/addrblock/Makefile
+       src/libcharon/plugins/uci/Makefile
+       src/libcharon/plugins/ha/Makefile
+       src/libcharon/plugins/led/Makefile
+       src/libcharon/plugins/android/Makefile
+       src/libcharon/plugins/maemo/Makefile
+       src/libcharon/plugins/stroke/Makefile
+       src/libcharon/plugins/updown/Makefile
+       src/libcharon/plugins/dhcp/Makefile
+       src/libcharon/plugins/unit_tester/Makefile
+       src/libcharon/plugins/load_tester/Makefile
        src/stroke/Makefile
        src/ipsec/Makefile
        src/starter/Makefile
@@ -818,6 +1043,7 @@ AC_OUTPUT(
        src/manager/Makefile
        src/medsrv/Makefile
        src/checksum/Makefile
+       src/conftest/Makefile
        scripts/Makefile
        testing/Makefile
 )