Don't indirectly link dependent libraries.
authorGerd von Egidy <gerd.von.egidy@intra2net.com>
Sun, 14 Mar 2010 21:01:17 +0000 (22:01 +0100)
committerTobias Brunner <tobias@strongswan.org>
Fri, 19 Mar 2010 12:34:53 +0000 (13:34 +0100)
The default behaviour for ld allows users to 'indirectly' link to required
objects/libraries through intermediate objects/libraries. While this is
convenient, it can also be dangerous because it makes your program's
dependencies tied to the dependencies of other objects.

Beginning with Fedora 13 this will be changed and you need to explicitly
link all dependent libraries.

More details can be found here:
http://fedoraproject.org/wiki/UnderstandingDSOLinkChange

This patch fixes all such cases in strongSwan.

src/checksum/Makefile.am
src/manager/Makefile.am
src/medsrv/Makefile.am

index 4533eb8..aaa60b4 100644 (file)
@@ -5,7 +5,7 @@ nodist_libchecksum_la_SOURCES = checksum.c
 libchecksum_la_LDFLAGS = -module -avoid-version
 
 checksum_builder_SOURCES = checksum_builder.c
-checksum_builder_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la
+checksum_builder_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la $(DLLIB)
 
 BUILT_SOURCES = checksum.c
 CLEANFILES = checksum.c
index e6c31e9..98e50d8 100644 (file)
@@ -10,7 +10,7 @@ controller/control_controller.c controller/control_controller.h \
 controller/config_controller.c controller/config_controller.h \
 controller/gateway_controller.c controller/gateway_controller.h
 
-manager_fcgi_LDADD = $(top_builddir)/src/libfast/libfast.la ${xml_LIBS}
+manager_fcgi_LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la $(top_builddir)/src/libfast/libfast.la ${xml_LIBS}
 
 INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libfast ${xml_CFLAGS}
 AM_CFLAGS = -rdynamic \
index 9f5c9e2..0700c05 100644 (file)
@@ -7,7 +7,7 @@ main.c filter/auth_filter.c filter/auth_filter.h \
 controller/user_controller.c controller/user_controller.h \
 controller/peer_controller.c controller/peer_controller.h
 
-medsrv_fcgi_LDADD = $(top_builddir)/src/libfast/libfast.la
+medsrv_fcgi_LDADD = $(top_srcdir)/src/libstrongswan/libstrongswan.la $(top_builddir)/src/libfast/libfast.la
 
 INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/libfast
 AM_CFLAGS = -rdynamic \