aboutsummaryrefslogtreecommitdiffstats
path: root/src/vcl.am
diff options
context:
space:
mode:
authorDave Wallace <dwallacelf@gmail.com>2017-10-25 12:30:37 -0400
committerKeith Burns <alagalah@gmail.com>2017-10-25 19:13:14 +0000
commit6476b3c1484eed25eeab23774a248a3f8593578e (patch)
tree966df13ce4afb195f779b091283dda812ae298e6 /src/vcl.am
parent4f6c3a9a13d92e507823c24580dd0715bcfea4ce (diff)
VCL-LDPRELOAD: statically link VPP objects into libvcl_ldpreload.so
Change-Id: If8fb5484b64a5b1c04e34573490fedcf63feabc9 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'src/vcl.am')
-rw-r--r--src/vcl.am24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/vcl.am b/src/vcl.am
index de8b4da7e27..763efc220f5 100644
--- a/src/vcl.am
+++ b/src/vcl.am
@@ -18,15 +18,11 @@ libvcl_ldpreload_la_SOURCES =
libvppcom_la_DEPENDENCIES = \
libvppinfra.la \
libvlib.la \
- libsvmdb.la \
libsvm.la \
- libvlibmemory.la \
libvlibmemoryclient.la
-libvcl_ldpreload_la_DEPENDENCIES = $(libvppcom_la_DEPENDENCIES)
-
-libvppcom_la_LIBADD = $(libvppcom_la_DEPENDENCIES) -lpthread
-libvcl_ldpreload_la_LIBADD = $(libvcl_ldpreload_la_DEPENDENCIES) -lpthread
+libvppcom_la_LIBADD = $(libvppcom_la_DEPENDENCIES) -lpthread -lrt
+libvcl_ldpreload_la_LIBADD = -lpthread -lrt -ldl
libvppcom_la_SOURCES += \
vcl/vppcom.c
@@ -38,7 +34,11 @@ libvcl_ldpreload_la_SOURCES += \
vcl/vcom_socket_wrapper.c \
vcl/vcom.c \
vcl/vcom_socket.c \
- vcl/vppcom.c
+ $(libvppcom_la_SOURCES) \
+ $(libvppinfra_la_SOURCES) \
+ $(libvlib_la_SOURCES) \
+ $(libsvm_la_SOURCES) \
+ $(libvlibmemoryclient_la_SOURCES)
nobase_include_HEADERS += \
vcl/vcom_socket_wrapper.h \
@@ -56,7 +56,15 @@ vcl_test_server_SOURCES = vcl/vcl_test_server.c
vcl_test_server_LDADD = libvppcom.la
vcl_test_client_SOURCES = vcl/vcl_test_client.c
-vcl_test_client_LDADD = libvppcom.la
+
+# Link libvcl_ldpreload.la instead of vppcom.la
+# to validate that all symbols are included in
+# libvcl_ldpreload.la at build time.
+#
+# Not recommended for production VCL apps as
+# it includes extraneous code which will never
+# be executed.
+vcl_test_client_LDADD = libvcl_ldpreload.la
sock_test_server_SOURCES = vcl/sock_test_server.c
sock_test_client_SOURCES = vcl/sock_test_client.c