aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/charon/Makefile.am126
-rw-r--r--src/charon/plugins/android/Makefile.am8
-rw-r--r--src/charon/plugins/attr/Makefile.am7
-rw-r--r--src/charon/plugins/eap_aka/Makefile.am7
-rw-r--r--src/charon/plugins/eap_aka_3gpp2/Makefile.am9
-rw-r--r--src/charon/plugins/eap_gtc/Makefile.am7
-rw-r--r--src/charon/plugins/eap_identity/Makefile.am8
-rw-r--r--src/charon/plugins/eap_md5/Makefile.am7
-rw-r--r--src/charon/plugins/eap_mschapv2/Makefile.am7
-rw-r--r--src/charon/plugins/eap_radius/Makefile.am7
-rw-r--r--src/charon/plugins/eap_sim/Makefile.am7
-rw-r--r--src/charon/plugins/eap_sim_file/Makefile.am7
-rw-r--r--src/charon/plugins/eap_simaka_pseudonym/Makefile.am7
-rw-r--r--src/charon/plugins/eap_simaka_reauth/Makefile.am7
-rw-r--r--src/charon/plugins/kernel_klips/Makefile.am6
-rw-r--r--src/charon/plugins/kernel_netlink/Makefile.am6
-rw-r--r--src/charon/plugins/kernel_pfkey/Makefile.am6
-rw-r--r--src/charon/plugins/kernel_pfroute/Makefile.am6
-rw-r--r--src/charon/plugins/load_tester/Makefile.am7
-rw-r--r--src/charon/plugins/medcli/Makefile.am8
-rw-r--r--src/charon/plugins/medsrv/Makefile.am8
-rw-r--r--src/charon/plugins/nm/Makefile.am9
-rw-r--r--src/charon/plugins/resolve/Makefile.am9
-rw-r--r--src/charon/plugins/smp/Makefile.am10
-rw-r--r--src/charon/plugins/socket_default/Makefile.am11
-rw-r--r--src/charon/plugins/socket_dynamic/Makefile.am7
-rw-r--r--src/charon/plugins/socket_raw/Makefile.am7
-rw-r--r--src/charon/plugins/sql/Makefile.am8
-rw-r--r--src/charon/plugins/stroke/Makefile.am7
-rw-r--r--src/charon/plugins/uci/Makefile.am9
-rw-r--r--src/charon/plugins/unit_tester/Makefile.am7
-rw-r--r--src/charon/plugins/updown/Makefile.am9
-rw-r--r--src/libstrongswan/Makefile.am86
-rw-r--r--src/libstrongswan/plugins/aes/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/agent/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/attr_sql/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/blowfish/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/curl/Makefile.am9
-rw-r--r--src/libstrongswan/plugins/des/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/dnskey/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/fips_prf/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/gcrypt/Makefile.am8
-rw-r--r--src/libstrongswan/plugins/gmp/Makefile.am9
-rw-r--r--src/libstrongswan/plugins/hmac/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/ldap/Makefile.am8
-rw-r--r--src/libstrongswan/plugins/md4/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/md5/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/mysql/Makefile.am8
-rw-r--r--src/libstrongswan/plugins/openssl/Makefile.am8
-rw-r--r--src/libstrongswan/plugins/padlock/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/pem/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/pgp/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/pkcs1/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/pubkey/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/random/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/sha1/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/sha2/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/sqlite/Makefile.am8
-rw-r--r--src/libstrongswan/plugins/test_vectors/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/x509/Makefile.am7
-rw-r--r--src/libstrongswan/plugins/xcbc/Makefile.am7
61 files changed, 536 insertions, 116 deletions
diff --git a/src/charon/Makefile.am b/src/charon/Makefile.am
index 40e3e7c20..83625f920 100644
--- a/src/charon/Makefile.am
+++ b/src/charon/Makefile.am
@@ -122,166 +122,272 @@ if USE_CAPABILITIES
charon_LDADD += -lcap
endif
+if MONOLITHIC
+ lib_LTLIBRARIES = libcharon.la
+ charon_LDADD += $(top_builddir)/src/charon/libcharon.la
+ libcharon_la_SOURCES =
+ libcharon_la_LIBADD =
+endif
# build optional plugins
########################
-SUBDIRS = .
+SUBDIRS =
PLUGINS = ${libstrongswan_plugins}
if USE_LOAD_TESTER
SUBDIRS += plugins/load_tester
PLUGINS += load-tester
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/load_tester/libstrongswan-load-tester.la
+endif
endif
if USE_KERNEL_PFKEY
SUBDIRS += plugins/kernel_pfkey
PLUGINS += kernel-pfkey
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/kernel_pfkey/libstrongswan-kernel-pfkey.la
+endif
endif
if USE_KERNEL_PFROUTE
SUBDIRS += plugins/kernel_pfroute
PLUGINS += kernel-pfroute
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/kernel_pfroute/libstrongswan-kernel-pfroute.la
+endif
endif
if USE_KERNEL_KLIPS
SUBDIRS += plugins/kernel_klips
PLUGINS += kernel-klips
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/kernel_klips/libstrongswan-kernel-klips.la
+endif
endif
if USE_KERNEL_NETLINK
SUBDIRS += plugins/kernel_netlink
PLUGINS += kernel-netlink
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/kernel_netlink/libstrongswan-kernel-netlink.la
+endif
endif
if USE_SOCKET_DEFAULT
SUBDIRS += plugins/socket_default
PLUGINS += socket-default
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/socket_default/libstrongswan-socket-default.la
+endif
endif
if USE_SOCKET_RAW
SUBDIRS += plugins/socket_raw
PLUGINS += socket-raw
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/socket_raw/libstrongswan-socket-raw.la
+endif
endif
if USE_SOCKET_DYNAMIC
SUBDIRS += plugins/socket_dynamic
PLUGINS += socket-dynamic
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/socket_dynamic/libstrongswan-socket-dynamic.la
+endif
endif
if USE_STROKE
SUBDIRS += plugins/stroke
PLUGINS += stroke
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/stroke/libstrongswan-stroke.la
+endif
endif
if USE_SMP
SUBDIRS += plugins/smp
PLUGINS += smp
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/smp/libstrongswan-smp.la
+endif
endif
if USE_SQL
SUBDIRS += plugins/sql
PLUGINS += sql
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/sql/libstrongswan-sql.la
+endif
endif
if USE_UPDOWN
SUBDIRS += plugins/updown
PLUGINS += updown
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/updown/libstrongswan-updown.la
+endif
endif
if USE_ATTR
SUBDIRS += plugins/attr
PLUGINS += attr
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/attr/libstrongswan-attr.la
+endif
endif
if USE_EAP_IDENTITY
SUBDIRS += plugins/eap_identity
PLUGINS += eap-identity
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_identity/libstrongswan-eap-identity.la
+endif
endif
if USE_EAP_SIM
SUBDIRS += plugins/eap_sim
PLUGINS += eap-sim
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_sim/libstrongswan-eap-sim.la
+endif
endif
if USE_EAP_SIM_FILE
SUBDIRS += plugins/eap_sim_file
PLUGINS += eap-sim-file
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_sim_file/libstrongswan-eap-sim-file.la
+endif
endif
if USE_EAP_SIMAKA_PSEUDONYM
SUBDIRS += plugins/eap_simaka_pseudonym
PLUGINS += eap-simaka-pseudonym
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_simaka_pseudonym/libstrongswan-eap-simaka-pseudonym.la
+endif
endif
if USE_EAP_SIMAKA_REAUTH
SUBDIRS += plugins/eap_simaka_reauth
PLUGINS += eap-simaka-reauth
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_simaka_reauth/libstrongswan-eap-simaka-reauth.la
endif
-
-if USE_EAP_MD5
- SUBDIRS += plugins/eap_md5
- PLUGINS += eap-md5
-endif
-
-if USE_EAP_GTC
- SUBDIRS += plugins/eap_gtc
- PLUGINS += eap-gtc
endif
if USE_EAP_AKA
SUBDIRS += plugins/eap_aka
PLUGINS += eap-aka
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_aka/libstrongswan-eap-aka.la
+endif
endif
if USE_EAP_AKA_3GPP2
SUBDIRS += plugins/eap_aka_3gpp2
PLUGINS += eap-aka-3gpp2
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_aka_3gpp2/libstrongswan-eap-aka-3gpp2.la
+endif
+endif
+
+if USE_SIMAKA
+if MONOLITHIC
+ # otherwise this library is linked to both the eap_aka and the eap_sim plugin
+ libcharon_la_LIBADD += $(top_builddir)/src/libsimaka/libsimaka.la
+endif
+endif
+
+if USE_EAP_MD5
+ SUBDIRS += plugins/eap_md5
+ PLUGINS += eap-md5
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_md5/libstrongswan-eap-md5.la
+endif
+endif
+
+if USE_EAP_GTC
+ SUBDIRS += plugins/eap_gtc
+ PLUGINS += eap-gtc
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_gtc/libstrongswan-eap-gtc.la
+endif
endif
if USE_EAP_MSCHAPV2
SUBDIRS += plugins/eap_mschapv2
PLUGINS += eap-mschapv2
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_mschapv2/libstrongswan-eap-mschapv2.la
+endif
endif
if USE_EAP_RADIUS
SUBDIRS += plugins/eap_radius
PLUGINS += eap-radius
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/eap_radius/libstrongswan-eap-radius.la
+endif
endif
if USE_MEDSRV
SUBDIRS += plugins/medsrv
PLUGINS += medsrv
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/medsrv/libstrongswan-medsrv.la
+endif
endif
if USE_MEDCLI
SUBDIRS += plugins/medcli
PLUGINS += medcli
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/medcli/libstrongswan-medcli.la
+endif
endif
if USE_NM
SUBDIRS += plugins/nm
PLUGINS += nm
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/nm/libstrongswan-nm.la
+endif
endif
if USE_RESOLVE
SUBDIRS += plugins/resolve
PLUGINS += resolve
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/resolve/libstrongswan-resolve.la
+endif
endif
if USE_ANDROID
SUBDIRS += plugins/android
PLUGINS += android
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/android/libstrongswan-android.la
+endif
endif
if USE_UCI
SUBDIRS += plugins/uci
PLUGINS += uci
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/uci/libstrongswan-uci.la
+endif
endif
if USE_UNIT_TESTS
SUBDIRS += plugins/unit_tester
PLUGINS += unit-tester
+if MONOLITHIC
+ libcharon_la_LIBADD += plugins/unit_tester/libstrongswan-unit-tester.la
+endif
endif
AM_CFLAGS += -DPLUGINS=\""${PLUGINS}\""
diff --git a/src/charon/plugins/android/Makefile.am b/src/charon/plugins/android/Makefile.am
index 86fc231f8..065704b2a 100644
--- a/src/charon/plugins/android/Makefile.am
+++ b/src/charon/plugins/android/Makefile.am
@@ -3,11 +3,17 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-android.la
+libstrongswan_android_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-android.la
+libstrongswan_android_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_android_la_SOURCES = \
android_plugin.c android_plugin.h \
android_handler.c android_handler.h
libstrongswan_android_la_LDFLAGS = -module -avoid-version
-libstrongswan_android_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lcutils
+libstrongswan_android_la_LIBADD += -lcutils
diff --git a/src/charon/plugins/attr/Makefile.am b/src/charon/plugins/attr/Makefile.am
index 08a3b3af8..4262d2a25 100644
--- a/src/charon/plugins/attr/Makefile.am
+++ b/src/charon/plugins/attr/Makefile.am
@@ -3,8 +3,13 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-attr.la
+else
plugin_LTLIBRARIES = libstrongswan-attr.la
+libstrongswan_attr_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_attr_la_SOURCES = attr_plugin.h attr_plugin.c \
attr_provider.h attr_provider.c
libstrongswan_attr_la_LDFLAGS = -module -avoid-version
-libstrongswan_attr_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
diff --git a/src/charon/plugins/eap_aka/Makefile.am b/src/charon/plugins/eap_aka/Makefile.am
index 63966ad34..a97bbf893 100644
--- a/src/charon/plugins/eap_aka/Makefile.am
+++ b/src/charon/plugins/eap_aka/Makefile.am
@@ -4,11 +4,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon \
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-aka.la
+else
plugin_LTLIBRARIES = libstrongswan-eap-aka.la
+libstrongswan_eap_aka_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la $(top_builddir)/src/libsimaka/libsimaka.la
+endif
libstrongswan_eap_aka_la_SOURCES = eap_aka_plugin.h eap_aka_plugin.c \
eap_aka_peer.h eap_aka_peer.c \
eap_aka_server.h eap_aka_server.c
libstrongswan_eap_aka_la_LDFLAGS = -module -avoid-version
-libstrongswan_eap_aka_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la $(top_builddir)/src/libsimaka/libsimaka.la
-
diff --git a/src/charon/plugins/eap_aka_3gpp2/Makefile.am b/src/charon/plugins/eap_aka_3gpp2/Makefile.am
index 5996ab9e6..98ead2200 100644
--- a/src/charon/plugins/eap_aka_3gpp2/Makefile.am
+++ b/src/charon/plugins/eap_aka_3gpp2/Makefile.am
@@ -3,7 +3,13 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-aka-3gpp2.la
+libstrongswan_eap_aka_3gpp2_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-eap-aka-3gpp2.la
+libstrongswan_eap_aka_3gpp2_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_eap_aka_3gpp2_la_SOURCES = \
eap_aka_3gpp2_plugin.h eap_aka_3gpp2_plugin.c \
@@ -11,5 +17,4 @@ libstrongswan_eap_aka_3gpp2_la_SOURCES = \
eap_aka_3gpp2_provider.h eap_aka_3gpp2_provider.c \
eap_aka_3gpp2_functions.h eap_aka_3gpp2_functions.c
libstrongswan_eap_aka_3gpp2_la_LDFLAGS = -module -avoid-version
-libstrongswan_eap_aka_3gpp2_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lgmp
-
+libstrongswan_eap_aka_3gpp2_la_LIBADD += -lgmp
diff --git a/src/charon/plugins/eap_gtc/Makefile.am b/src/charon/plugins/eap_gtc/Makefile.am
index 633f97e44..83fd0de7e 100644
--- a/src/charon/plugins/eap_gtc/Makefile.am
+++ b/src/charon/plugins/eap_gtc/Makefile.am
@@ -3,9 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-gtc.la
+else
plugin_LTLIBRARIES = libstrongswan-eap-gtc.la
+libstrongswan_eap_gtc_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_eap_gtc_la_SOURCES = eap_gtc_plugin.h eap_gtc_plugin.c eap_gtc.h eap_gtc.c
libstrongswan_eap_gtc_la_LDFLAGS = -module -avoid-version -lpam
-libstrongswan_eap_gtc_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/eap_identity/Makefile.am b/src/charon/plugins/eap_identity/Makefile.am
index a0d87f65a..0b0c358e7 100644
--- a/src/charon/plugins/eap_identity/Makefile.am
+++ b/src/charon/plugins/eap_identity/Makefile.am
@@ -3,9 +3,13 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-identity.la
+else
plugin_LTLIBRARIES = libstrongswan-eap-identity.la
+libstrongswan_eap_identity_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_eap_identity_la_SOURCES = \
eap_identity_plugin.h eap_identity_plugin.c eap_identity.h eap_identity.c
libstrongswan_eap_identity_la_LDFLAGS = -module -avoid-version
-libstrongswan_eap_identity_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/eap_md5/Makefile.am b/src/charon/plugins/eap_md5/Makefile.am
index 5d61f1eda..7b6c20ce8 100644
--- a/src/charon/plugins/eap_md5/Makefile.am
+++ b/src/charon/plugins/eap_md5/Makefile.am
@@ -3,9 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-md5.la
+else
plugin_LTLIBRARIES = libstrongswan-eap-md5.la
+libstrongswan_eap_md5_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_eap_md5_la_SOURCES = eap_md5_plugin.h eap_md5_plugin.c eap_md5.h eap_md5.c
libstrongswan_eap_md5_la_LDFLAGS = -module -avoid-version
-libstrongswan_eap_md5_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/eap_mschapv2/Makefile.am b/src/charon/plugins/eap_mschapv2/Makefile.am
index bae2a0fa7..c0efe579a 100644
--- a/src/charon/plugins/eap_mschapv2/Makefile.am
+++ b/src/charon/plugins/eap_mschapv2/Makefile.am
@@ -3,11 +3,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-mschapv2.la
+else
plugin_LTLIBRARIES = libstrongswan-eap-mschapv2.la
+libstrongswan_eap_mschapv2_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_eap_mschapv2_la_SOURCES = \
eap_mschapv2_plugin.h eap_mschapv2_plugin.c \
eap_mschapv2.h eap_mschapv2.c
libstrongswan_eap_mschapv2_la_LDFLAGS = -module -avoid-version
-libstrongswan_eap_mschapv2_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/eap_radius/Makefile.am b/src/charon/plugins/eap_radius/Makefile.am
index 19d6ee0bb..6432d86e5 100644
--- a/src/charon/plugins/eap_radius/Makefile.am
+++ b/src/charon/plugins/eap_radius/Makefile.am
@@ -3,7 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-radius.la
+else
plugin_LTLIBRARIES = libstrongswan-eap-radius.la
+libstrongswan_eap_radius_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_eap_radius_la_SOURCES = \
eap_radius_plugin.h eap_radius_plugin.c \
@@ -11,5 +16,3 @@ libstrongswan_eap_radius_la_SOURCES = \
radius_client.h radius_client.c \
radius_message.h radius_message.c
libstrongswan_eap_radius_la_LDFLAGS = -module -avoid-version
-libstrongswan_eap_radius_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/eap_sim/Makefile.am b/src/charon/plugins/eap_sim/Makefile.am
index 8e6b5eee0..96cd724da 100644
--- a/src/charon/plugins/eap_sim/Makefile.am
+++ b/src/charon/plugins/eap_sim/Makefile.am
@@ -4,10 +4,13 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon \
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-sim.la
+else
plugin_LTLIBRARIES = libstrongswan-eap-sim.la
+libstrongswan_eap_sim_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la $(top_builddir)/src/libsimaka/libsimaka.la
+endif
libstrongswan_eap_sim_la_SOURCES = eap_sim_plugin.h eap_sim_plugin.c \
eap_sim_peer.h eap_sim_peer.c \
eap_sim_server.h eap_sim_server.c
-libstrongswan_eap_sim_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la $(top_builddir)/src/libsimaka/libsimaka.la
-
diff --git a/src/charon/plugins/eap_sim_file/Makefile.am b/src/charon/plugins/eap_sim_file/Makefile.am
index 30dc093d1..a231908aa 100644
--- a/src/charon/plugins/eap_sim_file/Makefile.am
+++ b/src/charon/plugins/eap_sim_file/Makefile.am
@@ -3,7 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic -DIPSEC_CONFDIR=\"${sysconfdir}\"
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-sim-file.la
+else
plugin_LTLIBRARIES = libstrongswan-eap-sim-file.la
+libstrongswan_eap_sim_file_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_eap_sim_file_la_SOURCES = \
eap_sim_file_plugin.h eap_sim_file_plugin.c \
@@ -11,5 +16,3 @@ libstrongswan_eap_sim_file_la_SOURCES = \
eap_sim_file_provider.h eap_sim_file_provider.c \
eap_sim_file_triplets.h eap_sim_file_triplets.c
libstrongswan_eap_sim_file_la_LDFLAGS = -module -avoid-version
-libstrongswan_eap_sim_file_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/eap_simaka_pseudonym/Makefile.am b/src/charon/plugins/eap_simaka_pseudonym/Makefile.am
index 76f88fde8..bce0a53e1 100644
--- a/src/charon/plugins/eap_simaka_pseudonym/Makefile.am
+++ b/src/charon/plugins/eap_simaka_pseudonym/Makefile.am
@@ -3,12 +3,15 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-simaka-pseudonym.la
+else
plugin_LTLIBRARIES = libstrongswan-eap-simaka-pseudonym.la
+libstrongswan_eap_simaka_pseudonym_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_eap_simaka_pseudonym_la_SOURCES = \
eap_simaka_pseudonym_plugin.h eap_simaka_pseudonym_plugin.c \
eap_simaka_pseudonym_card.h eap_simaka_pseudonym_card.c \
eap_simaka_pseudonym_provider.h eap_simaka_pseudonym_provider.c
libstrongswan_eap_simaka_pseudonym_la_LDFLAGS = -module -avoid-version
-libstrongswan_eap_simaka_pseudonym_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/eap_simaka_reauth/Makefile.am b/src/charon/plugins/eap_simaka_reauth/Makefile.am
index 1183af9f3..abb7b6648 100644
--- a/src/charon/plugins/eap_simaka_reauth/Makefile.am
+++ b/src/charon/plugins/eap_simaka_reauth/Makefile.am
@@ -3,12 +3,15 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-eap-simaka-reauth.la
+else
plugin_LTLIBRARIES = libstrongswan-eap-simaka-reauth.la
+libstrongswan_eap_simaka_reauth_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_eap_simaka_reauth_la_SOURCES = \
eap_simaka_reauth_plugin.h eap_simaka_reauth_plugin.c \
eap_simaka_reauth_card.h eap_simaka_reauth_card.c \
eap_simaka_reauth_provider.h eap_simaka_reauth_provider.c
libstrongswan_eap_simaka_reauth_la_LDFLAGS = -module -avoid-version
-libstrongswan_eap_simaka_reauth_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/kernel_klips/Makefile.am b/src/charon/plugins/kernel_klips/Makefile.am
index cd8d033a7..27bf8f9ad 100644
--- a/src/charon/plugins/kernel_klips/Makefile.am
+++ b/src/charon/plugins/kernel_klips/Makefile.am
@@ -3,9 +3,13 @@ INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-kernel-klips.la
+else
plugin_LTLIBRARIES = libstrongswan-kernel-klips.la
+libstrongswan_kernel_klips_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_kernel_klips_la_SOURCES = kernel_klips_plugin.h kernel_klips_plugin.c \
kernel_klips_ipsec.h kernel_klips_ipsec.c pfkeyv2.h
libstrongswan_kernel_klips_la_LDFLAGS = -module -avoid-version
-libstrongswan_kernel_klips_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
diff --git a/src/charon/plugins/kernel_netlink/Makefile.am b/src/charon/plugins/kernel_netlink/Makefile.am
index e97393b1f..8edf5b7c7 100644
--- a/src/charon/plugins/kernel_netlink/Makefile.am
+++ b/src/charon/plugins/kernel_netlink/Makefile.am
@@ -5,10 +5,14 @@ AM_CFLAGS = -rdynamic \
-DROUTING_TABLE=${routing_table} \
-DROUTING_TABLE_PRIO=${routing_table_prio}
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-kernel-netlink.la
+else
plugin_LTLIBRARIES = libstrongswan-kernel-netlink.la
+libstrongswan_kernel_netlink_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_kernel_netlink_la_SOURCES = kernel_netlink_plugin.h kernel_netlink_plugin.c \
kernel_netlink_ipsec.h kernel_netlink_ipsec.c kernel_netlink_net.h kernel_netlink_net.c \
kernel_netlink_shared.h kernel_netlink_shared.c
libstrongswan_kernel_netlink_la_LDFLAGS = -module -avoid-version
-libstrongswan_kernel_netlink_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
diff --git a/src/charon/plugins/kernel_pfkey/Makefile.am b/src/charon/plugins/kernel_pfkey/Makefile.am
index 967f97dbc..e9fe358c0 100644
--- a/src/charon/plugins/kernel_pfkey/Makefile.am
+++ b/src/charon/plugins/kernel_pfkey/Makefile.am
@@ -3,9 +3,13 @@ INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-kernel-pfkey.la
+else
plugin_LTLIBRARIES = libstrongswan-kernel-pfkey.la
+libstrongswan_kernel_pfkey_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_kernel_pfkey_la_SOURCES = kernel_pfkey_plugin.h kernel_pfkey_plugin.c \
kernel_pfkey_ipsec.h kernel_pfkey_ipsec.c
libstrongswan_kernel_pfkey_la_LDFLAGS = -module -avoid-version
-libstrongswan_kernel_pfkey_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
diff --git a/src/charon/plugins/kernel_pfroute/Makefile.am b/src/charon/plugins/kernel_pfroute/Makefile.am
index 15f62311c..c47daf617 100644
--- a/src/charon/plugins/kernel_pfroute/Makefile.am
+++ b/src/charon/plugins/kernel_pfroute/Makefile.am
@@ -3,9 +3,13 @@ INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-kernel-pfroute.la
+else
plugin_LTLIBRARIES = libstrongswan-kernel-pfroute.la
+libstrongswan_kernel_pfroute_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_kernel_pfroute_la_SOURCES = kernel_pfroute_plugin.h kernel_pfroute_plugin.c \
kernel_pfroute_net.h kernel_pfroute_net.c
libstrongswan_kernel_pfroute_la_LDFLAGS = -module -avoid-version
-libstrongswan_kernel_pfroute_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
diff --git a/src/charon/plugins/load_tester/Makefile.am b/src/charon/plugins/load_tester/Makefile.am
index db1317e8c..3e25bb175 100644
--- a/src/charon/plugins/load_tester/Makefile.am
+++ b/src/charon/plugins/load_tester/Makefile.am
@@ -3,7 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-load-tester.la
+else
plugin_LTLIBRARIES = libstrongswan-load-tester.la
+libstrongswan_load_tester_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_load_tester_la_SOURCES = \
load_tester_plugin.c load_tester_plugin.h \
@@ -14,5 +19,3 @@ libstrongswan_load_tester_la_SOURCES = \
load_tester_diffie_hellman.c load_tester_diffie_hellman.h
libstrongswan_load_tester_la_LDFLAGS = -module -avoid-version
-libstrongswan_load_tester_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/medcli/Makefile.am b/src/charon/plugins/medcli/Makefile.am
index 96bb650cf..c6351a7eb 100644
--- a/src/charon/plugins/medcli/Makefile.am
+++ b/src/charon/plugins/medcli/Makefile.am
@@ -3,11 +3,15 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-medcli.la
+else
plugin_LTLIBRARIES = libstrongswan-medcli.la
+libstrongswan_medcli_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_medcli_la_SOURCES = medcli_plugin.h medcli_plugin.c \
medcli_creds.h medcli_creds.c \
medcli_config.h medcli_config.c \
medcli_listener.h medcli_listener.c
libstrongswan_medcli_la_LDFLAGS = -module -avoid-version
-libstrongswan_medcli_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/medsrv/Makefile.am b/src/charon/plugins/medsrv/Makefile.am
index ddc71c62f..da387196b 100644
--- a/src/charon/plugins/medsrv/Makefile.am
+++ b/src/charon/plugins/medsrv/Makefile.am
@@ -3,10 +3,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-medsrv.la
+else
plugin_LTLIBRARIES = libstrongswan-medsrv.la
+libstrongswan_medsrv_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_medsrv_la_SOURCES = medsrv_plugin.h medsrv_plugin.c \
medsrv_creds.h medsrv_creds.c \
medsrv_config.h medsrv_config.c
libstrongswan_medsrv_la_LDFLAGS = -module -avoid-version
-libstrongswan_medsrv_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/nm/Makefile.am b/src/charon/plugins/nm/Makefile.am
index 5e9d3abae..95a1e5bc8 100644
--- a/src/charon/plugins/nm/Makefile.am
+++ b/src/charon/plugins/nm/Makefile.am
@@ -4,11 +4,18 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon ${nm_CFL
AM_CFLAGS = -rdynamic \
-DNM_CA_DIR=\"${nm_ca_dir}\"
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-nm.la
+libstrongswan_nm_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-nm.la
+libstrongswan_nm_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_nm_la_SOURCES = \
nm_plugin.h nm_plugin.c \
nm_service.h nm_service.c \
nm_creds.h nm_creds.c \
nm_handler.h nm_handler.c
libstrongswan_nm_la_LDFLAGS = -module -avoid-version
-libstrongswan_nm_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la ${nm_LIBS}
+libstrongswan_nm_la_LIBADD += ${nm_LIBS}
diff --git a/src/charon/plugins/resolve/Makefile.am b/src/charon/plugins/resolve/Makefile.am
index 5d6f48c9f..78eece670 100644
--- a/src/charon/plugins/resolve/Makefile.am
+++ b/src/charon/plugins/resolve/Makefile.am
@@ -4,11 +4,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic \
-DRESOLV_CONF=\"${resolv_conf}\"
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-resolve.la
+else
plugin_LTLIBRARIES = libstrongswan-resolve.la
+libstrongswan_resolve_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_resolve_la_SOURCES = \
resolve_plugin.h resolve_plugin.c \
resolve_handler.h resolve_handler.c
libstrongswan_resolve_la_LDFLAGS = -module -avoid-version
-libstrongswan_resolve_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
-
diff --git a/src/charon/plugins/smp/Makefile.am b/src/charon/plugins/smp/Makefile.am
index 7a68b2037..9c67ea86e 100644
--- a/src/charon/plugins/smp/Makefile.am
+++ b/src/charon/plugins/smp/Makefile.am
@@ -3,8 +3,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon ${xml_CF
AM_CFLAGS = -rdynamic -DIPSEC_PIDDIR=\"${piddir}\"
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-smp.la
+libstrongswan_smp_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-smp.la
+libstrongswan_smp_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_smp_la_SOURCES = smp.h smp.c
libstrongswan_smp_la_LDFLAGS = -module -avoid-version
-libstrongswan_smp_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la ${xml_LIBS}
-
+libstrongswan_smp_la_LIBADD += ${xml_LIBS}
diff --git a/src/charon/plugins/socket_default/Makefile.am b/src/charon/plugins/socket_default/Makefile.am
index 7f75186c9..4eb5734da 100644
--- a/src/charon/plugins/socket_default/Makefile.am
+++ b/src/charon/plugins/socket_default/Makefile.am
@@ -3,10 +3,15 @@ INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-socket-default.la
+else
plugin_LTLIBRARIES = libstrongswan-socket-default.la
+libstrongswan_socket_default_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_socket_default_la_SOURCES = \
- socket_default_plugin.h socket_default_plugin.c \
- socket_default_socket.h socket_default_socket.c
+ socket_default_socket.h socket_default_socket.c \
+ socket_default_plugin.h socket_default_plugin.c
+
libstrongswan_socket_default_la_LDFLAGS = -module -avoid-version
-libstrongswan_socket_default_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
diff --git a/src/charon/plugins/socket_dynamic/Makefile.am b/src/charon/plugins/socket_dynamic/Makefile.am
index 2b7d53acb..b9ef24da6 100644
--- a/src/charon/plugins/socket_dynamic/Makefile.am
+++ b/src/charon/plugins/socket_dynamic/Makefile.am
@@ -3,10 +3,15 @@ INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-socket-dynamic.la
+else
plugin_LTLIBRARIES = libstrongswan-socket-dynamic.la
+libstrongswan_socket_dynamic_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_socket_dynamic_la_SOURCES = \
socket_dynamic_plugin.h socket_dynamic_plugin.c \
socket_dynamic_socket.h socket_dynamic_socket.c
+
libstrongswan_socket_dynamic_la_LDFLAGS = -module -avoid-version
-libstrongswan_socket_dynamic_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
diff --git a/src/charon/plugins/socket_raw/Makefile.am b/src/charon/plugins/socket_raw/Makefile.am
index 3b7f5d7ba..f3682c832 100644
--- a/src/charon/plugins/socket_raw/Makefile.am
+++ b/src/charon/plugins/socket_raw/Makefile.am
@@ -3,10 +3,15 @@ INCLUDES = -I${linux_headers} -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-socket-raw.la
+else
plugin_LTLIBRARIES = libstrongswan-socket-raw.la
+libstrongswan_socket_raw_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_socket_raw_la_SOURCES = \
socket_raw_plugin.h socket_raw_plugin.c \
socket_raw_socket.h socket_raw_socket.c
+
libstrongswan_socket_raw_la_LDFLAGS = -module -avoid-version
-libstrongswan_socket_raw_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
diff --git a/src/charon/plugins/sql/Makefile.am b/src/charon/plugins/sql/Makefile.am
index c8adfc276..9e7e345e2 100644
--- a/src/charon/plugins/sql/Makefile.am
+++ b/src/charon/plugins/sql/Makefile.am
@@ -4,10 +4,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic \
-DPLUGINS=\""${libstrongswan_plugins}\""
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-sql.la
+else
plugin_LTLIBRARIES = libstrongswan-sql.la
+libstrongswan_sql_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_sql_la_SOURCES = \
sql_plugin.h sql_plugin.c sql_config.h sql_config.c \
sql_cred.h sql_cred.c sql_logger.h sql_logger.c
libstrongswan_sql_la_LDFLAGS = -module -avoid-version
-libstrongswan_sql_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/stroke/Makefile.am b/src/charon/plugins/stroke/Makefile.am
index 2713aabf7..21c3c80c7 100644
--- a/src/charon/plugins/stroke/Makefile.am
+++ b/src/charon/plugins/stroke/Makefile.am
@@ -6,7 +6,12 @@ AM_CFLAGS = \
-DIPSEC_CONFDIR=\"${sysconfdir}\" \
-DIPSEC_PIDDIR=\"${piddir}\"
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-stroke.la
+else
plugin_LTLIBRARIES = libstrongswan-stroke.la
+libstrongswan_stroke_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_stroke_la_SOURCES = stroke_plugin.h stroke_plugin.c \
stroke_socket.h stroke_socket.c \
@@ -19,5 +24,3 @@ libstrongswan_stroke_la_SOURCES = stroke_plugin.h stroke_plugin.c \
stroke_shared_key.h stroke_shared_key.c
libstrongswan_stroke_la_LDFLAGS = -module -avoid-version
-libstrongswan_stroke_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/uci/Makefile.am b/src/charon/plugins/uci/Makefile.am
index 7801255dc..f71921d71 100644
--- a/src/charon/plugins/uci/Makefile.am
+++ b/src/charon/plugins/uci/Makefile.am
@@ -3,12 +3,19 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-uci.la
+libstrongswan_uci_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-uci.la
+libstrongswan_uci_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_uci_la_SOURCES = \
uci_plugin.h uci_plugin.c uci_parser.h uci_parser.c \
uci_config.h uci_config.c uci_creds.h uci_creds.c \
uci_control.h uci_control.c
libstrongswan_uci_la_LDFLAGS = -module -avoid-version
-libstrongswan_uci_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -luci
+libstrongswan_uci_la_LIBADD += -luci
diff --git a/src/charon/plugins/unit_tester/Makefile.am b/src/charon/plugins/unit_tester/Makefile.am
index 28f058984..185ce87a5 100644
--- a/src/charon/plugins/unit_tester/Makefile.am
+++ b/src/charon/plugins/unit_tester/Makefile.am
@@ -3,7 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-unit-tester.la
+else
plugin_LTLIBRARIES = libstrongswan-unit-tester.la
+libstrongswan_unit_tester_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_unit_tester_la_SOURCES = unit_tester.c unit_tester.h tests.h \
tests/test_enumerator.c \
@@ -21,5 +26,3 @@ libstrongswan_unit_tester_la_SOURCES = unit_tester.c unit_tester.h tests.h \
tests/test_id.c
libstrongswan_unit_tester_la_LDFLAGS = -module -avoid-version
-libstrongswan_unit_tester_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/charon/plugins/updown/Makefile.am b/src/charon/plugins/updown/Makefile.am
index f698e2c61..e59a60db9 100644
--- a/src/charon/plugins/updown/Makefile.am
+++ b/src/charon/plugins/updown/Makefile.am
@@ -3,11 +3,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-updown.la
+else
plugin_LTLIBRARIES = libstrongswan-updown.la
+libstrongswan_updown_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_updown_la_SOURCES = \
updown_plugin.h updown_plugin.c \
updown_listener.h updown_listener.c
libstrongswan_updown_la_LDFLAGS = -module -avoid-version
-libstrongswan_updown_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
-
diff --git a/src/libstrongswan/Makefile.am b/src/libstrongswan/Makefile.am
index 7ee15052c..4c3963d03 100644
--- a/src/libstrongswan/Makefile.am
+++ b/src/libstrongswan/Makefile.am
@@ -115,116 +115,200 @@ $(srcdir)/crypto/proposal/proposal_keywords.c: $(srcdir)/crypto/proposal/proposa
# build plugins with their own Makefile
#######################################
-SUBDIRS = .
+SUBDIRS =
if USE_AES
SUBDIRS += plugins/aes
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/aes/libstrongswan-aes.la
+endif
endif
if USE_DES
SUBDIRS += plugins/des
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/des/libstrongswan-des.la
+endif
endif
if USE_BLOWFISH
SUBDIRS += plugins/blowfish
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/blowfish/libstrongswan-blowfish.la
+endif
endif
if USE_MD4
SUBDIRS += plugins/md4
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/md4/libstrongswan-md4.la
+endif
endif
if USE_MD5
SUBDIRS += plugins/md5
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/md5/libstrongswan-md5.la
+endif
endif
if USE_SHA1
SUBDIRS += plugins/sha1
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/sha1/libstrongswan-sha1.la
+endif
endif
if USE_SHA2
SUBDIRS += plugins/sha2
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/sha2/libstrongswan-sha2.la
+endif
endif
if USE_FIPS_PRF
SUBDIRS += plugins/fips_prf
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/fips_prf/libstrongswan-fips-prf.la
+endif
endif
if USE_GMP
SUBDIRS += plugins/gmp
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/gmp/libstrongswan-gmp.la
+endif
endif
if USE_RANDOM
SUBDIRS += plugins/random
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/random/libstrongswan-random.la
+endif
endif
if USE_HMAC
SUBDIRS += plugins/hmac
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/hmac/libstrongswan-hmac.la
+endif
endif
if USE_XCBC
SUBDIRS += plugins/xcbc
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/xcbc/libstrongswan-xcbc.la
+endif
endif
if USE_X509
SUBDIRS += plugins/x509
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/x509/libstrongswan-x509.la
+endif
endif
if USE_PUBKEY
SUBDIRS += plugins/pubkey
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/pubkey/libstrongswan-pubkey.la
+endif
endif
if USE_PKCS1
SUBDIRS += plugins/pkcs1
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/pkcs1/libstrongswan-pkcs1.la
+endif
endif
if USE_PGP
SUBDIRS += plugins/pgp
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/pgp/libstrongswan-pgp.la
+endif
endif
if USE_DNSKEY
SUBDIRS += plugins/dnskey
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/dnskey/libstrongswan-dnskey.la
+endif
endif
if USE_PEM
SUBDIRS += plugins/pem
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/pem/libstrongswan-pem.la
+endif
endif
if USE_CURL
SUBDIRS += plugins/curl
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/curl/libstrongswan-curl.la
+endif
endif
if USE_LDAP
SUBDIRS += plugins/ldap
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/ldap/libstrongswan-ldap.la
+endif
endif
if USE_MYSQL
SUBDIRS += plugins/mysql
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/mysql/libstrongswan-mysql.la
+endif
endif
if USE_SQLITE
SUBDIRS += plugins/sqlite
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/sqlite/libstrongswan-sqlite.la
+endif
endif
if USE_ATTR_SQL
SUBDIRS += plugins/attr_sql
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/attr_sql/libstrongswan-attr-sql.la
+endif
endif
if USE_PADLOCK
SUBDIRS += plugins/padlock
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/padlock/libstrongswan-padlock.la
+endif
endif
if USE_OPENSSL
SUBDIRS += plugins/openssl
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/openssl/libstrongswan-openssl.la
+endif
endif
if USE_GCRYPT
SUBDIRS += plugins/gcrypt
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/gcrypt/libstrongswan-gcrypt.la
+endif
endif
if USE_AGENT
SUBDIRS += plugins/agent
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/agent/libstrongswan-agent.la
+endif
endif
if USE_TEST_VECTORS
SUBDIRS += plugins/test_vectors
+if MONOLITHIC
+ libstrongswan_la_LIBADD += plugins/test_vectors/libstrongswan-test-vectors.la
+endif
endif
diff --git a/src/libstrongswan/plugins/aes/Makefile.am b/src/libstrongswan/plugins/aes/Makefile.am
index 9acd3999c..084f640d9 100644
--- a/src/libstrongswan/plugins/aes/Makefile.am
+++ b/src/libstrongswan/plugins/aes/Makefile.am
@@ -3,9 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-aes.la
+else
plugin_LTLIBRARIES = libstrongswan-aes.la
+libstrongswan_aes_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_aes_la_SOURCES = aes_plugin.h aes_plugin.c aes_crypter.c aes_crypter.h
libstrongswan_aes_la_LDFLAGS = -module -avoid-version
-libstrongswan_aes_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/agent/Makefile.am b/src/libstrongswan/plugins/agent/Makefile.am
index 72157bbf0..1163ffe32 100644
--- a/src/libstrongswan/plugins/agent/Makefile.am
+++ b/src/libstrongswan/plugins/agent/Makefile.am
@@ -3,11 +3,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-agent.la
+else
plugin_LTLIBRARIES = libstrongswan-agent.la
+libstrongswan_agent_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_agent_la_SOURCES = agent_plugin.h agent_plugin.c \
agent_private_key.c agent_private_key.h
libstrongswan_agent_la_LDFLAGS = -module -avoid-version
-libstrongswan_agent_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/attr_sql/Makefile.am b/src/libstrongswan/plugins/attr_sql/Makefile.am
index 5e98ea010..d46ade426 100644
--- a/src/libstrongswan/plugins/attr_sql/Makefile.am
+++ b/src/libstrongswan/plugins/attr_sql/Makefile.am
@@ -4,12 +4,17 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic \
-DPLUGINS=\""${libstrongswan_plugins}\""
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-attr-sql.la
+else
plugin_LTLIBRARIES = libstrongswan-attr-sql.la
+libstrongswan_attr_sql_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
+
libstrongswan_attr_sql_la_SOURCES = \
attr_sql_plugin.h attr_sql_plugin.c \
sql_attribute.h sql_attribute.c
libstrongswan_attr_sql_la_LDFLAGS = -module -avoid-version
-libstrongswan_attr_sql_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
ipsec_PROGRAMS = pool
pool_SOURCES = pool.c
diff --git a/src/libstrongswan/plugins/blowfish/Makefile.am b/src/libstrongswan/plugins/blowfish/Makefile.am
index 5554eb065..1979179ea 100644
--- a/src/libstrongswan/plugins/blowfish/Makefile.am
+++ b/src/libstrongswan/plugins/blowfish/Makefile.am
@@ -3,11 +3,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-blowfish.la
+else
plugin_LTLIBRARIES = libstrongswan-blowfish.la
+libstrongswan_blowfish_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_blowfish_la_SOURCES = \
blowfish_plugin.h blowfish_plugin.c blowfish_crypter.c blowfish_crypter.h \
bf_skey.c blowfish.h bf_pi.h bf_locl.h bf_enc.c
libstrongswan_blowfish_la_LDFLAGS = -module -avoid-version
-libstrongswan_blowfish_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/curl/Makefile.am b/src/libstrongswan/plugins/curl/Makefile.am
index 4b51c1771..cc20f51d3 100644
--- a/src/libstrongswan/plugins/curl/Makefile.am
+++ b/src/libstrongswan/plugins/curl/Makefile.am
@@ -3,9 +3,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-curl.la
+libstrongswan_curl_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-curl.la
+libstrongswan_curl_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_curl_la_SOURCES = curl_plugin.h curl_plugin.c curl_fetcher.c curl_fetcher.h
libstrongswan_curl_la_LDFLAGS = -module -avoid-version
-libstrongswan_curl_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lcurl
-
+libstrongswan_curl_la_LIBADD += -lcurl
diff --git a/src/libstrongswan/plugins/des/Makefile.am b/src/libstrongswan/plugins/des/Makefile.am
index e63e400e3..a8f7861d0 100644
--- a/src/libstrongswan/plugins/des/Makefile.am
+++ b/src/libstrongswan/plugins/des/Makefile.am
@@ -3,9 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-des.la
+else
plugin_LTLIBRARIES = libstrongswan-des.la
+libstrongswan_des_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_des_la_SOURCES = des_plugin.h des_plugin.c des_crypter.c des_crypter.h
libstrongswan_des_la_LDFLAGS = -module -avoid-version
-libstrongswan_des_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/dnskey/Makefile.am b/src/libstrongswan/plugins/dnskey/Makefile.am
index dac40d60b..9c8e61215 100644
--- a/src/libstrongswan/plugins/dnskey/Makefile.am
+++ b/src/libstrongswan/plugins/dnskey/Makefile.am
@@ -3,11 +3,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-dnskey.la
+else
plugin_LTLIBRARIES = libstrongswan-dnskey.la
+libstrongswan_dnskey_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_dnskey_la_SOURCES = dnskey_plugin.h dnskey_plugin.c \
dnskey_builder.h dnskey_builder.c
libstrongswan_dnskey_la_LDFLAGS = -module -avoid-version
-libstrongswan_dnskey_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/fips_prf/Makefile.am b/src/libstrongswan/plugins/fips_prf/Makefile.am
index fbf8a46d3..19b4feb26 100644
--- a/src/libstrongswan/plugins/fips_prf/Makefile.am
+++ b/src/libstrongswan/plugins/fips_prf/Makefile.am
@@ -3,9 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-fips-prf.la
+else
plugin_LTLIBRARIES = libstrongswan-fips-prf.la
+libstrongswan_fips_prf_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_fips_prf_la_SOURCES = fips_prf_plugin.h fips_prf_plugin.c fips_prf.c fips_prf.h
libstrongswan_fips_prf_la_LDFLAGS = -module -avoid-version
-libstrongswan_fips_prf_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/gcrypt/Makefile.am b/src/libstrongswan/plugins/gcrypt/Makefile.am
index 689396664..941f86bcf 100644
--- a/src/libstrongswan/plugins/gcrypt/Makefile.am
+++ b/src/libstrongswan/plugins/gcrypt/Makefile.am
@@ -3,7 +3,13 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-gcrypt.la
+libstrongswan_gcrypt_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-gcrypt.la
+libstrongswan_gcrypt_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_gcrypt_la_SOURCES = gcrypt_plugin.h gcrypt_plugin.c \
gcrypt_rsa_public_key.h gcrypt_rsa_public_key.c \
@@ -14,4 +20,4 @@ libstrongswan_gcrypt_la_SOURCES = gcrypt_plugin.h gcrypt_plugin.c \
gcrypt_hasher.h gcrypt_hasher.c
libstrongswan_gcrypt_la_LDFLAGS = -module -avoid-version
-libstrongswan_gcrypt_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lgcrypt
+libstrongswan_gcrypt_la_LIBADD += -lgcrypt
diff --git a/src/libstrongswan/plugins/gmp/Makefile.am b/src/libstrongswan/plugins/gmp/Makefile.am
index 3e2e4d4fa..3fadf360d 100644
--- a/src/libstrongswan/plugins/gmp/Makefile.am
+++ b/src/libstrongswan/plugins/gmp/Makefile.am
@@ -3,7 +3,13 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-gmp.la
+libstrongswan_gmp_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-gmp.la
+libstrongswan_gmp_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_gmp_la_SOURCES = gmp_plugin.h gmp_plugin.c \
gmp_diffie_hellman.c gmp_diffie_hellman.h \
@@ -11,5 +17,4 @@ libstrongswan_gmp_la_SOURCES = gmp_plugin.h gmp_plugin.c \
gmp_rsa_public_key.c gmp_rsa_public_key.h
libstrongswan_gmp_la_LDFLAGS = -module -avoid-version
-libstrongswan_gmp_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lgmp
-
+libstrongswan_gmp_la_LIBADD += -lgmp
diff --git a/src/libstrongswan/plugins/hmac/Makefile.am b/src/libstrongswan/plugins/hmac/Makefile.am
index 0689bf0c0..7f3fa37bb 100644
--- a/src/libstrongswan/plugins/hmac/Makefile.am
+++ b/src/libstrongswan/plugins/hmac/Makefile.am
@@ -3,10 +3,13 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-hmac.la
+else
plugin_LTLIBRARIES = libstrongswan-hmac.la
+libstrongswan_hmac_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_hmac_la_SOURCES = hmac_plugin.h hmac_plugin.c hmac.h hmac.c \
hmac_prf.h hmac_prf.c hmac_signer.h hmac_signer.c
libstrongswan_hmac_la_LDFLAGS = -module -avoid-version
-libstrongswan_hmac_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/ldap/Makefile.am b/src/libstrongswan/plugins/ldap/Makefile.am
index a5b46509c..e2e29bf97 100644
--- a/src/libstrongswan/plugins/ldap/Makefile.am
+++ b/src/libstrongswan/plugins/ldap/Makefile.am
@@ -3,9 +3,15 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-ldap.la
+libstrongswan_ldap_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-ldap.la
+libstrongswan_ldap_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_ldap_la_SOURCES = ldap_plugin.h ldap_plugin.c ldap_fetcher.h ldap_fetcher.c
libstrongswan_ldap_la_LDFLAGS = -module -avoid-version
-libstrongswan_ldap_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lldap -llber
+libstrongswan_ldap_la_LIBADD += -lldap -llber
diff --git a/src/libstrongswan/plugins/md4/Makefile.am b/src/libstrongswan/plugins/md4/Makefile.am
index fc9202826..9484c3a11 100644
--- a/src/libstrongswan/plugins/md4/Makefile.am
+++ b/src/libstrongswan/plugins/md4/Makefile.am
@@ -3,9 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-md4.la
+else
plugin_LTLIBRARIES = libstrongswan-md4.la
+libstrongswan_md4_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_md4_la_SOURCES = md4_plugin.h md4_plugin.c md4_hasher.c md4_hasher.h
libstrongswan_md4_la_LDFLAGS = -module -avoid-version
-libstrongswan_md4_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/md5/Makefile.am b/src/libstrongswan/plugins/md5/Makefile.am
index 9db317300..bef94a52f 100644
--- a/src/libstrongswan/plugins/md5/Makefile.am
+++ b/src/libstrongswan/plugins/md5/Makefile.am
@@ -3,9 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-md5.la
+else
plugin_LTLIBRARIES = libstrongswan-md5.la
+libstrongswan_md5_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_md5_la_SOURCES = md5_plugin.h md5_plugin.c md5_hasher.c md5_hasher.h
libstrongswan_md5_la_LDFLAGS = -module -avoid-version
-libstrongswan_md5_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/mysql/Makefile.am b/src/libstrongswan/plugins/mysql/Makefile.am
index 760d8a332..9841cd032 100644
--- a/src/libstrongswan/plugins/mysql/Makefile.am
+++ b/src/libstrongswan/plugins/mysql/Makefile.am
@@ -3,10 +3,16 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic $(MYSQLCFLAG)
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-mysql.la
+libstrongswan_mysql_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-mysql.la
+libstrongswan_mysql_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_mysql_la_SOURCES = mysql_plugin.h mysql_plugin.c \
mysql_database.h mysql_database.c
libstrongswan_mysql_la_LDFLAGS = -module -avoid-version
-libstrongswan_mysql_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la $(MYSQLLIB)
+libstrongswan_mysql_la_LIBADD += $(MYSQLLIB)
diff --git a/src/libstrongswan/plugins/openssl/Makefile.am b/src/libstrongswan/plugins/openssl/Makefile.am
index a6d8ec096..51f7b349a 100644
--- a/src/libstrongswan/plugins/openssl/Makefile.am
+++ b/src/libstrongswan/plugins/openssl/Makefile.am
@@ -3,7 +3,13 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-openssl.la
+libstrongswan_openssl_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-openssl.la
+libstrongswan_openssl_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_openssl_la_SOURCES = openssl_plugin.h openssl_plugin.c \
openssl_util.c openssl_util.h \
@@ -17,5 +23,5 @@ libstrongswan_openssl_la_SOURCES = openssl_plugin.h openssl_plugin.c \
openssl_ec_public_key.c openssl_ec_public_key.h
libstrongswan_openssl_la_LDFLAGS = -module -avoid-version
-libstrongswan_openssl_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lcrypto
+libstrongswan_openssl_la_LIBADD += -lcrypto
diff --git a/src/libstrongswan/plugins/padlock/Makefile.am b/src/libstrongswan/plugins/padlock/Makefile.am
index 837129e71..b9bf4214c 100644
--- a/src/libstrongswan/plugins/padlock/Makefile.am
+++ b/src/libstrongswan/plugins/padlock/Makefile.am
@@ -3,12 +3,15 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-padlock.la
+else
plugin_LTLIBRARIES = libstrongswan-padlock.la
+libstrongswan_padlock_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_padlock_la_SOURCES = padlock_plugin.h padlock_plugin.c \
padlock_aes_crypter.c padlock_aes_crypter.h \
padlock_sha1_hasher.c padlock_sha1_hasher.h \
padlock_rng.c padlock_rng.h
libstrongswan_padlock_la_LDFLAGS = -module -avoid-version
-libstrongswan_padlock_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/pem/Makefile.am b/src/libstrongswan/plugins/pem/Makefile.am
index 36dfd527a..ced2309a2 100644
--- a/src/libstrongswan/plugins/pem/Makefile.am
+++ b/src/libstrongswan/plugins/pem/Makefile.am
@@ -3,11 +3,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-pem.la
+else
plugin_LTLIBRARIES = libstrongswan-pem.la
+libstrongswan_pem_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_pem_la_SOURCES = pem_plugin.h pem_plugin.c \
pem_builder.c pem_builder.h
libstrongswan_pem_la_LDFLAGS = -module -avoid-version
-libstrongswan_pem_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/pgp/Makefile.am b/src/libstrongswan/plugins/pgp/Makefile.am
index e99e71846..6bbad151d 100644
--- a/src/libstrongswan/plugins/pgp/Makefile.am
+++ b/src/libstrongswan/plugins/pgp/Makefile.am
@@ -3,7 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-pgp.la
+else
plugin_LTLIBRARIES = libstrongswan-pgp.la
+libstrongswan_pgp_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_pgp_la_SOURCES = pgp_plugin.h pgp_plugin.c \
pgp_utils.h pgp_utils.c \
@@ -12,5 +17,3 @@ libstrongswan_pgp_la_SOURCES = pgp_plugin.h pgp_plugin.c \
pgp_builder.h pgp_builder.c
libstrongswan_pgp_la_LDFLAGS = -module -avoid-version
-libstrongswan_pgp_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/pkcs1/Makefile.am b/src/libstrongswan/plugins/pkcs1/Makefile.am
index 8a0cd7881..5d71095a6 100644
--- a/src/libstrongswan/plugins/pkcs1/Makefile.am
+++ b/src/libstrongswan/plugins/pkcs1/Makefile.am
@@ -3,12 +3,15 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-pkcs1.la
+else
plugin_LTLIBRARIES = libstrongswan-pkcs1.la
+libstrongswan_pkcs1_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_pkcs1_la_SOURCES = pkcs1_plugin.h pkcs1_plugin.c \
pkcs1_encoder.h pkcs1_encoder.c \
pkcs1_builder.h pkcs1_builder.c
libstrongswan_pkcs1_la_LDFLAGS = -module -avoid-version
-libstrongswan_pkcs1_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/pubkey/Makefile.am b/src/libstrongswan/plugins/pubkey/Makefile.am
index 474357b42..e87f7307b 100644
--- a/src/libstrongswan/plugins/pubkey/Makefile.am
+++ b/src/libstrongswan/plugins/pubkey/Makefile.am
@@ -3,11 +3,14 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-pubkey.la
+else
plugin_LTLIBRARIES = libstrongswan-pubkey.la
+libstrongswan_pubkey_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_pubkey_la_SOURCES = pubkey_plugin.h pubkey_plugin.c \
pubkey_cert.h pubkey_cert.c
libstrongswan_pubkey_la_LDFLAGS = -module -avoid-version
-libstrongswan_pubkey_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/random/Makefile.am b/src/libstrongswan/plugins/random/Makefile.am
index 760267d42..1e86ddf52 100644
--- a/src/libstrongswan/plugins/random/Makefile.am
+++ b/src/libstrongswan/plugins/random/Makefile.am
@@ -5,10 +5,13 @@ AM_CFLAGS = -rdynamic \
-DDEV_RANDOM=\"${random_device}\" \
-DDEV_URANDOM=\"${urandom_device}\"
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-random.la
+else
plugin_LTLIBRARIES = libstrongswan-random.la
+libstrongswan_random_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_random_la_SOURCES = random_plugin.h random_plugin.c \
random_rng.c random_rng.h
libstrongswan_random_la_LDFLAGS = -module -avoid-version
-libstrongswan_random_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/sha1/Makefile.am b/src/libstrongswan/plugins/sha1/Makefile.am
index 7165bb2cc..564eecafd 100644
--- a/src/libstrongswan/plugins/sha1/Makefile.am
+++ b/src/libstrongswan/plugins/sha1/Makefile.am
@@ -3,10 +3,13 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-sha1.la
+else
plugin_LTLIBRARIES = libstrongswan-sha1.la
+libstrongswan_sha1_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_sha1_la_SOURCES = sha1_plugin.h sha1_plugin.c \
sha1_hasher.c sha1_hasher.h sha1_prf.c sha1_prf.h
libstrongswan_sha1_la_LDFLAGS = -module -avoid-version
-libstrongswan_sha1_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/sha2/Makefile.am b/src/libstrongswan/plugins/sha2/Makefile.am
index d8c2fa25f..4d93ff460 100644
--- a/src/libstrongswan/plugins/sha2/Makefile.am
+++ b/src/libstrongswan/plugins/sha2/Makefile.am
@@ -3,9 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-sha2.la
+else
plugin_LTLIBRARIES = libstrongswan-sha2.la
+libstrongswan_sha2_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_sha2_la_SOURCES = sha2_plugin.h sha2_plugin.c sha2_hasher.c sha2_hasher.h
libstrongswan_sha2_la_LDFLAGS = -module -avoid-version
-libstrongswan_sha2_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/sqlite/Makefile.am b/src/libstrongswan/plugins/sqlite/Makefile.am
index a3bfea9be..42d592c16 100644
--- a/src/libstrongswan/plugins/sqlite/Makefile.am
+++ b/src/libstrongswan/plugins/sqlite/Makefile.am
@@ -3,10 +3,16 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-sqlite.la
+libstrongswan_sqlite_la_LIBADD =
+else
plugin_LTLIBRARIES = libstrongswan-sqlite.la
+libstrongswan_sqlite_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_sqlite_la_SOURCES = sqlite_plugin.h sqlite_plugin.c \
sqlite_database.h sqlite_database.c
libstrongswan_sqlite_la_LDFLAGS = -module -avoid-version
-libstrongswan_sqlite_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lsqlite3
+libstrongswan_sqlite_la_LIBADD += -lsqlite3
diff --git a/src/libstrongswan/plugins/test_vectors/Makefile.am b/src/libstrongswan/plugins/test_vectors/Makefile.am
index 82e93a1eb..2a683a284 100644
--- a/src/libstrongswan/plugins/test_vectors/Makefile.am
+++ b/src/libstrongswan/plugins/test_vectors/Makefile.am
@@ -3,7 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-test-vectors.la
+else
plugin_LTLIBRARIES = libstrongswan-test-vectors.la
+libstrongswan_test_vectors_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_test_vectors_la_SOURCES = \
test_vectors_plugin.h test_vectors_plugin.c test_vectors.h \
@@ -30,5 +35,3 @@ libstrongswan_test_vectors_la_SOURCES = \
test_vectors/fips_prf.c \
test_vectors/rng.c
libstrongswan_test_vectors_la_LDFLAGS = -module -avoid-version
-libstrongswan_test_vectors_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/x509/Makefile.am b/src/libstrongswan/plugins/x509/Makefile.am
index 838a62ccf..7dd51e33f 100644
--- a/src/libstrongswan/plugins/x509/Makefile.am
+++ b/src/libstrongswan/plugins/x509/Makefile.am
@@ -3,7 +3,12 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-x509.la
+else
plugin_LTLIBRARIES = libstrongswan-x509.la
+libstrongswan_x509_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_x509_la_SOURCES = x509_plugin.h x509_plugin.c \
x509_cert.h x509_cert.c \
@@ -13,5 +18,3 @@ libstrongswan_x509_la_SOURCES = x509_plugin.h x509_plugin.c \
x509_ocsp_request.h x509_ocsp_request.c \
x509_ocsp_response.h x509_ocsp_response.c
libstrongswan_x509_la_LDFLAGS = -module -avoid-version
-libstrongswan_x509_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-
diff --git a/src/libstrongswan/plugins/xcbc/Makefile.am b/src/libstrongswan/plugins/xcbc/Makefile.am
index 315b971d8..f8ae082fd 100644
--- a/src/libstrongswan/plugins/xcbc/Makefile.am
+++ b/src/libstrongswan/plugins/xcbc/Makefile.am
@@ -3,10 +3,13 @@ INCLUDES = -I$(top_srcdir)/src/libstrongswan
AM_CFLAGS = -rdynamic
+if MONOLITHIC
+noinst_LTLIBRARIES = libstrongswan-xcbc.la
+else
plugin_LTLIBRARIES = libstrongswan-xcbc.la
+libstrongswan_xcbc_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+endif
libstrongswan_xcbc_la_SOURCES = xcbc_plugin.h xcbc_plugin.c xcbc.h xcbc.c \
xcbc_prf.h xcbc_prf.c xcbc_signer.h xcbc_signer.c
libstrongswan_xcbc_la_LDFLAGS = -module -avoid-version
-libstrongswan_xcbc_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
-