summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSander Vrijders <[email protected]>2017-04-07 10:18:46 +0000
committerdimitri staessens <[email protected]>2017-04-07 10:18:46 +0000
commit97dd492cb7c6d88fbd9f95fe2469a637e445b762 (patch)
tree580153354f3018d08cd25d46b624bc3b4ff42300 /src
parenta520f53970e59b4663b2baa70dd458175154622b (diff)
parent20d0532a4b1fd7568adf63654d023d782373873e (diff)
downloadouroboros-97dd492cb7c6d88fbd9f95fe2469a637e445b762.tar.gz
ouroboros-97dd492cb7c6d88fbd9f95fe2469a637e445b762.zip
Merged in sandervrijders/ouroboros/be-netmap-cmake (pull request #470)
ipcpd: shim-eth-llc: Add check for netmap headers
Diffstat (limited to 'src')
-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)