list assigned leases using "ipsec leases"
[strongswan.git] / configure.in
index c3dd728..ea9b6dd 100644 (file)
@@ -16,7 +16,7 @@ dnl ===========================
 dnl  initialize & set some vars
 dnl ===========================
 
-AC_INIT(strongSwan,4.2.7)
+AC_INIT(strongSwan,4.2.10)
 AM_INIT_AUTOMAKE(tar-ustar)
 AC_C_BIGENDIAN
 AC_SUBST(confdir, '${sysconfdir}')
@@ -77,28 +77,28 @@ AC_ARG_WITH(
        [ipsecdir],
        AS_HELP_STRING([--with-ipsecdir=dir],[installation path for ipsec tools other than "libexecdir/ipsec"]),
        [AC_SUBST(ipsecdir, "$withval")],
-       [AC_SUBST(ipsecdir, "${libexecdir}/ipsec")]
+       [AC_SUBST(ipsecdir, "${libexecdir%/}/ipsec")]
 )
-AC_SUBST(plugindir, "${ipsecdir}/plugins")
+AC_SUBST(plugindir, "${ipsecdir%/}/plugins")
 
 AC_ARG_WITH(
        [plugindir],
        AS_HELP_STRING([--with-plugindir=dir],[installation path for plugins other than "ipsecdir/plugins"]),
        [AC_SUBST(plugindir, "$withval")],
-       [AC_SUBST(plugindir, "${ipsecdir}/plugins")]
+       [AC_SUBST(plugindir, "${ipsecdir%/}/plugins")]
 )
 
 AC_ARG_WITH(
        [sim-reader],
        AS_HELP_STRING([--with-sim-reader=library.so],[library containing the sim_run_alg()/sim_get_triplet() function for EAP-SIM]),
        [AC_SUBST(simreader, "$withval")],
-       [AC_SUBST(simreader, "${plugindir}/libeapsim-file.so")]
+       [AC_SUBST(simreader, "${plugindir%/}/libeapsim-file.so")]
 )
 
 AC_ARG_WITH(
        [linux-headers],
        AS_HELP_STRING([--with-linux-headers=dir],[use the linux header files in dir instead of the supplied ones in "src/include"]),
-       [AC_SUBST(linuxdir, "$withval")], [AC_SUBST(linuxdir, "../include")]
+       [AC_SUBST(linuxdir, "$withval")], [AC_SUBST(linuxdir, "\${top_srcdir}/src/include")]
 )
 AC_SUBST(LINUX_HEADERS)
 
