diff --git a/configure.ac b/configure.ac index 6f691bab83..48fcad47c3 100644 --- a/configure.ac +++ b/configure.ac @@ -224,13 +224,18 @@ esac AC_MSG_RESULT(ok) - # check if our target supports thread local storage - AC_MSG_CHECKING(for thread local storage __thread support) - AC_TRY_COMPILE([#include ], - [ static __thread int i; i = 1; i++; ], - [AC_DEFINE([TLS], [1], [Thread local storage]) - AC_MSG_RESULT([yes]) ], - [AC_MSG_RESULT([no])]) + # disable TLS on user request + AC_ARG_ENABLE(threading-tls, + AS_HELP_STRING([--disable-threading-tls], [Disable TLS (thread local storage)])], [enable_tls="$enableval"],[enable_tls=yes]) + AS_IF([test "x$enable_tls" = "xyes"], [ + # check if our target supports thread local storage + AC_MSG_CHECKING(for thread local storage __thread support) + AC_TRY_COMPILE([#include ], + [ static __thread int i; i = 1; i++; ], + [AC_DEFINE([TLS], [1], [Thread local storage]) + AC_MSG_RESULT([yes]) ], + [AC_MSG_RESULT([no])]) + ]) #Enable support for gcc compile time security options. There is no great way to do detection of valid cflags that I have found #AX_CFLAGS_GCC_OPTION don't seem to do a better job than the code below and are a pain because of extra m4 files etc.