(Server): Clarify that `file' should be used before connecting to the server.
[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,
ba1e897e
EZ
399 [Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
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])
194134a1 421AC_CHECK_DECLS([getopt, snprintf, vsnprintf])
b9362cc7 422
666ec76f
MK
423# ----------------------- #
424# Checks for structures. #
425# ----------------------- #
426
427AC_CHECK_MEMBERS([struct stat.st_blocks])
d3ea6809 428AC_CHECK_MEMBERS([struct stat.st_blksize])
666ec76f 429
5ee754fc
MK
430# ------------------ #
431# Checks for types. #
432# ------------------ #
c906108c 433
5ee754fc 434AC_TYPE_SIGNAL
f9f87d2c
MK
435AC_CHECK_TYPES(socklen_t, [], [],
436[#include <sys/types.h>
437#include <sys/socket.h>
438])
3be60c3d 439AC_CHECK_TYPES(uintptr_t, [], [], [#include <stdint.h>])
5ee754fc
MK
440
441# ------------------------------------- #
442# Checks for compiler characteristics. #
443# ------------------------------------- #
c906108c
SS
444
445AC_C_CONST
bce58c09 446AC_C_INLINE
c906108c 447
5ee754fc
MK
448# ------------------------------ #
449# Checks for library functions. #
450# ------------------------------ #
451
c906108c 452AC_FUNC_ALLOCA
97bf5e38 453AC_FUNC_MMAP
46711df8 454AC_FUNC_VFORK
97bf5e38 455AC_CHECK_FUNCS(canonicalize_file_name realpath)
d3ea6809 456AC_CHECK_FUNCS(getuid getgid)
97bf5e38 457AC_CHECK_FUNCS(poll)
14abd0fb 458AC_CHECK_FUNCS(pread64)
97bf5e38
MK
459AC_CHECK_FUNCS(sbrk)
460AC_CHECK_FUNCS(setpgid setpgrp)
e1ea1d75 461AC_CHECK_FUNCS(sigaction sigprocmask sigsetmask)
97bf5e38 462AC_CHECK_FUNCS(socketpair)
b757528f 463AC_CHECK_FUNCS(syscall)
bcb3dc3d 464AC_CHECK_FUNCS(ttrace)
8b9cf735 465AC_CHECK_FUNCS(wborder)
97bf5e38 466
086ec9eb
MK
467# Check the return and argument types of ptrace. No canned test for
468# this, so roll our own.
469gdb_ptrace_headers='
470#if HAVE_SYS_TYPES_H
471# include <sys/types.h>
472#endif
473#if HAVE_SYS_PTRACE_H
474# include <sys/ptrace.h>
475#endif
476#if HAVE_UNISTD_H
477# include <unistd.h>
478#endif
479'
480# There is no point in checking if we don't have a prototype.
a3828db0 481AC_CHECK_DECLS(ptrace, [], [
086ec9eb
MK
482 : ${gdb_cv_func_ptrace_ret='int'}
483 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
484], $gdb_ptrace_headers)
485# Check return type.
486AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
487 AC_TRY_COMPILE($gdb_ptrace_headers,
5885ab49
MK
488 [extern int ptrace ();],
489 gdb_cv_func_ptrace_ret='int',
490 gdb_cv_func_ptrace_ret='long'))
086ec9eb
MK
491AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
492 [Define as the return type of ptrace.])
493# Check argument types.
494AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
495for gdb_arg1 in 'int' 'long'; do
496 for gdb_arg2 in 'pid_t' 'int' 'long'; do
497 for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long'; do
498 for gdb_arg4 in 'int' 'long'; do
499 AC_TRY_COMPILE($gdb_ptrace_headers, [
500extern $gdb_cv_func_ptrace_ret
501 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
502], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
503 break 4;])
504 for gdb_arg5 in 'int *' 'int' 'long'; do
505 AC_TRY_COMPILE($gdb_ptrace_headers, [
506extern $gdb_cv_func_ptrace_ret
507 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
508], [
509gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
510 break 5;])
511 done
512 done
513 done
514 done
515done
516# Provide a safe default value.
517: ${gdb_cv_func_ptrace_args='int,int,long,long'}
518])
519ac_save_IFS=$IFS; IFS=','
520set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
521IFS=$ac_save_IFS
522shift
64218d3e 523AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
086ec9eb
MK
524 [Define to the type of arg 3 for ptrace.])
525if test -n "$[5]"; then
64218d3e 526 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
086ec9eb
MK
527 [Define to the type of arg 5 for ptrace.])
528fi
529
72473524
DJ
530dnl AC_FUNC_SETPGRP does not work when cross compiling
531dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
532if test "$cross_compiling" = no; then
533 AC_FUNC_SETPGRP
534else
535 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
536 [AC_TRY_COMPILE([
537#include <unistd.h>
538], [
539 if (setpgrp(1,1) == -1)
540 exit (0);
541 else
542 exit (1);
543], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
544if test $ac_cv_func_setpgrp_void = yes; then
545 AC_DEFINE(SETPGRP_VOID, 1)
546fi
547fi
c906108c 548
2b2d558c
MK
549# Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
550# since sigsetjmp might only be defined as a macro.
551AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
552[AC_TRY_COMPILE([
553#include <setjmp.h>
554], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
555gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
556if test $gdb_cv_func_sigsetjmp = yes; then
557 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
558fi
559
06825bd1
MK
560# Assume we'll default to using the included libiberty regex.
561gdb_use_included_regex=yes
562
563# However, if the system regex is GNU regex, then default to *not*
564# using the included regex.
565AC_CACHE_CHECK(
566 [for GNU regex],
567 [gdb_cv_have_gnu_regex],
568 [AC_TRY_COMPILE(
569 [#include <gnu-versions.h>],
570 [#define REGEX_INTERFACE_VERSION 1
571#if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
572# error "Version mismatch"
573#endif],
574 gdb_cv_have_gnu_regex=yes,
575 gdb_cv_have_gnu_regex=no)])
576if test $gdb_cv_have_gnu_regex = yes; then
577 gdb_use_included_regex=no
578fi
579
580AC_ARG_WITH(included-regex,
581 [ --without-included-regex don't use included regex; this is the default
582 on systems with version 2 of the GNU C library
583 (use with caution on other system)],
584 gdb_with_regex=$withval,
585 gdb_with_regex=$gdb_use_included_regex)
586if test "$gdb_with_regex" = yes; then
587 AC_DEFINE(USE_INCLUDED_REGEX, 1,
588 [Define to 1 if the regex included in libiberty should be used.])
589fi
590
5c45e068
MK
591# Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
592AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
593[#include <sys/param.h>
594#include <sys/proc.h>
595])
70f9f479 596
da7d81e3
NW
597# See if <sys/lwp.h> defines `struct lwp`.
598AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
599[AC_TRY_COMPILE([#include <sys/param.h>
600#include <sys/lwp.h>], [struct lwp l;],
601gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
602if test $gdb_cv_struct_lwp = yes; then
603 AC_DEFINE(HAVE_STRUCT_LWP, 1,
604 [Define to 1 if your system has struct lwp.])
605fi
606
78434e59
MK
607# See if <machine/reg.h> degines `struct reg'.
608AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
609[AC_TRY_COMPILE([#include <sys/types.h>
610#include <machine/reg.h>], [struct reg r;],
611gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
612if test $gdb_cv_struct_reg = yes; then
613 AC_DEFINE(HAVE_STRUCT_REG, 1,
614 [Define to 1 if your system has struct reg in <machine/reg.h>.])
615fi
616
0afdd437 617# See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
7dfa765c 618# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
5c45e068
MK
619AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
620 [#include <machine/reg.h>])
7dfa765c 621
0afdd437 622# See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
f60300e7
MK
623AC_MSG_CHECKING(for PTRACE_GETREGS)
624AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
625[AC_TRY_COMPILE([#include <sys/ptrace.h>],
626 [PTRACE_GETREGS;],
627 [gdb_cv_have_ptrace_getregs=yes],
628 [gdb_cv_have_ptrace_getregs=no])])
629AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
630if test $gdb_cv_have_ptrace_getregs = yes; then
631 AC_DEFINE(HAVE_PTRACE_GETREGS)
632fi
633
0afdd437 634# See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
6ce2ac0b
MK
635AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
636AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
5c44784c 637[AC_TRY_COMPILE([#include <sys/ptrace.h>],
6ce2ac0b
MK
638 [PTRACE_GETFPXREGS;],
639 [gdb_cv_have_ptrace_getfpxregs=yes],
640 [gdb_cv_have_ptrace_getfpxregs=no])])
641AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
642if test $gdb_cv_have_ptrace_getfpxregs = yes; then
643 AC_DEFINE(HAVE_PTRACE_GETFPXREGS)
5c44784c
JM
644fi
645
0afdd437
MK
646# See if <sys/ptrace.h> provides the PT_GETDBREGS request.
647AC_MSG_CHECKING(for PT_GETDBREGS)
648AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
649[AC_TRY_COMPILE([#include <sys/types.h>
650#include <sys/ptrace.h>],
651 [PT_GETDBREGS;],
652 [gdb_cv_have_pt_getdbregs=yes],
653 [gdb_cv_have_pt_getdbregs=no])])
654AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
655if test $gdb_cv_have_pt_getdbregs = yes; then
656 AC_DEFINE(HAVE_PT_GETDBREGS)
657fi
658
7e89e357
JT
659# See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
660AC_MSG_CHECKING(for PT_GETXMMREGS)
661AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
662[AC_TRY_COMPILE([#include <sys/types.h>
663#include <sys/ptrace.h>],
664 [PT_GETXMMREGS;],
665 [gdb_cv_have_pt_getxmmregs=yes],
666 [gdb_cv_have_pt_getxmmregs=no])])
667AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
668if test $gdb_cv_have_pt_getxmmregs = yes; then
669 AC_DEFINE(HAVE_PT_GETXMMREGS)
670fi
671
c906108c
SS
672# If we are configured native on GNU/Linux, work around problems with
673# sys/procfs.h
c3f6f71d 674# Also detect which type of /proc is in use, such as for Unixware or Solaris.
c906108c
SS
675
676if test "${target}" = "${host}"; then
677 case "${host}" in
678 i[[3456]]86-*-linux*)
679 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
680 AC_DEFINE(sys_quotactl)
681 ;;
1045b512 682 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
c3f6f71d
JM
683 AC_DEFINE(NEW_PROC_API)
684 ;;
0bbc026e 685 *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]])
c3f6f71d
JM
686 AC_DEFINE(NEW_PROC_API)
687 ;;
c960c18f
AC
688 mips-sgi-irix5*)
689 # Work around <sys/proc.h> needing _KMEMUSER problem on IRIX 5.
690 AC_DEFINE([_KMEMUSER], 1)
691 ;;
c906108c 692 esac
c906108c
SS
693fi
694
695if test "$ac_cv_header_sys_procfs_h" = yes; then
696 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
697 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
698 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
699 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
83d37ec8
MK
700 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
701 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
23e04971
MS
702 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
703 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
83d37ec8
MK
704 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
705 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
596c9d4b
KB
706 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
707 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
708 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
709 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
c906108c 710
23e04971 711
d84dd0c5
MK
712 dnl Check for broken prfpregset_t type
713
714 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
715 dnl prfpregset_t type (it's a typedef for the pointer to a struct
716 dnl instead of the struct itself). We detect this here, and work
a3007b6f 717 dnl around it in gdb_proc_service.h.
d84dd0c5
MK
718
719 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
720 AC_MSG_CHECKING(whether prfpregset_t type is broken)
721 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
722 [AC_TRY_RUN([#include <sys/procfs.h>
723 int main ()
724 {
725 if (sizeof (prfpregset_t) == sizeof (void *))
726 return 1;
727 return 0;
728 }],
729 gdb_cv_prfpregset_t_broken=no,
730 gdb_cv_prfpregset_t_broken=yes,
731 gdb_cv_prfpregset_t_broken=yes)])
732 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
733 if test $gdb_cv_prfpregset_t_broken = yes; then
734 AC_DEFINE(PRFPREGSET_T_BROKEN)
735 fi
736 fi
737
c906108c
SS
738 dnl Check for PIOCSET ioctl entry
739
740 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
741 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
742 [AC_TRY_COMPILE([#include <unistd.h>
743#include <sys/types.h>
744#include <sys/procfs.h>
745], [
746 int dummy;;
747 dummy = ioctl(0, PIOCSET, &dummy);
748 ],
749 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
750 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
751 if test $gdb_cv_have_procfs_piocset = yes; then
752 AC_DEFINE(HAVE_PROCFS_PIOCSET)
753 fi
754fi
755
d45fe813
KB
756dnl For native ports (host == target), check to see what kind of
757dnl legacy link.h support is needed. (See solib-legacy.c.)
758if test ${host} = ${target} ; then
759 dnl Check for struct link_map with l_ members which are indicative
760 dnl of SVR4-like shared libraries
761
762 AC_MSG_CHECKING(for member l_addr in struct link_map)
763 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
764 [AC_TRY_COMPILE([#include <link.h>],
765 [struct link_map lm; (void) lm.l_addr;],
766 gdb_cv_have_struct_link_map_with_l_members=yes,
767 gdb_cv_have_struct_link_map_with_l_members=no)])
768 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
769 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
770 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS)
771 fi
772
773 dnl Check for struct link_map with lm_ members which are indicative
774 dnl of SunOS-like shared libraries
775
776 AC_MSG_CHECKING(for member lm_addr in struct link_map)
777 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
778 [AC_TRY_COMPILE([#include <sys/types.h>
779#include <link.h>],
780 [struct link_map lm; (void) lm.lm_addr;],
781 gdb_cv_have_struct_link_map_with_lm_members=yes,
782 gdb_cv_have_struct_link_map_with_lm_members=no)])
783 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
784 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
785 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS)
786 fi
787
788 dnl Check for struct so_map with som_ members which are found on
789 dnl some *BSD systems.
790
791 AC_MSG_CHECKING(for member som_addr in struct so_map)
792 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
793 [AC_TRY_COMPILE([#include <sys/types.h>
39812ceb
C
794#ifdef HAVE_NLIST_H
795#include <nlist.h>
796#endif
d45fe813
KB
797#include <link.h>],
798 [struct so_map lm; (void) lm.som_addr;],
799 gdb_cv_have_struct_so_map_with_som_members=yes,
800 gdb_cv_have_struct_so_map_with_som_members=no)])
801 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
802 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
803 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS)
804 fi
805
806 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
807 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
808
809 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
810 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
811 [AC_TRY_COMPILE([#define _SYSCALL32
812#include <sys/link.h>], [struct link_map32 l;],
813 gdb_cv_have_struct_link_map32=yes,
814 gdb_cv_have_struct_link_map32=no)])
815 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
816 if test $gdb_cv_have_struct_link_map32 = yes; then
817 AC_DEFINE(HAVE_STRUCT_LINK_MAP32)
943c9c25 818 AC_DEFINE(_SYSCALL32)
d45fe813
KB
819 fi
820fi
821
bc8bcb4b
MK
822# Check if the compiler supports the `long long' type.
823
824AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
825 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
826[[extern long long foo;]],
827[[switch (foo & 2) { case 0: return 1; }]])],
828 gdb_cv_c_long_long=yes,
829 gdb_cv_c_long_long=no)])
c906108c 830if test $gdb_cv_c_long_long = yes; then
bc8bcb4b
MK
831 AC_DEFINE(CC_HAS_LONG_LONG, 1,
832 [Define to 1 if the compiler supports long long.])
c906108c
SS
833fi
834
bc8bcb4b 835# Check if the compiler and runtime support printing long longs.
c906108c 836
bc8bcb4b
MK
837AC_CACHE_CHECK([for long long support in printf],
838 gdb_cv_printf_has_long_long,
839 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
840[[char buf[32];
c906108c
SS
841 long long l = 0;
842 l = (l << 16) + 0x0123;
843 l = (l << 16) + 0x4567;
844 l = (l << 16) + 0x89ab;
845 l = (l << 16) + 0xcdef;
846 sprintf (buf, "0x%016llx", l);
bc8bcb4b
MK
847 return (strcmp ("0x0123456789abcdef", buf));]])],
848 gdb_cv_printf_has_long_long=yes,
849 gdb_cv_printf_has_long_long=no,
850 gdb_cv_printf_has_long_long=no)])
c906108c 851if test $gdb_cv_printf_has_long_long = yes; then
bc8bcb4b
MK
852 AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
853 [Define to 1 if the "%ll" format works to print long longs.])
c906108c 854fi
c906108c 855
bc8bcb4b
MK
856# Check if the compiler supports the `long double' type. We can't use
857# AC_C_LONG_DOUBLE because that one does additional checks on the
858# constants defined in <float.h> that fail on some systems,
859# e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
c906108c 860
bc8bcb4b
MK
861AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
862 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
863 gdb_cv_c_long_double=yes,
864 gdb_cv_c_long_double=no)])
865if test $gdb_cv_c_long_double = yes; then
866 AC_DEFINE(HAVE_LONG_DOUBLE, 1,
867 [Define to 1 if the compiler supports long double.])
c906108c
SS
868fi
869
bc8bcb4b 870# Check if the compiler and runtime support printing long doubles.
c906108c 871
bc8bcb4b
MK
872AC_CACHE_CHECK([for long double support in printf],
873 gdb_cv_printf_has_long_double,
874 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
875[[char buf[16];
c906108c
SS
876 long double f = 3.141592653;
877 sprintf (buf, "%Lg", f);
bc8bcb4b
MK
878 return (strncmp ("3.14159", buf, 7));]])],
879 gdb_cv_printf_has_long_double=yes,
880 gdb_cv_printf_has_long_double=no,
881 gdb_cv_printf_has_long_double=no)])
c906108c 882if test $gdb_cv_printf_has_long_double = yes; then
bc8bcb4b
MK
883 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
884 [Define to 1 if the "%Lg" format works to print long doubles.])
c906108c 885fi
c906108c 886
bc8bcb4b 887# Check if the compiler and runtime support scanning long doubles.
c906108c 888
bc8bcb4b
MK
889AC_CACHE_CHECK([for long double support in scanf],
890 gdb_cv_scanf_has_long_double,
891 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
892[[#include <stdio.h>]],
893[[char *buf = "3.141592653";
c906108c
SS
894 long double f = 0;
895 sscanf (buf, "%Lg", &f);
bc8bcb4b
MK
896 return !(f > 3.14159 && f < 3.14160);]])],
897 gdb_cv_scanf_has_long_double=yes,
898 gdb_cv_scanf_has_long_double=no,
899 gdb_cv_scanf_has_long_double=no)])
c906108c 900if test $gdb_cv_scanf_has_long_double = yes; then
bc8bcb4b
MK
901 AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
902 [Define to 1 if the "%Lg" format works to scan long doubles.])
c906108c 903fi
c906108c 904
438013df
AO
905case ${host_os} in
906aix*)
907 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
908 SAVE_LDFLAGS=$LDFLAGS
909
910 case $GCC in
911 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
912 *) gdb_cv_bigtoc=-bbigtoc ;;
913 esac
914
915 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
916 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
ec76baa5 917 LDFLAGS="${SAVE_LDFLAGS}"
438013df
AO
918 ])
919 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
920 ;;
921esac
922
c906108c 923
d92419e5
JB
924dnl For certain native configurations, we need to check whether thread
925dnl support can be built in or not.
926dnl
927dnl Note that we only want this if we are both native (host == target),
928dnl and not doing a canadian cross build (build == host).
c906108c
SS
929
930if test ${build} = ${host} -a ${host} = ${target} ; then
931 case ${host_os} in
932 hpux*)
933 AC_MSG_CHECKING(for HPUX/OSF thread support)
934 if test -f /usr/include/dce/cma_config.h ; then
935 if test "$GCC" = "yes" ; then
936 AC_MSG_RESULT(yes)
937 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
3483b318 938 CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
c906108c
SS
939 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
940 else
941 AC_MSG_RESULT(no (suppressed because you are not using GCC))
942 fi
943 else
944 AC_MSG_RESULT(no)
945 fi
946 ;;
947 solaris*)
d92419e5
JB
948 # See if thread_db library is around for Solaris thread debugging.
949 # Note that we must explicitly test for version 1 of the library
950 # because version 0 (present on Solaris 2.4 or earlier) doesn't have
951 # the same API.
c906108c
SS
952 AC_MSG_CHECKING(for Solaris thread debugging library)
953 if test -f /usr/lib/libthread_db.so.1 ; then
954 AC_MSG_RESULT(yes)
955 AC_DEFINE(HAVE_THREAD_DB_LIB)
3483b318 956 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
c906108c
SS
957 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
958 AC_CHECK_LIB(dl, dlopen)
959 if test "$GCC" = "yes" ; then
960 # The GNU linker requires the -export-dynamic option to make
961 # all symbols visible in the dynamic symbol table.
962 hold_ldflags=$LDFLAGS
963 AC_MSG_CHECKING(for the ld -export-dynamic flag)
964 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
965 AC_TRY_LINK(, [int i;], found=yes, found=no)
966 LDFLAGS=$hold_ldflags
967 AC_MSG_RESULT($found)
968 if test $found = yes; then
969 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
970 fi
971 fi
972 # Sun randomly tweaked the prototypes in <proc_service.h>
973 # at one point.
974 AC_MSG_CHECKING(if <proc_service.h> is old)
975 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
976 AC_TRY_COMPILE([
977 #include <proc_service.h>
978 ps_err_e ps_pdwrite
979 (struct ps_prochandle*, psaddr_t, const void*, size_t);
980 ],, gdb_cv_proc_service_is_old=no,
981 gdb_cv_proc_service_is_old=yes)
982 ])
983 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
984 if test $gdb_cv_proc_service_is_old = yes; then
985 AC_DEFINE(PROC_SERVICE_IS_OLD)
986 fi
987 else
988 AC_MSG_RESULT(no)
989 fi
990 ;;
d92419e5
JB
991 aix*)
992 AC_MSG_CHECKING(for AiX thread debugging library)
993 AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
994 [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
995 [#ifndef PTHDB_VERSION_3
996 #error
997 #endif],
998 gdb_cv_have_aix_thread_debug=yes,
999 gdb_cv_have_aix_thread_debug=no)])
1000 AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1001 if test $gdb_cv_have_aix_thread_debug = yes; then
1002 CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
3483b318 1003 CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
d92419e5
JB
1004 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1005 fi
1006 ;;
c906108c
SS
1007 esac
1008 AC_SUBST(CONFIG_LDFLAGS)
1009fi
1010
3f47be5c
EZ
1011dnl See if we have a thread_db header file that has TD_NOTALLOC.
1012if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1013 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
1014 gdb_cv_thread_db_h_has_td_notalloc,
1015 AC_TRY_COMPILE(
1016 [#include <thread_db.h>],
1017 [int i = TD_NOTALLOC;],
1018 gdb_cv_thread_db_h_has_td_notalloc=yes,
1019 gdb_cv_thread_db_h_has_td_notalloc=no
1020 )
1021 )
1022fi
1023if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1024 AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1025 [Define if <thread_db.h> has the TD_NOTALLOC error code.])
1026fi
1027
b757528f
JJ
1028dnl See if we have a sys/syscall header file that has __NR_tkill.
1029if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1030 AC_CACHE_CHECK([whether <sys/syscall.h> has __NR_tkill],
1031 gdb_cv_sys_syscall_h_has_tkill,
1032 AC_TRY_COMPILE(
1033 [#include <sys/syscall.h>],
1034 [int i = __NR_tkill;],
1035 gdb_cv_sys_syscall_h_has_tkill=yes,
1036 gdb_cv_sys_syscall_h_has_tkill=no
1037 )
1038 )
1039fi
1040dnl See if we can issue tkill syscall.
1041if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1042 AC_DEFINE(HAVE_TKILL_SYSCALL, 1,
1043 [Define if we can use the tkill syscall.])
1044fi
1045
c906108c 1046dnl Handle optional features that can be enabled.
fb40c209 1047
030292b7
DJ
1048AC_ARG_WITH(sysroot,
1049[ --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
1050[
1051 case ${with_sysroot} in
715d1656 1052 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
030292b7
DJ
1053 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1054 esac
1055
1056 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1057
1058 if test "x$exec_prefix" = xNONE; then
1059 if test "x$prefix" = xNONE; then
1060 test_prefix=/usr/local
1061 else
1062 test_prefix=$prefix
1063 fi
1064 else
1065 test_prefix=$exec_prefix
1066 fi
1067 case ${TARGET_SYSTEM_ROOT} in
715d1656
AO
1068 "${test_prefix}"|"${test_prefix}/"*|\
1069 '${exec_prefix}'|'${exec_prefix}/'*)
030292b7
DJ
1070 t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
1071 TARGET_SYSTEM_ROOT_DEFINE="$t"
1072 ;;
1073 esac
1074], [
1075 TARGET_SYSTEM_ROOT=
1076 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1077])
1078AC_SUBST(TARGET_SYSTEM_ROOT)
1079AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1080
3b851bce
AC
1081# NOTE: Don't add -Wall or -Wunused, they both include
1082# -Wunused-parameter which reports bogus warnings.
1083# NOTE: If you add to this list, remember to update
1084# gdb/doc/gdbint.texinfo.
1decb323 1085build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
a3b362c4 1086-Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral \
4566dfcf 1087-Wunused-label -Wunused-function"
a3b362c4
JB
1088
1089# GCC supports -Wuninitialized only with -O or -On, n != 0.
ca231fcc 1090if test x${CFLAGS+set} = xset; then
a3b362c4
JB
1091 case "${CFLAGS}" in
1092 *"-O0"* ) ;;
1093 *"-O"* )
1094 build_warnings="${build_warnings} -Wuninitialized"
1095 ;;
1096 esac
1097else
1098 build_warnings="${build_warnings} -Wuninitialized"
1099fi
1100
d8038014 1101# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
0f0cffd2 1102# -Wunused-function -Wunused-variable -Wunused-value
93d56215 1103# -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
d8038014
AC
1104# -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
1105# -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
1106# -Woverloaded-virtual -Winline -Werror"
c906108c
SS
1107AC_ARG_ENABLE(build-warnings,
1108[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
1decb323 1109[case "${enableval}" in
c906108c
SS
1110 yes) ;;
1111 no) build_warnings="-w";;
1112 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1113 build_warnings="${build_warnings} ${t}";;
1114 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1115 build_warnings="${t} ${build_warnings}";;
1116 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
d4f3574e
SS
1117esac
1118if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
746a987d 1119 echo "Setting compiler warning flags = $build_warnings" 6>&1
1decb323 1120fi])dnl
3b851bce
AC
1121AC_ARG_ENABLE(gdb-build-warnings,
1122[ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
1123[case "${enableval}" in
1124 yes) ;;
1125 no) build_warnings="-w";;
1126 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1127 build_warnings="${build_warnings} ${t}";;
1128 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1129 build_warnings="${t} ${build_warnings}";;
1130 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1131esac
1132if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1133 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1134fi])dnl
104c1213
JM
1135WARN_CFLAGS=""
1136WERROR_CFLAGS=""
c906108c
SS
1137if test "x${build_warnings}" != x -a "x$GCC" = xyes
1138then
746a987d
AC
1139 AC_MSG_CHECKING(compiler warning flags)
1140 # Separate out the -Werror flag as some files just cannot be
1141 # compiled with it enabled.
1142 for w in ${build_warnings}; do
1143 case $w in
1144 -Werr*) WERROR_CFLAGS=-Werror ;;
1145 *) # Check that GCC accepts it
4536bbc6
AC
1146 saved_CFLAGS="$CFLAGS"
1147 CFLAGS="$CFLAGS $w"
1148 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1149 CFLAGS="$saved_CFLAGS"
746a987d
AC
1150 esac
1151 done
1152 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
1decb323 1153fi
c906108c 1154AC_SUBST(WARN_CFLAGS)
104c1213 1155AC_SUBST(WERROR_CFLAGS)
c906108c 1156
7a292a7a
SS
1157# In the Cygwin environment, we need some additional flags.
1158AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1159[AC_EGREP_CPP(lose, [
1160#if defined (__CYGWIN__) || defined (__CYGWIN32__)
1161lose
1162#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1163
aff38e61
AC
1164
1165dnl Figure out which of the many generic ser-*.c files the _host_ supports.
3eb25fda 1166SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
aff38e61 1167case ${host} in
95cbc983
AC
1168 *go32* ) SER_HARDWIRE=ser-go32.o ;;
1169 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
3eb25fda 1170 *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o" ;;
aff38e61
AC
1171esac
1172AC_SUBST(SER_HARDWIRE)
1173
cd0fc7c3
SS
1174# libreadline needs libuser32.a in a cygwin environment
1175WIN32LIBS=
1176if test x$gdb_cv_os_cygwin = xyes; then
c5394b80
JM
1177 WIN32LIBS="-luser32"
1178 case "${target}" in
1179 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1180 ;;
1181 esac
cd0fc7c3 1182fi
b4505029
MM
1183
1184# The ser-tcp.c module requires sockets.
1185case ${host} in
1186 *mingw32*)
1187 AC_DEFINE(USE_WIN32API, 1,
1188 [Define if we should use the Windows API, instead of the
1189 POSIX API. On Windows, we use the Windows API when
1190 building for MinGW, but the POSIX API when building
1191 for Cygwin.])
1192 WIN32LIBS="$WIN32LIBS -lws2_32"
1193 ;;
1194esac
cd0fc7c3 1195AC_SUBST(WIN32LIBS)
7a292a7a 1196
3fc11d3e
JM
1197LIBGUI="../libgui/src/libgui.a"
1198GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1199AC_SUBST(LIBGUI)
1200AC_SUBST(GUI_CFLAGS_X)
7a292a7a 1201
3fc11d3e
JM
1202WIN32LDAPP=
1203AC_SUBST(WIN32LIBS)
1204AC_SUBST(WIN32LDAPP)
1205
d91670b9
CV
1206case "${host}" in
1207*-*-cygwin*)
1208 configdir="win"
1209 ;;
1210*)
1211 configdir="unix"
1212 ;;
1213esac
3fc11d3e
JM
1214
1215GDBTKLIBS=
1216if test "${enable_gdbtk}" = "yes"; then
1217
d1c3b63a
KS
1218 # Gdbtk must have an absolute path to srcdir in order to run
1219 # properly when not installed.
1220 here=`pwd`
1221 cd ${srcdir}
1222 GDBTK_SRC_DIR=`pwd`
1223 cd $here
1224
3fc11d3e
JM
1225 CY_AC_PATH_TCLCONFIG
1226 if test -z "${no_tcl}"; then
1227 CY_AC_LOAD_TCLCONFIG
1228 CY_AC_PATH_TKCONFIG
1229
dd2504ab
JM
1230 # now look for Tcl library stuff
1231
d91670b9 1232 tcldir="../tcl/${configdir}/"
dd2504ab
JM
1233
1234 TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1235
3fc11d3e
JM
1236 # If $no_tk is nonempty, then we can't do Tk, and there is no
1237 # point to doing Tcl.
1238 if test -z "${no_tk}"; then
1239 CY_AC_LOAD_TKCONFIG
1240 CY_AC_PATH_TCLH
1241 CY_AC_PATH_TKH
1242 CY_AC_PATH_ITCLH
1243 CY_AC_PATH_ITKH
3fc11d3e 1244
dd2504ab
JM
1245
1246 # now look for Tk library stuff
1247
d91670b9 1248 tkdir="../tk/${configdir}/"
dd2504ab
JM
1249
1250 TK_DEPS="${tkdir}${TK_LIB_FILE}"
1251
3fc11d3e
JM
1252 # now look for Itcl library stuff
1253
1254 CY_AC_PATH_ITCLCONFIG
1255 if test -z "${no_itcl}"; then
b381d62d 1256 CY_AC_LOAD_ITCLCONFIG
3fc11d3e
JM
1257
1258 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
b381d62d 1259 ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
3fc11d3e
JM
1260 fi
1261
1262
1263 # now look for Itk library stuff
1264 CY_AC_PATH_ITKCONFIG
1265 if test -z "${no_itcl}"; then
1266 CY_AC_LOAD_ITKCONFIG
1267
3fc11d3e 1268 ITKLIB="${ITK_BUILD_LIB_SPEC}"
b381d62d 1269 ITK_DEPS="${ITK_LIB_FULL_PATH}"
3fc11d3e
JM
1270 fi
1271
4226a5a5 1272 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
3fc11d3e
JM
1273
1274 # Include some libraries that Tcl and Tk want.
b2a1bd4f 1275 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
3fc11d3e
JM
1276 # Yes, the ordering seems wrong here. But it isn't.
1277 # TK_LIBS is the list of libraries that need to be linked
1278 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1279 # were in LIBS then any link tests after this point would
1280 # try to include things like `$(LIBGUI)', which wouldn't work.
1281 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
4226a5a5
FN
1282
1283 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1284 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1285 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
33f8ca73
AC
1286 CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1287 CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1288 CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1289 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
3fc11d3e
JM
1290
1291 if test x$gdb_cv_os_cygwin = xyes; then
1292 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1293 WIN32LDAPP="-Wl,--subsystem,console"
1294 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1295 fi
1296 fi
1297 fi
ffc6a242 1298
3ace7edb 1299 AC_CONFIG_SUBDIRS(gdbtk)
3fc11d3e
JM
1300fi
1301
3fc11d3e
JM
1302AC_SUBST(X_CFLAGS)
1303AC_SUBST(X_LDFLAGS)
1304AC_SUBST(X_LIBS)
dd2504ab
JM
1305AC_SUBST(TCL_DEPS)
1306AC_SUBST(TK_DEPS)
3fc11d3e
JM
1307AC_SUBST(ITCLLIB)
1308AC_SUBST(ITCL_DEPS)
1309AC_SUBST(ITKLIB)
1310AC_SUBST(ITK_DEPS)
3fc11d3e
JM
1311AC_SUBST(GDBTKLIBS)
1312AC_SUBST(GDBTK_CFLAGS)
d1c3b63a 1313AC_SUBST(GDBTK_SRC_DIR)
8b93c638 1314
c906108c
SS
1315AC_PATH_X
1316
9cc52bde
MK
1317# Check whether we should enable the TUI, but only do so if we really
1318# can.
1319if test x"$enable_tui" = xyes; then
1320 if test -d $srcdir/tui; then
1321 if test "$ac_cv_search_waddstr" != no; then
1322 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
1323 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
1324 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
1325 CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_TUI_INITS)"
1326 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
1327 CONFIG_ALL="${CONFIG_ALL} all-tui"
1328 CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
1329 CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
1330 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
1331 else
1332 AC_MSG_WARN([no enhanced curses library found; disabling TUI])
1333 fi
1334 fi
1335fi
1336
7a292a7a
SS
1337# Unlike the sim directory, whether a simulator is linked is controlled by
1338# presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
1339# This code just checks for a few cases where we'd like to ignore those
1340# definitions, even when they're present in the '.mt' file. These cases
1341# are when --disable-sim is specified, or if the simulator directory is
6c5cfe5b 1342# not part of the source tree.
7a292a7a
SS
1343#
1344AC_ARG_ENABLE(sim,
1345[ --enable-sim Link gdb with simulator],
1346[echo "enable_sim = $enable_sim";
1347 echo "enableval = ${enableval}";
1348 case "${enableval}" in
1349 yes) ignore_sim=false ;;
1350 no) ignore_sim=true ;;
1351 *) ignore_sim=false ;;
1352 esac],
1353[ignore_sim=false])
1354
1355if test ! -d "${srcdir}/../sim"; then
1356 ignore_sim=true
1357fi
1358
1359if test "${ignore_sim}" = "true"; then
1360 IGNORE_SIM="SIM="
1361 IGNORE_SIM_OBS="SIM_OBS="
1362else
1363 IGNORE_SIM=""
1364 IGNORE_SIM_OBS=""
1365 AC_DEFINE(WITH_SIM)
1366fi
1367AC_SUBST(IGNORE_SIM)
1368AC_SUBST(IGNORE_SIM_OBS)
1369
c906108c 1370AC_SUBST(ENABLE_CFLAGS)
d28f9cdf 1371AC_SUBST(PROFILE_CFLAGS)
c906108c
SS
1372
1373AC_SUBST(CONFIG_OBS)
1374AC_SUBST(CONFIG_DEPS)
1375AC_SUBST(CONFIG_SRCS)
b3a90332
AC
1376AC_SUBST(CONFIG_ALL)
1377AC_SUBST(CONFIG_CLEAN)
e56ac5c3
AC
1378AC_SUBST(CONFIG_INSTALL)
1379AC_SUBST(CONFIG_UNINSTALL)
c906108c 1380
c35f4ffc
AC
1381# List of host floatformats.
1382AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
1383AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
1384AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
1385
c906108c
SS
1386# target_subdir is used by the testsuite to find the target libraries.
1387target_subdir=
1388if test "${host}" != "${target}"; then
1389 target_subdir="${target_alias}/"
1390fi
1391AC_SUBST(target_subdir)
1392
1393frags=
0dad8a66
MK
1394if test "${target}" = "${host}"; then
1395 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1396 if test ! -f ${host_makefile_frag}; then
1397 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1398 fi
1399 frags="$frags $host_makefile_frag"
1400else
1401 host_makefile_frag=/dev/null
c906108c 1402fi
c906108c
SS
1403
1404target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1405if test ! -f ${target_makefile_frag}; then
0dad8a66 1406 AC_MSG_ERROR("*** Gdb does not support target ${target}")
c906108c
SS
1407fi
1408frags="$frags $target_makefile_frag"
1409
1410AC_SUBST_FILE(host_makefile_frag)
1411AC_SUBST_FILE(target_makefile_frag)
1412AC_SUBST(frags)
1413
1414changequote(,)dnl
1415hostfile=`sed -n '
1416s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1417' ${host_makefile_frag}`
1418
1419targetfile=`sed -n '
2c0fc042 1420s/DEPRECATED_TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
c906108c
SS
1421' ${target_makefile_frag}`
1422
c906108c 1423if test "${target}" = "${host}"; then
a85f51e7
DJ
1424# We pick this up from the host configuration file (.mh) because we
1425# do not have a native configuration Makefile fragment.
c906108c
SS
1426nativefile=`sed -n '
1427s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1428' ${host_makefile_frag}`
c906108c
SS
1429fi
1430changequote([,])
1431
b00a8037
DJ
1432if test x"${gdb_osabi}" != x ; then
1433 AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1434 [Define to the default OS ABI for this configuration.])
1435fi
1436
8dcde887
MK
1437# Enable multi-ice-gdb-server.
1438AC_ARG_ENABLE(multi-ice,
1439[ --enable-multi-ice build the multi-ice-gdb-server],
1440 [case $enableval in
1441 yes | no)
1442 ;;
1443 *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1444 esac])
1445if test "x$enable_multi_ice" = xyes; then
3ace7edb 1446 AC_CONFIG_SUBDIRS(multi-ice)
96baa820
JM
1447fi
1448
8dcde887
MK
1449# We only build gdbserver automatically if host and target are the same.
1450if test "x$target" = "x$host"; then
1451 AC_MSG_CHECKING(whether gdbserver is supported on this host)
1452 if test "x$build_gdbserver" = xyes; then
8dcde887 1453 AC_MSG_RESULT(yes)
3ace7edb 1454 AC_CONFIG_SUBDIRS(gdbserver)
8dcde887
MK
1455 else
1456 AC_MSG_RESULT(no)
1457 fi
a85f51e7
DJ
1458fi
1459
065a1afc
JB
1460# We build rdi-share on ARM-based targets, as instructed by configure.tgt.
1461if test "x$build_rdi_share" = xyes; then
1462 AC_CONFIG_SUBDIRS(rdi-share)
1463fi
1464
1465# We configure the nlm subdirectory on netware targets, as instructed
1466# by configure.tgt.
1467if test "x$build_nlm" = xyes; then
1468 AC_CONFIG_SUBDIRS(nlm)
1469fi
1470
2c0fc042
AC
1471# If hostfile (XM_FILE) and/or targetfile (DEPRECATED_TM_FILE) and/or
1472# nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
1473# to an empty version.
c906108c
SS
1474
1475files=
1476links=
5a2402b8 1477
c906108c 1478rm -f xm.h
5a2402b8 1479xm_h=""
c906108c 1480if test "${hostfile}" != ""; then
5a2402b8 1481 xm_h=xm.h
0f475e27
AC
1482 case "${hostfile}" in
1483 xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}" ;;
1484 * ) GDB_XM_FILE="${hostfile}"
1485 esac
5a2402b8
AC
1486 files="${files} ${GDB_XM_FILE}"
1487 links="${links} xm.h"
b78960be 1488 AC_DEFINE_UNQUOTED(GDB_XM_FILE, "${GDB_XM_FILE}")
c906108c 1489fi
5a2402b8
AC
1490AC_SUBST(xm_h)
1491
c906108c 1492rm -f tm.h
5a2402b8 1493tm_h=""
c906108c 1494if test "${targetfile}" != ""; then
5a2402b8 1495 tm_h=tm.h
0f475e27 1496 case "${targetfile}" in
b8c4aece 1497 tm-*.h ) GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}" ;;
0f475e27
AC
1498 * ) GDB_TM_FILE="${targetfile}"
1499 esac
5a2402b8
AC
1500 files="${files} ${GDB_TM_FILE}"
1501 links="${links} tm.h"
b78960be 1502 AC_DEFINE_UNQUOTED(GDB_TM_FILE, "${GDB_TM_FILE}")
c906108c 1503fi
5a2402b8
AC
1504AC_SUBST(tm_h)
1505
c906108c 1506rm -f nm.h
5a2402b8 1507nm_h=""
c906108c 1508if test "${nativefile}" != ""; then
5a2402b8 1509 nm_h=nm.h
0f475e27
AC
1510 case "${nativefile}" in
1511 nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
1512 * ) GDB_NM_FILE="${nativefile}"
1513 esac
5a2402b8
AC
1514 files="${files} ${GDB_NM_FILE}"
1515 links="${links} nm.h"
b78960be 1516 AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}")
c906108c 1517fi
5a2402b8
AC
1518AC_SUBST(nm_h)
1519
c906108c
SS
1520AC_LINK_FILES($files, $links)
1521
1522dnl Check for exe extension set on certain hosts (e.g. Win32)
1523AC_EXEEXT
1524
234b45d4
KB
1525dnl Detect the character set used by this host.
1526
1527dnl At the moment, we just assume it's ISO-8859-1 (which is a
1528dnl superset of ASCII containing the characters needed for French,
1529dnl German, Spanish, Italian, and possibly others), but if were
1530dnl *were* to support any host character sets other than ISO-8859-1,
1531dnl here's where we'd detect it.
1532AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1533 [Define to be a string naming the default host character set.])
1534
1535AM_ICONV
1536
ed952ac5 1537AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
c906108c
SS
1538[
1539dnl Autoconf doesn't provide a mechanism for modifying definitions
1540dnl provided by makefile fragments.
1541dnl
c906108c
SS
1542
1543changequote(,)dnl
2c0fc042 1544sed -e '/^DEPRECATED_TM_FILE[ ]*=/s,^DEPRECATED_TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
c906108c
SS
1545/^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1546/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1547mv -f Makefile.tmp Makefile
1548changequote([,])dnl
1549
2acceee2 1550
c906108c
SS
1551case x$CONFIG_HEADERS in
1552xconfig.h:config.in)
1553echo > stamp-h ;;
1554esac
1555],
1556[
1557gdb_host_cpu=$gdb_host_cpu
1558gdb_target_cpu=$gdb_target_cpu
1559nativefile=$nativefile
1560])
1561
1562exit 0
This page took 0.464259 seconds and 4 git commands to generate.