X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2FCMakeLists.txt;h=c8127fbe3377428d09e1eeb32c6d586a7f2b26db;hb=06111a837;hp=b187f980401fbf684a3682b05ef874f93398fcd3;hpb=58492a83722caf1c49977d73abf931418ce1f8f2;p=vpp.git diff --git a/src/vlib/CMakeLists.txt b/src/vlib/CMakeLists.txt index b187f980401..c8127fbe337 100644 --- a/src/vlib/CMakeLists.txt +++ b/src/vlib/CMakeLists.txt @@ -11,59 +11,104 @@ # See the License for the specific language governing permissions and # limitations under the License. +option(VPP_BUFFER_FAULT_INJECTOR "Include the buffer fault injector" OFF) + ############################################################################## # Generate vlib/config.h ############################################################################## +if(VPP_BUFFER_FAULT_INJECTOR) + set(BUFFER_ALLOC_FAULT_INJECTOR 1 CACHE STRING "fault injector on") +else() + set(BUFFER_ALLOC_FAULT_INJECTOR 0 CACHE STRING "fault injector off") +endif() + set(PRE_DATA_SIZE 128 CACHE STRING "Buffer headroom size.") + +if (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG") + set(_ss 16) +else() + set(_ss 15) +endif() +set(VLIB_PROCESS_LOG2_STACK_SIZE + ${_ss} + CACHE + STRING "Process node default stack size (log2)" +) + configure_file( ${CMAKE_SOURCE_DIR}/vlib/config.h.in - ${CMAKE_BINARY_DIR}/vlib/config.h + ${CMAKE_CURRENT_BINARY_DIR}/config.h ) install( - FILES ${CMAKE_BINARY_DIR}/vlib/config.h + FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h DESTINATION include/vlib COMPONENT vpp-dev ) +############################################################################## +# Find lib and include files +############################################################################## +message(STATUS "Looking for libuuid") +vpp_find_path(UUID_INCLUDE_DIR NAMES uuid/uuid.h) +vpp_find_library(UUID_LIB NAMES uuid) + +if(UUID_INCLUDE_DIR AND UUID_LIB) + include_directories(${UUID_INCLUDE_DIR}) + set(VMBUS_SOURCE linux/vmbus.c) + set(VMBUS_LIBS uuid) + message(STATUS "Found uuid in ${UUID_INCLUDE_DIR}") +else() + message(WARNING "-- libuuid not found - vmbus support disabled") +endif() + ############################################################################## # vlib shared library ############################################################################## add_vpp_library(vlib SOURCES buffer.c - buffer_serialize.c + buffer_funcs.c cli.c counter.c + drop.c error.c format.c - i2c.c + handoff_trace.c init.c linux/pci.c - linux/physmem.c linux/vfio.c log.c main.c - mc.c node.c node_cli.c node_format.c + node_init.c pci/pci.c + pci/pci_types_api.c + physmem.c + punt.c + punt_node.c threads.c threads_cli.c trace.c - unix/cj.c unix/cli.c unix/input.c unix/main.c - unix/mc_socket.c unix/plugin.c unix/util.c + vmbus/vmbus.c + ${VMBUS_SOURCE} + + MULTIARCH_SOURCES + buffer_funcs.c + drop.c + punt_node.c + node_init.c INSTALL_HEADERS buffer_funcs.h buffer.h buffer_node.h - cli_funcs.h cli.h counter.h counter_types.h @@ -72,26 +117,31 @@ add_vpp_library(vlib error.h format_funcs.h global_funcs.h - i2c.h init.h linux/vfio.h log.h main.h - mc.h node_funcs.h node.h pci/pci_config.h pci/pci.h + pci/pci_types_api.h physmem_funcs.h physmem.h + punt.h threads.h trace_funcs.h trace.h - unix/cj.h unix/mc_socket.h unix/plugin.h unix/unix.h vlib.h + vmbus/vmbus.h + + API_FILES + pci/pci_types.api + + LINK_LIBRARIES vppinfra svm ${VMBUS_LIBS} ${CMAKE_DL_LIBS} - LINK_LIBRARIES vppinfra svm ${CMAKE_DL_LIBS} + DEPENDS api_headers )