From 9def8cf10d3c97640d32f1328535e881288f700f Mon Sep 17 00:00:00 2001 From: Svante Signell Date: Sat, 31 Aug 2019 22:59:33 +0200 Subject: [PATCH] Add support for non-Linux GNU GNU/Hurd and GNU/kFreeBSD have basically the same userland as GNU/Linux, just not the same kernel. --- configure.ac | 6 ++++++ webrtc/base/platform_thread.cc | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/configure.ac b/configure.ac index a687e4d..7973ead 100644 --- a/configure.ac +++ b/configure.ac @@ -63,6 +63,12 @@ AS_CASE(["${host}"], OS_LDFLAGS="-lrt -lpthread" HAVE_POSIX=1 ], + [*-k*bsd-gnu* | *-*gnu*], + [ + OS_CFLAGS="-DWEBRTC_GNU" + PLATFORM_CFLAGS="-DWEBRTC_POSIX" + HAVE_POSIX=1 + ], [*-*darwin*], [ OS_CFLAGS="-DWEBRTC_MAC -DWEBRTC_THREAD_RR -DWEBRTC_CLOCK_TYPE_REALTIME" diff --git a/webrtc/base/platform_thread.cc b/webrtc/base/platform_thread.cc index 4167392..707ccf8 100644 --- a/webrtc/base/platform_thread.cc +++ b/webrtc/base/platform_thread.cc @@ -17,6 +17,8 @@ #if defined(WEBRTC_LINUX) #include #include +#elif defined(WEBRTC_GNU) +#include #endif namespace rtc { @@ -32,6 +34,8 @@ PlatformThreadId CurrentThreadId() { ret = syscall(__NR_gettid); #elif defined(WEBRTC_ANDROID) ret = gettid(); +#elif defined(WEBRTC_GNU) + ret = pthread_self(); #else // Default implementation for nacl and solaris. ret = reinterpret_cast(pthread_self());