From 3be1e036a7e2174ff0a1e0f3e603f0fc5eca42d2 Mon Sep 17 00:00:00 2001 From: Sander Vrijders Date: Fri, 7 Apr 2017 11:42:08 +0200 Subject: ipcpd: shim-eth-llc: Add check for netmap headers This checks if the netmap headers are available on the system. --- src/ipcpd/shim-eth-llc/CMakeLists.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/ipcpd/shim-eth-llc') diff --git a/src/ipcpd/shim-eth-llc/CMakeLists.txt b/src/ipcpd/shim-eth-llc/CMakeLists.txt index bd3049a2..b3abc052 100644 --- a/src/ipcpd/shim-eth-llc/CMakeLists.txt +++ b/src/ipcpd/shim-eth-llc/CMakeLists.txt @@ -12,6 +12,11 @@ include_directories(${CURRENT_BINARY_PARENT_DIR}) include_directories(${CMAKE_SOURCE_DIR}/include) include_directories(${CMAKE_BINARY_DIR}/include) +find_path(NETMAP_C_INCLUDE_DIR + net/netmap_user.h + HINTS /usr/include /usr/local/include + ) + protobuf_generate_c(SHIM_ETH_LLC_PROTO_SRCS SHIM_ETH_LLC_PROTO_HDRS shim_eth_llc_messages.proto) @@ -27,6 +32,15 @@ add_executable(ipcpd-shim-eth-llc ${SHIM_ETH_LLC_SOURCES} ${IPCP_SOURCES} target_link_libraries(ipcpd-shim-eth-llc LINK_PUBLIC ouroboros ${PROTOBUF_C_LIBRARY}) +if (${NETMAP_C_INCLUDE_DIR} STREQUAL "NETMAP_C_INCLUDE_DIR-NOTFOUND") + message("-- Could not find netmap. Install for better performance.") +else () + message("-- Found netmap headers in ${NETMAP_C_INCLUDE_DIR}") + include_directories(${NETMAP_C_INCLUDE_DIR}) + add_compile_flags(ipcpd-shim-eth-llc -DHAVE_NETMAP) + test_and_set_c_compiler_flag_global(-std=c99) +endif () + include(AddCompileFlags) if (CMAKE_BUILD_TYPE MATCHES Debug) add_compile_flags(ipcpd-shim-eth-llc -DCONFIG_OUROBOROS_DEBUG) -- cgit v1.2.3