URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [gdb-5.3/] [gdb/] [configure.in] - Rev 1765
Compare with Previous | Blame | View Log
dnl Autoconf configure script for GDB, the GNU debugger.dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002dnl Free Software Foundation, Inc.dnldnl This file is part of GDB.dnldnl This program is free software; you can redistribute it and/or modifydnl it under the terms of the GNU General Public License as published bydnl the Free Software Foundation; either version 2 of the License, ordnl (at your option) any later version.dnldnl This program is distributed in the hope that it will be useful,dnl but WITHOUT ANY WARRANTY; without even the implied warranty ofdnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See thednl GNU General Public License for more details.dnldnl You should have received a copy of the GNU General Public Licensednl along with this program; if not, write to the Free Softwarednl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.dnl Process this file with autoconf to produce a configure script.AC_PREREQ(2.13)dnlAC_INIT(main.c)AC_CONFIG_HEADER(config.h:config.in)AM_MAINTAINER_MODEAC_PROG_CCAC_AIXAC_ISC_POSIXAM_PROG_CC_STDCAC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)AC_CANONICAL_SYSTEMdnl Set up for gettext. PACKAGE is used when we call bindtextdomain.ALL_LINGUAS=CY_GNU_GETTEXTAC_DEFINE(PACKAGE, "gdb", [Name of this package. ])dnl List of object files added by configure.CONFIG_OBS=CONFIG_LIB_OBS=CONFIG_DEPS=CONFIG_SRCS=CONFIG_INITS=ENABLE_CFLAGS=CONFIG_ALL=CONFIG_CLEAN=CONFIG_INSTALL=CONFIG_UNINSTALL=SUBDIRS="doc testsuite nlm"configdirs="doc testsuite"AC_ARG_ENABLE(multi-ice,[ --enable-multi-ice Build the multi-ice-gdb-server],[case "${enableval}" inyes ) enable_multi_ice="yes" ;;no) enable_multi_ice="no" ;;*) AC_MSG_ERROR(Bad value for --enable-multi-ice: ${enableval}) ;;esac])if test "${enable_multi_ice}" = "yes"; thenconfigdirs="${configdirs} multi-ice"fidnlchangequote(,)dnl. ${srcdir}/configure.host. ${srcdir}/configure.tgttarg=${target} ; . ${srcdir}/../bfd/config.bfddnlchangequote([,])dnldnl use BFD to determine the default architecture and byte orderdnl (bfd_vec->byteorder provides the latter).targ=${target}. ${srcdir}/../bfd/config.bfddnl We only want the first arch, if there is more than one.targ_archs=`echo ${targ_archs} | sed -e 's/ .*//;'`if test x"${targ_archs}" != x ; thenAC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, ${targ_archs})fiif test x"${targ_defvec}" != x ; thenAC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, ${targ_defvec})fiAC_PROG_AWKAC_PROG_INSTALLAC_CHECK_TOOL(AR, ar)AC_CHECK_TOOL(RANLIB, ranlib, :)AC_CHECK_TOOL(DLLTOOL, dlltool)AC_CHECK_TOOL(WINDRES, windres)AC_PROG_YACCdnl MiG is needed for the Hurd.AC_CHECK_TOOL(MIG, mig)AC_ARG_PROGRAMAC_TYPE_SIGNALAC_HEADER_STDCdnl Solaris 7 needs _MSE_INT_H defined to avoid a clash between <widec.h>dnl and <wchar.h> that causes AC_CHECK_HEADERS to think <curses.h> doesn'tdnl exist.case $host_os in solaris2.7 | solaris2.8) case "$GCC" in yes)AC_DEFINE(_MSE_INT_H)esac; esacAC_CHECK_HEADERS(ctype.h nlist.h link.h thread_db.h proc_service.h \memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \string.h sys/procfs.h sys/proc.h sys/ptrace.h sys/reg.h stdint.h \term.h termio.h termios.h unistd.h wait.h sys/wait.h \wchar.h wctype.h asm/debugreg.h sys/debugreg.h sys/select.h \time.h sys/file.h sys/ioctl.h sys/user.h sys/fault.h sys/syscall.h \dirent.h sys/ndir.h sys/dir.h ndir.h sys/filio.h \curses.h ncurses.h \poll.h sys/poll.h)AC_HEADER_STATAC_C_CONSTAC_C_INLINEAC_CHECK_FUNCS(bcopy btowc bzero canonicalize_file_name isascii poll \realpath sbrk setpgid setpgrp sigaction sigprocmask sigsetmask )AC_FUNC_ALLOCAAC_FUNC_VFORKdnl AC_FUNC_SETPGRP does not work when cross compilingdnl Instead, assume we will have a prototype for setpgrp if cross compiling.if test "$cross_compiling" = no; thenAC_FUNC_SETPGRPelseAC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,[AC_TRY_COMPILE([#include <unistd.h>], [if (setpgrp(1,1) == -1)exit (0);elseexit (1);], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])if test $ac_cv_func_setpgrp_void = yes; thenAC_DEFINE(SETPGRP_VOID, 1)fifi# Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do# since sigsetjmp might only be defined as a macro.AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,[AC_TRY_COMPILE([#include <setjmp.h>], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])if test $gdb_cv_func_sigsetjmp = yes; thenAC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])fi# See if <machine/reg.h> supports the %fs and %gs i386 segment registers.# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.AC_CACHE_CHECK([for r_fs in struct reg], gdb_cv_struct_reg_r_fs,[AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_fs;],gdb_cv_struct_reg_r_fs=yes, gdb_cv_struct_reg_r_fs=no)])if test $gdb_cv_struct_reg_r_fs = yes; thenAC_DEFINE(HAVE_STRUCT_REG_R_FS)fiAC_CACHE_CHECK([for r_gs in struct reg], gdb_cv_struct_reg_r_gs,[AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_gs;],gdb_cv_struct_reg_r_gs=yes, gdb_cv_struct_reg_r_gs=no)])if test $gdb_cv_struct_reg_r_gs = yes; thenAC_DEFINE(HAVE_STRUCT_REG_R_GS)fi# See if <sys/ptrace.h> provides the PTRACE_GETREGS request.AC_MSG_CHECKING(for PTRACE_GETREGS)AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,[AC_TRY_COMPILE([#include <sys/ptrace.h>],[PTRACE_GETREGS;],[gdb_cv_have_ptrace_getregs=yes],[gdb_cv_have_ptrace_getregs=no])])AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)if test $gdb_cv_have_ptrace_getregs = yes; thenAC_DEFINE(HAVE_PTRACE_GETREGS)fi# See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.AC_MSG_CHECKING(for PTRACE_GETFPXREGS)AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,[AC_TRY_COMPILE([#include <sys/ptrace.h>],[PTRACE_GETFPXREGS;],[gdb_cv_have_ptrace_getfpxregs=yes],[gdb_cv_have_ptrace_getfpxregs=no])])AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)if test $gdb_cv_have_ptrace_getfpxregs = yes; thenAC_DEFINE(HAVE_PTRACE_GETFPXREGS)fi# See if <sys/ptrace.h> provides the PT_GETDBREGS request.AC_MSG_CHECKING(for PT_GETDBREGS)AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,[AC_TRY_COMPILE([#include <sys/types.h>#include <sys/ptrace.h>],[PT_GETDBREGS;],[gdb_cv_have_pt_getdbregs=yes],[gdb_cv_have_pt_getdbregs=no])])AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)if test $gdb_cv_have_pt_getdbregs = yes; thenAC_DEFINE(HAVE_PT_GETDBREGS)fi# See if <sys/ptrace.h> provides the PT_GETXMMREGS request.AC_MSG_CHECKING(for PT_GETXMMREGS)AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,[AC_TRY_COMPILE([#include <sys/types.h>#include <sys/ptrace.h>],[PT_GETXMMREGS;],[gdb_cv_have_pt_getxmmregs=yes],[gdb_cv_have_pt_getxmmregs=no])])AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)if test $gdb_cv_have_pt_getxmmregs = yes; thenAC_DEFINE(HAVE_PT_GETXMMREGS)fiAC_CHECK_LIB(socket, socketpair)AC_CHECK_FUNCS(socketpair)BFD_NEED_DECLARATION(malloc)BFD_NEED_DECLARATION(realloc)BFD_NEED_DECLARATION(free)BFD_NEED_DECLARATION(strerror)BFD_NEED_DECLARATION(strdup)BFD_NEED_DECLARATION(strstr)BFD_NEED_DECLARATION(canonicalize_file_name)# The following save_state_t checkery is only necessary for HPUX# versions earlier than 10.20. When those fade from memory, this# could be expunged. --jsm 1999-03-22AC_MSG_CHECKING(for HPUX save_state structure)AC_EGREP_HEADER(save_state_t, machine/save_state.h,gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,gdb_cv_hpux_sswide=no)if test $gdb_cv_hpux_savestate = yesthenAC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)fiif test $gdb_cv_hpux_sswide = yesthenAC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)fiAC_MSG_RESULT($gdb_cv_hpux_sswide)# If we are configured native on GNU/Linux, work around problems with# sys/procfs.h# Also detect which type of /proc is in use, such as for Unixware or Solaris.if test "${target}" = "${host}"; thencase "${host}" ini[[3456]]86-*-linux*)AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)AC_DEFINE(sys_quotactl);;ia64-*-aix*)AC_DEFINE(NEW_PROC_API);;*-*-unixware* | *-*-sysv4.2* | *-*-sysv5*)AC_DEFINE(NEW_PROC_API);;*-*-solaris2.[[678]])AC_DEFINE(NEW_PROC_API);;esacfiif test "$ac_cv_header_sys_procfs_h" = yes; thenBFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)dnl Check for broken prfpregset_t typednl For Linux/i386, glibc 2.1.3 was released with a bogusdnl prfpregset_t type (it's a typedef for the pointer to a structdnl instead of the struct itself). We detect this here, and workdnl around it in gdb_proc_service.h.if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; thenAC_MSG_CHECKING(whether prfpregset_t type is broken)AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,[AC_TRY_RUN([#include <sys/procfs.h>int main (){if (sizeof (prfpregset_t) == sizeof (void *))return 1;return 0;}],gdb_cv_prfpregset_t_broken=no,gdb_cv_prfpregset_t_broken=yes,gdb_cv_prfpregset_t_broken=yes)])AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)if test $gdb_cv_prfpregset_t_broken = yes; thenAC_DEFINE(PRFPREGSET_T_BROKEN)fifidnl Check for PIOCSET ioctl entryAC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)AC_CACHE_VAL(gdb_cv_have_procfs_piocset,[AC_TRY_COMPILE([#include <unistd.h>#include <sys/types.h>#include <sys/procfs.h>], [int dummy;;dummy = ioctl(0, PIOCSET, &dummy);],gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])AC_MSG_RESULT($gdb_cv_have_procfs_piocset)if test $gdb_cv_have_procfs_piocset = yes; thenAC_DEFINE(HAVE_PROCFS_PIOCSET)fifidnl For native ports (host == target), check to see what kind ofdnl legacy link.h support is needed. (See solib-legacy.c.)if test ${host} = ${target} ; thendnl Check for struct link_map with l_ members which are indicativednl of SVR4-like shared librariesAC_MSG_CHECKING(for member l_addr in struct link_map)AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,[AC_TRY_COMPILE([#include <link.h>],[struct link_map lm; (void) lm.l_addr;],gdb_cv_have_struct_link_map_with_l_members=yes,gdb_cv_have_struct_link_map_with_l_members=no)])AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)if test $gdb_cv_have_struct_link_map_with_l_members = yes; thenAC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS)fidnl Check for struct link_map with lm_ members which are indicativednl of SunOS-like shared librariesAC_MSG_CHECKING(for member lm_addr in struct link_map)AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,[AC_TRY_COMPILE([#include <sys/types.h>#include <link.h>],[struct link_map lm; (void) lm.lm_addr;],gdb_cv_have_struct_link_map_with_lm_members=yes,gdb_cv_have_struct_link_map_with_lm_members=no)])AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)if test $gdb_cv_have_struct_link_map_with_lm_members = yes; thenAC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS)fidnl Check for struct so_map with som_ members which are found ondnl some *BSD systems.AC_MSG_CHECKING(for member som_addr in struct so_map)AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,[AC_TRY_COMPILE([#include <sys/types.h>#ifdef HAVE_NLIST_H#include <nlist.h>#endif#include <link.h>],[struct so_map lm; (void) lm.som_addr;],gdb_cv_have_struct_so_map_with_som_members=yes,gdb_cv_have_struct_so_map_with_som_members=no)])AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)if test $gdb_cv_have_struct_so_map_with_som_members = yes; thenAC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS)fidnl Check for struct link_map32 type, which allows a 64-bit Solarisdnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.AC_MSG_CHECKING(for struct link_map32 in sys/link.h)AC_CACHE_VAL(gdb_cv_have_struct_link_map32,[AC_TRY_COMPILE([#define _SYSCALL32#include <sys/link.h>], [struct link_map32 l;],gdb_cv_have_struct_link_map32=yes,gdb_cv_have_struct_link_map32=no)])AC_MSG_RESULT($gdb_cv_have_struct_link_map32)if test $gdb_cv_have_struct_link_map32 = yes; thenAC_DEFINE(HAVE_STRUCT_LINK_MAP32)AC_DEFINE(_SYSCALL32)fifidnl See if host has libm. This is usually needed by simulators.AC_CHECK_LIB(m, main)dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.dnldnl A bug in GNU ld 2.9.1 causes a problem if we link in -lwdnl under Solaris 2.6 because it is some funky empty library.dnl So only link in libw if we have to.AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))dnl See if compiler supports "long long" type.AC_MSG_CHECKING(for long long support in compiler)AC_CACHE_VAL(gdb_cv_c_long_long,[AC_TRY_COMPILE(, [extern long long foo;switch (foo & 2) { case 0: return 1; }],gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])AC_MSG_RESULT($gdb_cv_c_long_long)if test $gdb_cv_c_long_long = yes; thenAC_DEFINE(CC_HAS_LONG_LONG)fidnl See if the compiler and runtime support printing long longAC_MSG_CHECKING(for long long support in printf)AC_CACHE_VAL(gdb_cv_printf_has_long_long,[AC_TRY_RUN([int main () {char buf[32];long long l = 0;l = (l << 16) + 0x0123;l = (l << 16) + 0x4567;l = (l << 16) + 0x89ab;l = (l << 16) + 0xcdef;sprintf (buf, "0x%016llx", l);return (strcmp ("0x0123456789abcdef", buf));}],gdb_cv_printf_has_long_long=yes,gdb_cv_printf_has_long_long=no,gdb_cv_printf_has_long_long=no)])if test $gdb_cv_printf_has_long_long = yes; thenAC_DEFINE(PRINTF_HAS_LONG_LONG)fiAC_MSG_RESULT($gdb_cv_printf_has_long_long)dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLEdnl because autoconf complains about cross-compilation issues. However, thisdnl code uses the same variables as the macro for compatibility.AC_MSG_CHECKING(for long double support in compiler)AC_CACHE_VAL(ac_cv_c_long_double,[AC_TRY_COMPILE(, [long double foo;],ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])AC_MSG_RESULT($ac_cv_c_long_double)if test $ac_cv_c_long_double = yes; thenAC_DEFINE(HAVE_LONG_DOUBLE)fidnl See if the compiler and runtime support printing long doublesAC_MSG_CHECKING(for long double support in printf)AC_CACHE_VAL(gdb_cv_printf_has_long_double,[AC_TRY_RUN([int main () {char buf[16];long double f = 3.141592653;sprintf (buf, "%Lg", f);return (strncmp ("3.14159", buf, 7));}],gdb_cv_printf_has_long_double=yes,gdb_cv_printf_has_long_double=no,gdb_cv_printf_has_long_double=no)])if test $gdb_cv_printf_has_long_double = yes; thenAC_DEFINE(PRINTF_HAS_LONG_DOUBLE)fiAC_MSG_RESULT($gdb_cv_printf_has_long_double)dnl See if the compiler and runtime support scanning long doublesAC_MSG_CHECKING(for long double support in scanf)AC_CACHE_VAL(gdb_cv_scanf_has_long_double,[AC_TRY_RUN([int main () {char *buf = "3.141592653";long double f = 0;sscanf (buf, "%Lg", &f);return !(f > 3.14159 && f < 3.14160);}],gdb_cv_scanf_has_long_double=yes,gdb_cv_scanf_has_long_double=no,gdb_cv_scanf_has_long_double=no)])if test $gdb_cv_scanf_has_long_double = yes; thenAC_DEFINE(SCANF_HAS_LONG_DOUBLE)fiAC_MSG_RESULT($gdb_cv_scanf_has_long_double)AC_FUNC_MMAPcase ${host_os} inaix*)AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [SAVE_LDFLAGS=$LDFLAGScase $GCC inyes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;*) gdb_cv_bigtoc=-bbigtoc ;;esacLDFLAGS=$LDFLAGS\ $gdb_cv_bigtocAC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])])CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}";;esacdnl For certain native configurations, we need to check whether threaddnl support can be built in or not.dnldnl Note that we only want this if we are both native (host == target),dnl and not doing a canadian cross build (build == host).if test ${build} = ${host} -a ${host} = ${target} ; thencase ${host_os} inhpux*)AC_MSG_CHECKING(for HPUX/OSF thread support)if test -f /usr/include/dce/cma_config.h ; thenif test "$GCC" = "yes" ; thenAC_MSG_RESULT(yes)AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)CONFIG_LIB_OBS="${CONFIG_LIB_OBS} hpux-thread.o"CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"elseAC_MSG_RESULT(no (suppressed because you are not using GCC))fielseAC_MSG_RESULT(no)fi;;solaris*)AC_MSG_CHECKING(for Solaris thread debugging library)if test -f /usr/lib/libthread_db.so.1 ; thenAC_MSG_RESULT(yes)AC_DEFINE(HAVE_THREAD_DB_LIB)CONFIG_LIB_OBS="${CONFIG_LIB_OBS} sol-thread.o"CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"AC_CHECK_LIB(dl, dlopen)if test "$GCC" = "yes" ; then# The GNU linker requires the -export-dynamic option to make# all symbols visible in the dynamic symbol table.hold_ldflags=$LDFLAGSAC_MSG_CHECKING(for the ld -export-dynamic flag)LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"AC_TRY_LINK(, [int i;], found=yes, found=no)LDFLAGS=$hold_ldflagsAC_MSG_RESULT($found)if test $found = yes; thenCONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"fifi# Sun randomly tweaked the prototypes in <proc_service.h># at one point.AC_MSG_CHECKING(if <proc_service.h> is old)AC_CACHE_VAL(gdb_cv_proc_service_is_old,[AC_TRY_COMPILE([#include <proc_service.h>ps_err_e ps_pdwrite(struct ps_prochandle*, psaddr_t, const void*, size_t);],, gdb_cv_proc_service_is_old=no,gdb_cv_proc_service_is_old=yes)])AC_MSG_RESULT($gdb_cv_proc_service_is_old)if test $gdb_cv_proc_service_is_old = yes; thenAC_DEFINE(PROC_SERVICE_IS_OLD)fielseAC_MSG_RESULT(no)fi;;aix*)AC_MSG_CHECKING(for AiX thread debugging library)AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,[AC_TRY_COMPILE([#include <sys/pthdebug.h>],[#ifndef PTHDB_VERSION_3#error#endif],gdb_cv_have_aix_thread_debug=yes,gdb_cv_have_aix_thread_debug=no)])AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)if test $gdb_cv_have_aix_thread_debug = yes; thenCONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"CONFIG_LIB_OBS="${CONFIG_LIB_OBS} aix-thread.o"CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"fi;;esacAC_SUBST(CONFIG_LDFLAGS)fidnl linux-proc.c wants to use pread64, which may require special CFLAGSdnl -D_BSD_SOURCE is normally assumed but we have to specify it because ofdnl -D_XOPEN_SOURCE=500.if test $host = $target; thencase $target in*-linux*)save_CFLAGS=$CFLAGSCFLAGS="$CFLAGS -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_LARGEFILE64_SOURCE"AC_TRY_LINK([#include <unistd.h>],[pread64 (0, NULL, 0, 0);],[ENABLE_CFLAGS="$ENABLE_CFLAGS -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_LARGEFILE64_SOURCE"AC_DEFINE(HAVE_PREAD64)], [])CFLAGS=$save_CFLAGS;;esacfidnl The CLI cannot be disabled yet, but may be in the futurednl Handle CLI sub-directory configury.AC_ARG_ENABLE(gdbcli,[ --enable-gdbcli Enable GDB-CLI interface],[case "${enableval}" inyes) enable_gdbcli=yes ;;"") enable_gdbcli=yes ;;no)AC_MSG_ERROR(The CLI cannot be disabled yet);;*)AC_MSG_ERROR(Bad value for --enable-gdbcli: ${enableval});;esac],[enable_gdbcli=yes])case ${enable_gdbcli} in"yes" )if test -d "${srcdir}/cli" ; thenCONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_CLI_OBS)"CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_CLI_DEPS)"CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_CLI_SRCS)"CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_CLI_INITS)"ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_CLI_CFLAGS)"CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_CLI_ALL)"CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_CLI_CLEAN)"CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_CLI_INSTALL)"CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_CLI_UNINSTALL)"fi;;esacdnl Handle optional features that can be enabled.dnl Handle MI sub-directory configury.AC_ARG_ENABLE(gdbmi,[ --enable-gdbmi Enable GDB-MI interface],[case "${enable_gdbmi}" inyes | no) ;;"") enable_gdbmi=yes ;;*)AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval});;esac],[enable_gdbmi=yes])case ${enable_gdbmi} in"yes" )if test -d "${srcdir}/mi" ; thenCONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_MI_OBS)"CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_MI_DEPS)"CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_MI_SRCS)"CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_MI_INITS)"ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_MI_CFLAGS)"CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_MI_ALL)"CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_MI_CLEAN)"CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_MI_INSTALL)"CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_MI_UNINSTALL)"fi;;esac# Configure UI_OUT by default (before 5.2 it can be disabled)# It must be configured if gdbmi is configuredUIOUT_CFLAGS=AC_SUBST(UIOUT_CFLAGS)AC_ARG_WITH(uiout,[ --with-uiout Use new uiout functions instead of *printf's],[case "${withval}" inyes) want_uiout=true ;;no) if test $enable_gdbmi = yes; thenAC_MSG_ERROR(uiout is needed for MI and cannot be disabled)elsewant_uiout=falsefi ;;*) AC_MSG_ERROR(bad value ${withval} for GDB with-uiout option) ;;esac],[want_uiout=true])dnlif test $want_uiout = true; thenUIOUT_CFLAGS="-DUI_OUT=1"fiAC_ARG_ENABLE(tui,[ --enable-tui Enable full-screen terminal user interface],[case "${enable_tui}" inyes | no) ;;"") enable_tui=yes ;;*)AC_MSG_ERROR(Bad value for --enable-tui: ${enableval});;esac])case ${enable_tui} in"yes" )if test -d "${srcdir}/tui" ; thenCONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_TUI_OBS)"CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_TUI_DEPS)"CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_TUI_SRCS)"CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_TUI_INITS)"ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_TUI_CFLAGS)"CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_TUI_ALL)"CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_TUI_CLEAN)"CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_TUI_INSTALL)"CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_TUI_UNINSTALL)"fi;;esacAC_ARG_ENABLE(netrom,[ --enable-netrom Enable NetROM support],[case "${enableval}" inyes) enable_netrom=yes ;;no) enable_netrom=no ;;*) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;esac])if test "${enable_netrom}" = "yes"; thenCONFIG_LIB_OBS="${CONFIG_LIB_OBS} remote-nrom.o"CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"fi# NOTE: Don't add -Wall or -Wunused, they both include# -Wunused-parameter which reports bogus warnings.# NOTE: If you add to this list, remember to update# gdb/doc/gdbint.texinfo.build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \-Wformat -Wparentheses -Wpointer-arith -Wuninitialized"# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs# -Wunused-function -Wunused-label -Wunused-variable -Wunused-value# -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual# -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes# -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls# -Woverloaded-virtual -Winline -Werror"AC_ARG_ENABLE(build-warnings,[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],[case "${enableval}" inyes) ;;no) build_warnings="-w";;,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`build_warnings="${build_warnings} ${t}";;*,) t=`echo "${enableval}" | sed -e "s/,/ /g"`build_warnings="${t} ${build_warnings}";;*) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;esacif test x"$silent" != x"yes" && test x"$build_warnings" != x""; thenecho "Setting compiler warning flags = $build_warnings" 6>&1fi])dnlAC_ARG_ENABLE(gdb-build-warnings,[ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],[case "${enableval}" inyes) ;;no) build_warnings="-w";;,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`build_warnings="${build_warnings} ${t}";;*,) t=`echo "${enableval}" | sed -e "s/,/ /g"`build_warnings="${t} ${build_warnings}";;*) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;esacif test x"$silent" != x"yes" && test x"$build_warnings" != x""; thenecho "Setting GDB specific compiler warning flags = $build_warnings" 6>&1fi])dnlWARN_CFLAGS=""WERROR_CFLAGS=""if test "x${build_warnings}" != x -a "x$GCC" = xyesthenAC_MSG_CHECKING(compiler warning flags)# Separate out the -Werror flag as some files just cannot be# compiled with it enabled.for w in ${build_warnings}; docase $w in-Werr*) WERROR_CFLAGS=-Werror ;;*) # Check that GCC accepts itsaved_CFLAGS="$CFLAGS"CFLAGS="$CFLAGS $w"AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)CFLAGS="$saved_CFLAGS"esacdoneAC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})fiAC_SUBST(WARN_CFLAGS)AC_SUBST(WERROR_CFLAGS)MMALLOC_CFLAGS=MMALLOC=AC_SUBST(MMALLOC_CFLAGS)AC_SUBST(MMALLOC)AC_ARG_WITH(mmalloc,[ --with-mmalloc Use memory mapped malloc package],[case "${withval}" inyes) want_mmalloc=true ;;no) want_mmalloc=false;;*) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;esac],[want_mmalloc=false])dnlif test x$want_mmalloc = xtrue; thenAC_DEFINE(USE_MMALLOC)AC_DEFINE(MMCHECK_FORCE)MMALLOC_CFLAGS="-I$srcdir/../mmalloc"MMALLOC='../mmalloc/libmmalloc.a'fiAC_ARG_WITH(included-regex,[ --with-included-regex Use included regex],[case "${withval}" inyes) want_included_regex=true ;;no) want_included_regex=false;;*) AC_MSG_ERROR(bad value ${withval} for GDB with-included-regex option) ;;esac],[want_included_regex=true])dnlif test $want_included_regex = false; thenAC_MSG_CHECKING(for GNU regex)AC_CACHE_VAL(gdb_cv_have_gnu_regex,[AC_TRY_COMPILE([#include <gnu-versions.h>#include <sys/types.h>#include <regex.h>],[#if !defined _GNU_REGEX_INTERFACE_VERSION || !defined __GLIBC__ || __GLIBC__ < 2#error No valid GNU regex.#endif],[gdb_cv_have_gnu_regex=yes],[gdb_cv_have_gnu_regex=no])])AC_MSG_RESULT($gdb_cv_have_gnu_regex)if test $gdb_cv_have_gnu_regex = no; thenwant_included_regex=truefifiif test x${want_included_regex} = xtrue; thenREGEX="gnu-regex.o"AC_DEFINE(USE_INCLUDED_REGEX)fiAC_SUBST(REGEX)# In the Cygwin environment, we need some additional flags.AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,[AC_EGREP_CPP(lose, [#if defined (__CYGWIN__) || defined (__CYGWIN32__)lose#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])dnl Figure out which of the many generic ser-*.c files the _host_ supports.SER_HARDWIRE="ser-unix.o ser-pipe.o ser-tcp.o"case ${host} in*go32* ) SER_HARDWIRE=ser-go32.o ;;*djgpp* ) SER_HARDWIRE=ser-go32.o ;;esacAC_SUBST(SER_HARDWIRE)dnl Figure out which term library to use.if test x$gdb_host = xgo32; thenTERM_LIB=elseif test x$gdb_cv_os_cygwin = xyes; thenTERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'elseTERM_LIB=AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))if test "x$TERM_LIB" = xthenAC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)fififiAC_SUBST(TERM_LIB)# libreadline needs libuser32.a in a cygwin environmentWIN32LIBS=if test x$gdb_cv_os_cygwin = xyes; thenWIN32LIBS="-luser32"case "${target}" in*cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp";;esacfiAC_SUBST(WIN32LIBS)LIBGUI="../libgui/src/libgui.a"GUI_CFLAGS_X="-I${srcdir}/../libgui/src"AC_SUBST(LIBGUI)AC_SUBST(GUI_CFLAGS_X)AC_ARG_WITH(cpu,[ --with-cpu=CPU Set the default CPU variant to debug],[case "${target}" inpowerpc-* | powerpcle-* )## It would be nice to keep this table in sync with the one in## gcc/configure.case "${with_cpu}" inppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \| 604 | 750 )## Those are all handled in variants in rs6000-tdep.c, so they're fine.;;common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )## These are all RS6000 variants, as far as GDB is concerned.with_cpu=rs6000;;603e | ec603e )with_cpu=603;;604e )with_cpu=604;;* )AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)with_cpu=ppc-uisa;;esac;;* )AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets);;esacAC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")],)AC_ARG_ENABLE(gdbtk,[ --enable-gdbtk Enable GDBTK GUI front end],[case "${enableval}" inyes)case "$host" in*go32*)AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])enable_gdbtk=no ;;*windows*)AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])enable_gdbtk=no ;;*)enable_gdbtk=yes ;;esac ;;no)enable_gdbtk=no ;;*)AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;esac],[# Default is on for everything but go32 and Cygwincase "$host" in*go32* | *windows*);;*)if test -d "${srcdir}/gdbtk" ; thenenable_gdbtk=yesfi;;esac])WIN32LDAPP=AC_SUBST(WIN32LIBS)AC_SUBST(WIN32LDAPP)configdir="unix"GDBTKLIBS=if test "${enable_gdbtk}" = "yes"; then# Gdbtk must have an absolute path to srcdir in order to run# properly when not installed.here=`pwd`cd ${srcdir}GDBTK_SRC_DIR=`pwd`cd $hereCY_AC_PATH_TCLCONFIGif test -z "${no_tcl}"; thenCY_AC_LOAD_TCLCONFIGCY_AC_PATH_TKCONFIG# now look for Tcl library stuffcase "${host}" in*-*-cygwin*)tcldir=../tcl/win/;;*)tcldir=../tcl/unix/;;esacTCL_DEPS="${tcldir}${TCL_LIB_FILE}"# If $no_tk is nonempty, then we can't do Tk, and there is no# point to doing Tcl.if test -z "${no_tk}"; thenCY_AC_LOAD_TKCONFIGCY_AC_PATH_TCLHCY_AC_PATH_TKHCY_AC_PATH_ITCLHCY_AC_PATH_ITKHCY_AC_PATH_TIXH# now look for Tk library stuffcase "${host}" in*-*-cygwin*)tkdir=../tk/win/;;*)tkdir=../tk/unix/;;esacTK_DEPS="${tkdir}${TK_LIB_FILE}"# now look for Itcl library stuffCY_AC_PATH_ITCLCONFIGif test -z "${no_itcl}"; thenCY_AC_LOAD_ITCLCONFIGITCLLIB="${ITCL_BUILD_LIB_SPEC}"ITCL_DEPS="${ITCL_LIB_FULL_PATH}"fi# now look for Itk library stuffCY_AC_PATH_ITKCONFIGif test -z "${no_itcl}"; thenCY_AC_LOAD_ITKCONFIGITKLIB="${ITK_BUILD_LIB_SPEC}"ITK_DEPS="${ITK_LIB_FULL_PATH}"fi# now look for Tix library stuffCY_AC_PATH_TIXCONFIGif test -z "${no_tix}"; thenCY_AC_LOAD_TIXCONFIGTIXLIB="${TIX_BUILD_LIB_SPEC}"TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"fiENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"# Tcl/Tk 8.1 require -fwritable strings. I don't# know whether 8.2 will or not, but I bet it will.# I don't have to worry about 7.x since we don't support it.GDBTK_CFLAGS=""if test "$GCC" = "yes"; thenif test "$TCL_VERSION" != "8.0" ; thenGDBTK_CFLAGS="-fwritable-strings"fifi# Include some libraries that Tcl and Tk want.TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'# Yes, the ordering seems wrong here. But it isn't.# TK_LIBS is the list of libraries that need to be linked# after Tcl/Tk. Note that this isn't put into LIBS. If it# were in LIBS then any link tests after this point would# try to include things like `$(LIBGUI)', which wouldn't work.GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_GDBTK_INITS)"CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_GDBTK_CLEAN)"CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"if test x$gdb_cv_os_cygwin = xyes; thenWIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"WIN32LDAPP="-Wl,--subsystem,console"CONFIG_OBS="${CONFIG_OBS} gdbres.o"fififiSUBDIRS="${SUBDIRS} gdbtk"configdirs="${configdirs} gdbtk"fiAC_SUBST(X_CFLAGS)AC_SUBST(X_LDFLAGS)AC_SUBST(X_LIBS)AC_SUBST(TCL_DEPS)AC_SUBST(TK_DEPS)AC_SUBST(ITCLLIB)AC_SUBST(ITCL_DEPS)AC_SUBST(ITKLIB)AC_SUBST(ITK_DEPS)AC_SUBST(TIXLIB)AC_SUBST(TIX_DEPS)AC_SUBST(GDBTKLIBS)AC_SUBST(GDBTK_CFLAGS)AC_SUBST(GDBTK_SRC_DIR)AC_PATH_X# Unlike the sim directory, whether a simulator is linked is controlled by# presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.# This code just checks for a few cases where we'd like to ignore those# definitions, even when they're present in the '.mt' file. These cases# are when --disable-sim is specified, or if the simulator directory is# not part of the source tree.#AC_ARG_ENABLE(sim,[ --enable-sim Link gdb with simulator],[echo "enable_sim = $enable_sim";echo "enableval = ${enableval}";case "${enableval}" inyes) ignore_sim=false ;;no) ignore_sim=true ;;*) ignore_sim=false ;;esac],[ignore_sim=false])if test ! -d "${srcdir}/../sim"; thenignore_sim=truefiif test "${ignore_sim}" = "true"; thenIGNORE_SIM="SIM="IGNORE_SIM_OBS="SIM_OBS="elseIGNORE_SIM=""IGNORE_SIM_OBS=""AC_DEFINE(WITH_SIM)fiAC_SUBST(IGNORE_SIM)AC_SUBST(IGNORE_SIM_OBS)AC_SUBST(ENABLE_CFLAGS)AC_SUBST(CONFIG_OBS)AC_SUBST(CONFIG_LIB_OBS)AC_SUBST(CONFIG_DEPS)AC_SUBST(CONFIG_SRCS)AC_SUBST(CONFIG_INITS)AC_SUBST(CONFIG_ALL)AC_SUBST(CONFIG_CLEAN)AC_SUBST(CONFIG_INSTALL)AC_SUBST(CONFIG_UNINSTALL)# Begin stuff to support --enable-sharedAC_ARG_ENABLE(shared,[ --enable-shared Use shared libraries],[case "${enableval}" inyes) shared=true ;;no) shared=false ;;*) shared=true ;;esac])dnlHLDFLAGS=HLDENV=# If we have shared libraries, try to set rpath reasonably.if test "${shared}" = "true"; thencase "${host}" in*-*-hpux*)HLDFLAGS='-Wl,+s,+b,$(libdir)';;*-*-irix5* | *-*-irix6*)HLDFLAGS='-Wl,-rpath,$(libdir)';;*-*-linux*aout*);;*-*-linux* | *-pc-linux-gnu*)HLDFLAGS='-Wl,-rpath,$(libdir)';;*-*-solaris*)HLDFLAGS='-R $(libdir)';;*-*-sysv4*)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;';;esacfi# On SunOS, if the linker supports the -rpath option, use it to# prevent ../bfd and ../opcodes from being included in the run time# search path.case "${host}" in*-*-sunos*)echo 'main () { }' > conftest.c${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.tif grep 'unrecognized' conftest.t >/dev/null 2>&1; then:elif grep 'No such file' conftest.t >/dev/null 2>&1; then:elif grep 'do not mix' conftest.t >/dev/null 2>&1; then:elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then:elif test "${shared}" = "true"; thenHLDFLAGS='-Wl,-rpath=$(libdir)'elseHLDFLAGS='-Wl,-rpath='firm -f conftest.t conftest.c conftest;;esacAC_SUBST(HLDFLAGS)AC_SUBST(HLDENV)# End stuff to support --enable-shared# target_subdir is used by the testsuite to find the target libraries.target_subdir=if test "${host}" != "${target}"; thentarget_subdir="${target_alias}/"fiAC_SUBST(target_subdir)frags=host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mhif test ! -f ${host_makefile_frag}; then# When building a native debuger the .mh file containing things# like NATDEPFILES is needed. Cross debuggers don't need .mh# since it no longer contains anything useful.if test "${target}" = "${host}"; thenAC_MSG_ERROR("*** Gdb does not support native target ${host}")elsehost_makefile_frag=/dev/nullfififrags="$frags $host_makefile_frag"target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mtif test ! -f ${target_makefile_frag}; thenAC_MSG_ERROR("*** Gdb does not support target ${target}")fifrags="$frags $target_makefile_frag"AC_SUBST_FILE(host_makefile_frag)AC_SUBST_FILE(target_makefile_frag)AC_SUBST(frags)changequote(,)dnlhostfile=`sed -n 's/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p' ${host_makefile_frag}`targetfile=`sed -n 's/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p' ${target_makefile_frag}`GDB_MULTI_ARCH=`sed -n 's/GDB_MULTI_ARCH[ ]*=[ ]*\([^ ]*\)[ ]*/\1/p' ${target_makefile_frag}`if test "${target}" = "${host}"; then# We pick this up from the host configuration file (.mh) because we# do not have a native configuration Makefile fragment.nativefile=`sed -n 's/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p' ${host_makefile_frag}`fichangequote([,])# New targets should just set gdb_multi_arch=yes in configure.tgt.# Old targets being converted can either do that or set GDB_MULTI_ARCH# in the target specific makefile frag. Eventually gdb_multi_arch=yes# will be the default.if test x"${GDB_MULTI_ARCH}" = x ; thencase "${gdb_multi_arch}" inyes ) GDB_MULTI_ARCH=GDB_MULTI_ARCH_PURE ;;no ) GDB_MULTI_ARCH=0 ;;0|1|2 ) GDB_MULTI_ARCH=${gdb_multi_arch} ;;esacfiif test x"${GDB_MULTI_ARCH}" != x ; thenAC_DEFINE_UNQUOTED(GDB_MULTI_ARCH, ${GDB_MULTI_ARCH})fi# Warn the user when they use an old practicecase "${GDB_MULTI_ARCH}" in"" ) ;;0 | GDB_MULTI_ARCH_PARTIAL | 1 | GDB_MULTI_ARCH_TM | 2 )AC_MSG_WARN("GDB: Target is not pure multi-arch") ;;GDB_MULTI_ARCH_PURE )if test x"${targetfile}" != x ; thenAC_MSG_WARN("GDB: Ignoring TM_FILE in ${target_makefile_frag}")targetfile=""fi ;;*) AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;esacif test "${enable_multi_ice}" = "yes"; thenSUBDIRS="${SUBDIRS} multi-ice"fi# ``gdbserver'' can only be built in a native configuration.if test x"${target}" = x"${host}"; thenAC_MSG_CHECKING(whether gdbserver is supported on this host)if test x"${build_gdbserver}" = xyes ; thenconfigdirs="${configdirs} gdbserver"SUBDIRS="${SUBDIRS} gdbserver"AC_MSG_RESULT(yes)elseAC_MSG_RESULT(no)fifiAC_SUBST(SUBDIRS)# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile# (NAT_FILE) is not set in config/*/*.m[ht] files, we link to an empty# version.files=links=rm -f xm.hxm_h=""if test "${hostfile}" != ""; thenxm_h=xm.hGDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}"files="${files} ${GDB_XM_FILE}"links="${links} xm.h"AC_DEFINE_UNQUOTED(GDB_XM_FILE, ${GDB_XM_FILE})fiAC_SUBST(xm_h)rm -f tm.htm_h=""if test "${targetfile}" != ""; thentm_h=tm.hGDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}"files="${files} ${GDB_TM_FILE}"links="${links} tm.h"AC_DEFINE_UNQUOTED(GDB_TM_FILE, ${GDB_TM_FILE})fiAC_SUBST(tm_h)rm -f nm.hnm_h=""if test "${nativefile}" != ""; thennm_h=nm.hGDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}"files="${files} ${GDB_NM_FILE}"links="${links} nm.h"AC_DEFINE_UNQUOTED(GDB_NM_FILE, ${GDB_NM_FILE})fiAC_SUBST(nm_h)AC_PROG_LN_SAC_LINK_FILES($files, $links)dnl Check for exe extension set on certain hosts (e.g. Win32)AC_EXEEXTAC_CONFIG_SUBDIRS($configdirs)AC_OUTPUT(Makefile .gdbinit:gdbinit.in,[dnl Autoconf doesn't provide a mechanism for modifying definitionsdnl provided by makefile fragments.dnlif test "${nativefile}" = ""; then< Makefile \sed -e '/^NATDEPFILES[[ ]]*=.*\\$/,/[[^\\]]$/s/^/# /' \-e '/^NATDEPFILES[[ ]]*=/s/^/# /' \| sed -e '/^\(NATDEPFILES[[ ]]*[[+]]=[[ ]]*\)/s//# \1/' \> Makefile.temmv -f Makefile.tem Makefilefichangequote(,)dnlsed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,/^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmpmv -f Makefile.tmp Makefilechangequote([,])dnlcase x$CONFIG_HEADERS inxconfig.h:config.in)echo > stamp-h ;;esac],[gdb_host_cpu=$gdb_host_cpugdb_target_cpu=$gdb_target_cpunativefile=$nativefile])exit 0
