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 configdirs="doc testsuite"
57 AC_ARG_ENABLE(multi-ice,
58 [ --enable-multi-ice Build the multi-ice-gdb-server],
59 [case "${enableval}" in
60 yes ) enable_multi_ice="yes" ;;
61 no) enable_multi_ice="no" ;;
62 *) AC_MSG_ERROR(Bad value for --enable-multi-ice: ${enableval}) ;;
66 if test "${enable_multi_ice}" = "yes"; then
67 configdirs="${configdirs} multi-ice"
73 . ${srcdir}/configure.host
75 . ${srcdir}/configure.tgt
77 targ=${target} ; . ${srcdir}/../bfd/config.bfd
82 dnl use BFD to determine the default architecture and byte order
83 dnl (bfd_vec->byteorder provides the latter).
85 . ${srcdir}/../bfd/config.bfd
87 dnl We only want the first arch, if there is more than one.
88 targ_archs=`echo ${targ_archs} | sed -e 's/ .*//;'`
90 if test x"${targ_archs}" != x ; then
91 AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, ${targ_archs})
93 if test x"${targ_defvec}" != x ; then
94 AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, ${targ_defvec})
100 AC_CHECK_TOOL(RANLIB, ranlib, :)
101 AC_CHECK_TOOL(DLLTOOL, dlltool)
102 AC_CHECK_TOOL(WINDRES, windres)
105 dnl MiG is needed for the Hurd.
106 AC_CHECK_TOOL(MIG, mig)
114 dnl Solaris 7 needs _MSE_INT_H defined to avoid a clash between <widec.h>
115 dnl and <wchar.h> that causes AC_CHECK_HEADERS to think <curses.h> doesn't
118 case $host_os in solaris2.7 | solaris2.8) case "$GCC" in yes)
119 AC_DEFINE(_MSE_INT_H)
122 AC_CHECK_HEADERS(ctype.h nlist.h link.h thread_db.h proc_service.h \
123 memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \
124 string.h sys/procfs.h sys/ptrace.h sys/reg.h stdint.h \
125 term.h termio.h termios.h unistd.h wait.h sys/wait.h \
126 wchar.h wctype.h asm/debugreg.h sys/debugreg.h sys/select.h \
127 time.h sys/file.h sys/ioctl.h sys/user.h sys/fault.h sys/syscall.h \
128 dirent.h sys/ndir.h sys/dir.h ndir.h sys/filio.h \
136 AC_CHECK_FUNCS(bcopy btowc bzero canonicalize_file_name isascii poll \
137 realpath sbrk setpgid setpgrp sigaction sigprocmask sigsetmask )
140 dnl AC_FUNC_SETPGRP does not work when cross compiling
141 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
142 if test "$cross_compiling" = no; then
145 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
149 if (setpgrp(1,1) == -1)
153 ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
154 if test $ac_cv_func_setpgrp_void = yes; then
155 AC_DEFINE(SETPGRP_VOID, 1)
159 # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
160 # since sigsetjmp might only be defined as a macro.
161 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
164 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
165 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
166 if test $gdb_cv_func_sigsetjmp = yes; then
167 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
170 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
171 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
172 AC_CACHE_CHECK([for r_fs in struct reg], gdb_cv_struct_reg_r_fs,
173 [AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_fs;],
174 gdb_cv_struct_reg_r_fs=yes, gdb_cv_struct_reg_r_fs=no)])
175 if test $gdb_cv_struct_reg_r_fs = yes; then
176 AC_DEFINE(HAVE_STRUCT_REG_R_FS)
178 AC_CACHE_CHECK([for r_gs in struct reg], gdb_cv_struct_reg_r_gs,
179 [AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_gs;],
180 gdb_cv_struct_reg_r_gs=yes, gdb_cv_struct_reg_r_gs=no)])
181 if test $gdb_cv_struct_reg_r_gs = yes; then
182 AC_DEFINE(HAVE_STRUCT_REG_R_GS)
185 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
186 AC_MSG_CHECKING(for PTRACE_GETREGS)
187 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
188 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
190 [gdb_cv_have_ptrace_getregs=yes],
191 [gdb_cv_have_ptrace_getregs=no])])
192 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
193 if test $gdb_cv_have_ptrace_getregs = yes; then
194 AC_DEFINE(HAVE_PTRACE_GETREGS)
197 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
198 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
199 AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
200 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
201 [PTRACE_GETFPXREGS;],
202 [gdb_cv_have_ptrace_getfpxregs=yes],
203 [gdb_cv_have_ptrace_getfpxregs=no])])
204 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
205 if test $gdb_cv_have_ptrace_getfpxregs = yes; then
206 AC_DEFINE(HAVE_PTRACE_GETFPXREGS)
209 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
210 AC_MSG_CHECKING(for PT_GETDBREGS)
211 AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
212 [AC_TRY_COMPILE([#include <sys/types.h>
213 #include <sys/ptrace.h>],
215 [gdb_cv_have_pt_getdbregs=yes],
216 [gdb_cv_have_pt_getdbregs=no])])
217 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
218 if test $gdb_cv_have_pt_getdbregs = yes; then
219 AC_DEFINE(HAVE_PT_GETDBREGS)
222 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
223 AC_MSG_CHECKING(for PT_GETXMMREGS)
224 AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
225 [AC_TRY_COMPILE([#include <sys/types.h>
226 #include <sys/ptrace.h>],
228 [gdb_cv_have_pt_getxmmregs=yes],
229 [gdb_cv_have_pt_getxmmregs=no])])
230 AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
231 if test $gdb_cv_have_pt_getxmmregs = yes; then
232 AC_DEFINE(HAVE_PT_GETXMMREGS)
236 AC_CHECK_LIB(socket, socketpair)
237 AC_CHECK_FUNCS(socketpair)
240 BFD_NEED_DECLARATION(malloc)
241 BFD_NEED_DECLARATION(realloc)
242 BFD_NEED_DECLARATION(free)
243 BFD_NEED_DECLARATION(strerror)
244 BFD_NEED_DECLARATION(strdup)
245 BFD_NEED_DECLARATION(strstr)
246 BFD_NEED_DECLARATION(canonicalize_file_name)
248 # The following save_state_t checkery is only necessary for HPUX
249 # versions earlier than 10.20. When those fade from memory, this
250 # could be expunged. --jsm 1999-03-22
252 AC_MSG_CHECKING(for HPUX save_state structure)
253 AC_EGREP_HEADER(save_state_t, machine/save_state.h,
254 gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)
255 AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,
256 gdb_cv_hpux_sswide=no)
257 if test $gdb_cv_hpux_savestate = yes
259 AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)
261 if test $gdb_cv_hpux_sswide = yes
263 AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)
265 AC_MSG_RESULT($gdb_cv_hpux_sswide)
268 # If we are configured native on GNU/Linux, work around problems with
270 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
272 if test "${target}" = "${host}"; then
274 i[[3456]]86-*-linux*)
275 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
276 AC_DEFINE(sys_quotactl)
279 AC_DEFINE(NEW_PROC_API)
281 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5*)
282 AC_DEFINE(NEW_PROC_API)
284 *-*-solaris2.[[678]])
285 AC_DEFINE(NEW_PROC_API)
290 if test "$ac_cv_header_sys_procfs_h" = yes; then
291 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
292 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
293 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
294 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
295 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
296 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
297 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
298 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
299 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
300 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
301 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
302 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
303 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
304 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
307 dnl Check for broken prfpregset_t type
309 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
310 dnl prfpregset_t type (it's a typedef for the pointer to a struct
311 dnl instead of the struct itself). We detect this here, and work
312 dnl around it in gdb_proc_service.h.
314 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
315 AC_MSG_CHECKING(whether prfpregset_t type is broken)
316 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
317 [AC_TRY_RUN([#include <sys/procfs.h>
320 if (sizeof (prfpregset_t) == sizeof (void *))
324 gdb_cv_prfpregset_t_broken=no,
325 gdb_cv_prfpregset_t_broken=yes,
326 gdb_cv_prfpregset_t_broken=yes)])
327 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
328 if test $gdb_cv_prfpregset_t_broken = yes; then
329 AC_DEFINE(PRFPREGSET_T_BROKEN)
333 dnl Check for PIOCSET ioctl entry
335 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
336 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
337 [AC_TRY_COMPILE([#include <unistd.h>
338 #include <sys/types.h>
339 #include <sys/procfs.h>
342 dummy = ioctl(0, PIOCSET, &dummy);
344 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
345 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
346 if test $gdb_cv_have_procfs_piocset = yes; then
347 AC_DEFINE(HAVE_PROCFS_PIOCSET)
351 dnl For native ports (host == target), check to see what kind of
352 dnl legacy link.h support is needed. (See solib-legacy.c.)
353 if test ${host} = ${target} ; then
354 dnl Check for struct link_map with l_ members which are indicative
355 dnl of SVR4-like shared libraries
357 AC_MSG_CHECKING(for member l_addr in struct link_map)
358 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
359 [AC_TRY_COMPILE([#include <link.h>],
360 [struct link_map lm; (void) lm.l_addr;],
361 gdb_cv_have_struct_link_map_with_l_members=yes,
362 gdb_cv_have_struct_link_map_with_l_members=no)])
363 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
364 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
365 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS)
368 dnl Check for struct link_map with lm_ members which are indicative
369 dnl of SunOS-like shared libraries
371 AC_MSG_CHECKING(for member lm_addr in struct link_map)
372 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
373 [AC_TRY_COMPILE([#include <sys/types.h>
375 [struct link_map lm; (void) lm.lm_addr;],
376 gdb_cv_have_struct_link_map_with_lm_members=yes,
377 gdb_cv_have_struct_link_map_with_lm_members=no)])
378 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
379 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
380 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS)
383 dnl Check for struct so_map with som_ members which are found on
384 dnl some *BSD systems.
386 AC_MSG_CHECKING(for member som_addr in struct so_map)
387 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
388 [AC_TRY_COMPILE([#include <sys/types.h>
393 [struct so_map lm; (void) lm.som_addr;],
394 gdb_cv_have_struct_so_map_with_som_members=yes,
395 gdb_cv_have_struct_so_map_with_som_members=no)])
396 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
397 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
398 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS)
401 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
402 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
404 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
405 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
406 [AC_TRY_COMPILE([#define _SYSCALL32
407 #include <sys/link.h>], [struct link_map32 l;],
408 gdb_cv_have_struct_link_map32=yes,
409 gdb_cv_have_struct_link_map32=no)])
410 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
411 if test $gdb_cv_have_struct_link_map32 = yes; then
412 AC_DEFINE(HAVE_STRUCT_LINK_MAP32)
413 AC_DEFINE(_SYSCALL32)
417 dnl See if host has libm. This is usually needed by simulators.
418 AC_CHECK_LIB(m, main)
420 dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
422 dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
423 dnl under Solaris 2.6 because it is some funky empty library.
424 dnl So only link in libw if we have to.
425 AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
427 dnl See if compiler supports "long long" type.
429 AC_MSG_CHECKING(for long long support in compiler)
430 AC_CACHE_VAL(gdb_cv_c_long_long,
432 extern long long foo;
433 switch (foo & 2) { case 0: return 1; }
435 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
436 AC_MSG_RESULT($gdb_cv_c_long_long)
437 if test $gdb_cv_c_long_long = yes; then
438 AC_DEFINE(CC_HAS_LONG_LONG)
441 dnl See if the compiler and runtime support printing long long
443 AC_MSG_CHECKING(for long long support in printf)
444 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
449 l = (l << 16) + 0x0123;
450 l = (l << 16) + 0x4567;
451 l = (l << 16) + 0x89ab;
452 l = (l << 16) + 0xcdef;
453 sprintf (buf, "0x%016llx", l);
454 return (strcmp ("0x0123456789abcdef", buf));
456 gdb_cv_printf_has_long_long=yes,
457 gdb_cv_printf_has_long_long=no,
458 gdb_cv_printf_has_long_long=no)])
459 if test $gdb_cv_printf_has_long_long = yes; then
460 AC_DEFINE(PRINTF_HAS_LONG_LONG)
462 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
464 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
465 dnl because autoconf complains about cross-compilation issues. However, this
466 dnl code uses the same variables as the macro for compatibility.
468 AC_MSG_CHECKING(for long double support in compiler)
469 AC_CACHE_VAL(ac_cv_c_long_double,
470 [AC_TRY_COMPILE(, [long double foo;],
471 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
472 AC_MSG_RESULT($ac_cv_c_long_double)
473 if test $ac_cv_c_long_double = yes; then
474 AC_DEFINE(HAVE_LONG_DOUBLE)
477 dnl See if the compiler and runtime support printing long doubles
479 AC_MSG_CHECKING(for long double support in printf)
480 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
484 long double f = 3.141592653;
485 sprintf (buf, "%Lg", f);
486 return (strncmp ("3.14159", buf, 7));
488 gdb_cv_printf_has_long_double=yes,
489 gdb_cv_printf_has_long_double=no,
490 gdb_cv_printf_has_long_double=no)])
491 if test $gdb_cv_printf_has_long_double = yes; then
492 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
494 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
496 dnl See if the compiler and runtime support scanning long doubles
498 AC_MSG_CHECKING(for long double support in scanf)
499 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
502 char *buf = "3.141592653";
504 sscanf (buf, "%Lg", &f);
505 return !(f > 3.14159 && f < 3.14160);
507 gdb_cv_scanf_has_long_double=yes,
508 gdb_cv_scanf_has_long_double=no,
509 gdb_cv_scanf_has_long_double=no)])
510 if test $gdb_cv_scanf_has_long_double = yes; then
511 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
513 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
519 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
520 SAVE_LDFLAGS=$LDFLAGS
523 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
524 *) gdb_cv_bigtoc=-bbigtoc ;;
527 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
528 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
530 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
534 dnl See if thread_db library is around for Solaris thread debugging. Note that
535 dnl we must explicitly test for version 1 of the library because version 0
536 dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
538 dnl Note that we only want this if we are both native (host == target), and
539 dnl not doing a canadian cross build (build == host).
541 if test ${build} = ${host} -a ${host} = ${target} ; then
544 AC_MSG_CHECKING(for HPUX/OSF thread support)
545 if test -f /usr/include/dce/cma_config.h ; then
546 if test "$GCC" = "yes" ; then
548 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
549 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} hpux-thread.o"
550 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
552 AC_MSG_RESULT(no (suppressed because you are not using GCC))
559 AC_MSG_CHECKING(for Solaris thread debugging library)
560 if test -f /usr/lib/libthread_db.so.1 ; then
562 AC_DEFINE(HAVE_THREAD_DB_LIB)
563 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} sol-thread.o"
564 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
565 AC_CHECK_LIB(dl, dlopen)
566 if test "$GCC" = "yes" ; then
567 # The GNU linker requires the -export-dynamic option to make
568 # all symbols visible in the dynamic symbol table.
569 hold_ldflags=$LDFLAGS
570 AC_MSG_CHECKING(for the ld -export-dynamic flag)
571 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
572 AC_TRY_LINK(, [int i;], found=yes, found=no)
573 LDFLAGS=$hold_ldflags
574 AC_MSG_RESULT($found)
575 if test $found = yes; then
576 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
579 # Sun randomly tweaked the prototypes in <proc_service.h>
581 AC_MSG_CHECKING(if <proc_service.h> is old)
582 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
584 #include <proc_service.h>
586 (struct ps_prochandle*, psaddr_t, const void*, size_t);
587 ],, gdb_cv_proc_service_is_old=no,
588 gdb_cv_proc_service_is_old=yes)
590 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
591 if test $gdb_cv_proc_service_is_old = yes; then
592 AC_DEFINE(PROC_SERVICE_IS_OLD)
599 AC_SUBST(CONFIG_LDFLAGS)
602 dnl The CLI cannot be disabled yet, but may be in the future
604 dnl Handle CLI sub-directory configury.
605 AC_ARG_ENABLE(gdbcli,
606 [ --enable-gdbcli Enable GDB-CLI interface],
608 case "${enableval}" in
609 yes) enable_gdbcli=yes ;;
610 "") enable_gdbcli=yes ;;
612 AC_MSG_ERROR(The CLI cannot be disabled yet)
615 AC_MSG_ERROR(Bad value for --enable-gdbcli: ${enableval})
620 case ${enable_gdbcli} in
622 if test -d "${srcdir}/cli" ; then
623 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_CLI_OBS)"
624 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_CLI_DEPS)"
625 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_CLI_SRCS)"
626 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_CLI_INITS)"
627 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_CLI_CFLAGS)"
628 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_CLI_ALL)"
629 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_CLI_CLEAN)"
630 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_CLI_INSTALL)"
631 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_CLI_UNINSTALL)"
636 dnl Handle optional features that can be enabled.
638 dnl Handle MI sub-directory configury.
640 [ --enable-gdbmi Enable GDB-MI interface],
642 case "${enable_gdbmi}" in
644 "") enable_gdbmi=yes ;;
646 AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval})
651 case ${enable_gdbmi} in
653 if test -d "${srcdir}/mi" ; then
654 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_MI_OBS)"
655 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_MI_DEPS)"
656 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_MI_SRCS)"
657 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_MI_INITS)"
658 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_MI_CFLAGS)"
659 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_MI_ALL)"
660 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_MI_CLEAN)"
661 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_MI_INSTALL)"
662 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_MI_UNINSTALL)"
667 # Configure UI_OUT by default (before 5.2 it can be disabled)
668 # It must be configured if gdbmi is configured
671 AC_SUBST(UIOUT_CFLAGS)
674 [ --with-uiout Use new uiout functions instead of *printf's],
675 [case "${withval}" in
676 yes) want_uiout=true ;;
677 no) if test $enable_gdbmi = yes; then
678 AC_MSG_ERROR(uiout is needed for MI and cannot be disabled)
682 *) AC_MSG_ERROR(bad value ${withval} for GDB with-uiout option) ;;
684 [want_uiout=true])dnl
686 if test $want_uiout = true; then
687 UIOUT_CFLAGS="-DUI_OUT=1"
691 [ --enable-tui Enable full-screen terminal user interface],
693 case "${enable_tui}" in
695 "") enable_tui=yes ;;
697 AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
701 case ${enable_tui} in
703 if test -d "${srcdir}/tui" ; then
704 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_TUI_OBS)"
705 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_TUI_DEPS)"
706 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_TUI_SRCS)"
707 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_TUI_INITS)"
708 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_TUI_CFLAGS)"
709 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_TUI_ALL)"
710 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_TUI_CLEAN)"
711 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_TUI_INSTALL)"
712 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_TUI_UNINSTALL)"
717 AC_ARG_ENABLE(netrom,
718 [ --enable-netrom Enable NetROM support],
719 [case "${enableval}" in
720 yes) enable_netrom=yes ;;
721 no) enable_netrom=no ;;
722 *) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
725 if test "${enable_netrom}" = "yes"; then
726 CONFIG_LIB_OBS="${CONFIG_LIB_OBS} remote-nrom.o"
727 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
731 # NOTE: Don't add -Wall or -Wunused, they both include
732 # -Wunused-parameter which reports bogus warnings.
733 # NOTE: If you add to this list, remember to update
734 # gdb/doc/gdbint.texinfo.
735 build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
736 -Wformat -Wparentheses -Wpointer-arith -Wuninitialized"
737 # Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
738 # -Wunused-function -Wunused-label -Wunused-variable -Wunused-value
739 # -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
740 # -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
741 # -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
742 # -Woverloaded-virtual -Winline -Werror"
743 AC_ARG_ENABLE(build-warnings,
744 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
745 [case "${enableval}" in
747 no) build_warnings="-w";;
748 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
749 build_warnings="${build_warnings} ${t}";;
750 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
751 build_warnings="${t} ${build_warnings}";;
752 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
754 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
755 echo "Setting compiler warning flags = $build_warnings" 6>&1
757 AC_ARG_ENABLE(gdb-build-warnings,
758 [ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
759 [case "${enableval}" in
761 no) build_warnings="-w";;
762 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
763 build_warnings="${build_warnings} ${t}";;
764 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
765 build_warnings="${t} ${build_warnings}";;
766 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
768 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
769 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
773 if test "x${build_warnings}" != x -a "x$GCC" = xyes
775 AC_MSG_CHECKING(compiler warning flags)
776 # Separate out the -Werror flag as some files just cannot be
777 # compiled with it enabled.
778 for w in ${build_warnings}; do
780 -Werr*) WERROR_CFLAGS=-Werror ;;
781 *) # Check that GCC accepts it
782 saved_CFLAGS="$CFLAGS"
784 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
785 CFLAGS="$saved_CFLAGS"
788 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
790 AC_SUBST(WARN_CFLAGS)
791 AC_SUBST(WERROR_CFLAGS)
795 AC_SUBST(MMALLOC_CFLAGS)
799 [ --with-mmalloc Use memory mapped malloc package],
800 [case "${withval}" in
801 yes) want_mmalloc=true ;;
802 no) want_mmalloc=false;;
803 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
804 esac],[want_mmalloc=false])dnl
806 if test x$want_mmalloc = xtrue; then
807 AC_DEFINE(USE_MMALLOC)
808 AC_DEFINE(MMCHECK_FORCE)
809 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
810 MMALLOC='../mmalloc/libmmalloc.a'
813 AC_ARG_WITH(included-regex,
814 [ --with-included-regex Use included regex],
815 [case "${withval}" in
816 yes) want_included_regex=true ;;
817 no) want_included_regex=false;;
818 *) AC_MSG_ERROR(bad value ${withval} for GDB with-included-regex option) ;;
819 esac],[want_included_regex=true])dnl
821 if test $want_included_regex = false; then
822 AC_MSG_CHECKING(for GNU regex)
823 AC_CACHE_VAL(gdb_cv_have_gnu_regex,
824 [AC_TRY_COMPILE([#include <gnu-versions.h>
825 #include <sys/types.h>
827 [#if !defined _GNU_REGEX_INTERFACE_VERSION || !defined __GLIBC__ || __GLIBC__ < 2
828 #error No valid GNU regex.
831 [gdb_cv_have_gnu_regex=yes],
832 [gdb_cv_have_gnu_regex=no])])
833 AC_MSG_RESULT($gdb_cv_have_gnu_regex)
834 if test $gdb_cv_have_gnu_regex = no; then
835 want_included_regex=true
839 if test x${want_included_regex} = xtrue; then
841 AC_DEFINE(USE_INCLUDED_REGEX)
845 # In the Cygwin environment, we need some additional flags.
846 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
847 [AC_EGREP_CPP(lose, [
848 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
850 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
853 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
854 SER_HARDWIRE="ser-unix.o ser-pipe.o ser-tcp.o"
856 *go32* ) SER_HARDWIRE=ser-go32.o ;;
857 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
859 AC_SUBST(SER_HARDWIRE)
862 dnl Figure out which term library to use.
863 if test x$gdb_host = xgo32; then
866 if test x$gdb_cv_os_cygwin = xyes; then
867 TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
870 AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
871 AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
872 AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
873 AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
874 AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
875 AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
877 if test "x$TERM_LIB" = x
879 AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
885 # libreadline needs libuser32.a in a cygwin environment
887 if test x$gdb_cv_os_cygwin = xyes; then
890 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
896 LIBGUI="../libgui/src/libgui.a"
897 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
899 AC_SUBST(GUI_CFLAGS_X)
902 [ --with-cpu=CPU Set the default CPU variant to debug],
904 powerpc-* | powerpcle-* )
905 ## It would be nice to keep this table in sync with the one in
907 case "${with_cpu}" in
908 ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
910 ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
912 common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
913 ## These are all RS6000 variants, as far as GDB is concerned.
923 AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
929 AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
932 AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
937 [ --enable-gdbtk Enable GDBTK GUI front end],
938 [case "${enableval}" in
942 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
945 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
953 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
956 # Default is on for everything but go32 and Cygwin
961 if test -d "${srcdir}/gdbtk" ; then
975 if test "${enable_gdbtk}" = "yes"; then
977 # Gdbtk must have an absolute path to srcdir in order to run
978 # properly when not installed.
985 if test -z "${no_tcl}"; then
989 # now look for Tcl library stuff
1000 TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1002 # If $no_tk is nonempty, then we can't do Tk, and there is no
1003 # point to doing Tcl.
1004 if test -z "${no_tk}"; then
1013 # now look for Tk library stuff
1024 TK_DEPS="${tkdir}${TK_LIB_FILE}"
1026 # now look for Itcl library stuff
1028 CY_AC_PATH_ITCLCONFIG
1029 if test -z "${no_itcl}"; then
1030 CY_AC_LOAD_ITCLCONFIG
1032 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
1033 ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
1037 # now look for Itk library stuff
1038 CY_AC_PATH_ITKCONFIG
1039 if test -z "${no_itcl}"; then
1040 CY_AC_LOAD_ITKCONFIG
1042 ITKLIB="${ITK_BUILD_LIB_SPEC}"
1043 ITK_DEPS="${ITK_LIB_FULL_PATH}"
1046 # now look for Tix library stuff
1047 CY_AC_PATH_TIXCONFIG
1048 if test -z "${no_tix}"; then
1049 CY_AC_LOAD_TIXCONFIG
1050 TIXLIB="${TIX_BUILD_LIB_SPEC}"
1051 TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"
1054 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1055 # Tcl/Tk 8.1 require -fwritable strings. I don't
1056 # know whether 8.2 will or not, but I bet it will.
1057 # I don't have to worry about 7.x since we don't support it.
1059 if test "$GCC" = "yes"; then
1060 if test "$TCL_VERSION" != "8.0" ; then
1061 GDBTK_CFLAGS="-fwritable-strings"
1065 # Include some libraries that Tcl and Tk want.
1066 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1067 # Yes, the ordering seems wrong here. But it isn't.
1068 # TK_LIBS is the list of libraries that need to be linked
1069 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1070 # were in LIBS then any link tests after this point would
1071 # try to include things like `$(LIBGUI)', which wouldn't work.
1072 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1074 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1075 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1076 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1077 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_GDBTK_INITS)"
1078 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"
1079 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_GDBTK_CLEAN)"
1080 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"
1081 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"
1083 if test x$gdb_cv_os_cygwin = xyes; then
1084 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1085 WIN32LDAPP="-Wl,--subsystem,console"
1086 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1104 AC_SUBST(GDBTK_CFLAGS)
1105 AC_SUBST(GDBTK_SRC_DIR)
1110 # Unlike the sim directory, whether a simulator is linked is controlled by
1111 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
1112 # This code just checks for a few cases where we'd like to ignore those
1113 # definitions, even when they're present in the '.mt' file. These cases
1114 # are when --disable-sim is specified, or if the simulator directory is
1115 # not part of the source tree.
1118 [ --enable-sim Link gdb with simulator],
1119 [echo "enable_sim = $enable_sim";
1120 echo "enableval = ${enableval}";
1121 case "${enableval}" in
1122 yes) ignore_sim=false ;;
1123 no) ignore_sim=true ;;
1124 *) ignore_sim=false ;;
1128 if test ! -d "${srcdir}/../sim"; then
1132 if test "${ignore_sim}" = "true"; then
1134 IGNORE_SIM_OBS="SIM_OBS="
1140 AC_SUBST(IGNORE_SIM)
1141 AC_SUBST(IGNORE_SIM_OBS)
1143 AC_SUBST(ENABLE_CFLAGS)
1145 AC_SUBST(CONFIG_OBS)
1146 AC_SUBST(CONFIG_LIB_OBS)
1147 AC_SUBST(CONFIG_DEPS)
1148 AC_SUBST(CONFIG_SRCS)
1149 AC_SUBST(CONFIG_INITS)
1150 AC_SUBST(CONFIG_ALL)
1151 AC_SUBST(CONFIG_CLEAN)
1152 AC_SUBST(CONFIG_INSTALL)
1153 AC_SUBST(CONFIG_UNINSTALL)
1155 # Begin stuff to support --enable-shared
1156 AC_ARG_ENABLE(shared,
1157 [ --enable-shared Use shared libraries],
1158 [case "${enableval}" in
1166 # If we have shared libraries, try to set rpath reasonably.
1167 if test "${shared}" = "true"; then
1170 HLDFLAGS='-Wl,+s,+b,$(libdir)'
1172 *-*-irix5* | *-*-irix6*)
1173 HLDFLAGS='-Wl,-rpath,$(libdir)'
1177 *-*-linux* | *-pc-linux-gnu*)
1178 HLDFLAGS='-Wl,-rpath,$(libdir)'
1181 HLDFLAGS='-R $(libdir)'
1184 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;'
1189 # On SunOS, if the linker supports the -rpath option, use it to
1190 # prevent ../bfd and ../opcodes from being included in the run time
1194 echo 'main () { }' > conftest.c
1195 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
1196 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
1198 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
1200 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
1202 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
1204 elif test "${shared}" = "true"; then
1205 HLDFLAGS='-Wl,-rpath=$(libdir)'
1207 HLDFLAGS='-Wl,-rpath='
1209 rm -f conftest.t conftest.c conftest
1214 # End stuff to support --enable-shared
1216 # target_subdir is used by the testsuite to find the target libraries.
1218 if test "${host}" != "${target}"; then
1219 target_subdir="${target_alias}/"
1221 AC_SUBST(target_subdir)
1224 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1225 if test ! -f ${host_makefile_frag}; then
1226 # When building a native debuger the .mh file containing things
1227 # like NATDEPFILES is needed. Cross debuggers don't need .mh
1228 # since it no longer contains anything useful.
1229 if test "${target}" = "${host}"; then
1230 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1232 host_makefile_frag=/dev/null
1235 frags="$frags $host_makefile_frag"
1237 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1238 if test ! -f ${target_makefile_frag}; then
1239 AC_MSG_ERROR("*** Gdb does not support target ${target}")
1241 frags="$frags $target_makefile_frag"
1243 AC_SUBST_FILE(host_makefile_frag)
1244 AC_SUBST_FILE(target_makefile_frag)
1249 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1250 ' ${host_makefile_frag}`
1252 targetfile=`sed -n '
1253 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1254 ' ${target_makefile_frag}`
1256 GDB_MULTI_ARCH=`sed -n '
1257 s/GDB_MULTI_ARCH[ ]*=[ ]*\([^ ]*\)[ ]*/\1/p
1258 ' ${target_makefile_frag}`
1260 if test "${target}" = "${host}"; then
1261 # We pick this up from the host configuration file (.mh) because we
1262 # do not have a native configuration Makefile fragment.
1263 nativefile=`sed -n '
1264 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1265 ' ${host_makefile_frag}`
1269 # New targets should just set gdb_multi_arch=yes in configure.tgt.
1270 # Old targets being converted can either do that or set GDB_MULTI_ARCH
1271 # in the target specific makefile frag. Eventually gdb_multi_arch=yes
1272 # will be the default.
1273 if test x"${GDB_MULTI_ARCH}" = x ; then
1274 case "${gdb_multi_arch}" in
1275 yes ) GDB_MULTI_ARCH=GDB_MULTI_ARCH_PURE ;;
1276 no ) GDB_MULTI_ARCH=0 ;;
1277 0|1|2 ) GDB_MULTI_ARCH=${gdb_multi_arch} ;;
1280 if test x"${GDB_MULTI_ARCH}" != x ; then
1281 AC_DEFINE_UNQUOTED(GDB_MULTI_ARCH, ${GDB_MULTI_ARCH})
1283 # Warn the user when they use an old practice
1284 case "${GDB_MULTI_ARCH}" in
1286 0 | GDB_MULTI_ARCH_PARTIAL | 1 | GDB_MULTI_ARCH_TM | 2 )
1287 AC_MSG_WARN("GDB: Target is not pure multi-arch") ;;
1288 GDB_MULTI_ARCH_PURE )
1289 if test x"${targetfile}" != x ; then
1290 AC_MSG_WARN("GDB: Ignoring TM_FILE in ${target_makefile_frag}")
1293 *) AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
1296 SUBDIRS="doc testsuite nlm"
1297 if test "${enable_multi_ice}" = "yes"; then
1298 SUBDIRS="${SUBDIRS} multi-ice"
1301 # ``gdbserver'' can only be built in a native configuration.
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"
1306 SUBDIRS="${SUBDIRS} gdbserver"
1315 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
1316 # (NAT_FILE) is not set in config/*/*.m[ht] files, we link to an empty
1324 if test "${hostfile}" != ""; then
1326 GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}"
1327 files="${files} ${GDB_XM_FILE}"
1328 links="${links} xm.h"
1329 AC_DEFINE_UNQUOTED(GDB_XM_FILE, ${GDB_XM_FILE})
1335 if test "${targetfile}" != ""; then
1337 GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}"
1338 files="${files} ${GDB_TM_FILE}"
1339 links="${links} tm.h"
1340 AC_DEFINE_UNQUOTED(GDB_TM_FILE, ${GDB_TM_FILE})
1346 if test "${nativefile}" != ""; then
1348 GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}"
1349 files="${files} ${GDB_NM_FILE}"
1350 links="${links} nm.h"
1351 AC_DEFINE_UNQUOTED(GDB_NM_FILE, ${GDB_NM_FILE})
1357 AC_LINK_FILES($files, $links)
1359 dnl Check for exe extension set on certain hosts (e.g. Win32)
1362 AC_CONFIG_SUBDIRS($configdirs)
1363 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1365 dnl Autoconf doesn't provide a mechanism for modifying definitions
1366 dnl provided by makefile fragments.
1368 if test "${nativefile}" = ""; then
1370 sed -e '/^NATDEPFILES[[ ]]*=.*\\$/,/[[^\\]]$/s/^/# /' \
1371 -e '/^NATDEPFILES[[ ]]*=/s/^/# /' \
1372 | sed -e '/^\(NATDEPFILES[[ ]]*[[+]]=[[ ]]*\)/s//# \1/' \
1374 mv -f Makefile.tem Makefile
1378 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
1379 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1380 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1381 mv -f Makefile.tmp Makefile
1385 case x$CONFIG_HEADERS in
1386 xconfig.h:config.in)
1391 gdb_host_cpu=$gdb_host_cpu
1392 gdb_target_cpu=$gdb_target_cpu
1393 nativefile=$nativefile