diff options
-rwxr-xr-x | gdb/configure | 14 | ||||
-rwxr-xr-x | gdbserver/configure | 14 | ||||
-rw-r--r-- | gdbsupport/common.m4 | 13 | ||||
-rwxr-xr-x | gdbsupport/configure | 14 |
4 files changed, 43 insertions, 12 deletions
diff --git a/gdb/configure b/gdb/configure index 98cd488..66a7ad8 100755 --- a/gdb/configure +++ b/gdb/configure @@ -20181,12 +20181,13 @@ if test "${enable_threading+set}" = set; then : *) as_fn_error $? "bad value $enableval for threading" "$LINENO" 5 ;; esac else - want_threading=yes + want_threading=auto fi # Check for std::thread. This does not work on some platforms, like - # mingw and DJGPP. + # mingw using the win32 threads model with gcc older than 13, and + # DJGPP. ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -20893,11 +20894,18 @@ done LIBS="$save_LIBS" CXXFLAGS="$save_CXXFLAGS" - if test "$want_threading" = "yes"; then + if test "$want_threading" != "no"; then if test "$gdb_cv_cxx_std_thread" = "yes"; then $as_echo "#define CXX_STD_THREAD 1" >>confdefs.h + else + if test "$want_threading" = "yes"; then + as_fn_error $? "std::thread does not work; disable threading" "$LINENO" 5 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: std::thread does not work; disabling threading" >&5 +$as_echo "$as_me: WARNING: std::thread does not work; disabling threading" >&2;} + fi fi fi ac_ext=c diff --git a/gdbserver/configure b/gdbserver/configure index 2da525e..3abc647 100755 --- a/gdbserver/configure +++ b/gdbserver/configure @@ -8888,12 +8888,13 @@ if test "${enable_threading+set}" = set; then : *) as_fn_error $? "bad value $enableval for threading" "$LINENO" 5 ;; esac else - want_threading=yes + want_threading=auto fi # Check for std::thread. This does not work on some platforms, like - # mingw and DJGPP. + # mingw using the win32 threads model with gcc older than 13, and + # DJGPP. ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -9600,11 +9601,18 @@ done LIBS="$save_LIBS" CXXFLAGS="$save_CXXFLAGS" - if test "$want_threading" = "yes"; then + if test "$want_threading" != "no"; then if test "$gdb_cv_cxx_std_thread" = "yes"; then $as_echo "#define CXX_STD_THREAD 1" >>confdefs.h + else + if test "$want_threading" = "yes"; then + as_fn_error $? "std::thread does not work; disable threading" "$LINENO" 5 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: std::thread does not work; disabling threading" >&5 +$as_echo "$as_me: WARNING: std::thread does not work; disabling threading" >&2;} + fi fi fi ac_ext=c diff --git a/gdbsupport/common.m4 b/gdbsupport/common.m4 index bef3964..6c317ff 100644 --- a/gdbsupport/common.m4 +++ b/gdbsupport/common.m4 @@ -89,10 +89,11 @@ AC_DEFUN([GDB_AC_COMMON], [ no) want_threading=no ;; *) AC_MSG_ERROR([bad value $enableval for threading]) ;; esac], - [want_threading=yes]) + [want_threading=auto]) # Check for std::thread. This does not work on some platforms, like - # mingw and DJGPP. + # mingw using the win32 threads model with gcc older than 13, and + # DJGPP. AC_LANG_PUSH([C++]) AX_PTHREAD([threads=yes], [threads=no]) save_LIBS="$LIBS" @@ -128,10 +129,16 @@ AC_DEFUN([GDB_AC_COMMON], [ LIBS="$save_LIBS" CXXFLAGS="$save_CXXFLAGS" - if test "$want_threading" = "yes"; then + if test "$want_threading" != "no"; then if test "$gdb_cv_cxx_std_thread" = "yes"; then AC_DEFINE(CXX_STD_THREAD, 1, [Define to 1 if std::thread works.]) + else + if test "$want_threading" = "yes"; then + AC_MSG_ERROR([std::thread does not work; disable threading]) + else + AC_MSG_WARN([std::thread does not work; disabling threading]) + fi fi fi AC_LANG_POP diff --git a/gdbsupport/configure b/gdbsupport/configure index a218b06..19b19c4 100755 --- a/gdbsupport/configure +++ b/gdbsupport/configure @@ -11662,12 +11662,13 @@ if test "${enable_threading+set}" = set; then : *) as_fn_error $? "bad value $enableval for threading" "$LINENO" 5 ;; esac else - want_threading=yes + want_threading=auto fi # Check for std::thread. This does not work on some platforms, like - # mingw and DJGPP. + # mingw using the win32 threads model with gcc older than 13, and + # DJGPP. ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -12374,11 +12375,18 @@ done LIBS="$save_LIBS" CXXFLAGS="$save_CXXFLAGS" - if test "$want_threading" = "yes"; then + if test "$want_threading" != "no"; then if test "$gdb_cv_cxx_std_thread" = "yes"; then $as_echo "#define CXX_STD_THREAD 1" >>confdefs.h + else + if test "$want_threading" = "yes"; then + as_fn_error $? "std::thread does not work; disable threading" "$LINENO" 5 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: std::thread does not work; disabling threading" >&5 +$as_echo "$as_me: WARNING: std::thread does not work; disabling threading" >&2;} + fi fi fi ac_ext=c |