summaryrefslogtreecommitdiff
path: root/src/ipcpd/shim-eth-llc
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@ugent.be>2017-04-07 11:42:08 +0200
committerSander Vrijders <sander.vrijders@ugent.be>2017-04-07 12:14:01 +0200
commit3be1e036a7e2174ff0a1e0f3e603f0fc5eca42d2 (patch)
tree040a09604edaf1b7115e4906b51ada5eecba62f4 /src/ipcpd/shim-eth-llc
parenta520f53970e59b4663b2baa70dd458175154622b (diff)
downloadouroboros-3be1e036a7e2174ff0a1e0f3e603f0fc5eca42d2.tar.gz
ouroboros-3be1e036a7e2174ff0a1e0f3e603f0fc5eca42d2.zip
ipcpd: shim-eth-llc: Add check for netmap headers
This checks if the netmap headers are available on the system.
Diffstat (limited to 'src/ipcpd/shim-eth-llc')
-rw-r--r--src/ipcpd/shim-eth-llc/CMakeLists.txt14
1 files changed, 14 insertions, 0 deletions
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)