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, [Define if libunwind library is being used.])
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"
336 ac_cv_search_tgetent="none required"
337 CONFIG_OBS="$CONFIG_OBS win32-termcap.o"
341 # These are the libraries checked by Readline.
342 AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses])
344 if test "$ac_cv_search_tgetent" = no; then
345 AC_MSG_ERROR([no termcap library found])
348 # ------------------------- #
349 # Checks for header files. #
350 # ------------------------- #
355 AC_CHECK_HEADERS(nlist.h)
356 AC_CHECK_HEADERS(link.h, [], [],
357 [#if HAVE_SYS_TYPES_H
358 # include <sys/types.h>
364 AC_CHECK_HEADERS(machine/reg.h)
365 AC_CHECK_HEADERS(poll.h sys/poll.h)
366 AC_CHECK_HEADERS(proc_service.h thread_db.h gnu/libc-version.h)
367 AC_CHECK_HEADERS(stddef.h)
368 AC_CHECK_HEADERS(stdlib.h)
369 AC_CHECK_HEADERS(stdint.h)
370 AC_CHECK_HEADERS(string.h memory.h strings.h)
371 AC_CHECK_HEADERS(sys/fault.h)
372 AC_CHECK_HEADERS(sys/file.h)
373 AC_CHECK_HEADERS(sys/filio.h)
374 AC_CHECK_HEADERS(sys/ioctl.h)
375 AC_CHECK_HEADERS(sys/param.h)
376 AC_CHECK_HEADERS(sys/proc.h, [], [],
377 [#if HAVE_SYS_PARAM_H
378 # include <sys/param.h>
381 AC_CHECK_HEADERS(sys/procfs.h)
382 AC_CHECK_HEADERS(sys/ptrace.h ptrace.h)
383 AC_CHECK_HEADERS(sys/reg.h sys/debugreg.h)
384 AC_CHECK_HEADERS(sys/select.h)
385 AC_CHECK_HEADERS(sys/syscall.h)
386 AC_CHECK_HEADERS(sys/types.h)
387 AC_CHECK_HEADERS(sys/user.h, [], [],
388 [#if HAVE_SYS_PARAM_H
389 # include <sys/param.h>
392 AC_CHECK_HEADERS(sys/wait.h wait.h)
393 AC_CHECK_HEADERS(termios.h termio.h sgtty.h)
394 AC_CHECK_HEADERS(unistd.h)
396 # On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
397 # between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
398 # think that we don't have <curses.h> if we're using GCC.
401 if test "$GCC" = yes; then
402 AC_DEFINE(_MSE_INT_H, 1,
403 [Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
404 Solaris 2.[789] when using GCC. ])
407 AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h)
408 AC_CHECK_HEADERS(ncurses/term.h)
409 AC_CHECK_HEADERS(term.h, [], [],
415 # FIXME: kettenis/20030102: In most cases we include these
416 # unconditionally, so what's the point in checking these?
417 AC_CHECK_HEADERS(ctype.h time.h)
419 # ------------------------- #
420 # Checks for declarations. #
421 # ------------------------- #
423 AC_CHECK_DECLS([free, malloc, realloc])
424 AC_CHECK_DECLS([strerror, strstr])
425 AC_CHECK_DECLS([getopt, snprintf, vsnprintf])
427 # ----------------------- #
428 # Checks for structures. #
429 # ----------------------- #
431 AC_CHECK_MEMBERS([struct stat.st_blocks])
432 AC_CHECK_MEMBERS([struct stat.st_blksize])
434 # ------------------ #
435 # Checks for types. #
436 # ------------------ #
439 AC_CHECK_TYPES(socklen_t, [], [],
440 [#include <sys/types.h>
441 #include <sys/socket.h>
443 AC_CHECK_TYPES(uintptr_t, [], [], [#include <stdint.h>])
445 # ------------------------------------- #
446 # Checks for compiler characteristics. #
447 # ------------------------------------- #
452 # ------------------------------ #
453 # Checks for library functions. #
454 # ------------------------------ #
459 AC_CHECK_FUNCS(canonicalize_file_name realpath)
460 AC_CHECK_FUNCS(getuid getgid)
462 AC_CHECK_FUNCS(pread64)
464 AC_CHECK_FUNCS(setpgid setpgrp)
465 AC_CHECK_FUNCS(sigaction sigprocmask sigsetmask)
466 AC_CHECK_FUNCS(socketpair)
467 AC_CHECK_FUNCS(syscall)
468 AC_CHECK_FUNCS(ttrace)
469 AC_CHECK_FUNCS(wborder)
471 # Check the return and argument types of ptrace. No canned test for
472 # this, so roll our own.
475 # include <sys/types.h>
477 #if HAVE_SYS_PTRACE_H
478 # include <sys/ptrace.h>
484 # There is no point in checking if we don't have a prototype.
485 AC_CHECK_DECLS(ptrace, [], [
486 : ${gdb_cv_func_ptrace_ret='int'}
487 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
488 ], $gdb_ptrace_headers)
490 AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
491 AC_TRY_COMPILE($gdb_ptrace_headers,
492 [extern int ptrace ();],
493 gdb_cv_func_ptrace_ret='int',
494 gdb_cv_func_ptrace_ret='long'))
495 AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
496 [Define as the return type of ptrace.])
497 # Check argument types.
498 AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
499 for gdb_arg1 in 'int' 'long'; do
500 for gdb_arg2 in 'pid_t' 'int' 'long'; do
501 for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long'; do
502 for gdb_arg4 in 'int' 'long'; do
503 AC_TRY_COMPILE($gdb_ptrace_headers, [
504 extern $gdb_cv_func_ptrace_ret
505 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
506 ], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
508 for gdb_arg5 in 'int *' 'int' 'long'; do
509 AC_TRY_COMPILE($gdb_ptrace_headers, [
510 extern $gdb_cv_func_ptrace_ret
511 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
513 gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
520 # Provide a safe default value.
521 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
523 ac_save_IFS=$IFS; IFS=','
524 set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
527 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
528 [Define to the type of arg 3 for ptrace.])
529 if test -n "$[5]"; then
530 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
531 [Define to the type of arg 5 for ptrace.])
534 dnl AC_FUNC_SETPGRP does not work when cross compiling
535 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
536 if test "$cross_compiling" = no; then
539 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
543 if (setpgrp(1,1) == -1)
547 ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
548 if test $ac_cv_func_setpgrp_void = yes; then
549 AC_DEFINE(SETPGRP_VOID, 1)
553 # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
554 # since sigsetjmp might only be defined as a macro.
555 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
558 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
559 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
560 if test $gdb_cv_func_sigsetjmp = yes; then
561 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
564 # Assume we'll default to using the included libiberty regex.
565 gdb_use_included_regex=yes
567 # However, if the system regex is GNU regex, then default to *not*
568 # using the included regex.
571 [gdb_cv_have_gnu_regex],
573 [#include <gnu-versions.h>],
574 [#define REGEX_INTERFACE_VERSION 1
575 #if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
576 # error "Version mismatch"
578 gdb_cv_have_gnu_regex=yes,
579 gdb_cv_have_gnu_regex=no)])
580 if test $gdb_cv_have_gnu_regex = yes; then
581 gdb_use_included_regex=no
584 AC_ARG_WITH(included-regex,
585 [ --without-included-regex don't use included regex; this is the default
586 on systems with version 2 of the GNU C library
587 (use with caution on other system)],
588 gdb_with_regex=$withval,
589 gdb_with_regex=$gdb_use_included_regex)
590 if test "$gdb_with_regex" = yes; then
591 AC_DEFINE(USE_INCLUDED_REGEX, 1,
592 [Define to 1 if the regex included in libiberty should be used.])
595 # Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
596 AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
597 [#include <sys/param.h>
598 #include <sys/proc.h>
601 # See if <sys/lwp.h> defines `struct lwp`.
602 AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
603 [AC_TRY_COMPILE([#include <sys/param.h>
604 #include <sys/lwp.h>], [struct lwp l;],
605 gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
606 if test $gdb_cv_struct_lwp = yes; then
607 AC_DEFINE(HAVE_STRUCT_LWP, 1,
608 [Define to 1 if your system has struct lwp.])
611 # See if <machine/reg.h> degines `struct reg'.
612 AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
613 [AC_TRY_COMPILE([#include <sys/types.h>
614 #include <machine/reg.h>], [struct reg r;],
615 gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
616 if test $gdb_cv_struct_reg = yes; then
617 AC_DEFINE(HAVE_STRUCT_REG, 1,
618 [Define to 1 if your system has struct reg in <machine/reg.h>.])
621 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
622 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
623 AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
624 [#include <machine/reg.h>])
626 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
627 AC_MSG_CHECKING(for PTRACE_GETREGS)
628 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
629 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
631 [gdb_cv_have_ptrace_getregs=yes],
632 [gdb_cv_have_ptrace_getregs=no])])
633 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
634 if test $gdb_cv_have_ptrace_getregs = yes; then
635 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
636 [Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
639 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
640 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
641 AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
642 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
643 [PTRACE_GETFPXREGS;],
644 [gdb_cv_have_ptrace_getfpxregs=yes],
645 [gdb_cv_have_ptrace_getfpxregs=no])])
646 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
647 if test $gdb_cv_have_ptrace_getfpxregs = yes; then
648 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
649 [Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
652 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
653 AC_MSG_CHECKING(for PT_GETDBREGS)
654 AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
655 [AC_TRY_COMPILE([#include <sys/types.h>
656 #include <sys/ptrace.h>],
658 [gdb_cv_have_pt_getdbregs=yes],
659 [gdb_cv_have_pt_getdbregs=no])])
660 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
661 if test $gdb_cv_have_pt_getdbregs = yes; then
662 AC_DEFINE(HAVE_PT_GETDBREGS, 1,
663 [Define if sys/ptrace.h defines the PT_GETDBREGS request.])
666 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
667 AC_MSG_CHECKING(for PT_GETXMMREGS)
668 AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
669 [AC_TRY_COMPILE([#include <sys/types.h>
670 #include <sys/ptrace.h>],
672 [gdb_cv_have_pt_getxmmregs=yes],
673 [gdb_cv_have_pt_getxmmregs=no])])
674 AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
675 if test $gdb_cv_have_pt_getxmmregs = yes; then
676 AC_DEFINE(HAVE_PT_GETXMMREGS, 1,
677 [Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
680 # If we are configured native on GNU/Linux, work around problems with
682 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
684 if test "${target}" = "${host}"; then
686 i[[3456]]86-*-linux*)
687 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED, 2,
688 [Define on a GNU/Linux system to work around problems in sys/procfs.h.])
689 AC_DEFINE(sys_quotactl, 1,
690 [Define on a GNU/Linux system to work around problems in sys/procfs.h.])
692 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
693 AC_DEFINE(NEW_PROC_API, 1,
694 [Define if you want to use new multi-fd /proc interface
695 (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
697 *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]])
698 AC_DEFINE(NEW_PROC_API, 1,
699 [Define if you want to use new multi-fd /proc interface
700 (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
703 # Work around <sys/proc.h> needing _KMEMUSER problem on IRIX 5.
704 AC_DEFINE([_KMEMUSER], 1,
705 [Define to 1 so <sys/proc.h> gets a definition of anon_hdl. Works
706 around a <sys/proc.h> problem on IRIX 5.])
711 if test "$ac_cv_header_sys_procfs_h" = yes; then
712 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
713 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
714 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
715 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
716 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
717 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
718 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
719 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
720 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
721 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
722 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
723 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
724 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
725 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
728 dnl Check for broken prfpregset_t type
730 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
731 dnl prfpregset_t type (it's a typedef for the pointer to a struct
732 dnl instead of the struct itself). We detect this here, and work
733 dnl around it in gdb_proc_service.h.
735 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
736 AC_MSG_CHECKING(whether prfpregset_t type is broken)
737 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
738 [AC_TRY_RUN([#include <sys/procfs.h>
741 if (sizeof (prfpregset_t) == sizeof (void *))
745 gdb_cv_prfpregset_t_broken=no,
746 gdb_cv_prfpregset_t_broken=yes,
747 gdb_cv_prfpregset_t_broken=yes)])
748 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
749 if test $gdb_cv_prfpregset_t_broken = yes; then
750 AC_DEFINE(PRFPREGSET_T_BROKEN, 1,
751 [Define if the prfpregset_t type is broken.])
755 dnl Check for PIOCSET ioctl entry
757 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
758 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
759 [AC_TRY_COMPILE([#include <unistd.h>
760 #include <sys/types.h>
761 #include <sys/procfs.h>
764 dummy = ioctl(0, PIOCSET, &dummy);
766 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
767 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
768 if test $gdb_cv_have_procfs_piocset = yes; then
769 AC_DEFINE(HAVE_PROCFS_PIOCSET, 1,
770 [Define if ioctl argument PIOCSET is available.])
774 dnl For native ports (host == target), check to see what kind of
775 dnl legacy link.h support is needed. (See solib-legacy.c.)
776 if test ${host} = ${target} ; then
777 dnl Check for struct link_map with l_ members which are indicative
778 dnl of SVR4-like shared libraries
780 AC_MSG_CHECKING(for member l_addr in struct link_map)
781 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
782 [AC_TRY_COMPILE([#include <link.h>],
783 [struct link_map lm; (void) lm.l_addr;],
784 gdb_cv_have_struct_link_map_with_l_members=yes,
785 gdb_cv_have_struct_link_map_with_l_members=no)])
786 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
787 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
788 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS,1,
789 [Define if <link.h> exists and defines struct link_map which has
790 members with an ``l_'' prefix. (For Solaris, SVR4, and
791 SVR4-like systems.)])
794 dnl Check for struct link_map with lm_ members which are indicative
795 dnl of SunOS-like shared libraries
797 AC_MSG_CHECKING(for member lm_addr in struct link_map)
798 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
799 [AC_TRY_COMPILE([#include <sys/types.h>
801 [struct link_map lm; (void) lm.lm_addr;],
802 gdb_cv_have_struct_link_map_with_lm_members=yes,
803 gdb_cv_have_struct_link_map_with_lm_members=no)])
804 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
805 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
806 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS, 1,
807 [Define if <link.h> exists and defines struct link_map which has
808 members with an ``lm_'' prefix. (For SunOS.)])
811 dnl Check for struct so_map with som_ members which are found on
812 dnl some *BSD systems.
814 AC_MSG_CHECKING(for member som_addr in struct so_map)
815 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
816 [AC_TRY_COMPILE([#include <sys/types.h>
821 [struct so_map lm; (void) lm.som_addr;],
822 gdb_cv_have_struct_so_map_with_som_members=yes,
823 gdb_cv_have_struct_so_map_with_som_members=no)])
824 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
825 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
826 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS, 1,
827 [Define if <link.h> exists and defines a struct so_map which has
828 members with an ``som_'' prefix. (Found on older *BSD systems.)])
831 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
832 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
834 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
835 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
836 [AC_TRY_COMPILE([#define _SYSCALL32
837 #include <sys/link.h>], [struct link_map32 l;],
838 gdb_cv_have_struct_link_map32=yes,
839 gdb_cv_have_struct_link_map32=no)])
840 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
841 if test $gdb_cv_have_struct_link_map32 = yes; then
842 AC_DEFINE(HAVE_STRUCT_LINK_MAP32, 1,
843 [Define if <sys/link.h> has struct link_map32])
844 AC_DEFINE(_SYSCALL32, 1,
845 [Define if <sys/link.h> has link_map32 (solaris sparc-64 target)])
849 # Check if the compiler supports the `long long' type.
851 AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
852 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
853 [[extern long long foo;]],
854 [[switch (foo & 2) { case 0: return 1; }]])],
855 gdb_cv_c_long_long=yes,
856 gdb_cv_c_long_long=no)])
857 if test $gdb_cv_c_long_long = yes; then
858 AC_DEFINE(CC_HAS_LONG_LONG, 1,
859 [Define to 1 if the compiler supports long long.])
862 # Check if the compiler and runtime support printing long longs.
864 AC_CACHE_CHECK([for long long support in printf],
865 gdb_cv_printf_has_long_long,
866 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
869 l = (l << 16) + 0x0123;
870 l = (l << 16) + 0x4567;
871 l = (l << 16) + 0x89ab;
872 l = (l << 16) + 0xcdef;
873 sprintf (buf, "0x%016llx", l);
874 return (strcmp ("0x0123456789abcdef", buf));]])],
875 gdb_cv_printf_has_long_long=yes,
876 gdb_cv_printf_has_long_long=no,
877 gdb_cv_printf_has_long_long=no)])
878 if test $gdb_cv_printf_has_long_long = yes; then
879 AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
880 [Define to 1 if the "%ll" format works to print long longs.])
883 # Check if the compiler supports the `long double' type. We can't use
884 # AC_C_LONG_DOUBLE because that one does additional checks on the
885 # constants defined in <float.h> that fail on some systems,
886 # e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
888 AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
889 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
890 gdb_cv_c_long_double=yes,
891 gdb_cv_c_long_double=no)])
892 if test $gdb_cv_c_long_double = yes; then
893 AC_DEFINE(HAVE_LONG_DOUBLE, 1,
894 [Define to 1 if the compiler supports long double.])
897 # Check if the compiler and runtime support printing long doubles.
899 AC_CACHE_CHECK([for long double support in printf],
900 gdb_cv_printf_has_long_double,
901 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
903 long double f = 3.141592653;
904 sprintf (buf, "%Lg", f);
905 return (strncmp ("3.14159", buf, 7));]])],
906 gdb_cv_printf_has_long_double=yes,
907 gdb_cv_printf_has_long_double=no,
908 gdb_cv_printf_has_long_double=no)])
909 if test $gdb_cv_printf_has_long_double = yes; then
910 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
911 [Define to 1 if the "%Lg" format works to print long doubles.])
914 # Check if the compiler and runtime support scanning long doubles.
916 AC_CACHE_CHECK([for long double support in scanf],
917 gdb_cv_scanf_has_long_double,
918 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
919 [[#include <stdio.h>]],
920 [[char *buf = "3.141592653";
922 sscanf (buf, "%Lg", &f);
923 return !(f > 3.14159 && f < 3.14160);]])],
924 gdb_cv_scanf_has_long_double=yes,
925 gdb_cv_scanf_has_long_double=no,
926 gdb_cv_scanf_has_long_double=no)])
927 if test $gdb_cv_scanf_has_long_double = yes; then
928 AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
929 [Define to 1 if the "%Lg" format works to scan long doubles.])
934 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
935 SAVE_LDFLAGS=$LDFLAGS
938 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
939 *) gdb_cv_bigtoc=-bbigtoc ;;
942 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
943 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
944 LDFLAGS="${SAVE_LDFLAGS}"
946 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
951 dnl For certain native configurations, we need to check whether thread
952 dnl support can be built in or not.
954 dnl Note that we only want this if we are both native (host == target),
955 dnl and not doing a canadian cross build (build == host).
957 if test ${build} = ${host} -a ${host} = ${target} ; then
960 AC_MSG_CHECKING(for HPUX/OSF thread support)
961 if test -f /usr/include/dce/cma_config.h ; then
962 if test "$GCC" = "yes" ; then
964 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT, 1,
965 [Define if you have HPUX threads])
966 CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
967 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
969 AC_MSG_RESULT(no (suppressed because you are not using GCC))
976 # See if thread_db library is around for Solaris thread debugging.
977 # Note that we must explicitly test for version 1 of the library
978 # because version 0 (present on Solaris 2.4 or earlier) doesn't have
980 AC_MSG_CHECKING(for Solaris thread debugging library)
981 if test -f /usr/lib/libthread_db.so.1 ; then
983 AC_DEFINE(HAVE_THREAD_DB_LIB, 1,
984 [Define if using Solaris thread debugging.])
985 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
986 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
987 AC_CHECK_LIB(dl, dlopen)
988 if test "$GCC" = "yes" ; then
989 # The GNU linker requires the -export-dynamic option to make
990 # all symbols visible in the dynamic symbol table.
991 hold_ldflags=$LDFLAGS
992 AC_MSG_CHECKING(for the ld -export-dynamic flag)
993 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
994 AC_TRY_LINK(, [int i;], found=yes, found=no)
995 LDFLAGS=$hold_ldflags
996 AC_MSG_RESULT($found)
997 if test $found = yes; then
998 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
1001 # Sun randomly tweaked the prototypes in <proc_service.h>
1003 AC_MSG_CHECKING(if <proc_service.h> is old)
1004 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
1006 #include <proc_service.h>
1008 (struct ps_prochandle*, psaddr_t, const void*, size_t);
1009 ],, gdb_cv_proc_service_is_old=no,
1010 gdb_cv_proc_service_is_old=yes)
1012 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
1013 if test $gdb_cv_proc_service_is_old = yes; then
1014 AC_DEFINE(PROC_SERVICE_IS_OLD, 1,
1015 [Define if <proc_service.h> on solaris uses int instead of
1016 size_t, and assorted other type changes.])
1023 AC_MSG_CHECKING(for AiX thread debugging library)
1024 AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
1025 [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
1026 [#ifndef PTHDB_VERSION_3
1029 gdb_cv_have_aix_thread_debug=yes,
1030 gdb_cv_have_aix_thread_debug=no)])
1031 AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1032 if test $gdb_cv_have_aix_thread_debug = yes; then
1033 CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1034 CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1035 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1039 AC_SUBST(CONFIG_LDFLAGS)
1042 dnl See if we have a thread_db header file that has TD_NOTALLOC.
1043 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1044 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
1045 gdb_cv_thread_db_h_has_td_notalloc,
1047 [#include <thread_db.h>],
1048 [int i = TD_NOTALLOC;],
1049 gdb_cv_thread_db_h_has_td_notalloc=yes,
1050 gdb_cv_thread_db_h_has_td_notalloc=no
1054 if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1055 AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1056 [Define if <thread_db.h> has the TD_NOTALLOC error code.])
1059 dnl See if we have a sys/syscall header file that has __NR_tkill.
1060 if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1061 AC_CACHE_CHECK([whether <sys/syscall.h> has __NR_tkill],
1062 gdb_cv_sys_syscall_h_has_tkill,
1064 [#include <sys/syscall.h>],
1065 [int i = __NR_tkill;],
1066 gdb_cv_sys_syscall_h_has_tkill=yes,
1067 gdb_cv_sys_syscall_h_has_tkill=no
1071 dnl See if we can issue tkill syscall.
1072 if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1073 AC_DEFINE(HAVE_TKILL_SYSCALL, 1, [Define if you support the tkill syscall.])
1076 dnl Handle optional features that can be enabled.
1078 AC_ARG_WITH(sysroot,
1079 [ --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
1081 case ${with_sysroot} in
1082 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
1083 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1086 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1088 if test "x$exec_prefix" = xNONE; then
1089 if test "x$prefix" = xNONE; then
1090 test_prefix=/usr/local
1095 test_prefix=$exec_prefix
1097 case ${TARGET_SYSTEM_ROOT} in
1098 "${test_prefix}"|"${test_prefix}/"*|\
1099 '${exec_prefix}'|'${exec_prefix}/'*)
1100 t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
1101 TARGET_SYSTEM_ROOT_DEFINE="$t"
1106 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1108 AC_SUBST(TARGET_SYSTEM_ROOT)
1109 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1111 # NOTE: Don't add -Wall or -Wunused, they both include
1112 # -Wunused-parameter which reports bogus warnings.
1113 # NOTE: If you add to this list, remember to update
1114 # gdb/doc/gdbint.texinfo.
1115 build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
1116 -Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral \
1117 -Wunused-label -Wunused-function"
1119 # GCC supports -Wuninitialized only with -O or -On, n != 0.
1120 if test x${CFLAGS+set} = xset; then
1124 build_warnings="${build_warnings} -Wuninitialized"
1128 build_warnings="${build_warnings} -Wuninitialized"
1131 # Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
1132 # -Wunused-function -Wunused-variable -Wunused-value
1133 # -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
1134 # -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
1135 # -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
1136 # -Woverloaded-virtual -Winline -Werror"
1137 AC_ARG_ENABLE(build-warnings,
1138 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
1139 [case "${enableval}" in
1141 no) build_warnings="-w";;
1142 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1143 build_warnings="${build_warnings} ${t}";;
1144 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1145 build_warnings="${t} ${build_warnings}";;
1146 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1148 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1149 echo "Setting compiler warning flags = $build_warnings" 6>&1
1151 AC_ARG_ENABLE(gdb-build-warnings,
1152 [ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
1153 [case "${enableval}" in
1155 no) build_warnings="-w";;
1156 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1157 build_warnings="${build_warnings} ${t}";;
1158 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1159 build_warnings="${t} ${build_warnings}";;
1160 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1162 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1163 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1167 if test "x${build_warnings}" != x -a "x$GCC" = xyes
1169 AC_MSG_CHECKING(compiler warning flags)
1170 # Separate out the -Werror flag as some files just cannot be
1171 # compiled with it enabled.
1172 for w in ${build_warnings}; do
1174 -Werr*) WERROR_CFLAGS=-Werror ;;
1175 *) # Check that GCC accepts it
1176 saved_CFLAGS="$CFLAGS"
1178 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1179 CFLAGS="$saved_CFLAGS"
1182 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
1184 AC_SUBST(WARN_CFLAGS)
1185 AC_SUBST(WERROR_CFLAGS)
1187 # In the Cygwin environment, we need some additional flags.
1188 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1189 [AC_EGREP_CPP(lose, [
1190 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
1192 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1195 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1196 SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1198 *go32* ) SER_HARDWIRE=ser-go32.o ;;
1199 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1200 *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o" ;;
1202 AC_SUBST(SER_HARDWIRE)
1204 # libreadline needs libuser32.a in a cygwin environment
1206 if test x$gdb_cv_os_cygwin = xyes; then
1207 WIN32LIBS="-luser32"
1209 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1214 # The ser-tcp.c module requires sockets.
1217 AC_DEFINE(USE_WIN32API, 1,
1218 [Define if we should use the Windows API, instead of the
1219 POSIX API. On Windows, we use the Windows API when
1220 building for MinGW, but the POSIX API when building
1222 WIN32LIBS="$WIN32LIBS -lws2_32"
1227 LIBGUI="../libgui/src/libgui.a"
1228 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1230 AC_SUBST(GUI_CFLAGS_X)
1234 AC_SUBST(WIN32LDAPP)
1246 if test "${enable_gdbtk}" = "yes"; then
1248 # Gdbtk must have an absolute path to srcdir in order to run
1249 # properly when not installed.
1255 CY_AC_PATH_TCLCONFIG
1256 if test -z "${no_tcl}"; then
1257 CY_AC_LOAD_TCLCONFIG
1260 # now look for Tcl library stuff
1262 tcldir="../tcl/${configdir}/"
1264 TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1266 # If $no_tk is nonempty, then we can't do Tk, and there is no
1267 # point to doing Tcl.
1268 if test -z "${no_tk}"; then
1276 # now look for Tk library stuff
1278 tkdir="../tk/${configdir}/"
1280 TK_DEPS="${tkdir}${TK_LIB_FILE}"
1282 # now look for Itcl library stuff
1284 CY_AC_PATH_ITCLCONFIG
1285 if test -z "${no_itcl}"; then
1286 CY_AC_LOAD_ITCLCONFIG
1288 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
1289 ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
1293 # now look for Itk library stuff
1294 CY_AC_PATH_ITKCONFIG
1295 if test -z "${no_itcl}"; then
1296 CY_AC_LOAD_ITKCONFIG
1298 ITKLIB="${ITK_BUILD_LIB_SPEC}"
1299 ITK_DEPS="${ITK_LIB_FULL_PATH}"
1302 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1304 # Include some libraries that Tcl and Tk want.
1305 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1306 # Yes, the ordering seems wrong here. But it isn't.
1307 # TK_LIBS is the list of libraries that need to be linked
1308 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1309 # were in LIBS then any link tests after this point would
1310 # try to include things like `$(LIBGUI)', which wouldn't work.
1311 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1313 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1314 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1315 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1316 CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1317 CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1318 CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1319 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1321 if test x$gdb_cv_os_cygwin = xyes; then
1322 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1323 WIN32LDAPP="-Wl,--subsystem,console"
1324 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1329 AC_CONFIG_SUBDIRS(gdbtk)
1342 AC_SUBST(GDBTK_CFLAGS)
1343 AC_SUBST(GDBTK_SRC_DIR)
1347 # Check whether we should enable the TUI, but only do so if we really
1349 if test x"$enable_tui" = xyes; then
1350 if test -d $srcdir/tui; then
1351 if test "$ac_cv_search_waddstr" != no; then
1352 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
1353 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
1354 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
1355 CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_TUI_INITS)"
1356 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
1357 CONFIG_ALL="${CONFIG_ALL} all-tui"
1358 CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
1359 CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
1360 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
1362 AC_MSG_WARN([no enhanced curses library found; disabling TUI])
1367 # Unlike the sim directory, whether a simulator is linked is controlled by
1368 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
1369 # This code just checks for a few cases where we'd like to ignore those
1370 # definitions, even when they're present in the '.mt' file. These cases
1371 # are when --disable-sim is specified, or if the simulator directory is
1372 # not part of the source tree.
1375 [ --enable-sim Link gdb with simulator],
1376 [echo "enable_sim = $enable_sim";
1377 echo "enableval = ${enableval}";
1378 case "${enableval}" in
1379 yes) ignore_sim=false ;;
1380 no) ignore_sim=true ;;
1381 *) ignore_sim=false ;;
1385 if test ! -d "${srcdir}/../sim"; then
1389 if test "${ignore_sim}" = "true"; then
1391 IGNORE_SIM_OBS="SIM_OBS="
1395 AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
1397 AC_SUBST(IGNORE_SIM)
1398 AC_SUBST(IGNORE_SIM_OBS)
1400 AC_SUBST(ENABLE_CFLAGS)
1401 AC_SUBST(PROFILE_CFLAGS)
1403 AC_SUBST(CONFIG_OBS)
1404 AC_SUBST(CONFIG_DEPS)
1405 AC_SUBST(CONFIG_SRCS)
1406 AC_SUBST(CONFIG_ALL)
1407 AC_SUBST(CONFIG_CLEAN)
1408 AC_SUBST(CONFIG_INSTALL)
1409 AC_SUBST(CONFIG_UNINSTALL)
1411 # List of host floatformats.
1412 AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
1413 AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
1414 AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
1416 # target_subdir is used by the testsuite to find the target libraries.
1418 if test "${host}" != "${target}"; then
1419 target_subdir="${target_alias}/"
1421 AC_SUBST(target_subdir)
1424 if test "${target}" = "${host}"; then
1425 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1426 if test ! -f ${host_makefile_frag}; then
1427 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1429 frags="$frags $host_makefile_frag"
1431 host_makefile_frag=/dev/null
1434 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1435 if test ! -f ${target_makefile_frag}; then
1436 AC_MSG_ERROR("*** Gdb does not support target ${target}")
1438 frags="$frags $target_makefile_frag"
1440 AC_SUBST_FILE(host_makefile_frag)
1441 AC_SUBST_FILE(target_makefile_frag)
1446 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1447 ' ${host_makefile_frag}`
1449 targetfile=`sed -n '
1450 s/DEPRECATED_TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1451 ' ${target_makefile_frag}`
1453 if test "${target}" = "${host}"; then
1454 # We pick this up from the host configuration file (.mh) because we
1455 # do not have a native configuration Makefile fragment.
1456 nativefile=`sed -n '
1457 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1458 ' ${host_makefile_frag}`
1462 if test x"${gdb_osabi}" != x ; then
1463 AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1464 [Define to the default OS ABI for this configuration.])
1467 # Enable multi-ice-gdb-server.
1468 AC_ARG_ENABLE(multi-ice,
1469 [ --enable-multi-ice build the multi-ice-gdb-server],
1473 *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1475 if test "x$enable_multi_ice" = xyes; then
1476 AC_CONFIG_SUBDIRS(multi-ice)
1479 # We only build gdbserver automatically if host and target are the same.
1480 if test "x$target" = "x$host"; then
1481 AC_MSG_CHECKING(whether gdbserver is supported on this host)
1482 if test "x$build_gdbserver" = xyes; then
1484 AC_CONFIG_SUBDIRS(gdbserver)
1490 # We build rdi-share on ARM-based targets, as instructed by configure.tgt.
1491 if test "x$build_rdi_share" = xyes; then
1492 AC_CONFIG_SUBDIRS(rdi-share)
1495 # We configure the nlm subdirectory on netware targets, as instructed
1497 if test "x$build_nlm" = xyes; then
1498 AC_CONFIG_SUBDIRS(nlm)
1501 # If hostfile (XM_FILE) and/or targetfile (DEPRECATED_TM_FILE) and/or
1502 # nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
1503 # to an empty version.
1510 if test "${hostfile}" != ""; then
1512 case "${hostfile}" in
1513 xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}" ;;
1514 * ) GDB_XM_FILE="${hostfile}"
1516 files="${files} ${GDB_XM_FILE}"
1517 links="${links} xm.h"
1518 AC_DEFINE_UNQUOTED(GDB_XM_FILE, "${GDB_XM_FILE}", [hostfile])
1524 if test "${targetfile}" != ""; then
1526 case "${targetfile}" in
1527 tm-*.h ) GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}" ;;
1528 * ) GDB_TM_FILE="${targetfile}"
1530 files="${files} ${GDB_TM_FILE}"
1531 links="${links} tm.h"
1532 AC_DEFINE_UNQUOTED(GDB_TM_FILE, "${GDB_TM_FILE}", [targetfile])
1538 if test "${nativefile}" != ""; then
1540 case "${nativefile}" in
1541 nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
1542 * ) GDB_NM_FILE="${nativefile}"
1544 files="${files} ${GDB_NM_FILE}"
1545 links="${links} nm.h"
1546 AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
1550 AC_LINK_FILES($files, $links)
1552 dnl Check for exe extension set on certain hosts (e.g. Win32)
1555 dnl Detect the character set used by this host.
1557 dnl At the moment, we just assume it's ISO-8859-1 (which is a
1558 dnl superset of ASCII containing the characters needed for French,
1559 dnl German, Spanish, Italian, and possibly others), but if were
1560 dnl *were* to support any host character sets other than ISO-8859-1,
1561 dnl here's where we'd detect it.
1562 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1563 [Define to be a string naming the default host character set.])
1567 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1569 dnl Autoconf doesn't provide a mechanism for modifying definitions
1570 dnl provided by makefile fragments.
1574 sed -e '/^DEPRECATED_TM_FILE[ ]*=/s,^DEPRECATED_TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
1575 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1576 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1577 mv -f Makefile.tmp Makefile
1581 case x$CONFIG_HEADERS in
1582 xconfig.h:config.in)
1587 gdb_host_cpu=$gdb_host_cpu
1588 gdb_target_cpu=$gdb_target_cpu
1589 nativefile=$nativefile