1 dnl Autoconf configure script for GDB server.
2 dnl Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006
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 2 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, write to the Free Software
19 dnl Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 dnl Boston, MA 02110-1301, USA.
22 dnl Process this file with autoconf to produce a configure script.
27 AC_CONFIG_HEADER(config.h:config.in)
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 sys/ioctl.h netinet/in.h sys/socket.h netdb.h dnl
43 netinet/tcp.h arpa/inet.h sys/wait.h)
45 AC_CHECK_DECLS(strerror)
47 AC_CHECK_TYPES(socklen_t, [], [],
48 [#include <sys/types.h>
49 #include <sys/socket.h>
52 # Check for various supplementary target information (beyond the
53 # triplet) which might affect the choices in configure.srv.
56 AC_CACHE_CHECK([if iWMMXt is selected], [gdb_cv_arm_iwmmxt],
57 [save_CPPFLAGS="$CPPFLAGS"
58 CPPFLAGS="$CPPFLAGS $CFLAGS"
59 AC_EGREP_CPP([got it], [
63 ], [gdb_cv_arm_iwmmxt=yes],
64 [gdb_cv_arm_iwmmxt=no])
65 CPPFLAGS="$save_CPPFLAGS"])
69 . ${srcdir}/configure.srv
71 if test "${srv_mingw}" = "yes"; then
72 LIBS="$LIBS -lwsock32"
73 AC_DEFINE(USE_WIN32API, 1,
74 [Define if we should use the Windows API, instead of the
75 POSIX API. On Windows, we use the Windows API when
76 building for MinGW, but the POSIX API when building
80 if test "${srv_linux_usrregs}" = "yes"; then
81 AC_DEFINE(HAVE_LINUX_USRREGS, 1,
82 [Define if the target supports PTRACE_PEEKUSR for register ]
86 if test "${srv_linux_regsets}" = "yes"; then
87 AC_DEFINE(HAVE_LINUX_REGSETS, 1,
88 [Define if the target supports register sets.])
90 AC_MSG_CHECKING(for PTRACE_GETREGS)
91 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getregs,
92 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
94 [gdbsrv_cv_have_ptrace_getregs=yes],
95 [gdbsrv_cv_have_ptrace_getregs=no])])
96 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getregs)
97 if test "${gdbsrv_cv_have_ptrace_getregs}" = "yes"; then
98 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
99 [Define if the target supports PTRACE_GETREGS for register ]
103 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
104 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getfpxregs,
105 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
106 [PTRACE_GETFPXREGS;],
107 [gdbsrv_cv_have_ptrace_getfpxregs=yes],
108 [gdbsrv_cv_have_ptrace_getfpxregs=no])])
109 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getfpxregs)
110 if test "${gdbsrv_cv_have_ptrace_getfpxregs}" = "yes"; then
111 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
112 [Define if the target supports PTRACE_GETFPXREGS for extended ]
117 if test "$ac_cv_header_sys_procfs_h" = yes; then
118 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
119 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
120 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
121 BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t)
128 if test "$srv_linux_thread_db" = "yes"; then
130 if test "$srv_cv_thread_db" = no; then
131 AC_WARN([Could not find libthread_db.])
132 AC_WARN([Disabling thread support in gdbserver.])
133 srv_linux_thread_db=no
135 srv_libs="$srv_cv_thread_db"
136 SRV_CHECK_TLS_GET_ADDR
138 old_LDFLAGS="$LDFLAGS"
139 LDFLAGS="$LDFLAGS -rdynamic"
140 AC_TRY_LINK([], [], [RDYNAMIC=-rdynamic], [RDYNAMIC=])
142 LDFLAGS="$old_LDFLAGS"
145 if test "$srv_linux_thread_db" = "yes"; then
146 srv_thread_depfiles="thread-db.o proc-service.o"
147 USE_THREAD_DB="-DUSE_THREAD_DB"
148 AC_CACHE_CHECK([for TD_VERSION], gdbsrv_cv_have_td_version,
149 [AC_TRY_COMPILE([#include <thread_db.h>], [TD_VERSION;],
150 [gdbsrv_cv_have_td_version=yes],
151 [gdbsrv_cv_have_td_version=no])])
152 if test $gdbsrv_cv_have_td_version = yes; then
153 AC_DEFINE(HAVE_TD_VERSION, 1, [Define if TD_VERSION is available.])
156 if test "$srv_cv_tls_get_addr" = yes; then
157 AC_DEFINE(HAVE_TD_THR_TLS_GET_ADDR, 1, [Define if td_thr_tls_get_addr is available.])
161 if test "$srv_xmltarget" != ""; then
162 srv_xmltarget="\$(XML_DIR)/$srv_xmltarget"
163 srv_xmlbuiltin="xml-builtin.o"
164 AC_DEFINE(USE_XML, 1, [Define if an XML target description is available.])
166 tmp_xmlfiles=$srv_xmlfiles
167 srv_xmlfiles="target.xml"
168 for f in $tmp_xmlfiles; do
169 srv_xmlfiles="$srv_xmlfiles \$(XML_DIR)/$f"
173 GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_thread_depfiles"
174 GDBSERVER_LIBS="$srv_libs"
176 AC_SUBST(GDBSERVER_DEPFILES)
177 AC_SUBST(GDBSERVER_LIBS)
178 AC_SUBST(USE_THREAD_DB)
179 AC_SUBST(srv_xmlbuiltin)
180 AC_SUBST(srv_xmlfiles)
181 AC_SUBST(srv_xmltarget)
184 [case x$CONFIG_HEADERS in