1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3 dnl 2005, 2006, 2007, 2008, 2009, 2010
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 3 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, see <http://www.gnu.org/licenses/>.
21 dnl Process this file with autoconf to produce a configure script.
25 AC_CONFIG_HEADER(config.h:config.in)
29 AC_USE_SYSTEM_EXTENSIONS
37 # Dependency checking.
39 ZW_PROG_COMPILER_DEPENDENCIES([CC])
41 # Check for the 'make' the user wants to use.
42 AC_CHECK_PROGS(MAKE, make)
44 case "`$MAKE --version 2>&1 | sed 1q`" in
49 AM_CONDITIONAL(GMAKE, test "$MAKE_IS_GNU" = yes)
52 dnl List of object files and targets accumulated by configure.
64 dnl Set up for gettext.
65 ZW_GNU_GETTEXT_SISTER_DIR
67 localedir='${datadir}/locale'
70 if test x"$USE_NLS" = xyes; then
71 CONFIG_ALL="$CONFIG_ALL all-po"
72 CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
73 CONFIG_INSTALL="$CONFIG_INSTALL install-po"
74 CONFIG_UNINSTALL="$CONFIG_UNINSTALL uninstall-po"
79 # For Makefile dependencies.
81 if test x"$STDINT_H" != x; then
82 GNULIB_STDINT_H=gnulib/$STDINT_H
84 AC_SUBST(GNULIB_STDINT_H)
87 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
90 # GDB does not use automake, but gnulib does. This line lets us
91 # generate its Makefile.in.
92 AM_INIT_AUTOMAKE(gdb, UNUSED-VERSION, [no-define])
94 GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
95 [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
98 # GDB's datadir relocation
100 GDB_AC_WITH_DIR(GDB_DATADIR, gdb-datadir,
101 [look for global separate data files in this path @<:@DATADIR/gdb@:>@],
104 AC_ARG_WITH(relocated-sources,
105 AS_HELP_STRING([--with-relocated-sources=PATH], [automatically relocate this path for source files]),
106 [reloc_srcdir="${withval}"
107 AC_DEFINE_DIR(RELOC_SRCDIR, reloc_srcdir,
108 [Relocated directory for source files. ])
111 AC_CONFIG_SUBDIRS(doc testsuite)
113 # Check whether to support alternative target configurations
114 AC_ARG_ENABLE(targets,
115 AS_HELP_STRING([--enable-targets=TARGETS], [alternative target configurations]),
116 [case "${enableval}" in
117 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
119 no) enable_targets= ;;
120 *) enable_targets=$enableval ;;
123 # Check whether to enable 64-bit support on 32-bit hosts
124 AC_ARG_ENABLE(64-bit-bfd,
125 AS_HELP_STRING([--enable-64-bit-bfd], [64-bit support (on hosts with narrower word sizes)]),
126 [case "${enableval}" in
129 *) AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
130 esac],[want64=false])dnl
132 # Provide defaults for some variables set by the per-host and per-target
134 gdb_host_obs=posix-hdep.o
136 if test "${target}" = "${host}"; then
142 . $srcdir/configure.host
144 # Accumulate some settings from configure.tgt over all enabled targets
149 for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
151 if test "$targ_alias" = "all"; then
154 # Canonicalize the secondary target names.
155 result=`$ac_config_sub $targ_alias 2>/dev/null`
156 if test -n "$result"; then
162 . ${srcdir}/configure.tgt
164 # Target-specific object files
165 for i in ${gdb_target_obs}; do
166 case " $TARGET_OBS " in
169 TARGET_OBS="$TARGET_OBS ${i}"
174 # Check whether this target needs 64-bit CORE_ADDR
175 if test x${want64} = xfalse; then
176 . ${srcdir}/../bfd/config.bfd
181 if test x${all_targets} = xtrue; then
183 # We want all 64-bit targets if we either:
184 # - run on a 64-bit host or
185 # - already require 64-bit support for some other target or
186 # - the --enable-64-bit-bfd option was supplied
187 # Otherwise we only support all 32-bit targets.
189 # NOTE: This test must be in sync with the corresponding
192 if test x${want64} = xfalse; then
193 AC_CHECK_SIZEOF(long)
194 if test "x${ac_cv_sizeof_long}" = "x8"; then
198 if test x${want64} = xtrue; then
199 TARGET_OBS='$(ALL_TARGET_OBS) $(ALL_64_TARGET_OBS)'
201 TARGET_OBS='$(ALL_TARGET_OBS)'
207 # For other settings, only the main target counts.
211 targ=$target; . ${srcdir}/configure.tgt
213 # Fetch the default architecture and default target vector from BFD.
214 targ=$target; . $srcdir/../bfd/config.bfd
216 # We only want the first architecture, so strip off the others if
217 # there is more than one.
218 targ_archs=`echo $targ_archs | sed 's/ .*//'`
220 if test "x$targ_archs" != x; then
221 AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
222 [Define to BFD's default architecture. ])
224 if test "x$targ_defvec" != x; then
225 AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
226 [Define to BFD's default target vector. ])
229 # The CLI cannot be disabled yet, but may be in the future.
232 AC_ARG_ENABLE(gdbcli,
233 AS_HELP_STRING([--disable-gdbcli], [disable command-line interface (CLI)]),
238 AC_MSG_ERROR([the command-line interface cannot be disabled yet]) ;;
240 AC_MSG_ERROR([bad value $enableval for --enable-gdbcli]) ;;
243 if test x"$enable_gdbcli" = xyes; then
244 if test -d $srcdir/cli; then
245 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_CLI_OBS)"
246 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_CLI_DEPS)"
247 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_CLI_SRCS)"
248 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_CLI_CFLAGS)"
254 AS_HELP_STRING([--disable-gdbmi], [disable machine-interface (MI)]),
259 AC_MSG_ERROR([bad value $enableval for --enable-gdbmi]) ;;
262 if test x"$enable_gdbmi" = xyes; then
263 if test -d $srcdir/mi; then
264 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
265 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
266 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
267 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)"
273 AS_HELP_STRING([--enable-tui], [enable full-screen terminal user interface (TUI)]),
278 AC_MSG_ERROR([bad value $enableval for --enable-tui]) ;;
279 esac],enable_tui=auto)
283 AS_HELP_STRING([--enable-gdbtk], [enable gdbtk graphical user interface (GUI)]),
288 AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;;
290 [if test -d $srcdir/gdbtk; then
295 # We unconditionally disable gdbtk tests on selected platforms.
298 AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
303 AC_ARG_WITH(libunwind,
304 AS_HELP_STRING([--with-libunwind], [use libunwind frame unwinding support]),
305 [case "${withval}" in
306 yes) enable_libunwind=yes ;;
307 no) enable_libunwind=no ;;
308 *) AC_MSG_ERROR(bad value ${withval} for GDB with-libunwind option) ;;
310 AC_CHECK_HEADERS(libunwind.h libunwind-ia64.h)
311 if test x"$ac_cv_header_libunwind_h" = xyes -a x"$ac_cv_header_libunwind_ia64_h" = xyes; then
312 enable_libunwind=yes;
316 if test x"$enable_libunwind" = xyes; then
317 AC_CHECK_HEADERS(libunwind.h libunwind-ia64.h)
318 AC_DEFINE(HAVE_LIBUNWIND, 1, [Define if libunwind library is being used.])
319 CONFIG_OBS="$CONFIG_OBS libunwind-frame.o"
320 CONFIG_DEPS="$CONFIG_DEPS libunwind-frame.o"
321 CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
325 AC_ARG_WITH(curses, AS_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
328 if test "$opt_curses" = "yes"; then
333 AC_ARG_ENABLE(profiling,
334 AS_HELP_STRING([--enable-profiling], [enable profiling of GDB]),
339 AC_MSG_ERROR([bad value $enableval for --enable-profile]) ;;
341 [enable_profiling=no])
343 AC_CHECK_FUNCS(monstartup _mcleanup)
344 AC_CACHE_CHECK([for _etext], ac_cv_var__etext,
349 [free (&_etext);], ac_cv_var__etext=yes, ac_cv_var__etext=no)])
350 if test $ac_cv_var__etext = yes; then
351 AC_DEFINE(HAVE__ETEXT, 1,
352 [Define to 1 if your system has the _etext variable. ])
354 AC_CACHE_CHECK([for etext], ac_cv_var_etext,
359 [free (&etext);], ac_cv_var_etext=yes, ac_cv_var_etext=no)])
360 if test $ac_cv_var_etext = yes; then
361 AC_DEFINE(HAVE_ETEXT, 1,
362 [Define to 1 if your system has the etext variable. ])
364 if test "$enable_profiling" = yes ; then
365 if test $ac_cv_func_monstartup = no || test $ac_cv_func__mcleanup = no; then
366 AC_MSG_ERROR(--enable-profiling requires monstartup and _mcleanup)
370 CFLAGS="$CFLAGS $PROFILE_CFLAGS"
372 AC_CACHE_CHECK([whether $CC supports -pg], ac_cv_cc_supports_pg,
373 [AC_TRY_COMPILE([], [int x;], ac_cv_cc_supports_pg=yes,
374 ac_cv_cc_supports_pg=no)])
376 if test $ac_cv_cc_supports_pg = no; then
377 AC_MSG_ERROR(--enable-profiling requires a compiler which supports -pg)
383 ACX_PKGVERSION([GDB])
384 ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
385 AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
386 AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
388 # --------------------- #
389 # Checks for programs. #
390 # --------------------- #
398 AC_CHECK_TOOL(AR, ar)
399 AC_CHECK_TOOL(DLLTOOL, dlltool)
400 AC_CHECK_TOOL(WINDRES, windres)
402 # Needed for GNU/Hurd.
403 AC_CHECK_TOOL(MIG, mig)
405 # ---------------------- #
406 # Checks for libraries. #
407 # ---------------------- #
409 # We might need to link with -lm; most simulators need it.
410 AC_CHECK_LIB(m, main)
412 # We need to link with -lw to get `wctype' on Solaris before Solaris
413 # 2.6. Solaris 2.6 and beyond have this function in libc, and have a
414 # libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
415 # is known to have this problem). Therefore we avoid libw if we can.
416 AC_CHECK_FUNC(wctype, [],
417 [AC_CHECK_LIB(w, wctype)])
419 # Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
420 AC_SEARCH_LIBS(gethostbyname, nsl)
422 # Some systems (e.g. Solaris) have `socketpair' in libsocket.
423 AC_SEARCH_LIBS(socketpair, socket)
425 # Link in zlib if we can. This allows us to read compressed debug sections.
428 # On HP/UX we may need libxpdl for dlgetmodinfo (used by solib-pa64.c).
429 AC_SEARCH_LIBS(dlgetmodinfo, [dl xpdl])
433 # On alpha-osf, it appears that libtermcap and libcurses are not compatible.
434 # There is a very specific comment in /usr/include/curses.h explaining that
435 # termcap routines built into libcurses must not be used.
437 # The symptoms we observed so far is GDB unexpectedly changing
438 # the terminal settings when tgetent is called - this is particularly
439 # visible as the output is missing carriage returns, and so rapidly
440 # becomes very hard to read.
442 # The readline configure script has already decided that libtermcap
443 # was enough for its purposes, and so decided to build readline using
444 # libtermcap. Since the TUI mode requires curses, building GDB with
445 # TUI enabled results in both libraries to be used at the same time,
446 # which is not allowed. This basically means that GDB with TUI is
447 # broken on alpha-osf.
451 if test x"$enable_tui" = xyes; then
452 AC_MSG_ERROR([Building GDB with TUI mode is not supported on this host])
454 if test x"$enable_tui" = xauto; then
460 # For the TUI, we need enhanced curses functionality.
461 if test x"$enable_tui" != xno; then
466 if test x"$prefer_curses" = xyes; then
467 # FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied
468 # curses library because the latter might not provide all the
469 # functionality we need. However, this leads to problems on systems
470 # where the linker searches /usr/local/lib, but the compiler doesn't
471 # search /usr/local/include, if ncurses is installed in /usr/local. A
472 # default installation of ncurses on alpha*-dec-osf* will lead to such
474 AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses])
476 if test "$ac_cv_search_waddstr" != no; then
481 # Check whether we should enable the TUI, but only do so if we really
483 if test x"$enable_tui" != xno; then
484 if test -d $srcdir/tui; then
485 if test "$curses_found" != no; then
486 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
487 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
488 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
489 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
490 CONFIG_ALL="${CONFIG_ALL} all-tui"
491 CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
492 CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
493 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
495 if test x"$enable_tui" = xyes; then
496 AC_MSG_ERROR([no enhanced curses library found; disable TUI])
498 AC_MSG_WARN([no enhanced curses library found; disabling TUI])
504 # Since GDB uses Readline, we need termcap functionality. In many
505 # cases this will be provided by the curses library, but some systems
506 # have a seperate termcap library, or no curses library at all.
510 if test -d $srcdir/libtermcap; then
511 LIBS="../libtermcap/libtermcap.a $LIBS"
512 ac_cv_search_tgetent="../libtermcap/libtermcap.a"
515 ac_cv_search_tgetent="none required"
518 ac_cv_search_tgetent="none required"
519 CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
523 # These are the libraries checked by Readline.
524 AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses])
526 if test "$ac_cv_search_tgetent" = no; then
527 AC_MSG_ERROR([no termcap library found])
530 AC_ARG_WITH([system-readline],
531 [AS_HELP_STRING([--with-system-readline],
532 [use installed readline library])])
534 if test "$with_system_readline" = yes; then
539 # readline-6.0 started to use the name `_rl_echoing_p'.
540 # `$(READLINE_DIR)/' of bundled readline would not resolve in configure.
542 AC_MSG_CHECKING([for readline_echoing_p])
544 LIBS="$LIBS $READLINE"
545 AC_LINK_IFELSE(AC_LANG_PROGRAM(,[[extern int readline_echoing_p;
546 return readline_echoing_p;]]),
547 [READLINE_ECHOING_P=yes],
548 [READLINE_ECHOING_P=no
549 AC_DEFINE([readline_echoing_p], [_rl_echoing_p],
550 [readline-6.0 started to use different name.])])
552 AC_MSG_RESULT([$READLINE_ECHOING_P])
554 READLINE='$(READLINE_DIR)/libreadline.a'
555 READLINE_DEPS='$(READLINE)'
556 READLINE_CFLAGS='-I$(READLINE_SRC)/..'
559 AC_SUBST(READLINE_DEPS)
560 AC_SUBST(READLINE_CFLAGS)
563 AS_HELP_STRING([--with-expat], [include expat support (auto/yes/no)]),
564 [], [with_expat=auto])
565 AC_MSG_CHECKING([whether to use expat])
566 AC_MSG_RESULT([$with_expat])
568 if test "${with_expat}" = no; then
569 AC_MSG_WARN([expat support disabled; some features may be unavailable.])
572 AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
573 [XML_Parser p = XML_ParserCreate (0);])
574 if test "$HAVE_LIBEXPAT" != yes; then
575 if test "$with_expat" = yes; then
576 AC_MSG_ERROR([expat is missing or unusable])
578 AC_MSG_WARN([expat is missing or unusable; some features may be unavailable.])
582 LIBS="$LIBS $LIBEXPAT"
583 AC_CHECK_FUNCS(XML_StopParser)
588 dnl Utility to simplify finding libpython.
589 AC_DEFUN([AC_TRY_LIBPYTHON],
592 define([have_libpython_var],$2)
593 define([VERSION],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
594 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
596 AC_MSG_CHECKING([for ${version}])
598 LIBS="$LIBS -l${version}"
599 AC_LINK_IFELSE(AC_LANG_PROGRAM([[#include "${version}/Python.h"]],
600 [[Py_Initialize ();]]),
601 [[HAVE_LIB]VERSION=yes
602 have_libpython_var=yes],
604 AC_MSG_RESULT([$[HAVE_LIB]VERSION])
608 AS_HELP_STRING([--with-python], [include python support (auto/yes/no/<path>)]),
609 [], [with_python=auto])
610 AC_MSG_CHECKING([whether to use python])
611 AC_MSG_RESULT([$with_python])
613 if test "${with_python}" = no; then
614 AC_MSG_WARN([python support disabled; some features may be unavailable.])
617 case "${with_python}" in
619 # Leave as empty, use defaults.
624 python_includes="-I${with_python}/include"
625 python_libs="-L${with_python}/lib"
628 AC_ERROR(invalid value for --with-python)
632 save_CPPFLAGS=$CPPFLAGS
633 CPPFLAGS="$CPPFLAGS ${python_includes}"
635 LIBS="$LIBS ${python_libs}"
637 if test "${have_libpython}" = no; then
638 AC_TRY_LIBPYTHON(python2.6, have_libpython)
639 if test "${HAVE_LIBPYTHON2_6}" = yes; then
640 AC_DEFINE(HAVE_LIBPYTHON2_6, 1, [Define if Python 2.6 is being used.])
643 if test ${have_libpython} = no; then
644 AC_TRY_LIBPYTHON(python2.5, have_libpython)
645 if test "${HAVE_LIBPYTHON2_5}" = yes; then
646 AC_DEFINE(HAVE_LIBPYTHON2_5, 1, [Define if Python 2.5 is being used.])
649 if test ${have_libpython} = no; then
650 AC_TRY_LIBPYTHON(python2.4, have_libpython)
651 if test "${HAVE_LIBPYTHON2_4}" = yes; then
652 AC_DEFINE(HAVE_LIBPYTHON2_4, 1, [Define if Python 2.4 is being used.])
655 if test ${have_libpython} = no; then
656 case "${with_python}" in
658 AC_MSG_ERROR([python is missing or unusable])
661 AC_MSG_WARN([python is missing or unusable; some features may be unavailable.])
664 AC_MSG_ERROR([no usable python found at ${with_python}])
667 CPPFLAGS=$save_CPPFLAGS
672 if test "${have_libpython}" = yes; then
673 AC_DEFINE(HAVE_PYTHON, 1, [Define if Python interpreter is being linked in.])
674 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_PYTHON_OBS)"
675 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_PYTHON_DEPS)"
676 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_PYTHON_SRCS)"
677 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_PYTHON_CFLAGS)"
679 # Flags needed to compile Python code (taken from python-config --cflags).
680 # We cannot call python-config directly because it will output whatever was
681 # used when compiling the Python interpreter itself, including flags which
682 # would make the python-related objects be compiled differently from the
683 # rest of GDB (e.g., -O2 and -fPIC).
684 if test "${GCC}" = yes; then
685 tentative_python_cflags="-fno-strict-aliasing -DNDEBUG -fwrapv"
688 if test "x${tentative_python_cflags}" != x; then
689 AC_MSG_CHECKING(compiler flags for python code)
690 for flag in ${tentative_python_cflags}; do
691 # Check that the compiler accepts it
692 saved_CFLAGS="$CFLAGS"
693 CFLAGS="$CFLAGS $flag"
694 AC_TRY_COMPILE([],[],PYTHON_CFLAGS="${PYTHON_CFLAGS} $flag",)
695 CFLAGS="$saved_CFLAGS"
697 AC_MSG_RESULT(${PYTHON_CFLAGS})
700 # Even if Python support is not compiled in, we need to have these files
701 # included in order to recognize the GDB command "python".
702 CONFIG_OBS="$CONFIG_OBS python.o py-value.o py-prettyprint.o"
703 CONFIG_SRCS="$CONFIG_SRCS python/python.c python/py-value.c python/py-prettyprint.c"
705 AC_SUBST(PYTHON_CFLAGS)
707 # ------------------------- #
708 # Checks for header files. #
709 # ------------------------- #
714 # elf_hp.h is for HP/UX 64-bit shared library support.
715 # FIXME: kettenis/20030102: In most cases we include these (ctype.h, time.h)
716 # unconditionally, so what's the point in checking these?
717 AC_CHECK_HEADERS([nlist.h machine/reg.h poll.h sys/poll.h proc_service.h \
718 thread_db.h gnu/libc-version.h signal.h stddef.h \
719 stdlib.h string.h memory.h strings.h sys/fault.h \
720 sys/file.h sys/filio.h sys/ioctl.h sys/param.h \
721 sys/resource.h sys/procfs.h sys/ptrace.h ptrace.h \
722 sys/reg.h sys/debugreg.h sys/select.h sys/syscall.h \
723 sys/types.h sys/wait.h wait.h termios.h termio.h \
724 sgtty.h unistd.h elf_hp.h ctype.h time.h locale.h])
725 AC_CHECK_HEADERS(link.h, [], [],
726 [#if HAVE_SYS_TYPES_H
727 # include <sys/types.h>
733 AC_CHECK_HEADERS(sys/proc.h, [], [],
734 [#if HAVE_SYS_PARAM_H
735 # include <sys/param.h>
738 AC_CHECK_HEADERS(sys/user.h, [], [],
739 [#if HAVE_SYS_PARAM_H
740 # include <sys/param.h>
744 # On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
745 # between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
746 # think that we don't have <curses.h> if we're using GCC.
749 if test "$GCC" = yes; then
750 AC_DEFINE(_MSE_INT_H, 1,
751 [Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
752 Solaris 2.[789] when using GCC. ])
755 AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h ncurses/term.h)
756 AC_CHECK_HEADERS(term.h, [], [],
762 # ------------------------- #
763 # Checks for declarations. #
764 # ------------------------- #
766 AC_CHECK_DECLS([free, malloc, realloc, strerror, strstr, getopt,
767 snprintf, vsnprintf])
770 # ----------------------- #
771 # Checks for structures. #
772 # ----------------------- #
774 AC_CHECK_MEMBERS([struct stat.st_blocks, struct stat.st_blksize])
776 # ------------------ #
777 # Checks for types. #
778 # ------------------ #
781 AC_CHECK_TYPES(socklen_t, [], [],
782 [#include <sys/types.h>
783 #include <sys/socket.h>
786 # ------------------------------------- #
787 # Checks for compiler characteristics. #
788 # ------------------------------------- #
794 # ------------------------------ #
795 # Checks for library functions. #
796 # ------------------------------ #
801 AC_CHECK_FUNCS([canonicalize_file_name realpath getrusage getuid \
802 getgid pipe poll pread64 sbrk setpgid setpgrp setsid \
803 sigaction sigprocmask sigsetmask socketpair syscall \
804 ttrace wborder setlocale iconvlist libiconvlist btowc \
805 setrlimit getrlimit])
808 # Check the return and argument types of ptrace. No canned test for
809 # this, so roll our own.
812 # include <sys/types.h>
814 #if HAVE_SYS_PTRACE_H
815 # include <sys/ptrace.h>
821 # There is no point in checking if we don't have a prototype.
822 AC_CHECK_DECLS(ptrace, [], [
823 : ${gdb_cv_func_ptrace_ret='int'}
824 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
825 ], $gdb_ptrace_headers)
826 # Check return type. Varargs (used on GNU/Linux) conflict with the
827 # empty argument list, so check for that explicitly.
828 AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
829 AC_TRY_COMPILE($gdb_ptrace_headers,
830 [extern long ptrace (enum __ptrace_request, ...);],
831 gdb_cv_func_ptrace_ret='long',
832 AC_TRY_COMPILE($gdb_ptrace_headers,
833 [extern int ptrace ();],
834 gdb_cv_func_ptrace_ret='int',
835 gdb_cv_func_ptrace_ret='long')))
836 AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
837 [Define as the return type of ptrace.])
838 # Check argument types.
839 AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
840 AC_TRY_COMPILE($gdb_ptrace_headers,
841 [extern long ptrace (enum __ptrace_request, ...);],
842 [gdb_cv_func_ptrace_args='int,int,long,long'],[
843 for gdb_arg1 in 'int' 'long'; do
844 for gdb_arg2 in 'pid_t' 'int' 'long'; do
845 for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long' 'void *'; do
846 for gdb_arg4 in 'int' 'long'; do
847 AC_TRY_COMPILE($gdb_ptrace_headers, [
848 extern $gdb_cv_func_ptrace_ret
849 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
850 ], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
852 for gdb_arg5 in 'int *' 'int' 'long'; do
853 AC_TRY_COMPILE($gdb_ptrace_headers, [
854 extern $gdb_cv_func_ptrace_ret
855 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
857 gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
864 # Provide a safe default value.
865 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
867 ac_save_IFS=$IFS; IFS=','
868 set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
871 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
872 [Define to the type of arg 3 for ptrace.])
873 if test -n "$[5]"; then
874 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
875 [Define to the type of arg 5 for ptrace.])
878 dnl AC_FUNC_SETPGRP does not work when cross compiling
879 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
880 if test "$cross_compiling" = no; then
883 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
887 if (setpgrp(1,1) == -1)
891 ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
892 if test $ac_cv_func_setpgrp_void = yes; then
893 AC_DEFINE(SETPGRP_VOID, 1)
897 # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
898 # since sigsetjmp might only be defined as a macro.
899 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
902 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
903 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
904 if test $gdb_cv_func_sigsetjmp = yes; then
905 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
908 # Assume we'll default to using the included libiberty regex.
909 gdb_use_included_regex=yes
911 # However, if the system regex is GNU regex, then default to *not*
912 # using the included regex.
915 [gdb_cv_have_gnu_regex],
917 [#include <gnu-versions.h>],
918 [#define REGEX_INTERFACE_VERSION 1
919 #if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
920 # error "Version mismatch"
922 gdb_cv_have_gnu_regex=yes,
923 gdb_cv_have_gnu_regex=no)])
924 if test $gdb_cv_have_gnu_regex = yes; then
925 gdb_use_included_regex=no
928 AC_ARG_WITH(included-regex,
929 AS_HELP_STRING([--without-included-regex], [don't use included regex; this is the default on systems with version 2 of the GNU C library (use with caution on other system)]),
930 gdb_with_regex=$withval,
931 gdb_with_regex=$gdb_use_included_regex)
932 if test "$gdb_with_regex" = yes; then
933 AC_DEFINE(USE_INCLUDED_REGEX, 1,
934 [Define to 1 if the regex included in libiberty should be used.])
937 # Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
938 AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
939 [#include <sys/param.h>
940 #include <sys/proc.h>
943 # See if <sys/lwp.h> defines `struct lwp`.
944 AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
945 [AC_TRY_COMPILE([#include <sys/param.h>
946 #include <sys/lwp.h>], [struct lwp l;],
947 gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
948 if test $gdb_cv_struct_lwp = yes; then
949 AC_DEFINE(HAVE_STRUCT_LWP, 1,
950 [Define to 1 if your system has struct lwp.])
953 # See if <machine/reg.h> degines `struct reg'.
954 AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
955 [AC_TRY_COMPILE([#include <sys/types.h>
956 #include <machine/reg.h>], [struct reg r;],
957 gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
958 if test $gdb_cv_struct_reg = yes; then
959 AC_DEFINE(HAVE_STRUCT_REG, 1,
960 [Define to 1 if your system has struct reg in <machine/reg.h>.])
963 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
964 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
965 AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
966 [#include <machine/reg.h>])
968 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
969 AC_MSG_CHECKING(for PTRACE_GETREGS)
970 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
971 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
973 [gdb_cv_have_ptrace_getregs=yes],
974 [gdb_cv_have_ptrace_getregs=no])])
975 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
976 if test $gdb_cv_have_ptrace_getregs = yes; then
977 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
978 [Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
981 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
982 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
983 AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
984 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
985 [PTRACE_GETFPXREGS;],
986 [gdb_cv_have_ptrace_getfpxregs=yes],
987 [gdb_cv_have_ptrace_getfpxregs=no])])
988 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
989 if test $gdb_cv_have_ptrace_getfpxregs = yes; then
990 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
991 [Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
994 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
995 AC_MSG_CHECKING(for PT_GETDBREGS)
996 AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
997 [AC_TRY_COMPILE([#include <sys/types.h>
998 #include <sys/ptrace.h>],
1000 [gdb_cv_have_pt_getdbregs=yes],
1001 [gdb_cv_have_pt_getdbregs=no])])
1002 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
1003 if test $gdb_cv_have_pt_getdbregs = yes; then
1004 AC_DEFINE(HAVE_PT_GETDBREGS, 1,
1005 [Define if sys/ptrace.h defines the PT_GETDBREGS request.])
1008 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
1009 AC_MSG_CHECKING(for PT_GETXMMREGS)
1010 AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
1011 [AC_TRY_COMPILE([#include <sys/types.h>
1012 #include <sys/ptrace.h>],
1014 [gdb_cv_have_pt_getxmmregs=yes],
1015 [gdb_cv_have_pt_getxmmregs=no])])
1016 AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
1017 if test $gdb_cv_have_pt_getxmmregs = yes; then
1018 AC_DEFINE(HAVE_PT_GETXMMREGS, 1,
1019 [Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
1022 # Detect which type of /proc is in use, such as for Unixware or Solaris.
1024 if test "${target}" = "${host}"; then
1026 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
1027 AC_DEFINE(NEW_PROC_API, 1,
1028 [Define if you want to use new multi-fd /proc interface
1029 (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
1031 *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]]*)
1032 AC_DEFINE(NEW_PROC_API, 1,
1033 [Define if you want to use new multi-fd /proc interface
1034 (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
1037 # Work around <sys/proc.h> needing _KMEMUSER problem on IRIX 5.
1038 AC_DEFINE([_KMEMUSER], 1,
1039 [Define to 1 so <sys/proc.h> gets a definition of anon_hdl. Works
1040 around a <sys/proc.h> problem on IRIX 5.])
1045 if test "$ac_cv_header_sys_procfs_h" = yes; then
1046 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
1047 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
1048 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
1049 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
1050 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
1051 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
1052 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
1053 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
1054 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
1055 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
1056 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
1057 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
1058 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
1059 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
1062 dnl Check for broken prfpregset_t type
1064 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
1065 dnl prfpregset_t type (it's a typedef for the pointer to a struct
1066 dnl instead of the struct itself). We detect this here, and work
1067 dnl around it in gdb_proc_service.h.
1069 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
1070 AC_MSG_CHECKING(whether prfpregset_t type is broken)
1071 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
1072 [AC_TRY_RUN([#include <sys/procfs.h>
1075 if (sizeof (prfpregset_t) == sizeof (void *))
1079 gdb_cv_prfpregset_t_broken=no,
1080 gdb_cv_prfpregset_t_broken=yes,
1081 gdb_cv_prfpregset_t_broken=yes)])
1082 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
1083 if test $gdb_cv_prfpregset_t_broken = yes; then
1084 AC_DEFINE(PRFPREGSET_T_BROKEN, 1,
1085 [Define if the prfpregset_t type is broken.])
1089 dnl Check for PIOCSET ioctl entry
1091 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
1092 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
1093 [AC_TRY_COMPILE([#include <unistd.h>
1094 #include <sys/types.h>
1095 #include <sys/procfs.h>
1098 dummy = ioctl(0, PIOCSET, &dummy);
1100 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
1101 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
1102 if test $gdb_cv_have_procfs_piocset = yes; then
1103 AC_DEFINE(HAVE_PROCFS_PIOCSET, 1,
1104 [Define if ioctl argument PIOCSET is available.])
1108 dnl For native ports (host == target), check to see what kind of
1109 dnl legacy link.h support is needed. (See solib-legacy.c.)
1110 if test ${host} = ${target} ; then
1111 dnl Check for struct link_map with l_ members which are indicative
1112 dnl of SVR4-like shared libraries
1114 AC_MSG_CHECKING(for member l_addr in struct link_map)
1115 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
1116 [AC_TRY_COMPILE([#include <link.h>],
1117 [struct link_map lm; (void) lm.l_addr;],
1118 gdb_cv_have_struct_link_map_with_l_members=yes,
1119 gdb_cv_have_struct_link_map_with_l_members=no)])
1120 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
1121 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
1122 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS,1,
1123 [Define if <link.h> exists and defines struct link_map which has
1124 members with an ``l_'' prefix. (For Solaris, SVR4, and
1125 SVR4-like systems.)])
1128 dnl Check for struct link_map with lm_ members which are indicative
1129 dnl of SunOS-like shared libraries
1131 AC_MSG_CHECKING(for member lm_addr in struct link_map)
1132 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
1133 [AC_TRY_COMPILE([#include <sys/types.h>
1135 [struct link_map lm; (void) lm.lm_addr;],
1136 gdb_cv_have_struct_link_map_with_lm_members=yes,
1137 gdb_cv_have_struct_link_map_with_lm_members=no)])
1138 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
1139 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
1140 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS, 1,
1141 [Define if <link.h> exists and defines struct link_map which has
1142 members with an ``lm_'' prefix. (For SunOS.)])
1145 dnl Check for struct so_map with som_ members which are found on
1146 dnl some *BSD systems.
1148 AC_MSG_CHECKING(for member som_addr in struct so_map)
1149 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
1150 [AC_TRY_COMPILE([#include <sys/types.h>
1155 [struct so_map lm; (void) lm.som_addr;],
1156 gdb_cv_have_struct_so_map_with_som_members=yes,
1157 gdb_cv_have_struct_so_map_with_som_members=no)])
1158 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
1159 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
1160 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS, 1,
1161 [Define if <link.h> exists and defines a struct so_map which has
1162 members with an ``som_'' prefix. (Found on older *BSD systems.)])
1165 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
1166 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
1168 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
1169 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
1170 [AC_TRY_COMPILE([#define _SYSCALL32
1171 #include <sys/link.h>], [struct link_map32 l;],
1172 gdb_cv_have_struct_link_map32=yes,
1173 gdb_cv_have_struct_link_map32=no)])
1174 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
1175 if test $gdb_cv_have_struct_link_map32 = yes; then
1176 AC_DEFINE(HAVE_STRUCT_LINK_MAP32, 1,
1177 [Define if <sys/link.h> has struct link_map32])
1178 AC_DEFINE(_SYSCALL32, 1,
1179 [Define if <sys/link.h> has link_map32 (solaris sparc-64 target)])
1183 # Check if the compiler supports the `long long' type.
1185 AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
1186 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1187 [[extern long long foo;]],
1188 [[switch (foo & 2) { case 0: return 1; }]])],
1189 gdb_cv_c_long_long=yes,
1190 gdb_cv_c_long_long=no)])
1191 if test $gdb_cv_c_long_long = yes; then
1192 AC_DEFINE(CC_HAS_LONG_LONG, 1,
1193 [Define to 1 if the compiler supports long long.])
1196 # Check if the compiler and runtime support printing long longs.
1198 AC_CACHE_CHECK([for long long support in printf],
1199 gdb_cv_printf_has_long_long,
1200 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1203 l = (l << 16) + 0x0123;
1204 l = (l << 16) + 0x4567;
1205 l = (l << 16) + 0x89ab;
1206 l = (l << 16) + 0xcdef;
1207 sprintf (buf, "0x%016llx", l);
1208 return (strcmp ("0x0123456789abcdef", buf));]])],
1209 gdb_cv_printf_has_long_long=yes,
1210 gdb_cv_printf_has_long_long=no,
1211 gdb_cv_printf_has_long_long=no)])
1212 if test $gdb_cv_printf_has_long_long = yes; then
1213 AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
1214 [Define to 1 if the "%ll" format works to print long longs.])
1217 # Check if the compiler and runtime support printing decfloats.
1219 AC_CACHE_CHECK([for decfloat support in printf],
1220 gdb_cv_printf_has_decfloat,
1221 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1223 _Decimal32 d32 = 1.2345df;
1224 _Decimal64 d64 = 1.2345dd;
1225 _Decimal128 d128 = 1.2345dl;
1226 sprintf (buf, "Decimal32: %H\nDecimal64: %D\nDecimal128: %DD", d32, d64, d128);
1227 return (strcmp ("Decimal32: 1.2345\nDecimal64: 1.2345\nDecimal128: 1.2345", buf));]])],
1228 gdb_cv_printf_has_decfloat=yes,
1229 gdb_cv_printf_has_decfloat=no,
1230 gdb_cv_printf_has_decfloat=no)])
1231 if test $gdb_cv_printf_has_decfloat = yes; then
1232 AC_DEFINE(PRINTF_HAS_DECFLOAT, 1,
1233 [Define to 1 if the "%H, %D and %DD" formats work to print decfloats.])
1236 # Check if the compiler supports the `long double' type. We can't use
1237 # AC_C_LONG_DOUBLE because that one does additional checks on the
1238 # constants defined in <float.h> that fail on some systems,
1239 # e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
1241 AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
1242 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
1243 gdb_cv_c_long_double=yes,
1244 gdb_cv_c_long_double=no)])
1245 if test $gdb_cv_c_long_double = yes; then
1246 AC_DEFINE(HAVE_LONG_DOUBLE, 1,
1247 [Define to 1 if the compiler supports long double.])
1250 # Check if the compiler and runtime support printing long doubles.
1252 AC_CACHE_CHECK([for long double support in printf],
1253 gdb_cv_printf_has_long_double,
1254 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1256 long double f = 3.141592653;
1257 sprintf (buf, "%Lg", f);
1258 return (strncmp ("3.14159", buf, 7));]])],
1259 gdb_cv_printf_has_long_double=yes,
1260 gdb_cv_printf_has_long_double=no,
1261 gdb_cv_printf_has_long_double=no)])
1262 if test $gdb_cv_printf_has_long_double = yes; then
1263 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
1264 [Define to 1 if the "%Lg" format works to print long doubles.])
1267 # Check if the compiler and runtime support scanning long doubles.
1269 AC_CACHE_CHECK([for long double support in scanf],
1270 gdb_cv_scanf_has_long_double,
1271 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
1272 [[#include <stdio.h>]],
1273 [[char *buf = "3.141592653";
1275 sscanf (buf, "%Lg", &f);
1276 return !(f > 3.14159 && f < 3.14160);]])],
1277 gdb_cv_scanf_has_long_double=yes,
1278 gdb_cv_scanf_has_long_double=no,
1279 gdb_cv_scanf_has_long_double=no)])
1280 if test $gdb_cv_scanf_has_long_double = yes; then
1281 AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
1282 [Define to 1 if the "%Lg" format works to scan long doubles.])
1287 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
1288 SAVE_LDFLAGS=$LDFLAGS
1291 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
1292 *) gdb_cv_bigtoc=-bbigtoc ;;
1295 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
1296 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
1297 LDFLAGS="${SAVE_LDFLAGS}"
1299 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
1304 dnl For certain native configurations, we need to check whether thread
1305 dnl support can be built in or not.
1307 dnl Note that we only want this if we are both native (host == target),
1308 dnl and not doing a canadian cross build (build == host).
1310 if test ${build} = ${host} -a ${host} = ${target} ; then
1313 AC_MSG_CHECKING(for HPUX/OSF thread support)
1314 if test -f /usr/include/dce/cma_config.h ; then
1315 if test "$GCC" = "yes" ; then
1317 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT, 1,
1318 [Define if you have HPUX threads])
1319 CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
1320 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
1322 AC_MSG_RESULT(no (suppressed because you are not using GCC))
1329 # See if thread_db library is around for Solaris thread debugging.
1330 # Note that we must explicitly test for version 1 of the library
1331 # because version 0 (present on Solaris 2.4 or earlier) doesn't have
1333 AC_MSG_CHECKING(for Solaris thread debugging library)
1334 if test -f /usr/lib/libthread_db.so.1 ; then
1336 AC_DEFINE(HAVE_THREAD_DB_LIB, 1,
1337 [Define if using Solaris thread debugging.])
1338 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
1339 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
1340 AC_CHECK_LIB(dl, dlopen)
1341 if test "$GCC" = "yes" ; then
1342 # The GNU linker requires the -export-dynamic option to make
1343 # all symbols visible in the dynamic symbol table.
1344 hold_ldflags=$LDFLAGS
1345 AC_MSG_CHECKING(for the ld -export-dynamic flag)
1346 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
1347 AC_TRY_LINK(, [int i;], found=yes, found=no)
1348 LDFLAGS=$hold_ldflags
1349 AC_MSG_RESULT($found)
1350 if test $found = yes; then
1351 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
1354 # Sun randomly tweaked the prototypes in <proc_service.h>
1356 AC_MSG_CHECKING(if <proc_service.h> is old)
1357 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
1359 #include <proc_service.h>
1361 (struct ps_prochandle*, psaddr_t, const void*, size_t);
1362 ],, gdb_cv_proc_service_is_old=no,
1363 gdb_cv_proc_service_is_old=yes)
1365 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
1366 if test $gdb_cv_proc_service_is_old = yes; then
1367 AC_DEFINE(PROC_SERVICE_IS_OLD, 1,
1368 [Define if <proc_service.h> on solaris uses int instead of
1369 size_t, and assorted other type changes.])
1376 AC_MSG_CHECKING(for AiX thread debugging library)
1377 AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
1378 [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
1379 [#ifndef PTHDB_VERSION_3
1382 gdb_cv_have_aix_thread_debug=yes,
1383 gdb_cv_have_aix_thread_debug=no)])
1384 AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1385 if test $gdb_cv_have_aix_thread_debug = yes; then
1386 CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1387 CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1388 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1392 AC_SUBST(CONFIG_LDFLAGS)
1395 dnl See if we have a thread_db header file that has TD_NOTALLOC and
1396 dnl other error codes.
1397 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1398 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
1399 gdb_cv_thread_db_h_has_td_notalloc,
1401 [#include <thread_db.h>],
1402 [int i = TD_NOTALLOC;],
1403 gdb_cv_thread_db_h_has_td_notalloc=yes,
1404 gdb_cv_thread_db_h_has_td_notalloc=no
1407 AC_CACHE_CHECK([whether <thread_db.h> has TD_VERSION],
1408 gdb_cv_thread_db_h_has_td_version,
1410 [#include <thread_db.h>],
1411 [int i = TD_VERSION;],
1412 gdb_cv_thread_db_h_has_td_version=yes,
1413 gdb_cv_thread_db_h_has_td_version=no
1416 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTLS],
1417 gdb_cv_thread_db_h_has_td_notls,
1419 [#include <thread_db.h>],
1420 [int i = TD_NOTLS;],
1421 gdb_cv_thread_db_h_has_td_notls=yes,
1422 gdb_cv_thread_db_h_has_td_notls=no
1426 if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1427 AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1428 [Define if <thread_db.h> has the TD_NOTALLOC error code.])
1430 if test "x$gdb_cv_thread_db_h_has_td_version" = "xyes"; then
1431 AC_DEFINE(THREAD_DB_HAS_TD_VERSION, 1,
1432 [Define if <thread_db.h> has the TD_VERSION error code.])
1434 if test "x$gdb_cv_thread_db_h_has_td_notls" = "xyes"; then
1435 AC_DEFINE(THREAD_DB_HAS_TD_NOTLS, 1,
1436 [Define if <thread_db.h> has the TD_NOTLS error code.])
1439 dnl See if we have a sys/syscall header file that has __NR_tkill.
1440 if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1441 AC_CACHE_CHECK([whether <sys/syscall.h> has __NR_tkill],
1442 gdb_cv_sys_syscall_h_has_tkill,
1444 [#include <sys/syscall.h>],
1445 [int i = __NR_tkill;],
1446 gdb_cv_sys_syscall_h_has_tkill=yes,
1447 gdb_cv_sys_syscall_h_has_tkill=no
1451 dnl See if we can issue tkill syscall.
1452 if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1453 AC_DEFINE(HAVE_TKILL_SYSCALL, 1, [Define if you support the tkill syscall.])
1456 dnl Check if we can disable the virtual address space randomization.
1457 dnl The functionality of setarch -R.
1458 AC_CHECK_DECLS([ADDR_NO_RANDOMIZE],,, [#include <sys/personality.h>])
1459 define([PERSONALITY_TEST], [AC_LANG_PROGRAM([#include <sys/personality.h>], [
1460 # if !HAVE_DECL_ADDR_NO_RANDOMIZE
1461 # define ADDR_NO_RANDOMIZE 0x0040000
1463 /* Test the flag could be set and stays set. */
1464 personality (personality (0xffffffff) | ADDR_NO_RANDOMIZE);
1465 if (!(personality (personality (0xffffffff)) & ADDR_NO_RANDOMIZE))
1467 AC_RUN_IFELSE([PERSONALITY_TEST],
1468 [have_personality=true],
1469 [have_personality=false],
1470 [AC_LINK_IFELSE([PERSONALITY_TEST],
1471 [have_personality=true],
1472 [have_personality=false])])
1473 if $have_personality
1475 AC_DEFINE([HAVE_PERSONALITY], 1,
1476 [Define if you support the personality syscall.])
1479 dnl Handle optional features that can be enabled.
1481 target_sysroot_reloc=0
1482 AC_ARG_WITH(sysroot,
1483 AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [search for usr/lib et al within DIR]),
1485 case ${with_sysroot} in
1486 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
1487 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1490 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1492 if test "x$prefix" = xNONE; then
1493 test_prefix=/usr/local
1497 if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
1498 test_exec_prefix=$test_prefix
1500 test_exec_prefix=$exec_prefix
1502 case ${TARGET_SYSTEM_ROOT} in
1503 "${test_prefix}"|"${test_prefix}/"*|\
1504 "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
1505 '${prefix}'|'${prefix}/'*|\
1506 '${exec_prefix}'|'${exec_prefix}/'*)
1507 target_sysroot_reloc=1
1512 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1514 TARGET_SYSTEM_ROOT_DEFINE="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE=$target_sysroot_reloc"
1515 AC_SUBST(TARGET_SYSTEM_ROOT)
1516 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1518 GDB_AC_WITH_DIR(SYSTEM_GDBINIT, system-gdbinit,
1519 [automatically load a system-wide gdbinit file],
1522 AC_ARG_ENABLE(werror,
1523 AS_HELP_STRING([--enable-werror], [treat compile warnings as errors]),
1524 [case "${enableval}" in
1525 yes | y) ERROR_ON_WARNING="yes" ;;
1526 no | n) ERROR_ON_WARNING="no" ;;
1527 *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
1530 # Enable -Werror by default when using gcc
1531 if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
1532 ERROR_ON_WARNING=yes
1536 if test "${ERROR_ON_WARNING}" = yes ; then
1537 WERROR_CFLAGS="-Werror"
1540 # The entries after -Wno-pointer-sign are disabled warnings which may
1541 # be enabled in the future, which can not currently be used to build
1543 # NOTE: If you change this list, remember to update
1544 # gdb/doc/gdbint.texinfo.
1545 build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
1546 -Wformat-nonliteral -Wno-pointer-sign \
1547 -Wno-unused -Wunused-value -Wunused-function \
1548 -Wno-switch -Wno-char-subscripts"
1550 # Enable -Wno-format by default when using gcc on mingw since many
1551 # GCC versions complain about %I64.
1553 *-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;;
1556 AC_ARG_ENABLE(build-warnings,
1557 AS_HELP_STRING([--enable-build-warnings], [enable build-time compiler warnings if gcc is used]),
1558 [case "${enableval}" in
1560 no) build_warnings="-w";;
1561 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1562 build_warnings="${build_warnings} ${t}";;
1563 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1564 build_warnings="${t} ${build_warnings}";;
1565 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1567 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1568 echo "Setting compiler warning flags = $build_warnings" 6>&1
1570 AC_ARG_ENABLE(gdb-build-warnings,
1571 AS_HELP_STRING([--enable-gdb-build-warnings], [enable GDB specific build-time compiler warnings if gcc is used]),
1572 [case "${enableval}" in
1574 no) build_warnings="-w";;
1575 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1576 build_warnings="${build_warnings} ${t}";;
1577 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1578 build_warnings="${t} ${build_warnings}";;
1579 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1581 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1582 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1585 if test "x${build_warnings}" != x -a "x$GCC" = xyes
1587 AC_MSG_CHECKING(compiler warning flags)
1588 # Separate out the -Werror flag as some files just cannot be
1589 # compiled with it enabled.
1590 for w in ${build_warnings}; do
1592 -Werr*) WERROR_CFLAGS=-Werror ;;
1593 *) # Check that GCC accepts it
1594 saved_CFLAGS="$CFLAGS"
1596 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1597 CFLAGS="$saved_CFLAGS"
1600 AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
1602 AC_SUBST(WARN_CFLAGS)
1603 AC_SUBST(WERROR_CFLAGS)
1605 # In the Cygwin environment, we need some additional flags.
1606 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1607 [AC_EGREP_CPP(lose, [
1608 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
1610 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1613 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1614 SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1616 *go32* ) SER_HARDWIRE=ser-go32.o ;;
1617 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1618 *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
1620 AC_SUBST(SER_HARDWIRE)
1622 # libreadline needs libuser32.a in a cygwin environment
1624 if test x$gdb_cv_os_cygwin = xyes; then
1625 WIN32LIBS="-luser32"
1627 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1632 # The ser-tcp.c module requires sockets.
1635 AC_DEFINE(USE_WIN32API, 1,
1636 [Define if we should use the Windows API, instead of the
1637 POSIX API. On Windows, we use the Windows API when
1638 building for MinGW, but the POSIX API when building
1640 WIN32LIBS="$WIN32LIBS -lws2_32"
1645 # Add ELF support to GDB, but only if BFD includes ELF support.
1647 OLD_LDFLAGS=$LDFLAGS
1649 CFLAGS="$CFLAGS -I${srcdir}/../include -I../bfd -I${srcdir}/../bfd"
1650 LDFLAGS="$LDFLAGS -L../bfd -L../libiberty"
1651 intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
1652 LIBS="-lbfd -liberty $intl $LIBS"
1653 AC_CACHE_CHECK([for ELF support in BFD], gdb_cv_var_elf,
1655 [#include <stdlib.h>
1657 #include "elf-bfd.h"
1659 [bfd *abfd = NULL; bfd_get_elf_phdr_upper_bound (abfd); ],
1660 gdb_cv_var_elf=yes, gdb_cv_var_elf=no)])
1661 if test $gdb_cv_var_elf = yes; then
1662 CONFIG_OBS="$CONFIG_OBS elfread.o"
1663 AC_DEFINE(HAVE_ELF, 1,
1664 [Define if ELF support should be included.])
1667 LDFLAGS=$OLD_LDFLAGS
1670 # Add any host-specific objects to GDB.
1671 CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
1673 LIBGUI="../libgui/src/libgui.a"
1674 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1676 AC_SUBST(GUI_CFLAGS_X)
1680 AC_SUBST(WIN32LDAPP)
1683 *-*-cygwin* | *-*-mingw* )
1692 if test "${enable_gdbtk}" = "yes"; then
1694 # Gdbtk must have an absolute path to srcdir in order to run
1695 # properly when not installed.
1703 # If $no_tk is nonempty, then we can't do Tk, and there is no
1704 # point to doing Tcl.
1707 if test -z "${no_tcl}" -a -z "${no_tk}"; then
1710 # Check for in-tree tcl
1717 if test "${TCL_SRC_DIR}" = "${topdir}/tcl"; then
1721 # Find Tcl private headers
1722 if test x"${intree}" = xno; then
1723 CY_AC_TCL_PRIVATE_HEADERS
1724 TCL_INCLUDE="${TCL_INCLUDE_SPEC} ${TCL_PRIVATE_INCLUDE}"
1725 TCL_LIBRARY="${TCL_LIB_SPEC}"
1728 # If building tcl in the same src tree, private headers
1729 # are not needed, but we need to be sure to use the right
1731 TCL_INCLUDE="-I${TCL_SRC_DIR}/generic"
1732 TCL_LIBRARY="${TCL_BUILD_LIB_SPEC}"
1733 TCL_DEPS="../tcl/${configdir}${TCL_LIB_FILE}"
1735 AC_SUBST(TCL_INCLUDE)
1736 AC_SUBST(TCL_LIBRARY)
1741 # Check for in-tree Tk
1743 if test "${TK_SRC_DIR}" = "${topdir}/tk"; then
1747 # Find Tk private headers
1748 if test x"${intree}" = xno; then
1749 CY_AC_TK_PRIVATE_HEADERS
1750 TK_INCLUDE="${TK_INCLUDE_SPEC} ${TK_PRIVATE_INCLUDE}"
1751 TK_LIBRARY=${TK_LIB_SPEC}
1754 TK_INCLUDE="-I${TK_SRC_DIR}/generic"
1755 TK_LIBRARY="${TK_BUILD_LIB_SPEC}"
1756 TK_DEPS="../tk/${configdir}/${TK_LIB_FILE}"
1758 AC_SUBST(TK_INCLUDE)
1759 AC_SUBST(TK_LIBRARY)
1761 AC_SUBST(TK_XINCLUDES)
1763 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1765 # Include some libraries that Tcl and Tk want.
1766 TCL_LIBS='$(LIBGUI) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1767 # Yes, the ordering seems wrong here. But it isn't.
1768 # TK_LIBS is the list of libraries that need to be linked
1769 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1770 # were in LIBS then any link tests after this point would
1771 # try to include things like `$(LIBGUI)', which wouldn't work.
1772 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1774 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1775 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1776 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1777 CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1778 CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1779 CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1780 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1782 if test x$gdb_cv_os_cygwin = xyes; then
1783 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1784 WIN32LDAPP="-Wl,--subsystem,console"
1785 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1788 AC_CONFIG_SUBDIRS(gdbtk)
1796 AC_SUBST(GDBTK_CFLAGS)
1797 AC_SUBST(GDBTK_SRC_DIR)
1801 # Unlike the sim directory, whether a simulator is linked is controlled by
1802 # presence of a gdb_sim definition in the target configure.tgt entry.
1803 # This code just checks for a few cases where we'd like to ignore those
1804 # definitions, even when they're present in the '.mt' file. These cases
1805 # are when --disable-sim is specified, or if the simulator directory is
1806 # not part of the source tree.
1809 AS_HELP_STRING([--enable-sim], [link gdb with simulator]),
1810 [echo "enable_sim = $enable_sim";
1811 echo "enableval = ${enableval}";
1812 case "${enableval}" in
1813 yes) ignore_sim=false ;;
1814 no) ignore_sim=true ;;
1815 *) ignore_sim=false ;;
1819 if test ! -d "${srcdir}/../sim"; then
1825 if test "${ignore_sim}" = "false"; then
1826 if test x"${gdb_sim}" != x ; then
1828 SIM_OBS="remote-sim.o"
1829 AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
1835 AC_SUBST(ENABLE_CFLAGS)
1836 AC_SUBST(PROFILE_CFLAGS)
1838 AC_SUBST(CONFIG_OBS)
1839 AC_SUBST(CONFIG_DEPS)
1840 AC_SUBST(CONFIG_SRCS)
1841 AC_SUBST(CONFIG_ALL)
1842 AC_SUBST(CONFIG_CLEAN)
1843 AC_SUBST(CONFIG_INSTALL)
1844 AC_SUBST(CONFIG_UNINSTALL)
1846 # List of host floatformats.
1847 AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
1848 AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
1849 AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
1851 # target_subdir is used by the testsuite to find the target libraries.
1853 if test "${host}" != "${target}"; then
1854 target_subdir="${target_alias}/"
1856 AC_SUBST(target_subdir)
1859 if test "${gdb_native}" = "yes"; then
1860 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1861 if test ! -f ${host_makefile_frag}; then
1862 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1864 frags="$frags $host_makefile_frag"
1866 host_makefile_frag=/dev/null
1869 AC_SUBST_FILE(host_makefile_frag)
1873 if test "${gdb_native}" = "yes"; then
1874 # We pick this up from the host configuration file (.mh) because we
1875 # do not have a native configuration Makefile fragment.
1876 nativefile=`sed -n '
1877 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1878 ' ${host_makefile_frag}`
1882 if test x"${gdb_osabi}" != x ; then
1883 AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1884 [Define to the default OS ABI for this configuration.])
1887 # Enable multi-ice-gdb-server.
1888 AC_ARG_ENABLE(multi-ice,
1889 AS_HELP_STRING([--enable-multi-ice], [build the multi-ice-gdb-server]),
1893 *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1895 if test "x$enable_multi_ice" = xyes; then
1896 AC_CONFIG_SUBDIRS(multi-ice)
1899 # We only build gdbserver automatically in a native configuration.
1900 if test "$gdb_native" = "yes"; then
1901 AC_MSG_CHECKING(whether gdbserver is supported on this host)
1902 if test "x$build_gdbserver" = xyes; then
1904 AC_CONFIG_SUBDIRS(gdbserver)
1910 # If nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
1911 # to an empty version.
1917 if test "${nativefile}" != ""; then
1918 case "${nativefile}" in
1919 nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
1920 * ) GDB_NM_FILE="${nativefile}"
1922 files="${files} ${GDB_NM_FILE}"
1923 links="${links} nm.h"
1924 AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
1926 AC_SUBST(GDB_NM_FILE)
1928 AC_LINK_FILES($files, $links)
1930 dnl Check for exe extension set on certain hosts (e.g. Win32)
1933 dnl Detect the character set used by this host.
1934 dnl At the moment, we just assume it's UTF-8.
1935 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF-8",
1936 [Define to be a string naming the default host character set.])
1938 AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile,
1940 case x$CONFIG_HEADERS in
1941 xconfig.h:config.in)