LD_PRELOAD: stateless LDP
[vpp.git] / src / vcl.am
1 # Copyright (c) 2017 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 lib_LTLIBRARIES += libvppcom.la libvcl_ldpreload.la
15
16 libvppcom_la_SOURCES =
17 libvcl_ldpreload_la_SOURCES =
18 libvppcom_la_DEPENDENCIES =     \
19         libvppinfra.la          \
20         libvlib.la              \
21         libsvm.la               \
22         libvlibmemoryclient.la
23
24 libvppcom_la_LIBADD = $(libvppcom_la_DEPENDENCIES) -lpthread -lrt
25 libvcl_ldpreload_la_LIBADD = -lpthread -lrt -ldl
26
27 libvppcom_la_SOURCES +=                         \
28   vcl/vppcom.c
29
30 nobase_include_HEADERS +=                       \
31   vcl/vppcom.h
32
33 libvcl_ldpreload_la_SOURCES +=                  \
34   vcl/vcom_socket_wrapper.c                     \
35   vcl/vcom.c                                    \
36   $(libvppcom_la_SOURCES)                       \
37   $(libvppinfra_la_SOURCES)                     \
38   $(libvlib_la_SOURCES)                         \
39   $(libsvm_la_SOURCES)                          \
40   $(libvlibmemoryclient_la_SOURCES)
41
42 nobase_include_HEADERS +=                       \
43   vcl/vcom_socket_wrapper.h                     \
44   vcl/vcom_glibc_socket.h                       \
45   vcl/vcom.h
46
47 noinst_PROGRAMS +=                              \
48         vcl_test_server                         \
49         vcl_test_client                         \
50         sock_test_server                        \
51         sock_test_client
52
53 vcl_test_server_SOURCES = vcl/vcl_test_server.c
54 vcl_test_server_LDADD = libvppcom.la
55
56 vcl_test_client_SOURCES = vcl/vcl_test_client.c
57
58 # Link libvcl_ldpreload.la instead of vppcom.la
59 # to validate that all symbols are included in
60 # libvcl_ldpreload.la at build time.
61 #
62 # Not recommended for production VCL apps as
63 # it includes extraneous code which will never
64 # be executed.
65 vcl_test_client_LDADD = libvcl_ldpreload.la
66
67 sock_test_server_SOURCES = vcl/sock_test_server.c
68 sock_test_client_SOURCES = vcl/sock_test_client.c
69
70 nobase_include_HEADERS +=                       \
71   vcl/sock_test.h