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