763efc220f54dfa8c3fa3b463f4a462fc3614b6d
[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   vcl/vcom_socket.c                             \
37   $(libvppcom_la_SOURCES)                       \
38   $(libvppinfra_la_SOURCES)                     \
39   $(libvlib_la_SOURCES)                         \
40   $(libsvm_la_SOURCES)                          \
41   $(libvlibmemoryclient_la_SOURCES)
42
43 nobase_include_HEADERS +=                       \
44   vcl/vcom_socket_wrapper.h                     \
45   vcl/vcom_glibc_socket.h                       \
46   vcl/vcom.h                                    \
47   vcl/vcom_socket.h
48
49 noinst_PROGRAMS +=                              \
50         vcl_test_server                         \
51         vcl_test_client                         \
52         sock_test_server                        \
53         sock_test_client
54
55 vcl_test_server_SOURCES = vcl/vcl_test_server.c
56 vcl_test_server_LDADD = libvppcom.la
57
58 vcl_test_client_SOURCES = vcl/vcl_test_client.c
59
60 # Link libvcl_ldpreload.la instead of vppcom.la
61 # to validate that all symbols are included in
62 # libvcl_ldpreload.la at build time.
63 #
64 # Not recommended for production VCL apps as
65 # it includes extraneous code which will never
66 # be executed.
67 vcl_test_client_LDADD = libvcl_ldpreload.la
68
69 sock_test_server_SOURCES = vcl/sock_test_server.c
70 sock_test_client_SOURCES = vcl/sock_test_client.c
71
72 nobase_include_HEADERS +=                       \
73   vcl/sock_test.h