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());