daily update
[deliverable/binutils-gdb.git] / gdb / gdbserver / configure.ac
CommitLineData
d6e9fb05 1dnl Autoconf configure script for GDB server.
dcdb98d2 2dnl Copyright 2000, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
d6e9fb05
JK
3dnl
4dnl This file is part of GDB.
5dnl
6dnl This program is free software; you can redistribute it and/or modify
7dnl it under the terms of the GNU General Public License as published by
8dnl the Free Software Foundation; either version 2 of the License, or
9dnl (at your option) any later version.
10dnl
11dnl This program is distributed in the hope that it will be useful,
12dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
13dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14dnl GNU General Public License for more details.
15dnl
16dnl You should have received a copy of the GNU General Public License
17dnl along with this program; if not, write to the Free Software
18dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
20dnl Process this file with autoconf to produce a configure script.
21
bec39cab
AC
22AC_PREREQ(2.59)dnl
23
d6e9fb05 24AC_INIT(server.c)
84563040
DJ
25AC_CONFIG_HEADER(config.h:config.in)
26
27AC_PROG_CC
d6e9fb05
JK
28
29AC_CANONICAL_SYSTEM
84563040 30
d6e9fb05 31AC_PROG_INSTALL
c906108c 32
dcdb98d2
DJ
33AC_ARG_PROGRAM
34
ee6e2b82 35AC_HEADER_STDC
84563040 36
0d62e5e8 37AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h string.h dnl
94e10508
DJ
38 proc_service.h sys/procfs.h thread_db.h linux/elf.h dnl
39 stdlib.h unistd.h)
84563040 40
43d5792c
DJ
41BFD_NEED_DECLARATION(strerror)
42
7ea81414 43. ${srcdir}/configure.srv
c906108c 44
58caa3dc
DJ
45if test "${srv_linux_usrregs}" = "yes"; then
46 AC_DEFINE(HAVE_LINUX_USRREGS)
47fi
48
49if test "${srv_linux_regsets}" = "yes"; then
50 AC_MSG_CHECKING(for PTRACE_GETREGS)
51 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getregs,
52 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
53 [PTRACE_GETREGS;],
54 [gdbsrv_cv_have_ptrace_getregs=yes],
55 [gdbsrv_cv_have_ptrace_getregs=no])])
56 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getregs)
57 if test "${gdbsrv_cv_have_ptrace_getregs}" = "yes"; then
58 AC_DEFINE(HAVE_LINUX_REGSETS)
59 fi
60
61 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
62 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getfpxregs,
63 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
64 [PTRACE_GETFPXREGS;],
65 [gdbsrv_cv_have_ptrace_getfpxregs=yes],
66 [gdbsrv_cv_have_ptrace_getfpxregs=no])])
67 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getfpxregs)
68 if test "${gdbsrv_cv_have_ptrace_getfpxregs}" = "yes"; then
69 AC_DEFINE(HAVE_PTRACE_GETFPXREGS)
70 fi
71fi
72
0d62e5e8
DJ
73if test "$ac_cv_header_sys_procfs_h" = yes; then
74 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
75 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
76 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
77 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
78
79 dnl Check for broken prfpregset_t type
80
81 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
82 dnl prfpregset_t type (it's a typedef for the pointer to a struct
83 dnl instead of the struct itself). We detect this here, and work
84 dnl around it in gdb_proc_service.h.
85
86 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
87 AC_MSG_CHECKING(whether prfpregset_t type is broken)
88 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
89 [AC_TRY_RUN([#include <sys/procfs.h>
90 int main ()
91 {
92 if (sizeof (prfpregset_t) == sizeof (void *))
93 return 1;
94 return 0;
95 }],
96 gdb_cv_prfpregset_t_broken=no,
97 gdb_cv_prfpregset_t_broken=yes,
98 gdb_cv_prfpregset_t_broken=yes)])
99 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
100 if test $gdb_cv_prfpregset_t_broken = yes; then
101 AC_DEFINE(PRFPREGSET_T_BROKEN)
102 fi
103 fi
104
105 BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t)
106fi
107
108srv_thread_depfiles=
109srv_libs=
110USE_THREAD_DB=
111
112if test "$srv_linux_thread_db" = "yes"; then
113 SRV_CHECK_THREAD_DB
114 if test "$srv_cv_thread_db" = no; then
115 AC_WARN([Could not find libthread_db.])
116 AC_WARN([Disabling thread support in gdbserver.])
117 srv_linux_thread_db=no
118 else
119 srv_libs="$srv_cv_thread_db"
120 fi
f6de3c42
DJ
121 old_LDFLAGS="$LDFLAGS"
122 LDFLAGS="$LDFLAGS -rdynamic"
123 AC_TRY_LINK([], [], [RDYNAMIC=-rdynamic], [RDYNAMIC=])
124 AC_SUBST(RDYNAMIC)
125 LDFLAGS="$old_LDFLAGS"
0d62e5e8
DJ
126fi
127
128if test "$srv_linux_thread_db" = "yes"; then
129 srv_thread_depfiles="thread-db.o proc-service.o"
130 USE_THREAD_DB="-DUSE_THREAD_DB"
131fi
132
133GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_thread_depfiles"
134GDBSERVER_LIBS="$srv_libs"
c906108c 135
7ea81414 136AC_SUBST(GDBSERVER_DEPFILES)
0d62e5e8
DJ
137AC_SUBST(GDBSERVER_LIBS)
138AC_SUBST(USE_THREAD_DB)
c906108c 139
c3a3ccc7
DJ
140AC_OUTPUT(Makefile,
141[case x$CONFIG_HEADERS in
142xconfig.h:config.in)
143echo > stamp-h ;;
144esac
145])
This page took 0.606324 seconds and 4 git commands to generate.