From f716b571baf59c1b622c7666bb8bf2905126a3d4 Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Sun, 24 Jul 2011 18:13:29 +0200 Subject: Only one polling mechanism is compiled Till now wrappers for all the polling mechanisms available on the given platform were compiled, although only one of them was used. This patch compiles just the used one. This can make libzmq binary more concise. Signed-off-by: Martin Sustrik --- src/poller.hpp | 62 +++++++++++++++++++++++++++++++++------------------------- 1 file changed, 35 insertions(+), 27 deletions(-) (limited to 'src/poller.hpp') diff --git a/src/poller.hpp b/src/poller.hpp index 10fafb9..a8936ce 100644 --- a/src/poller.hpp +++ b/src/poller.hpp @@ -21,53 +21,61 @@ #ifndef __ZMQ_POLLER_HPP_INCLUDED__ #define __ZMQ_POLLER_HPP_INCLUDED__ -#include "epoll.hpp" -#include "poll.hpp" -#include "select.hpp" -#include "devpoll.hpp" -#include "kqueue.hpp" - -namespace zmq -{ +#include "platform.hpp" #if defined ZMQ_FORCE_SELECT - typedef select_t poller_t; +#define ZMQ_USE_SELECT +#include "select.hpp" #elif defined ZMQ_FORCE_POLL - typedef poll_t poller_t; +#define ZMQ_USE_POLL +#include "poll.hpp" #elif defined ZMQ_FORCE_EPOLL - typedef epoll_t poller_t; +#define ZMQ_USE_EPOLL +#include "epoll.hpp" #elif defined ZMQ_FORCE_DEVPOLL - typedef devpoll_t poller_t; +#define ZMQ_USE_DEVPOLL +#include "devpoll.hpp" #elif defined ZMQ_FORCE_KQUEUE - typedef kqueue_t poller_t; +#define ZMQ_USE_KQUEUE +#include "kqueue.hpp" #elif defined ZMQ_HAVE_LINUX - typedef epoll_t poller_t; +#define ZMQ_USE_EPOLL +#include "epoll.hpp" #elif defined ZMQ_HAVE_WINDOWS - typedef select_t poller_t; +#define ZMQ_USE_SELECT +#include "select.hpp" #elif defined ZMQ_HAVE_FREEBSD - typedef kqueue_t poller_t; +#define ZMQ_USE_KQUEUE +#include "kqueue.hpp" #elif defined ZMQ_HAVE_OPENBSD - typedef kqueue_t poller_t; +#define ZMQ_USE_KQUEUE +#include "kqueue.hpp" #elif defined ZMQ_HAVE_NETBSD - typedef kqueue_t poller_t; +#define ZMQ_USE_KQUEUE +#include "kqueue.hpp" #elif defined ZMQ_HAVE_SOLARIS - typedef devpoll_t poller_t; +#define ZMQ_USE_DEVPOLL +#include "devpoll.hpp" #elif defined ZMQ_HAVE_OSX - typedef kqueue_t poller_t; +#define ZMQ_USE_KQUEUE +#include "kqueue.hpp" #elif defined ZMQ_HAVE_QNXNTO - typedef poll_t poller_t; +#define ZMQ_USE_POLL +#include "poll.hpp" #elif defined ZMQ_HAVE_AIX - typedef poll_t poller_t; +#define ZMQ_USE_POLL +#include "poll.hpp" #elif defined ZMQ_HAVE_HPUX - typedef devpoll_t poller_t; +#define ZMQ_USE_DEVPOLL +#include "devpoll.hpp" #elif defined ZMQ_HAVE_OPENVMS - typedef select_t poller_t; +#define ZMQ_USE_SELECT +#include "select.hpp" #elif defined ZMQ_HAVE_CYGWIN - typedef select_t poller_t; +#define ZMQ_USE_SELECT +#include "select.hpp" #else #error Unsupported platform #endif -} - #endif -- cgit v1.2.3