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.
This commit is contained in:
parent
3cb4552da6
commit
9af44ef5d9
|
@ -136,7 +136,13 @@ AM_CPPFLAGS = \
|
||||||
-DIPSEC_DIR=\"${ipsecdir}\" \
|
-DIPSEC_DIR=\"${ipsecdir}\" \
|
||||||
-DIPSEC_PIDDIR=\"${piddir}\"
|
-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
|
EXTRA_DIST = Android.mk
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,9 @@ AM_CPPFLAGS = \
|
||||||
AM_CFLAGS = \
|
AM_CFLAGS = \
|
||||||
-rdynamic
|
-rdynamic
|
||||||
|
|
||||||
|
AM_LDFLAGS = \
|
||||||
|
-no-undefined
|
||||||
|
|
||||||
ipseclib_LTLIBRARIES = libfast.la
|
ipseclib_LTLIBRARIES = libfast.la
|
||||||
|
|
||||||
libfast_la_SOURCES = \
|
libfast_la_SOURCES = \
|
||||||
|
@ -17,5 +20,6 @@ nobase_fast_include_HEADERS = \
|
||||||
fast_request.h fast_session.h fast_smtp.h
|
fast_request.h fast_session.h fast_smtp.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libfast_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la \
|
libfast_la_LIBADD = \
|
||||||
-lfcgi $(clearsilver_LIBS) $(PTHREADLIB)
|
$(top_builddir)/src/libstrongswan/libstrongswan.la \
|
||||||
|
-lfcgi $(clearsilver_LIBS) $(PTHREADLIB)
|
||||||
|
|
|
@ -11,7 +11,8 @@ kernel/kernel_ipsec.c kernel/kernel_ipsec.h \
|
||||||
kernel/kernel_net.c kernel/kernel_net.h \
|
kernel/kernel_net.c kernel/kernel_net.h \
|
||||||
kernel/kernel_listener.h
|
kernel/kernel_listener.h
|
||||||
|
|
||||||
libhydra_la_LIBADD =
|
libhydra_la_LIBADD = \
|
||||||
|
$(top_builddir)/src/libstrongswan/libstrongswan.la
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/libstrongswan \
|
-I$(top_srcdir)/src/libstrongswan \
|
||||||
|
@ -19,6 +20,9 @@ AM_CPPFLAGS = \
|
||||||
-DPLUGINDIR=\"${plugindir}\" \
|
-DPLUGINDIR=\"${plugindir}\" \
|
||||||
-DSTRONGSWAN_CONF=\"${strongswan_conf}\"
|
-DSTRONGSWAN_CONF=\"${strongswan_conf}\"
|
||||||
|
|
||||||
|
AM_LDFLAGS = \
|
||||||
|
-no-undefined
|
||||||
|
|
||||||
EXTRA_DIST = Android.mk
|
EXTRA_DIST = Android.mk
|
||||||
|
|
||||||
# build optional plugins
|
# build optional plugins
|
||||||
|
|
|
@ -4,7 +4,12 @@ AM_CPPFLAGS = \
|
||||||
|
|
||||||
ipseclib_LTLIBRARIES = libimcv.la
|
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 = \
|
libimcv_la_SOURCES = \
|
||||||
imcv.h imcv.c \
|
imcv.h imcv.c \
|
||||||
|
|
|
@ -13,11 +13,15 @@ ipsec_processor.c ipsec_processor.h \
|
||||||
ipsec_sa.c ipsec_sa.h \
|
ipsec_sa.c ipsec_sa.h \
|
||||||
ipsec_sa_mgr.c ipsec_sa_mgr.h
|
ipsec_sa_mgr.c ipsec_sa_mgr.h
|
||||||
|
|
||||||
libipsec_la_LIBADD =
|
libipsec_la_LIBADD = \
|
||||||
|
$(top_builddir)/src/libstrongswan/libstrongswan.la
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/libstrongswan
|
-I$(top_srcdir)/src/libstrongswan
|
||||||
|
|
||||||
|
AM_LDFLAGS = \
|
||||||
|
-no-undefined
|
||||||
|
|
||||||
EXTRA_DIST = Android.mk
|
EXTRA_DIST = Android.mk
|
||||||
|
|
||||||
# build optional plugins
|
# build optional plugins
|
||||||
|
|
|
@ -3,9 +3,15 @@ AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/libtncif \
|
-I$(top_srcdir)/src/libtncif \
|
||||||
-I$(top_srcdir)/src/libimcv
|
-I$(top_srcdir)/src/libimcv
|
||||||
|
|
||||||
|
AM_LDFLAGS = \
|
||||||
|
-no-undefined
|
||||||
|
|
||||||
ipseclib_LTLIBRARIES = libpts.la
|
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
|
if USE_TROUSERS
|
||||||
libpts_la_LIBADD += -ltspi
|
libpts_la_LIBADD += -ltspi
|
||||||
|
|
|
@ -4,8 +4,15 @@ AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/libtncif \
|
-I$(top_srcdir)/src/libtncif \
|
||||||
-I$(top_srcdir)/src/libtnccs
|
-I$(top_srcdir)/src/libtnccs
|
||||||
|
|
||||||
|
AM_LDFLAGS = \
|
||||||
|
-no-undefined
|
||||||
|
|
||||||
ipseclib_LTLIBRARIES = libpttls.la
|
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 \
|
libpttls_la_SOURCES = pt_tls.c pt_tls.h \
|
||||||
pt_tls_client.c pt_tls_client.h \
|
pt_tls_client.c pt_tls_client.h \
|
||||||
pt_tls_server.c pt_tls_server.h \
|
pt_tls_server.c pt_tls_server.h \
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
AM_CPPFLAGS = \
|
AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/libstrongswan
|
-I$(top_srcdir)/src/libstrongswan
|
||||||
|
|
||||||
|
AM_LDFLAGS = \
|
||||||
|
-no-undefined
|
||||||
|
|
||||||
ipseclib_LTLIBRARIES = libradius.la
|
ipseclib_LTLIBRARIES = libradius.la
|
||||||
|
|
||||||
|
libradius_la_LIBADD = \
|
||||||
|
$(top_builddir)/src/libstrongswan/libstrongswan.la
|
||||||
|
|
||||||
libradius_la_SOURCES = \
|
libradius_la_SOURCES = \
|
||||||
radius_message.h radius_message.c \
|
radius_message.h radius_message.c \
|
||||||
radius_socket.h radius_socket.c \
|
radius_socket.h radius_socket.c \
|
||||||
|
|
|
@ -3,7 +3,14 @@ AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/libhydra \
|
-I$(top_srcdir)/src/libhydra \
|
||||||
-I$(top_srcdir)/src/libcharon
|
-I$(top_srcdir)/src/libcharon
|
||||||
|
|
||||||
|
AM_LDFLAGS = \
|
||||||
|
-no-undefined
|
||||||
|
|
||||||
ipseclib_LTLIBRARIES = libsimaka.la
|
ipseclib_LTLIBRARIES = libsimaka.la
|
||||||
|
|
||||||
|
libsimaka_la_LIBADD = \
|
||||||
|
$(top_builddir)/src/libstrongswan/libstrongswan.la
|
||||||
|
|
||||||
libsimaka_la_SOURCES = simaka_message.h simaka_message.c \
|
libsimaka_la_SOURCES = simaka_message.h simaka_message.c \
|
||||||
simaka_crypto.h simaka_crypto.c simaka_manager.h simaka_manager.c \
|
simaka_crypto.h simaka_crypto.c simaka_manager.h simaka_manager.c \
|
||||||
simaka_card.h simaka_provider.h simaka_hooks.h
|
simaka_card.h simaka_provider.h simaka_hooks.h
|
||||||
|
|
|
@ -95,6 +95,9 @@ AM_CPPFLAGS = \
|
||||||
AM_CFLAGS = \
|
AM_CFLAGS = \
|
||||||
@COVERAGE_CFLAGS@
|
@COVERAGE_CFLAGS@
|
||||||
|
|
||||||
|
AM_LDFLAGS = \
|
||||||
|
-no-undefined
|
||||||
|
|
||||||
if USE_LEAK_DETECTIVE
|
if USE_LEAK_DETECTIVE
|
||||||
AM_CPPFLAGS += -DLEAK_DETECTIVE
|
AM_CPPFLAGS += -DLEAK_DETECTIVE
|
||||||
libstrongswan_la_SOURCES += utils/leak_detective.c
|
libstrongswan_la_SOURCES += utils/leak_detective.c
|
||||||
|
|
|
@ -1,12 +1,18 @@
|
||||||
AM_CPPFLAGS = \
|
AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/libstrongswan
|
-I$(top_srcdir)/src/libstrongswan
|
||||||
|
|
||||||
|
AM_LDFLAGS = \
|
||||||
|
-no-undefined
|
||||||
|
|
||||||
ipseclib_LTLIBRARIES = libtls.la
|
ipseclib_LTLIBRARIES = libtls.la
|
||||||
libtls_la_SOURCES = \
|
libtls_la_SOURCES = \
|
||||||
tls_protection.c tls_compression.c tls_fragmentation.c tls_alert.c \
|
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_crypto.c tls_prf.c tls_socket.c tls_eap.c tls_cache.c tls_peer.c \
|
||||||
tls_server.c tls.c
|
tls_server.c tls.c
|
||||||
|
|
||||||
|
libtls_la_LIBADD = \
|
||||||
|
$(top_builddir)/src/libstrongswan/libstrongswan.la
|
||||||
|
|
||||||
if USE_DEV_HEADERS
|
if USE_DEV_HEADERS
|
||||||
tls_includedir = ${dev_headers}/tls
|
tls_includedir = ${dev_headers}/tls
|
||||||
nobase_tls_include_HEADERS = \
|
nobase_tls_include_HEADERS = \
|
||||||
|
|
|
@ -3,9 +3,14 @@ AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/libtncif \
|
-I$(top_srcdir)/src/libtncif \
|
||||||
-I$(top_srcdir)/src/libtls
|
-I$(top_srcdir)/src/libtls
|
||||||
|
|
||||||
|
AM_LDFLAGS = \
|
||||||
|
-no-undefined
|
||||||
|
|
||||||
ipseclib_LTLIBRARIES = libtnccs.la
|
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 = \
|
libtnccs_la_SOURCES = \
|
||||||
tnc/tnc.h tnc/tnc.c \
|
tnc/tnc.h tnc/tnc.c \
|
||||||
|
|
Loading…
Reference in New Issue