diff options
author | Cory Fields <cory-nospam-@coryfields.com> | 2017-11-27 17:08:27 -0500 |
---|---|---|
committer | Thomas Snider <tjps636@gmail.com> | 2017-11-27 15:01:47 -0800 |
commit | f7f7e2cd340c088e82d09090eb275b98b34a9812 (patch) | |
tree | 7e9e439fd4c9b6c61e53bcf561ae3005f9101367 /configure.ac | |
parent | bba9bd0d9dd06f13a6b0c89181864453cab5c858 (diff) |
threads: add a thread_local autoconf check
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 8e5561243a..a05896edea 100644 --- a/configure.ac +++ b/configure.ac @@ -659,6 +659,28 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([ ] ) +TEMP_LDFLAGS="$LDFLAGS" +LDFLAGS="$TEMP_LDFLAGS $PTHREAD_CFLAGS" +AC_MSG_CHECKING([for thread_local support]) +AC_LINK_IFELSE([AC_LANG_SOURCE([ + #include <thread> + static thread_local int foo = 0; + static void run_thread() { foo++;} + int main(){ + for(int i = 0; i < 10; i++) { std::thread(run_thread).detach();} + return foo; + } + ])], + [ + AC_DEFINE(HAVE_THREAD_LOCAL,1,[Define if thread_local is supported.]) + AC_MSG_RESULT(yes) + ], + [ + AC_MSG_RESULT(no) + ] +) +LDFLAGS="$TEMP_LDFLAGS" + # Check for different ways of gathering OS randomness AC_MSG_CHECKING(for Linux getrandom syscall) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h> |