* i387-fp.c, linux-arm-low.c, linux-cris-low.c,
[deliverable/binutils-gdb.git] / gdb / gdbserver / configure.ac
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.
4 dnl
5 dnl This file is part of GDB.
6 dnl
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.
11 dnl
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.
16 dnl
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/>.
19
20 dnl Process this file with autoconf to produce a configure script.
21
22 AC_PREREQ(2.59)dnl
23
24 AC_INIT(server.c)
25 AC_CONFIG_HEADER(config.h:config.in)
26 AC_CONFIG_LIBOBJ_DIR(../gnulib)
27
28 AC_PROG_CC
29 AC_GNU_SOURCE
30
31 AC_CANONICAL_SYSTEM
32
33 AC_PROG_INSTALL
34
35 AC_ARG_PROGRAM
36
37 AC_HEADER_STDC
38
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
41 stdlib.h unistd.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)
47
48 have_errno=no
49 AC_MSG_CHECKING(for errno)
50 AC_TRY_LINK([
51 #if HAVE_ERRNO_H
52 #include <errno.h>
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
56 AC_TRY_LINK([
57 #if HAVE_ERRNO_H
58 #include <errno.h>
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])],
61 [AC_MSG_RESULT(no)])
62 fi
63
64 AC_CHECK_DECLS([strerror, perror, memmem])
65
66 AC_CHECK_TYPES(socklen_t, [], [],
67 [#include <sys/types.h>
68 #include <sys/socket.h>
69 ])
70
71 ACX_PKGVERSION([GDB])
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])
75
76 . ${srcdir}/configure.srv
77
78 if test "${srv_mingwce}" = "yes"; then
79 LIBS="$LIBS -lws2"
80 elif test "${srv_mingw}" = "yes"; then
81 LIBS="$LIBS -lwsock32"
82 fi
83
84 if test "${srv_mingw}" = "yes"; then
85 AC_DEFINE(USE_WIN32API, 1,
86 [Define if we should use the Windows API, instead of the
87 POSIX API. On Windows, we use the Windows API when
88 building for MinGW, but the POSIX API when building
89 for Cygwin.])
90 fi
91
92 if test "${srv_linux_usrregs}" = "yes"; then
93 AC_DEFINE(HAVE_LINUX_USRREGS, 1,
94 [Define if the target supports PTRACE_PEEKUSR for register ]
95 [access.])
96 fi
97
98 if test "${srv_linux_regsets}" = "yes"; then
99 AC_DEFINE(HAVE_LINUX_REGSETS, 1,
100 [Define if the target supports register sets.])
101
102 AC_MSG_CHECKING(for PTRACE_GETREGS)
103 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getregs,
104 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
105 [PTRACE_GETREGS;],
106 [gdbsrv_cv_have_ptrace_getregs=yes],
107 [gdbsrv_cv_have_ptrace_getregs=no])])
108 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getregs)
109 if test "${gdbsrv_cv_have_ptrace_getregs}" = "yes"; then
110 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
111 [Define if the target supports PTRACE_GETREGS for register ]
112 [access.])
113 fi
114
115 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
116 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getfpxregs,
117 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
118 [PTRACE_GETFPXREGS;],
119 [gdbsrv_cv_have_ptrace_getfpxregs=yes],
120 [gdbsrv_cv_have_ptrace_getfpxregs=no])])
121 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getfpxregs)
122 if test "${gdbsrv_cv_have_ptrace_getfpxregs}" = "yes"; then
123 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
124 [Define if the target supports PTRACE_GETFPXREGS for extended ]
125 [register access.])
126 fi
127 fi
128
129 if test "$ac_cv_header_sys_procfs_h" = yes; then
130 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
131 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
132 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
133 BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t)
134 fi
135
136 srv_thread_depfiles=
137 srv_libs=
138 USE_THREAD_DB=
139
140 if test "$srv_linux_thread_db" = "yes"; then
141 SRV_CHECK_THREAD_DB
142 if test "$srv_cv_thread_db" = no; then
143 AC_WARN([Could not find libthread_db.])
144 AC_WARN([Disabling thread support in gdbserver.])
145 srv_linux_thread_db=no
146 else
147 srv_libs="$srv_cv_thread_db"
148 SRV_CHECK_TLS_GET_ADDR
149 fi
150 old_LDFLAGS="$LDFLAGS"
151 LDFLAGS="$LDFLAGS -rdynamic"
152 AC_TRY_LINK([], [], [RDYNAMIC=-rdynamic], [RDYNAMIC=])
153 AC_SUBST(RDYNAMIC)
154 LDFLAGS="$old_LDFLAGS"
155 fi
156
157 if test "$srv_linux_thread_db" = "yes"; then
158 srv_thread_depfiles="thread-db.o proc-service.o"
159 USE_THREAD_DB="-DUSE_THREAD_DB"
160 AC_CACHE_CHECK([for TD_VERSION], gdbsrv_cv_have_td_version,
161 [AC_TRY_COMPILE([#include <thread_db.h>], [TD_VERSION;],
162 [gdbsrv_cv_have_td_version=yes],
163 [gdbsrv_cv_have_td_version=no])])
164 if test $gdbsrv_cv_have_td_version = yes; then
165 AC_DEFINE(HAVE_TD_VERSION, 1, [Define if TD_VERSION is available.])
166 fi
167
168 if test "$srv_cv_tls_get_addr" = yes; then
169 AC_DEFINE(HAVE_TD_THR_TLS_GET_ADDR, 1, [Define if td_thr_tls_get_addr is available.])
170 fi
171 fi
172
173 if test "$srv_xmlfiles" != ""; then
174 srv_xmlbuiltin="xml-builtin.o"
175 AC_DEFINE(USE_XML, 1, [Define if an XML target description is available.])
176
177 tmp_xmlfiles=$srv_xmlfiles
178 srv_xmlfiles=""
179 for f in $tmp_xmlfiles; do
180 srv_xmlfiles="$srv_xmlfiles \$(XML_DIR)/$f"
181 done
182 fi
183
184 GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles"
185 GDBSERVER_LIBS="$srv_libs"
186
187 AC_SUBST(GDBSERVER_DEPFILES)
188 AC_SUBST(GDBSERVER_LIBS)
189 AC_SUBST(USE_THREAD_DB)
190 AC_SUBST(srv_xmlbuiltin)
191 AC_SUBST(srv_xmlfiles)
192
193 AC_OUTPUT(Makefile,
194 [case x$CONFIG_HEADERS in
195 xconfig.h:config.in)
196 echo > stamp-h ;;
197 esac
198 ])
This page took 0.034111 seconds and 4 git commands to generate.