Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 1 | # Copyright (c) 2018 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 | |||||
Dave Barach | c74b43c | 2020-04-09 17:24:07 -0400 | [diff] [blame] | 14 | option(VPP_BUFFER_FAULT_INJECTOR "Include the buffer fault injector" OFF) |
15 | |||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 16 | ############################################################################## |
17 | # Generate vlib/config.h | ||||
18 | ############################################################################## | ||||
Dave Barach | c74b43c | 2020-04-09 17:24:07 -0400 | [diff] [blame] | 19 | if(VPP_BUFFER_FAULT_INJECTOR) |
20 | set(BUFFER_ALLOC_FAULT_INJECTOR 1 CACHE STRING "fault injector on") | ||||
21 | else() | ||||
22 | set(BUFFER_ALLOC_FAULT_INJECTOR 0 CACHE STRING "fault injector off") | ||||
23 | endif() | ||||
24 | |||||
Damjan Marion | 038dad7 | 2024-01-19 21:19:57 +0100 | [diff] [blame] | 25 | if(VPP_PLATFORM_BUFFER_ALIGN) |
26 | set(VLIB_BUFFER_ALIGN ${VPP_PLATFORM_BUFFER_ALIGN}) | ||||
27 | else() | ||||
28 | set(VLIB_BUFFER_ALIGN ${VPP_CACHE_LINE_SIZE}) | ||||
29 | endif() | ||||
30 | |||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 31 | set(PRE_DATA_SIZE 128 CACHE STRING "Buffer headroom size.") |
Damjan Marion | ef58758 | 2020-05-20 22:01:44 +0200 | [diff] [blame] | 32 | |
33 | if (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG") | ||||
34 | set(_ss 16) | ||||
35 | else() | ||||
36 | set(_ss 15) | ||||
37 | endif() | ||||
38 | set(VLIB_PROCESS_LOG2_STACK_SIZE | ||||
39 | ${_ss} | ||||
40 | CACHE | ||||
41 | STRING "Process node default stack size (log2)" | ||||
42 | ) | ||||
43 | |||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 44 | configure_file( |
45 | ${CMAKE_SOURCE_DIR}/vlib/config.h.in | ||||
Damjan Marion | 88b2e36 | 2021-04-29 18:47:25 +0200 | [diff] [blame] | 46 | ${CMAKE_CURRENT_BINARY_DIR}/config.h |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 47 | ) |
Damjan Marion | 833de8c | 2018-09-07 12:39:02 +0200 | [diff] [blame] | 48 | install( |
Damjan Marion | 88b2e36 | 2021-04-29 18:47:25 +0200 | [diff] [blame] | 49 | FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h |
Nick Brown | e3cf4d0 | 2021-09-15 14:25:40 +0100 | [diff] [blame] | 50 | DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vlib |
Damjan Marion | 833de8c | 2018-09-07 12:39:02 +0200 | [diff] [blame] | 51 | COMPONENT vpp-dev |
52 | ) | ||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 53 | |
54 | ############################################################################## | ||||
55 | # vlib shared library | ||||
56 | ############################################################################## | ||||
Tom Jones | 532a1ce | 2024-01-29 10:33:36 +0000 | [diff] [blame^] | 57 | |
58 | set(PLATFORM_SOURCES | ||||
59 | linux/pci.c | ||||
60 | linux/vfio.c | ||||
61 | linux/vmbus.c | ||||
62 | ) | ||||
63 | |||||
64 | set(PLATFORM_HEADERS | ||||
65 | linux/vfio.h | ||||
66 | ) | ||||
67 | |||||
Damjan Marion | 4553c95 | 2018-08-26 11:04:40 +0200 | [diff] [blame] | 68 | add_vpp_library(vlib |
69 | SOURCES | ||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 70 | buffer.c |
Damjan Marion | 1c22971 | 2021-04-21 12:55:15 +0200 | [diff] [blame] | 71 | buffer_funcs.c |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 72 | cli.c |
73 | counter.c | ||||
Neale Ranns | 22e1f1d | 2019-03-01 15:53:11 +0000 | [diff] [blame] | 74 | drop.c |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 75 | error.c |
76 | format.c | ||||
Dave Barach | a638c18 | 2019-06-21 18:24:07 -0400 | [diff] [blame] | 77 | handoff_trace.c |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 78 | init.c |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 79 | log.c |
80 | main.c | ||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 81 | node.c |
82 | node_cli.c | ||||
83 | node_format.c | ||||
Ray Kinsella | 4830e4f | 2020-03-10 14:35:32 +0000 | [diff] [blame] | 84 | node_init.c |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 85 | pci/pci.c |
Jakub Grajciar | 53f06a0 | 2020-03-30 08:12:57 +0200 | [diff] [blame] | 86 | pci/pci_types_api.c |
Damjan Marion | 68b4da6 | 2018-09-30 18:26:20 +0200 | [diff] [blame] | 87 | physmem.c |
Neale Ranns | 76b5649 | 2018-09-28 15:16:14 +0000 | [diff] [blame] | 88 | punt.c |
89 | punt_node.c | ||||
Damjan Marion | 8973b07 | 2022-03-01 15:51:18 +0100 | [diff] [blame] | 90 | stats/cli.c |
91 | stats/collector.c | ||||
92 | stats/format.c | ||||
93 | stats/init.c | ||||
94 | stats/provider_mem.c | ||||
95 | stats/stats.c | ||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 96 | threads.c |
97 | threads_cli.c | ||||
Benoît Ganne | 56eccdb | 2021-08-20 09:18:31 +0200 | [diff] [blame] | 98 | time.c |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 99 | trace.c |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 100 | unix/cli.c |
101 | unix/input.c | ||||
102 | unix/main.c | ||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 103 | unix/plugin.c |
104 | unix/util.c | ||||
Stephen Hemminger | 6fbef23 | 2018-10-15 12:52:30 -0700 | [diff] [blame] | 105 | vmbus/vmbus.c |
Marvin Liu | abd5669 | 2022-08-17 09:38:40 +0800 | [diff] [blame] | 106 | dma/dma.c |
107 | dma/cli.c | ||||
Tom Jones | 532a1ce | 2024-01-29 10:33:36 +0000 | [diff] [blame^] | 108 | ${PLATFORM_SOURCES} |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 109 | |
Neale Ranns | 22e1f1d | 2019-03-01 15:53:11 +0000 | [diff] [blame] | 110 | MULTIARCH_SOURCES |
Damjan Marion | 1c22971 | 2021-04-21 12:55:15 +0200 | [diff] [blame] | 111 | buffer_funcs.c |
Neale Ranns | 22e1f1d | 2019-03-01 15:53:11 +0000 | [diff] [blame] | 112 | drop.c |
Neale Ranns | 76b5649 | 2018-09-28 15:16:14 +0000 | [diff] [blame] | 113 | punt_node.c |
Ray Kinsella | 4830e4f | 2020-03-10 14:35:32 +0000 | [diff] [blame] | 114 | node_init.c |
Neale Ranns | 22e1f1d | 2019-03-01 15:53:11 +0000 | [diff] [blame] | 115 | |
Damjan Marion | 4553c95 | 2018-08-26 11:04:40 +0200 | [diff] [blame] | 116 | INSTALL_HEADERS |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 117 | buffer_funcs.h |
118 | buffer.h | ||||
119 | buffer_node.h | ||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 120 | cli.h |
121 | counter.h | ||||
Ole Troan | 58492a8 | 2018-09-04 13:19:12 +0200 | [diff] [blame] | 122 | counter_types.h |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 123 | defs.h |
Mohammed Hawari | 463d5f9 | 2023-01-17 12:18:15 +0100 | [diff] [blame] | 124 | dma/dma.h |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 125 | error_funcs.h |
126 | error.h | ||||
127 | format_funcs.h | ||||
128 | global_funcs.h | ||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 129 | init.h |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 130 | log.h |
131 | main.h | ||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 132 | node_funcs.h |
133 | node.h | ||||
134 | pci/pci_config.h | ||||
135 | pci/pci.h | ||||
Jakub Grajciar | 53f06a0 | 2020-03-30 08:12:57 +0200 | [diff] [blame] | 136 | pci/pci_types_api.h |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 137 | physmem_funcs.h |
138 | physmem.h | ||||
Neale Ranns | 76b5649 | 2018-09-28 15:16:14 +0000 | [diff] [blame] | 139 | punt.h |
Damjan Marion | 8973b07 | 2022-03-01 15:51:18 +0100 | [diff] [blame] | 140 | stats/shared.h |
141 | stats/stats.h | ||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 142 | threads.h |
Benoît Ganne | 56eccdb | 2021-08-20 09:18:31 +0200 | [diff] [blame] | 143 | time.h |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 144 | trace_funcs.h |
145 | trace.h | ||||
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 146 | unix/mc_socket.h |
147 | unix/plugin.h | ||||
148 | unix/unix.h | ||||
149 | vlib.h | ||||
Stephen Hemminger | 6fbef23 | 2018-10-15 12:52:30 -0700 | [diff] [blame] | 150 | vmbus/vmbus.h |
Tom Jones | 532a1ce | 2024-01-29 10:33:36 +0000 | [diff] [blame^] | 151 | ${PLATFORM_HEADERS} |
Damjan Marion | 612dd6a | 2018-07-30 12:45:07 +0200 | [diff] [blame] | 152 | |
Jakub Grajciar | 53f06a0 | 2020-03-30 08:12:57 +0200 | [diff] [blame] | 153 | API_FILES |
154 | pci/pci_types.api | ||||
155 | |||||
Damjan Marion | 3706636 | 2023-07-28 20:06:09 +0200 | [diff] [blame] | 156 | LINK_LIBRARIES vppinfra svm ${CMAKE_DL_LIBS} |
Jakub Grajciar | 53f06a0 | 2020-03-30 08:12:57 +0200 | [diff] [blame] | 157 | |
158 | DEPENDS api_headers | ||||
Damjan Marion | 4553c95 | 2018-08-26 11:04:40 +0200 | [diff] [blame] | 159 | ) |