1 dnl Autoconf configure snippets for common.
2 dnl Copyright (C) 1995-2019 Free Software Foundation, Inc.
4 dnl This file is part of GDB.
6 dnl This program is free software; you can redistribute it and/or modify
7 dnl it under the terms of the GNU General Public License as published by
8 dnl the Free Software Foundation; either version 3 of the License, or
9 dnl (at your option) any later version.
11 dnl This program is distributed in the hope that it will be useful,
12 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
13 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 dnl GNU General Public License for more details.
16 dnl You should have received a copy of the GNU General Public License
17 dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
19 dnl Invoke configury needed by the files in 'common'.
20 AC_DEFUN([GDB_AC_COMMON], [
24 dnl Note that this requires codeset.m4, which is included
25 dnl by the users of common.m4.
28 AC_CHECK_HEADERS(linux/perf_event.h locale.h memory.h signal.h dnl
29 sys/resource.h sys/socket.h dnl
30 sys/un.h sys/wait.h dnl
31 thread_db.h wait.h dnl
35 AC_CHECK_FUNCS([fdwalk getrlimit pipe pipe2 socketpair sigaction \
38 AC_CHECK_DECLS([strstr])
40 # Check for std::thread. This does not work on some platforms, like
43 AX_PTHREAD([threads=yes], [threads=no])
44 if test "$threads" = "yes"; then
46 LIBS="$PTHREAD_LIBS $LIBS"
47 save_CXXFLAGS="$CXXFLAGS"
48 CXXFLAGS="$PTHREAD_CFLAGS $save_CXXFLAGS"
49 AC_CACHE_CHECK([for std::thread],
50 gdb_cv_cxx_std_thread,
51 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
53 void callback() { }]],
54 [[std::thread t(callback);]])],
55 gdb_cv_cxx_std_thread=yes,
56 gdb_cv_cxx_std_thread=no)])
58 # This check must be here, while LIBS includes any necessary
60 AC_CHECK_FUNCS([pthread_sigmask pthread_setname_np])
63 CXXFLAGS="$save_CXXFLAGS"
65 if test $gdb_cv_cxx_std_thread = yes; then
66 AC_DEFINE(CXX_STD_THREAD, 1,
67 [Define to 1 if std::thread works.])
71 dnl Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't
72 dnl do since sigsetjmp might only be defined as a macro.
73 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
76 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
77 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
78 if test $gdb_cv_func_sigsetjmp = yes; then
79 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])