X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fconfigure.in;h=438e4048dd3b39d4aee0c6c89c950ad201e4d5a3;hb=66b965bb7527a397dd78d8f822b7aeb50c971633;hp=767e0daf48d5d4354d9d5033990fd20e22205a8d;hpb=94a919180a0373529f4adbe529e3360b079eb435;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/configure.in b/gdb/configure.in index 767e0daf48..438e4048dd 100644 --- a/gdb/configure.in +++ b/gdb/configure.in @@ -1,5 +1,5 @@ dnl Autoconf configure script for GDB, the GNU debugger. -dnl Copyright 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. dnl dnl This file is part of GDB. dnl @@ -19,13 +19,15 @@ dnl 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.5)dnl +AC_PREREQ(2.13)dnl AC_INIT(main.c) AC_CONFIG_HEADER(config.h:config.in) +AM_MAINTAINER_MODE AC_PROG_CC AC_AIX AC_ISC_POSIX +AM_PROG_CC_STDC AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..) AC_CANONICAL_SYSTEM @@ -38,11 +40,31 @@ CY_GNU_GETTEXT 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= configdirs="doc testsuite" +AC_ARG_ENABLE(multi-ice, +[ --enable-multi-ice Build the multi-ice-gdb-server], +[case "${enableval}" in + yes ) 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"; then + configdirs="${configdirs} multi-ice" +fi + dnl changequote(,)dnl @@ -50,64 +72,225 @@ changequote(,)dnl . ${srcdir}/configure.tgt +targ=${target} ; . ${srcdir}/../bfd/config.bfd + dnl changequote([,])dnl +dnl use BFD to determine the default architecture and byte order +dnl (bfd_vec->byteorder provides the latter). +targ=${target} +. ${srcdir}/../bfd/config.bfd + +dnl 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 ; then + AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, ${targ_archs}) +fi +if test x"${targ_defvec}" != x ; then + AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, ${targ_defvec}) +fi + +AC_PROG_AWK AC_PROG_INSTALL AC_CHECK_TOOL(AR, ar) AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(DLLTOOL, dlltool) +AC_CHECK_TOOL(WINDRES, windres) AC_PROG_YACC +dnl MiG is needed for the Hurd. +AC_CHECK_TOOL(MIG, mig) + AC_ARG_PROGRAM AC_TYPE_SIGNAL AC_HEADER_STDC -AC_CHECK_HEADERS(ctype.h curses.h endian.h libintl.h link.h \ - memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \ - string.h sys/procfs.h sys/ptrace.h sys/reg.h \ - term.h termio.h termios.h unistd.h wait.h sys/wait.h \ - wchar.h wctype.h asm/debugreg.h) +dnl Solaris 7 needs _MSE_INT_H defined to avoid a clash between +dnl and that causes AC_CHECK_HEADERS to think doesn't +dnl exist. + +case $host_os in solaris2.7 | solaris2.8) case "$GCC" in yes) + AC_DEFINE(_MSE_INT_H) +esac; esac + +AC_CHECK_HEADERS(ctype.h endian.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/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/ioctl.h sys/user.h \ + dirent.h sys/ndir.h sys/dir.h ndir.h \ + curses.h ncurses.h \ + poll.h sys/poll.h) AC_HEADER_STAT AC_C_CONST -AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc) +AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask vfork) AC_FUNC_ALLOCA +# 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 ], [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; then + AC_DEFINE(HAVE_STRUCT_REG_R_FS) +fi +AC_CACHE_CHECK([for r_gs in struct reg], gdb_cv_struct_reg_r_gs, +[AC_TRY_COMPILE([#include ], [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; then + AC_DEFINE(HAVE_STRUCT_REG_R_GS) +fi + +dnl See if 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 ], + [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; then + AC_DEFINE(HAVE_PTRACE_GETREGS) +fi + +dnl See if 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 ], + [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; then + AC_DEFINE(HAVE_PTRACE_GETFPXREGS) +fi + +AC_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) + + +# 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-22 + +AC_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 = yes +then + AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1) +fi +if test $gdb_cv_hpux_sswide = yes +then + AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1) +fi +AC_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 we are configured native on GNU/Linux, work around problems with sys/procfs.h if test "${target}" = "${host}"; then case "${host}" in i[[3456]]86-*-linux*) AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2) AC_DEFINE(sys_quotactl) ;; + *-*-unixware* | *-*-sysv4.2* | *-*-sysv5*) + AC_DEFINE(NEW_PROC_API) + ;; + *-*-solaris2.[[678]]) + AC_DEFINE(NEW_PROC_API) + ;; esac fi -AC_MSG_CHECKING([for gregset_t type]) -AC_CACHE_VAL(gdb_cv_have_gregset_t, -[AC_TRY_LINK([#include ],[gregset_t *gregsetp = 0], -gdb_cv_have_gregset_t=yes, gdb_cv_have_gregset_t=no)]) -AC_MSG_RESULT($gdb_cv_have_gregset_t) -if test $gdb_cv_have_gregset_t = yes; then - AC_DEFINE(HAVE_GREGSET_T) -fi +if test "$ac_cv_header_sys_procfs_h" = yes; then + BFD_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) + + dnl Check for struct link_map32 type, which allows a 64-bit Solaris + dnl 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 ], [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; then + AC_DEFINE(HAVE_STRUCT_LINK_MAP32) + fi + + dnl Check for broken prfpregset_t type + + dnl For Linux/i386, glibc 2.1.3 was released with a bogus + dnl prfpregset_t type (it's a typedef for the pointer to a struct + dnl instead of the struct itself). We detect this here, and work + dnl around it in lin-thread.c. + + if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then + AC_MSG_CHECKING(whether prfpregset_t type is broken) + AC_CACHE_VAL(gdb_cv_prfpregset_t_broken, + [AC_TRY_RUN([#include + 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; then + AC_DEFINE(PRFPREGSET_T_BROKEN) + fi + fi -AC_MSG_CHECKING([for fpregset_t type]) -AC_CACHE_VAL(gdb_cv_have_fpregset_t, -[AC_TRY_LINK([#include ],[fpregset_t *fpregsetp = 0], -gdb_cv_have_fpregset_t=yes, gdb_cv_have_fpregset_t=no)]) -AC_MSG_RESULT($gdb_cv_have_fpregset_t) -if test $gdb_cv_have_fpregset_t = yes; then - AC_DEFINE(HAVE_FPREGSET_T) + dnl Check for PIOCSET ioctl entry + + AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h) + AC_CACHE_VAL(gdb_cv_have_procfs_piocset, + [AC_TRY_COMPILE([#include +#include +#include +], [ + 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; then + AC_DEFINE(HAVE_PROCFS_PIOCSET) + fi fi dnl See if host has libm. This is usually needed by simulators. @@ -225,7 +408,7 @@ if test ${build} = ${host} -a ${host} = ${target} ; then if test "$GCC" = "yes" ; then AC_MSG_RESULT(yes) AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT) - CONFIG_OBS="${CONFIG_OJS} hpux-thread.o" + CONFIG_LIB_OBS="${CONFIG_LIB_OBS} hpux-thread.o" CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c" else AC_MSG_RESULT(no (suppressed because you are not using GCC)) @@ -239,7 +422,7 @@ if test ${build} = ${host} -a ${host} = ${target} ; then if test -f /usr/lib/libthread_db.so.1 ; then AC_MSG_RESULT(yes) AC_DEFINE(HAVE_THREAD_DB_LIB) - CONFIG_OBS="${CONFIG_OBS} sol-thread.o" + 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 @@ -278,11 +461,122 @@ if test ${build} = ${host} -a ${host} = ${target} ; then AC_SUBST(CONFIG_LDFLAGS) fi +dnl The CLI cannot be disabled yet, but may be in the future + +dnl Handle CLI sub-directory configury. +AC_ARG_ENABLE(gdbcli, +[ --enable-gdbcli Enable GDB-CLI interface], +[ + case "${enableval}" in + yes) 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" ; then + CONFIG_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 + ;; +esac + dnl Handle optional features that can be enabled. -ENABLE_CFLAGS= + +dnl Handle MI sub-directory configury. +AC_ARG_ENABLE(gdbmi, +[ --enable-gdbmi Enable GDB-MI interface], +[ + case "${enable_gdbmi}" in + yes | no) ;; + "") enable_gdbmi=yes ;; + *) + AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval}) + ;; + esac +]) +case ${enable_gdbmi} in + "yes" ) + if test -d "${srcdir}/mi" ; then + CONFIG_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 configured + +UIOUT_CFLAGS= +AC_SUBST(UIOUT_CFLAGS) + +AC_ARG_WITH(uiout, +[ --with-uiout Use new uiout functions intead of *printf's], +[case "${withval}" in + yes) want_uiout=true ;; + no) if test $enable_gdbmi = yes; then + AC_MSG_ERROR(uiout is needed for MI and cannot be disabled) + else + want_uiout=false + fi ;; + *) AC_MSG_ERROR(bad value ${withval} for GDB with-uiout option) ;; +esac], +[want_uiout=true])dnl + +if test $want_uiout = true; then + UIOUT_CFLAGS="-DUI_OUT=1" +fi + +AC_ARG_ENABLE(tui, +[ --enable-tui Enable full-screen terminal user interface], +[ + case "${enable_tui}" in + yes | no) ;; + "") enable_tui=yes ;; + *) + AC_MSG_ERROR(Bad value for --enable-tui: ${enableval}) + ;; + esac +]) +case ${enable_tui} in + "yes" ) + if test -d "${srcdir}/tui" ; then + CONFIG_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 + ;; +esac AC_ARG_ENABLE(netrom, -[ --enable-netrom ], +[ --enable-netrom Enable NetROM support], [case "${enableval}" in yes) enable_netrom=yes ;; no) enable_netrom=no ;; @@ -290,31 +584,73 @@ no) enable_netrom=no ;; esac]) if test "${enable_netrom}" = "yes"; then - CONFIG_OBS="${CONFIG_OBS} remote-nrom.o" + CONFIG_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 -Wuninitialized -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], -[build_warnings="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations" -case "${enableval}" in +[ --enable-build-warnings Enable build-time compiler warnings if gcc is used], +[case "${enableval}" in yes) ;; no) build_warnings="-w";; -dnl ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"` -dnl build_warnings="${build_warnings} ${t}";; -dnl *,) t=`echo "${enableval}" | sed -e "s/,/ /g"` -dnl build_warnings="${t} ${build_warnings}";; -dnl *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;; - *) ;; -esac],[build_warnings=""])dnl - + ,*) 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"`;; +esac +if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then + echo "Setting compiler warning flags = $build_warnings" 6>&1 +fi])dnl +AC_ARG_ENABLE(gdb-build-warnings, +[ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used], +[case "${enableval}" in + yes) ;; + 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"`;; +esac +if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then + echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1 +fi])dnl +WARN_CFLAGS="" +WERROR_CFLAGS="" if test "x${build_warnings}" != x -a "x$GCC" = xyes then - WARN_CFLAGS="${build_warnings}" -else - WARN_CFLAGS="" + AC_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}; do + case $w in + -Werr*) WERROR_CFLAGS=-Werror ;; + *) # Check that GCC accepts it + if $CC $w 2>&1 | grep 'unrecognized option' > /dev/null; then + : + else + WARN_CFLAGS="${WARN_CFLAGS} $w" + fi + esac + done + AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS}) fi AC_SUBST(WARN_CFLAGS) +AC_SUBST(WERROR_CFLAGS) MMALLOC_CFLAGS= MMALLOC= @@ -336,187 +672,128 @@ if test x$want_mmalloc = xtrue; then MMALLOC='../mmalloc/libmmalloc.a' fi -# start-sanitize-carp -# The below takes an educated guess at the targets that -# should be built. It is an interum version that provides -# significant backward compatibility. - -AC_ARG_ENABLE(carp, -[ --enable-carp Configure alternative readaptive paradigm ], -[case "${enableval}" in - yes) enable_carp=yes ;; - no) enable_carp=no ;; - *) AC_MSG_ERROR([bad value ${enableval} for carp option]) ;; -esac],[enable_carp=no])dnl - -AC_ARG_ENABLE(targets, -[ --enable-targets alternative target configurations], -[case "${enableval}" in - yes | "") AC_ERROR(enable-targets option must specify target names or 'all') - ;; - no) enable_targets= ;; - *) enable_targets="$enableval" ;; -esac])dnl - -# Canonicalize the secondary target names. -all_targets=false -if test -n "$enable_targets" ; then - if test "$enable_targets" = all ; then - all_targets=true - else - for targ in `echo $enable_targets | sed 's/,/ /g'` - do - result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ 2>/dev/null` - if test -n "$result" ; then - canon_targets="$canon_targets $result" - fi - done - fi +AC_ARG_WITH(included-regex, +[ --with-included-regex Use included regex], +[case "${withval}" in + yes) 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])dnl + +if test $want_included_regex = false; then + AC_MSG_CHECKING(for GNU regex) + AC_CACHE_VAL(gdb_cv_have_gnu_regex, +[AC_TRY_COMPILE([#include +#include +#include ], +[#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; then + want_included_regex=true + fi fi -# Convert the target names into GDB [*]-tdep.c names -changequote(,)dnl -selarchs= -for targ in $target $canon_targets -do - if test "x$targ" = "xall" ; then - all_targets=true - else - t_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` - t_vendor=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` - t_os=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - mt=` -target=$targ -target_cpu=$t_cpu -target_vendor=$t_vendor -target_os=$t_os -. ${srcdir}/configure.tgt -echo ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt` - if test -r ${mt} ; then - # This gets confused over .mt files that have multiple -tdep.o - tdep=`sed -n ' -s/^.*[ =]\([^ ]*\)-tdep.o.*/\1/p -' $mt` - selarchs="$selarchs $tdep" - fi - fi -done -changequote([,])dnl - -# We don't do any links based on the target system, just makefile config. - -if test x${all_targets} = xfalse ; then - - # Target architecture .o files. - ta= +if test x${want_included_regex} = xtrue; then + REGEX="gnu-regex.o" + AC_DEFINE(USE_INCLUDED_REGEX) +fi +AC_SUBST(REGEX) - for arch in $selarchs - do - archdefs="$archdefs -DARCH_$arch" - ta="$ta ${arch}-tdep.o" - # Special cases - case "$arch" in - dvp) ta="$ta mips-tdep.o dvp-tdep.o" ;; - esac - done +# 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])]) - # Weed out duplicate .o files. - f="" - for i in $ta ; do - case " $f " in - *" $i "*) ;; - *) f="$f $i" ;; - esac - done - ta="$f" - - # And duplicate -D flags. - f="" - for i in $archdefs ; do - case " $f " in - *" $i "*) ;; - *) f="$f $i" ;; - esac - done - archdefs="$f" - MACHINE_OBS="$ta" +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 ;; +esac +AC_SUBST(SER_HARDWIRE) -else # all_targets is true - archdefs=-DARCH_all - MACHINE_OBS='$(ALL_MACHINES)' -fi -dnl Don't define an archdefs list -dnl AC_SUBST(archdefs) -dnl XXXX this name will change several more times -if test "${enable_carp}" = yes ; then - gdb_target=carp - gdb_target_cpu=carp +dnl Figure out which term library to use. +if test x$gdb_host = xgo32; then + TERM_LIB= else - MACHINE_OBS="# $MACHINE_OBS" -fi -AC_SUBST(MACHINE_OBS) - -# end-sanitize-carp -# start-sanitize-gdbtk -# start-sanitize-ide -ENABLE_IDE= -AC_ARG_ENABLE(ide, [ --enable-ide Enable IDE support]) -if test "$enable_ide" = yes; then - enable_ide=yes - ENABLE_IDE=1 +if test x$gdb_cv_os_cygwin = xyes; then + TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`' else - enable_ide=no + TERM_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" = x + then + AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!) + fi fi -AC_SUBST(ENABLE_IDE) - -AC_ARG_WITH(foundry-libs, -[ --with-foundry-libs=DIR Use the Foundry SDK in DIR], -[FOUNDRY_LIB_BASE=${withval}]) -AC_SUBST(FOUNDRY_LIB_BASE) +fi +AC_SUBST(TERM_LIB) -# -# This is the Foundry SDK -# -# These variables are used to determine where the Foundry libs and -# header files are located. -# -if test "$FOUNDRY_LIB_BASE" != ""; then - LIBGUI="${FOUNDRY_LIB_BASE}/lib/libgui.a" - GUI_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include" - if test x$enable_ide = xyes; then - IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include -DIDE" - IDE_X="-L${FOUNDRY_LIB_BASE}/lib -lilu-Tk -lilu-c -lilu" - else - IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include" - fi - LIBIDETCL="${FOUNDRY_LIB_BASE}/lib/libidetcl.a" - LIBIDE="${FOUNDRY_LIB_BASE}/lib/libide.a" - IDE_DEPS="${FOUNDRY_LIB_BASE}/lib/libilu-Tk.a ${FOUNDRY_LIB_BASE}/lib/libilu-c.a ${FOUNDRY_LIB_BASE}/lib/libilu.a" -else - LIBGUI="../libgui/src/libgui.a" - GUI_CFLAGS_X="-I${srcdir}/../libgui/src" - if test x$enable_ide = xyes; then - IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src -DIDE -I${srcdir}/../ilu/runtime/mainloop" - IDE_X="-L../ilu/runtime/mainloop -lilu-Tk -L../ilu/runtime/c -lilu-c -L../ilu/runtime/kernel -lilu" - else - IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src" - fi - LIBIDETCL="../libidetcl/src/libidetcl.a" - LIBIDE="../libide/src/libide.a" - IDE_DEPS="../ilu/runtime/mainloop/libilu-Tk.a ../ilu/runtime/c/libilu-c.a ../ilu/runtime/kernel/libilu.a" +# libreadline needs libuser32.a in a cygwin environment +WIN32LIBS= +if test x$gdb_cv_os_cygwin = xyes; then + WIN32LIBS="-luser32" + case "${target}" in + *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp" + ;; + esac fi +AC_SUBST(WIN32LIBS) + +LIBGUI="../libgui/src/libgui.a" +GUI_CFLAGS_X="-I${srcdir}/../libgui/src" AC_SUBST(LIBGUI) AC_SUBST(GUI_CFLAGS_X) -AC_SUBST(IDE_CFLAGS_X) -AC_SUBST(IDE_X) -AC_SUBST(LIBIDETCL) -AC_SUBST(LIBIDE) -AC_SUBST(IDE_DEPS) -# end-sanitize-ide -ENABLE_GDBTK= +AC_ARG_WITH(cpu, +[ --with-cpu=CPU Set the default CPU variant to debug], +[case "${target}" in + powerpc-* | powerpcle-* ) + ## It would be nice to keep this table in sync with the one in + ## gcc/configure. + case "${with_cpu}" in + ppc-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) + ;; +esac +AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}") +],) + AC_ARG_ENABLE(gdbtk, [ --enable-gdbtk Enable GDBTK GUI front end], @@ -543,33 +820,17 @@ case "$host" in *go32* | *windows*) ;; *) - enable_gdbtk=yes ;; - esac + if test -d "${srcdir}/gdbtk" ; then + enable_gdbtk=yes + fi + ;; +esac ]) -# In the Cygwin environment, we need some additional flags. -AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin, -[AC_EGREP_CPP(lose, [ -#ifdef __CYGWIN32__ -lose -#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])]) - -WIN32LIBS= WIN32LDAPP= AC_SUBST(WIN32LIBS) AC_SUBST(WIN32LDAPP) -DLLTOOL=${DLLTOOL-dlltool} -WINDRES=${WINDRES-windres} -AC_SUBST(DLLTOOL) -AC_SUBST(WINDRES) - -if test x$gdb_cv_os_cygwin = xyes; then - if test x$enable_ide = xyes; then - WIN32LIBS="-ladvapi32" - fi -fi - configdir="unix" GDBTKLIBS= @@ -587,62 +848,86 @@ if test "${enable_gdbtk}" = "yes"; then CY_AC_PATH_TCLH CY_AC_PATH_TKH CY_AC_PATH_ITCLH - CY_AC_PATH_TIX - - # now look for tix library stuff - TIXVERSION=4.1.8.0 - . ${ac_cv_c_tclconfig}/tclConfig.sh - case "${host}" in - *-*-cygwin*) - tixdir=../tix/win/tcl8.0 + CY_AC_PATH_ITKH + CY_AC_PATH_TIXH + + # now look for Itcl library stuff + + CY_AC_PATH_ITCLCONFIG + if test -z "${no_itcl}"; then + CY_AC_LOAD_ITCLCONFIG + case "${host}" in + *-*-cygwin*) + itcldir=../itcl/itcl/win/ ;; - *) - tixdir=../tix/unix/tk8.0 + *) + itcldir=../itcl/itcl/unix/ ;; - esac - if test "${TCL_SHARED_BUILD}" = "1"; then - TIX_LIB_EXT="${TCL_SHLIB_SUFFIX}" - - # Can't win them all: SunOS 4 (others?) appends a version - # number after the ".so" - case "${host}" in - *-*-sunos4*) - TIX_LIB_EXT="${TIX_LIB_EXT}.1.0" ;; - esac - - else - TIX_LIB_EXT=".a" - fi + esac + - if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then - TIXLIB="-L${tixdir} -ltix${TIXVERSION}" - TIX_DEPS="${tixdir}/libtix${TIXVERSION}${TIX_LIB_EXT}" - else - TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`" - TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}" - fi + ITCLLIB="${ITCL_BUILD_LIB_SPEC}" + ITCL_DEPS="${itcldir}${ITCL_LIB_FILE}" + fi - ENABLE_GDBTK=1 - ENABLE_CFLAGS="${ENABLE_CFLAGS} -DGDBTK" + + # now look for Itk library stuff + CY_AC_PATH_ITKCONFIG + if test -z "${no_itcl}"; then + CY_AC_LOAD_ITKCONFIG + + case "${host}" in + *-*-cygwin*) + itkdir=../itcl/itk/win/ + ;; + *) + itkdir=../itcl/itk/unix/ + ;; + esac + + ITKLIB="${ITK_BUILD_LIB_SPEC}" + ITK_DEPS="${itkdir}${ITK_LIB_FILE}" + fi + + # now look for Tix library stuff + CY_AC_PATH_TIXCONFIG + if test -z "${no_tix}"; then + CY_AC_LOAD_TIXCONFIG + TIXLIB="${TIX_BUILD_LIB_SPEC}" + TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}" + fi + + ENABLE_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"; then + if test "$TCL_VERSION" != "8.0" ; then + GDBTK_CFLAGS="-fwritable-strings" + fi + fi # Include some libraries that Tcl and Tk want. - if test "${enable_ide}" = "yes"; then - TCL_LIBS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)' - CONFIG_DEPS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)' - else - TCL_LIBS='$(LIBGUI) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)' - CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)' - fi + 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} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o" + + 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; then - WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32" + WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32" WIN32LDAPP="-Wl,--subsystem,console" CONFIG_OBS="${CONFIG_OBS} gdbres.o" fi @@ -650,51 +935,65 @@ if test "${enable_gdbtk}" = "yes"; then fi fi -AC_SUBST(ENABLE_GDBTK) AC_SUBST(X_CFLAGS) AC_SUBST(X_LDFLAGS) AC_SUBST(X_LIBS) +AC_SUBST(ITCLLIB) +AC_SUBST(ITCL_DEPS) +AC_SUBST(ITKLIB) +AC_SUBST(ITK_DEPS) AC_SUBST(TIXLIB) AC_SUBST(TIX_DEPS) AC_SUBST(GDBTKLIBS) -# end-sanitize-gdbtk +AC_SUBST(GDBTK_CFLAGS) AC_PATH_X -# start-sanitize-sky -# Enable GPU2 library for MIPS simulator -AC_ARG_WITH(sim-gpu2, -[ --with-sim-gpu2=DIR Use GPU2 library under given DIR], -[case "${target}" in - mips*-sky*-*) - if test -d "${withval}" - then - LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 -lXext" - else - AC_MSG_WARN([Directory ${withval} does not exist.]) - fi ;; - *) AC_MSG_WARN([--with-sim-gpu2 option invalid for target ${target}]) -esac])dnl -# Enable target accurate FP library -AC_ARG_WITH(sim-funit, -[ --with-sim-funit=DIR Use target FP lib under given DIR], -[case "${target}" in - mips*-sky*-*) - if test -d "${withval}" - then - LIBS="${LIBS} -L${withval}/lib -lfunit" - else - AC_MSG_WARN([Directory ${withval} does not exist.]) - fi ;; - *) AC_MSG_WARN([--with-sim-funit option invalid for target ${target}]) -esac])dnl -# end-sanitize-sky + +# 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 soruce tree. +# +AC_ARG_ENABLE(sim, +[ --enable-sim Link gdb with simulator], +[echo "enable_sim = $enable_sim"; + echo "enableval = ${enableval}"; + case "${enableval}" in + yes) ignore_sim=false ;; + no) ignore_sim=true ;; + *) ignore_sim=false ;; + esac], +[ignore_sim=false]) + +if test ! -d "${srcdir}/../sim"; then + ignore_sim=true +fi + +if test "${ignore_sim}" = "true"; then + IGNORE_SIM="SIM=" + IGNORE_SIM_OBS="SIM_OBS=" +else + IGNORE_SIM="" + IGNORE_SIM_OBS="" + AC_DEFINE(WITH_SIM) +fi +AC_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-shared AC_ARG_ENABLE(shared, @@ -718,7 +1017,7 @@ if test "${shared}" = "true"; then ;; *-*-linux*aout*) ;; - *-*-linux* | *-pc-linux-gnu) + *-*-linux* | *-pc-linux-gnu*) HLDFLAGS='-Wl,-rpath,$(libdir)' ;; *-*-solaris*) @@ -790,6 +1089,10 @@ 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}` + # these really aren't orthogonal true/false values of the same condition, # but shells are slow enough that I like to reuse the test conditions # whenever possible @@ -803,51 +1106,87 @@ s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p fi changequote([,]) +# 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 ; then + case "${gdb_multi_arch}" in + yes ) GDB_MULTI_ARCH=GDB_MULTI_ARCH_PURE ;; + no ) GDB_MULTI_ARCH=0 ;; + 0|1|2 ) GDB_MULTI_ARCH=${gdb_multi_arch} ;; + esac +fi +if test x"${GDB_MULTI_ARCH}" != x ; then + AC_DEFINE_UNQUOTED(GDB_MULTI_ARCH, ${GDB_MULTI_ARCH}) +fi +# Warn the user when they use an old pratice +case "${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 ; then + AC_MSG_WARN("GDB: Ingoring TM_FILE in ${target_makefile_frag}") + targetfile="" + fi ;; + *) AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");; +esac + + +SUBDIRS="doc testsuite nlm" +if test "${enable_multi_ice}" = "yes"; then + SUBDIRS="${SUBDIRS} multi-ice" +fi + +AC_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 don't make the -# corresponding links. But we have to remove the xm.h files and tm.h -# files anyway, e.g. when switching from "configure host" to -# "configure none". +# (NAT_FILE) is not set in config/*/*.m[ht] files, we link to an empty +# version. files= links= + rm -f xm.h +xm_h="" if test "${hostfile}" != ""; then -files="${files} config/${gdb_host_cpu}/${hostfile}" -links="${links} xm.h" + xm_h=xm.h + GDB_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}) fi +AC_SUBST(xm_h) + rm -f tm.h +tm_h="" if test "${targetfile}" != ""; then -files="${files} config/${gdb_target_cpu}/${targetfile}" -links="${links} tm.h" + tm_h=tm.h + GDB_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}) fi +AC_SUBST(tm_h) + rm -f nm.h +nm_h="" if test "${nativefile}" != ""; then -files="${files} config/${gdb_host_cpu}/${nativefile}" -links="${links} nm.h" -else -# A cross-only configuration. -files="${files} config/nm-empty.h" -links="${links} nm.h" + nm_h=nm.h + GDB_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}) fi -# start-sanitize-gdbtk +AC_SUBST(nm_h) + AC_PROG_LN_S -# Make it possible to use the GUI without doing a full install -if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl2 ; then - if test "$LN_S" = "ln -s" -a ! -f gdbtcl2 ; then - echo linking $srcdir/gdbtcl2 to gdbtcl2 - $LN_S $srcdir/gdbtcl2 gdbtcl2 - else - echo Warning: Unable to link $srcdir/gdbtcl2 to gdbtcl2. You will need to do a - echo " " make install before you are able to run the GUI. - fi -fi -# end-sanitize-gdbtk AC_LINK_FILES($files, $links) dnl Check for exe extension set on certain hosts (e.g. Win32) -AM_EXEEXT +AC_EXEEXT AC_CONFIG_SUBDIRS($configdirs) AC_OUTPUT(Makefile .gdbinit:gdbinit.in, @@ -868,6 +1207,7 @@ sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/, mv -f Makefile.tmp Makefile changequote([,])dnl + case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;;