* win32-nat.c (do_initial_child_stuff): Don't clear the thread list here.
[deliverable/binutils-gdb.git] / gdb / configure.ac
CommitLineData
c906108c 1dnl Autoconf configure script for GDB, the GNU debugger.
0f0cffd2 2dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
b6ba6518 3dnl Free Software Foundation, Inc.
c906108c
SS
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
9dnl the Free Software Foundation; either version 2 of the License, or
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
18dnl along with this program; if not, write to the Free Software
19dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20
21dnl Process this file with autoconf to produce a configure script.
22
bec39cab 23AC_PREREQ(2.59)dnl
c906108c
SS
24AC_INIT(main.c)
25AC_CONFIG_HEADER(config.h:config.in)
413ccac7 26AM_MAINTAINER_MODE
c906108c
SS
27
28AC_PROG_CC
14abd0fb 29AC_GNU_SOURCE
c906108c
SS
30AC_AIX
31AC_ISC_POSIX
32AM_PROG_CC_STDC
33
34AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
35AC_CANONICAL_SYSTEM
36
ddc9cd0f
AC
37dnl List of object files and targets accumulated by configure.
38
39CONFIG_OBS=
40CONFIG_DEPS=
41CONFIG_SRCS=
42ENABLE_CFLAGS=
43
44CONFIG_ALL=
45CONFIG_CLEAN=
46CONFIG_INSTALL=
47CONFIG_UNINSTALL=
48
0fbb3da7 49dnl Set up for gettext. PACKAGE is used when we call bindtextdomain.
ddc9cd0f 50
c906108c 51CY_GNU_GETTEXT
ddc9cd0f
AC
52
53localedir='${datadir}/locale'
54AC_SUBST(localedir)
55
56if test "x$POSUB" != x; then
57
58 dnl Lifted from GCC's config/gettext.m4.
59 AC_MSG_CHECKING(for catalogs to be installed)
60 # Look for .po and .gmo files in the source directory.
61 CATALOGS= AC_SUBST(CATALOGS)
62 XLINGUAS=
63 for cat in $srcdir/po/*.gmo $srcdir/po/*.po; do
64 # If there aren't any .gmo files the shell will give us the
65 # literal string "../path/to/srcdir/po/*.gmo" which has to be
66 # weeded out.
67 case "$cat" in *\**)
68 continue;;
69 esac
70 # The quadruple backslash is collapsed to a double backslash
71 # by the backticks, then collapsed again by the double quotes,
72 # leaving us with one backslash in the sed expression (right
73 # before the dot that mustn't act as a wildcard).
74 cat=`echo $cat | sed -e "s!$srcdir/!!" -e "s!\\\\.po!.gmo!"`
75 lang=`echo $cat | sed -e 's!po/!!' -e "s!\\\\.gmo!!"`
76 # The user is allowed to set LINGUAS to a list of languages to
77 # install catalogs for. If it's empty that means "all of them."
78 if test "x$LINGUAS" = x; then
79 CATALOGS="$CATALOGS $cat"
80 XLINGUAS="$XLINGUAS $lang"
81 else
82 case "$LINGUAS" in *$lang*)
83 CATALOGS="$CATALOGS $cat"
84 XLINGUAS="$XLINGUAS $lang"
85 ;;
86 esac
87 fi
88 done
89 LINGUAS="$XLINGUAS"
90 AC_MSG_RESULT($LINGUAS)
91
92 CONFIG_ALL="$CONFIG_ALL all-po"
93 CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
94 CONFIG_INSTALL="$CONFIG_INSTALL install-po"
95 CONFIG_UNINSTALL="$CONFIG_UNINSTALL uninstall-po"
96fi
97
98PACKAGE=gdb
99AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
100AC_SUBST(PACKAGE)
0fbb3da7 101
5b5d99cf
JB
102debugdir=${libdir}/debug
103
104AC_ARG_WITH(separate-debug-dir,
105[ --with-separate-debug-dir=path Look for global separate debug info in this path [LIBDIR/debug]],
106[debugdir="${withval}"])
107
108AC_DEFINE_DIR(DEBUGDIR, debugdir,
109 [Global directory for separate debug files. ])
110#AC_DEFINE_UNQUOTED(DEBUGDIR, "$debugdir"),
c906108c 111
8dcde887 112AC_CONFIG_SUBDIRS(doc testsuite)
96baa820 113
27e9bf90 114. $srcdir/configure.host
c906108c 115
27e9bf90 116. $srcdir/configure.tgt
c906108c 117
27e9bf90
MK
118# Fetch the default architecture and default target vector from BFD.
119targ=$target; . $srcdir/../bfd/config.bfd
5c8cc331 120
27e9bf90
MK
121# We only want the first architecture, so strip off the others if
122# there is more than one.
123targ_archs=`echo $targ_archs | sed 's/ .*//'`
5c8cc331 124
27e9bf90
MK
125if test "x$targ_archs" != x; then
126 AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
127 [Define to BFD's default architecture. ])
1ba607ad 128fi
27e9bf90
MK
129if test "x$targ_defvec" != x; then
130 AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
131 [Define to BFD's default target vector. ])
1ba607ad
AC
132fi
133
8bb2c122
MK
134AC_ARG_PROGRAM
135
627af7ea
MK
136# The CLI cannot be disabled yet, but may be in the future.
137
138# Enable CLI.
139AC_ARG_ENABLE(gdbcli,
140[ --disable-gdbcli disable command-line interface (CLI)],
141 [case $enableval in
142 yes)
143 ;;
144 no)
145 AC_MSG_ERROR([the command-line interface cannot be disabled yet]) ;;
146 *)
147 AC_MSG_ERROR([bad value $enableval for --enable-gdbcli]) ;;
148 esac],
149 [enable_gdbcli=yes])
150if test x"$enable_gdbcli" = xyes; then
151 if test -d $srcdir/cli; then
152 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_CLI_OBS)"
153 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_CLI_DEPS)"
154 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_CLI_SRCS)"
627af7ea 155 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_CLI_CFLAGS)"
627af7ea
MK
156 fi
157fi
158
159# Enable MI.
160AC_ARG_ENABLE(gdbmi,
161[ --disable-gdbmi disable machine-interface (MI)],
162 [case $enableval in
163 yes | no)
164 ;;
165 *)
166 AC_MSG_ERROR([bad value $enableval for --enable-gdbmi]) ;;
167 esac],
168 [enable_gdbmi=yes])
169if test x"$enable_gdbmi" = xyes; then
170 if test -d $srcdir/mi; then
171 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
172 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
173 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
627af7ea 174 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)"
627af7ea
MK
175 fi
176fi
177
287c1a40
MK
178# Enable TUI.
179AC_ARG_ENABLE(tui,
180[ --enable-tui enable full-screen terminal user interface (TUI)],
181 [case $enableval in
182 yes | no)
183 ;;
184 *)
185 AC_MSG_ERROR([bad value $enableval for --enable-tui]) ;;
c324d747 186 esac],enable_tui=yes)
287c1a40 187
8ee53726
MK
188# Enable gdbtk.
189AC_ARG_ENABLE(gdbtk,
d28f9cdf 190[ --enable-gdbtk enable gdbtk graphical user interface (GUI)],
8ee53726
MK
191 [case $enableval in
192 yes | no)
193 ;;
194 *)
195 AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;;
196 esac],
04ac69aa 197 [if test -d $srcdir/gdbtk -a -d $srcdir/../itcl; then
8ee53726
MK
198 enable_gdbtk=yes
199 else
200 enable_gdbtk=no
201 fi])
202# We unconditionally disable gdbtk tests on selected platforms.
203case $host_os in
204 go32* | windows*)
205 AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
206 enable_gdbtk=no ;;
207esac
208
0e5d83e3
JJ
209# Libunwind support.
210AC_ARG_WITH(libunwind,
211[ --with-libunwind Use libunwind frame unwinding support],
212[case "${withval}" in
213 yes) enable_libunwind=yes ;;
214 no) enable_libunwind=no ;;
215 *) AC_MSG_ERROR(bad value ${withval} for GDB with-libunwind option) ;;
216esac],[
217 AC_CHECK_HEADERS(libunwind.h)
218 AC_CHECK_HEADERS(libunwind-ia64.h)
219 if test x"$ac_cv_header_libunwind_h" = xyes -a x"$ac_cv_header_libunwind_ia64_h" = xyes; then
220 enable_libunwind=yes;
221 fi
222])
223
224if test x"$enable_libunwind" = xyes; then
225 AC_CHECK_HEADERS(libunwind.h)
226 AC_CHECK_HEADERS(libunwind-ia64.h)
227 AC_DEFINE(HAVE_LIBUNWIND, 1)
228 CONFIG_OBS="$CONFIG_OBS libunwind-frame.o"
229 CONFIG_DEPS="$CONFIG_DEPS libunwind-frame.o"
230 CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
231fi
232
d28f9cdf
DJ
233# Profiling support.
234AC_ARG_ENABLE(profiling,
235[ --enable-profiling enable profiling of GDB],
236 [case $enableval in
237 yes | no)
238 ;;
239 *)
240 AC_MSG_ERROR([bad value $enableval for --enable-profile]) ;;
241 esac],
242 [enable_profiling=no])
243
d9feb4e7 244AC_CHECK_FUNCS(monstartup _mcleanup)
b0b1c2c0
MK
245AC_CACHE_CHECK([for _etext], ac_cv_var__etext,
246[AC_TRY_LINK(
247[#include <stdlib.h>
248extern char _etext;
249],
250[free (&_etext);], ac_cv_var__etext=yes, ac_cv_var__etext=no)])
251if test $ac_cv_var__etext = yes; then
252 AC_DEFINE(HAVE__ETEXT, 1,
253 [Define to 1 if your system has the _etext variable. ])
254fi
d28f9cdf 255if test "$enable_profiling" = yes ; then
d9feb4e7
DJ
256 if test $ac_cv_func_monstartup = no || test $ac_cv_func__mcleanup = no; then
257 AC_MSG_ERROR(--enable-profiling requires monstartup and _mcleanup)
258 fi
d28f9cdf
DJ
259 PROFILE_CFLAGS=-pg
260 OLD_CFLAGS="$CFLAGS"
261 CFLAGS="$CFLAGS $PROFILE_CFLAGS"
262
d9feb4e7
DJ
263 AC_CACHE_CHECK([whether $CC supports -pg], ac_cv_cc_supports_pg,
264 [AC_TRY_COMPILE([], [int x;], ac_cv_cc_supports_pg=yes,
265 ac_cv_cc_supports_pg=no)])
d28f9cdf 266
d9feb4e7
DJ
267 if test $ac_cv_cc_supports_pg = no; then
268 AC_MSG_ERROR(--enable-profiling requires a compiler which supports -pg)
269 fi
d28f9cdf
DJ
270
271 CFLAGS="$OLD_CFLAGS"
272fi
273
8bb2c122
MK
274# --------------------- #
275# Checks for programs. #
276# --------------------- #
277
7a292a7a 278AC_PROG_AWK
c906108c 279AC_PROG_INSTALL
8bb2c122
MK
280AC_PROG_LN_S
281AC_PROG_RANLIB
282AC_PROG_YACC
283
c906108c 284AC_CHECK_TOOL(AR, ar)
95ca63c4
CF
285AC_CHECK_TOOL(DLLTOOL, dlltool)
286AC_CHECK_TOOL(WINDRES, windres)
c906108c 287
8bb2c122 288# Needed for GNU/Hurd.
75c6e08a
MK
289AC_CHECK_TOOL(MIG, mig)
290
9a156167
MK
291# ---------------------- #
292# Checks for libraries. #
293# ---------------------- #
294
295# We might need to link with -lm; most simulators need it.
296AC_CHECK_LIB(m, main)
297
298# We need to link with -lw to get `wctype' on Solaris before Solaris
299# 2.6. Solaris 2.6 and beyond have this function in libc, and have a
300# libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
301# is known to have this problem). Therefore we avoid libw if we can.
302AC_CHECK_FUNC(wctype, [],
303 [AC_CHECK_LIB(w, wctype)])
304
c890192f
MK
305# Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
306AC_SEARCH_LIBS(gethostbyname, nsl)
307
9a156167
MK
308# Some systems (e.g. Solaris) have `socketpair' in libsocket.
309AC_SEARCH_LIBS(socketpair, socket)
310
4f0be353
MK
311# For the TUI, we need enhanced curses functionality.
312#
313# FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied
314# curses library because the latter might not provide all the
315# functionality we need. However, this leads to problems on systems
316# where the linker searches /usr/local/lib, but the compiler doesn't
317# search /usr/local/include, if ncurses is installed in /usr/local. A
318# default installation of ncurses on alpha*-dec-osf* will lead to such
319# a situation.
8b9cf735 320AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses])
4f0be353 321
4f0be353
MK
322# Since GDB uses Readline, we need termcap functionality. In many
323# cases this will be provided by the curses library, but some systems
324# have a seperate termcap library, or no curses library at all.
287c1a40
MK
325
326case $host_os in
327 cygwin*)
328 if test -d $srcdir/libtermcap; then
329 LIBS="../libtermcap/libtermcap.a $LIBS"
330 ac_cv_search_tgetent="../libtermcap/libtermcap.a"
331 fi ;;
228a417c 332 go32* | *djgpp*)
287c1a40
MK
333 ac_cv_search_tgetent="none required"
334 ;;
287c1a40
MK
335esac
336
4f0be353
MK
337# These are the libraries checked by Readline.
338AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses])
287c1a40
MK
339
340if test "$ac_cv_search_tgetent" = no; then
341 AC_MSG_ERROR([no termcap library found])
342fi
343
5ee754fc
MK
344# ------------------------- #
345# Checks for header files. #
346# ------------------------- #
c906108c 347
9608ab8b 348AC_HEADER_DIRENT
5ee754fc 349AC_HEADER_STAT
c906108c 350AC_HEADER_STDC
5ee754fc 351AC_CHECK_HEADERS(nlist.h)
7cb9022a
MK
352AC_CHECK_HEADERS(link.h, [], [],
353[#if HAVE_SYS_TYPES_H
354# include <sys/types.h>
355#endif
356#if HAVE_NLIST_H
357# include <nlist.h>
358#endif
359])
360AC_CHECK_HEADERS(machine/reg.h)
5ee754fc 361AC_CHECK_HEADERS(poll.h sys/poll.h)
a2f23071 362AC_CHECK_HEADERS(proc_service.h thread_db.h gnu/libc-version.h)
5ee754fc
MK
363AC_CHECK_HEADERS(stddef.h)
364AC_CHECK_HEADERS(stdlib.h)
365AC_CHECK_HEADERS(stdint.h)
366AC_CHECK_HEADERS(string.h memory.h strings.h)
367AC_CHECK_HEADERS(sys/fault.h)
368AC_CHECK_HEADERS(sys/file.h)
369AC_CHECK_HEADERS(sys/filio.h)
370AC_CHECK_HEADERS(sys/ioctl.h)
371AC_CHECK_HEADERS(sys/param.h)
7cb9022a
MK
372AC_CHECK_HEADERS(sys/proc.h, [], [],
373[#if HAVE_SYS_PARAM_H
374# include <sys/param.h>
375#endif
376])
5ee754fc
MK
377AC_CHECK_HEADERS(sys/procfs.h)
378AC_CHECK_HEADERS(sys/ptrace.h ptrace.h)
379AC_CHECK_HEADERS(sys/reg.h sys/debugreg.h)
380AC_CHECK_HEADERS(sys/select.h)
381AC_CHECK_HEADERS(sys/syscall.h)
086ec9eb 382AC_CHECK_HEADERS(sys/types.h)
7cb9022a
MK
383AC_CHECK_HEADERS(sys/user.h, [], [],
384[#if HAVE_SYS_PARAM_H
385# include <sys/param.h>
386#endif
387])
5ee754fc
MK
388AC_CHECK_HEADERS(sys/wait.h wait.h)
389AC_CHECK_HEADERS(termios.h termio.h sgtty.h)
390AC_CHECK_HEADERS(unistd.h)
391
b1d19a62 392# On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
5ee754fc
MK
393# between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
394# think that we don't have <curses.h> if we're using GCC.
395case $host_os in
b1d19a62 396 solaris2.[[789]])
5ee754fc
MK
397 if test "$GCC" = yes; then
398 AC_DEFINE(_MSE_INT_H, 1,
399 [[Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
b1d19a62 400 Solaris 2.[789] when using GCC. ]])
5ee754fc
MK
401 fi ;;
402esac
3b78cdbb 403AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h)
c401b55a
MK
404AC_CHECK_HEADERS(ncurses/term.h)
405AC_CHECK_HEADERS(term.h, [], [],
406[#if HAVE_CURSES_H
407# include <curses.h>
408#endif
409])
5ee754fc
MK
410
411# FIXME: kettenis/20030102: In most cases we include these
412# unconditionally, so what's the point in checking these?
413AC_CHECK_HEADERS(ctype.h time.h)
414
b9362cc7
AC
415# ------------------------- #
416# Checks for declarations. #
417# ------------------------- #
418
a3828db0
MK
419AC_CHECK_DECLS([free, malloc, realloc])
420AC_CHECK_DECLS([strerror, strstr])
421AC_CHECK_DECLS(getopt)
b9362cc7 422
666ec76f
MK
423# ----------------------- #
424# Checks for structures. #
425# ----------------------- #
426
427AC_CHECK_MEMBERS([struct stat.st_blocks])
428
5ee754fc
MK
429# ------------------ #
430# Checks for types. #
431# ------------------ #
c906108c 432
5ee754fc
MK
433AC_TYPE_SIGNAL
434
435# ------------------------------------- #
436# Checks for compiler characteristics. #
437# ------------------------------------- #
c906108c
SS
438
439AC_C_CONST
bce58c09 440AC_C_INLINE
c906108c 441
5ee754fc
MK
442# ------------------------------ #
443# Checks for library functions. #
444# ------------------------------ #
445
c906108c 446AC_FUNC_ALLOCA
97bf5e38 447AC_FUNC_MMAP
46711df8 448AC_FUNC_VFORK
97bf5e38
MK
449AC_CHECK_FUNCS(canonicalize_file_name realpath)
450AC_CHECK_FUNCS(poll)
14abd0fb 451AC_CHECK_FUNCS(pread64)
97bf5e38
MK
452AC_CHECK_FUNCS(sbrk)
453AC_CHECK_FUNCS(setpgid setpgrp)
e1ea1d75 454AC_CHECK_FUNCS(sigaction sigprocmask sigsetmask)
97bf5e38 455AC_CHECK_FUNCS(socketpair)
b757528f 456AC_CHECK_FUNCS(syscall)
bcb3dc3d 457AC_CHECK_FUNCS(ttrace)
8b9cf735 458AC_CHECK_FUNCS(wborder)
97bf5e38 459
086ec9eb
MK
460# Check the return and argument types of ptrace. No canned test for
461# this, so roll our own.
462gdb_ptrace_headers='
463#if HAVE_SYS_TYPES_H
464# include <sys/types.h>
465#endif
466#if HAVE_SYS_PTRACE_H
467# include <sys/ptrace.h>
468#endif
469#if HAVE_UNISTD_H
470# include <unistd.h>
471#endif
472'
473# There is no point in checking if we don't have a prototype.
a3828db0 474AC_CHECK_DECLS(ptrace, [], [
086ec9eb
MK
475 : ${gdb_cv_func_ptrace_ret='int'}
476 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
477], $gdb_ptrace_headers)
478# Check return type.
479AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
480 AC_TRY_COMPILE($gdb_ptrace_headers,
5885ab49
MK
481 [extern int ptrace ();],
482 gdb_cv_func_ptrace_ret='int',
483 gdb_cv_func_ptrace_ret='long'))
086ec9eb
MK
484AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
485 [Define as the return type of ptrace.])
486# Check argument types.
487AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
488for gdb_arg1 in 'int' 'long'; do
489 for gdb_arg2 in 'pid_t' 'int' 'long'; do
490 for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long'; do
491 for gdb_arg4 in 'int' 'long'; do
492 AC_TRY_COMPILE($gdb_ptrace_headers, [
493extern $gdb_cv_func_ptrace_ret
494 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
495], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
496 break 4;])
497 for gdb_arg5 in 'int *' 'int' 'long'; do
498 AC_TRY_COMPILE($gdb_ptrace_headers, [
499extern $gdb_cv_func_ptrace_ret
500 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
501], [
502gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
503 break 5;])
504 done
505 done
506 done
507 done
508done
509# Provide a safe default value.
510: ${gdb_cv_func_ptrace_args='int,int,long,long'}
511])
512ac_save_IFS=$IFS; IFS=','
513set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
514IFS=$ac_save_IFS
515shift
64218d3e 516AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
086ec9eb
MK
517 [Define to the type of arg 3 for ptrace.])
518if test -n "$[5]"; then
64218d3e 519 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
086ec9eb
MK
520 [Define to the type of arg 5 for ptrace.])
521fi
522
72473524
DJ
523dnl AC_FUNC_SETPGRP does not work when cross compiling
524dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
525if test "$cross_compiling" = no; then
526 AC_FUNC_SETPGRP
527else
528 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
529 [AC_TRY_COMPILE([
530#include <unistd.h>
531], [
532 if (setpgrp(1,1) == -1)
533 exit (0);
534 else
535 exit (1);
536], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
537if test $ac_cv_func_setpgrp_void = yes; then
538 AC_DEFINE(SETPGRP_VOID, 1)
539fi
540fi
c906108c 541
2b2d558c
MK
542# Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
543# since sigsetjmp might only be defined as a macro.
544AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
545[AC_TRY_COMPILE([
546#include <setjmp.h>
547], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
548gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
549if test $gdb_cv_func_sigsetjmp = yes; then
550 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
551fi
552
06825bd1
MK
553# Assume we'll default to using the included libiberty regex.
554gdb_use_included_regex=yes
555
556# However, if the system regex is GNU regex, then default to *not*
557# using the included regex.
558AC_CACHE_CHECK(
559 [for GNU regex],
560 [gdb_cv_have_gnu_regex],
561 [AC_TRY_COMPILE(
562 [#include <gnu-versions.h>],
563 [#define REGEX_INTERFACE_VERSION 1
564#if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
565# error "Version mismatch"
566#endif],
567 gdb_cv_have_gnu_regex=yes,
568 gdb_cv_have_gnu_regex=no)])
569if test $gdb_cv_have_gnu_regex = yes; then
570 gdb_use_included_regex=no
571fi
572
573AC_ARG_WITH(included-regex,
574 [ --without-included-regex don't use included regex; this is the default
575 on systems with version 2 of the GNU C library
576 (use with caution on other system)],
577 gdb_with_regex=$withval,
578 gdb_with_regex=$gdb_use_included_regex)
579if test "$gdb_with_regex" = yes; then
580 AC_DEFINE(USE_INCLUDED_REGEX, 1,
581 [Define to 1 if the regex included in libiberty should be used.])
582fi
583
5c45e068
MK
584# Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
585AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
586[#include <sys/param.h>
587#include <sys/proc.h>
588])
70f9f479 589
da7d81e3
NW
590# See if <sys/lwp.h> defines `struct lwp`.
591AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
592[AC_TRY_COMPILE([#include <sys/param.h>
593#include <sys/lwp.h>], [struct lwp l;],
594gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
595if test $gdb_cv_struct_lwp = yes; then
596 AC_DEFINE(HAVE_STRUCT_LWP, 1,
597 [Define to 1 if your system has struct lwp.])
598fi
599
78434e59
MK
600# See if <machine/reg.h> degines `struct reg'.
601AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
602[AC_TRY_COMPILE([#include <sys/types.h>
603#include <machine/reg.h>], [struct reg r;],
604gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
605if test $gdb_cv_struct_reg = yes; then
606 AC_DEFINE(HAVE_STRUCT_REG, 1,
607 [Define to 1 if your system has struct reg in <machine/reg.h>.])
608fi
609
0afdd437 610# See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
7dfa765c 611# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
5c45e068
MK
612AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
613 [#include <machine/reg.h>])
7dfa765c 614
0afdd437 615# See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
f60300e7
MK
616AC_MSG_CHECKING(for PTRACE_GETREGS)
617AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
618[AC_TRY_COMPILE([#include <sys/ptrace.h>],
619 [PTRACE_GETREGS;],
620 [gdb_cv_have_ptrace_getregs=yes],
621 [gdb_cv_have_ptrace_getregs=no])])
622AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
623if test $gdb_cv_have_ptrace_getregs = yes; then
624 AC_DEFINE(HAVE_PTRACE_GETREGS)
625fi
626
0afdd437 627# See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
6ce2ac0b
MK
628AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
629AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
5c44784c 630[AC_TRY_COMPILE([#include <sys/ptrace.h>],
6ce2ac0b
MK
631 [PTRACE_GETFPXREGS;],
632 [gdb_cv_have_ptrace_getfpxregs=yes],
633 [gdb_cv_have_ptrace_getfpxregs=no])])
634AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
635if test $gdb_cv_have_ptrace_getfpxregs = yes; then
636 AC_DEFINE(HAVE_PTRACE_GETFPXREGS)
5c44784c
JM
637fi
638
0afdd437
MK
639# See if <sys/ptrace.h> provides the PT_GETDBREGS request.
640AC_MSG_CHECKING(for PT_GETDBREGS)
641AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
642[AC_TRY_COMPILE([#include <sys/types.h>
643#include <sys/ptrace.h>],
644 [PT_GETDBREGS;],
645 [gdb_cv_have_pt_getdbregs=yes],
646 [gdb_cv_have_pt_getdbregs=no])])
647AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
648if test $gdb_cv_have_pt_getdbregs = yes; then
649 AC_DEFINE(HAVE_PT_GETDBREGS)
650fi
651
7e89e357
JT
652# See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
653AC_MSG_CHECKING(for PT_GETXMMREGS)
654AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
655[AC_TRY_COMPILE([#include <sys/types.h>
656#include <sys/ptrace.h>],
657 [PT_GETXMMREGS;],
658 [gdb_cv_have_pt_getxmmregs=yes],
659 [gdb_cv_have_pt_getxmmregs=no])])
660AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
661if test $gdb_cv_have_pt_getxmmregs = yes; then
662 AC_DEFINE(HAVE_PT_GETXMMREGS)
663fi
664
27ca5dad
MC
665# See if stdint.h provides the uintptr_t type.
666# Autoconf 2.5X has an improved AC_CHECK_TYPE which will simplify this.
667AC_CACHE_CHECK([for uintptr_t in stdint.h], gdb_cv_have_uintptr_t,
668 [AC_TRY_COMPILE(
669 [#include <stdint.h>],
670 [uintptr_t foo = 0;],
671 gdb_cv_have_uintptr_t=yes,
672 gdb_cv_have_uintptr_t=no)])
27ca5dad
MC
673if test $gdb_cv_have_uintptr_t = yes; then
674 AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if <stdint.h> provides the uintptr_t type.])
675fi
0afdd437 676
c906108c
SS
677# If we are configured native on GNU/Linux, work around problems with
678# sys/procfs.h
c3f6f71d 679# Also detect which type of /proc is in use, such as for Unixware or Solaris.
c906108c
SS
680
681if test "${target}" = "${host}"; then
682 case "${host}" in
683 i[[3456]]86-*-linux*)
684 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
685 AC_DEFINE(sys_quotactl)
686 ;;
1045b512 687 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
c3f6f71d
JM
688 AC_DEFINE(NEW_PROC_API)
689 ;;
0bbc026e 690 *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]])
c3f6f71d
JM
691 AC_DEFINE(NEW_PROC_API)
692 ;;
c960c18f
AC
693 mips-sgi-irix5*)
694 # Work around <sys/proc.h> needing _KMEMUSER problem on IRIX 5.
695 AC_DEFINE([_KMEMUSER], 1)
696 ;;
c906108c 697 esac
c906108c
SS
698fi
699
700if test "$ac_cv_header_sys_procfs_h" = yes; then
701 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
702 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
703 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
704 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
83d37ec8
MK
705 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
706 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
23e04971
MS
707 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
708 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
83d37ec8
MK
709 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
710 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
596c9d4b
KB
711 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
712 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
713 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
714 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
c906108c 715
23e04971 716
d84dd0c5
MK
717 dnl Check for broken prfpregset_t type
718
719 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
720 dnl prfpregset_t type (it's a typedef for the pointer to a struct
721 dnl instead of the struct itself). We detect this here, and work
a3007b6f 722 dnl around it in gdb_proc_service.h.
d84dd0c5
MK
723
724 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
725 AC_MSG_CHECKING(whether prfpregset_t type is broken)
726 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
727 [AC_TRY_RUN([#include <sys/procfs.h>
728 int main ()
729 {
730 if (sizeof (prfpregset_t) == sizeof (void *))
731 return 1;
732 return 0;
733 }],
734 gdb_cv_prfpregset_t_broken=no,
735 gdb_cv_prfpregset_t_broken=yes,
736 gdb_cv_prfpregset_t_broken=yes)])
737 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
738 if test $gdb_cv_prfpregset_t_broken = yes; then
739 AC_DEFINE(PRFPREGSET_T_BROKEN)
740 fi
741 fi
742
c906108c
SS
743 dnl Check for PIOCSET ioctl entry
744
745 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
746 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
747 [AC_TRY_COMPILE([#include <unistd.h>
748#include <sys/types.h>
749#include <sys/procfs.h>
750], [
751 int dummy;;
752 dummy = ioctl(0, PIOCSET, &dummy);
753 ],
754 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
755 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
756 if test $gdb_cv_have_procfs_piocset = yes; then
757 AC_DEFINE(HAVE_PROCFS_PIOCSET)
758 fi
759fi
760
d45fe813
KB
761dnl For native ports (host == target), check to see what kind of
762dnl legacy link.h support is needed. (See solib-legacy.c.)
763if test ${host} = ${target} ; then
764 dnl Check for struct link_map with l_ members which are indicative
765 dnl of SVR4-like shared libraries
766
767 AC_MSG_CHECKING(for member l_addr in struct link_map)
768 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
769 [AC_TRY_COMPILE([#include <link.h>],
770 [struct link_map lm; (void) lm.l_addr;],
771 gdb_cv_have_struct_link_map_with_l_members=yes,
772 gdb_cv_have_struct_link_map_with_l_members=no)])
773 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
774 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
775 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS)
776 fi
777
778 dnl Check for struct link_map with lm_ members which are indicative
779 dnl of SunOS-like shared libraries
780
781 AC_MSG_CHECKING(for member lm_addr in struct link_map)
782 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
783 [AC_TRY_COMPILE([#include <sys/types.h>
784#include <link.h>],
785 [struct link_map lm; (void) lm.lm_addr;],
786 gdb_cv_have_struct_link_map_with_lm_members=yes,
787 gdb_cv_have_struct_link_map_with_lm_members=no)])
788 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
789 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
790 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS)
791 fi
792
793 dnl Check for struct so_map with som_ members which are found on
794 dnl some *BSD systems.
795
796 AC_MSG_CHECKING(for member som_addr in struct so_map)
797 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
798 [AC_TRY_COMPILE([#include <sys/types.h>
39812ceb
C
799#ifdef HAVE_NLIST_H
800#include <nlist.h>
801#endif
d45fe813
KB
802#include <link.h>],
803 [struct so_map lm; (void) lm.som_addr;],
804 gdb_cv_have_struct_so_map_with_som_members=yes,
805 gdb_cv_have_struct_so_map_with_som_members=no)])
806 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
807 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
808 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS)
809 fi
810
811 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
812 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
813
814 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
815 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
816 [AC_TRY_COMPILE([#define _SYSCALL32
817#include <sys/link.h>], [struct link_map32 l;],
818 gdb_cv_have_struct_link_map32=yes,
819 gdb_cv_have_struct_link_map32=no)])
820 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
821 if test $gdb_cv_have_struct_link_map32 = yes; then
822 AC_DEFINE(HAVE_STRUCT_LINK_MAP32)
943c9c25 823 AC_DEFINE(_SYSCALL32)
d45fe813
KB
824 fi
825fi
826
bc8bcb4b
MK
827# Check if the compiler supports the `long long' type.
828
829AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
830 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
831[[extern long long foo;]],
832[[switch (foo & 2) { case 0: return 1; }]])],
833 gdb_cv_c_long_long=yes,
834 gdb_cv_c_long_long=no)])
c906108c 835if test $gdb_cv_c_long_long = yes; then
bc8bcb4b
MK
836 AC_DEFINE(CC_HAS_LONG_LONG, 1,
837 [Define to 1 if the compiler supports long long.])
c906108c
SS
838fi
839
bc8bcb4b 840# Check if the compiler and runtime support printing long longs.
c906108c 841
bc8bcb4b
MK
842AC_CACHE_CHECK([for long long support in printf],
843 gdb_cv_printf_has_long_long,
844 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
845[[char buf[32];
c906108c
SS
846 long long l = 0;
847 l = (l << 16) + 0x0123;
848 l = (l << 16) + 0x4567;
849 l = (l << 16) + 0x89ab;
850 l = (l << 16) + 0xcdef;
851 sprintf (buf, "0x%016llx", l);
bc8bcb4b
MK
852 return (strcmp ("0x0123456789abcdef", buf));]])],
853 gdb_cv_printf_has_long_long=yes,
854 gdb_cv_printf_has_long_long=no,
855 gdb_cv_printf_has_long_long=no)])
c906108c 856if test $gdb_cv_printf_has_long_long = yes; then
bc8bcb4b
MK
857 AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
858 [Define to 1 if the "%ll" format works to print long longs.])
c906108c 859fi
c906108c 860
bc8bcb4b
MK
861# Check if the compiler supports the `long double' type. We can't use
862# AC_C_LONG_DOUBLE because that one does additional checks on the
863# constants defined in <float.h> that fail on some systems,
864# e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
c906108c 865
bc8bcb4b
MK
866AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
867 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
868 gdb_cv_c_long_double=yes,
869 gdb_cv_c_long_double=no)])
870if test $gdb_cv_c_long_double = yes; then
871 AC_DEFINE(HAVE_LONG_DOUBLE, 1,
872 [Define to 1 if the compiler supports long double.])
c906108c
SS
873fi
874
bc8bcb4b 875# Check if the compiler and runtime support printing long doubles.
c906108c 876
bc8bcb4b
MK
877AC_CACHE_CHECK([for long double support in printf],
878 gdb_cv_printf_has_long_double,
879 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
880[[char buf[16];
c906108c
SS
881 long double f = 3.141592653;
882 sprintf (buf, "%Lg", f);
bc8bcb4b
MK
883 return (strncmp ("3.14159", buf, 7));]])],
884 gdb_cv_printf_has_long_double=yes,
885 gdb_cv_printf_has_long_double=no,
886 gdb_cv_printf_has_long_double=no)])
c906108c 887if test $gdb_cv_printf_has_long_double = yes; then
bc8bcb4b
MK
888 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
889 [Define to 1 if the "%Lg" format works to print long doubles.])
c906108c 890fi
c906108c 891
bc8bcb4b 892# Check if the compiler and runtime support scanning long doubles.
c906108c 893
bc8bcb4b
MK
894AC_CACHE_CHECK([for long double support in scanf],
895 gdb_cv_scanf_has_long_double,
896 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
897[[#include <stdio.h>]],
898[[char *buf = "3.141592653";
c906108c
SS
899 long double f = 0;
900 sscanf (buf, "%Lg", &f);
bc8bcb4b
MK
901 return !(f > 3.14159 && f < 3.14160);]])],
902 gdb_cv_scanf_has_long_double=yes,
903 gdb_cv_scanf_has_long_double=no,
904 gdb_cv_scanf_has_long_double=no)])
c906108c 905if test $gdb_cv_scanf_has_long_double = yes; then
bc8bcb4b
MK
906 AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
907 [Define to 1 if the "%Lg" format works to scan long doubles.])
c906108c 908fi
c906108c 909
438013df
AO
910case ${host_os} in
911aix*)
912 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
913 SAVE_LDFLAGS=$LDFLAGS
914
915 case $GCC in
916 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
917 *) gdb_cv_bigtoc=-bbigtoc ;;
918 esac
919
920 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
921 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
ec76baa5 922 LDFLAGS="${SAVE_LDFLAGS}"
438013df
AO
923 ])
924 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
925 ;;
926esac
927
c906108c 928
d92419e5
JB
929dnl For certain native configurations, we need to check whether thread
930dnl support can be built in or not.
931dnl
932dnl Note that we only want this if we are both native (host == target),
933dnl and not doing a canadian cross build (build == host).
c906108c
SS
934
935if test ${build} = ${host} -a ${host} = ${target} ; then
936 case ${host_os} in
937 hpux*)
938 AC_MSG_CHECKING(for HPUX/OSF thread support)
939 if test -f /usr/include/dce/cma_config.h ; then
940 if test "$GCC" = "yes" ; then
941 AC_MSG_RESULT(yes)
942 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
3483b318 943 CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
c906108c
SS
944 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
945 else
946 AC_MSG_RESULT(no (suppressed because you are not using GCC))
947 fi
948 else
949 AC_MSG_RESULT(no)
950 fi
951 ;;
952 solaris*)
d92419e5
JB
953 # See if thread_db library is around for Solaris thread debugging.
954 # Note that we must explicitly test for version 1 of the library
955 # because version 0 (present on Solaris 2.4 or earlier) doesn't have
956 # the same API.
c906108c
SS
957 AC_MSG_CHECKING(for Solaris thread debugging library)
958 if test -f /usr/lib/libthread_db.so.1 ; then
959 AC_MSG_RESULT(yes)
960 AC_DEFINE(HAVE_THREAD_DB_LIB)
3483b318 961 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
c906108c
SS
962 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
963 AC_CHECK_LIB(dl, dlopen)
964 if test "$GCC" = "yes" ; then
965 # The GNU linker requires the -export-dynamic option to make
966 # all symbols visible in the dynamic symbol table.
967 hold_ldflags=$LDFLAGS
968 AC_MSG_CHECKING(for the ld -export-dynamic flag)
969 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
970 AC_TRY_LINK(, [int i;], found=yes, found=no)
971 LDFLAGS=$hold_ldflags
972 AC_MSG_RESULT($found)
973 if test $found = yes; then
974 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
975 fi
976 fi
977 # Sun randomly tweaked the prototypes in <proc_service.h>
978 # at one point.
979 AC_MSG_CHECKING(if <proc_service.h> is old)
980 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
981 AC_TRY_COMPILE([
982 #include <proc_service.h>
983 ps_err_e ps_pdwrite
984 (struct ps_prochandle*, psaddr_t, const void*, size_t);
985 ],, gdb_cv_proc_service_is_old=no,
986 gdb_cv_proc_service_is_old=yes)
987 ])
988 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
989 if test $gdb_cv_proc_service_is_old = yes; then
990 AC_DEFINE(PROC_SERVICE_IS_OLD)
991 fi
992 else
993 AC_MSG_RESULT(no)
994 fi
995 ;;
d92419e5
JB
996 aix*)
997 AC_MSG_CHECKING(for AiX thread debugging library)
998 AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
999 [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
1000 [#ifndef PTHDB_VERSION_3
1001 #error
1002 #endif],
1003 gdb_cv_have_aix_thread_debug=yes,
1004 gdb_cv_have_aix_thread_debug=no)])
1005 AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1006 if test $gdb_cv_have_aix_thread_debug = yes; then
1007 CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
3483b318 1008 CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
d92419e5
JB
1009 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1010 fi
1011 ;;
c906108c
SS
1012 esac
1013 AC_SUBST(CONFIG_LDFLAGS)
1014fi
1015
3f47be5c
EZ
1016dnl See if we have a thread_db header file that has TD_NOTALLOC.
1017if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1018 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
1019 gdb_cv_thread_db_h_has_td_notalloc,
1020 AC_TRY_COMPILE(
1021 [#include <thread_db.h>],
1022 [int i = TD_NOTALLOC;],
1023 gdb_cv_thread_db_h_has_td_notalloc=yes,
1024 gdb_cv_thread_db_h_has_td_notalloc=no
1025 )
1026 )
1027fi
1028if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1029 AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1030 [Define if <thread_db.h> has the TD_NOTALLOC error code.])
1031fi
1032
b757528f
JJ
1033dnl See if we have a sys/syscall header file that has __NR_tkill.
1034if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1035 AC_CACHE_CHECK([whether <sys/syscall.h> has __NR_tkill],
1036 gdb_cv_sys_syscall_h_has_tkill,
1037 AC_TRY_COMPILE(
1038 [#include <sys/syscall.h>],
1039 [int i = __NR_tkill;],
1040 gdb_cv_sys_syscall_h_has_tkill=yes,
1041 gdb_cv_sys_syscall_h_has_tkill=no
1042 )
1043 )
1044fi
1045dnl See if we can issue tkill syscall.
1046if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1047 AC_DEFINE(HAVE_TKILL_SYSCALL, 1,
1048 [Define if we can use the tkill syscall.])
1049fi
1050
c906108c 1051dnl Handle optional features that can be enabled.
fb40c209 1052
030292b7
DJ
1053AC_ARG_WITH(sysroot,
1054[ --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
1055[
1056 case ${with_sysroot} in
715d1656 1057 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
030292b7
DJ
1058 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1059 esac
1060
1061 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1062
1063 if test "x$exec_prefix" = xNONE; then
1064 if test "x$prefix" = xNONE; then
1065 test_prefix=/usr/local
1066 else
1067 test_prefix=$prefix
1068 fi
1069 else
1070 test_prefix=$exec_prefix
1071 fi
1072 case ${TARGET_SYSTEM_ROOT} in
715d1656
AO
1073 "${test_prefix}"|"${test_prefix}/"*|\
1074 '${exec_prefix}'|'${exec_prefix}/'*)
030292b7
DJ
1075 t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
1076 TARGET_SYSTEM_ROOT_DEFINE="$t"
1077 ;;
1078 esac
1079], [
1080 TARGET_SYSTEM_ROOT=
1081 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1082])
1083AC_SUBST(TARGET_SYSTEM_ROOT)
1084AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1085
3b851bce
AC
1086# NOTE: Don't add -Wall or -Wunused, they both include
1087# -Wunused-parameter which reports bogus warnings.
1088# NOTE: If you add to this list, remember to update
1089# gdb/doc/gdbint.texinfo.
1decb323 1090build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
a3b362c4 1091-Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral \
4566dfcf 1092-Wunused-label -Wunused-function"
a3b362c4
JB
1093
1094# GCC supports -Wuninitialized only with -O or -On, n != 0.
ca231fcc 1095if test x${CFLAGS+set} = xset; then
a3b362c4
JB
1096 case "${CFLAGS}" in
1097 *"-O0"* ) ;;
1098 *"-O"* )
1099 build_warnings="${build_warnings} -Wuninitialized"
1100 ;;
1101 esac
1102else
1103 build_warnings="${build_warnings} -Wuninitialized"
1104fi
1105
d8038014 1106# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
0f0cffd2 1107# -Wunused-function -Wunused-variable -Wunused-value
93d56215 1108# -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
d8038014
AC
1109# -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
1110# -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
1111# -Woverloaded-virtual -Winline -Werror"
c906108c
SS
1112AC_ARG_ENABLE(build-warnings,
1113[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
1decb323 1114[case "${enableval}" in
c906108c
SS
1115 yes) ;;
1116 no) build_warnings="-w";;
1117 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1118 build_warnings="${build_warnings} ${t}";;
1119 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1120 build_warnings="${t} ${build_warnings}";;
1121 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
d4f3574e
SS
1122esac
1123if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
746a987d 1124 echo "Setting compiler warning flags = $build_warnings" 6>&1
1decb323 1125fi])dnl
3b851bce
AC
1126AC_ARG_ENABLE(gdb-build-warnings,
1127[ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
1128[case "${enableval}" in
1129 yes) ;;
1130 no) build_warnings="-w";;
1131 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1132 build_warnings="${build_warnings} ${t}";;
1133 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1134 build_warnings="${t} ${build_warnings}";;
1135 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1136esac
1137if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1138 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1139fi])dnl
104c1213
JM
1140WARN_CFLAGS=""
1141WERROR_CFLAGS=""
c906108c
SS
1142if test "x${build_warnings}" != x -a "x$GCC" = xyes
1143then
746a987d
AC
1144 AC_MSG_CHECKING(compiler warning flags)
1145 # Separate out the -Werror flag as some files just cannot be
1146 # compiled with it enabled.
1147 for w in ${build_warnings}; do
1148 case $w in
1149 -Werr*) WERROR_CFLAGS=-Werror ;;
1150 *) # Check that GCC accepts it
4536bbc6
AC
1151 saved_CFLAGS="$CFLAGS"
1152 CFLAGS="$CFLAGS $w"
1153 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1154 CFLAGS="$saved_CFLAGS"
746a987d
AC
1155 esac
1156 done
1157 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
1decb323 1158fi
c906108c 1159AC_SUBST(WARN_CFLAGS)
104c1213 1160AC_SUBST(WERROR_CFLAGS)
c906108c 1161
7a292a7a
SS
1162# In the Cygwin environment, we need some additional flags.
1163AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1164[AC_EGREP_CPP(lose, [
1165#if defined (__CYGWIN__) || defined (__CYGWIN32__)
1166lose
1167#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1168
aff38e61
AC
1169
1170dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1171SER_HARDWIRE="ser-unix.o ser-pipe.o ser-tcp.o"
1172case ${host} in
95cbc983
AC
1173 *go32* ) SER_HARDWIRE=ser-go32.o ;;
1174 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
aff38e61
AC
1175esac
1176AC_SUBST(SER_HARDWIRE)
1177
cd0fc7c3
SS
1178# libreadline needs libuser32.a in a cygwin environment
1179WIN32LIBS=
1180if test x$gdb_cv_os_cygwin = xyes; then
c5394b80
JM
1181 WIN32LIBS="-luser32"
1182 case "${target}" in
1183 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1184 ;;
1185 esac
cd0fc7c3
SS
1186fi
1187AC_SUBST(WIN32LIBS)
7a292a7a 1188
3fc11d3e
JM
1189LIBGUI="../libgui/src/libgui.a"
1190GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1191AC_SUBST(LIBGUI)
1192AC_SUBST(GUI_CFLAGS_X)
7a292a7a 1193
3fc11d3e
JM
1194WIN32LDAPP=
1195AC_SUBST(WIN32LIBS)
1196AC_SUBST(WIN32LDAPP)
1197
d91670b9
CV
1198case "${host}" in
1199*-*-cygwin*)
1200 configdir="win"
1201 ;;
1202*)
1203 configdir="unix"
1204 ;;
1205esac
3fc11d3e
JM
1206
1207GDBTKLIBS=
1208if test "${enable_gdbtk}" = "yes"; then
1209
d1c3b63a
KS
1210 # Gdbtk must have an absolute path to srcdir in order to run
1211 # properly when not installed.
1212 here=`pwd`
1213 cd ${srcdir}
1214 GDBTK_SRC_DIR=`pwd`
1215 cd $here
1216
3fc11d3e
JM
1217 CY_AC_PATH_TCLCONFIG
1218 if test -z "${no_tcl}"; then
1219 CY_AC_LOAD_TCLCONFIG
1220 CY_AC_PATH_TKCONFIG
1221
dd2504ab
JM
1222 # now look for Tcl library stuff
1223
d91670b9 1224 tcldir="../tcl/${configdir}/"
dd2504ab
JM
1225
1226 TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1227
3fc11d3e
JM
1228 # If $no_tk is nonempty, then we can't do Tk, and there is no
1229 # point to doing Tcl.
1230 if test -z "${no_tk}"; then
1231 CY_AC_LOAD_TKCONFIG
1232 CY_AC_PATH_TCLH
1233 CY_AC_PATH_TKH
1234 CY_AC_PATH_ITCLH
1235 CY_AC_PATH_ITKH
3fc11d3e 1236
dd2504ab
JM
1237
1238 # now look for Tk library stuff
1239
d91670b9 1240 tkdir="../tk/${configdir}/"
dd2504ab
JM
1241
1242 TK_DEPS="${tkdir}${TK_LIB_FILE}"
1243
3fc11d3e
JM
1244 # now look for Itcl library stuff
1245
1246 CY_AC_PATH_ITCLCONFIG
1247 if test -z "${no_itcl}"; then
b381d62d 1248 CY_AC_LOAD_ITCLCONFIG
3fc11d3e
JM
1249
1250 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
b381d62d 1251 ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
3fc11d3e
JM
1252 fi
1253
1254
1255 # now look for Itk library stuff
1256 CY_AC_PATH_ITKCONFIG
1257 if test -z "${no_itcl}"; then
1258 CY_AC_LOAD_ITKCONFIG
1259
3fc11d3e 1260 ITKLIB="${ITK_BUILD_LIB_SPEC}"
b381d62d 1261 ITK_DEPS="${ITK_LIB_FULL_PATH}"
3fc11d3e
JM
1262 fi
1263
4226a5a5 1264 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
3fc11d3e
JM
1265 # Tcl/Tk 8.1 require -fwritable strings. I don't
1266 # know whether 8.2 will or not, but I bet it will.
1267 # I don't have to worry about 7.x since we don't support it.
1268 GDBTK_CFLAGS=""
1269 if test "$GCC" = "yes"; then
1270 if test "$TCL_VERSION" != "8.0" ; then
1271 GDBTK_CFLAGS="-fwritable-strings"
1272 fi
1273 fi
1274
1275 # Include some libraries that Tcl and Tk want.
b2a1bd4f 1276 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
3fc11d3e
JM
1277 # Yes, the ordering seems wrong here. But it isn't.
1278 # TK_LIBS is the list of libraries that need to be linked
1279 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1280 # were in LIBS then any link tests after this point would
1281 # try to include things like `$(LIBGUI)', which wouldn't work.
1282 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
4226a5a5
FN
1283
1284 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1285 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1286 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
33f8ca73
AC
1287 CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1288 CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1289 CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1290 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
3fc11d3e
JM
1291
1292 if test x$gdb_cv_os_cygwin = xyes; then
1293 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1294 WIN32LDAPP="-Wl,--subsystem,console"
1295 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1296 fi
1297 fi
1298 fi
ffc6a242 1299
3ace7edb 1300 AC_CONFIG_SUBDIRS(gdbtk)
3fc11d3e
JM
1301fi
1302
3fc11d3e
JM
1303AC_SUBST(X_CFLAGS)
1304AC_SUBST(X_LDFLAGS)
1305AC_SUBST(X_LIBS)
dd2504ab
JM
1306AC_SUBST(TCL_DEPS)
1307AC_SUBST(TK_DEPS)
3fc11d3e
JM
1308AC_SUBST(ITCLLIB)
1309AC_SUBST(ITCL_DEPS)
1310AC_SUBST(ITKLIB)
1311AC_SUBST(ITK_DEPS)
3fc11d3e
JM
1312AC_SUBST(GDBTKLIBS)
1313AC_SUBST(GDBTK_CFLAGS)
d1c3b63a 1314AC_SUBST(GDBTK_SRC_DIR)
8b93c638 1315
c906108c
SS
1316AC_PATH_X
1317
9cc52bde
MK
1318# Check whether we should enable the TUI, but only do so if we really
1319# can.
1320if test x"$enable_tui" = xyes; then
1321 if test -d $srcdir/tui; then
1322 if test "$ac_cv_search_waddstr" != no; then
1323 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
1324 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
1325 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
1326 CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_TUI_INITS)"
1327 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
1328 CONFIG_ALL="${CONFIG_ALL} all-tui"
1329 CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
1330 CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
1331 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
1332 else
1333 AC_MSG_WARN([no enhanced curses library found; disabling TUI])
1334 fi
1335 fi
1336fi
1337
7a292a7a
SS
1338# Unlike the sim directory, whether a simulator is linked is controlled by
1339# presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
1340# This code just checks for a few cases where we'd like to ignore those
1341# definitions, even when they're present in the '.mt' file. These cases
1342# are when --disable-sim is specified, or if the simulator directory is
6c5cfe5b 1343# not part of the source tree.
7a292a7a
SS
1344#
1345AC_ARG_ENABLE(sim,
1346[ --enable-sim Link gdb with simulator],
1347[echo "enable_sim = $enable_sim";
1348 echo "enableval = ${enableval}";
1349 case "${enableval}" in
1350 yes) ignore_sim=false ;;
1351 no) ignore_sim=true ;;
1352 *) ignore_sim=false ;;
1353 esac],
1354[ignore_sim=false])
1355
1356if test ! -d "${srcdir}/../sim"; then
1357 ignore_sim=true
1358fi
1359
1360if test "${ignore_sim}" = "true"; then
1361 IGNORE_SIM="SIM="
1362 IGNORE_SIM_OBS="SIM_OBS="
1363else
1364 IGNORE_SIM=""
1365 IGNORE_SIM_OBS=""
1366 AC_DEFINE(WITH_SIM)
1367fi
1368AC_SUBST(IGNORE_SIM)
1369AC_SUBST(IGNORE_SIM_OBS)
1370
c906108c 1371AC_SUBST(ENABLE_CFLAGS)
d28f9cdf 1372AC_SUBST(PROFILE_CFLAGS)
c906108c
SS
1373
1374AC_SUBST(CONFIG_OBS)
1375AC_SUBST(CONFIG_DEPS)
1376AC_SUBST(CONFIG_SRCS)
b3a90332
AC
1377AC_SUBST(CONFIG_ALL)
1378AC_SUBST(CONFIG_CLEAN)
e56ac5c3
AC
1379AC_SUBST(CONFIG_INSTALL)
1380AC_SUBST(CONFIG_UNINSTALL)
c906108c 1381
c35f4ffc
AC
1382# List of host floatformats.
1383AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
1384AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
1385AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
1386
c906108c
SS
1387# target_subdir is used by the testsuite to find the target libraries.
1388target_subdir=
1389if test "${host}" != "${target}"; then
1390 target_subdir="${target_alias}/"
1391fi
1392AC_SUBST(target_subdir)
1393
1394frags=
0dad8a66
MK
1395if test "${target}" = "${host}"; then
1396 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1397 if test ! -f ${host_makefile_frag}; then
1398 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1399 fi
1400 frags="$frags $host_makefile_frag"
1401else
1402 host_makefile_frag=/dev/null
c906108c 1403fi
c906108c
SS
1404
1405target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1406if test ! -f ${target_makefile_frag}; then
0dad8a66 1407 AC_MSG_ERROR("*** Gdb does not support target ${target}")
c906108c
SS
1408fi
1409frags="$frags $target_makefile_frag"
1410
1411AC_SUBST_FILE(host_makefile_frag)
1412AC_SUBST_FILE(target_makefile_frag)
1413AC_SUBST(frags)
1414
1415changequote(,)dnl
1416hostfile=`sed -n '
1417s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1418' ${host_makefile_frag}`
1419
1420targetfile=`sed -n '
2c0fc042 1421s/DEPRECATED_TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
c906108c
SS
1422' ${target_makefile_frag}`
1423
c906108c 1424if test "${target}" = "${host}"; then
a85f51e7
DJ
1425# We pick this up from the host configuration file (.mh) because we
1426# do not have a native configuration Makefile fragment.
c906108c
SS
1427nativefile=`sed -n '
1428s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1429' ${host_makefile_frag}`
c906108c
SS
1430fi
1431changequote([,])
1432
b00a8037
DJ
1433if test x"${gdb_osabi}" != x ; then
1434 AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1435 [Define to the default OS ABI for this configuration.])
1436fi
1437
8dcde887
MK
1438# Enable multi-ice-gdb-server.
1439AC_ARG_ENABLE(multi-ice,
1440[ --enable-multi-ice build the multi-ice-gdb-server],
1441 [case $enableval in
1442 yes | no)
1443 ;;
1444 *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1445 esac])
1446if test "x$enable_multi_ice" = xyes; then
3ace7edb 1447 AC_CONFIG_SUBDIRS(multi-ice)
96baa820
JM
1448fi
1449
8dcde887
MK
1450# We only build gdbserver automatically if host and target are the same.
1451if test "x$target" = "x$host"; then
1452 AC_MSG_CHECKING(whether gdbserver is supported on this host)
1453 if test "x$build_gdbserver" = xyes; then
8dcde887 1454 AC_MSG_RESULT(yes)
3ace7edb 1455 AC_CONFIG_SUBDIRS(gdbserver)
8dcde887
MK
1456 else
1457 AC_MSG_RESULT(no)
1458 fi
a85f51e7
DJ
1459fi
1460
065a1afc
JB
1461# We build rdi-share on ARM-based targets, as instructed by configure.tgt.
1462if test "x$build_rdi_share" = xyes; then
1463 AC_CONFIG_SUBDIRS(rdi-share)
1464fi
1465
1466# We configure the nlm subdirectory on netware targets, as instructed
1467# by configure.tgt.
1468if test "x$build_nlm" = xyes; then
1469 AC_CONFIG_SUBDIRS(nlm)
1470fi
1471
2c0fc042
AC
1472# If hostfile (XM_FILE) and/or targetfile (DEPRECATED_TM_FILE) and/or
1473# nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
1474# to an empty version.
c906108c
SS
1475
1476files=
1477links=
5a2402b8 1478
c906108c 1479rm -f xm.h
5a2402b8 1480xm_h=""
c906108c 1481if test "${hostfile}" != ""; then
5a2402b8 1482 xm_h=xm.h
0f475e27
AC
1483 case "${hostfile}" in
1484 xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}" ;;
1485 * ) GDB_XM_FILE="${hostfile}"
1486 esac
5a2402b8
AC
1487 files="${files} ${GDB_XM_FILE}"
1488 links="${links} xm.h"
b78960be 1489 AC_DEFINE_UNQUOTED(GDB_XM_FILE, "${GDB_XM_FILE}")
c906108c 1490fi
5a2402b8
AC
1491AC_SUBST(xm_h)
1492
c906108c 1493rm -f tm.h
5a2402b8 1494tm_h=""
c906108c 1495if test "${targetfile}" != ""; then
5a2402b8 1496 tm_h=tm.h
0f475e27 1497 case "${targetfile}" in
b8c4aece 1498 tm-*.h ) GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}" ;;
0f475e27
AC
1499 * ) GDB_TM_FILE="${targetfile}"
1500 esac
5a2402b8
AC
1501 files="${files} ${GDB_TM_FILE}"
1502 links="${links} tm.h"
b78960be 1503 AC_DEFINE_UNQUOTED(GDB_TM_FILE, "${GDB_TM_FILE}")
c906108c 1504fi
5a2402b8
AC
1505AC_SUBST(tm_h)
1506
c906108c 1507rm -f nm.h
5a2402b8 1508nm_h=""
c906108c 1509if test "${nativefile}" != ""; then
5a2402b8 1510 nm_h=nm.h
0f475e27
AC
1511 case "${nativefile}" in
1512 nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
1513 * ) GDB_NM_FILE="${nativefile}"
1514 esac
5a2402b8
AC
1515 files="${files} ${GDB_NM_FILE}"
1516 links="${links} nm.h"
b78960be 1517 AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}")
c906108c 1518fi
5a2402b8
AC
1519AC_SUBST(nm_h)
1520
c906108c
SS
1521AC_LINK_FILES($files, $links)
1522
1523dnl Check for exe extension set on certain hosts (e.g. Win32)
1524AC_EXEEXT
1525
234b45d4
KB
1526dnl Detect the character set used by this host.
1527
1528dnl At the moment, we just assume it's ISO-8859-1 (which is a
1529dnl superset of ASCII containing the characters needed for French,
1530dnl German, Spanish, Italian, and possibly others), but if were
1531dnl *were* to support any host character sets other than ISO-8859-1,
1532dnl here's where we'd detect it.
1533AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1534 [Define to be a string naming the default host character set.])
1535
1536AM_ICONV
1537
ed952ac5 1538AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
c906108c
SS
1539[
1540dnl Autoconf doesn't provide a mechanism for modifying definitions
1541dnl provided by makefile fragments.
1542dnl
c906108c
SS
1543
1544changequote(,)dnl
2c0fc042 1545sed -e '/^DEPRECATED_TM_FILE[ ]*=/s,^DEPRECATED_TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
c906108c
SS
1546/^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1547/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1548mv -f Makefile.tmp Makefile
1549changequote([,])dnl
1550
2acceee2 1551
c906108c
SS
1552case x$CONFIG_HEADERS in
1553xconfig.h:config.in)
1554echo > stamp-h ;;
1555esac
1556],
1557[
1558gdb_host_cpu=$gdb_host_cpu
1559gdb_target_cpu=$gdb_target_cpu
1560nativefile=$nativefile
1561])
1562
1563exit 0
This page took 0.465558 seconds and 4 git commands to generate.