@@ -378,6 +378,14 @@ AC_ARG_ENABLE(
 )
 
 AC_ARG_ENABLE(
+       [lock-profiler],
+       AS_HELP_STRING([--enable-lock-profiler],[enable lock/mutex profiling code (default is NO).]),
+       [if test x$enableval = xyes; then
+               lock_profiler=true
+       fi]
+)
+
+AC_ARG_ENABLE(
        [unit-tests],
        AS_HELP_STRING([--enable-unit-tests],[enable unit tests on IKEv2 daemon startup (default is NO).]),
        [if test x$enableval = xyes; then
@@ -386,6 +394,14 @@ AC_ARG_ENABLE(
 )
 
 AC_ARG_ENABLE(
+       [load-tests],
+       AS_HELP_STRING([--enable-load-tests],[enable load testing plugin for IKEv2 daemon (default is NO).]),
+       [if test x$enableval = xyes; then
+               loadtest=true
+       fi]
+)
+
+AC_ARG_ENABLE(
        [eap-sim],
        AS_HELP_STRING([--enable-eap-sim],[build SIM authenication module for EAP (default is NO).]),
        [if test x$enableval = xyes; then
@@ -394,6 +410,14 @@ AC_ARG_ENABLE(
 )
 
 AC_ARG_ENABLE(
+       [eap-sim-file],
+       AS_HELP_STRING([--enable-eap-sim-file],[build EAP-SIM backend based on a triplet file (default is NO).]),
+       [if test x$enableval = xyes; then
+               eap_sim_file=true
+       fi]
+)
+
+AC_ARG_ENABLE(
        [eap-identity],
        AS_HELP_STRING([--enable-eap-identity],[build EAP module providing EAP-Identity helper (default is NO).]),
        [if test x$enableval = xyes; then
@@ -426,6 +450,33 @@ AC_ARG_ENABLE(
 )
 
 AC_ARG_ENABLE(
+       [kernel-netlink],
+       AS_HELP_STRING([--disable-kernel-netlink],[disable the netlink kernel interface. (default is NO).]),
+       [if test x$enableval = xyes; then
+               kernel_netlink=true
+        else
+               kernel_netlink=false
+       fi],
+       kernel_netlink=true
+)
+
+AC_ARG_ENABLE(
+       [kernel-pfkey],
+       AS_HELP_STRING([--enable-kernel-pfkey],[enable the PF_KEY kernel interface. (default is NO).]),
+       [if test x$enableval = xyes; then
+               kernel_pfkey=true
+       fi]
+)
+
+AC_ARG_ENABLE(
+       [kernel-klips],
+       AS_HELP_STRING([--enable-kernel-klips],[enable the KLIPS kernel interface. (default is NO).]),
+       [if test x$enableval = xyes; then
+               kernel_klips=true
+       fi]
+)
+
+AC_ARG_ENABLE(
        [nat-transport],
        AS_HELP_STRING([--enable-nat-transport],[enable NAT traversal with IPsec transport mode (default is NO).]),
        [if test x$enableval = xyes; then
@@ -519,6 +570,17 @@ AC_ARG_ENABLE(
 )
 
 AC_ARG_ENABLE(
+       [threads],
+       AS_HELP_STRING([--disable-threads],[disable the use of threads in pluto. Charon always uses threads. (default is NO).]),
+       [if test x$enableval = xyes; then
+               threads=true
+        else
+               threads=false
+       fi],
+       threads=true
+)
+
+AC_ARG_ENABLE(
        [charon],
        AS_HELP_STRING([--disable-charon],[disable the IKEv2 keying daemon charon. (default is NO).]),
        [if test x$enableval = xyes; then
@@ -542,7 +604,7 @@ AC_ARG_ENABLE(
 
 AC_ARG_ENABLE(
        [updown],
-       AS_HELP_STRING([--disable-updown],[disable installation of firewall scripts. (default is NO).]),
+       AS_HELP_STRING([--disable-updown],[disable updown firewall script plugin. (default is NO).]),
        [if test x$enableval = xyes; then
                updown=true
         else
@@ -572,6 +634,16 @@ AC_ARG_ENABLE(
 )
 
 AC_ARG_ENABLE(
+       [agent],
+       AS_HELP_STRING([--enable-agent],[enables the ssh-agent signing plugin. (default is NO).]),
+       [if test x$enableval = xyes; then
+               agent=true
+        else
+               agent=false
+       fi],
+)
+
+AC_ARG_ENABLE(
        [uci],
        AS_HELP_STRING([--enable-uci],[enable OpenWRT UCI configuration plugin (default is NO).]),
        [if test x$enableval = xyes; then
@@ -636,6 +708,21 @@ AC_HAVE_LIBRARY(dl)
 AC_CHECK_FUNCS(backtrace)
 AC_CHECK_FUNCS(dladdr)
 
+AC_MSG_CHECKING([for gcc atomic operations])
+AC_TRY_RUN(
+[
+       int main() {
+               volatile int ref = 1;
+               __sync_fetch_and_add (&ref, 1);
+               __sync_sub_and_fetch (&ref, 1);
+               /* Make sure test fails if operations are not supported */
+               __sync_val_compare_and_swap(&ref, 1, 0);
+               return ref;
+       }
+],
+[AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_GCC_ATOMIC_OPERATIONS)],
+[AC_MSG_RESULT([no])])
+
 if test x$gmp = xtrue; then
        AC_HAVE_LIBRARY([gmp],[LIBS="$LIBS"],[AC_MSG_ERROR([GNU Multi Precision library gmp not found])])
        AC_MSG_CHECKING([gmp.h version >= 4.1.4])
@@ -793,6 +880,9 @@ fi
 if test x$openssl = xtrue; then
        libstrongswan_plugins=${libstrongswan_plugins}" openssl"
 fi
+if test x$agent = xtrue; then
+       libstrongswan_plugins=${libstrongswan_plugins}" agent"
+fi
 if test x$gmp = xtrue; then
        libstrongswan_plugins=${libstrongswan_plugins}" gmp"
 fi
@@ -823,6 +913,7 @@ AM_CONDITIONAL(USE_MYSQL, test x$mysql = xtrue)
 AM_CONDITIONAL(USE_SQLITE, test x$sqlite = xtrue)
 AM_CONDITIONAL(USE_PADLOCK, test x$padlock = xtrue)
 AM_CONDITIONAL(USE_OPENSSL, test x$openssl = xtrue)
+AM_CONDITIONAL(USE_AGENT, test x$agent = xtrue)
 
 dnl charon plugins
 dnl ==============
@@ -833,18 +924,25 @@ AM_CONDITIONAL(USE_NM, test x$nm = xtrue)
 AM_CONDITIONAL(USE_UCI, test x$uci = 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_UNIT_TESTS, test x$unittest = xtrue)
+AM_CONDITIONAL(USE_LOAD_TESTS, test x$loadtest = 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_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_KERNEL_NETLINK, test x$kernel_netlink = xtrue)
+AM_CONDITIONAL(USE_KERNEL_PFKEY, test x$kernel_pfkey = xtrue)
+AM_CONDITIONAL(USE_KERNEL_KLIPS, test x$kernel_klips = xtrue)
 
 dnl other options
 dnl =============
 AM_CONDITIONAL(USE_SMARTCARD, test x$smartcard = xtrue)
 AM_CONDITIONAL(USE_CISCO_QUIRKS, test x$cisco_quirks = xtrue)
 AM_CONDITIONAL(USE_LEAK_DETECTIVE, test x$leak_detective = xtrue)
+AM_CONDITIONAL(USE_LOCK_PROFILER, test x$lock_profiler = xtrue)
 AM_CONDITIONAL(USE_NAT_TRANSPORT, test x$nat_transport = xtrue)
 AM_CONDITIONAL(USE_VENDORID, test x$vendor_id = xtrue)
 AM_CONDITIONAL(USE_XAUTH_VID, test x$xauth_vid = xtrue)
@@ -856,9 +954,9 @@ AM_CONDITIONAL(USE_INTEGRITY_TEST, test x$integrity_test = xtrue)
 AM_CONDITIONAL(USE_SELF_TEST, test x$self_test = xtrue)
 AM_CONDITIONAL(USE_CAPABILITIES, test x$capabilities = xlibcap)
 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_UPDOWN, test x$updown = xtrue)
 AM_CONDITIONAL(USE_LIBSTRONGSWAN, test x$charon = xtrue -o x$tools = xtrue)
 AM_CONDITIONAL(USE_FILE_CONFIG, test x$pluto = xtrue -o x$stroke = xtrue)
 
@@ -900,6 +998,7 @@ AC_OUTPUT(
        src/libstrongswan/plugins/sqlite/Makefile
        src/libstrongswan/plugins/padlock/Makefile
        src/libstrongswan/plugins/openssl/Makefile
+       src/libstrongswan/plugins/agent/Makefile
        src/libstrongswan/fips/Makefile
        src/libcrypto/Makefile
        src/libfreeswan/Makefile
@@ -911,6 +1010,10 @@ AC_OUTPUT(
        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/kernel_netlink/Makefile
+       src/charon/plugins/kernel_pfkey/Makefile
+       src/charon/plugins/kernel_klips/Makefile
        src/charon/plugins/smp/Makefile
        src/charon/plugins/sql/Makefile
        src/charon/plugins/medsrv/Makefile
@@ -918,7 +1021,9 @@ AC_OUTPUT(
        src/charon/plugins/nm/Makefile
        src/charon/plugins/uci/Makefile
        src/charon/plugins/stroke/Makefile
+       src/charon/plugins/updown/Makefile
        src/charon/plugins/unit_tester/Makefile
+       src/charon/plugins/load_tester/Makefile
        src/stroke/Makefile
        src/ipsec/Makefile
        src/starter/Makefile