1 dnl Autoconf configure script for GDB server.
2 dnl Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008
3 dnl Free Software Foundation, Inc.
5 dnl This file is part of GDB.
7 dnl This program is free software; you can redistribute it and/or modify
8 dnl it under the terms of the GNU General Public License as published by
9 dnl the Free Software Foundation; either version 3 of the License, or
10 dnl (at your option) any later version.
12 dnl This program is distributed in the hope that it will be useful,
13 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
14 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 dnl GNU General Public License for more details.
17 dnl You should have received a copy of the GNU General Public License
18 dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
20 dnl Process this file with autoconf to produce a configure script.
25 AC_CONFIG_HEADER(config.h:config.in)
26 AC_CONFIG_LIBOBJ_DIR(../gnulib)
39 AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h string.h dnl
40 proc_service.h sys/procfs.h thread_db.h linux/elf.h dnl
42 errno.h fcntl.h signal.h sys/file.h malloc.h dnl
43 sys/ioctl.h netinet/in.h sys/socket.h netdb.h dnl
44 netinet/tcp.h arpa/inet.h sys/wait.h)
45 AC_CHECK_FUNCS(pread pwrite pread64)
46 AC_REPLACE_FUNCS(memmem)
49 AC_MSG_CHECKING(for errno)
53 #endif], [static int x; x = errno;],
54 [AC_MSG_RESULT(yes - in errno.h); AC_DEFINE(HAVE_ERRNO, 1, [Define if errno is available]) have_errno=yes])
55 if test $have_errno = no; then
59 #endif], [extern int errno; static int x; x = errno;],
60 [AC_MSG_RESULT(yes - must define); AC_DEFINE(HAVE_ERRNO, 1, [Define if errno is available]) AC_DEFINE(MUST_DEFINE_ERRNO, 1, [Checking if errno must be defined])],
64 AC_CHECK_DECLS([strerror, perror])
66 AC_CHECK_TYPES(socklen_t, [], [],
67 [#include <sys/types.h>
68 #include <sys/socket.h>
71 . ${srcdir}/configure.srv
73 if test "${srv_mingwce}" = "yes"; then
75 elif test "${srv_mingw}" = "yes"; then
76 LIBS="$LIBS -lwsock32"
79 if test "${srv_mingw}" = "yes"; then
80 AC_DEFINE(USE_WIN32API, 1,
81 [Define if we should use the Windows API, instead of the
82 POSIX API. On Windows, we use the Windows API when
83 building for MinGW, but the POSIX API when building
87 if test "${srv_linux_usrregs}" = "yes"; then
88 AC_DEFINE(HAVE_LINUX_USRREGS, 1,
89 [Define if the target supports PTRACE_PEEKUSR for register ]
93 if test "${srv_linux_regsets}" = "yes"; then
94 AC_DEFINE(HAVE_LINUX_REGSETS, 1,
95 [Define if the target supports register sets.])
97 AC_MSG_CHECKING(for PTRACE_GETREGS)
98 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getregs,
99 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
101 [gdbsrv_cv_have_ptrace_getregs=yes],
102 [gdbsrv_cv_have_ptrace_getregs=no])])
103 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getregs)
104 if test "${gdbsrv_cv_have_ptrace_getregs}" = "yes"; then
105 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
106 [Define if the target supports PTRACE_GETREGS for register ]
110 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
111 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getfpxregs,
112 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
113 [PTRACE_GETFPXREGS;],
114 [gdbsrv_cv_have_ptrace_getfpxregs=yes],
115 [gdbsrv_cv_have_ptrace_getfpxregs=no])])
116 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getfpxregs)
117 if test "${gdbsrv_cv_have_ptrace_getfpxregs}" = "yes"; then
118 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
119 [Define if the target supports PTRACE_GETFPXREGS for extended ]
124 if test "$ac_cv_header_sys_procfs_h" = yes; then
125 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
126 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
127 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
128 BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t)
135 if test "$srv_linux_thread_db" = "yes"; then
137 if test "$srv_cv_thread_db" = no; then
138 AC_WARN([Could not find libthread_db.])
139 AC_WARN([Disabling thread support in gdbserver.])
140 srv_linux_thread_db=no
142 srv_libs="$srv_cv_thread_db"
143 SRV_CHECK_TLS_GET_ADDR
145 old_LDFLAGS="$LDFLAGS"
146 LDFLAGS="$LDFLAGS -rdynamic"
147 AC_TRY_LINK([], [], [RDYNAMIC=-rdynamic], [RDYNAMIC=])
149 LDFLAGS="$old_LDFLAGS"
152 if test "$srv_linux_thread_db" = "yes"; then
153 srv_thread_depfiles="thread-db.o proc-service.o"
154 USE_THREAD_DB="-DUSE_THREAD_DB"
155 AC_CACHE_CHECK([for TD_VERSION], gdbsrv_cv_have_td_version,
156 [AC_TRY_COMPILE([#include <thread_db.h>], [TD_VERSION;],
157 [gdbsrv_cv_have_td_version=yes],
158 [gdbsrv_cv_have_td_version=no])])
159 if test $gdbsrv_cv_have_td_version = yes; then
160 AC_DEFINE(HAVE_TD_VERSION, 1, [Define if TD_VERSION is available.])
163 if test "$srv_cv_tls_get_addr" = yes; then
164 AC_DEFINE(HAVE_TD_THR_TLS_GET_ADDR, 1, [Define if td_thr_tls_get_addr is available.])
168 if test "$srv_xmlfiles" != ""; then
169 srv_xmlbuiltin="xml-builtin.o"
170 AC_DEFINE(USE_XML, 1, [Define if an XML target description is available.])
172 tmp_xmlfiles=$srv_xmlfiles
174 for f in $tmp_xmlfiles; do
175 srv_xmlfiles="$srv_xmlfiles \$(XML_DIR)/$f"
179 GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles"
180 GDBSERVER_LIBS="$srv_libs"
182 AC_SUBST(GDBSERVER_DEPFILES)
183 AC_SUBST(GDBSERVER_LIBS)
184 AC_SUBST(USE_THREAD_DB)
185 AC_SUBST(srv_xmlbuiltin)
186 AC_SUBST(srv_xmlfiles)
189 [case x$CONFIG_HEADERS in