Let the user choose the poller to use through cmake POLLER option
Use ccmake, or cmake -i, or cmake -DPOLLER=EPOLL, for example
This commit is contained in:
+7
-1
@@ -24,6 +24,12 @@ include_directories(${ICONV_INCLUDE_DIR})
|
||||
# coming from these headers.
|
||||
include_directories(SYSTEM ${CRYPTO++_INCLUDE_DIR})
|
||||
|
||||
set(POLLER "POLL" CACHE STRING
|
||||
"Choose the poller between POLL and EPOLL (Linux-only)")
|
||||
if((NOT ${POLLER} MATCHES "POLL") AND
|
||||
(NOT ${POLLER} MATCHES "EPOLL"))
|
||||
message(FATAL_ERROR "POLLER must be either POLL or EPOLL")
|
||||
endif()
|
||||
#
|
||||
## utils
|
||||
#
|
||||
@@ -95,4 +101,4 @@ target_link_libraries(test
|
||||
utils
|
||||
config)
|
||||
|
||||
CONFIGURE_FILE(config.h.cmake src/config.h @ONLY)
|
||||
configure_file(config.h.cmake src/config.h)
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
#cmakedefine ICONV_SECOND_ARGUMENT_IS_CONST
|
||||
#cmakedefine POLLER ${POLLER}
|
||||
|
||||
@@ -9,11 +9,9 @@
|
||||
#define POLL 1
|
||||
#define EPOLL 2
|
||||
#define KQUEUE 3
|
||||
|
||||
#include <config.h>
|
||||
#ifndef POLLER
|
||||
// Default standard poller
|
||||
#define POLLER EPOLL
|
||||
#define POLLER POLL
|
||||
#endif
|
||||
|
||||
#if POLLER == POLL
|
||||
@@ -21,6 +19,8 @@
|
||||
#define MAX_POLL_FD_NUMBER 4096
|
||||
#elif POLLER == EPOLL
|
||||
#include <sys/epoll.h>
|
||||
#else
|
||||
#error Invalid POLLER value
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user