diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-09-14 15:13:43 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-09-14 15:13:43 +0200 |
commit | f7c9c07973ff5a1041036478fcae87f77457d737 (patch) | |
tree | 53c048a7b1f9a06af8d3ce029ac77451a5beeb8f /m4 | |
parent | f7bf16d50f6f08c66b1bae35e2dab327d560b0f3 (diff) |
Use __thread keyword if available
Diffstat (limited to 'm4')
-rw-r--r-- | m4/threads.m4 | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/m4/threads.m4 b/m4/threads.m4 index 7c32abe..ea547c0 100644 --- a/m4/threads.m4 +++ b/m4/threads.m4 @@ -5,6 +5,8 @@ dnl license : GNU GPL v2; see accompanying LICENSE file dnl AC_DEFUN([THREADS],[ +threads_thread_keyword=no + AC_ARG_ENABLE( [threads], AS_HELP_STRING([--disable-threads], [disable threads (enabled by default)]), @@ -30,6 +32,24 @@ if test x$threads = xcheck; then threads=posix LIBS="$LIBS $PTHREAD_LIBS" CXXFLAGS="$CXXFLAGS $PTHREAD_CXXFLAGS" + + # Check if we can use the __thread keyword. + # + AC_MSG_CHECKING([for __thread keyword]) + + CXX_LIBTOOL_LINK_IFELSE( + AC_LANG_SOURCE([[ + __thread int tls_var; + + int + main () + { + tls_var = 0; + } + ]]), + [threads_thread_keyword=yes]) + + AC_MSG_RESULT([$threads_thread_keyword]) fi ;; esac |