aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2009-09-07 12:07:57 +0200
committerMartin Willi <martin@strongswan.org>2009-09-07 15:00:45 +0200
commitb7b56533862f8b4ae705e3adb31b7b9533a42947 (patch)
tree63f32988d97e75dd7b34eae48097a60e529a7497
parentb803bc82f4517d864938ced136170c33d8655852 (diff)
downloadstrongswan-b7b56533862f8b4ae705e3adb31b7b9533a42947.tar.bz2
strongswan-b7b56533862f8b4ae705e3adb31b7b9533a42947.tar.xz
Use macros to define --with options
-rw-r--r--configure.in115
-rw-r--r--m4/macros/with.m424
-rw-r--r--src/_updown/Makefile.am6
-rw-r--r--src/_updown/_updown.in6
-rw-r--r--src/charon/Makefile.am2
-rw-r--r--src/charon/plugins/eap_sim/Makefile.am4
-rw-r--r--src/charon/plugins/kernel_klips/Makefile.am2
-rw-r--r--src/charon/plugins/kernel_netlink/Makefile.am6
-rw-r--r--src/charon/plugins/kernel_netlink/kernel_netlink_net.c12
-rw-r--r--src/charon/plugins/kernel_pfkey/Makefile.am2
-rw-r--r--src/charon/plugins/kernel_pfroute/Makefile.am2
-rw-r--r--src/libstrongswan/plugins/random/Makefile.am4
-rw-r--r--src/pluto/Makefile.am3
-rw-r--r--src/starter/Makefile.am4
-rw-r--r--testing/Makefile.am2
-rwxr-xr-xtesting/do-tests.in2
16 files changed, 69 insertions, 127 deletions
diff --git a/configure.in b/configure.in
index 2f80f5e0e..b5d86d41b 100644
--- a/configure.in
+++ b/configure.in
@@ -26,12 +26,22 @@ dnl =================================
dnl check --enable-xxx & --with-xxx
dnl =================================
-AC_ARG_WITH(
- [default-pkcs11],
- AS_HELP_STRING([--with-default-pkcs11=lib],[set the default PKCS11 library other than "/usr/lib/opensc-pkcs11.so"]),
- [AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "$withval")],
- [AC_DEFINE_UNQUOTED(PKCS11_DEFAULT_LIB, "/usr/lib/opensc-pkcs11.so")]
-)
+m4_include(m4/macros/with.m4)
+
+ARG_WITH_SUBST([default-pkcs11], [/usr/lib/opensc-pkcs11.so], [set the default PKCS11 library])
+ARG_WITH_SUBST([random-device], [/dev/random], [set the device to read real random data from])
+ARG_WITH_SUBST([urandom-device], [/dev/urandom], [set the device to read pseudo random data from])
+ARG_WITH_SUBST([strongswan-conf], [${sysconfdir}/strongswan.conf], [set the strongswan.conf file location])
+ARG_WITH_SUBST([resolv-conf], [${sysconfdir}/resolv.conf], [set the file to use in DNS handler plugin])
+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([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. Currenlty only the value "libcap" is supported])
AC_ARG_WITH(
[xauth-module],
@@ -40,91 +50,6 @@ AC_ARG_WITH(
)
AC_ARG_WITH(
- [random-device],
- AS_HELP_STRING([--with-random-device=dev],[set the device for real random data other than "/dev/random"]),
- [AC_DEFINE_UNQUOTED(DEV_RANDOM, "$withval")],
- [AC_DEFINE_UNQUOTED(DEV_RANDOM, "/dev/random")]
-)
-AC_ARG_WITH(
- [resolv-conf],
- AS_HELP_STRING([--with-resolv-conf=file],[set the file to use in DNS handler plugin other than "sysconfdir/resolv.conf"]),
- [AC_SUBST(resolv_conf, "$withval")],
- [AC_SUBST(resolv_conf, "${sysconfdir}/resolv.conf")]
-)
-
-AC_ARG_WITH(
- [strongswan-conf],
- AS_HELP_STRING([--with-strongswan-conf=file],[strongswan.conf file other than "sysconfdir/strongswan.conf"]),
- [AC_SUBST(strongswan_conf, "$withval")],
- [AC_SUBST(strongswan_conf, "${sysconfdir}/strongswan.conf")]
-)
-
-AC_ARG_WITH(
- [urandom-device],
- AS_HELP_STRING([--with-urandom-device=dev],[set the device for pseudo random data other than "/dev/urandom"]),
- [AC_DEFINE_UNQUOTED(DEV_URANDOM, "$withval")],
- [AC_DEFINE_UNQUOTED(DEV_URANDOM, "/dev/urandom")]
-)
-
-AC_ARG_WITH(
- [piddir],
- AS_HELP_STRING([--with-piddir=dir],[path for PID and UNIX socket files other than "/var/run"]),
- [AC_SUBST(piddir, "$withval")],
- [AC_SUBST(piddir, "/var/run")]
-)
-
-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(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_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_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, "\${top_srcdir}/src/include")]
-)
-AC_SUBST(LINUX_HEADERS)
-
-AC_ARG_WITH(
- [routing-table],
- AS_HELP_STRING([--with-routing-table=num],[use routing table for IPsec routes (default: 220)]),
- [AC_DEFINE_UNQUOTED(IPSEC_ROUTING_TABLE, $withval) AC_SUBST(IPSEC_ROUTING_TABLE, "$withval")],
- [AC_DEFINE_UNQUOTED(IPSEC_ROUTING_TABLE, 220) AC_SUBST(IPSEC_ROUTING_TABLE, "220")]
-)
-
-AC_ARG_WITH(
- [routing-table-prio],
- AS_HELP_STRING([--with-routing-table-prio=prio],[priority for IPsec routing table (default: 220)]),
- [AC_DEFINE_UNQUOTED(IPSEC_ROUTING_TABLE_PRIO, $withval) AC_SUBST(IPSEC_ROUTING_TABLE_PRIO, "$withval")],
- [AC_DEFINE_UNQUOTED(IPSEC_ROUTING_TABLE_PRIO, 220) AC_SUBST(IPSEC_ROUTING_TABLE_PRIO, "220")]
-)
-
-AC_ARG_WITH(
- [uid],,[AC_MSG_ERROR([--with-uid is gone, use --with-user instead!])]
-)
-
-AC_ARG_WITH(
- [gid],,[AC_MSG_ERROR([--with-gid is gone, use --with-group instead!])]
-)
-
-AC_ARG_WITH(
[user],
AS_HELP_STRING([--with-user=user],[change user of the daemons to "user" after startup (default is "root").]),
[AC_DEFINE_UNQUOTED(IPSEC_USER, "$withval") AC_SUBST(ipsecuser, "$withval")],
@@ -138,14 +63,6 @@ AC_ARG_WITH(
[AC_SUBST(ipsecgroup, "root")]
)
-dnl Will be extended to --with-capabilities=libcap|libcap2
-AC_ARG_WITH(
- [capabilities],
- AS_HELP_STRING([--with-capabilities=libcap],[capability dropping using libcap. Currenlty only the value "libcap" is supported (default is NO).]),
- [capabilities="$withval"],
- [capabilities=no]
-)
-
m4_include(m4/macros/enable-disable.m4)
ARG_ENABL_SET([curl], [enable CURL fetcher plugin to fetch files via libcurl. Requires libcurl.])
diff --git a/m4/macros/with.m4 b/m4/macros/with.m4
new file mode 100644
index 000000000..908333b47
--- /dev/null
+++ b/m4/macros/with.m4
@@ -0,0 +1,24 @@
+
+# ARG_WITH_SUBST(option, default, help)
+# -----------------------------------
+# Create a --with-$1 option with helptext, AC_SUBST($1) to $withval/default
+AC_DEFUN([ARG_WITH_SUBST],
+ [AC_ARG_WITH(
+ [$1],
+ AS_HELP_STRING([--with-$1=arg], [$3 (default: $2).]),
+ [AC_SUBST(patsubst([$1], [-], [_]), ["$withval"])],
+ [AC_SUBST(patsubst([$1], [-], [_]), ["$2"])]
+ )]
+)
+
+# ARG_WITH_SET(option, default, help)
+# -----------------------------------
+# Create a --with-$1 option with helptext, set a variable $1 to $withval/default
+AC_DEFUN([ARG_WITH_SET],
+ [AC_ARG_WITH(
+ [$1],
+ AS_HELP_STRING([--with-$1=arg], [$3 (default: $2).]),
+ patsubst([$1], [-], [_])="$withval",
+ patsubst([$1], [-], [_])=$2
+ )]
+)
diff --git a/src/_updown/Makefile.am b/src/_updown/Makefile.am
index 5fc04ab88..116322e1e 100644
--- a/src/_updown/Makefile.am
+++ b/src/_updown/Makefile.am
@@ -5,8 +5,8 @@ EXTRA_DIST = _updown.in
_updown : _updown.in
sed \
- -e "s:@IPSEC_SBINDIR@:$(sbindir):" \
- -e "s:\@IPSEC_ROUTING_TABLE\@:$(IPSEC_ROUTING_TABLE):" \
- -e "s:\@IPSEC_ROUTING_TABLE_PRIO\@:$(IPSEC_ROUTING_TABLE_PRIO):" \
+ -e "s:\@sbindir\@:$(sbindir):" \
+ -e "s:\@routing_table\@:$(routing_table):" \
+ -e "s:\@routing_table_prio\@:$(routing_table_prio):" \
$(srcdir)/$@.in > $@
chmod +x $@
diff --git a/src/_updown/_updown.in b/src/_updown/_updown.in
index 2a63b2f49..2cc311665 100644
--- a/src/_updown/_updown.in
+++ b/src/_updown/_updown.in
@@ -117,7 +117,7 @@
#
# define a minimum PATH environment in case it is not set
-PATH="/sbin:/bin:/usr/sbin:/usr/bin:@IPSEC_SBINDIR@"
+PATH="/sbin:/bin:/usr/sbin:/usr/bin:@sbindir@"
export PATH
# uncomment to log VPN connections
@@ -139,10 +139,10 @@ FAC_PRIO=local0.notice
# must be enabled
#
# special routing table for sourceip routes
-SOURCEIP_ROUTING_TABLE=@IPSEC_ROUTING_TABLE@
+SOURCEIP_ROUTING_TABLE=@routing_table@
#
# priority of the sourceip routing table
-SOURCEIP_ROUTING_TABLE_PRIO=@IPSEC_ROUTING_TABLE_PRIO@
+SOURCEIP_ROUTING_TABLE_PRIO=@routing_table_prio@
# check interface version
case "$PLUTO_VERSION" in
diff --git a/src/charon/Makefile.am b/src/charon/Makefile.am
index ab9d47c3b..20ca08302 100644
--- a/src/charon/Makefile.am
+++ b/src/charon/Makefile.am
@@ -102,7 +102,7 @@ credentials/sets/ocsp_response_wrapper.c credentials/sets/ocsp_response_wrapper.
credentials/sets/cert_cache.c credentials/sets/cert_cache.h \
credentials/credential_set.h
-INCLUDES = -I${linuxdir} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
+INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic \
-DIPSEC_DIR=\"${ipsecdir}\" \
-DIPSEC_PIDDIR=\"${piddir}\" \
diff --git a/src/charon/plugins/eap_sim/Makefile.am b/src/charon/plugins/eap_sim/Makefile.am
index e503bddab..49b72dc44 100644
--- a/src/charon/plugins/eap_sim/Makefile.am
+++ b/src/charon/plugins/eap_sim/Makefile.am
@@ -1,7 +1,9 @@
INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
-AM_CFLAGS = -rdynamic -DIPSEC_CONFDIR=\"${confdir}\" -DSIM_READER_LIB=\"${simreader}\"
+AM_CFLAGS = -rdynamic \
+ -DIPSEC_CONFDIR=\"${confdir}\" \
+ -DSIM_READER_LIB=\"${sim_reader}\"
plugin_LTLIBRARIES = libstrongswan-eapsim.la
diff --git a/src/charon/plugins/kernel_klips/Makefile.am b/src/charon/plugins/kernel_klips/Makefile.am
index 0c0987cca..a7ae06df1 100644
--- a/src/charon/plugins/kernel_klips/Makefile.am
+++ b/src/charon/plugins/kernel_klips/Makefile.am
@@ -1,5 +1,5 @@
-INCLUDES = -I${linuxdir} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
+INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
diff --git a/src/charon/plugins/kernel_netlink/Makefile.am b/src/charon/plugins/kernel_netlink/Makefile.am
index 6351280d6..31d9c6d5c 100644
--- a/src/charon/plugins/kernel_netlink/Makefile.am
+++ b/src/charon/plugins/kernel_netlink/Makefile.am
@@ -1,7 +1,9 @@
-INCLUDES = -I${linuxdir} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
+INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
-AM_CFLAGS = -rdynamic
+AM_CFLAGS = -rdynamic \
+-DROUTING_TABLE=${routing_table} \
+-DROUTING_TABLE_PRIO=${routing_table_prio}
plugin_LTLIBRARIES = libstrongswan-kernel-netlink.la
diff --git a/src/charon/plugins/kernel_netlink/kernel_netlink_net.c b/src/charon/plugins/kernel_netlink/kernel_netlink_net.c
index 8fd25e96f..1037c8084 100644
--- a/src/charon/plugins/kernel_netlink/kernel_netlink_net.c
+++ b/src/charon/plugins/kernel_netlink/kernel_netlink_net.c
@@ -34,14 +34,6 @@
/** delay before firing roam jobs (ms) */
#define ROAM_DELAY 100
-/** routing table for routes installed by us */
-#ifndef IPSEC_ROUTING_TABLE
-#define IPSEC_ROUTING_TABLE 100
-#endif
-#ifndef IPSEC_ROUTING_TABLE_PRIO
-#define IPSEC_ROUTING_TABLE_PRIO 100
-#endif
-
typedef struct addr_entry_t addr_entry_t;
/**
@@ -1366,9 +1358,9 @@ kernel_netlink_net_t *kernel_netlink_net_create()
this->condvar = condvar_create(CONDVAR_TYPE_DEFAULT);
timerclear(&this->last_roam);
this->routing_table = lib->settings->get_int(lib->settings,
- "charon.routing_table", IPSEC_ROUTING_TABLE);
+ "charon.routing_table", ROUTING_TABLE);
this->routing_table_prio = lib->settings->get_int(lib->settings,
- "charon.routing_table_prio", IPSEC_ROUTING_TABLE_PRIO);
+ "charon.routing_table_prio", ROUTING_TABLE_PRIO);
this->process_route = lib->settings->get_bool(lib->settings,
"charon.process_route", TRUE);
this->install_virtual_ip = lib->settings->get_bool(lib->settings,
diff --git a/src/charon/plugins/kernel_pfkey/Makefile.am b/src/charon/plugins/kernel_pfkey/Makefile.am
index e03a0ca02..a72c6a999 100644
--- a/src/charon/plugins/kernel_pfkey/Makefile.am
+++ b/src/charon/plugins/kernel_pfkey/Makefile.am
@@ -1,5 +1,5 @@
-INCLUDES = -I${linuxdir} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
+INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
diff --git a/src/charon/plugins/kernel_pfroute/Makefile.am b/src/charon/plugins/kernel_pfroute/Makefile.am
index b6e6587a7..0065d9b0a 100644
--- a/src/charon/plugins/kernel_pfroute/Makefile.am
+++ b/src/charon/plugins/kernel_pfroute/Makefile.am
@@ -1,5 +1,5 @@
-INCLUDES = -I${linuxdir} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
+INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
diff --git a/src/libstrongswan/plugins/random/Makefile.am b/src/libstrongswan/plugins/random/Makefile.am
index 9a11b8567..7c2283ae7 100644
--- a/src/libstrongswan/plugins/random/Makefile.am
+++ b/src/libstrongswan/plugins/random/Makefile.am
@@ -1,7 +1,9 @@
INCLUDES = -I$(top_srcdir)/src/libstrongswan
-AM_CFLAGS = -rdynamic
+AM_CFLAGS = -rdynamic \
+-DDEV_RANDOM=\"${random_device}\" \
+-DDEV_URANDOM=\"${urandom_device}\"
plugin_LTLIBRARIES = libstrongswan-random.la
diff --git a/src/pluto/Makefile.am b/src/pluto/Makefile.am
index 81677b314..0e384f820 100644
--- a/src/pluto/Makefile.am
+++ b/src/pluto/Makefile.am
@@ -58,7 +58,7 @@ LIBSTRONGSWANDIR=$(top_builddir)/src/libstrongswan
LIBFREESWANDIR=$(top_builddir)/src/libfreeswan
INCLUDES = \
--I${linuxdir} \
+-I${linux_headers} \
-I$(top_srcdir)/src/libstrongswan \
-I$(top_srcdir)/src/libfreeswan \
-I$(top_srcdir)/src/whack
@@ -71,6 +71,7 @@ AM_CFLAGS = \
-DIPSEC_PLUGINDIR=\"${plugindir}\" \
-DPLUGINS=\""${pluto_plugins}\"" \
-DSTRONGSWAN_CONF=\"${strongswan_conf}\" \
+-DPKCS11_DEFAULT_LIB=\"${default_pkcs11}\" \
-DKERNEL26_SUPPORT -DKERNEL26_HAS_KAME_DUPLICATES \
-DPLUTO -DKLIPS -DDEBUG
diff --git a/src/starter/Makefile.am b/src/starter/Makefile.am
index f72d2edba..a0ce6ae61 100644
--- a/src/starter/Makefile.am
+++ b/src/starter/Makefile.am
@@ -6,7 +6,7 @@ keywords.c files.h keywords.h cmp.c starter.c cmp.h exec.c invokecharon.c \
exec.h invokecharon.h lex.yy.c loglite.c klips.c klips.h
INCLUDES = \
--I${linuxdir} \
+-I${linux_headers} \
-I$(top_srcdir)/src/libstrongswan \
-I$(top_srcdir)/src/libfreeswan \
-I$(top_srcdir)/src/pluto \
@@ -18,6 +18,8 @@ AM_CFLAGS = \
-DIPSEC_CONFDIR=\"${confdir}\" \
-DIPSEC_PIDDIR=\"${piddir}\" \
-DIPSEC_EAPDIR=\"${eapdir}\" \
+-DDEV_RANDOM=\"${random_device}\" \
+-DDEV_URANDOM=\"${urandom_device}\" \
-DDEBUG
starter_LDADD = defs.o $(top_builddir)/src/libfreeswan/libfreeswan.a $(top_builddir)/src/libstrongswan/libstrongswan.la $(SOCKLIB)
diff --git a/testing/Makefile.am b/testing/Makefile.am
index ad8d5042a..130b87b43 100644
--- a/testing/Makefile.am
+++ b/testing/Makefile.am
@@ -5,7 +5,7 @@ EXTRA_DIST = do-tests.in make-testing start-testing stop-testing \
do-tests : do-tests.in
sed \
- -e "s:\@IPSEC_ROUTING_TABLE\@:$(IPSEC_ROUTING_TABLE):" \
+ -e "s:\@routing_table\@:$(routing_table):" \
$(srcdir)/$@.in > $@
chmod +x $@
diff --git a/testing/do-tests.in b/testing/do-tests.in
index 3a66f4548..5c29e9b73 100755
--- a/testing/do-tests.in
+++ b/testing/do-tests.in
@@ -46,7 +46,7 @@ TESTRESULTSHTML=$TODAYDIR/all.html
INDEX=$TODAYDIR/index.html
DEFAULTTESTSDIR=$UMLTESTDIR/testing/tests
-SOURCEIP_ROUTING_TABLE=@IPSEC_ROUTING_TABLE@
+SOURCEIP_ROUTING_TABLE=@routing_table@
testnumber="0"
failed_cnt="0"