1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4 dnl Free Software Foundation, Inc.
6 dnl This file is part of GDB.
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 2 of the License, or
11 dnl (at your option) any later version.
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.
18 dnl You should have received a copy of the GNU General Public License
19 dnl along with this program; if not, write to the Free Software
20 dnl Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 dnl Boston, MA 02110-1301, USA.
23 dnl Process this file with autoconf to produce a configure script.
27 AC_CONFIG_HEADER(config.h:config.in)
36 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
39 dnl List of object files and targets accumulated by configure.
51 dnl Set up for gettext.
52 ZW_GNU_GETTEXT_SISTER_DIR
54 localedir='${datadir}/locale'
57 if test x"$USE_NLS" = xyes; then
58 CONFIG_ALL="$CONFIG_ALL all-po"
59 CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
60 CONFIG_INSTALL="$CONFIG_INSTALL install-po"
61 CONFIG_UNINSTALL="$CONFIG_UNINSTALL uninstall-po"
65 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
68 debugdir=${libdir}/debug
70 AC_ARG_WITH(separate-debug-dir,
71 [ --with-separate-debug-dir=path Look for global separate debug info in this path [LIBDIR/debug]],
72 [debugdir="${withval}"])
74 AC_DEFINE_DIR(DEBUGDIR, debugdir,
75 [Global directory for separate debug files. ])
76 #AC_DEFINE_UNQUOTED(DEBUGDIR, "$debugdir"),
78 AC_CONFIG_SUBDIRS(doc testsuite)
80 # Provide defaults for some variables set by the per-host and per-target
82 gdb_host_obs=posix-hdep.o
84 . $srcdir/configure.host
86 . $srcdir/configure.tgt
88 # Fetch the default architecture and default target vector from BFD.
89 targ=$target; . $srcdir/../bfd/config.bfd
91 # We only want the first architecture, so strip off the others if
92 # there is more than one.
93 targ_archs=`echo $targ_archs | sed 's/ .*//'`
95 if test "x$targ_archs" != x; then
96 AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
97 [Define to BFD's default architecture. ])
99 if test "x$targ_defvec" != x; then
100 AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
101 [Define to BFD's default target vector. ])
106 # The CLI cannot be disabled yet, but may be in the future.
109 AC_ARG_ENABLE(gdbcli,
110 [ --disable-gdbcli disable command-line interface (CLI)],
115 AC_MSG_ERROR([the command-line interface cannot be disabled yet]) ;;
117 AC_MSG_ERROR([bad value $enableval for --enable-gdbcli]) ;;
120 if test x"$enable_gdbcli" = xyes; then
121 if test -d $srcdir/cli; then
122 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_CLI_OBS)"
123 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_CLI_DEPS)"
124 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_CLI_SRCS)"
125 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_CLI_CFLAGS)"
131 [ --disable-gdbmi disable machine-interface (MI)],
136 AC_MSG_ERROR([bad value $enableval for --enable-gdbmi]) ;;
139 if test x"$enable_gdbmi" = xyes; then
140 if test -d $srcdir/mi; then
141 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
142 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
143 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
144 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)"
150 [ --enable-tui enable full-screen terminal user interface (TUI)],
155 AC_MSG_ERROR([bad value $enableval for --enable-tui]) ;;
156 esac],enable_tui=yes)
160 [ --enable-gdbtk enable gdbtk graphical user interface (GUI)],
165 AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;;
167 [if test -d $srcdir/gdbtk -a -d $srcdir/../itcl; then
172 # We unconditionally disable gdbtk tests on selected platforms.
175 AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
180 AC_ARG_WITH(libunwind,
181 [ --with-libunwind Use libunwind frame unwinding support],
182 [case "${withval}" in
183 yes) enable_libunwind=yes ;;
184 no) enable_libunwind=no ;;
185 *) AC_MSG_ERROR(bad value ${withval} for GDB with-libunwind option) ;;
187 AC_CHECK_HEADERS(libunwind.h)
188 AC_CHECK_HEADERS(libunwind-ia64.h)
189 if test x"$ac_cv_header_libunwind_h" = xyes -a x"$ac_cv_header_libunwind_ia64_h" = xyes; then
190 enable_libunwind=yes;
194 if test x"$enable_libunwind" = xyes; then
195 AC_CHECK_HEADERS(libunwind.h)
196 AC_CHECK_HEADERS(libunwind-ia64.h)
197 AC_DEFINE(HAVE_LIBUNWIND, 1, [Define if libunwind library is being used.])
198 CONFIG_OBS="$CONFIG_OBS libunwind-frame.o"
199 CONFIG_DEPS="$CONFIG_DEPS libunwind-frame.o"
200 CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
204 AC_ARG_ENABLE(profiling,
205 [ --enable-profiling enable profiling of GDB],
210 AC_MSG_ERROR([bad value $enableval for --enable-profile]) ;;
212 [enable_profiling=no])
214 AC_CHECK_FUNCS(monstartup _mcleanup)
215 AC_CACHE_CHECK([for _etext], ac_cv_var__etext,
220 [free (&_etext);], ac_cv_var__etext=yes, ac_cv_var__etext=no)])
221 if test $ac_cv_var__etext = yes; then
222 AC_DEFINE(HAVE__ETEXT, 1,
223 [Define to 1 if your system has the _etext variable. ])
225 if test "$enable_profiling" = yes ; then
226 if test $ac_cv_func_monstartup = no || test $ac_cv_func__mcleanup = no; then
227 AC_MSG_ERROR(--enable-profiling requires monstartup and _mcleanup)
231 CFLAGS="$CFLAGS $PROFILE_CFLAGS"
233 AC_CACHE_CHECK([whether $CC supports -pg], ac_cv_cc_supports_pg,
234 [AC_TRY_COMPILE([], [int x;], ac_cv_cc_supports_pg=yes,
235 ac_cv_cc_supports_pg=no)])
237 if test $ac_cv_cc_supports_pg = no; then
238 AC_MSG_ERROR(--enable-profiling requires a compiler which supports -pg)
244 # --------------------- #
245 # Checks for programs. #
246 # --------------------- #
254 AC_CHECK_TOOL(AR, ar)
255 AC_CHECK_TOOL(DLLTOOL, dlltool)
256 AC_CHECK_TOOL(WINDRES, windres)
258 # Needed for GNU/Hurd.
259 AC_CHECK_TOOL(MIG, mig)
261 # ---------------------- #
262 # Checks for libraries. #
263 # ---------------------- #
265 # We might need to link with -lm; most simulators need it.
266 AC_CHECK_LIB(m, main)
268 # We need to link with -lw to get `wctype' on Solaris before Solaris
269 # 2.6. Solaris 2.6 and beyond have this function in libc, and have a
270 # libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
271 # is known to have this problem). Therefore we avoid libw if we can.
272 AC_CHECK_FUNC(wctype, [],
273 [AC_CHECK_LIB(w, wctype)])
275 # Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
276 AC_SEARCH_LIBS(gethostbyname, nsl)
278 # Some systems (e.g. Solaris) have `socketpair' in libsocket.
279 AC_SEARCH_LIBS(socketpair, socket)
281 # For the TUI, we need enhanced curses functionality.
283 # FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied
284 # curses library because the latter might not provide all the
285 # functionality we need. However, this leads to problems on systems
286 # where the linker searches /usr/local/lib, but the compiler doesn't
287 # search /usr/local/include, if ncurses is installed in /usr/local. A
288 # default installation of ncurses on alpha*-dec-osf* will lead to such
290 AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses])
292 # Since GDB uses Readline, we need termcap functionality. In many
293 # cases this will be provided by the curses library, but some systems
294 # have a seperate termcap library, or no curses library at all.
298 if test -d $srcdir/libtermcap; then
299 LIBS="../libtermcap/libtermcap.a $LIBS"
300 ac_cv_search_tgetent="../libtermcap/libtermcap.a"
303 ac_cv_search_tgetent="none required"
306 ac_cv_search_tgetent="none required"
307 CONFIG_OBS="$CONFIG_OBS win32-termcap.o"
311 # These are the libraries checked by Readline.
312 AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses])
314 if test "$ac_cv_search_tgetent" = no; then
315 AC_MSG_ERROR([no termcap library found])
318 AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
319 [XML_Parser p = XML_ParserCreate (0);])
320 if test "$HAVE_LIBEXPAT" != yes; then
321 AC_MSG_WARN([expat is missing or unusable; some features may be disabled.])
324 # ------------------------- #
325 # Checks for header files. #
326 # ------------------------- #
331 AC_CHECK_HEADERS(nlist.h)
332 AC_CHECK_HEADERS(link.h, [], [],
333 [#if HAVE_SYS_TYPES_H
334 # include <sys/types.h>
340 AC_CHECK_HEADERS(machine/reg.h)
341 AC_CHECK_HEADERS(poll.h sys/poll.h)
342 AC_CHECK_HEADERS(proc_service.h thread_db.h gnu/libc-version.h)
343 AC_CHECK_HEADERS(stddef.h)
344 AC_CHECK_HEADERS(stdlib.h)
345 AC_CHECK_HEADERS(stdint.h)
346 AC_CHECK_HEADERS(string.h memory.h strings.h)
347 AC_CHECK_HEADERS(sys/fault.h)
348 AC_CHECK_HEADERS(sys/file.h)
349 AC_CHECK_HEADERS(sys/filio.h)
350 AC_CHECK_HEADERS(sys/ioctl.h)
351 AC_CHECK_HEADERS(sys/param.h)
352 AC_CHECK_HEADERS(sys/proc.h, [], [],
353 [#if HAVE_SYS_PARAM_H
354 # include <sys/param.h>
357 AC_CHECK_HEADERS(sys/procfs.h)
358 AC_CHECK_HEADERS(sys/ptrace.h ptrace.h)
359 AC_CHECK_HEADERS(sys/reg.h sys/debugreg.h)
360 AC_CHECK_HEADERS(sys/select.h)
361 AC_CHECK_HEADERS(sys/syscall.h)
362 AC_CHECK_HEADERS(sys/types.h)
363 AC_CHECK_HEADERS(sys/user.h, [], [],
364 [#if HAVE_SYS_PARAM_H
365 # include <sys/param.h>
368 AC_CHECK_HEADERS(sys/wait.h wait.h)
369 AC_CHECK_HEADERS(termios.h termio.h sgtty.h)
370 AC_CHECK_HEADERS(unistd.h)
372 # On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
373 # between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
374 # think that we don't have <curses.h> if we're using GCC.
377 if test "$GCC" = yes; then
378 AC_DEFINE(_MSE_INT_H, 1,
379 [Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
380 Solaris 2.[789] when using GCC. ])
383 AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h)
384 AC_CHECK_HEADERS(ncurses/term.h)
385 AC_CHECK_HEADERS(term.h, [], [],
391 # FIXME: kettenis/20030102: In most cases we include these
392 # unconditionally, so what's the point in checking these?
393 AC_CHECK_HEADERS(ctype.h time.h)
395 # Create a header we can use portably to get the standard integer types.
396 GCC_HEADER_STDINT(gdb_stdint.h)
398 # ------------------------- #
399 # Checks for declarations. #
400 # ------------------------- #
402 AC_CHECK_DECLS([free, malloc, realloc])
403 AC_CHECK_DECLS([strerror, strstr])
404 AC_CHECK_DECLS([getopt, snprintf, vsnprintf])
406 # ----------------------- #
407 # Checks for structures. #
408 # ----------------------- #
410 AC_CHECK_MEMBERS([struct stat.st_blocks])
411 AC_CHECK_MEMBERS([struct stat.st_blksize])
413 # ------------------ #
414 # Checks for types. #
415 # ------------------ #
418 AC_CHECK_TYPES(socklen_t, [], [],
419 [#include <sys/types.h>
420 #include <sys/socket.h>
422 AC_CHECK_TYPES(uintptr_t, [], [], [#include <stdint.h>])
424 # ------------------------------------- #
425 # Checks for compiler characteristics. #
426 # ------------------------------------- #
431 # ------------------------------ #
432 # Checks for library functions. #
433 # ------------------------------ #
438 AC_CHECK_FUNCS(canonicalize_file_name realpath)
439 AC_CHECK_FUNCS(getuid getgid)
441 AC_CHECK_FUNCS(pread64)
443 AC_CHECK_FUNCS(setpgid setpgrp)
444 AC_CHECK_FUNCS(sigaction sigprocmask sigsetmask)
445 AC_CHECK_FUNCS(socketpair)
446 AC_CHECK_FUNCS(syscall)
447 AC_CHECK_FUNCS(ttrace)
448 AC_CHECK_FUNCS(wborder)
450 # Check the return and argument types of ptrace. No canned test for
451 # this, so roll our own.
454 # include <sys/types.h>
456 #if HAVE_SYS_PTRACE_H
457 # include <sys/ptrace.h>
463 # There is no point in checking if we don't have a prototype.
464 AC_CHECK_DECLS(ptrace, [], [
465 : ${gdb_cv_func_ptrace_ret='int'}
466 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
467 ], $gdb_ptrace_headers)
469 AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
470 AC_TRY_COMPILE($gdb_ptrace_headers,
471 [extern int ptrace ();],
472 gdb_cv_func_ptrace_ret='int',
473 gdb_cv_func_ptrace_ret='long'))
474 AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
475 [Define as the return type of ptrace.])
476 # Check argument types.
477 AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
478 for gdb_arg1 in 'int' 'long'; do
479 for gdb_arg2 in 'pid_t' 'int' 'long'; do
480 for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long'; do
481 for gdb_arg4 in 'int' 'long'; do
482 AC_TRY_COMPILE($gdb_ptrace_headers, [
483 extern $gdb_cv_func_ptrace_ret
484 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
485 ], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
487 for gdb_arg5 in 'int *' 'int' 'long'; do
488 AC_TRY_COMPILE($gdb_ptrace_headers, [
489 extern $gdb_cv_func_ptrace_ret
490 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
492 gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
499 # Provide a safe default value.
500 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
502 ac_save_IFS=$IFS; IFS=','
503 set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
506 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
507 [Define to the type of arg 3 for ptrace.])
508 if test -n "$[5]"; then
509 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
510 [Define to the type of arg 5 for ptrace.])
513 dnl AC_FUNC_SETPGRP does not work when cross compiling
514 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
515 if test "$cross_compiling" = no; then
518 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
522 if (setpgrp(1,1) == -1)
526 ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
527 if test $ac_cv_func_setpgrp_void = yes; then
528 AC_DEFINE(SETPGRP_VOID, 1)
532 # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
533 # since sigsetjmp might only be defined as a macro.
534 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
537 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
538 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
539 if test $gdb_cv_func_sigsetjmp = yes; then
540 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
543 # Assume we'll default to using the included libiberty regex.
544 gdb_use_included_regex=yes
546 # However, if the system regex is GNU regex, then default to *not*
547 # using the included regex.
550 [gdb_cv_have_gnu_regex],
552 [#include <gnu-versions.h>],
553 [#define REGEX_INTERFACE_VERSION 1
554 #if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
555 # error "Version mismatch"
557 gdb_cv_have_gnu_regex=yes,
558 gdb_cv_have_gnu_regex=no)])
559 if test $gdb_cv_have_gnu_regex = yes; then
560 gdb_use_included_regex=no
563 AC_ARG_WITH(included-regex,
564 [ --without-included-regex don't use included regex; this is the default
565 on systems with version 2 of the GNU C library
566 (use with caution on other system)],
567 gdb_with_regex=$withval,
568 gdb_with_regex=$gdb_use_included_regex)
569 if test "$gdb_with_regex" = yes; then
570 AC_DEFINE(USE_INCLUDED_REGEX, 1,
571 [Define to 1 if the regex included in libiberty should be used.])
574 # Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
575 AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
576 [#include <sys/param.h>
577 #include <sys/proc.h>
580 # See if <sys/lwp.h> defines `struct lwp`.
581 AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
582 [AC_TRY_COMPILE([#include <sys/param.h>
583 #include <sys/lwp.h>], [struct lwp l;],
584 gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
585 if test $gdb_cv_struct_lwp = yes; then
586 AC_DEFINE(HAVE_STRUCT_LWP, 1,
587 [Define to 1 if your system has struct lwp.])
590 # See if <machine/reg.h> degines `struct reg'.
591 AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
592 [AC_TRY_COMPILE([#include <sys/types.h>
593 #include <machine/reg.h>], [struct reg r;],
594 gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
595 if test $gdb_cv_struct_reg = yes; then
596 AC_DEFINE(HAVE_STRUCT_REG, 1,
597 [Define to 1 if your system has struct reg in <machine/reg.h>.])
600 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
601 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
602 AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
603 [#include <machine/reg.h>])
605 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
606 AC_MSG_CHECKING(for PTRACE_GETREGS)
607 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
608 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
610 [gdb_cv_have_ptrace_getregs=yes],
611 [gdb_cv_have_ptrace_getregs=no])])
612 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
613 if test $gdb_cv_have_ptrace_getregs = yes; then
614 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
615 [Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
618 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
619 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
620 AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
621 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
622 [PTRACE_GETFPXREGS;],
623 [gdb_cv_have_ptrace_getfpxregs=yes],
624 [gdb_cv_have_ptrace_getfpxregs=no])])
625 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
626 if test $gdb_cv_have_ptrace_getfpxregs = yes; then
627 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
628 [Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
631 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
632 AC_MSG_CHECKING(for PT_GETDBREGS)
633 AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
634 [AC_TRY_COMPILE([#include <sys/types.h>
635 #include <sys/ptrace.h>],
637 [gdb_cv_have_pt_getdbregs=yes],
638 [gdb_cv_have_pt_getdbregs=no])])
639 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
640 if test $gdb_cv_have_pt_getdbregs = yes; then
641 AC_DEFINE(HAVE_PT_GETDBREGS, 1,
642 [Define if sys/ptrace.h defines the PT_GETDBREGS request.])
645 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
646 AC_MSG_CHECKING(for PT_GETXMMREGS)
647 AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
648 [AC_TRY_COMPILE([#include <sys/types.h>
649 #include <sys/ptrace.h>],
651 [gdb_cv_have_pt_getxmmregs=yes],
652 [gdb_cv_have_pt_getxmmregs=no])])
653 AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
654 if test $gdb_cv_have_pt_getxmmregs = yes; then
655 AC_DEFINE(HAVE_PT_GETXMMREGS, 1,
656 [Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
659 # If we are configured native on GNU/Linux, work around problems with
661 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
663 if test "${target}" = "${host}"; then
665 i[[3456]]86-*-linux*)
666 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED, 2,
667 [Define on a GNU/Linux system to work around problems in sys/procfs.h.])
668 AC_DEFINE(sys_quotactl, 1,
669 [Define on a GNU/Linux system to work around problems in sys/procfs.h.])
671 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
672 AC_DEFINE(NEW_PROC_API, 1,
673 [Define if you want to use new multi-fd /proc interface
674 (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
676 *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]])
677 AC_DEFINE(NEW_PROC_API, 1,
678 [Define if you want to use new multi-fd /proc interface
679 (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
682 # Work around <sys/proc.h> needing _KMEMUSER problem on IRIX 5.
683 AC_DEFINE([_KMEMUSER], 1,
684 [Define to 1 so <sys/proc.h> gets a definition of anon_hdl. Works
685 around a <sys/proc.h> problem on IRIX 5.])
690 if test "$ac_cv_header_sys_procfs_h" = yes; then
691 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
692 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
693 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
694 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
695 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
696 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
697 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
698 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
699 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
700 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
701 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
702 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
703 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
704 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
707 dnl Check for broken prfpregset_t type
709 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
710 dnl prfpregset_t type (it's a typedef for the pointer to a struct
711 dnl instead of the struct itself). We detect this here, and work
712 dnl around it in gdb_proc_service.h.
714 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
715 AC_MSG_CHECKING(whether prfpregset_t type is broken)
716 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
717 [AC_TRY_RUN([#include <sys/procfs.h>
720 if (sizeof (prfpregset_t) == sizeof (void *))
724 gdb_cv_prfpregset_t_broken=no,
725 gdb_cv_prfpregset_t_broken=yes,
726 gdb_cv_prfpregset_t_broken=yes)])
727 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
728 if test $gdb_cv_prfpregset_t_broken = yes; then
729 AC_DEFINE(PRFPREGSET_T_BROKEN, 1,
730 [Define if the prfpregset_t type is broken.])
734 dnl Check for PIOCSET ioctl entry
736 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
737 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
738 [AC_TRY_COMPILE([#include <unistd.h>
739 #include <sys/types.h>
740 #include <sys/procfs.h>
743 dummy = ioctl(0, PIOCSET, &dummy);
745 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
746 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
747 if test $gdb_cv_have_procfs_piocset = yes; then
748 AC_DEFINE(HAVE_PROCFS_PIOCSET, 1,
749 [Define if ioctl argument PIOCSET is available.])
753 dnl For native ports (host == target), check to see what kind of
754 dnl legacy link.h support is needed. (See solib-legacy.c.)
755 if test ${host} = ${target} ; then
756 dnl Check for struct link_map with l_ members which are indicative
757 dnl of SVR4-like shared libraries
759 AC_MSG_CHECKING(for member l_addr in struct link_map)
760 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
761 [AC_TRY_COMPILE([#include <link.h>],
762 [struct link_map lm; (void) lm.l_addr;],
763 gdb_cv_have_struct_link_map_with_l_members=yes,
764 gdb_cv_have_struct_link_map_with_l_members=no)])
765 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
766 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
767 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS,1,
768 [Define if <link.h> exists and defines struct link_map which has
769 members with an ``l_'' prefix. (For Solaris, SVR4, and
770 SVR4-like systems.)])
773 dnl Check for struct link_map with lm_ members which are indicative
774 dnl of SunOS-like shared libraries
776 AC_MSG_CHECKING(for member lm_addr in struct link_map)
777 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
778 [AC_TRY_COMPILE([#include <sys/types.h>
780 [struct link_map lm; (void) lm.lm_addr;],
781 gdb_cv_have_struct_link_map_with_lm_members=yes,
782 gdb_cv_have_struct_link_map_with_lm_members=no)])
783 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
784 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
785 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS, 1,
786 [Define if <link.h> exists and defines struct link_map which has
787 members with an ``lm_'' prefix. (For SunOS.)])
790 dnl Check for struct so_map with som_ members which are found on
791 dnl some *BSD systems.
793 AC_MSG_CHECKING(for member som_addr in struct so_map)
794 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
795 [AC_TRY_COMPILE([#include <sys/types.h>
800 [struct so_map lm; (void) lm.som_addr;],
801 gdb_cv_have_struct_so_map_with_som_members=yes,
802 gdb_cv_have_struct_so_map_with_som_members=no)])
803 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
804 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
805 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS, 1,
806 [Define if <link.h> exists and defines a struct so_map which has
807 members with an ``som_'' prefix. (Found on older *BSD systems.)])
810 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
811 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
813 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
814 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
815 [AC_TRY_COMPILE([#define _SYSCALL32
816 #include <sys/link.h>], [struct link_map32 l;],
817 gdb_cv_have_struct_link_map32=yes,
818 gdb_cv_have_struct_link_map32=no)])
819 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
820 if test $gdb_cv_have_struct_link_map32 = yes; then
821 AC_DEFINE(HAVE_STRUCT_LINK_MAP32, 1,
822 [Define if <sys/link.h> has struct link_map32])
823 AC_DEFINE(_SYSCALL32, 1,
824 [Define if <sys/link.h> has link_map32 (solaris sparc-64 target)])
828 # Check if the compiler supports the `long long' type.
830 AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
831 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
832 [[extern long long foo;]],
833 [[switch (foo & 2) { case 0: return 1; }]])],
834 gdb_cv_c_long_long=yes,
835 gdb_cv_c_long_long=no)])
836 if test $gdb_cv_c_long_long = yes; then
837 AC_DEFINE(CC_HAS_LONG_LONG, 1,
838 [Define to 1 if the compiler supports long long.])
841 # Check if the compiler and runtime support printing long longs.
843 AC_CACHE_CHECK([for long long support in printf],
844 gdb_cv_printf_has_long_long,
845 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
848 l = (l << 16) + 0x0123;
849 l = (l << 16) + 0x4567;
850 l = (l << 16) + 0x89ab;
851 l = (l << 16) + 0xcdef;
852 sprintf (buf, "0x%016llx", l);
853 return (strcmp ("0x0123456789abcdef", buf));]])],
854 gdb_cv_printf_has_long_long=yes,
855 gdb_cv_printf_has_long_long=no,
856 gdb_cv_printf_has_long_long=no)])
857 if test $gdb_cv_printf_has_long_long = yes; then
858 AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
859 [Define to 1 if the "%ll" format works to print long longs.])
862 # Check if the compiler supports the `long double' type. We can't use
863 # AC_C_LONG_DOUBLE because that one does additional checks on the
864 # constants defined in <float.h> that fail on some systems,
865 # e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
867 AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
868 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
869 gdb_cv_c_long_double=yes,
870 gdb_cv_c_long_double=no)])
871 if test $gdb_cv_c_long_double = yes; then
872 AC_DEFINE(HAVE_LONG_DOUBLE, 1,
873 [Define to 1 if the compiler supports long double.])
876 # Check if the compiler and runtime support printing long doubles.
878 AC_CACHE_CHECK([for long double support in printf],
879 gdb_cv_printf_has_long_double,
880 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
882 long double f = 3.141592653;
883 sprintf (buf, "%Lg", f);
884 return (strncmp ("3.14159", buf, 7));]])],
885 gdb_cv_printf_has_long_double=yes,
886 gdb_cv_printf_has_long_double=no,
887 gdb_cv_printf_has_long_double=no)])
888 if test $gdb_cv_printf_has_long_double = yes; then
889 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
890 [Define to 1 if the "%Lg" format works to print long doubles.])
893 # Check if the compiler and runtime support scanning long doubles.
895 AC_CACHE_CHECK([for long double support in scanf],
896 gdb_cv_scanf_has_long_double,
897 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
898 [[#include <stdio.h>]],
899 [[char *buf = "3.141592653";
901 sscanf (buf, "%Lg", &f);
902 return !(f > 3.14159 && f < 3.14160);]])],
903 gdb_cv_scanf_has_long_double=yes,
904 gdb_cv_scanf_has_long_double=no,
905 gdb_cv_scanf_has_long_double=no)])
906 if test $gdb_cv_scanf_has_long_double = yes; then
907 AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
908 [Define to 1 if the "%Lg" format works to scan long doubles.])
913 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
914 SAVE_LDFLAGS=$LDFLAGS
917 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
918 *) gdb_cv_bigtoc=-bbigtoc ;;
921 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
922 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
923 LDFLAGS="${SAVE_LDFLAGS}"
925 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
930 dnl For certain native configurations, we need to check whether thread
931 dnl support can be built in or not.
933 dnl Note that we only want this if we are both native (host == target),
934 dnl and not doing a canadian cross build (build == host).
936 if test ${build} = ${host} -a ${host} = ${target} ; then
939 AC_MSG_CHECKING(for HPUX/OSF thread support)
940 if test -f /usr/include/dce/cma_config.h ; then
941 if test "$GCC" = "yes" ; then
943 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT, 1,
944 [Define if you have HPUX threads])
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, 1,
963 [Define if using Solaris thread debugging.])
964 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
965 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
966 AC_CHECK_LIB(dl, dlopen)
967 if test "$GCC" = "yes" ; then
968 # The GNU linker requires the -export-dynamic option to make
969 # all symbols visible in the dynamic symbol table.
970 hold_ldflags=$LDFLAGS
971 AC_MSG_CHECKING(for the ld -export-dynamic flag)
972 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
973 AC_TRY_LINK(, [int i;], found=yes, found=no)
974 LDFLAGS=$hold_ldflags
975 AC_MSG_RESULT($found)
976 if test $found = yes; then
977 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
980 # Sun randomly tweaked the prototypes in <proc_service.h>
982 AC_MSG_CHECKING(if <proc_service.h> is old)
983 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
985 #include <proc_service.h>
987 (struct ps_prochandle*, psaddr_t, const void*, size_t);
988 ],, gdb_cv_proc_service_is_old=no,
989 gdb_cv_proc_service_is_old=yes)
991 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
992 if test $gdb_cv_proc_service_is_old = yes; then
993 AC_DEFINE(PROC_SERVICE_IS_OLD, 1,
994 [Define if <proc_service.h> on solaris uses int instead of
995 size_t, and assorted other type changes.])
1002 AC_MSG_CHECKING(for AiX thread debugging library)
1003 AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
1004 [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
1005 [#ifndef PTHDB_VERSION_3
1008 gdb_cv_have_aix_thread_debug=yes,
1009 gdb_cv_have_aix_thread_debug=no)])
1010 AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1011 if test $gdb_cv_have_aix_thread_debug = yes; then
1012 CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1013 CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1014 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1018 AC_SUBST(CONFIG_LDFLAGS)
1021 dnl See if we have a thread_db header file that has TD_NOTALLOC.
1022 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1023 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
1024 gdb_cv_thread_db_h_has_td_notalloc,
1026 [#include <thread_db.h>],
1027 [int i = TD_NOTALLOC;],
1028 gdb_cv_thread_db_h_has_td_notalloc=yes,
1029 gdb_cv_thread_db_h_has_td_notalloc=no
1033 if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1034 AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1035 [Define if <thread_db.h> has the TD_NOTALLOC error code.])
1038 dnl See if we have a sys/syscall header file that has __NR_tkill.
1039 if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1040 AC_CACHE_CHECK([whether <sys/syscall.h> has __NR_tkill],
1041 gdb_cv_sys_syscall_h_has_tkill,
1043 [#include <sys/syscall.h>],
1044 [int i = __NR_tkill;],
1045 gdb_cv_sys_syscall_h_has_tkill=yes,
1046 gdb_cv_sys_syscall_h_has_tkill=no
1050 dnl See if we can issue tkill syscall.
1051 if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1052 AC_DEFINE(HAVE_TKILL_SYSCALL, 1, [Define if you support the tkill syscall.])
1055 dnl Handle optional features that can be enabled.
1057 AC_ARG_WITH(sysroot,
1058 [ --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
1060 case ${with_sysroot} in
1061 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
1062 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1065 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1067 if test "x$exec_prefix" = xNONE; then
1068 if test "x$prefix" = xNONE; then
1069 test_prefix=/usr/local
1074 test_prefix=$exec_prefix
1076 case ${TARGET_SYSTEM_ROOT} in
1077 "${test_prefix}"|"${test_prefix}/"*|\
1078 '${exec_prefix}'|'${exec_prefix}/'*)
1079 t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
1080 TARGET_SYSTEM_ROOT_DEFINE="$t"
1085 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1087 AC_SUBST(TARGET_SYSTEM_ROOT)
1088 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1090 AC_ARG_ENABLE(werror,
1091 [ --enable-werror treat compile warnings as errors],
1092 [case "${enableval}" in
1093 yes | y) ERROR_ON_WARNING="yes" ;;
1094 no | n) ERROR_ON_WARNING="no" ;;
1095 *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
1098 # Enable -Werror by default when using gcc
1099 if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
1100 ERROR_ON_WARNING=yes
1104 if test "${ERROR_ON_WARNING}" = yes ; then
1105 WERROR_CFLAGS="-Werror"
1108 # NOTE: Don't add -Wall or -Wunused, they both include
1109 # -Wunused-parameter which reports bogus warnings.
1110 # NOTE: If you add to this list, remember to update
1111 # gdb/doc/gdbint.texinfo.
1112 build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
1113 -Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral \
1114 -Wunused-label -Wunused-function -Wno-pointer-sign"
1116 # GCC supports -Wuninitialized only with -O or -On, n != 0.
1117 if test x${CFLAGS+set} = xset; then
1121 build_warnings="${build_warnings} -Wuninitialized"
1125 build_warnings="${build_warnings} -Wuninitialized"
1128 # Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
1129 # -Wunused-function -Wunused-variable -Wunused-value
1130 # -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
1131 # -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
1132 # -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
1133 # -Woverloaded-virtual -Winline -Werror"
1134 AC_ARG_ENABLE(build-warnings,
1135 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
1136 [case "${enableval}" in
1138 no) build_warnings="-w";;
1139 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1140 build_warnings="${build_warnings} ${t}";;
1141 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1142 build_warnings="${t} ${build_warnings}";;
1143 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1145 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1146 echo "Setting compiler warning flags = $build_warnings" 6>&1
1148 AC_ARG_ENABLE(gdb-build-warnings,
1149 [ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
1150 [case "${enableval}" in
1152 no) build_warnings="-w";;
1153 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1154 build_warnings="${build_warnings} ${t}";;
1155 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1156 build_warnings="${t} ${build_warnings}";;
1157 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1159 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1160 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1163 if test "x${build_warnings}" != x -a "x$GCC" = xyes
1165 AC_MSG_CHECKING(compiler warning flags)
1166 # Separate out the -Werror flag as some files just cannot be
1167 # compiled with it enabled.
1168 for w in ${build_warnings}; do
1170 -Werr*) WERROR_CFLAGS=-Werror ;;
1171 *) # Check that GCC accepts it
1172 saved_CFLAGS="$CFLAGS"
1174 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1175 CFLAGS="$saved_CFLAGS"
1178 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
1180 AC_SUBST(WARN_CFLAGS)
1181 AC_SUBST(WERROR_CFLAGS)
1183 # In the Cygwin environment, we need some additional flags.
1184 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1185 [AC_EGREP_CPP(lose, [
1186 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
1188 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1191 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1192 SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1194 *go32* ) SER_HARDWIRE=ser-go32.o ;;
1195 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1196 *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
1198 AC_SUBST(SER_HARDWIRE)
1200 # libreadline needs libuser32.a in a cygwin environment
1202 if test x$gdb_cv_os_cygwin = xyes; then
1203 WIN32LIBS="-luser32"
1205 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1210 # The ser-tcp.c module requires sockets.
1213 AC_DEFINE(USE_WIN32API, 1,
1214 [Define if we should use the Windows API, instead of the
1215 POSIX API. On Windows, we use the Windows API when
1216 building for MinGW, but the POSIX API when building
1218 WIN32LIBS="$WIN32LIBS -lws2_32"
1223 # Add any host-specific objects to GDB.
1224 CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
1226 LIBGUI="../libgui/src/libgui.a"
1227 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1229 AC_SUBST(GUI_CFLAGS_X)
1233 AC_SUBST(WIN32LDAPP)
1245 if test "${enable_gdbtk}" = "yes"; then
1247 # Gdbtk must have an absolute path to srcdir in order to run
1248 # properly when not installed.
1254 CY_AC_PATH_TCLCONFIG
1255 if test -z "${no_tcl}"; then
1256 CY_AC_LOAD_TCLCONFIG
1259 # now look for Tcl library stuff
1261 tcldir="../tcl/${configdir}/"
1263 TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1265 # If $no_tk is nonempty, then we can't do Tk, and there is no
1266 # point to doing Tcl.
1267 if test -z "${no_tk}"; then
1275 # now look for Tk library stuff
1277 tkdir="../tk/${configdir}/"
1279 TK_DEPS="${tkdir}${TK_LIB_FILE}"
1281 # now look for Itcl library stuff
1283 CY_AC_PATH_ITCLCONFIG
1284 if test -z "${no_itcl}"; then
1285 CY_AC_LOAD_ITCLCONFIG
1287 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
1288 ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
1292 # now look for Itk library stuff
1293 CY_AC_PATH_ITKCONFIG
1294 if test -z "${no_itcl}"; then
1295 CY_AC_LOAD_ITKCONFIG
1297 ITKLIB="${ITK_BUILD_LIB_SPEC}"
1298 ITK_DEPS="${ITK_LIB_FULL_PATH}"
1301 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1303 # Include some libraries that Tcl and Tk want.
1304 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1305 # Yes, the ordering seems wrong here. But it isn't.
1306 # TK_LIBS is the list of libraries that need to be linked
1307 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1308 # were in LIBS then any link tests after this point would
1309 # try to include things like `$(LIBGUI)', which wouldn't work.
1310 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1312 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1313 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1314 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1315 CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1316 CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1317 CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1318 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1320 if test x$gdb_cv_os_cygwin = xyes; then
1321 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1322 WIN32LDAPP="-Wl,--subsystem,console"
1323 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1328 AC_CONFIG_SUBDIRS(gdbtk)
1341 AC_SUBST(GDBTK_CFLAGS)
1342 AC_SUBST(GDBTK_SRC_DIR)
1346 # Check whether we should enable the TUI, but only do so if we really
1348 if test x"$enable_tui" = xyes; then
1349 if test -d $srcdir/tui; then
1350 if test "$ac_cv_search_waddstr" != no; then
1351 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
1352 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
1353 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
1354 CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_TUI_INITS)"
1355 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
1356 CONFIG_ALL="${CONFIG_ALL} all-tui"
1357 CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
1358 CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
1359 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
1361 AC_MSG_WARN([no enhanced curses library found; disabling TUI])
1366 # Unlike the sim directory, whether a simulator is linked is controlled by
1367 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
1368 # This code just checks for a few cases where we'd like to ignore those
1369 # definitions, even when they're present in the '.mt' file. These cases
1370 # are when --disable-sim is specified, or if the simulator directory is
1371 # not part of the source tree.
1374 [ --enable-sim Link gdb with simulator],
1375 [echo "enable_sim = $enable_sim";
1376 echo "enableval = ${enableval}";
1377 case "${enableval}" in
1378 yes) ignore_sim=false ;;
1379 no) ignore_sim=true ;;
1380 *) ignore_sim=false ;;
1384 if test ! -d "${srcdir}/../sim"; then
1388 if test "${ignore_sim}" = "true"; then
1390 IGNORE_SIM_OBS="SIM_OBS="
1394 AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
1396 AC_SUBST(IGNORE_SIM)
1397 AC_SUBST(IGNORE_SIM_OBS)
1399 AC_SUBST(ENABLE_CFLAGS)
1400 AC_SUBST(PROFILE_CFLAGS)
1402 AC_SUBST(CONFIG_OBS)
1403 AC_SUBST(CONFIG_DEPS)
1404 AC_SUBST(CONFIG_SRCS)
1405 AC_SUBST(CONFIG_ALL)
1406 AC_SUBST(CONFIG_CLEAN)
1407 AC_SUBST(CONFIG_INSTALL)
1408 AC_SUBST(CONFIG_UNINSTALL)
1410 # List of host floatformats.
1411 AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
1412 AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
1413 AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
1415 # target_subdir is used by the testsuite to find the target libraries.
1417 if test "${host}" != "${target}"; then
1418 target_subdir="${target_alias}/"
1420 AC_SUBST(target_subdir)
1423 if test "${target}" = "${host}"; then
1424 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1425 if test ! -f ${host_makefile_frag}; then
1426 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1428 frags="$frags $host_makefile_frag"
1430 host_makefile_frag=/dev/null
1433 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1434 if test ! -f ${target_makefile_frag}; then
1435 AC_MSG_ERROR("*** Gdb does not support target ${target}")
1437 frags="$frags $target_makefile_frag"
1439 AC_SUBST_FILE(host_makefile_frag)
1440 AC_SUBST_FILE(target_makefile_frag)
1445 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1446 ' ${host_makefile_frag}`
1448 targetfile=`sed -n '
1449 s/DEPRECATED_TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1450 ' ${target_makefile_frag}`
1452 if test "${target}" = "${host}"; then
1453 # We pick this up from the host configuration file (.mh) because we
1454 # do not have a native configuration Makefile fragment.
1455 nativefile=`sed -n '
1456 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1457 ' ${host_makefile_frag}`
1461 if test x"${gdb_osabi}" != x ; then
1462 AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1463 [Define to the default OS ABI for this configuration.])
1466 # Enable multi-ice-gdb-server.
1467 AC_ARG_ENABLE(multi-ice,
1468 [ --enable-multi-ice build the multi-ice-gdb-server],
1472 *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1474 if test "x$enable_multi_ice" = xyes; then
1475 AC_CONFIG_SUBDIRS(multi-ice)
1478 # We only build gdbserver automatically if host and target are the same.
1479 if test "x$target" = "x$host"; then
1480 AC_MSG_CHECKING(whether gdbserver is supported on this host)
1481 if test "x$build_gdbserver" = xyes; then
1483 AC_CONFIG_SUBDIRS(gdbserver)
1489 # If hostfile (XM_FILE) and/or targetfile (DEPRECATED_TM_FILE) and/or
1490 # nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
1491 # to an empty version.
1498 if test "${hostfile}" != ""; then
1500 case "${hostfile}" in
1501 xm-*.h ) GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}" ;;
1502 * ) GDB_XM_FILE="${hostfile}"
1504 files="${files} ${GDB_XM_FILE}"
1505 links="${links} xm.h"
1506 AC_DEFINE_UNQUOTED(GDB_XM_FILE, "${GDB_XM_FILE}", [hostfile])
1512 if test "${targetfile}" != ""; then
1514 case "${targetfile}" in
1515 tm-*.h ) GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}" ;;
1516 * ) GDB_TM_FILE="${targetfile}"
1518 files="${files} ${GDB_TM_FILE}"
1519 links="${links} tm.h"
1520 AC_DEFINE_UNQUOTED(GDB_TM_FILE, "${GDB_TM_FILE}", [targetfile])
1526 if test "${nativefile}" != ""; then
1528 case "${nativefile}" in
1529 nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
1530 * ) GDB_NM_FILE="${nativefile}"
1532 files="${files} ${GDB_NM_FILE}"
1533 links="${links} nm.h"
1534 AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
1538 AC_LINK_FILES($files, $links)
1540 dnl Check for exe extension set on certain hosts (e.g. Win32)
1543 dnl Detect the character set used by this host.
1545 dnl At the moment, we just assume it's ISO-8859-1 (which is a
1546 dnl superset of ASCII containing the characters needed for French,
1547 dnl German, Spanish, Italian, and possibly others), but if were
1548 dnl *were* to support any host character sets other than ISO-8859-1,
1549 dnl here's where we'd detect it.
1550 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1551 [Define to be a string naming the default host character set.])
1555 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1557 dnl Autoconf doesn't provide a mechanism for modifying definitions
1558 dnl provided by makefile fragments.
1562 sed -e '/^DEPRECATED_TM_FILE[ ]*=/s,^DEPRECATED_TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
1563 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1564 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1565 mv -f Makefile.tmp Makefile
1569 case x$CONFIG_HEADERS in
1570 xconfig.h:config.in)
1575 gdb_host_cpu=$gdb_host_cpu
1576 gdb_target_cpu=$gdb_target_cpu
1577 nativefile=$nativefile