2009-11-17 Nathan Sidwell <nathan@codesourcery.com>
[deliverable/binutils-gdb.git] / gdb / gdbserver / configure.ac
CommitLineData
d6e9fb05 1dnl Autoconf configure script for GDB server.
e28b3332 2dnl Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008
0050a760 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 25AC_CONFIG_HEADER(config.h:config.in)
e28b3332 26AC_CONFIG_LIBOBJ_DIR(../gnulib)
84563040
DJ
27
28AC_PROG_CC
fd462a61 29AC_GNU_SOURCE
d6e9fb05
JK
30
31AC_CANONICAL_SYSTEM
84563040 32
d6e9fb05 33AC_PROG_INSTALL
c906108c 34
dcdb98d2
DJ
35AC_ARG_PROGRAM
36
ee6e2b82 37AC_HEADER_STDC
84563040 38
0d62e5e8 39AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h string.h dnl
94e10508 40 proc_service.h sys/procfs.h thread_db.h linux/elf.h dnl
b80864fb 41 stdlib.h unistd.h dnl
1b3f6016 42 errno.h fcntl.h signal.h sys/file.h malloc.h dnl
61ff6e04 43 sys/ioctl.h netinet/in.h sys/socket.h netdb.h dnl
b80864fb 44 netinet/tcp.h arpa/inet.h sys/wait.h)
4e799345 45AC_CHECK_FUNCS(pread pwrite pread64)
e28b3332 46AC_REPLACE_FUNCS(memmem)
84563040 47
68070c10
PA
48have_errno=no
49AC_MSG_CHECKING(for errno)
50AC_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])
55if test $have_errno = no; then
56AC_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)])
62fi
63
ec56be1b 64AC_CHECK_DECLS([strerror, perror, memmem])
43d5792c 65
ccbd4912
MK
66AC_CHECK_TYPES(socklen_t, [], [],
67[#include <sys/types.h>
68#include <sys/socket.h>
69])
fb1e4ffc 70
c16158bc
JM
71ACX_PKGVERSION([GDB])
72ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
73AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
74AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
75
8838b45e
NS
76# Check for various supplementary target information (beyond the
77# triplet) which might affect the choices in configure.srv.
78case "${target}" in
79changequote(,)dnl
80 i[34567]86-*-linux*)
81changequote([,])dnl
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], [
86#if __x86_64__
87got it
88#endif
89 ], [gdb_cv_i386_is_x86_64=yes],
90 [gdb_cv_i386_is_x86_64=no])
91 CPPFLAGS="$save_CPPFLAGS"])
92 ;;
9ac544ce
MK
93 m68k-*-*)
94 AC_CACHE_CHECK([if building for Coldfire], [gdb_cv_m68k_is_coldfire],
95 [save_CPPFLAGS="$CPPFLAGS"
96 CPPFLAGS="$CPPFLAGS $CFLAGS"
97 AC_EGREP_CPP([got it], [
98#ifdef __mcoldfire__
99got it
100#endif
101 ], [gdb_cv_m68k_is_coldfire=yes],
102 [gdb_cv_m68k_is_coldfire=no])
103 CPPFLAGS="$save_CPPFLAGS"])
104 ;;
8838b45e
NS
105esac
106
7ea81414 107. ${srcdir}/configure.srv
c906108c 108
68070c10
PA
109if test "${srv_mingwce}" = "yes"; then
110 LIBS="$LIBS -lws2"
111elif test "${srv_mingw}" = "yes"; then
b80864fb 112 LIBS="$LIBS -lwsock32"
ac8c974e
AR
113elif test "${srv_qnx}" = "yes"; then
114 LIBS="$LIBS -lsocket"
68070c10
PA
115fi
116
117if test "${srv_mingw}" = "yes"; then
b80864fb
DJ
118 AC_DEFINE(USE_WIN32API, 1,
119 [Define if we should use the Windows API, instead of the
120 POSIX API. On Windows, we use the Windows API when
121 building for MinGW, but the POSIX API when building
122 for Cygwin.])
123fi
124
58caa3dc 125if test "${srv_linux_usrregs}" = "yes"; then
f450004a
DJ
126 AC_DEFINE(HAVE_LINUX_USRREGS, 1,
127 [Define if the target supports PTRACE_PEEKUSR for register ]
128 [access.])
58caa3dc
DJ
129fi
130
131if test "${srv_linux_regsets}" = "yes"; then
e9d25b98
DJ
132 AC_DEFINE(HAVE_LINUX_REGSETS, 1,
133 [Define if the target supports register sets.])
134
58caa3dc
DJ
135 AC_MSG_CHECKING(for PTRACE_GETREGS)
136 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getregs,
137 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
138 [PTRACE_GETREGS;],
139 [gdbsrv_cv_have_ptrace_getregs=yes],
140 [gdbsrv_cv_have_ptrace_getregs=no])])
141 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getregs)
142 if test "${gdbsrv_cv_have_ptrace_getregs}" = "yes"; then
e9d25b98 143 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
f450004a
DJ
144 [Define if the target supports PTRACE_GETREGS for register ]
145 [access.])
58caa3dc
DJ
146 fi
147
148 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
149 AC_CACHE_VAL(gdbsrv_cv_have_ptrace_getfpxregs,
150 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
151 [PTRACE_GETFPXREGS;],
152 [gdbsrv_cv_have_ptrace_getfpxregs=yes],
153 [gdbsrv_cv_have_ptrace_getfpxregs=no])])
154 AC_MSG_RESULT($gdbsrv_cv_have_ptrace_getfpxregs)
155 if test "${gdbsrv_cv_have_ptrace_getfpxregs}" = "yes"; then
f450004a
DJ
156 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
157 [Define if the target supports PTRACE_GETFPXREGS for extended ]
158 [register access.])
58caa3dc
DJ
159 fi
160fi
161
0d62e5e8
DJ
162if test "$ac_cv_header_sys_procfs_h" = yes; then
163 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
164 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
165 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
0d62e5e8
DJ
166 BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t)
167fi
168
169srv_thread_depfiles=
170srv_libs=
171USE_THREAD_DB=
172
173if test "$srv_linux_thread_db" = "yes"; then
cdbfd419 174 srv_libs="-ldl"
f6de3c42
DJ
175 old_LDFLAGS="$LDFLAGS"
176 LDFLAGS="$LDFLAGS -rdynamic"
177 AC_TRY_LINK([], [], [RDYNAMIC=-rdynamic], [RDYNAMIC=])
178 AC_SUBST(RDYNAMIC)
179 LDFLAGS="$old_LDFLAGS"
0d62e5e8 180
0d62e5e8
DJ
181 srv_thread_depfiles="thread-db.o proc-service.o"
182 USE_THREAD_DB="-DUSE_THREAD_DB"
3db0444b
DJ
183 AC_CACHE_CHECK([for TD_VERSION], gdbsrv_cv_have_td_version,
184 [AC_TRY_COMPILE([#include <thread_db.h>], [TD_VERSION;],
1b3f6016
PA
185 [gdbsrv_cv_have_td_version=yes],
186 [gdbsrv_cv_have_td_version=no])])
3db0444b
DJ
187 if test $gdbsrv_cv_have_td_version = yes; then
188 AC_DEFINE(HAVE_TD_VERSION, 1, [Define if TD_VERSION is available.])
189 fi
0d62e5e8
DJ
190fi
191
96f15937
PP
192AC_ARG_WITH(libthread-db,
193AS_HELP_STRING([--with-libthread-db=PATH], [use given libthread_db directly]),
194[srv_libthread_db_path="${withval}"
195 AC_DEFINE(USE_LIBTHREAD_DB_DIRECTLY, 1, [Define if we should use libthread_db directly.])
196 srv_libs="$srv_libthread_db_path"
197])
198
9b4b61c8 199if test "$srv_xmlfiles" != ""; then
fb1e4ffc
DJ
200 srv_xmlbuiltin="xml-builtin.o"
201 AC_DEFINE(USE_XML, 1, [Define if an XML target description is available.])
202
203 tmp_xmlfiles=$srv_xmlfiles
9b4b61c8 204 srv_xmlfiles=""
fb1e4ffc
DJ
205 for f in $tmp_xmlfiles; do
206 srv_xmlfiles="$srv_xmlfiles \$(XML_DIR)/$f"
207 done
208fi
209
59a016f0 210GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles"
0d62e5e8 211GDBSERVER_LIBS="$srv_libs"
c906108c 212
7ea81414 213AC_SUBST(GDBSERVER_DEPFILES)
0d62e5e8
DJ
214AC_SUBST(GDBSERVER_LIBS)
215AC_SUBST(USE_THREAD_DB)
fb1e4ffc
DJ
216AC_SUBST(srv_xmlbuiltin)
217AC_SUBST(srv_xmlfiles)
c906108c 218
c3a3ccc7
DJ
219AC_OUTPUT(Makefile,
220[case x$CONFIG_HEADERS in
221xconfig.h:config.in)
222echo > stamp-h ;;
223esac
224])
This page took 0.723651 seconds and 4 git commands to generate.