LD_PRELOAD: stateless LDP
[vpp.git] / src / vcl.am
index de8b4da..642cb35 100644 (file)
@@ -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
@@ -37,14 +33,16 @@ nobase_include_HEADERS +=                   \
 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                    \
   vcl/vcom_glibc_socket.h                      \
-  vcl/vcom.h                                   \
-  vcl/vcom_socket.h
+  vcl/vcom.h
 
 noinst_PROGRAMS +=                             \
        vcl_test_server                         \
@@ -56,7 +54,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