1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
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)
33 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
36 dnl Set up for gettext. PACKAGE is used when we call bindtextdomain.
39 AC_DEFINE(PACKAGE, "gdb", [Name of this package. ])
42 dnl List of object files added by configure.
55 SUBDIRS="doc testsuite nlm"
56 configdirs="doc testsuite"
58 AC_ARG_ENABLE(multi-ice,
59 [ --enable-multi-ice Build the multi-ice-gdb-server],
60 [case "${enableval}" in
61 yes ) enable_multi_ice="yes" ;;
62 no) enable_multi_ice="no" ;;
63 *) AC_MSG_ERROR(Bad value for --enable-multi-ice: ${enableval}) ;;
67 if test "${enable_multi_ice}" = "yes"; then
68 configdirs="${configdirs} multi-ice"
74 . ${srcdir}/configure.host
76 . ${srcdir}/configure.tgt
78 targ=${target} ; . ${srcdir}/../bfd/config.bfd
83 dnl use BFD to determine the default architecture and byte order
84 dnl (bfd_vec->byteorder provides the latter).
86 . ${srcdir}/../bfd/config.bfd
88 dnl We only want the first arch, if there is more than one.
89 targ_archs=`echo ${targ_archs} | sed -e 's/ .*//;'`
91 if test x"${targ_archs}" != x ; then
92 AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, ${targ_archs})
94 if test x"${targ_defvec}" != x ; then
95 AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, ${targ_defvec})
100 AC_CHECK_TOOL(AR, ar)
101 AC_CHECK_TOOL(RANLIB, ranlib, :)
102 AC_CHECK_TOOL(DLLTOOL, dlltool)
103 AC_CHECK_TOOL(WINDRES, windres)
106 dnl MiG is needed for the Hurd.
107 AC_CHECK_TOOL(MIG, mig)
115 dnl Solaris 7 needs _MSE_INT_H defined to avoid a clash between <widec.h>
116 dnl and <wchar.h> that causes AC_CHECK_HEADERS to think <curses.h> doesn't
119 case $host_os in solaris2.7 | solaris2.8) case "$GCC" in yes)
120 AC_DEFINE(_MSE_INT_H)
123 AC_CHECK_HEADERS(ctype.h nlist.h link.h thread_db.h proc_service.h \
124 memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \
125 string.h sys/procfs.h sys/proc.h sys/ptrace.h sys/reg.h stdint.h \
126 term.h termio.h termios.h unistd.h wait.h sys/wait.h \
127 wchar.h wctype.h asm/debugreg.h sys/debugreg.h sys/select.h \
128 time.h sys/file.h sys/ioctl.h sys/user.h sys/fault.h sys/syscall.h \
129 dirent.h sys/ndir.h sys/dir.h ndir.h sys/filio.h \
137 AC_CHECK_FUNCS(bcopy btowc bzero canonicalize_file_name isascii poll \
138 realpath sbrk setpgid setpgrp sigaction sigprocmask sigsetmask )
141 dnl AC_FUNC_SETPGRP does not work when cross compiling
142 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
143 if test "$cross_compiling" = no; then
146 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
150 if (setpgrp(1,1) == -1)
154 ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
155 if test $ac_cv_func_setpgrp_void = yes; then
156 AC_DEFINE(SETPGRP_VOID, 1)
160 # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
161 # since sigsetjmp might only be defined as a macro.
162 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
165 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
166 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
167 if test $gdb_cv_func_sigsetjmp = yes; then
168 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
171 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
172 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
173 AC_CACHE_CHECK([for r_fs in struct reg], gdb_cv_struct_reg_r_fs,
174 [AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_fs;],
175 gdb_cv_struct_reg_r_fs=yes, gdb_cv_struct_reg_r_fs=no)])
176 if test $gdb_cv_struct_reg_r_fs = yes; then
177 AC_DEFINE(HAVE_STRUCT_REG_R_FS)
179 AC_CACHE_CHECK([for r_gs in struct reg], gdb_cv_struct_reg_r_gs,
180 [AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_gs;],
181 gdb_cv_struct_reg_r_gs=yes, gdb_cv_struct_reg_r_gs=no)])
182 if test $gdb_cv_struct_reg_r_gs = yes; then
183 AC_DEFINE(HAVE_STRUCT_REG_R_GS)
186 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
187 AC_MSG_CHECKING(for PTRACE_GETREGS)
188 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
189 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
191 [gdb_cv_have_ptrace_getregs=yes],
192 [gdb_cv_have_ptrace_getregs=no])])
193 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
194 if test $gdb_cv_have_ptrace_getregs = yes; then
195 AC_DEFINE(HAVE_PTRACE_GETREGS)
198 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
199 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
200 AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
201 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
202 [PTRACE_GETFPXREGS;],
203 [gdb_cv_have_ptrace_getfpxregs=yes],
204 [gdb_cv_have_ptrace_getfpxregs=no])])
205 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
206 if test $gdb_cv_have_ptrace_getfpxregs = yes; then
207 AC_DEFINE(HAVE_PTRACE_GETFPXREGS)
210 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
211 AC_MSG_CHECKING(for PT_GETDBREGS)
212 AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
213 [AC_TRY_COMPILE([#include <sys/types.h>
214 #include <sys/ptrace.h>],
216 [gdb_cv_have_pt_getdbregs=yes],
217 [gdb_cv_have_pt_getdbregs=no])])
218 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
219 if test $gdb_cv_have_pt_getdbregs = yes; then
220 AC_DEFINE(HAVE_PT_GETDBREGS)
223 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
224 AC_MSG_CHECKING(for PT_GETXMMREGS)
225 AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
226 [AC_TRY_COMPILE([#include <sys/types.h>
227 #include <sys/ptrace.h>],
229 [gdb_cv_have_pt_getxmmregs=yes],
230 [gdb_cv_have_pt_getxmmregs=no])])
231 AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
232 if test $gdb_cv_have_pt_getxmmregs = yes; then
233 AC_DEFINE(HAVE_PT_GETXMMREGS)
237 AC_CHECK_LIB(socket, socketpair)
238 AC_CHECK_FUNCS(socketpair)
241 BFD_NEED_DECLARATION(malloc)
242 BFD_NEED_DECLARATION(realloc)
243 BFD_NEED_DECLARATION(free)
244 BFD_NEED_DECLARATION(strerror)
245 BFD_NEED_DECLARATION(strdup)
246 BFD_NEED_DECLARATION(strstr)
247 BFD_NEED_DECLARATION(canonicalize_file_name)
249 # The following save_state_t checkery is only necessary for HPUX
250 # versions earlier than 10.20. When those fade from memory, this
251 # could be expunged. --jsm 1999-03-22
253 AC_MSG_CHECKING(for HPUX save_state structure)
254 AC_EGREP_HEADER(save_state_t, machine/save_state.h,
255 gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)
256 AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,
257 gdb_cv_hpux_sswide=no)
258 if test $gdb_cv_hpux_savestate = yes
260 AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)
262 if test $gdb_cv_hpux_sswide = yes
264 AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)
266 AC_MSG_RESULT($gdb_cv_hpux_sswide)
269 # If we are configured native on GNU/Linux, work around problems with
271 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
273 if test "${target}" = "${host}"; then
275 i[[3456]]86-*-linux*)
276 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
277 AC_DEFINE(sys_quotactl)
280 AC_DEFINE(NEW_PROC_API)
282 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
283 AC_DEFINE(NEW_PROC_API)
285 *-*-solaris2.[[678]])
286 AC_DEFINE(NEW_PROC_API)
291 if test "$ac_cv_header_sys_procfs_h" = yes; then
292 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
293 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
294 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
295 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
296 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
297 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
298 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
299 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
300 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
301 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
302 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
303 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
304 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
305 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
308 dnl Check for broken prfpregset_t type
310 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
311 dnl prfpregset_t type (it's a typedef for the pointer to a struct
312 dnl instead of the struct itself). We detect this here, and work
313 dnl around it in gdb_proc_service.h.
315 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
316 AC_MSG_CHECKING(whether prfpregset_t type is broken)
317 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
318 [AC_TRY_RUN([#include <sys/procfs.h>
321 if (sizeof (prfpregset_t) == sizeof (void *))
325 gdb_cv_prfpregset_t_broken=no,
326 gdb_cv_prfpregset_t_broken=yes,
327 gdb_cv_prfpregset_t_broken=yes)])
328 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
329 if test $gdb_cv_prfpregset_t_broken = yes; then
330 AC_DEFINE(PRFPREGSET_T_BROKEN)
334 dnl Check for PIOCSET ioctl entry
336 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
337 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
338 [AC_TRY_COMPILE([#include <unistd.h>
339 #include <sys/types.h>
340 #include <sys/procfs.h>
343 dummy = ioctl(0, PIOCSET, &dummy);
345 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
346 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
347 if test $gdb_cv_have_procfs_piocset = yes; then
348 AC_DEFINE(HAVE_PROCFS_PIOCSET)
352 dnl For native ports (host == target), check to see what kind of
353 dnl legacy link.h support is needed. (See solib-legacy.c.)
354 if test ${host} = ${target} ; then
355 dnl Check for struct link_map with l_ members which are indicative
356 dnl of SVR4-like shared libraries
358 AC_MSG_CHECKING(for member l_addr in struct link_map)
359 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
360 [AC_TRY_COMPILE([#include <link.h>],
361 [struct link_map lm; (void) lm.l_addr;],
362 gdb_cv_have_struct_link_map_with_l_members=yes,
363 gdb_cv_have_struct_link_map_with_l_members=no)])
364 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
365 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
366 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS)
369 dnl Check for struct link_map with lm_ members which are indicative
370 dnl of SunOS-like shared libraries
372 AC_MSG_CHECKING(for member lm_addr in struct link_map)
373 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
374 [AC_TRY_COMPILE([#include <sys/types.h>
376 [struct link_map lm; (void) lm.lm_addr;],
377 gdb_cv_have_struct_link_map_with_lm_members=yes,
378 gdb_cv_have_struct_link_map_with_lm_members=no)])
379 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
380 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
381 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS)
384 dnl Check for struct so_map with som_ members which are found on
385 dnl some *BSD systems.
387 AC_MSG_CHECKING(for member som_addr in struct so_map)
388 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
389 [AC_TRY_COMPILE([#include <sys/types.h>
394 [struct so_map lm; (void) lm.som_addr;],
395 gdb_cv_have_struct_so_map_with_som_members=yes,
396 gdb_cv_have_struct_so_map_with_som_members=no)])
397 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
398 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
399 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS)
402 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
403 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
405 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
406 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
407 [AC_TRY_COMPILE([#define _SYSCALL32
408 #include <sys/link.h>], [struct link_map32 l;],
409 gdb_cv_have_struct_link_map32=yes,
410 gdb_cv_have_struct_link_map32=no)])
411 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
412 if test $gdb_cv_have_struct_link_map32 = yes; then
413 AC_DEFINE(HAVE_STRUCT_LINK_MAP32)
414 AC_DEFINE(_SYSCALL32)
418 dnl See if host has libm. This is usually needed by simulators.
419 AC_CHECK_LIB(m, main)
421 dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
423 dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
424 dnl under Solaris 2.6 because it is some funky empty library.
425 dnl So only link in libw if we have to.
426 AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
428 dnl See if compiler supports "long long" type.
430 AC_MSG_CHECKING(for long long support in compiler)
431 AC_CACHE_VAL(gdb_cv_c_long_long,
433 extern long long foo;
434 switch (foo & 2) { case 0: return 1; }
436 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
437 AC_MSG_RESULT($gdb_cv_c_long_long)
438 if test $gdb_cv_c_long_long = yes; then
439 AC_DEFINE(CC_HAS_LONG_LONG)
442 dnl See if the compiler and runtime support printing long long
444 AC_MSG_CHECKING(for long long support in printf)
445 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
450 l = (l << 16) + 0x0123;
451 l = (l << 16) + 0x4567;
452 l = (l << 16) + 0x89ab;
453 l = (l << 16) + 0xcdef;
454 sprintf (buf, "0x%016llx", l);
455 return (strcmp ("0x0123456789abcdef", buf));
457 gdb_cv_printf_has_long_long=yes,
458 gdb_cv_printf_has_long_long=no,
459 gdb_cv_printf_has_long_long=no)])
460 if test $gdb_cv_printf_has_long_long = yes; then
461 AC_DEFINE(PRINTF_HAS_LONG_LONG)
463 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
465 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
466 dnl because autoconf complains about cross-compilation issues. However, this
467 dnl code uses the same variables as the macro for compatibility.
469 AC_MSG_CHECKING(for long double support in compiler)
470 AC_CACHE_VAL(ac_cv_c_long_double,
471 [AC_TRY_COMPILE(, [long double foo;],
472 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
473 AC_MSG_RESULT($ac_cv_c_long_double)
474 if test $ac_cv_c_long_double = yes; then
475 AC_DEFINE(HAVE_LONG_DOUBLE)
478 dnl See if the compiler and runtime support printing long doubles
480 AC_MSG_CHECKING(for long double support in printf)
481 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
485 long double f = 3.141592653;
486 sprintf (buf, "%Lg", f);
487 return (strncmp ("3.14159", buf, 7));
489 gdb_cv_printf_has_long_double=yes,
490 gdb_cv_printf_has_long_double=no,
491 gdb_cv_printf_has_long_double=no)])
492 if test $gdb_cv_printf_has_long_double = yes; then
493 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
495 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
497 dnl See if the compiler and runtime support scanning long doubles
499 AC_MSG_CHECKING(for long double support in scanf)
500 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
503 char *buf = "3.141592653";
505 sscanf (buf, "%Lg", &f);
506 return !(f > 3.14159 && f < 3.14160);
508 gdb_cv_scanf_has_long_double=yes,
509 gdb_cv_scanf_has_long_double=no,
510 gdb_cv_scanf_has_long_double=no)])
511 if test $gdb_cv_scanf_has_long_double = yes; then
512 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
514 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
520 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
521 SAVE_LDFLAGS=$LDFLAGS
524 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
525 *) gdb_cv_bigtoc=-bbigtoc ;;
528 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
529 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
531 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
535 dnl See if thread_db library is around for Solaris thread debugging. Note that
536 dnl we must explicitly test for version 1 of the library because version 0
537 dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
539 dnl Note that we only want this if we are both native (host == target), and
540 dnl not doing a canadian cross build (build == host).
542 if test ${build} = ${host} -a ${host} = ${target} ; then
545 AC_MSG_CHECKING(for HPUX/OSF thread support)
546 if test -f /usr/include/dce/cma_config.h ; then
547 if test "$GCC" = "yes" ; then
549 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
550 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} hpux-thread.o"
551 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
553 AC_MSG_RESULT(no (suppressed because you are not using GCC))
560 AC_MSG_CHECKING(for Solaris thread debugging library)
561 if test -f /usr/lib/libthread_db.so.1 ; then
563 AC_DEFINE(HAVE_THREAD_DB_LIB)
564 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} sol-thread.o"
565 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
566 AC_CHECK_LIB(dl, dlopen)
567 if test "$GCC" = "yes" ; then
568 # The GNU linker requires the -export-dynamic option to make
569 # all symbols visible in the dynamic symbol table.
570 hold_ldflags=$LDFLAGS
571 AC_MSG_CHECKING(for the ld -export-dynamic flag)
572 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
573 AC_TRY_LINK(, [int i;], found=yes, found=no)
574 LDFLAGS=$hold_ldflags
575 AC_MSG_RESULT($found)
576 if test $found = yes; then
577 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
580 # Sun randomly tweaked the prototypes in <proc_service.h>
582 AC_MSG_CHECKING(if <proc_service.h> is old)
583 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
585 #include <proc_service.h>
587 (struct ps_prochandle*, psaddr_t, const void*, size_t);
588 ],, gdb_cv_proc_service_is_old=no,
589 gdb_cv_proc_service_is_old=yes)
591 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
592 if test $gdb_cv_proc_service_is_old = yes; then
593 AC_DEFINE(PROC_SERVICE_IS_OLD)
600 AC_SUBST(CONFIG_LDFLAGS)
603 dnl The CLI cannot be disabled yet, but may be in the future
605 dnl Handle CLI sub-directory configury.
606 AC_ARG_ENABLE(gdbcli,
607 [ --enable-gdbcli Enable GDB-CLI interface],
609 case "${enableval}" in
610 yes) enable_gdbcli=yes ;;
611 "") enable_gdbcli=yes ;;
613 AC_MSG_ERROR(The CLI cannot be disabled yet)
616 AC_MSG_ERROR(Bad value for --enable-gdbcli: ${enableval})
621 case ${enable_gdbcli} in
623 if test -d "${srcdir}/cli" ; then
624 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_CLI_OBS)"
625 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_CLI_DEPS)"
626 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_CLI_SRCS)"
627 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_CLI_INITS)"
628 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_CLI_CFLAGS)"
629 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_CLI_ALL)"
630 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_CLI_CLEAN)"
631 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_CLI_INSTALL)"
632 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_CLI_UNINSTALL)"
637 dnl Handle optional features that can be enabled.
639 dnl Handle MI sub-directory configury.
641 [ --enable-gdbmi Enable GDB-MI interface],
643 case "${enable_gdbmi}" in
645 "") enable_gdbmi=yes ;;
647 AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval})
652 case ${enable_gdbmi} in
654 if test -d "${srcdir}/mi" ; then
655 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_MI_OBS)"
656 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_MI_DEPS)"
657 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_MI_SRCS)"
658 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_MI_INITS)"
659 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_MI_CFLAGS)"
660 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_MI_ALL)"
661 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_MI_CLEAN)"
662 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_MI_INSTALL)"
663 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_MI_UNINSTALL)"
668 # Configure UI_OUT by default (before 5.2 it can be disabled)
669 # It must be configured if gdbmi is configured
672 AC_SUBST(UIOUT_CFLAGS)
675 [ --with-uiout Use new uiout functions instead of *printf's],
676 [case "${withval}" in
677 yes) want_uiout=true ;;
678 no) if test $enable_gdbmi = yes; then
679 AC_MSG_ERROR(uiout is needed for MI and cannot be disabled)
683 *) AC_MSG_ERROR(bad value ${withval} for GDB with-uiout option) ;;
685 [want_uiout=true])dnl
687 if test $want_uiout = true; then
688 UIOUT_CFLAGS="-DUI_OUT=1"
692 [ --enable-tui Enable full-screen terminal user interface],
694 case "${enable_tui}" in
696 "") enable_tui=yes ;;
698 AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
702 case ${enable_tui} in
704 if test -d "${srcdir}/tui" ; then
705 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_TUI_OBS)"
706 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_TUI_DEPS)"
707 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_TUI_SRCS)"
708 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_TUI_INITS)"
709 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_TUI_CFLAGS)"
710 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_TUI_ALL)"
711 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_TUI_CLEAN)"
712 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_TUI_INSTALL)"
713 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_TUI_UNINSTALL)"
718 AC_ARG_ENABLE(netrom,
719 [ --enable-netrom Enable NetROM support],
720 [case "${enableval}" in
721 yes) enable_netrom=yes ;;
722 no) enable_netrom=no ;;
723 *) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
726 if test "${enable_netrom}" = "yes"; then
727 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} remote-nrom.o"
728 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
732 # NOTE: Don't add -Wall or -Wunused, they both include
733 # -Wunused-parameter which reports bogus warnings.
734 # NOTE: If you add to this list, remember to update
735 # gdb/doc/gdbint.texinfo.
736 build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
737 -Wformat -Wparentheses -Wpointer-arith -Wuninitialized"
738 # Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
739 # -Wunused-function -Wunused-label -Wunused-variable -Wunused-value
740 # -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
741 # -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
742 # -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
743 # -Woverloaded-virtual -Winline -Werror"
744 AC_ARG_ENABLE(build-warnings,
745 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
746 [case "${enableval}" in
748 no) build_warnings="-w";;
749 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
750 build_warnings="${build_warnings} ${t}";;
751 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
752 build_warnings="${t} ${build_warnings}";;
753 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
755 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
756 echo "Setting compiler warning flags = $build_warnings" 6>&1
758 AC_ARG_ENABLE(gdb-build-warnings,
759 [ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
760 [case "${enableval}" in
762 no) build_warnings="-w";;
763 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
764 build_warnings="${build_warnings} ${t}";;
765 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
766 build_warnings="${t} ${build_warnings}";;
767 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
769 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
770 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
774 if test "x${build_warnings}" != x -a "x$GCC" = xyes
776 AC_MSG_CHECKING(compiler warning flags)
777 # Separate out the -Werror flag as some files just cannot be
778 # compiled with it enabled.
779 for w in ${build_warnings}; do
781 -Werr*) WERROR_CFLAGS=-Werror ;;
782 *) # Check that GCC accepts it
783 saved_CFLAGS="$CFLAGS"
785 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
786 CFLAGS="$saved_CFLAGS"
789 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
791 AC_SUBST(WARN_CFLAGS)
792 AC_SUBST(WERROR_CFLAGS)
796 AC_SUBST(MMALLOC_CFLAGS)
800 [ --with-mmalloc Use memory mapped malloc package],
801 [case "${withval}" in
802 yes) want_mmalloc=true ;;
803 no) want_mmalloc=false;;
804 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
805 esac],[want_mmalloc=false])dnl
807 if test x$want_mmalloc = xtrue; then
808 AC_DEFINE(USE_MMALLOC)
809 AC_DEFINE(MMCHECK_FORCE)
810 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
811 MMALLOC='../mmalloc/libmmalloc.a'
814 AC_ARG_WITH(included-regex,
815 [ --with-included-regex Use included regex],
816 [case "${withval}" in
817 yes) want_included_regex=true ;;
818 no) want_included_regex=false;;
819 *) AC_MSG_ERROR(bad value ${withval} for GDB with-included-regex option) ;;
820 esac],[want_included_regex=true])dnl
822 if test $want_included_regex = false; then
823 AC_MSG_CHECKING(for GNU regex)
824 AC_CACHE_VAL(gdb_cv_have_gnu_regex,
825 [AC_TRY_COMPILE([#include <gnu-versions.h>
826 #include <sys/types.h>
828 [#if !defined _GNU_REGEX_INTERFACE_VERSION || !defined __GLIBC__ || __GLIBC__ < 2
829 #error No valid GNU regex.
832 [gdb_cv_have_gnu_regex=yes],
833 [gdb_cv_have_gnu_regex=no])])
834 AC_MSG_RESULT($gdb_cv_have_gnu_regex)
835 if test $gdb_cv_have_gnu_regex = no; then
836 want_included_regex=true
840 if test x${want_included_regex} = xtrue; then
842 AC_DEFINE(USE_INCLUDED_REGEX)
846 # In the Cygwin environment, we need some additional flags.
847 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
848 [AC_EGREP_CPP(lose, [
849 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
851 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
854 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
855 SER_HARDWIRE="ser-unix.o ser-pipe.o ser-tcp.o"
857 *go32* ) SER_HARDWIRE=ser-go32.o ;;
858 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
860 AC_SUBST(SER_HARDWIRE)
863 dnl Figure out which term library to use.
864 if test x$gdb_host = xgo32; then
867 if test x$gdb_cv_os_cygwin = xyes; then
868 TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
871 AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
872 AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
873 AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
874 AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
875 AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
876 AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
878 if test "x$TERM_LIB" = x
880 AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
886 # libreadline needs libuser32.a in a cygwin environment
888 if test x$gdb_cv_os_cygwin = xyes; then
891 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
897 LIBGUI="../libgui/src/libgui.a"
898 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
900 AC_SUBST(GUI_CFLAGS_X)
903 [ --with-cpu=CPU Set the default CPU variant to debug],
905 powerpc-* | powerpcle-* )
906 ## It would be nice to keep this table in sync with the one in
908 case "${with_cpu}" in
909 ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
911 ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
913 common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
914 ## These are all RS6000 variants, as far as GDB is concerned.
924 AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
930 AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
933 AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
938 [ --enable-gdbtk Enable GDBTK GUI front end],
939 [case "${enableval}" in
943 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
946 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
954 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
957 # Default is on for everything but go32 and Cygwin
962 if test -d "${srcdir}/gdbtk" ; then
976 if test "${enable_gdbtk}" = "yes"; then
978 # Gdbtk must have an absolute path to srcdir in order to run
979 # properly when not installed.
986 if test -z "${no_tcl}"; then
990 # now look for Tcl library stuff
1001 TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1003 # If $no_tk is nonempty, then we can't do Tk, and there is no
1004 # point to doing Tcl.
1005 if test -z "${no_tk}"; then
1014 # now look for Tk library stuff
1025 TK_DEPS="${tkdir}${TK_LIB_FILE}"
1027 # now look for Itcl library stuff
1029 CY_AC_PATH_ITCLCONFIG
1030 if test -z "${no_itcl}"; then
1031 CY_AC_LOAD_ITCLCONFIG
1033 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
1034 ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
1038 # now look for Itk library stuff
1039 CY_AC_PATH_ITKCONFIG
1040 if test -z "${no_itcl}"; then
1041 CY_AC_LOAD_ITKCONFIG
1043 ITKLIB="${ITK_BUILD_LIB_SPEC}"
1044 ITK_DEPS="${ITK_LIB_FULL_PATH}"
1047 # now look for Tix library stuff
1048 CY_AC_PATH_TIXCONFIG
1049 if test -z "${no_tix}"; then
1050 CY_AC_LOAD_TIXCONFIG
1051 TIXLIB="${TIX_BUILD_LIB_SPEC}"
1052 TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"
1055 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1056 # Tcl/Tk 8.1 require -fwritable strings. I don't
1057 # know whether 8.2 will or not, but I bet it will.
1058 # I don't have to worry about 7.x since we don't support it.
1060 if test "$GCC" = "yes"; then
1061 if test "$TCL_VERSION" != "8.0" ; then
1062 GDBTK_CFLAGS="-fwritable-strings"
1066 # Include some libraries that Tcl and Tk want.
1067 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1068 # Yes, the ordering seems wrong here. But it isn't.
1069 # TK_LIBS is the list of libraries that need to be linked
1070 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1071 # were in LIBS then any link tests after this point would
1072 # try to include things like `$(LIBGUI)', which wouldn't work.
1073 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1075 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1076 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1077 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1078 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_GDBTK_INITS)"
1079 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"
1080 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_GDBTK_CLEAN)"
1081 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"
1082 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"
1084 if test x$gdb_cv_os_cygwin = xyes; then
1085 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1086 WIN32LDAPP="-Wl,--subsystem,console"
1087 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1092 SUBDIRS="${SUBDIRS} gdbtk"
1093 configdirs="${configdirs} gdbtk"
1108 AC_SUBST(GDBTK_CFLAGS)
1109 AC_SUBST(GDBTK_SRC_DIR)
1114 # Unlike the sim directory, whether a simulator is linked is controlled by
1115 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
1116 # This code just checks for a few cases where we'd like to ignore those
1117 # definitions, even when they're present in the '.mt' file. These cases
1118 # are when --disable-sim is specified, or if the simulator directory is
1119 # not part of the source tree.
1122 [ --enable-sim Link gdb with simulator],
1123 [echo "enable_sim = $enable_sim";
1124 echo "enableval = ${enableval}";
1125 case "${enableval}" in
1126 yes) ignore_sim=false ;;
1127 no) ignore_sim=true ;;
1128 *) ignore_sim=false ;;
1132 if test ! -d "${srcdir}/../sim"; then
1136 if test "${ignore_sim}" = "true"; then
1138 IGNORE_SIM_OBS="SIM_OBS="
1144 AC_SUBST(IGNORE_SIM)
1145 AC_SUBST(IGNORE_SIM_OBS)
1147 AC_SUBST(ENABLE_CFLAGS)
1149 AC_SUBST(CONFIG_OBS)
1150 AC_SUBST(CONFIG_LIB_OBS)
1151 AC_SUBST(CONFIG_DEPS)
1152 AC_SUBST(CONFIG_SRCS)
1153 AC_SUBST(CONFIG_INITS)
1154 AC_SUBST(CONFIG_ALL)
1155 AC_SUBST(CONFIG_CLEAN)
1156 AC_SUBST(CONFIG_INSTALL)
1157 AC_SUBST(CONFIG_UNINSTALL)
1159 # Begin stuff to support --enable-shared
1160 AC_ARG_ENABLE(shared,
1161 [ --enable-shared Use shared libraries],
1162 [case "${enableval}" in
1170 # If we have shared libraries, try to set rpath reasonably.
1171 if test "${shared}" = "true"; then
1174 HLDFLAGS='-Wl,+s,+b,$(libdir)'
1176 *-*-irix5* | *-*-irix6*)
1177 HLDFLAGS='-Wl,-rpath,$(libdir)'
1181 *-*-linux* | *-pc-linux-gnu*)
1182 HLDFLAGS='-Wl,-rpath,$(libdir)'
1185 HLDFLAGS='-R $(libdir)'
1188 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;'
1193 # On SunOS, if the linker supports the -rpath option, use it to
1194 # prevent ../bfd and ../opcodes from being included in the run time
1198 echo 'main () { }' > conftest.c
1199 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
1200 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
1202 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
1204 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
1206 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
1208 elif test "${shared}" = "true"; then
1209 HLDFLAGS='-Wl,-rpath=$(libdir)'
1211 HLDFLAGS='-Wl,-rpath='
1213 rm -f conftest.t conftest.c conftest
1218 # End stuff to support --enable-shared
1220 # target_subdir is used by the testsuite to find the target libraries.
1222 if test "${host}" != "${target}"; then
1223 target_subdir="${target_alias}/"
1225 AC_SUBST(target_subdir)
1228 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1229 if test ! -f ${host_makefile_frag}; then
1230 # When building a native debuger the .mh file containing things
1231 # like NATDEPFILES is needed. Cross debuggers don't need .mh
1232 # since it no longer contains anything useful.
1233 if test "${target}" = "${host}"; then
1234 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1236 host_makefile_frag=/dev/null
1239 frags="$frags $host_makefile_frag"
1241 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1242 if test ! -f ${target_makefile_frag}; then
1243 AC_MSG_ERROR("*** Gdb does not support target ${target}")
1245 frags="$frags $target_makefile_frag"
1247 AC_SUBST_FILE(host_makefile_frag)
1248 AC_SUBST_FILE(target_makefile_frag)
1253 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1254 ' ${host_makefile_frag}`
1256 targetfile=`sed -n '
1257 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1258 ' ${target_makefile_frag}`
1260 GDB_MULTI_ARCH=`sed -n '
1261 s/GDB_MULTI_ARCH[ ]*=[ ]*\([^ ]*\)[ ]*/\1/p
1262 ' ${target_makefile_frag}`
1264 if test "${target}" = "${host}"; then
1265 # We pick this up from the host configuration file (.mh) because we
1266 # do not have a native configuration Makefile fragment.
1267 nativefile=`sed -n '
1268 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1269 ' ${host_makefile_frag}`
1273 # New targets should just set gdb_multi_arch=yes in configure.tgt.
1274 # Old targets being converted can either do that or set GDB_MULTI_ARCH
1275 # in the target specific makefile frag. Eventually gdb_multi_arch=yes
1276 # will be the default.
1277 if test x"${GDB_MULTI_ARCH}" = x ; then
1278 case "${gdb_multi_arch}" in
1279 yes ) GDB_MULTI_ARCH=GDB_MULTI_ARCH_PURE ;;
1280 no ) GDB_MULTI_ARCH=0 ;;
1281 0|1|2 ) GDB_MULTI_ARCH=${gdb_multi_arch} ;;
1284 if test x"${GDB_MULTI_ARCH}" != x ; then
1285 AC_DEFINE_UNQUOTED(GDB_MULTI_ARCH, ${GDB_MULTI_ARCH})
1287 # Warn the user when they use an old practice
1288 case "${GDB_MULTI_ARCH}" in
1290 0 | GDB_MULTI_ARCH_PARTIAL | 1 | GDB_MULTI_ARCH_TM | 2 )
1291 AC_MSG_WARN("GDB: Target is not pure multi-arch") ;;
1292 GDB_MULTI_ARCH_PURE )
1293 if test x"${targetfile}" != x ; then
1294 AC_MSG_WARN("GDB: Ignoring TM_FILE in ${target_makefile_frag}")
1297 *) AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
1300 if test "${enable_multi_ice}" = "yes"; then
1301 SUBDIRS="${SUBDIRS} multi-ice"
1304 # ``gdbserver'' can only be built in a native configuration.
1305 if test x"${target}" = x"${host}"; then
1306 AC_MSG_CHECKING(whether gdbserver is supported on this host)
1307 if test x"${build_gdbserver}" = xyes ; then
1308 configdirs="${configdirs} gdbserver"
1309 SUBDIRS="${SUBDIRS} gdbserver"
1318 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
1319 # (NAT_FILE) is not set in config/*/*.m[ht] files, we link to an empty
1327 if test "${hostfile}" != ""; then
1329 GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}"
1330 files="${files} ${GDB_XM_FILE}"
1331 links="${links} xm.h"
1332 AC_DEFINE_UNQUOTED(GDB_XM_FILE, ${GDB_XM_FILE})
1338 if test "${targetfile}" != ""; then
1340 GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}"
1341 files="${files} ${GDB_TM_FILE}"
1342 links="${links} tm.h"
1343 AC_DEFINE_UNQUOTED(GDB_TM_FILE, ${GDB_TM_FILE})
1349 if test "${nativefile}" != ""; then
1351 GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}"
1352 files="${files} ${GDB_NM_FILE}"
1353 links="${links} nm.h"
1354 AC_DEFINE_UNQUOTED(GDB_NM_FILE, ${GDB_NM_FILE})
1360 AC_LINK_FILES($files, $links)
1362 dnl Check for exe extension set on certain hosts (e.g. Win32)
1365 dnl Detect the character set used by this host.
1367 dnl At the moment, we just assume it's ISO-8859-1 (which is a
1368 dnl superset of ASCII containing the characters needed for French,
1369 dnl German, Spanish, Italian, and possibly others), but if were
1370 dnl *were* to support any host character sets other than ISO-8859-1,
1371 dnl here's where we'd detect it.
1372 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1373 [Define to be a string naming the default host character set.])
1377 AC_CONFIG_SUBDIRS($configdirs)
1378 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1380 dnl Autoconf doesn't provide a mechanism for modifying definitions
1381 dnl provided by makefile fragments.
1383 if test "${nativefile}" = ""; then
1385 sed -e '/^NATDEPFILES[[ ]]*=.*\\$/,/[[^\\]]$/s/^/# /' \
1386 -e '/^NATDEPFILES[[ ]]*=/s/^/# /' \
1387 | sed -e '/^\(NATDEPFILES[[ ]]*[[+]]=[[ ]]*\)/s//# \1/' \
1389 mv -f Makefile.tem Makefile
1393 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
1394 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1395 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1396 mv -f Makefile.tmp Makefile
1400 case x$CONFIG_HEADERS in
1401 xconfig.h:config.in)
1406 gdb_host_cpu=$gdb_host_cpu
1407 gdb_target_cpu=$gdb_target_cpu
1408 nativefile=$nativefile