1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
3 dnl Free Software Foundation, Inc.
5 dnl This file is part of GDB.
7 dnl This program is free software; you can redistribute it and/or modify
8 dnl it under the terms of the GNU General Public License as published by
9 dnl the Free Software Foundation; either version 2 of the License, or
10 dnl (at your option) any later version.
12 dnl This program is distributed in the hope that it will be useful,
13 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
14 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 dnl GNU General Public License for more details.
17 dnl You should have received a copy of the GNU General Public License
18 dnl along with this program; if not, write to the Free Software
19 dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 dnl Process this file with autoconf to produce a configure script.
25 AC_CONFIG_HEADER(config.h:config.in)
34 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
37 # FIXME: kettenis/20030102: The AC_PROG_RANLIB from Autoconf 2.13
38 # doesn't support cross-compilation, but the one from Autoconf 2.5x
39 # does. Override RANLIB here (i.e. before running AC_PROG_RANLIB) to
40 # deal with the lossage. Note that CY_GNU_GETTEXT currently calls
41 # AC_PROG_RANLIB. This can be removed when we switch to # Autoconf
43 AC_CHECK_TOOL(RANLIB, ranlib, :)
45 dnl Set up for gettext. PACKAGE is used when we call bindtextdomain.
48 AC_DEFINE(PACKAGE, "gdb", [Name of this package. ])
51 dnl List of object files added by configure.
64 AC_CONFIG_SUBDIRS(doc testsuite)
67 . $srcdir/configure.host
69 . $srcdir/configure.tgt
71 # Fetch the default architecture and default target vector from BFD.
72 targ=$target; . $srcdir/../bfd/config.bfd
74 # We only want the first architecture, so strip off the others if
75 # there is more than one.
76 targ_archs=`echo $targ_archs | sed 's/ .*//'`
78 if test "x$targ_archs" != x; then
79 AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
80 [Define to BFD's default architecture. ])
82 if test "x$targ_defvec" != x; then
83 AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
84 [Define to BFD's default target vector. ])
89 # The CLI cannot be disabled yet, but may be in the future.
93 [ --disable-gdbcli disable command-line interface (CLI)],
98 AC_MSG_ERROR([the command-line interface cannot be disabled yet]) ;;
100 AC_MSG_ERROR([bad value $enableval for --enable-gdbcli]) ;;
103 if test x"$enable_gdbcli" = xyes; then
104 if test -d $srcdir/cli; then
105 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_CLI_OBS)"
106 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_CLI_DEPS)"
107 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_CLI_SRCS)"
108 CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_CLI_INITS)"
109 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_CLI_CFLAGS)"
110 CONFIG_ALL="$CONFIG_ALL \$(SUBDIR_CLI_ALL)"
111 CONFIG_CLEAN="$CONFIG_CLEAN \$(SUBDIR_CLI_CLEAN)"
112 CONFIG_INSTALL="$CONFIG_INSTALL \$(SUBDIR_CLI_INSTALL)"
113 CONFIG_UNINSTALL="$CONFIG_UNINSTALL \$(SUBDIR_CLI_UNINSTALL)"
119 [ --disable-gdbmi disable machine-interface (MI)],
124 AC_MSG_ERROR([bad value $enableval for --enable-gdbmi]) ;;
127 if test x"$enable_gdbmi" = xyes; then
128 if test -d $srcdir/mi; then
129 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
130 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
131 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
132 CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_MI_INITS)"
133 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)"
134 CONFIG_ALL="$CONFIG_ALL \$(SUBDIR_MI_ALL)"
135 CONFIG_CLEAN="$CONFIG_CLEAN \$(SUBDIR_MI_CLEAN)"
136 CONFIG_INSTALL="$CONFIG_INSTALL \$(SUBDIR_MI_INSTALL)"
137 CONFIG_UNINSTALL="$CONFIG_UNINSTALL \$(SUBDIR_MI_UNINSTALL)"
143 [ --enable-tui enable full-screen terminal user interface (TUI)],
148 AC_MSG_ERROR([bad value $enableval for --enable-tui]) ;;
150 if test x"$enable_tui" = xyes; then
151 if test -d $srcdir/tui; then
152 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
153 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
154 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
155 CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_TUI_INITS)"
156 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
157 CONFIG_ALL="$CONFIG_ALL \$(SUBDIR_TUI_ALL)"
158 CONFIG_CLEAN="$CONFIG_CLEAN \$(SUBDIR_TUI_CLEAN)"
159 CONFIG_INSTALL="$CONFIG_INSTALL \$(SUBDIR_TUI_INSTALL)"
160 CONFIG_UNINSTALL="$CONFIG_UNINSTALL \$(SUBDIR_TUI_UNINSTALL)"
167 [ --enable-gdbtk enable gdbtk graphical user interface (GUI)],
172 AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;;
174 [if test -d $srcdir/gdbtk; then
179 # We unconditionally disable gdbtk tests on selected platforms.
182 AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
187 AC_ARG_ENABLE(profiling,
188 [ --enable-profiling enable profiling of GDB],
193 AC_MSG_ERROR([bad value $enableval for --enable-profile]) ;;
195 [enable_profiling=no])
197 if test "$enable_profiling" = yes ; then
200 CFLAGS="$CFLAGS $PROFILE_CFLAGS"
202 AC_CHECK_FUNC(monstartup, [],
203 AC_MSG_ERROR(monstartup necessary to use --enable-profiling.))
205 AC_CHECK_FUNC(_mcleanup, [],
206 AC_MSG_ERROR(_mcleanup necessary to use --enable-profiling.))
211 # --------------------- #
212 # Checks for programs. #
213 # --------------------- #
221 AC_CHECK_TOOL(AR, ar)
222 AC_CHECK_TOOL(DLLTOOL, dlltool)
223 AC_CHECK_TOOL(WINDRES, windres)
225 # Needed for GNU/Hurd.
226 AC_CHECK_TOOL(MIG, mig)
228 # ---------------------- #
229 # Checks for libraries. #
230 # ---------------------- #
232 # We might need to link with -lm; most simulators need it.
233 AC_CHECK_LIB(m, main)
235 # We need to link with -lw to get `wctype' on Solaris before Solaris
236 # 2.6. Solaris 2.6 and beyond have this function in libc, and have a
237 # libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
238 # is known to have this problem). Therefore we avoid libw if we can.
239 AC_CHECK_FUNC(wctype, [],
240 [AC_CHECK_LIB(w, wctype)])
242 # Some systems (e.g. Solaris) have `socketpair' in libsocket.
243 AC_SEARCH_LIBS(socketpair, socket)
245 # Since GDB uses Readline, we need termcap functionality, so we need
246 # to find a library that provides that. When GDB is configured with
247 # --enable-tui, we need full curses functionality.
249 # FIXME: kettenis/20030102: We seem to prefer HP curses (Hcurses) over
250 # Xcurses on HP-UX; see the `-D__HP_CURSES' in the relevant host
251 # Makefile fragments. That's why we need to have `Hcurses' before
252 # `curses'. I don't see why we should use HP curses if a more
253 # standard curses is available, except that according to HP's
254 # documentation one needs to compile `-D_XOPEN_SOURCE_EXTENDED' on
255 # HP-UX 10.10 and 10.20.
257 if test "$need_curses" = yes; then
258 AC_SEARCH_LIBS(initscr, [ncurses Hcurses curses], [],
259 [AC_MSG_ERROR([no curses library found])])
264 if test -d $srcdir/libtermcap; then
265 LIBS="../libtermcap/libtermcap.a $LIBS"
266 ac_cv_search_tgetent="../libtermcap/libtermcap.a"
269 # ??? Is this really true?
270 ac_cv_search_tgetent="none required"
273 # Readline prefers curses over termcap on AIX.
275 AC_SEARCH_LIBS(tgetent, [tinfo ncurses curses termcap])
279 # Note: We used to check for libtermlib and libterminfo too, but
280 # Readline doesn't, so I think we're safe with leaving them out.
281 AC_SEARCH_LIBS(tgetent, [termcap tinfo ncurses Hcurses curses])
283 if test "$ac_cv_search_tgetent" = no; then
284 AC_MSG_ERROR([no termcap library found])
287 # ------------------------- #
288 # Checks for header files. #
289 # ------------------------- #
294 AC_CHECK_HEADERS(link.h)
295 AC_CHECK_HEADERS(nlist.h)
296 AC_CHECK_HEADERS(poll.h sys/poll.h)
297 AC_CHECK_HEADERS(proc_service.h thread_db.h)
298 AC_CHECK_HEADERS(stddef.h)
299 AC_CHECK_HEADERS(stdlib.h)
300 AC_CHECK_HEADERS(stdint.h)
301 AC_CHECK_HEADERS(string.h memory.h strings.h)
302 AC_CHECK_HEADERS(sys/fault.h)
303 AC_CHECK_HEADERS(sys/file.h)
304 AC_CHECK_HEADERS(sys/filio.h)
305 AC_CHECK_HEADERS(sys/ioctl.h)
306 AC_CHECK_HEADERS(sys/param.h)
307 AC_CHECK_HEADERS(sys/proc.h)
308 AC_CHECK_HEADERS(sys/procfs.h)
309 AC_CHECK_HEADERS(sys/ptrace.h ptrace.h)
310 AC_CHECK_HEADERS(sys/reg.h sys/debugreg.h)
311 AC_CHECK_HEADERS(sys/select.h)
312 AC_CHECK_HEADERS(sys/syscall.h)
313 AC_CHECK_HEADERS(sys/user.h)
314 AC_CHECK_HEADERS(sys/wait.h wait.h)
315 AC_CHECK_HEADERS(termios.h termio.h sgtty.h)
316 AC_CHECK_HEADERS(unistd.h)
318 # On Solaris 2.[78], we need to define _MSE_INT_H to avoid a clash
319 # between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
320 # think that we don't have <curses.h> if we're using GCC.
323 if test "$GCC" = yes; then
324 AC_DEFINE(_MSE_INT_H, 1,
325 [[Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
326 Solaris 2.[78] when using GCC. ]])
329 AC_CHECK_HEADERS(curses.h ncurses.h term.h)
331 # FIXME: kettenis/20030102: In most cases we include these
332 # unconditionally, so what's the point in checking these?
333 AC_CHECK_HEADERS(ctype.h time.h)
335 # ------------------ #
336 # Checks for types. #
337 # ------------------ #
341 # ------------------------------------- #
342 # Checks for compiler characteristics. #
343 # ------------------------------------- #
348 # ------------------------------ #
349 # Checks for library functions. #
350 # ------------------------------ #
355 AC_CHECK_FUNCS(canonicalize_file_name realpath)
357 AC_CHECK_FUNCS(pread64)
359 AC_CHECK_FUNCS(setpgid setpgrp)
360 AC_CHECK_FUNCS(sigaction sigprocmask sigsetmask)
361 AC_CHECK_FUNCS(socketpair)
363 dnl AC_FUNC_SETPGRP does not work when cross compiling
364 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
365 if test "$cross_compiling" = no; then
368 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
372 if (setpgrp(1,1) == -1)
376 ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
377 if test $ac_cv_func_setpgrp_void = yes; then
378 AC_DEFINE(SETPGRP_VOID, 1)
382 # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
383 # since sigsetjmp might only be defined as a macro.
384 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
387 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
388 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
389 if test $gdb_cv_func_sigsetjmp = yes; then
390 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
393 # Assume we'll default to using the included libiberty regex.
394 gdb_use_included_regex=yes
396 # However, if the system regex is GNU regex, then default to *not*
397 # using the included regex.
400 [gdb_cv_have_gnu_regex],
402 [#include <gnu-versions.h>],
403 [#define REGEX_INTERFACE_VERSION 1
404 #if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
405 # error "Version mismatch"
407 gdb_cv_have_gnu_regex=yes,
408 gdb_cv_have_gnu_regex=no)])
409 if test $gdb_cv_have_gnu_regex = yes; then
410 gdb_use_included_regex=no
413 AC_ARG_WITH(included-regex,
414 [ --without-included-regex don't use included regex; this is the default
415 on systems with version 2 of the GNU C library
416 (use with caution on other system)],
417 gdb_with_regex=$withval,
418 gdb_with_regex=$gdb_use_included_regex)
419 if test "$gdb_with_regex" = yes; then
420 AC_DEFINE(USE_INCLUDED_REGEX, 1,
421 [Define to 1 if the regex included in libiberty should be used.])
424 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
425 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
426 AC_CACHE_CHECK([for r_fs in struct reg], gdb_cv_struct_reg_r_fs,
427 [AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_fs;],
428 gdb_cv_struct_reg_r_fs=yes, gdb_cv_struct_reg_r_fs=no)])
429 if test $gdb_cv_struct_reg_r_fs = yes; then
430 AC_DEFINE(HAVE_STRUCT_REG_R_FS)
432 AC_CACHE_CHECK([for r_gs in struct reg], gdb_cv_struct_reg_r_gs,
433 [AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_gs;],
434 gdb_cv_struct_reg_r_gs=yes, gdb_cv_struct_reg_r_gs=no)])
435 if test $gdb_cv_struct_reg_r_gs = yes; then
436 AC_DEFINE(HAVE_STRUCT_REG_R_GS)
439 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
440 AC_MSG_CHECKING(for PTRACE_GETREGS)
441 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
442 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
444 [gdb_cv_have_ptrace_getregs=yes],
445 [gdb_cv_have_ptrace_getregs=no])])
446 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
447 if test $gdb_cv_have_ptrace_getregs = yes; then
448 AC_DEFINE(HAVE_PTRACE_GETREGS)
451 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
452 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
453 AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
454 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
455 [PTRACE_GETFPXREGS;],
456 [gdb_cv_have_ptrace_getfpxregs=yes],
457 [gdb_cv_have_ptrace_getfpxregs=no])])
458 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
459 if test $gdb_cv_have_ptrace_getfpxregs = yes; then
460 AC_DEFINE(HAVE_PTRACE_GETFPXREGS)
463 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
464 AC_MSG_CHECKING(for PT_GETDBREGS)
465 AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
466 [AC_TRY_COMPILE([#include <sys/types.h>
467 #include <sys/ptrace.h>],
469 [gdb_cv_have_pt_getdbregs=yes],
470 [gdb_cv_have_pt_getdbregs=no])])
471 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
472 if test $gdb_cv_have_pt_getdbregs = yes; then
473 AC_DEFINE(HAVE_PT_GETDBREGS)
476 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
477 AC_MSG_CHECKING(for PT_GETXMMREGS)
478 AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
479 [AC_TRY_COMPILE([#include <sys/types.h>
480 #include <sys/ptrace.h>],
482 [gdb_cv_have_pt_getxmmregs=yes],
483 [gdb_cv_have_pt_getxmmregs=no])])
484 AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
485 if test $gdb_cv_have_pt_getxmmregs = yes; then
486 AC_DEFINE(HAVE_PT_GETXMMREGS)
490 BFD_NEED_DECLARATION(malloc)
491 BFD_NEED_DECLARATION(realloc)
492 BFD_NEED_DECLARATION(free)
493 BFD_NEED_DECLARATION(strerror)
494 BFD_NEED_DECLARATION(strdup)
495 BFD_NEED_DECLARATION(strstr)
496 BFD_NEED_DECLARATION(canonicalize_file_name)
498 # The following save_state_t checkery is only necessary for HPUX
499 # versions earlier than 10.20. When those fade from memory, this
500 # could be expunged. --jsm 1999-03-22
502 AC_MSG_CHECKING(for HPUX save_state structure)
503 AC_EGREP_HEADER(save_state_t, machine/save_state.h,
504 gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)
505 AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,
506 gdb_cv_hpux_sswide=no)
507 if test $gdb_cv_hpux_savestate = yes
509 AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)
511 if test $gdb_cv_hpux_sswide = yes
513 AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)
515 AC_MSG_RESULT($gdb_cv_hpux_sswide)
518 # If we are configured native on GNU/Linux, work around problems with
520 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
522 if test "${target}" = "${host}"; then
524 i[[3456]]86-*-linux*)
525 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
526 AC_DEFINE(sys_quotactl)
529 AC_DEFINE(NEW_PROC_API)
531 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
532 AC_DEFINE(NEW_PROC_API)
534 *-*-solaris2.[[678]])
535 AC_DEFINE(NEW_PROC_API)
540 if test "$ac_cv_header_sys_procfs_h" = yes; then
541 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
542 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
543 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
544 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
545 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
546 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
547 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
548 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
549 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
550 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
551 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
552 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
553 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
554 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
557 dnl Check for broken prfpregset_t type
559 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
560 dnl prfpregset_t type (it's a typedef for the pointer to a struct
561 dnl instead of the struct itself). We detect this here, and work
562 dnl around it in gdb_proc_service.h.
564 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
565 AC_MSG_CHECKING(whether prfpregset_t type is broken)
566 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
567 [AC_TRY_RUN([#include <sys/procfs.h>
570 if (sizeof (prfpregset_t) == sizeof (void *))
574 gdb_cv_prfpregset_t_broken=no,
575 gdb_cv_prfpregset_t_broken=yes,
576 gdb_cv_prfpregset_t_broken=yes)])
577 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
578 if test $gdb_cv_prfpregset_t_broken = yes; then
579 AC_DEFINE(PRFPREGSET_T_BROKEN)
583 dnl Check for PIOCSET ioctl entry
585 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
586 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
587 [AC_TRY_COMPILE([#include <unistd.h>
588 #include <sys/types.h>
589 #include <sys/procfs.h>
592 dummy = ioctl(0, PIOCSET, &dummy);
594 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
595 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
596 if test $gdb_cv_have_procfs_piocset = yes; then
597 AC_DEFINE(HAVE_PROCFS_PIOCSET)
601 dnl For native ports (host == target), check to see what kind of
602 dnl legacy link.h support is needed. (See solib-legacy.c.)
603 if test ${host} = ${target} ; then
604 dnl Check for struct link_map with l_ members which are indicative
605 dnl of SVR4-like shared libraries
607 AC_MSG_CHECKING(for member l_addr in struct link_map)
608 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
609 [AC_TRY_COMPILE([#include <link.h>],
610 [struct link_map lm; (void) lm.l_addr;],
611 gdb_cv_have_struct_link_map_with_l_members=yes,
612 gdb_cv_have_struct_link_map_with_l_members=no)])
613 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
614 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
615 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS)
618 dnl Check for struct link_map with lm_ members which are indicative
619 dnl of SunOS-like shared libraries
621 AC_MSG_CHECKING(for member lm_addr in struct link_map)
622 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
623 [AC_TRY_COMPILE([#include <sys/types.h>
625 [struct link_map lm; (void) lm.lm_addr;],
626 gdb_cv_have_struct_link_map_with_lm_members=yes,
627 gdb_cv_have_struct_link_map_with_lm_members=no)])
628 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
629 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
630 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS)
633 dnl Check for struct so_map with som_ members which are found on
634 dnl some *BSD systems.
636 AC_MSG_CHECKING(for member som_addr in struct so_map)
637 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
638 [AC_TRY_COMPILE([#include <sys/types.h>
643 [struct so_map lm; (void) lm.som_addr;],
644 gdb_cv_have_struct_so_map_with_som_members=yes,
645 gdb_cv_have_struct_so_map_with_som_members=no)])
646 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
647 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
648 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS)
651 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
652 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
654 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
655 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
656 [AC_TRY_COMPILE([#define _SYSCALL32
657 #include <sys/link.h>], [struct link_map32 l;],
658 gdb_cv_have_struct_link_map32=yes,
659 gdb_cv_have_struct_link_map32=no)])
660 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
661 if test $gdb_cv_have_struct_link_map32 = yes; then
662 AC_DEFINE(HAVE_STRUCT_LINK_MAP32)
663 AC_DEFINE(_SYSCALL32)
667 dnl See if compiler supports "long long" type.
669 AC_MSG_CHECKING(for long long support in compiler)
670 AC_CACHE_VAL(gdb_cv_c_long_long,
672 extern long long foo;
673 switch (foo & 2) { case 0: return 1; }
675 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
676 AC_MSG_RESULT($gdb_cv_c_long_long)
677 if test $gdb_cv_c_long_long = yes; then
678 AC_DEFINE(CC_HAS_LONG_LONG)
681 dnl See if the compiler and runtime support printing long long
683 AC_MSG_CHECKING(for long long support in printf)
684 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
689 l = (l << 16) + 0x0123;
690 l = (l << 16) + 0x4567;
691 l = (l << 16) + 0x89ab;
692 l = (l << 16) + 0xcdef;
693 sprintf (buf, "0x%016llx", l);
694 return (strcmp ("0x0123456789abcdef", buf));
696 gdb_cv_printf_has_long_long=yes,
697 gdb_cv_printf_has_long_long=no,
698 gdb_cv_printf_has_long_long=no)])
699 if test $gdb_cv_printf_has_long_long = yes; then
700 AC_DEFINE(PRINTF_HAS_LONG_LONG)
702 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
704 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
705 dnl because autoconf complains about cross-compilation issues. However, this
706 dnl code uses the same variables as the macro for compatibility.
708 AC_MSG_CHECKING(for long double support in compiler)
709 AC_CACHE_VAL(ac_cv_c_long_double,
710 [AC_TRY_COMPILE(, [long double foo;],
711 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
712 AC_MSG_RESULT($ac_cv_c_long_double)
713 if test $ac_cv_c_long_double = yes; then
714 AC_DEFINE(HAVE_LONG_DOUBLE)
717 dnl See if the compiler and runtime support printing long doubles
719 AC_MSG_CHECKING(for long double support in printf)
720 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
724 long double f = 3.141592653;
725 sprintf (buf, "%Lg", f);
726 return (strncmp ("3.14159", buf, 7));
728 gdb_cv_printf_has_long_double=yes,
729 gdb_cv_printf_has_long_double=no,
730 gdb_cv_printf_has_long_double=no)])
731 if test $gdb_cv_printf_has_long_double = yes; then
732 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
734 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
736 dnl See if the compiler and runtime support scanning long doubles
738 AC_MSG_CHECKING(for long double support in scanf)
739 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
742 char *buf = "3.141592653";
744 sscanf (buf, "%Lg", &f);
745 return !(f > 3.14159 && f < 3.14160);
747 gdb_cv_scanf_has_long_double=yes,
748 gdb_cv_scanf_has_long_double=no,
749 gdb_cv_scanf_has_long_double=no)])
750 if test $gdb_cv_scanf_has_long_double = yes; then
751 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
753 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
757 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
758 SAVE_LDFLAGS=$LDFLAGS
761 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
762 *) gdb_cv_bigtoc=-bbigtoc ;;
765 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
766 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
768 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
773 dnl For certain native configurations, we need to check whether thread
774 dnl support can be built in or not.
776 dnl Note that we only want this if we are both native (host == target),
777 dnl and not doing a canadian cross build (build == host).
779 if test ${build} = ${host} -a ${host} = ${target} ; then
782 AC_MSG_CHECKING(for HPUX/OSF thread support)
783 if test -f /usr/include/dce/cma_config.h ; then
784 if test "$GCC" = "yes" ; then
786 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
787 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} hpux-thread.o"
788 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
790 AC_MSG_RESULT(no (suppressed because you are not using GCC))
797 # See if thread_db library is around for Solaris thread debugging.
798 # Note that we must explicitly test for version 1 of the library
799 # because version 0 (present on Solaris 2.4 or earlier) doesn't have
801 AC_MSG_CHECKING(for Solaris thread debugging library)
802 if test -f /usr/lib/libthread_db.so.1 ; then
804 AC_DEFINE(HAVE_THREAD_DB_LIB)
805 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} sol-thread.o"
806 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
807 AC_CHECK_LIB(dl, dlopen)
808 if test "$GCC" = "yes" ; then
809 # The GNU linker requires the -export-dynamic option to make
810 # all symbols visible in the dynamic symbol table.
811 hold_ldflags=$LDFLAGS
812 AC_MSG_CHECKING(for the ld -export-dynamic flag)
813 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
814 AC_TRY_LINK(, [int i;], found=yes, found=no)
815 LDFLAGS=$hold_ldflags
816 AC_MSG_RESULT($found)
817 if test $found = yes; then
818 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
821 # Sun randomly tweaked the prototypes in <proc_service.h>
823 AC_MSG_CHECKING(if <proc_service.h> is old)
824 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
826 #include <proc_service.h>
828 (struct ps_prochandle*, psaddr_t, const void*, size_t);
829 ],, gdb_cv_proc_service_is_old=no,
830 gdb_cv_proc_service_is_old=yes)
832 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
833 if test $gdb_cv_proc_service_is_old = yes; then
834 AC_DEFINE(PROC_SERVICE_IS_OLD)
841 AC_MSG_CHECKING(for AiX thread debugging library)
842 AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
843 [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
844 [#ifndef PTHDB_VERSION_3
847 gdb_cv_have_aix_thread_debug=yes,
848 gdb_cv_have_aix_thread_debug=no)])
849 AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
850 if test $gdb_cv_have_aix_thread_debug = yes; then
851 CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
852 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} aix-thread.o"
853 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
857 AC_SUBST(CONFIG_LDFLAGS)
860 dnl See if we have a thread_db header file that has TD_NOTALLOC.
861 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
862 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
863 gdb_cv_thread_db_h_has_td_notalloc,
865 [#include <thread_db.h>],
866 [int i = TD_NOTALLOC;],
867 gdb_cv_thread_db_h_has_td_notalloc=yes,
868 gdb_cv_thread_db_h_has_td_notalloc=no
872 if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
873 AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
874 [Define if <thread_db.h> has the TD_NOTALLOC error code.])
877 dnl Handle optional features that can be enabled.
880 [ --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
882 case ${with_sysroot} in
883 yes) AC_ERROR(with-sysroot must specify path) ;;
884 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
887 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
889 if test "x$exec_prefix" = xNONE; then
890 if test "x$prefix" = xNONE; then
891 test_prefix=/usr/local
896 test_prefix=$exec_prefix
898 case ${TARGET_SYSTEM_ROOT} in
900 t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
901 TARGET_SYSTEM_ROOT_DEFINE="$t"
906 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
908 AC_SUBST(TARGET_SYSTEM_ROOT)
909 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
911 # NOTE: Don't add -Wall or -Wunused, they both include
912 # -Wunused-parameter which reports bogus warnings.
913 # NOTE: If you add to this list, remember to update
914 # gdb/doc/gdbint.texinfo.
915 build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
916 -Wformat -Wparentheses -Wpointer-arith -Wuninitialized"
917 # Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
918 # -Wunused-function -Wunused-label -Wunused-variable -Wunused-value
919 # -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
920 # -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
921 # -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
922 # -Woverloaded-virtual -Winline -Werror"
923 AC_ARG_ENABLE(build-warnings,
924 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
925 [case "${enableval}" in
927 no) build_warnings="-w";;
928 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
929 build_warnings="${build_warnings} ${t}";;
930 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
931 build_warnings="${t} ${build_warnings}";;
932 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
934 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
935 echo "Setting compiler warning flags = $build_warnings" 6>&1
937 AC_ARG_ENABLE(gdb-build-warnings,
938 [ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
939 [case "${enableval}" in
941 no) build_warnings="-w";;
942 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
943 build_warnings="${build_warnings} ${t}";;
944 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
945 build_warnings="${t} ${build_warnings}";;
946 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
948 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
949 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
953 if test "x${build_warnings}" != x -a "x$GCC" = xyes
955 AC_MSG_CHECKING(compiler warning flags)
956 # Separate out the -Werror flag as some files just cannot be
957 # compiled with it enabled.
958 for w in ${build_warnings}; do
960 -Werr*) WERROR_CFLAGS=-Werror ;;
961 *) # Check that GCC accepts it
962 saved_CFLAGS="$CFLAGS"
964 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
965 CFLAGS="$saved_CFLAGS"
968 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
970 AC_SUBST(WARN_CFLAGS)
971 AC_SUBST(WERROR_CFLAGS)
975 AC_SUBST(MMALLOC_CFLAGS)
979 [ --with-mmalloc Use memory mapped malloc package],
980 [case "${withval}" in
981 yes) want_mmalloc=true ;;
982 no) want_mmalloc=false;;
983 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
984 esac],[want_mmalloc=false])dnl
986 if test x$want_mmalloc = xtrue; then
987 AC_DEFINE(USE_MMALLOC)
988 AC_DEFINE(MMCHECK_FORCE)
989 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
990 MMALLOC='../mmalloc/libmmalloc.a'
993 # In the Cygwin environment, we need some additional flags.
994 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
995 [AC_EGREP_CPP(lose, [
996 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
998 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1001 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1002 SER_HARDWIRE="ser-unix.o ser-pipe.o ser-tcp.o"
1004 *go32* ) SER_HARDWIRE=ser-go32.o ;;
1005 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1007 AC_SUBST(SER_HARDWIRE)
1009 # libreadline needs libuser32.a in a cygwin environment
1011 if test x$gdb_cv_os_cygwin = xyes; then
1012 WIN32LIBS="-luser32"
1014 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1020 LIBGUI="../libgui/src/libgui.a"
1021 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1023 AC_SUBST(GUI_CFLAGS_X)
1027 AC_SUBST(WIN32LDAPP)
1032 if test "${enable_gdbtk}" = "yes"; then
1034 # Gdbtk must have an absolute path to srcdir in order to run
1035 # properly when not installed.
1041 CY_AC_PATH_TCLCONFIG
1042 if test -z "${no_tcl}"; then
1043 CY_AC_LOAD_TCLCONFIG
1046 # now look for Tcl library stuff
1057 TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1059 # If $no_tk is nonempty, then we can't do Tk, and there is no
1060 # point to doing Tcl.
1061 if test -z "${no_tk}"; then
1069 # now look for Tk library stuff
1080 TK_DEPS="${tkdir}${TK_LIB_FILE}"
1082 # now look for Itcl library stuff
1084 CY_AC_PATH_ITCLCONFIG
1085 if test -z "${no_itcl}"; then
1086 CY_AC_LOAD_ITCLCONFIG
1088 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
1089 ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
1093 # now look for Itk library stuff
1094 CY_AC_PATH_ITKCONFIG
1095 if test -z "${no_itcl}"; then
1096 CY_AC_LOAD_ITKCONFIG
1098 ITKLIB="${ITK_BUILD_LIB_SPEC}"
1099 ITK_DEPS="${ITK_LIB_FULL_PATH}"
1102 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1103 # Tcl/Tk 8.1 require -fwritable strings. I don't
1104 # know whether 8.2 will or not, but I bet it will.
1105 # I don't have to worry about 7.x since we don't support it.
1107 if test "$GCC" = "yes"; then
1108 if test "$TCL_VERSION" != "8.0" ; then
1109 GDBTK_CFLAGS="-fwritable-strings"
1113 # Include some libraries that Tcl and Tk want.
1114 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1115 # Yes, the ordering seems wrong here. But it isn't.
1116 # TK_LIBS is the list of libraries that need to be linked
1117 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1118 # were in LIBS then any link tests after this point would
1119 # try to include things like `$(LIBGUI)', which wouldn't work.
1120 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1122 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1123 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1124 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1125 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_GDBTK_INITS)"
1126 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"
1127 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_GDBTK_CLEAN)"
1128 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"
1129 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"
1131 if test x$gdb_cv_os_cygwin = xyes; then
1132 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1133 WIN32LDAPP="-Wl,--subsystem,console"
1134 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1139 configdirs="${configdirs} gdbtk"
1152 AC_SUBST(GDBTK_CFLAGS)
1153 AC_SUBST(GDBTK_SRC_DIR)
1158 # Unlike the sim directory, whether a simulator is linked is controlled by
1159 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
1160 # This code just checks for a few cases where we'd like to ignore those
1161 # definitions, even when they're present in the '.mt' file. These cases
1162 # are when --disable-sim is specified, or if the simulator directory is
1163 # not part of the source tree.
1166 [ --enable-sim Link gdb with simulator],
1167 [echo "enable_sim = $enable_sim";
1168 echo "enableval = ${enableval}";
1169 case "${enableval}" in
1170 yes) ignore_sim=false ;;
1171 no) ignore_sim=true ;;
1172 *) ignore_sim=false ;;
1176 if test ! -d "${srcdir}/../sim"; then
1180 if test "${ignore_sim}" = "true"; then
1182 IGNORE_SIM_OBS="SIM_OBS="
1188 AC_SUBST(IGNORE_SIM)
1189 AC_SUBST(IGNORE_SIM_OBS)
1191 AC_SUBST(ENABLE_CFLAGS)
1192 AC_SUBST(PROFILE_CFLAGS)
1194 AC_SUBST(CONFIG_OBS)
1195 AC_SUBST(CONFIG_LIB_OBS)
1196 AC_SUBST(CONFIG_DEPS)
1197 AC_SUBST(CONFIG_SRCS)
1198 AC_SUBST(CONFIG_INITS)
1199 AC_SUBST(CONFIG_ALL)
1200 AC_SUBST(CONFIG_CLEAN)
1201 AC_SUBST(CONFIG_INSTALL)
1202 AC_SUBST(CONFIG_UNINSTALL)
1204 # target_subdir is used by the testsuite to find the target libraries.
1206 if test "${host}" != "${target}"; then
1207 target_subdir="${target_alias}/"
1209 AC_SUBST(target_subdir)
1212 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1213 if test ! -f ${host_makefile_frag}; then
1214 # When building a native debuger the .mh file containing things
1215 # like NATDEPFILES is needed. Cross debuggers don't need .mh
1216 # since it no longer contains anything useful.
1217 if test "${target}" = "${host}"; then
1218 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1220 host_makefile_frag=/dev/null
1223 frags="$frags $host_makefile_frag"
1225 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1226 if test ! -f ${target_makefile_frag}; then
1227 AC_MSG_ERROR("*** Gdb does not support target ${target}")
1229 frags="$frags $target_makefile_frag"
1231 AC_SUBST_FILE(host_makefile_frag)
1232 AC_SUBST_FILE(target_makefile_frag)
1237 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1238 ' ${host_makefile_frag}`
1240 targetfile=`sed -n '
1241 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1242 ' ${target_makefile_frag}`
1244 GDB_MULTI_ARCH=`sed -n '
1245 s/GDB_MULTI_ARCH[ ]*=[ ]*\([^ ]*\)[ ]*/\1/p
1246 ' ${target_makefile_frag}`
1248 if test "${target}" = "${host}"; then
1249 # We pick this up from the host configuration file (.mh) because we
1250 # do not have a native configuration Makefile fragment.
1251 nativefile=`sed -n '
1252 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1253 ' ${host_makefile_frag}`
1257 # New targets should just set gdb_multi_arch=yes in configure.tgt.
1258 # Old targets being converted can either do that or set GDB_MULTI_ARCH
1259 # in the target specific makefile frag. Eventually gdb_multi_arch=yes
1260 # will be the default.
1261 if test x"${GDB_MULTI_ARCH}" = x ; then
1262 case "${gdb_multi_arch}" in
1263 yes ) GDB_MULTI_ARCH=GDB_MULTI_ARCH_PURE ;;
1264 no ) GDB_MULTI_ARCH=0 ;;
1265 0|1|2 ) GDB_MULTI_ARCH=${gdb_multi_arch} ;;
1268 if test x"${GDB_MULTI_ARCH}" != x ; then
1269 AC_DEFINE_UNQUOTED(GDB_MULTI_ARCH, ${GDB_MULTI_ARCH})
1271 # Warn the user when they use an old practice
1272 case "${GDB_MULTI_ARCH}" in
1274 0 | GDB_MULTI_ARCH_PARTIAL | 1 | GDB_MULTI_ARCH_TM | 2 )
1275 AC_MSG_WARN("GDB: Target is not pure multi-arch") ;;
1276 GDB_MULTI_ARCH_PURE )
1277 if test x"${targetfile}" != x ; then
1278 AC_MSG_WARN("GDB: Ignoring TM_FILE in ${target_makefile_frag}")
1281 *) AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
1284 if test x"${gdb_osabi}" != x ; then
1285 AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1286 [Define to the default OS ABI for this configuration.])
1289 # Enable multi-ice-gdb-server.
1290 AC_ARG_ENABLE(multi-ice,
1291 [ --enable-multi-ice build the multi-ice-gdb-server],
1295 *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1297 if test "x$enable_multi_ice" = xyes; then
1298 configdirs="$configdirs multi-ice"
1301 # We only build gdbserver automatically if host and target are the same.
1302 if test "x$target" = "x$host"; then
1303 AC_MSG_CHECKING(whether gdbserver is supported on this host)
1304 if test "x$build_gdbserver" = xyes; then
1305 configdirs="$configdirs gdbserver"
1312 AC_CONFIG_SUBDIRS($configdirs)
1314 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
1315 # (NAT_FILE) is not set in config/*/*.m[ht] files, we link to an empty
1323 if test "${hostfile}" != ""; then
1325 GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}"
1326 files="${files} ${GDB_XM_FILE}"
1327 links="${links} xm.h"
1328 AC_DEFINE_UNQUOTED(GDB_XM_FILE, ${GDB_XM_FILE})
1334 if test "${targetfile}" != ""; then
1336 GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}"
1337 files="${files} ${GDB_TM_FILE}"
1338 links="${links} tm.h"
1339 AC_DEFINE_UNQUOTED(GDB_TM_FILE, ${GDB_TM_FILE})
1345 if test "${nativefile}" != ""; then
1347 GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}"
1348 files="${files} ${GDB_NM_FILE}"
1349 links="${links} nm.h"
1350 AC_DEFINE_UNQUOTED(GDB_NM_FILE, ${GDB_NM_FILE})
1354 AC_LINK_FILES($files, $links)
1356 dnl Check for exe extension set on certain hosts (e.g. Win32)
1359 dnl Detect the character set used by this host.
1361 dnl At the moment, we just assume it's ISO-8859-1 (which is a
1362 dnl superset of ASCII containing the characters needed for French,
1363 dnl German, Spanish, Italian, and possibly others), but if were
1364 dnl *were* to support any host character sets other than ISO-8859-1,
1365 dnl here's where we'd detect it.
1366 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1367 [Define to be a string naming the default host character set.])
1371 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1373 dnl Autoconf doesn't provide a mechanism for modifying definitions
1374 dnl provided by makefile fragments.
1376 if test "${nativefile}" = ""; then
1378 sed -e '/^NATDEPFILES[[ ]]*=.*\\$/,/[[^\\]]$/s/^/# /' \
1379 -e '/^NATDEPFILES[[ ]]*=/s/^/# /' \
1380 | sed -e '/^\(NATDEPFILES[[ ]]*[[+]]=[[ ]]*\)/s//# \1/' \
1382 mv -f Makefile.tem Makefile
1386 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
1387 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1388 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1389 mv -f Makefile.tmp Makefile
1393 case x$CONFIG_HEADERS in
1394 xconfig.h:config.in)
1399 gdb_host_cpu=$gdb_host_cpu
1400 gdb_target_cpu=$gdb_target_cpu
1401 nativefile=$nativefile