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, memmem])
66 AC_CHECK_TYPES(socklen_t, [], [],
67 [#include <sys/types.h>
68 #include <sys/socket.h>
72 ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
73 AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
74 AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
76 # Check for various supplementary target information (beyond the
77 # triplet) which might affect the choices in configure.srv.
82 AC_CACHE_CHECK([if building for x86-64], [gdb_cv_i386_is_x86_64],
83 [save_CPPFLAGS="$CPPFLAGS"
84 CPPFLAGS="$CPPFLAGS $CFLAGS"
85 AC_EGREP_CPP([got it], [
89 ], [gdb_cv_i386_is_x86_64=yes],
90 [gdb_cv_i386_is_x86_64=no])
91 CPPFLAGS="$save_CPPFLAGS"])
95 . ${srcdir}/configure.srv
97 if test "${srv_mingwce}" = "yes"; then
99 elif test "${srv_mingw}" = "yes"; then
100 LIBS="$LIBS -lwsock32"
101 elif test "${srv_qnx}" = "yes"; then
102 LIBS="$LIBS -lsocket"
105 if test "${srv_mingw}" = "yes"; then
106 AC_DEFINE(USE_WIN32API, 1,
107 [Define if we should use the Windows API, instead of the
108 POSIX API. On Windows, we use the Windows API when
109 building for MinGW, but the POSIX API when building
113 if test "${srv_linux_usrregs}" = "yes"; then
114 AC_DEFINE(HAVE_LINUX_USRREGS, 1,
115 [Define if the target supports PTRACE_PEEKUSR for register ]
119 if test "${srv_linux_regsets}" = "yes"; then
120 AC_DEFINE(HAVE_LINUX_REGSETS, 1,
121 [Define if the target supports register sets.])
123 AC_MSG_CHECKING(for PTRACE_GETREGS)
124 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getregs,
125 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
127 [gdbsrv_cv_have_ptrace_getregs=yes],
128 [gdbsrv_cv_have_ptrace_getregs=no])])
129 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getregs)
130 if test "${gdbsrv_cv_have_ptrace_getregs}" = "yes"; then
131 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
132 [Define if the target supports PTRACE_GETREGS for register ]
136 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
137 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getfpxregs,
138 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
139 [PTRACE_GETFPXREGS;],
140 [gdbsrv_cv_have_ptrace_getfpxregs=yes],
141 [gdbsrv_cv_have_ptrace_getfpxregs=no])])
142 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getfpxregs)
143 if test "${gdbsrv_cv_have_ptrace_getfpxregs}" = "yes"; then
144 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
145 [Define if the target supports PTRACE_GETFPXREGS for extended ]
150 if test "$ac_cv_header_sys_procfs_h" = yes; then
151 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
152 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
153 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
154 BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t)
161 if test "$srv_linux_thread_db" = "yes"; then
163 old_LDFLAGS="$LDFLAGS"
164 LDFLAGS="$LDFLAGS -rdynamic"
165 AC_TRY_LINK([], [], [RDYNAMIC=-rdynamic], [RDYNAMIC=])
167 LDFLAGS="$old_LDFLAGS"
169 srv_thread_depfiles="thread-db.o proc-service.o"
170 USE_THREAD_DB="-DUSE_THREAD_DB"
171 AC_CACHE_CHECK([for TD_VERSION], gdbsrv_cv_have_td_version,
172 [AC_TRY_COMPILE([#include <thread_db.h>], [TD_VERSION;],
173 [gdbsrv_cv_have_td_version=yes],
174 [gdbsrv_cv_have_td_version=no])])
175 if test $gdbsrv_cv_have_td_version = yes; then
176 AC_DEFINE(HAVE_TD_VERSION, 1, [Define if TD_VERSION is available.])
180 AC_ARG_WITH(libthread-db,
181 AS_HELP_STRING([--with-libthread-db=PATH], [use given libthread_db directly]),
182 [srv_libthread_db_path="${withval}"
183 AC_DEFINE(USE_LIBTHREAD_DB_DIRECTLY, 1, [Define if we should use libthread_db directly.])
184 srv_libs="$srv_libthread_db_path"
187 if test "$srv_xmlfiles" != ""; then
188 srv_xmlbuiltin="xml-builtin.o"
189 AC_DEFINE(USE_XML, 1, [Define if an XML target description is available.])
191 tmp_xmlfiles=$srv_xmlfiles
193 for f in $tmp_xmlfiles; do
194 srv_xmlfiles="$srv_xmlfiles \$(XML_DIR)/$f"
198 GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles"
199 GDBSERVER_LIBS="$srv_libs"
201 AC_SUBST(GDBSERVER_DEPFILES)
202 AC_SUBST(GDBSERVER_LIBS)
203 AC_SUBST(USE_THREAD_DB)
204 AC_SUBST(srv_xmlbuiltin)
205 AC_SUBST(srv_xmlfiles)
208 [case x$CONFIG_HEADERS in