* ppc-opc.c: Support optional L form mtmsr.
[deliverable/binutils-gdb.git] / gdb / gdbserver / configure.ac
CommitLineData
d6e9fb05 1dnl Autoconf configure script for GDB server.
0050a760
DJ
2dnl Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006
3dnl Free Software Foundation, Inc.
d6e9fb05
JK
4dnl
5dnl This file is part of GDB.
6dnl
7dnl This program is free software; you can redistribute it and/or modify
8dnl it under the terms of the GNU General Public License as published by
5a0e3bd0 9dnl the Free Software Foundation; either version 3 of the License, or
d6e9fb05
JK
10dnl (at your option) any later version.
11dnl
12dnl This program is distributed in the hope that it will be useful,
13dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
14dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15dnl GNU General Public License for more details.
16dnl
17dnl You should have received a copy of the GNU General Public License
5a0e3bd0 18dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
d6e9fb05
JK
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
fd462a61 28AC_GNU_SOURCE
d6e9fb05
JK
29
30AC_CANONICAL_SYSTEM
84563040 31
d6e9fb05 32AC_PROG_INSTALL
c906108c 33
dcdb98d2
DJ
34AC_ARG_PROGRAM
35
ee6e2b82 36AC_HEADER_STDC
84563040 37
0d62e5e8 38AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h string.h dnl
94e10508 39 proc_service.h sys/procfs.h thread_db.h linux/elf.h dnl
b80864fb 40 stdlib.h unistd.h dnl
68070c10 41 errno.h fcntl.h signal.h sys/file.h malloc.h dnl
61ff6e04 42 sys/ioctl.h netinet/in.h sys/socket.h netdb.h dnl
b80864fb 43 netinet/tcp.h arpa/inet.h sys/wait.h)
4e799345 44AC_CHECK_FUNCS(pread pwrite pread64)
84563040 45
68070c10
PA
46have_errno=no
47AC_MSG_CHECKING(for errno)
48AC_TRY_LINK([
49#if HAVE_ERRNO_H
50#include <errno.h>
51#endif], [static int x; x = errno;],
52 [AC_MSG_RESULT(yes - in errno.h); AC_DEFINE(HAVE_ERRNO, 1, [Define if errno is available]) have_errno=yes])
53if test $have_errno = no; then
54AC_TRY_LINK([
55#if HAVE_ERRNO_H
56#include <errno.h>
57#endif], [extern int errno; static int x; x = errno;],
58 [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])],
59 [AC_MSG_RESULT(no)])
60fi
61
62AC_CHECK_DECLS([strerror, perror])
43d5792c 63
ccbd4912
MK
64AC_CHECK_TYPES(socklen_t, [], [],
65[#include <sys/types.h>
66#include <sys/socket.h>
67])
fb1e4ffc
DJ
68
69# Check for various supplementary target information (beyond the
70# triplet) which might affect the choices in configure.srv.
71case "${target}" in
72 arm*-*-linux*)
73 AC_CACHE_CHECK([if iWMMXt is selected], [gdb_cv_arm_iwmmxt],
74 [save_CPPFLAGS="$CPPFLAGS"
75 CPPFLAGS="$CPPFLAGS $CFLAGS"
76 AC_EGREP_CPP([got it], [
77#ifdef __IWMMXT__
78got it
79#endif
80 ], [gdb_cv_arm_iwmmxt=yes],
81 [gdb_cv_arm_iwmmxt=no])
82 CPPFLAGS="$save_CPPFLAGS"])
83 ;;
30ed0a8f
DJ
84 powerpc*-*-*)
85 AC_CACHE_CHECK([if Altivec is selected], [gdb_cv_ppc_altivec],
86 [save_CPPFLAGS="$CPPFLAGS"
87 CPPFLAGS="$CPPFLAGS $CFLAGS"
88 AC_EGREP_CPP([got it], [
89#ifdef __ALTIVEC__
90got it
91#endif
92 ], [gdb_cv_ppc_altivec=yes],
93 [gdb_cv_ppc_altivec=no])
94 CPPFLAGS="$save_CPPFLAGS"])
95 AC_CACHE_CHECK([if SPE is selected], [gdb_cv_ppc_spe],
96 [save_CPPFLAGS="$CPPFLAGS"
97 CPPFLAGS="$CPPFLAGS $CFLAGS"
98 AC_EGREP_CPP([got it], [
99#ifdef __SPE__
100got it
101#endif
102 ], [gdb_cv_ppc_spe=yes],
103 [gdb_cv_ppc_spe=no])
104 CPPFLAGS="$save_CPPFLAGS"])
105 ;;
fb1e4ffc
DJ
106esac
107
7ea81414 108. ${srcdir}/configure.srv
c906108c 109
68070c10
PA
110if test "${srv_mingwce}" = "yes"; then
111 LIBS="$LIBS -lws2"
112elif test "${srv_mingw}" = "yes"; then
b80864fb 113 LIBS="$LIBS -lwsock32"
68070c10
PA
114fi
115
116if test "${srv_mingw}" = "yes"; then
b80864fb
DJ
117 AC_DEFINE(USE_WIN32API, 1,
118 [Define if we should use the Windows API, instead of the
119 POSIX API. On Windows, we use the Windows API when
120 building for MinGW, but the POSIX API when building
121 for Cygwin.])
122fi
123
58caa3dc 124if test "${srv_linux_usrregs}" = "yes"; then
f450004a
DJ
125 AC_DEFINE(HAVE_LINUX_USRREGS, 1,
126 [Define if the target supports PTRACE_PEEKUSR for register ]
127 [access.])
58caa3dc
DJ
128fi
129
130if test "${srv_linux_regsets}" = "yes"; then
e9d25b98
DJ
131 AC_DEFINE(HAVE_LINUX_REGSETS, 1,
132 [Define if the target supports register sets.])
133
58caa3dc
DJ
134 AC_MSG_CHECKING(for PTRACE_GETREGS)
135 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getregs,
136 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
137 [PTRACE_GETREGS;],
138 [gdbsrv_cv_have_ptrace_getregs=yes],
139 [gdbsrv_cv_have_ptrace_getregs=no])])
140 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getregs)
141 if test "${gdbsrv_cv_have_ptrace_getregs}" = "yes"; then
e9d25b98 142 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
f450004a
DJ
143 [Define if the target supports PTRACE_GETREGS for register ]
144 [access.])
58caa3dc
DJ
145 fi
146
147 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
148 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getfpxregs,
149 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
150 [PTRACE_GETFPXREGS;],
151 [gdbsrv_cv_have_ptrace_getfpxregs=yes],
152 [gdbsrv_cv_have_ptrace_getfpxregs=no])])
153 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getfpxregs)
154 if test "${gdbsrv_cv_have_ptrace_getfpxregs}" = "yes"; then
f450004a
DJ
155 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
156 [Define if the target supports PTRACE_GETFPXREGS for extended ]
157 [register access.])
58caa3dc
DJ
158 fi
159fi
160
0d62e5e8
DJ
161if test "$ac_cv_header_sys_procfs_h" = yes; then
162 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
163 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
164 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
0d62e5e8
DJ
165 BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t)
166fi
167
168srv_thread_depfiles=
169srv_libs=
170USE_THREAD_DB=
171
172if test "$srv_linux_thread_db" = "yes"; then
173 SRV_CHECK_THREAD_DB
174 if test "$srv_cv_thread_db" = no; then
175 AC_WARN([Could not find libthread_db.])
176 AC_WARN([Disabling thread support in gdbserver.])
177 srv_linux_thread_db=no
178 else
179 srv_libs="$srv_cv_thread_db"
dae5f5cf 180 SRV_CHECK_TLS_GET_ADDR
0d62e5e8 181 fi
f6de3c42
DJ
182 old_LDFLAGS="$LDFLAGS"
183 LDFLAGS="$LDFLAGS -rdynamic"
184 AC_TRY_LINK([], [], [RDYNAMIC=-rdynamic], [RDYNAMIC=])
185 AC_SUBST(RDYNAMIC)
186 LDFLAGS="$old_LDFLAGS"
0d62e5e8
DJ
187fi
188
189if test "$srv_linux_thread_db" = "yes"; then
190 srv_thread_depfiles="thread-db.o proc-service.o"
191 USE_THREAD_DB="-DUSE_THREAD_DB"
3db0444b
DJ
192 AC_CACHE_CHECK([for TD_VERSION], gdbsrv_cv_have_td_version,
193 [AC_TRY_COMPILE([#include <thread_db.h>], [TD_VERSION;],
194 [gdbsrv_cv_have_td_version=yes],
195 [gdbsrv_cv_have_td_version=no])])
196 if test $gdbsrv_cv_have_td_version = yes; then
197 AC_DEFINE(HAVE_TD_VERSION, 1, [Define if TD_VERSION is available.])
198 fi
dae5f5cf 199
cb7283db 200 if test "$srv_cv_tls_get_addr" = yes; then
dae5f5cf
DJ
201 AC_DEFINE(HAVE_TD_THR_TLS_GET_ADDR, 1, [Define if td_thr_tls_get_addr is available.])
202 fi
0d62e5e8
DJ
203fi
204
fb1e4ffc
DJ
205if test "$srv_xmltarget" != ""; then
206 srv_xmltarget="\$(XML_DIR)/$srv_xmltarget"
207 srv_xmlbuiltin="xml-builtin.o"
208 AC_DEFINE(USE_XML, 1, [Define if an XML target description is available.])
209
210 tmp_xmlfiles=$srv_xmlfiles
211 srv_xmlfiles="target.xml"
212 for f in $tmp_xmlfiles; do
213 srv_xmlfiles="$srv_xmlfiles \$(XML_DIR)/$f"
214 done
215fi
216
0d62e5e8
DJ
217GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_thread_depfiles"
218GDBSERVER_LIBS="$srv_libs"
c906108c 219
7ea81414 220AC_SUBST(GDBSERVER_DEPFILES)
0d62e5e8
DJ
221AC_SUBST(GDBSERVER_LIBS)
222AC_SUBST(USE_THREAD_DB)
fb1e4ffc
DJ
223AC_SUBST(srv_xmlbuiltin)
224AC_SUBST(srv_xmlfiles)
225AC_SUBST(srv_xmltarget)
c906108c 226
c3a3ccc7
DJ
227AC_OUTPUT(Makefile,
228[case x$CONFIG_HEADERS in
229xconfig.h:config.in)
230echo > stamp-h ;;
231esac
232])
This page took 0.65005 seconds and 4 git commands to generate.