vcl: better handlig of ldp apis that rely on gnu source
[vpp.git] / src / vcl / CMakeLists.txt
1 # Copyright (c) 2018-2019 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 ##############################################################################
15 # vppcom shared library
16 ##############################################################################
17 add_vpp_library(vppcom
18   SOURCES
19   vppcom.c
20   vcl_bapi.c
21   vcl_cfg.c
22   vcl_private.c
23   vcl_locked.c
24   vcl_sapi.c
25
26   LINK_LIBRARIES
27   vppinfra svm vlibmemoryclient rt pthread
28
29   DEPENDS
30   api_headers
31 )
32
33 option(LDP_HAS_GNU_SOURCE "LDP configured to use _GNU_SOURCE" ON)
34 if (LDP_HAS_GNU_SOURCE)
35   add_compile_definitions(HAVE_GNU_SOURCE)
36 endif(LDP_HAS_GNU_SOURCE)
37
38 add_vpp_library(vcl_ldpreload
39   SOURCES
40   ldp_socket_wrapper.c
41   ldp.c
42
43   LINK_LIBRARIES
44   vppinfra svm vlibmemoryclient rt pthread vppcom dl
45 )
46
47 add_vpp_headers(vcl
48   ldp.h
49   ldp_glibc_socket.h
50   vppcom.h
51   vcl_locked.h
52   ldp_socket_wrapper.h
53 )