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