dnl Autoconf configure script for GDB, the GNU debugger.
-dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001
+dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
dnl Free Software Foundation, Inc.
dnl
dnl This file is part of GDB.
AC_DEFINE(_MSE_INT_H)
esac; esac
-AC_CHECK_HEADERS(ctype.h endian.h nlist.h link.h thread_db.h proc_service.h \
+AC_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/ptrace.h sys/reg.h stdint.h \
term.h termio.h termios.h unistd.h wait.h sys/wait.h \
AC_HEADER_STAT
AC_C_CONST
+AC_C_INLINE
-AC_CHECK_FUNCS(bcopy btowc bzero isascii poll sbrk setpgid setpgrp \
- sigaction sigprocmask sigsetmask)
+AC_CHECK_FUNCS(bcopy btowc bzero canonicalize_file_name isascii poll \
+ realpath sbrk setpgid setpgrp sigaction sigprocmask sigsetmask )
AC_FUNC_ALLOCA
AC_FUNC_VFORK
dnl AC_FUNC_SETPGRP does not work when cross compiling
AC_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; then
+ AC_DEFINE(HAVE_PT_GETXMMREGS)
+fi
+
AC_CHECK_LIB(socket, socketpair)
AC_CHECK_FUNCS(socketpair)
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
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.
+ dnl around it in gdb_proc_service.h.
if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
AC_MSG_CHECKING(whether prfpregset_t type is broken)
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)
+ AC_DEFINE(_SYSCALL32)
fi
fi
AC_FUNC_MMAP
+case ${host_os} in
+aix*)
+ AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
+ SAVE_LDFLAGS=$LDFLAGS
+
+ case $GCC in
+ yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
+ *) gdb_cv_bigtoc=-bbigtoc ;;
+ esac
+
+ LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
+ AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
+ ])
+ CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
+ ;;
+esac
+
dnl See if thread_db library is around for Solaris thread debugging. Note that
dnl we must explicitly test for version 1 of the library because version 0
dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
frags=
host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
if test ! -f ${host_makefile_frag}; then
-AC_MSG_ERROR("*** Gdb does not support host ${host}")
+ # 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}"; then
+ AC_MSG_ERROR("*** Gdb does not support native target ${host}")
+ else
+ host_makefile_frag=/dev/null
+ fi
fi
frags="$frags $host_makefile_frag"
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
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}`
-# else
-# GDBserver is only useful in a "native" environment
-# configdirs=`echo $configdirs | sed 's/gdbserver//'`
fi
changequote([,])
*) 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
+# ``gdbserver'' can only be built in a native configuration.
+if test x"${target}" = x"${host}"; then
+ AC_MSG_CHECKING(whether gdbserver is supported on this host)
+ if test x"${build_gdbserver}" = xyes ; then
+ configdirs="${configdirs} gdbserver"
+ SUBDIRS="${SUBDIRS} gdbserver"
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+fi
+
AC_SUBST(SUBDIRS)
# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
dnl
if test "${nativefile}" = ""; then
< Makefile \
- sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
+ sed -e '/^NATDEPFILES[[ ]]*=.*\\$/,/[[^\\]]$/s/^/# /' \
+ -e '/^NATDEPFILES[[ ]]*=/s/^/# /' \
| sed -e '/^\(NATDEPFILES[[ ]]*[[+]]=[[ ]]*\)/s//# \1/' \
> Makefile.tem
mv -f Makefile.tem Makefile