1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
3 dnl Free Software Foundation, Inc.
5 dnl This file is part of GDB.
7 dnl This program is free software; you can redistribute it and/or modify
8 dnl it under the terms of the GNU General Public License as published by
9 dnl the Free Software Foundation; either version 2 of the License, or
10 dnl (at your option) any later version.
12 dnl This program is distributed in the hope that it will be useful,
13 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
14 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 dnl GNU General Public License for more details.
17 dnl You should have received a copy of the GNU General Public License
18 dnl along with this program; if not, write to the Free Software
19 dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 dnl Process this file with autoconf to produce a configure script.
25 AC_CONFIG_HEADER(config.h:config.in)
34 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
37 dnl List of object files and targets accumulated by configure.
49 dnl Set up for gettext. PACKAGE is used when we call bindtextdomain.
53 localedir='${datadir}/locale'
56 if test "x$POSUB" != x; then
58 dnl Lifted from GCC's config/gettext.m4.
59 AC_MSG_CHECKING(for catalogs to be installed)
60 # Look for .po and .gmo files in the source directory.
61 CATALOGS= AC_SUBST(CATALOGS)
63 for cat in $srcdir/po/*.gmo $srcdir/po/*.po; do
64 # If there aren't any .gmo files the shell will give us the
65 # literal string "../path/to/srcdir/po/*.gmo" which has to be
70 # The quadruple backslash is collapsed to a double backslash
71 # by the backticks, then collapsed again by the double quotes,
72 # leaving us with one backslash in the sed expression (right
73 # before the dot that mustn't act as a wildcard).
74 cat=`echo $cat | sed -e "s!$srcdir/!!" -e "s!\\\\.po!.gmo!"`
75 lang=`echo $cat | sed -e 's!po/!!' -e "s!\\\\.gmo!!"`
76 # The user is allowed to set LINGUAS to a list of languages to
77 # install catalogs for. If it's empty that means "all of them."
78 if test "x$LINGUAS" = x; then
79 CATALOGS="$CATALOGS $cat"
80 XLINGUAS="$XLINGUAS $lang"
82 case "$LINGUAS" in *$lang*)
83 CATALOGS="$CATALOGS $cat"
84 XLINGUAS="$XLINGUAS $lang"
90 AC_MSG_RESULT($LINGUAS)
92 CONFIG_ALL="$CONFIG_ALL all-po"
93 CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
94 CONFIG_INSTALL="$CONFIG_INSTALL install-po"
95 CONFIG_UNINSTALL="$CONFIG_UNINSTALL uninstall-po"
99 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
102 debugdir=${libdir}/debug
104 AC_ARG_WITH(separate-debug-dir,
105 [ --with-separate-debug-dir=path Look for global separate debug info in this path [LIBDIR/debug]],
106 [debugdir="${withval}"])
108 AC_DEFINE_DIR(DEBUGDIR, debugdir,
109 [Global directory for separate debug files. ])
110 #AC_DEFINE_UNQUOTED(DEBUGDIR, "$debugdir"),
112 AC_CONFIG_SUBDIRS(doc testsuite)
114 . $srcdir/configure.host
116 . $srcdir/configure.tgt
118 # Fetch the default architecture and default target vector from BFD.
119 targ=$target; . $srcdir/../bfd/config.bfd
121 # We only want the first architecture, so strip off the others if
122 # there is more than one.
123 targ_archs=`echo $targ_archs | sed 's/ .*//'`
125 if test "x$targ_archs" != x; then
126 AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
127 [Define to BFD's default architecture. ])
129 if test "x$targ_defvec" != x; then
130 AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
131 [Define to BFD's default target vector. ])
136 # The CLI cannot be disabled yet, but may be in the future.
139 AC_ARG_ENABLE(gdbcli,
140 [ --disable-gdbcli disable command-line interface (CLI)],
145 AC_MSG_ERROR([the command-line interface cannot be disabled yet]) ;;
147 AC_MSG_ERROR([bad value $enableval for --enable-gdbcli]) ;;
150 if test x"$enable_gdbcli" = xyes; then
151 if test -d $srcdir/cli; then
152 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_CLI_OBS)"
153 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_CLI_DEPS)"
154 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_CLI_SRCS)"
155 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_CLI_CFLAGS)"
161 [ --disable-gdbmi disable machine-interface (MI)],
166 AC_MSG_ERROR([bad value $enableval for --enable-gdbmi]) ;;
169 if test x"$enable_gdbmi" = xyes; then
170 if test -d $srcdir/mi; then
171 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
172 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
173 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
174 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)"
180 [ --enable-tui enable full-screen terminal user interface (TUI)],
185 AC_MSG_ERROR([bad value $enableval for --enable-tui]) ;;
186 esac],enable_tui=yes)
190 [ --enable-gdbtk enable gdbtk graphical user interface (GUI)],
195 AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;;
197 [if test -d $srcdir/gdbtk -a -d $srcdir/../itcl; then
202 # We unconditionally disable gdbtk tests on selected platforms.
205 AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
210 AC_ARG_WITH(libunwind,
211 [ --with-libunwind Use libunwind frame unwinding support],
212 [case "${withval}" in
213 yes) enable_libunwind=yes ;;
214 no) enable_libunwind=no ;;
215 *) AC_MSG_ERROR(bad value ${withval} for GDB with-libunwind option) ;;
217 AC_CHECK_HEADERS(libunwind.h)
218 AC_CHECK_HEADERS(libunwind-ia64.h)
219 if test x"$ac_cv_header_libunwind_h" = xyes -a x"$ac_cv_header_libunwind_ia64_h" = xyes; then
220 enable_libunwind=yes;
224 if test x"$enable_libunwind" = xyes; then
225 AC_CHECK_HEADERS(libunwind.h)
226 AC_CHECK_HEADERS(libunwind-ia64.h)
227 AC_DEFINE(HAVE_LIBUNWIND, 1)
228 CONFIG_OBS="$CONFIG_OBS libunwind-frame.o"
229 CONFIG_DEPS="$CONFIG_DEPS libunwind-frame.o"
230 CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
234 AC_ARG_ENABLE(profiling,
235 [ --enable-profiling enable profiling of GDB],
240 AC_MSG_ERROR([bad value $enableval for --enable-profile]) ;;
242 [enable_profiling=no])
244 AC_CHECK_FUNCS(monstartup _mcleanup)
245 AC_CACHE_CHECK([for _etext], ac_cv_var__etext,
250 [free (&_etext);], ac_cv_var__etext=yes, ac_cv_var__etext=no)])
251 if test $ac_cv_var__etext = yes; then
252 AC_DEFINE(HAVE__ETEXT, 1,
253 [Define to 1 if your system has the _etext variable. ])
255 if test "$enable_profiling" = yes ; then
256 if test $ac_cv_func_monstartup = no || test $ac_cv_func__mcleanup = no; then
257 AC_MSG_ERROR(--enable-profiling requires monstartup and _mcleanup)
261 CFLAGS="$CFLAGS $PROFILE_CFLAGS"
263 AC_CACHE_CHECK([whether $CC supports -pg], ac_cv_cc_supports_pg,
264 [AC_TRY_COMPILE([], [int x;], ac_cv_cc_supports_pg=yes,
265 ac_cv_cc_supports_pg=no)])
267 if test $ac_cv_cc_supports_pg = no; then
268 AC_MSG_ERROR(--enable-profiling requires a compiler which supports -pg)
274 # --------------------- #
275 # Checks for programs. #
276 # --------------------- #
284 AC_CHECK_TOOL(AR, ar)
285 AC_CHECK_TOOL(DLLTOOL, dlltool)
286 AC_CHECK_TOOL(WINDRES, windres)
288 # Needed for GNU/Hurd.
289 AC_CHECK_TOOL(MIG, mig)
291 # ---------------------- #
292 # Checks for libraries. #
293 # ---------------------- #
295 # We might need to link with -lm; most simulators need it.
296 AC_CHECK_LIB(m, main)
298 # We need to link with -lw to get `wctype' on Solaris before Solaris
299 # 2.6. Solaris 2.6 and beyond have this function in libc, and have a
300 # libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
301 # is known to have this problem). Therefore we avoid libw if we can.
302 AC_CHECK_FUNC(wctype, [],
303 [AC_CHECK_LIB(w, wctype)])
305 # Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
306 AC_SEARCH_LIBS(gethostbyname, nsl)
308 # Some systems (e.g. Solaris) have `socketpair' in libsocket.
309 AC_SEARCH_LIBS(socketpair, socket)
311 # For the TUI, we need enhanced curses functionality.
313 # FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied
314 # curses library because the latter might not provide all the
315 # functionality we need. However, this leads to problems on systems
316 # where the linker searches /usr/local/lib, but the compiler doesn't
317 # search /usr/local/include, if ncurses is installed in /usr/local. A
318 # default installation of ncurses on alpha*-dec-osf* will lead to such
320 AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses])
322 # Since GDB uses Readline, we need termcap functionality. In many
323 # cases this will be provided by the curses library, but some systems
324 # have a seperate termcap library, or no curses library at all.
328 if test -d $srcdir/libtermcap; then
329 LIBS="../libtermcap/libtermcap.a $LIBS"
330 ac_cv_search_tgetent="../libtermcap/libtermcap.a"
333 ac_cv_search_tgetent="none required"
337 # These are the libraries checked by Readline.
338 AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses])
340 if test "$ac_cv_search_tgetent" = no; then
341 AC_MSG_ERROR([no termcap library found])
344 # ------------------------- #
345 # Checks for header files. #
346 # ------------------------- #
351 AC_CHECK_HEADERS(nlist.h)
352 AC_CHECK_HEADERS(link.h, [], [],
353 [#if HAVE_SYS_TYPES_H
354 # include <sys/types.h>
360 AC_CHECK_HEADERS(machine/reg.h)
361 AC_CHECK_HEADERS(poll.h sys/poll.h)
362 AC_CHECK_HEADERS(proc_service.h thread_db.h gnu/libc-version.h)
363 AC_CHECK_HEADERS(stddef.h)
364 AC_CHECK_HEADERS(stdlib.h)
365 AC_CHECK_HEADERS(stdint.h)
366 AC_CHECK_HEADERS(string.h memory.h strings.h)
367 AC_CHECK_HEADERS(sys/fault.h)
368 AC_CHECK_HEADERS(sys/file.h)
369 AC_CHECK_HEADERS(sys/filio.h)
370 AC_CHECK_HEADERS(sys/ioctl.h)
371 AC_CHECK_HEADERS(sys/param.h)
372 AC_CHECK_HEADERS(sys/proc.h, [], [],
373 [#if HAVE_SYS_PARAM_H
374 # include <sys/param.h>
377 AC_CHECK_HEADERS(sys/procfs.h)
378 AC_CHECK_HEADERS(sys/ptrace.h ptrace.h)
379 AC_CHECK_HEADERS(sys/reg.h sys/debugreg.h)
380 AC_CHECK_HEADERS(sys/select.h)
381 AC_CHECK_HEADERS(sys/syscall.h)
382 AC_CHECK_HEADERS(sys/types.h)
383 AC_CHECK_HEADERS(sys/user.h, [], [],
384 [#if HAVE_SYS_PARAM_H
385 # include <sys/param.h>
388 AC_CHECK_HEADERS(sys/wait.h wait.h)
389 AC_CHECK_HEADERS(termios.h termio.h sgtty.h)
390 AC_CHECK_HEADERS(unistd.h)
392 # On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
393 # between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
394 # think that we don't have <curses.h> if we're using GCC.
397 if test "$GCC" = yes; then
398 AC_DEFINE(_MSE_INT_H, 1,
399 [[Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
400 Solaris 2.[789] when using GCC. ]])
403 AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h)
404 AC_CHECK_HEADERS(ncurses/term.h)
405 AC_CHECK_HEADERS(term.h, [], [],
411 # FIXME: kettenis/20030102: In most cases we include these
412 # unconditionally, so what's the point in checking these?
413 AC_CHECK_HEADERS(ctype.h time.h)
415 # ------------------------- #
416 # Checks for declarations. #
417 # ------------------------- #
419 AC_CHECK_DECLS([free, malloc, realloc])
420 AC_CHECK_DECLS([strerror, strstr])
421 AC_CHECK_DECLS(getopt)
423 # ----------------------- #
424 # Checks for structures. #
425 # ----------------------- #
427 AC_CHECK_MEMBERS([struct stat.st_blocks])
428 AC_CHECK_MEMBERS([struct stat.st_blksize])
430 # ------------------ #
431 # Checks for types. #
432 # ------------------ #
436 # ------------------------------------- #
437 # Checks for compiler characteristics. #
438 # ------------------------------------- #
443 # ------------------------------ #
444 # Checks for library functions. #
445 # ------------------------------ #
450 AC_CHECK_FUNCS(canonicalize_file_name realpath)
451 AC_CHECK_FUNCS(getuid getgid)
453 AC_CHECK_FUNCS(pread64)
455 AC_CHECK_FUNCS(setpgid setpgrp)
456 AC_CHECK_FUNCS(sigaction sigprocmask sigsetmask)
457 AC_CHECK_FUNCS(socketpair)
458 AC_CHECK_FUNCS(syscall)
459 AC_CHECK_FUNCS(ttrace)
460 AC_CHECK_FUNCS(wborder)
462 # Check the return and argument types of ptrace. No canned test for
463 # this, so roll our own.
466 # include <sys/types.h>
468 #if HAVE_SYS_PTRACE_H
469 # include <sys/ptrace.h>
475 # There is no point in checking if we don't have a prototype.
476 AC_CHECK_DECLS(ptrace, [], [
477 : ${gdb_cv_func_ptrace_ret='int'}
478 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
479 ], $gdb_ptrace_headers)
481 AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
482 AC_TRY_COMPILE($gdb_ptrace_headers,
483 [extern int ptrace ();],
484 gdb_cv_func_ptrace_ret='int',
485 gdb_cv_func_ptrace_ret='long'))
486 AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
487 [Define as the return type of ptrace.])
488 # Check argument types.
489 AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
490 for gdb_arg1 in 'int' 'long'; do
491 for gdb_arg2 in 'pid_t' 'int' 'long'; do
492 for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long'; do
493 for gdb_arg4 in 'int' 'long'; do
494 AC_TRY_COMPILE($gdb_ptrace_headers, [
495 extern $gdb_cv_func_ptrace_ret
496 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
497 ], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
499 for gdb_arg5 in 'int *' 'int' 'long'; do
500 AC_TRY_COMPILE($gdb_ptrace_headers, [
501 extern $gdb_cv_func_ptrace_ret
502 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
504 gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
511 # Provide a safe default value.
512 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
514 ac_save_IFS=$IFS; IFS=','
515 set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
518 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
519 [Define to the type of arg 3 for ptrace.])
520 if test -n "$[5]"; then
521 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
522 [Define to the type of arg 5 for ptrace.])
525 dnl AC_FUNC_SETPGRP does not work when cross compiling
526 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
527 if test "$cross_compiling" = no; then
530 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
534 if (setpgrp(1,1) == -1)
538 ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
539 if test $ac_cv_func_setpgrp_void = yes; then
540 AC_DEFINE(SETPGRP_VOID, 1)
544 # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
545 # since sigsetjmp might only be defined as a macro.
546 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
549 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
550 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
551 if test $gdb_cv_func_sigsetjmp = yes; then
552 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
555 # Assume we'll default to using the included libiberty regex.
556 gdb_use_included_regex=yes
558 # However, if the system regex is GNU regex, then default to *not*
559 # using the included regex.
562 [gdb_cv_have_gnu_regex],
564 [#include <gnu-versions.h>],
565 [#define REGEX_INTERFACE_VERSION 1
566 #if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
567 # error "Version mismatch"
569 gdb_cv_have_gnu_regex=yes,
570 gdb_cv_have_gnu_regex=no)])
571 if test $gdb_cv_have_gnu_regex = yes; then
572 gdb_use_included_regex=no
575 AC_ARG_WITH(included-regex,
576 [ --without-included-regex don't use included regex; this is the default
577 on systems with version 2 of the GNU C library
578 (use with caution on other system)],
579 gdb_with_regex=$withval,
580 gdb_with_regex=$gdb_use_included_regex)
581 if test "$gdb_with_regex" = yes; then
582 AC_DEFINE(USE_INCLUDED_REGEX, 1,
583 [Define to 1 if the regex included in libiberty should be used.])
586 # Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
587 AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
588 [#include <sys/param.h>
589 #include <sys/proc.h>
592 # See if <sys/lwp.h> defines `struct lwp`.
593 AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
594 [AC_TRY_COMPILE([#include <sys/param.h>
595 #include <sys/lwp.h>], [struct lwp l;],
596 gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
597 if test $gdb_cv_struct_lwp = yes; then
598 AC_DEFINE(HAVE_STRUCT_LWP, 1,
599 [Define to 1 if your system has struct lwp.])
602 # See if <machine/reg.h> degines `struct reg'.
603 AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
604 [AC_TRY_COMPILE([#include <sys/types.h>
605 #include <machine/reg.h>], [struct reg r;],
606 gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
607 if test $gdb_cv_struct_reg = yes; then
608 AC_DEFINE(HAVE_STRUCT_REG, 1,
609 [Define to 1 if your system has struct reg in <machine/reg.h>.])
612 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
613 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
614 AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
615 [#include <machine/reg.h>])
617 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
618 AC_MSG_CHECKING(for PTRACE_GETREGS)
619 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
620 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
622 [gdb_cv_have_ptrace_getregs=yes],
623 [gdb_cv_have_ptrace_getregs=no])])
624 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
625 if test $gdb_cv_have_ptrace_getregs = yes; then
626 AC_DEFINE(HAVE_PTRACE_GETREGS)
629 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
630 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
631 AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
632 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
633 [PTRACE_GETFPXREGS;],
634 [gdb_cv_have_ptrace_getfpxregs=yes],
635 [gdb_cv_have_ptrace_getfpxregs=no])])
636 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
637 if test $gdb_cv_have_ptrace_getfpxregs = yes; then
638 AC_DEFINE(HAVE_PTRACE_GETFPXREGS)
641 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
642 AC_MSG_CHECKING(for PT_GETDBREGS)
643 AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
644 [AC_TRY_COMPILE([#include <sys/types.h>
645 #include <sys/ptrace.h>],
647 [gdb_cv_have_pt_getdbregs=yes],
648 [gdb_cv_have_pt_getdbregs=no])])
649 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
650 if test $gdb_cv_have_pt_getdbregs = yes; then
651 AC_DEFINE(HAVE_PT_GETDBREGS)
654 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
655 AC_MSG_CHECKING(for PT_GETXMMREGS)
656 AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
657 [AC_TRY_COMPILE([#include <sys/types.h>
658 #include <sys/ptrace.h>],
660 [gdb_cv_have_pt_getxmmregs=yes],
661 [gdb_cv_have_pt_getxmmregs=no])])
662 AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
663 if test $gdb_cv_have_pt_getxmmregs = yes; then
664 AC_DEFINE(HAVE_PT_GETXMMREGS)
667 # See if stdint.h provides the uintptr_t type.
668 # Autoconf 2.5X has an improved AC_CHECK_TYPE which will simplify this.
669 AC_CACHE_CHECK([for uintptr_t in stdint.h], gdb_cv_have_uintptr_t,
671 [#include <stdint.h>],
672 [uintptr_t foo = 0;],
673 gdb_cv_have_uintptr_t=yes,
674 gdb_cv_have_uintptr_t=no)])
675 if test $gdb_cv_have_uintptr_t = yes; then
676 AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if <stdint.h> provides the uintptr_t type.])
679 # If we are configured native on GNU/Linux, work around problems with
681 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
683 if test "${target}" = "${host}"; then
685 i[[3456]]86-*-linux*)
686 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
687 AC_DEFINE(sys_quotactl)
689 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
690 AC_DEFINE(NEW_PROC_API)
692 *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]])
693 AC_DEFINE(NEW_PROC_API)
696 # Work around <sys/proc.h> needing _KMEMUSER problem on IRIX 5.
697 AC_DEFINE([_KMEMUSER], 1)
702 if test "$ac_cv_header_sys_procfs_h" = yes; then
703 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
704 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
705 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
706 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
707 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
708 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
709 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
710 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
711 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
712 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
713 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
714 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
715 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
716 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
719 dnl Check for broken prfpregset_t type
721 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
722 dnl prfpregset_t type (it's a typedef for the pointer to a struct
723 dnl instead of the struct itself). We detect this here, and work
724 dnl around it in gdb_proc_service.h.
726 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
727 AC_MSG_CHECKING(whether prfpregset_t type is broken)
728 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
729 [AC_TRY_RUN([#include <sys/procfs.h>
732 if (sizeof (prfpregset_t) == sizeof (void *))
736 gdb_cv_prfpregset_t_broken=no,
737 gdb_cv_prfpregset_t_broken=yes,
738 gdb_cv_prfpregset_t_broken=yes)])
739 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
740 if test $gdb_cv_prfpregset_t_broken = yes; then
741 AC_DEFINE(PRFPREGSET_T_BROKEN)
745 dnl Check for PIOCSET ioctl entry
747 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
748 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
749 [AC_TRY_COMPILE([#include <unistd.h>
750 #include <sys/types.h>
751 #include <sys/procfs.h>
754 dummy = ioctl(0, PIOCSET, &dummy);
756 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
757 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
758 if test $gdb_cv_have_procfs_piocset = yes; then
759 AC_DEFINE(HAVE_PROCFS_PIOCSET)
763 dnl For native ports (host == target), check to see what kind of
764 dnl legacy link.h support is needed. (See solib-legacy.c.)
765 if test ${host} = ${target} ; then
766 dnl Check for struct link_map with l_ members which are indicative
767 dnl of SVR4-like shared libraries
769 AC_MSG_CHECKING(for member l_addr in struct link_map)
770 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
771 [AC_TRY_COMPILE([#include <link.h>],
772 [struct link_map lm; (void) lm.l_addr;],
773 gdb_cv_have_struct_link_map_with_l_members=yes,
774 gdb_cv_have_struct_link_map_with_l_members=no)])
775 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
776 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
777 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS)
780 dnl Check for struct link_map with lm_ members which are indicative
781 dnl of SunOS-like shared libraries
783 AC_MSG_CHECKING(for member lm_addr in struct link_map)
784 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
785 [AC_TRY_COMPILE([#include <sys/types.h>
787 [struct link_map lm; (void) lm.lm_addr;],
788 gdb_cv_have_struct_link_map_with_lm_members=yes,
789 gdb_cv_have_struct_link_map_with_lm_members=no)])
790 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
791 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
792 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS)
795 dnl Check for struct so_map with som_ members which are found on
796 dnl some *BSD systems.
798 AC_MSG_CHECKING(for member som_addr in struct so_map)
799 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
800 [AC_TRY_COMPILE([#include <sys/types.h>
805 [struct so_map lm; (void) lm.som_addr;],
806 gdb_cv_have_struct_so_map_with_som_members=yes,
807 gdb_cv_have_struct_so_map_with_som_members=no)])
808 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
809 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
810 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS)
813 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
814 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
816 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
817 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
818 [AC_TRY_COMPILE([#define _SYSCALL32
819 #include <sys/link.h>], [struct link_map32 l;],
820 gdb_cv_have_struct_link_map32=yes,
821 gdb_cv_have_struct_link_map32=no)])
822 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
823 if test $gdb_cv_have_struct_link_map32 = yes; then
824 AC_DEFINE(HAVE_STRUCT_LINK_MAP32)
825 AC_DEFINE(_SYSCALL32)
829 # Check if the compiler supports the `long long' type.
831 AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
832 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
833 [[extern long long foo;]],
834 [[switch (foo & 2) { case 0: return 1; }]])],
835 gdb_cv_c_long_long=yes,
836 gdb_cv_c_long_long=no)])
837 if test $gdb_cv_c_long_long = yes; then
838 AC_DEFINE(CC_HAS_LONG_LONG, 1,
839 [Define to 1 if the compiler supports long long.])
842 # Check if the compiler and runtime support printing long longs.
844 AC_CACHE_CHECK([for long long support in printf],
845 gdb_cv_printf_has_long_long,
846 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
849 l = (l << 16) + 0x0123;
850 l = (l << 16) + 0x4567;
851 l = (l << 16) + 0x89ab;
852 l = (l << 16) + 0xcdef;
853 sprintf (buf, "0x%016llx", l);
854 return (strcmp ("0x0123456789abcdef", buf));]])],
855 gdb_cv_printf_has_long_long=yes,
856 gdb_cv_printf_has_long_long=no,
857 gdb_cv_printf_has_long_long=no)])
858 if test $gdb_cv_printf_has_long_long = yes; then
859 AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
860 [Define to 1 if the "%ll" format works to print long longs.])
863 # Check if the compiler supports the `long double' type. We can't use
864 # AC_C_LONG_DOUBLE because that one does additional checks on the
865 # constants defined in <float.h> that fail on some systems,
866 # e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
868 AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
869 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
870 gdb_cv_c_long_double=yes,
871 gdb_cv_c_long_double=no)])
872 if test $gdb_cv_c_long_double = yes; then
873 AC_DEFINE(HAVE_LONG_DOUBLE, 1,
874 [Define to 1 if the compiler supports long double.])
877 # Check if the compiler and runtime support printing long doubles.
879 AC_CACHE_CHECK([for long double support in printf],
880 gdb_cv_printf_has_long_double,
881 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
883 long double f = 3.141592653;
884 sprintf (buf, "%Lg", f);
885 return (strncmp ("3.14159", buf, 7));]])],
886 gdb_cv_printf_has_long_double=yes,
887 gdb_cv_printf_has_long_double=no,
888 gdb_cv_printf_has_long_double=no)])
889 if test $gdb_cv_printf_has_long_double = yes; then
890 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
891 [Define to 1 if the "%Lg" format works to print long doubles.])
894 # Check if the compiler and runtime support scanning long doubles.
896 AC_CACHE_CHECK([for long double support in scanf],
897 gdb_cv_scanf_has_long_double,
898 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
899 [[#include <stdio.h>]],
900 [[char *buf = "3.141592653";
902 sscanf (buf, "%Lg", &f);
903 return !(f > 3.14159 && f < 3.14160);]])],
904 gdb_cv_scanf_has_long_double=yes,
905 gdb_cv_scanf_has_long_double=no,
906 gdb_cv_scanf_has_long_double=no)])
907 if test $gdb_cv_scanf_has_long_double = yes; then
908 AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
909 [Define to 1 if the "%Lg" format works to scan long doubles.])
914 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
915 SAVE_LDFLAGS=$LDFLAGS
918 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
919 *) gdb_cv_bigtoc=-bbigtoc ;;
922 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
923 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
924 LDFLAGS="${SAVE_LDFLAGS}"
926 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
931 dnl For certain native configurations, we need to check whether thread
932 dnl support can be built in or not.
934 dnl Note that we only want this if we are both native (host == target),
935 dnl and not doing a canadian cross build (build == host).
937 if test ${build} = ${host} -a ${host} = ${target} ; then
940 AC_MSG_CHECKING(for HPUX/OSF thread support)
941 if test -f /usr/include/dce/cma_config.h ; then
942 if test "$GCC" = "yes" ; then
944 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
945 CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
946 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
948 AC_MSG_RESULT(no (suppressed because you are not using GCC))
955 # See if thread_db library is around for Solaris thread debugging.
956 # Note that we must explicitly test for version 1 of the library
957 # because version 0 (present on Solaris 2.4 or earlier) doesn't have
959 AC_MSG_CHECKING(for Solaris thread debugging library)
960 if test -f /usr/lib/libthread_db.so.1 ; then
962 AC_DEFINE(HAVE_THREAD_DB_LIB)
963 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
964 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
965 AC_CHECK_LIB(dl, dlopen)
966 if test "$GCC" = "yes" ; then
967 # The GNU linker requires the -export-dynamic option to make
968 # all symbols visible in the dynamic symbol table.
969 hold_ldflags=$LDFLAGS
970 AC_MSG_CHECKING(for the ld -export-dynamic flag)
971 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
972 AC_TRY_LINK(, [int i;], found=yes, found=no)
973 LDFLAGS=$hold_ldflags
974 AC_MSG_RESULT($found)
975 if test $found = yes; then
976 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
979 # Sun randomly tweaked the prototypes in <proc_service.h>
981 AC_MSG_CHECKING(if <proc_service.h> is old)
982 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
984 #include <proc_service.h>
986 (struct ps_prochandle*, psaddr_t, const void*, size_t);
987 ],, gdb_cv_proc_service_is_old=no,
988 gdb_cv_proc_service_is_old=yes)
990 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
991 if test $gdb_cv_proc_service_is_old = yes; then
992 AC_DEFINE(PROC_SERVICE_IS_OLD)
999 AC_MSG_CHECKING(for AiX thread debugging library)
1000 AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
1001 [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
1002 [#ifndef PTHDB_VERSION_3
1005 gdb_cv_have_aix_thread_debug=yes,
1006 gdb_cv_have_aix_thread_debug=no)])
1007 AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1008 if test $gdb_cv_have_aix_thread_debug = yes; then
1009 CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1010 CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1011 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1015 AC_SUBST(CONFIG_LDFLAGS)
1018 dnl See if we have a thread_db header file that has TD_NOTALLOC.
1019 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1020 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
1021 gdb_cv_thread_db_h_has_td_notalloc,
1023 [#include <thread_db.h>],
1024 [int i = TD_NOTALLOC;],
1025 gdb_cv_thread_db_h_has_td_notalloc=yes,
1026 gdb_cv_thread_db_h_has_td_notalloc=no
1030 if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1031 AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1032 [Define if <thread_db.h> has the TD_NOTALLOC error code.])
1035 dnl See if we have a sys/syscall header file that has __NR_tkill.
1036 if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1037 AC_CACHE_CHECK([whether <sys/syscall.h> has __NR_tkill],
1038 gdb_cv_sys_syscall_h_has_tkill,
1040 [#include <sys/syscall.h>],
1041 [int i = __NR_tkill;],
1042 gdb_cv_sys_syscall_h_has_tkill=yes,
1043 gdb_cv_sys_syscall_h_has_tkill=no
1047 dnl See if we can issue tkill syscall.
1048 if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1049 AC_DEFINE(HAVE_TKILL_SYSCALL, 1,
1050 [Define if we can use the tkill syscall.])
1053 dnl Handle optional features that can be enabled.
1055 AC_ARG_WITH(sysroot,
1056 [ --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
1058 case ${with_sysroot} in
1059 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
1060 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1063 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1065 if test "x$exec_prefix" = xNONE; then
1066 if test "x$prefix" = xNONE; then
1067 test_prefix=/usr/local
1072 test_prefix=$exec_prefix
1074 case ${TARGET_SYSTEM_ROOT} in
1075 "${test_prefix}"|"${test_prefix}/"*|\
1076 '${exec_prefix}'|'${exec_prefix}/'*)
1077 t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
1078 TARGET_SYSTEM_ROOT_DEFINE="$t"
1083 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1085 AC_SUBST(TARGET_SYSTEM_ROOT)
1086 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1088 # NOTE: Don't add -Wall or -Wunused, they both include
1089 # -Wunused-parameter which reports bogus warnings.
1090 # NOTE: If you add to this list, remember to update
1091 # gdb/doc/gdbint.texinfo.
1092 build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
1093 -Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral \
1094 -Wunused-label -Wunused-function"
1096 # GCC supports -Wuninitialized only with -O or -On, n != 0.
1097 if test x${CFLAGS+set} = xset; then
1101 build_warnings="${build_warnings} -Wuninitialized"
1105 build_warnings="${build_warnings} -Wuninitialized"
1108 # Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
1109 # -Wunused-function -Wunused-variable -Wunused-value
1110 # -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
1111 # -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
1112 # -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
1113 # -Woverloaded-virtual -Winline -Werror"
1114 AC_ARG_ENABLE(build-warnings,
1115 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
1116 [case "${enableval}" in
1118 no) build_warnings="-w";;
1119 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1120 build_warnings="${build_warnings} ${t}";;
1121 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1122 build_warnings="${t} ${build_warnings}";;
1123 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1125 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1126 echo "Setting compiler warning flags = $build_warnings" 6>&1
1128 AC_ARG_ENABLE(gdb-build-warnings,
1129 [ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
1130 [case "${enableval}" in
1132 no) build_warnings="-w";;
1133 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1134 build_warnings="${build_warnings} ${t}";;
1135 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1136 build_warnings="${t} ${build_warnings}";;
1137 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1139 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1140 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1144 if test "x${build_warnings}" != x -a "x$GCC" = xyes
1146 AC_MSG_CHECKING(compiler warning flags)
1147 # Separate out the -Werror flag as some files just cannot be
1148 # compiled with it enabled.
1149 for w in ${build_warnings}; do
1151 -Werr*) WERROR_CFLAGS=-Werror ;;
1152 *) # Check that GCC accepts it
1153 saved_CFLAGS="$CFLAGS"
1155 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1156 CFLAGS="$saved_CFLAGS"
1159 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
1161 AC_SUBST(WARN_CFLAGS)
1162 AC_SUBST(WERROR_CFLAGS)
1164 # In the Cygwin environment, we need some additional flags.
1165 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1166 [AC_EGREP_CPP(lose, [
1167 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
1169 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1172 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1173 SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1175 *go32* ) SER_HARDWIRE=ser-go32.o ;;
1176 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1177 *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o" ;;
1179 AC_SUBST(SER_HARDWIRE)
1181 # libreadline needs libuser32.a in a cygwin environment
1183 if test x$gdb_cv_os_cygwin = xyes; then
1184 WIN32LIBS="-luser32"
1186 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1192 LIBGUI="../libgui/src/libgui.a"
1193 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1195 AC_SUBST(GUI_CFLAGS_X)
1199 AC_SUBST(WIN32LDAPP)
1211 if test "${enable_gdbtk}" = "yes"; then
1213 # Gdbtk must have an absolute path to srcdir in order to run
1214 # properly when not installed.
1220 CY_AC_PATH_TCLCONFIG
1221 if test -z "${no_tcl}"; then
1222 CY_AC_LOAD_TCLCONFIG
1225 # now look for Tcl library stuff
1227 tcldir="../tcl/${configdir}/"
1229 TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1231 # If $no_tk is nonempty, then we can't do Tk, and there is no
1232 # point to doing Tcl.
1233 if test -z "${no_tk}"; then
1241 # now look for Tk library stuff
1243 tkdir="../tk/${configdir}/"
1245 TK_DEPS="${tkdir}${TK_LIB_FILE}"
1247 # now look for Itcl library stuff
1249 CY_AC_PATH_ITCLCONFIG
1250 if test -z "${no_itcl}"; then
1251 CY_AC_LOAD_ITCLCONFIG
1253 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
1254 ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
1258 # now look for Itk library stuff
1259 CY_AC_PATH_ITKCONFIG
1260 if test -z "${no_itcl}"; then
1261 CY_AC_LOAD_ITKCONFIG
1263 ITKLIB="${ITK_BUILD_LIB_SPEC}"
1264 ITK_DEPS="${ITK_LIB_FULL_PATH}"
1267 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1269 # Include some libraries that Tcl and Tk want.
1270 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1271 # Yes, the ordering seems wrong here. But it isn't.
1272 # TK_LIBS is the list of libraries that need to be linked
1273 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1274 # were in LIBS then any link tests after this point would
1275 # try to include things like `$(LIBGUI)', which wouldn't work.
1276 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1278 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1279 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1280 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1281 CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1282 CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1283 CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1284 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1286 if test x$gdb_cv_os_cygwin = xyes; then
1287 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1288 WIN32LDAPP="-Wl,--subsystem,console"
1289 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1294 AC_CONFIG_SUBDIRS(gdbtk)
1307 AC_SUBST(GDBTK_CFLAGS)
1308 AC_SUBST(GDBTK_SRC_DIR)
1312 # Check whether we should enable the TUI, but only do so if we really
1314 if test x"$enable_tui" = xyes; then
1315 if test -d $srcdir/tui; then
1316 if test "$ac_cv_search_waddstr" != no; then
1317 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
1318 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
1319 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
1320 CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_TUI_INITS)"
1321 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
1322 CONFIG_ALL="${CONFIG_ALL} all-tui"
1323 CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
1324 CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
1325 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
1327 AC_MSG_WARN([no enhanced curses library found; disabling TUI])
1332 # Unlike the sim directory, whether a simulator is linked is controlled by
1333 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
1334 # This code just checks for a few cases where we'd like to ignore those
1335 # definitions, even when they're present in the '.mt' file. These cases
1336 # are when --disable-sim is specified, or if the simulator directory is
1337 # not part of the source tree.
1340 [ --enable-sim Link gdb with simulator],
1341 [echo "enable_sim = $enable_sim";
1342 echo "enableval = ${enableval}";
1343 case "${enableval}" in
1344 yes) ignore_sim=false ;;
1345 no) ignore_sim=true ;;
1346 *) ignore_sim=false ;;
1350 if test ! -d "${srcdir}/../sim"; then
1354 if test "${ignore_sim}" = "true"; then
1356 IGNORE_SIM_OBS="SIM_OBS="
1362 AC_SUBST(IGNORE_SIM)
1363 AC_SUBST(IGNORE_SIM_OBS)
1365 AC_SUBST(ENABLE_CFLAGS)
1366 AC_SUBST(PROFILE_CFLAGS)
1368 AC_SUBST(CONFIG_OBS)
1369 AC_SUBST(CONFIG_DEPS)
1370 AC_SUBST(CONFIG_SRCS)
1371 AC_SUBST(CONFIG_ALL)
1372 AC_SUBST(CONFIG_CLEAN)
1373 AC_SUBST(CONFIG_INSTALL)
1374 AC_SUBST(CONFIG_UNINSTALL)
1376 # List of host floatformats.
1377 AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
1378 AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
1379 AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
1381 # target_subdir is used by the testsuite to find the target libraries.
1383 if test "${host}" != "${target}"; then
1384 target_subdir="${target_alias}/"
1386 AC_SUBST(target_subdir)
1389 if test "${target}" = "${host}"; then
1390 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1391 if test ! -f ${host_makefile_frag}; then
1392 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1394 frags="$frags $host_makefile_frag"
1396 host_makefile_frag=/dev/null
1399 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1400 if test ! -f ${target_makefile_frag}; then
1401 AC_MSG_ERROR("*** Gdb does not support target ${target}")
1403 frags="$frags $target_makefile_frag"
1405 AC_SUBST_FILE(host_makefile_frag)
1406 AC_SUBST_FILE(target_makefile_frag)
1411 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1412 ' ${host_makefile_frag}`
1414 targetfile=`sed -n '
1415 s/DEPRECATED_TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1416 ' ${target_makefile_frag}`
1418 if test "${target}" = "${host}"; then
1419 # We pick this up from the host configuration file (.mh) because we
1420 # do not have a native configuration Makefile fragment.
1421 nativefile=`sed -n '
1422 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1423 ' ${host_makefile_frag}`
1427 if test x"${gdb_osabi}" != x ; then
1428 AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1429 [Define to the default OS ABI for this configuration.])
1432 # Enable multi-ice-gdb-server.
1433 AC_ARG_ENABLE(multi-ice,
1434 [ --enable-multi-ice build the multi-ice-gdb-server],
1438 *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1440 if test "x$enable_multi_ice" = xyes; then
1441 AC_CONFIG_SUBDIRS(multi-ice)
1444 # We only build gdbserver automatically if host and target are the same.
1445 if test "x$target" = "x$host"; then
1446 AC_MSG_CHECKING(whether gdbserver is supported on this host)
1447 if test "x$build_gdbserver" = xyes; then
1449 AC_CONFIG_SUBDIRS(gdbserver)
1455 # We build rdi-share on ARM-based targets, as instructed by configure.tgt.
1456 if test "x$build_rdi_share" = xyes; then
1457 AC_CONFIG_SUBDIRS(rdi-share)
1460 # We configure the nlm subdirectory on netware targets, as instructed
1462 if test "x$build_nlm" = xyes; then
1463 AC_CONFIG_SUBDIRS(nlm)
1466 # If hostfile (XM_FILE) and/or targetfile (DEPRECATED_TM_FILE) and/or
1467 # nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
1468 # to an empty version.
1475 if test "${hostfile}" != ""; then
1477 case "${hostfile}" in
1478 xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}" ;;
1479 * ) GDB_XM_FILE="${hostfile}"
1481 files="${files} ${GDB_XM_FILE}"
1482 links="${links} xm.h"
1483 AC_DEFINE_UNQUOTED(GDB_XM_FILE, "${GDB_XM_FILE}")
1489 if test "${targetfile}" != ""; then
1491 case "${targetfile}" in
1492 tm-*.h ) GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}" ;;
1493 * ) GDB_TM_FILE="${targetfile}"
1495 files="${files} ${GDB_TM_FILE}"
1496 links="${links} tm.h"
1497 AC_DEFINE_UNQUOTED(GDB_TM_FILE, "${GDB_TM_FILE}")
1503 if test "${nativefile}" != ""; then
1505 case "${nativefile}" in
1506 nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
1507 * ) GDB_NM_FILE="${nativefile}"
1509 files="${files} ${GDB_NM_FILE}"
1510 links="${links} nm.h"
1511 AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}")
1515 AC_LINK_FILES($files, $links)
1517 dnl Check for exe extension set on certain hosts (e.g. Win32)
1520 dnl Detect the character set used by this host.
1522 dnl At the moment, we just assume it's ISO-8859-1 (which is a
1523 dnl superset of ASCII containing the characters needed for French,
1524 dnl German, Spanish, Italian, and possibly others), but if were
1525 dnl *were* to support any host character sets other than ISO-8859-1,
1526 dnl here's where we'd detect it.
1527 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1528 [Define to be a string naming the default host character set.])
1532 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1534 dnl Autoconf doesn't provide a mechanism for modifying definitions
1535 dnl provided by makefile fragments.
1539 sed -e '/^DEPRECATED_TM_FILE[ ]*=/s,^DEPRECATED_TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
1540 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1541 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1542 mv -f Makefile.tmp Makefile
1546 case x$CONFIG_HEADERS in
1547 xconfig.h:config.in)
1552 gdb_host_cpu=$gdb_host_cpu
1553 gdb_target_cpu=$gdb_target_cpu
1554 nativefile=$nativefile