Define NOTHREADS to 1 if thread_local keyword is not available
This commit is contained in:
parent
3817798905
commit
1cb6d5cb6d
26
configure.ac
26
configure.ac
|
@ -197,6 +197,21 @@ std::vector<std::future<int>> v;
|
|||
[have_std_future=no
|
||||
AC_MSG_RESULT([no])])
|
||||
|
||||
# Check that thread_local is available.
|
||||
AC_MSG_CHECKING([whether thread_local is available])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
||||
[[
|
||||
]],
|
||||
[[
|
||||
thread_local int n;
|
||||
]])],
|
||||
[AC_DEFINE([HAVE_THREAD_LOCAL], [1],
|
||||
[Define to 1 if you have the `thread_local`.])
|
||||
have_thread_local=yes
|
||||
AC_MSG_RESULT([yes])],
|
||||
[have_thread_local=no
|
||||
AC_MSG_RESULT([no])])
|
||||
|
||||
# Check that std::map::emplace is available for g++-4.7.
|
||||
AC_MSG_CHECKING([whether std::map::emplace is available])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
||||
|
@ -608,9 +623,13 @@ if test "x$debug" != "xno"; then
|
|||
AC_DEFINE([DEBUGBUILD], [1], [Define to 1 to enable debug output.])
|
||||
fi
|
||||
|
||||
# Some platform does not have working std::future. We disable
|
||||
# threading for those platforms to exclude std::future use.
|
||||
if test "x$threads" != "xyes" || test "x$have_std_future" != "xyes"; then
|
||||
enable_threads=yes
|
||||
# Some platform does not have working std::future or thread_local. We
|
||||
# disable threading for those platforms.
|
||||
if test "x$threads" != "xyes" ||
|
||||
test "x$have_std_future" != "xyes" ||
|
||||
test "x$have_thread_local" != "xyes"; then
|
||||
enable_threads=no
|
||||
AC_DEFINE([NOTHREADS], [1], [Define to 1 if you want to disable threads.])
|
||||
fi
|
||||
|
||||
|
@ -698,4 +717,5 @@ AC_MSG_NOTICE([summary of build options:
|
|||
Libnghttp2_asio:${enable_asio_lib}
|
||||
Examples: ${enable_examples}
|
||||
Python bindings:${enable_python_bindings}
|
||||
Threading: ${enable_threads}
|
||||
])
|
||||
|
|
Loading…
Reference in New Issue