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)"
165 # --------------------- #
166 # Checks for programs. #
167 # --------------------- #
175 AC_CHECK_TOOL(AR, ar)
176 AC_CHECK_TOOL(DLLTOOL, dlltool)
177 AC_CHECK_TOOL(WINDRES, windres)
179 # Needed for GNU/Hurd.
180 AC_CHECK_TOOL(MIG, mig)
182 # ---------------------- #
183 # Checks for libraries. #
184 # ---------------------- #
186 # We might need to link with -lm; most simulators need it.
187 AC_CHECK_LIB(m, main)
189 # We need to link with -lw to get `wctype' on Solaris before Solaris
190 # 2.6. Solaris 2.6 and beyond have this function in libc, and have a
191 # libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
192 # is known to have this problem). Therefore we avoid libw if we can.
193 AC_CHECK_FUNC(wctype, [],
194 [AC_CHECK_LIB(w, wctype)])
196 # Some systems (e.g. Solaris) have `socketpair' in libsocket.
197 AC_SEARCH_LIBS(socketpair, socket)
199 # Since GDB uses Readline, we need termcap functionality, so we need
200 # to find a library that provides that. When GDB is configured with
201 # --enable-tui, we need full curses functionality.
203 # FIXME: kettenis/20030102: We seem to prefer HP curses (Hcurses) over
204 # Xcurses on HP-UX; see the `-D__HP_CURSES' in the relevant host
205 # Makefile fragments. That's why we need to have `Hcurses' before
206 # `curses'. I don't see why we should use HP curses if a more
207 # standard curses is available, except that according to HP's
208 # documentation one needs to compile `-D_XOPEN_SOURCE_EXTENDED' on
209 # HP-UX 10.10 and 10.20.
211 if test "$need_curses" = yes; then
212 AC_SEARCH_LIBS(initscr, [ncurses Hcurses curses], [],
213 [AC_MSG_ERROR([no curses library found])])
218 if test -d $srcdir/libtermcap; then
219 LIBS="../libtermcap/libtermcap.a $LIBS"
220 ac_cv_search_tgetent="../libtermcap/libtermcap.a"
223 # ??? Is this really true?
224 ac_cv_search_tgetent="none required"
227 # Readline prefers curses over termcap on AIX.
229 AC_SEARCH_LIBS(tgetent, [tinfo ncurses curses termcap])
233 # Note: We used to check for libtermlib and libterminfo too, but
234 # Readline doesn't, so I think we're safe with leaving them out.
235 AC_SEARCH_LIBS(tgetent, [termcap tinfo ncurses Hcurses curses])
237 if test "$ac_cv_search_tgetent" = no; then
238 AC_MSG_ERROR([no termcap library found])
241 # ------------------------- #
242 # Checks for header files. #
243 # ------------------------- #
248 AC_CHECK_HEADERS(link.h)
249 AC_CHECK_HEADERS(nlist.h)
250 AC_CHECK_HEADERS(poll.h sys/poll.h)
251 AC_CHECK_HEADERS(proc_service.h thread_db.h)
252 AC_CHECK_HEADERS(stddef.h)
253 AC_CHECK_HEADERS(stdlib.h)
254 AC_CHECK_HEADERS(stdint.h)
255 AC_CHECK_HEADERS(string.h memory.h strings.h)
256 AC_CHECK_HEADERS(sys/fault.h)
257 AC_CHECK_HEADERS(sys/file.h)
258 AC_CHECK_HEADERS(sys/filio.h)
259 AC_CHECK_HEADERS(sys/ioctl.h)
260 AC_CHECK_HEADERS(sys/param.h)
261 AC_CHECK_HEADERS(sys/proc.h)
262 AC_CHECK_HEADERS(sys/procfs.h)
263 AC_CHECK_HEADERS(sys/ptrace.h ptrace.h)
264 AC_CHECK_HEADERS(sys/reg.h sys/debugreg.h)
265 AC_CHECK_HEADERS(sys/select.h)
266 AC_CHECK_HEADERS(sys/syscall.h)
267 AC_CHECK_HEADERS(sys/user.h)
268 AC_CHECK_HEADERS(sys/wait.h wait.h)
269 AC_CHECK_HEADERS(termios.h termio.h sgtty.h)
270 AC_CHECK_HEADERS(unistd.h)
272 # On Solaris 2.[78], we need to define _MSE_INT_H to avoid a clash
273 # between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
274 # think that we don't have <curses.h> if we're using GCC.
277 if test "$GCC" = yes; then
278 AC_DEFINE(_MSE_INT_H, 1,
279 [[Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
280 Solaris 2.[78] when using GCC. ]])
283 AC_CHECK_HEADERS(curses.h ncurses.h term.h)
285 # FIXME: kettenis/20030102: In most cases we include these
286 # unconditionally, so what's the point in checking these?
287 AC_CHECK_HEADERS(ctype.h time.h)
289 # ------------------ #
290 # Checks for types. #
291 # ------------------ #
295 # ------------------------------------- #
296 # Checks for compiler characteristics. #
297 # ------------------------------------- #
302 # ------------------------------ #
303 # Checks for library functions. #
304 # ------------------------------ #
309 AC_CHECK_FUNCS(canonicalize_file_name realpath)
311 AC_CHECK_FUNCS(pread64)
313 AC_CHECK_FUNCS(setpgid setpgrp)
314 AC_CHECK_FUNCS(sigaction sigprocmask sigsetmask)
315 AC_CHECK_FUNCS(socketpair)
317 dnl AC_FUNC_SETPGRP does not work when cross compiling
318 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
319 if test "$cross_compiling" = no; then
322 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
326 if (setpgrp(1,1) == -1)
330 ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
331 if test $ac_cv_func_setpgrp_void = yes; then
332 AC_DEFINE(SETPGRP_VOID, 1)
336 # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
337 # since sigsetjmp might only be defined as a macro.
338 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
341 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
342 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
343 if test $gdb_cv_func_sigsetjmp = yes; then
344 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
347 # Assume we'll default to using the included libiberty regex.
348 gdb_use_included_regex=yes
350 # However, if the system regex is GNU regex, then default to *not*
351 # using the included regex.
354 [gdb_cv_have_gnu_regex],
356 [#include <gnu-versions.h>],
357 [#define REGEX_INTERFACE_VERSION 1
358 #if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
359 # error "Version mismatch"
361 gdb_cv_have_gnu_regex=yes,
362 gdb_cv_have_gnu_regex=no)])
363 if test $gdb_cv_have_gnu_regex = yes; then
364 gdb_use_included_regex=no
367 AC_ARG_WITH(included-regex,
368 [ --without-included-regex don't use included regex; this is the default
369 on systems with version 2 of the GNU C library
370 (use with caution on other system)],
371 gdb_with_regex=$withval,
372 gdb_with_regex=$gdb_use_included_regex)
373 if test "$gdb_with_regex" = yes; then
374 AC_DEFINE(USE_INCLUDED_REGEX, 1,
375 [Define to 1 if the regex included in libiberty should be used.])
378 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
379 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
380 AC_CACHE_CHECK([for r_fs in struct reg], gdb_cv_struct_reg_r_fs,
381 [AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_fs;],
382 gdb_cv_struct_reg_r_fs=yes, gdb_cv_struct_reg_r_fs=no)])
383 if test $gdb_cv_struct_reg_r_fs = yes; then
384 AC_DEFINE(HAVE_STRUCT_REG_R_FS)
386 AC_CACHE_CHECK([for r_gs in struct reg], gdb_cv_struct_reg_r_gs,
387 [AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_gs;],
388 gdb_cv_struct_reg_r_gs=yes, gdb_cv_struct_reg_r_gs=no)])
389 if test $gdb_cv_struct_reg_r_gs = yes; then
390 AC_DEFINE(HAVE_STRUCT_REG_R_GS)
393 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
394 AC_MSG_CHECKING(for PTRACE_GETREGS)
395 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
396 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
398 [gdb_cv_have_ptrace_getregs=yes],
399 [gdb_cv_have_ptrace_getregs=no])])
400 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
401 if test $gdb_cv_have_ptrace_getregs = yes; then
402 AC_DEFINE(HAVE_PTRACE_GETREGS)
405 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
406 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
407 AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
408 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
409 [PTRACE_GETFPXREGS;],
410 [gdb_cv_have_ptrace_getfpxregs=yes],
411 [gdb_cv_have_ptrace_getfpxregs=no])])
412 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
413 if test $gdb_cv_have_ptrace_getfpxregs = yes; then
414 AC_DEFINE(HAVE_PTRACE_GETFPXREGS)
417 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
418 AC_MSG_CHECKING(for PT_GETDBREGS)
419 AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
420 [AC_TRY_COMPILE([#include <sys/types.h>
421 #include <sys/ptrace.h>],
423 [gdb_cv_have_pt_getdbregs=yes],
424 [gdb_cv_have_pt_getdbregs=no])])
425 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
426 if test $gdb_cv_have_pt_getdbregs = yes; then
427 AC_DEFINE(HAVE_PT_GETDBREGS)
430 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
431 AC_MSG_CHECKING(for PT_GETXMMREGS)
432 AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
433 [AC_TRY_COMPILE([#include <sys/types.h>
434 #include <sys/ptrace.h>],
436 [gdb_cv_have_pt_getxmmregs=yes],
437 [gdb_cv_have_pt_getxmmregs=no])])
438 AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
439 if test $gdb_cv_have_pt_getxmmregs = yes; then
440 AC_DEFINE(HAVE_PT_GETXMMREGS)
444 BFD_NEED_DECLARATION(malloc)
445 BFD_NEED_DECLARATION(realloc)
446 BFD_NEED_DECLARATION(free)
447 BFD_NEED_DECLARATION(strerror)
448 BFD_NEED_DECLARATION(strdup)
449 BFD_NEED_DECLARATION(strstr)
450 BFD_NEED_DECLARATION(canonicalize_file_name)
452 # The following save_state_t checkery is only necessary for HPUX
453 # versions earlier than 10.20. When those fade from memory, this
454 # could be expunged. --jsm 1999-03-22
456 AC_MSG_CHECKING(for HPUX save_state structure)
457 AC_EGREP_HEADER(save_state_t, machine/save_state.h,
458 gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)
459 AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,
460 gdb_cv_hpux_sswide=no)
461 if test $gdb_cv_hpux_savestate = yes
463 AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)
465 if test $gdb_cv_hpux_sswide = yes
467 AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)
469 AC_MSG_RESULT($gdb_cv_hpux_sswide)
472 # If we are configured native on GNU/Linux, work around problems with
474 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
476 if test "${target}" = "${host}"; then
478 i[[3456]]86-*-linux*)
479 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
480 AC_DEFINE(sys_quotactl)
483 AC_DEFINE(NEW_PROC_API)
485 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
486 AC_DEFINE(NEW_PROC_API)
488 *-*-solaris2.[[678]])
489 AC_DEFINE(NEW_PROC_API)
494 if test "$ac_cv_header_sys_procfs_h" = yes; then
495 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
496 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
497 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
498 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
499 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
500 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
501 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
502 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
503 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
504 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
505 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
506 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
507 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
508 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
511 dnl Check for broken prfpregset_t type
513 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
514 dnl prfpregset_t type (it's a typedef for the pointer to a struct
515 dnl instead of the struct itself). We detect this here, and work
516 dnl around it in gdb_proc_service.h.
518 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
519 AC_MSG_CHECKING(whether prfpregset_t type is broken)
520 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
521 [AC_TRY_RUN([#include <sys/procfs.h>
524 if (sizeof (prfpregset_t) == sizeof (void *))
528 gdb_cv_prfpregset_t_broken=no,
529 gdb_cv_prfpregset_t_broken=yes,
530 gdb_cv_prfpregset_t_broken=yes)])
531 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
532 if test $gdb_cv_prfpregset_t_broken = yes; then
533 AC_DEFINE(PRFPREGSET_T_BROKEN)
537 dnl Check for PIOCSET ioctl entry
539 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
540 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
541 [AC_TRY_COMPILE([#include <unistd.h>
542 #include <sys/types.h>
543 #include <sys/procfs.h>
546 dummy = ioctl(0, PIOCSET, &dummy);
548 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
549 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
550 if test $gdb_cv_have_procfs_piocset = yes; then
551 AC_DEFINE(HAVE_PROCFS_PIOCSET)
555 dnl For native ports (host == target), check to see what kind of
556 dnl legacy link.h support is needed. (See solib-legacy.c.)
557 if test ${host} = ${target} ; then
558 dnl Check for struct link_map with l_ members which are indicative
559 dnl of SVR4-like shared libraries
561 AC_MSG_CHECKING(for member l_addr in struct link_map)
562 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
563 [AC_TRY_COMPILE([#include <link.h>],
564 [struct link_map lm; (void) lm.l_addr;],
565 gdb_cv_have_struct_link_map_with_l_members=yes,
566 gdb_cv_have_struct_link_map_with_l_members=no)])
567 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
568 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
569 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS)
572 dnl Check for struct link_map with lm_ members which are indicative
573 dnl of SunOS-like shared libraries
575 AC_MSG_CHECKING(for member lm_addr in struct link_map)
576 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
577 [AC_TRY_COMPILE([#include <sys/types.h>
579 [struct link_map lm; (void) lm.lm_addr;],
580 gdb_cv_have_struct_link_map_with_lm_members=yes,
581 gdb_cv_have_struct_link_map_with_lm_members=no)])
582 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
583 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
584 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS)
587 dnl Check for struct so_map with som_ members which are found on
588 dnl some *BSD systems.
590 AC_MSG_CHECKING(for member som_addr in struct so_map)
591 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
592 [AC_TRY_COMPILE([#include <sys/types.h>
597 [struct so_map lm; (void) lm.som_addr;],
598 gdb_cv_have_struct_so_map_with_som_members=yes,
599 gdb_cv_have_struct_so_map_with_som_members=no)])
600 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
601 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
602 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS)
605 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
606 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
608 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
609 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
610 [AC_TRY_COMPILE([#define _SYSCALL32
611 #include <sys/link.h>], [struct link_map32 l;],
612 gdb_cv_have_struct_link_map32=yes,
613 gdb_cv_have_struct_link_map32=no)])
614 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
615 if test $gdb_cv_have_struct_link_map32 = yes; then
616 AC_DEFINE(HAVE_STRUCT_LINK_MAP32)
617 AC_DEFINE(_SYSCALL32)
621 dnl See if compiler supports "long long" type.
623 AC_MSG_CHECKING(for long long support in compiler)
624 AC_CACHE_VAL(gdb_cv_c_long_long,
626 extern long long foo;
627 switch (foo & 2) { case 0: return 1; }
629 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
630 AC_MSG_RESULT($gdb_cv_c_long_long)
631 if test $gdb_cv_c_long_long = yes; then
632 AC_DEFINE(CC_HAS_LONG_LONG)
635 dnl See if the compiler and runtime support printing long long
637 AC_MSG_CHECKING(for long long support in printf)
638 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
643 l = (l << 16) + 0x0123;
644 l = (l << 16) + 0x4567;
645 l = (l << 16) + 0x89ab;
646 l = (l << 16) + 0xcdef;
647 sprintf (buf, "0x%016llx", l);
648 return (strcmp ("0x0123456789abcdef", buf));
650 gdb_cv_printf_has_long_long=yes,
651 gdb_cv_printf_has_long_long=no,
652 gdb_cv_printf_has_long_long=no)])
653 if test $gdb_cv_printf_has_long_long = yes; then
654 AC_DEFINE(PRINTF_HAS_LONG_LONG)
656 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
658 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
659 dnl because autoconf complains about cross-compilation issues. However, this
660 dnl code uses the same variables as the macro for compatibility.
662 AC_MSG_CHECKING(for long double support in compiler)
663 AC_CACHE_VAL(ac_cv_c_long_double,
664 [AC_TRY_COMPILE(, [long double foo;],
665 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
666 AC_MSG_RESULT($ac_cv_c_long_double)
667 if test $ac_cv_c_long_double = yes; then
668 AC_DEFINE(HAVE_LONG_DOUBLE)
671 dnl See if the compiler and runtime support printing long doubles
673 AC_MSG_CHECKING(for long double support in printf)
674 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
678 long double f = 3.141592653;
679 sprintf (buf, "%Lg", f);
680 return (strncmp ("3.14159", buf, 7));
682 gdb_cv_printf_has_long_double=yes,
683 gdb_cv_printf_has_long_double=no,
684 gdb_cv_printf_has_long_double=no)])
685 if test $gdb_cv_printf_has_long_double = yes; then
686 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
688 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
690 dnl See if the compiler and runtime support scanning long doubles
692 AC_MSG_CHECKING(for long double support in scanf)
693 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
696 char *buf = "3.141592653";
698 sscanf (buf, "%Lg", &f);
699 return !(f > 3.14159 && f < 3.14160);
701 gdb_cv_scanf_has_long_double=yes,
702 gdb_cv_scanf_has_long_double=no,
703 gdb_cv_scanf_has_long_double=no)])
704 if test $gdb_cv_scanf_has_long_double = yes; then
705 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
707 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
711 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
712 SAVE_LDFLAGS=$LDFLAGS
715 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
716 *) gdb_cv_bigtoc=-bbigtoc ;;
719 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
720 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
722 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
727 dnl For certain native configurations, we need to check whether thread
728 dnl support can be built in or not.
730 dnl Note that we only want this if we are both native (host == target),
731 dnl and not doing a canadian cross build (build == host).
733 if test ${build} = ${host} -a ${host} = ${target} ; then
736 AC_MSG_CHECKING(for HPUX/OSF thread support)
737 if test -f /usr/include/dce/cma_config.h ; then
738 if test "$GCC" = "yes" ; then
740 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
741 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} hpux-thread.o"
742 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
744 AC_MSG_RESULT(no (suppressed because you are not using GCC))
751 # See if thread_db library is around for Solaris thread debugging.
752 # Note that we must explicitly test for version 1 of the library
753 # because version 0 (present on Solaris 2.4 or earlier) doesn't have
755 AC_MSG_CHECKING(for Solaris thread debugging library)
756 if test -f /usr/lib/libthread_db.so.1 ; then
758 AC_DEFINE(HAVE_THREAD_DB_LIB)
759 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} sol-thread.o"
760 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
761 AC_CHECK_LIB(dl, dlopen)
762 if test "$GCC" = "yes" ; then
763 # The GNU linker requires the -export-dynamic option to make
764 # all symbols visible in the dynamic symbol table.
765 hold_ldflags=$LDFLAGS
766 AC_MSG_CHECKING(for the ld -export-dynamic flag)
767 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
768 AC_TRY_LINK(, [int i;], found=yes, found=no)
769 LDFLAGS=$hold_ldflags
770 AC_MSG_RESULT($found)
771 if test $found = yes; then
772 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
775 # Sun randomly tweaked the prototypes in <proc_service.h>
777 AC_MSG_CHECKING(if <proc_service.h> is old)
778 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
780 #include <proc_service.h>
782 (struct ps_prochandle*, psaddr_t, const void*, size_t);
783 ],, gdb_cv_proc_service_is_old=no,
784 gdb_cv_proc_service_is_old=yes)
786 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
787 if test $gdb_cv_proc_service_is_old = yes; then
788 AC_DEFINE(PROC_SERVICE_IS_OLD)
795 AC_MSG_CHECKING(for AiX thread debugging library)
796 AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
797 [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
798 [#ifndef PTHDB_VERSION_3
801 gdb_cv_have_aix_thread_debug=yes,
802 gdb_cv_have_aix_thread_debug=no)])
803 AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
804 if test $gdb_cv_have_aix_thread_debug = yes; then
805 CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
806 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} aix-thread.o"
807 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
811 AC_SUBST(CONFIG_LDFLAGS)
814 dnl See if we have a thread_db header file that has TD_NOTALLOC.
815 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
816 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
817 gdb_cv_thread_db_h_has_td_notalloc,
819 [#include <thread_db.h>],
820 [int i = TD_NOTALLOC;],
821 gdb_cv_thread_db_h_has_td_notalloc=yes,
822 gdb_cv_thread_db_h_has_td_notalloc=no
826 if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
827 AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
828 [Define if <thread_db.h> has the TD_NOTALLOC error code.])
831 dnl Handle optional features that can be enabled.
833 # NOTE: Don't add -Wall or -Wunused, they both include
834 # -Wunused-parameter which reports bogus warnings.
835 # NOTE: If you add to this list, remember to update
836 # gdb/doc/gdbint.texinfo.
837 build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
838 -Wformat -Wparentheses -Wpointer-arith -Wuninitialized"
839 # Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
840 # -Wunused-function -Wunused-label -Wunused-variable -Wunused-value
841 # -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
842 # -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
843 # -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
844 # -Woverloaded-virtual -Winline -Werror"
845 AC_ARG_ENABLE(build-warnings,
846 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
847 [case "${enableval}" in
849 no) build_warnings="-w";;
850 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
851 build_warnings="${build_warnings} ${t}";;
852 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
853 build_warnings="${t} ${build_warnings}";;
854 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
856 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
857 echo "Setting compiler warning flags = $build_warnings" 6>&1
859 AC_ARG_ENABLE(gdb-build-warnings,
860 [ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
861 [case "${enableval}" in
863 no) build_warnings="-w";;
864 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
865 build_warnings="${build_warnings} ${t}";;
866 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
867 build_warnings="${t} ${build_warnings}";;
868 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
870 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
871 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
875 if test "x${build_warnings}" != x -a "x$GCC" = xyes
877 AC_MSG_CHECKING(compiler warning flags)
878 # Separate out the -Werror flag as some files just cannot be
879 # compiled with it enabled.
880 for w in ${build_warnings}; do
882 -Werr*) WERROR_CFLAGS=-Werror ;;
883 *) # Check that GCC accepts it
884 saved_CFLAGS="$CFLAGS"
886 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
887 CFLAGS="$saved_CFLAGS"
890 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
892 AC_SUBST(WARN_CFLAGS)
893 AC_SUBST(WERROR_CFLAGS)
897 AC_SUBST(MMALLOC_CFLAGS)
901 [ --with-mmalloc Use memory mapped malloc package],
902 [case "${withval}" in
903 yes) want_mmalloc=true ;;
904 no) want_mmalloc=false;;
905 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
906 esac],[want_mmalloc=false])dnl
908 if test x$want_mmalloc = xtrue; then
909 AC_DEFINE(USE_MMALLOC)
910 AC_DEFINE(MMCHECK_FORCE)
911 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
912 MMALLOC='../mmalloc/libmmalloc.a'
915 # In the Cygwin environment, we need some additional flags.
916 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
917 [AC_EGREP_CPP(lose, [
918 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
920 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
923 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
924 SER_HARDWIRE="ser-unix.o ser-pipe.o ser-tcp.o"
926 *go32* ) SER_HARDWIRE=ser-go32.o ;;
927 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
929 AC_SUBST(SER_HARDWIRE)
931 # libreadline needs libuser32.a in a cygwin environment
933 if test x$gdb_cv_os_cygwin = xyes; then
936 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
942 LIBGUI="../libgui/src/libgui.a"
943 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
945 AC_SUBST(GUI_CFLAGS_X)
948 [ --enable-gdbtk Enable GDBTK GUI front end],
949 [case "${enableval}" in
953 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
956 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
964 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
967 # Default is on for everything but go32 and Cygwin
972 if test -d "${srcdir}/gdbtk" ; then
986 if test "${enable_gdbtk}" = "yes"; then
988 # Gdbtk must have an absolute path to srcdir in order to run
989 # properly when not installed.
996 if test -z "${no_tcl}"; then
1000 # now look for Tcl library stuff
1011 TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1013 # If $no_tk is nonempty, then we can't do Tk, and there is no
1014 # point to doing Tcl.
1015 if test -z "${no_tk}"; then
1023 # now look for Tk library stuff
1034 TK_DEPS="${tkdir}${TK_LIB_FILE}"
1036 # now look for Itcl library stuff
1038 CY_AC_PATH_ITCLCONFIG
1039 if test -z "${no_itcl}"; then
1040 CY_AC_LOAD_ITCLCONFIG
1042 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
1043 ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
1047 # now look for Itk library stuff
1048 CY_AC_PATH_ITKCONFIG
1049 if test -z "${no_itcl}"; then
1050 CY_AC_LOAD_ITKCONFIG
1052 ITKLIB="${ITK_BUILD_LIB_SPEC}"
1053 ITK_DEPS="${ITK_LIB_FULL_PATH}"
1056 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1057 # Tcl/Tk 8.1 require -fwritable strings. I don't
1058 # know whether 8.2 will or not, but I bet it will.
1059 # I don't have to worry about 7.x since we don't support it.
1061 if test "$GCC" = "yes"; then
1062 if test "$TCL_VERSION" != "8.0" ; then
1063 GDBTK_CFLAGS="-fwritable-strings"
1067 # Include some libraries that Tcl and Tk want.
1068 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1069 # Yes, the ordering seems wrong here. But it isn't.
1070 # TK_LIBS is the list of libraries that need to be linked
1071 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1072 # were in LIBS then any link tests after this point would
1073 # try to include things like `$(LIBGUI)', which wouldn't work.
1074 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1076 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1077 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1078 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1079 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_GDBTK_INITS)"
1080 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"
1081 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_GDBTK_CLEAN)"
1082 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"
1083 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"
1085 if test x$gdb_cv_os_cygwin = xyes; then
1086 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1087 WIN32LDAPP="-Wl,--subsystem,console"
1088 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1093 configdirs="${configdirs} gdbtk"
1106 AC_SUBST(GDBTK_CFLAGS)
1107 AC_SUBST(GDBTK_SRC_DIR)
1112 # Unlike the sim directory, whether a simulator is linked is controlled by
1113 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
1114 # This code just checks for a few cases where we'd like to ignore those
1115 # definitions, even when they're present in the '.mt' file. These cases
1116 # are when --disable-sim is specified, or if the simulator directory is
1117 # not part of the source tree.
1120 [ --enable-sim Link gdb with simulator],
1121 [echo "enable_sim = $enable_sim";
1122 echo "enableval = ${enableval}";
1123 case "${enableval}" in
1124 yes) ignore_sim=false ;;
1125 no) ignore_sim=true ;;
1126 *) ignore_sim=false ;;
1130 if test ! -d "${srcdir}/../sim"; then
1134 if test "${ignore_sim}" = "true"; then
1136 IGNORE_SIM_OBS="SIM_OBS="
1142 AC_SUBST(IGNORE_SIM)
1143 AC_SUBST(IGNORE_SIM_OBS)
1145 AC_SUBST(ENABLE_CFLAGS)
1147 AC_SUBST(CONFIG_OBS)
1148 AC_SUBST(CONFIG_LIB_OBS)
1149 AC_SUBST(CONFIG_DEPS)
1150 AC_SUBST(CONFIG_SRCS)
1151 AC_SUBST(CONFIG_INITS)
1152 AC_SUBST(CONFIG_ALL)
1153 AC_SUBST(CONFIG_CLEAN)
1154 AC_SUBST(CONFIG_INSTALL)
1155 AC_SUBST(CONFIG_UNINSTALL)
1157 # Begin stuff to support --enable-shared
1158 AC_ARG_ENABLE(shared,
1159 [ --enable-shared Use shared libraries],
1160 [case "${enableval}" in
1168 # If we have shared libraries, try to set rpath reasonably.
1169 if test "${shared}" = "true"; then
1172 HLDFLAGS='-Wl,+s,+b,$(libdir)'
1174 *-*-irix5* | *-*-irix6*)
1175 HLDFLAGS='-Wl,-rpath,$(libdir)'
1179 *-*-linux* | *-pc-linux-gnu*)
1180 HLDFLAGS='-Wl,-rpath,$(libdir)'
1183 HLDFLAGS='-R $(libdir)'
1186 HLDENV='if test -z "$${LD_RUN_PATH}"; then LD_RUN_PATH=$(libdir); else LD_RUN_PATH=$${LD_RUN_PATH}:$(libdir); fi; export LD_RUN_PATH;'
1191 # On SunOS, if the linker supports the -rpath option, use it to
1192 # prevent ../bfd and ../opcodes from being included in the run time
1196 echo 'main () { }' > conftest.c
1197 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
1198 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
1200 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
1202 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
1204 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
1206 elif test "${shared}" = "true"; then
1207 HLDFLAGS='-Wl,-rpath=$(libdir)'
1209 HLDFLAGS='-Wl,-rpath='
1211 rm -f conftest.t conftest.c conftest
1216 # End stuff to support --enable-shared
1218 # target_subdir is used by the testsuite to find the target libraries.
1220 if test "${host}" != "${target}"; then
1221 target_subdir="${target_alias}/"
1223 AC_SUBST(target_subdir)
1226 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1227 if test ! -f ${host_makefile_frag}; then
1228 # When building a native debuger the .mh file containing things
1229 # like NATDEPFILES is needed. Cross debuggers don't need .mh
1230 # since it no longer contains anything useful.
1231 if test "${target}" = "${host}"; then
1232 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1234 host_makefile_frag=/dev/null
1237 frags="$frags $host_makefile_frag"
1239 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1240 if test ! -f ${target_makefile_frag}; then
1241 AC_MSG_ERROR("*** Gdb does not support target ${target}")
1243 frags="$frags $target_makefile_frag"
1245 AC_SUBST_FILE(host_makefile_frag)
1246 AC_SUBST_FILE(target_makefile_frag)
1251 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1252 ' ${host_makefile_frag}`
1254 targetfile=`sed -n '
1255 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1256 ' ${target_makefile_frag}`
1258 GDB_MULTI_ARCH=`sed -n '
1259 s/GDB_MULTI_ARCH[ ]*=[ ]*\([^ ]*\)[ ]*/\1/p
1260 ' ${target_makefile_frag}`
1262 if test "${target}" = "${host}"; then
1263 # We pick this up from the host configuration file (.mh) because we
1264 # do not have a native configuration Makefile fragment.
1265 nativefile=`sed -n '
1266 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1267 ' ${host_makefile_frag}`
1271 # New targets should just set gdb_multi_arch=yes in configure.tgt.
1272 # Old targets being converted can either do that or set GDB_MULTI_ARCH
1273 # in the target specific makefile frag. Eventually gdb_multi_arch=yes
1274 # will be the default.
1275 if test x"${GDB_MULTI_ARCH}" = x ; then
1276 case "${gdb_multi_arch}" in
1277 yes ) GDB_MULTI_ARCH=GDB_MULTI_ARCH_PURE ;;
1278 no ) GDB_MULTI_ARCH=0 ;;
1279 0|1|2 ) GDB_MULTI_ARCH=${gdb_multi_arch} ;;
1282 if test x"${GDB_MULTI_ARCH}" != x ; then
1283 AC_DEFINE_UNQUOTED(GDB_MULTI_ARCH, ${GDB_MULTI_ARCH})
1285 # Warn the user when they use an old practice
1286 case "${GDB_MULTI_ARCH}" in
1288 0 | GDB_MULTI_ARCH_PARTIAL | 1 | GDB_MULTI_ARCH_TM | 2 )
1289 AC_MSG_WARN("GDB: Target is not pure multi-arch") ;;
1290 GDB_MULTI_ARCH_PURE )
1291 if test x"${targetfile}" != x ; then
1292 AC_MSG_WARN("GDB: Ignoring TM_FILE in ${target_makefile_frag}")
1295 *) AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
1298 # Enable multi-ice-gdb-server.
1299 AC_ARG_ENABLE(multi-ice,
1300 [ --enable-multi-ice build the multi-ice-gdb-server],
1304 *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1306 if test "x$enable_multi_ice" = xyes; then
1307 configdirs="$configdirs multi-ice"
1310 # We only build gdbserver automatically if host and target are the same.
1311 if test "x$target" = "x$host"; then
1312 AC_MSG_CHECKING(whether gdbserver is supported on this host)
1313 if test "x$build_gdbserver" = xyes; then
1314 configdirs="$configdirs gdbserver"
1321 AC_CONFIG_SUBDIRS($configdirs)
1325 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
1326 # (NAT_FILE) is not set in config/*/*.m[ht] files, we link to an empty
1334 if test "${hostfile}" != ""; then
1336 GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}"
1337 files="${files} ${GDB_XM_FILE}"
1338 links="${links} xm.h"
1339 AC_DEFINE_UNQUOTED(GDB_XM_FILE, ${GDB_XM_FILE})
1345 if test "${targetfile}" != ""; then
1347 GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}"
1348 files="${files} ${GDB_TM_FILE}"
1349 links="${links} tm.h"
1350 AC_DEFINE_UNQUOTED(GDB_TM_FILE, ${GDB_TM_FILE})
1356 if test "${nativefile}" != ""; then
1358 GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}"
1359 files="${files} ${GDB_NM_FILE}"
1360 links="${links} nm.h"
1361 AC_DEFINE_UNQUOTED(GDB_NM_FILE, ${GDB_NM_FILE})
1365 AC_LINK_FILES($files, $links)
1367 dnl Check for exe extension set on certain hosts (e.g. Win32)
1370 dnl Detect the character set used by this host.
1372 dnl At the moment, we just assume it's ISO-8859-1 (which is a
1373 dnl superset of ASCII containing the characters needed for French,
1374 dnl German, Spanish, Italian, and possibly others), but if were
1375 dnl *were* to support any host character sets other than ISO-8859-1,
1376 dnl here's where we'd detect it.
1377 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1378 [Define to be a string naming the default host character set.])
1382 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1384 dnl Autoconf doesn't provide a mechanism for modifying definitions
1385 dnl provided by makefile fragments.
1387 if test "${nativefile}" = ""; then
1389 sed -e '/^NATDEPFILES[[ ]]*=.*\\$/,/[[^\\]]$/s/^/# /' \
1390 -e '/^NATDEPFILES[[ ]]*=/s/^/# /' \
1391 | sed -e '/^\(NATDEPFILES[[ ]]*[[+]]=[[ ]]*\)/s//# \1/' \
1393 mv -f Makefile.tem Makefile
1397 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
1398 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1399 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1400 mv -f Makefile.tmp Makefile
1404 case x$CONFIG_HEADERS in
1405 xconfig.h:config.in)
1410 gdb_host_cpu=$gdb_host_cpu
1411 gdb_target_cpu=$gdb_target_cpu
1412 nativefile=$nativefile