diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-09-04 14:25:22 +0200 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2013-09-12 01:44:49 +0200 |
commit | 9af44ef5d9534cf6a12c0ddd90f9cad5648dcd28 (patch) | |
tree | 5a071b7524ed142b46210c2009b4c65b72465ce7 /src | |
parent | 3cb4552da62fc5c1550aa5b46a9a52ae2a1737c6 (diff) | |
download | strongswan-9af44ef5d9534cf6a12c0ddd90f9cad5648dcd28.tar.bz2 strongswan-9af44ef5d9534cf6a12c0ddd90f9cad5648dcd28.tar.xz |
Build all shared libraries with -no-undefined and link them properly
The flag is required to convince libtool on Cygwin to build DLLs. But on
Windows these shared libraries can not have undefined symbols, so we have to
link them explicitly to the libraries they reference.
For plugins this is currently not done, so only the monolithic build is
supported. The plugin loader wouldn't be able to load DLLs anyway, as
it tries to load files that don't exist on Cygwin.
Diffstat (limited to 'src')
-rw-r--r-- | src/libcharon/Makefile.am | 8 | ||||
-rw-r--r-- | src/libfast/Makefile.am | 8 | ||||
-rw-r--r-- | src/libhydra/Makefile.am | 6 | ||||
-rw-r--r-- | src/libimcv/Makefile.am | 7 | ||||
-rw-r--r-- | src/libipsec/Makefile.am | 6 | ||||
-rw-r--r-- | src/libpts/Makefile.am | 8 | ||||
-rw-r--r-- | src/libpttls/Makefile.am | 9 | ||||
-rw-r--r-- | src/libradius/Makefile.am | 7 | ||||
-rw-r--r-- | src/libsimaka/Makefile.am | 7 | ||||
-rw-r--r-- | src/libstrongswan/Makefile.am | 3 | ||||
-rw-r--r-- | src/libtls/Makefile.am | 6 | ||||
-rw-r--r-- | src/libtnccs/Makefile.am | 7 |
12 files changed, 73 insertions, 9 deletions
diff --git a/src/libcharon/Makefile.am b/src/libcharon/Makefile.am index 9c7f67690..5ee047b9c 100644 --- a/src/libcharon/Makefile.am +++ b/src/libcharon/Makefile.am @@ -136,7 +136,13 @@ AM_CPPFLAGS = \ -DIPSEC_DIR=\"${ipsecdir}\" \ -DIPSEC_PIDDIR=\"${piddir}\" -libcharon_la_LIBADD = -lm $(PTHREADLIB) $(DLLIB) $(SOCKLIB) +AM_LDFLAGS = \ + -no-undefined + +libcharon_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la \ + $(top_builddir)/src/libhydra/libhydra.la \ + -lm $(PTHREADLIB) $(DLLIB) $(SOCKLIB) EXTRA_DIST = Android.mk diff --git a/src/libfast/Makefile.am b/src/libfast/Makefile.am index edc2ab1ca..41a489b3d 100644 --- a/src/libfast/Makefile.am +++ b/src/libfast/Makefile.am @@ -5,6 +5,9 @@ AM_CPPFLAGS = \ AM_CFLAGS = \ -rdynamic +AM_LDFLAGS = \ + -no-undefined + ipseclib_LTLIBRARIES = libfast.la libfast_la_SOURCES = \ @@ -17,5 +20,6 @@ nobase_fast_include_HEADERS = \ fast_request.h fast_session.h fast_smtp.h endif -libfast_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la \ - -lfcgi $(clearsilver_LIBS) $(PTHREADLIB) +libfast_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la \ + -lfcgi $(clearsilver_LIBS) $(PTHREADLIB) diff --git a/src/libhydra/Makefile.am b/src/libhydra/Makefile.am index a2a164bd9..f7ae37f98 100644 --- a/src/libhydra/Makefile.am +++ b/src/libhydra/Makefile.am @@ -11,7 +11,8 @@ kernel/kernel_ipsec.c kernel/kernel_ipsec.h \ kernel/kernel_net.c kernel/kernel_net.h \ kernel/kernel_listener.h -libhydra_la_LIBADD = +libhydra_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la AM_CPPFLAGS = \ -I$(top_srcdir)/src/libstrongswan \ @@ -19,6 +20,9 @@ AM_CPPFLAGS = \ -DPLUGINDIR=\"${plugindir}\" \ -DSTRONGSWAN_CONF=\"${strongswan_conf}\" +AM_LDFLAGS = \ + -no-undefined + EXTRA_DIST = Android.mk # build optional plugins diff --git a/src/libimcv/Makefile.am b/src/libimcv/Makefile.am index e1e6541aa..86f172dd8 100644 --- a/src/libimcv/Makefile.am +++ b/src/libimcv/Makefile.am @@ -4,7 +4,12 @@ AM_CPPFLAGS = \ ipseclib_LTLIBRARIES = libimcv.la -libimcv_la_LIBADD = $(top_builddir)/src/libtncif/libtncif.la +libimcv_la_LDFLAGS = \ + -no-undefined + +libimcv_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la \ + $(top_builddir)/src/libtncif/libtncif.la libimcv_la_SOURCES = \ imcv.h imcv.c \ diff --git a/src/libipsec/Makefile.am b/src/libipsec/Makefile.am index 74379f1d5..41f5ae937 100644 --- a/src/libipsec/Makefile.am +++ b/src/libipsec/Makefile.am @@ -13,11 +13,15 @@ ipsec_processor.c ipsec_processor.h \ ipsec_sa.c ipsec_sa.h \ ipsec_sa_mgr.c ipsec_sa_mgr.h -libipsec_la_LIBADD = +libipsec_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la AM_CPPFLAGS = \ -I$(top_srcdir)/src/libstrongswan +AM_LDFLAGS = \ + -no-undefined + EXTRA_DIST = Android.mk # build optional plugins diff --git a/src/libpts/Makefile.am b/src/libpts/Makefile.am index 2c02fd18a..48bb46c7a 100644 --- a/src/libpts/Makefile.am +++ b/src/libpts/Makefile.am @@ -3,9 +3,15 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/libtncif \ -I$(top_srcdir)/src/libimcv +AM_LDFLAGS = \ + -no-undefined + ipseclib_LTLIBRARIES = libpts.la -libpts_la_LIBADD = $(top_builddir)/src/libimcv/libimcv.la +libpts_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la \ + $(top_builddir)/src/libtncif/libtncif.la \ + $(top_builddir)/src/libimcv/libimcv.la if USE_TROUSERS libpts_la_LIBADD += -ltspi diff --git a/src/libpttls/Makefile.am b/src/libpttls/Makefile.am index 225d0e48f..f2bcf44d5 100644 --- a/src/libpttls/Makefile.am +++ b/src/libpttls/Makefile.am @@ -4,8 +4,15 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/libtncif \ -I$(top_srcdir)/src/libtnccs +AM_LDFLAGS = \ + -no-undefined + ipseclib_LTLIBRARIES = libpttls.la -libpttls_la_LIBADD = $(top_builddir)/src/libtls/libtls.la + +libpttls_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la \ + $(top_builddir)/src/libtls/libtls.la + libpttls_la_SOURCES = pt_tls.c pt_tls.h \ pt_tls_client.c pt_tls_client.h \ pt_tls_server.c pt_tls_server.h \ diff --git a/src/libradius/Makefile.am b/src/libradius/Makefile.am index 91ded23e3..4706f270d 100644 --- a/src/libradius/Makefile.am +++ b/src/libradius/Makefile.am @@ -1,7 +1,14 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/libstrongswan +AM_LDFLAGS = \ + -no-undefined + ipseclib_LTLIBRARIES = libradius.la + +libradius_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la + libradius_la_SOURCES = \ radius_message.h radius_message.c \ radius_socket.h radius_socket.c \ diff --git a/src/libsimaka/Makefile.am b/src/libsimaka/Makefile.am index 8aaac7de0..6878133f3 100644 --- a/src/libsimaka/Makefile.am +++ b/src/libsimaka/Makefile.am @@ -3,7 +3,14 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/libhydra \ -I$(top_srcdir)/src/libcharon +AM_LDFLAGS = \ + -no-undefined + ipseclib_LTLIBRARIES = libsimaka.la + +libsimaka_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la + libsimaka_la_SOURCES = simaka_message.h simaka_message.c \ simaka_crypto.h simaka_crypto.c simaka_manager.h simaka_manager.c \ simaka_card.h simaka_provider.h simaka_hooks.h diff --git a/src/libstrongswan/Makefile.am b/src/libstrongswan/Makefile.am index dfe6e7e00..78e4ce2e1 100644 --- a/src/libstrongswan/Makefile.am +++ b/src/libstrongswan/Makefile.am @@ -95,6 +95,9 @@ AM_CPPFLAGS = \ AM_CFLAGS = \ @COVERAGE_CFLAGS@ +AM_LDFLAGS = \ + -no-undefined + if USE_LEAK_DETECTIVE AM_CPPFLAGS += -DLEAK_DETECTIVE libstrongswan_la_SOURCES += utils/leak_detective.c diff --git a/src/libtls/Makefile.am b/src/libtls/Makefile.am index 9e3712abe..b83ea8eba 100644 --- a/src/libtls/Makefile.am +++ b/src/libtls/Makefile.am @@ -1,12 +1,18 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/libstrongswan +AM_LDFLAGS = \ + -no-undefined + ipseclib_LTLIBRARIES = libtls.la libtls_la_SOURCES = \ tls_protection.c tls_compression.c tls_fragmentation.c tls_alert.c \ tls_crypto.c tls_prf.c tls_socket.c tls_eap.c tls_cache.c tls_peer.c \ tls_server.c tls.c +libtls_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la + if USE_DEV_HEADERS tls_includedir = ${dev_headers}/tls nobase_tls_include_HEADERS = \ diff --git a/src/libtnccs/Makefile.am b/src/libtnccs/Makefile.am index d1f8825de..22a3b93b0 100644 --- a/src/libtnccs/Makefile.am +++ b/src/libtnccs/Makefile.am @@ -3,9 +3,14 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/libtncif \ -I$(top_srcdir)/src/libtls +AM_LDFLAGS = \ + -no-undefined + ipseclib_LTLIBRARIES = libtnccs.la -libtnccs_la_LIBADD = $(top_builddir)/src/libtncif/libtncif.la +libtnccs_la_LIBADD = \ + $(top_builddir)/src/libstrongswan/libstrongswan.la \ + $(top_builddir)/src/libtncif/libtncif.la libtnccs_la_SOURCES = \ tnc/tnc.h tnc/tnc.c \ |