X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2FCMakeLists.txt;h=67d1f6d05c74b16171a34e024c3efb14cdffbe49;hb=368104d06ad6d667a8cce152426916fc654b6627;hp=dceb13e7ce408189b0a11f90cfd8e00b8772d72c;hpb=612dd6a955e44d2c0fed1801fb8de585ca695c63;p=vpp.git diff --git a/src/vlib/CMakeLists.txt b/src/vlib/CMakeLists.txt index dceb13e7ce4..67d1f6d05c7 100644 --- a/src/vlib/CMakeLists.txt +++ b/src/vlib/CMakeLists.txt @@ -11,38 +11,70 @@ # 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.") configure_file( ${CMAKE_SOURCE_DIR}/vlib/config.h.in ${CMAKE_BINARY_DIR}/vlib/config.h ) -install(FILES ${CMAKE_BINARY_DIR}/vlib/config.h DESTINATION include/vlib) +install( + FILES ${CMAKE_BINARY_DIR}/vlib/config.h + DESTINATION include/vlib + COMPONENT vpp-dev +) + +############################################################################## +# Find lib and include files +############################################################################## +message(STATUS "Looking for libuuid") +find_path(UUID_INCLUDE_DIR NAMES uuid/uuid.h) +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 ############################################################################## -set(VLIB_SRCS +add_vpp_library(vlib + SOURCES buffer.c - buffer_serialize.c cli.c counter.c + drop.c error.c format.c + handoff_trace.c i2c.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 pci/pci.c + pci/pci_types_api.c + physmem.c + punt.c + punt_node.c threads.c threads_cli.c trace.c @@ -50,25 +82,22 @@ set(VLIB_SRCS unix/cli.c unix/input.c unix/main.c - unix/mc_socket.c unix/plugin.c unix/util.c -) + vmbus/vmbus.c + ${VMBUS_SOURCE} -add_library(vlib SHARED ${VLIB_SRCS}) -target_link_libraries(vlib vppinfra svm ${CMAKE_DL_LIBS}) -install(TARGETS vlib DESTINATION lib) + MULTIARCH_SOURCES + drop.c + punt_node.c -############################################################################## -# vlib headers -############################################################################## -vpp_add_header_files(vlib + INSTALL_HEADERS buffer_funcs.h buffer.h buffer_node.h - cli_funcs.h cli.h counter.h + counter_types.h defs.h error_funcs.h error.h @@ -79,13 +108,14 @@ vpp_add_header_files(vlib 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 @@ -94,5 +124,12 @@ vpp_add_header_files(vlib 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} + + DEPENDS api_headers +)