set(BUFFER_ALLOC_FAULT_INJECTOR 0 CACHE STRING "fault injector off")
endif()
+if(VPP_PLATFORM_BUFFER_ALIGN)
+ set(VLIB_BUFFER_ALIGN ${VPP_PLATFORM_BUFFER_ALIGN})
+else()
+ set(VLIB_BUFFER_ALIGN ${VPP_CACHE_LINE_SIZE})
+endif()
+
set(PRE_DATA_SIZE 128 CACHE STRING "Buffer headroom size.")
if (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG")
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
- DESTINATION include/vlib
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vlib
COMPONENT vpp-dev
)
##############################################################################
-# Find lib and include files
+# vlib shared library
##############################################################################
-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")
+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
+set(PLATFORM_SOURCES
+ linux/pci.c
+ linux/vfio.c
+ linux/vmbus.c
+)
+
+set(PLATFORM_HEADERS
+ linux/vfio.h
+)
+elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
+set(PLATFORM_SOURCES
+ freebsd/pci.c
+)
endif()
-##############################################################################
-# vlib shared library
-##############################################################################
add_vpp_library(vlib
SOURCES
buffer.c
format.c
handoff_trace.c
init.c
- linux/pci.c
- linux/vfio.c
log.c
main.c
node.c
physmem.c
punt.c
punt_node.c
+ stats/cli.c
+ stats/collector.c
+ stats/format.c
+ stats/init.c
+ stats/provider_mem.c
+ stats/stats.c
threads.c
threads_cli.c
+ time.c
trace.c
unix/cli.c
unix/input.c
unix/plugin.c
unix/util.c
vmbus/vmbus.c
- ${VMBUS_SOURCE}
+ dma/dma.c
+ dma/cli.c
+ ${PLATFORM_SOURCES}
MULTIARCH_SOURCES
buffer_funcs.c
counter.h
counter_types.h
defs.h
+ dma/dma.h
error_funcs.h
error.h
format_funcs.h
global_funcs.h
init.h
- linux/vfio.h
log.h
main.h
node_funcs.h
physmem_funcs.h
physmem.h
punt.h
+ stats/shared.h
+ stats/stats.h
threads.h
+ time.h
trace_funcs.h
trace.h
unix/mc_socket.h
unix/unix.h
vlib.h
vmbus/vmbus.h
+ ${PLATFORM_HEADERS}
API_FILES
pci/pci_types.api
- LINK_LIBRARIES vppinfra svm ${VMBUS_LIBS} ${CMAKE_DL_LIBS}
+ LINK_LIBRARIES vppinfra svm ${CMAKE_DL_LIBS} ${EPOLL_LIB}
DEPENDS api_headers
)