Use macros to define --enable/--disable options
authorMartin Willi <martin@strongswan.org>
Mon, 7 Sep 2009 08:34:14 +0000 (10:34 +0200)
committerMartin Willi <martin@strongswan.org>
Mon, 7 Sep 2009 13:00:45 +0000 (15:00 +0200)
configure.in
m4/macros/enable-disable.m4 [new file with mode: 0644]

index 514cc5a..2f80f5e 100644 (file)
@@ -146,650 +146,77 @@ AC_ARG_WITH(
        [capabilities=no]
 )
 
-AC_ARG_ENABLE(
-       [curl],
-       AS_HELP_STRING([--enable-curl],[enable CURL fetcher plugin to fetch files via libcurl (default is NO). Requires libcurl.]),
-       [if test x$enableval = xyes; then
-               curl=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [ldap],
-       AS_HELP_STRING([--enable-ldap],[enable LDAP fetching plugin to fetch files via libldap (default is NO). Requires openLDAP.]),
-       [if test x$enableval = xyes; then
-               ldap=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [aes],
-       AS_HELP_STRING([--disable-aes],[disable own AES software implementation plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               aes=true
-        else
-               aes=false
-       fi],
-       aes=true
-)
-
-AC_ARG_ENABLE(
-       [des],
-       AS_HELP_STRING([--disable-des],[disable own DES/3DES software implementation plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               des=true
-        else
-               des=false
-       fi],
-       des=true
-)
-
-AC_ARG_ENABLE(
-       [blowfish],
-       AS_HELP_STRING([--enable-blowfish],[enable Blowfish software implementation plugin (default is NO).]),
-       [if test x$enableval = xyes; then
-               blowfish=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [md4],
-       AS_HELP_STRING([--enable-md4],[enable MD4 software implementation plugin (default is NO).]),
-       [if test x$enableval = xyes; then
-               md4=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [md5],
-       AS_HELP_STRING([--disable-md5],[disable own MD5 software implementation plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               md5=true
-        else
-               md5=false
-       fi],
-       md5=true
-)
-
-AC_ARG_ENABLE(
-       [sha1],
-       AS_HELP_STRING([--disable-sha1],[disable own SHA1 software implementation plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               sha1=true
-        else
-               sha1=false
-       fi],
-       sha1=true
-)
-
-AC_ARG_ENABLE(
-       [sha2],
-       AS_HELP_STRING([--disable-sha2],[disable own SHA256/SHA384/SHA512 software implementation plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               sha2=true
-        else
-               sha2=false
-       fi],
-       sha2=true
-)
-
-AC_ARG_ENABLE(
-       [fips-prf],
-       AS_HELP_STRING([--disable-fips-prf],[disable FIPS PRF software implementation plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               fips_prf=true
-        else
-               fips_prf=false
-       fi],
-       fips_prf=true
-)
-
-AC_ARG_ENABLE(
-       [gmp],
-       AS_HELP_STRING([--disable-gmp],[disable own GNU MP (libgmp) based crypto implementation plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               gmp=true
-        else
-               gmp=false
-       fi],
-       gmp=true
-)
-
-AC_ARG_ENABLE(
-       [random],
-       AS_HELP_STRING([--disable-random],[disable RNG implementation on top of /dev/(u)random. (default is NO).]),
-       [if test x$enableval = xyes; then
-               random=true
-        else
-               random=false
-       fi],
-       random=true
-)
-
-AC_ARG_ENABLE(
-       [x509],
-       AS_HELP_STRING([--disable-x509],[disable own X509 certificate implementation plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               x509=true
-        else
-               x509=false
-       fi],
-       x509=true
-)
-
-AC_ARG_ENABLE(
-       [pubkey],
-       AS_HELP_STRING([--disable-pubkey],[disable RAW public key support plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               pubkey=true
-        else
-               pubkey=false
-       fi],
-       pubkey=true
-)
-
-AC_ARG_ENABLE(
-       [pkcs1],
-       AS_HELP_STRING([--disable-pkcs1],[disable PKCS1 key decoding plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               pkcs1=true
-        else
-               pkcs1=false
-       fi],
-       pkcs1=true
-)
-
-AC_ARG_ENABLE(
-       [pgp],
-       AS_HELP_STRING([--disable-pgp],[disable PGP key decoding plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               pgp=true
-        else
-               pgp=false
-       fi],
-       pgp=true
-)
-
-AC_ARG_ENABLE(
-       [dnskey],
-       AS_HELP_STRING([--disable-dnskey],[disable DNS RR key decoding plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               dnskey=true
-        else
-               dnskey=false
-       fi],
-       dnskey=true
-)
-
-AC_ARG_ENABLE(
-       [pem],
-       AS_HELP_STRING([--disable-pem],[disable PEM decoding plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               pem=true
-        else
-               pem=false
-       fi],
-       pem=true
-)
-
-AC_ARG_ENABLE(
-       [hmac],
-       AS_HELP_STRING([--disable-hmac],[disable HMAC crypto implementation plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               hmac=true
-        else
-               hmac=false
-       fi],
-       hmac=true
-)
-
-AC_ARG_ENABLE(
-       [xcbc],
-       AS_HELP_STRING([--disable-xcbc],[disable xcbc crypto implementation plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               xcbc=true
-        else
-               xcbc=false
-       fi],
-       xcbc=true
-)
-
-AC_ARG_ENABLE(
-       [test-vectors],
-       AS_HELP_STRING([--enable-test-vectors],[enable plugin providing crypto test vectors (default is NO).]),
-       [if test x$enableval = xyes; then
-               test_vectors=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [mysql],
-       AS_HELP_STRING([--enable-mysql],[enable MySQL database support (default is NO). Requires libmysqlclient_r.]),
-       [if test x$enableval = xyes; then
-               mysql=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [sqlite],
-       AS_HELP_STRING([--enable-sqlite],[enable SQLite database support (default is NO). Requires libsqlite3.]),
-       [if test x$enableval = xyes; then
-               sqlite=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [stroke],
-       AS_HELP_STRING([--disable-stroke],[disable charons stroke (pluto compatibility) configuration backend. (default is NO).]),
-       [if test x$enableval = xyes; then
-               stroke=true
-        else
-               stroke=false
-       fi],
-       stroke=true
-)
-
-AC_ARG_ENABLE(
-       [medsrv],
-       AS_HELP_STRING([--enable-medsrv],[enable mediation server web frontend and daemon plugin (default is NO).]),
-       [if test x$enableval = xyes; then
-               medsrv=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [medcli],
-       AS_HELP_STRING([--enable-medcli],[enable mediation client configuration database plugin (default is NO).]),
-       [if test x$enableval = xyes; then
-               medcli=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [smp],
-       AS_HELP_STRING([--enable-smp],[enable SMP configuration and control interface (default is NO). Requires libxml.]),
-       [if test x$enableval = xyes; then
-               smp=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [sql],
-       AS_HELP_STRING([--enable-sql],[enable SQL database configuration backend (default is NO).]),
-       [if test x$enableval = xyes; then
-               sql=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [smartcard],
-       AS_HELP_STRING([--enable-smartcard],[enable smartcard support (default is NO).]),
-       [if test x$enableval = xyes; then
-               smartcard=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [cisco-quirks],
-       AS_HELP_STRING([--enable-cisco-quirks],[enable support of Cisco VPN client (default is NO).]),
-       [if test x$enableval = xyes; then
-               cisco_quirks=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [leak-detective],
-       AS_HELP_STRING([--enable-leak-detective],[enable malloc hooks to find memory leaks (default is NO).]),
-       [if test x$enableval = xyes; then
-               leak_detective=true
-       fi]
-)
-
-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
-               unittest=true
-       fi]
-)
-
-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
-               eap_sim=true
-       fi]
-)
-
-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
-               eap_identity=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [eap-md5],
-       AS_HELP_STRING([--enable-eap-md5],[build MD5 (CHAP) authenication module for EAP (default is NO).]),
-       [if test x$enableval = xyes; then
-               eap_md5=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [eap-gtc],
-       AS_HELP_STRING([--enable-eap-gtc],[build PAM based GTC authenication module for EAP (default is NO).]),
-       [if test x$enableval = xyes; then
-               eap_gtc=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [eap-aka],
-       AS_HELP_STRING([--enable-eap-aka],[build AKA authentication module for EAP (default is NO).]),
-       [if test x$enableval = xyes; then
-               eap_aka=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [eap-mschapv2],
-       AS_HELP_STRING([--enable-eap-mschapv2],[build MS-CHAPv2 authenication module for EAP (default is NO).]),
-       [if test x$enableval = xyes; then
-               eap_mschapv2=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [eap-radius],
-       AS_HELP_STRING([--enable-eap-radius],[build RADIUS proxy authenication module for EAP (default is NO).]),
-       [if test x$enableval = xyes; then
-               eap_radius=true
-       fi]
-)
-
-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-pfroute],
-       AS_HELP_STRING([--enable-kernel-pfroute],[enable the PF_ROUTE kernel interface. (default is NO).]),
-       [if test x$enableval = xyes; then
-               kernel_pfroute=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
-               nat_transport=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [vendor-id],
-       AS_HELP_STRING([--disable-vendor-id],[disable the sending of the strongSwan vendor ID (default is NO).]),
-       [if test x$enableval = xyes; then
-               vendor_id=true
-        else
-               vendor_id=false
-       fi],
-       vendor_id=true
-)
-
-AC_ARG_ENABLE(
-       [xauth-vid],
-       AS_HELP_STRING([--disable-xauth-vid],[disable the sending of the XAUTH vendor ID (default is NO).]),
-       [if test x$enableval = xyes; then
-               xauth_vid=true
-        else
-               xauth_vid=false
-       fi],
-       xauth_vid=true
-)
-
-AC_ARG_ENABLE(
-       [dumm],
-       AS_HELP_STRING([--enable-dumm],[build the DUMM UML test framework (default is NO).]),
-       [if test x$enableval = xyes; then
-               dumm=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [fast],
-       AS_HELP_STRING([--enable-fast],[build libfast (FastCGI Application Server w/ templates (default is NO).]),
-       [if test x$enableval = xyes; then
-               fast=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [manager],
-       AS_HELP_STRING([--enable-manager],[build web management console (default is NO).]),
-       [if test x$enableval = xyes; then
-               manager=true
-               xml=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [mediation],
-       AS_HELP_STRING([--enable-mediation],[enable IKEv2 Mediation Extension (default is NO).]),
-       [if test x$enableval = xyes; then
-               me=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [integrity-test],
-       AS_HELP_STRING([--enable-integrity-test],[enable integrity testing of libstrongswan and plugins (default is NO).]),
-       [if test x$enableval = xyes; then
-               integrity_test=true 
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [pluto],
-       AS_HELP_STRING([--disable-pluto],[disable the IKEv1 keying daemon pluto. (default is NO).]),
-       [if test x$enableval = xyes; then
-               pluto=true
-        else
-               pluto=false
-       fi],
-       pluto=true
-)
-
-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
-               charon=true
-        else
-               charon=false
-       fi],
-       charon=true
-)
-
-AC_ARG_ENABLE(
-       [tools],
-       AS_HELP_STRING([--disable-tools],[disable additional utilities (openac, scepclient and pki). (default is NO).]),
-       [if test x$enableval = xyes; then
-               tools=true
-        else
-               tools=false
-       fi],
-       tools=true
-)
-
-AC_ARG_ENABLE(
-       [scripts],
-       AS_HELP_STRING([--disable-scripts],[disable additional utilities (found in directory scripts). (default is NO).]),
-       [if test x$enableval = xyes; then
-               scripts=true
-        else
-               scripts=false
-       fi],
-       scripts=true
-)
-
-AC_ARG_ENABLE(
-       [updown],
-       AS_HELP_STRING([--disable-updown],[disable updown firewall script plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               updown=true
-        else
-               updown=false
-       fi],
-       updown=true
-)
-
-AC_ARG_ENABLE(
-       [attr],
-       AS_HELP_STRING([--disable-attr],[disable strongswan.conf based configuration attribute plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               attr=true
-        else
-               attr=false
-       fi],
-       attr=true
-)
-
-AC_ARG_ENABLE(
-       [resolv-conf],
-       AS_HELP_STRING([--disable-resolv-conf],[disable resolv.conf DNS handler plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               resolvconf=true
-        else
-               resolvconf=false
-       fi],
-       resolvconf=true
-)
-
-AC_ARG_ENABLE(
-       [padlock],
-       AS_HELP_STRING([--enable-padlock],[enables VIA Padlock crypto plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               padlock=true
-        else
-               padlock=false
-       fi],
-)
-
-AC_ARG_ENABLE(
-       [openssl],
-       AS_HELP_STRING([--enable-openssl],[enables the OpenSSL crypto plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               openssl=true
-        else
-               openssl=false
-       fi],
-)
-
-AC_ARG_ENABLE(
-       [gcrypt],
-       AS_HELP_STRING([--enable-gcrypt],[enables the libgcrypt plugin. (default is NO).]),
-       [if test x$enableval = xyes; then
-               gcrypt=true
-        else
-               gcrypt=false
-       fi],
-)
-
-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
-               uci=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [nm],
-       AS_HELP_STRING([--enable-nm],[enable NetworkManager plugin (default is NO).]),
-       [if test x$enableval = xyes; then
-               nm=true
-       fi]
-)
-
-AC_ARG_ENABLE(
-       [vstr],
-       AS_HELP_STRING([--enable-vstr],[enforce using the Vstr string library to replace glibc-like printf hooks (default is NO).]),
-       [if test x$enableval = xyes; then
-               vstr=true
-       fi]
-)
+m4_include(m4/macros/enable-disable.m4)
+
+ARG_ENABL_SET([curl],           [enable CURL fetcher plugin to fetch files via libcurl. Requires libcurl.])
+ARG_ENABL_SET([ldap],           [enable LDAP fetching plugin to fetch files via libldap. Requires openLDAP.])
+ARG_DISBL_SET([aes],            [disable AES software implementation plugin.])
+ARG_DISBL_SET([des],            [disable DES/3DES software implementation plugin.])
+ARG_ENABL_SET([blowfish],       [enable Blowfish software implementation plugin.])
+ARG_ENABL_SET([md4],            [enable MD4 software implementation plugin.])
+ARG_DISBL_SET([md5],            [disable MD5 software implementation plugin.])
+ARG_DISBL_SET([sha1],           [disable SHA1 software implementation plugin.])
+ARG_DISBL_SET([sha2],           [disable SHA256/SHA384/SHA512 software implementation plugin.])
+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([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.])
+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([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.])
+ARG_DISBL_SET([stroke],         [disable charons stroke (pluto compatibility) configuration backend.])
+ARG_ENABL_SET([medsrv],         [enable mediation server web frontend and daemon plugin.])
+ARG_ENABL_SET([medcli],         [enable mediation client configuration database plugin.])
+ARG_ENABL_SET([smp],            [enable SMP configuration and control interface. Requires libxml.])
+ARG_ENABL_SET([sql],            [enable SQL database configuration backend.])
+ARG_ENABL_SET([smartcard],      [enable smartcard support.])
+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([eap-sim-file],   [enable EAP-SIM backend based on a triplet file.])
+ARG_ENABL_SET([eap-identity],   [enable EAP module providing EAP-Identity helper.])
+ARG_ENABL_SET([enable-eap-md5], [enable EAP MD5 (CHAP) authenication module.])
+ARG_ENABL_SET([enable-eap-gtc], [enable PAM based EAP GTC authenication 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_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_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.])
+ARG_ENABL_SET([dumm],           [enable the DUMM UML test framework.])
+ARG_ENABL_SET([fast],           [enable libfast (FastCGI Application Server w/ templates.])
+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([pluto],          [disable the IKEv1 keying daemon pluto.])
+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_DISBL_SET([updown],         [disable updown firewall script plugin.])
+ARG_DISBL_SET([attr],           [disable strongswan.conf based configuration attribute plugin.])
+ARG_DISBL_SET([resolv-conf],    [disable resolv.conf 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([uci],            [enable OpenWRT UCI configuration plugin.])
+ARG_ENABL_SET([nm],             [enable NetworkManager plugin.])
+ARG_ENABL_SET([vstr],           [enforce using the Vstr string library to replace glibc-like printf hooks.])
 
 dnl =========================
 dnl  set up compiler and flags
diff --git a/m4/macros/enable-disable.m4 b/m4/macros/enable-disable.m4
new file mode 100644 (file)
index 0000000..6d7959e
--- /dev/null
@@ -0,0 +1,32 @@
+
+# ARG_ENABL_SET(option, help)
+# ---------------------------
+# Create a --enable-$1 option with helptext, set a variable $1 to true/false
+AC_DEFUN([ARG_ENABL_SET],
+       [AC_ARG_ENABLE(
+               [$1],
+               AS_HELP_STRING([--enable-$1], [$2]),
+               [if test x$enableval = xyes; then
+                       patsubst([$1], [-], [_])=true
+                else
+                       patsubst([$1], [-], [_])=false
+               fi],
+               patsubst([$1], [-], [_])=false
+       )]
+)
+
+# ARG_DISBL_SET(option, help)
+# ---------------------------
+# Create a --disable-$1 option with helptext, set a variable $1 to true/false
+AC_DEFUN([ARG_DISBL_SET],
+       [AC_ARG_ENABLE(
+               [$1],
+               AS_HELP_STRING([--disable-$1], [$2]),
+               [if test x$enableval = xyes; then
+                       patsubst([$1], [-], [_])=true
+                else
+                       patsubst([$1], [-], [_])=false
+               fi],
+               patsubst([$1], [-], [_])=true
+       )]
+)