summaryrefslogtreecommitdiff
path: root/libs/tdlib/td/tdutils/td/utils/port/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/tdlib/td/tdutils/td/utils/port/config.h')
-rw-r--r--libs/tdlib/td/tdutils/td/utils/port/config.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/libs/tdlib/td/tdutils/td/utils/port/config.h b/libs/tdlib/td/tdutils/td/utils/port/config.h
new file mode 100644
index 0000000000..0ffdb3c3bf
--- /dev/null
+++ b/libs/tdlib/td/tdutils/td/utils/port/config.h
@@ -0,0 +1,46 @@
+//
+// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2018
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+#pragma once
+
+#include "td/utils/port/platform.h"
+
+// clang-format off
+
+#if TD_WINDOWS
+ #define TD_PORT_WINDOWS 1
+#else
+ #define TD_PORT_POSIX 1
+#endif
+
+#if TD_LINUX || TD_ANDROID || TD_TIZEN
+ #define TD_POLL_EPOLL 1
+ #define TD_EVENTFD_LINUX 1
+#elif TD_CYGWIN
+ #define TD_POLL_SELECT 1
+ #define TD_EVENTFD_BSD 1
+#elif TD_EMSCRIPTEN
+ #define TD_POLL_POLL 1
+ #define TD_EVENTFD_UNSUPPORTED 1
+#elif TD_DARWIN
+ #define TD_POLL_KQUEUE 1
+ #define TD_EVENTFD_BSD 1
+#elif TD_WINDOWS
+ #define TD_POLL_WINEVENT 1
+ #define TD_EVENTFD_WINDOWS 1
+#else
+ #error "Poll's implementation is not defined"
+#endif
+
+#if TD_EMSCRIPTEN
+ #define TD_THREAD_UNSUPPORTED 1
+#elif TD_TIZEN
+ #define TD_THREAD_PTHREAD 1
+#else
+ #define TD_THREAD_STL 1
+#endif
+
+// clang-format on