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 \
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 \
+ dirent.h sys/ndir.h sys/dir.h ndir.h sys/filio.h \
curses.h ncurses.h \
poll.h sys/poll.h)
AC_HEADER_STAT
AC_C_CONST
+AC_C_INLINE
-AC_CHECK_FUNCS(setpgid setpgrp sbrk sigaction isascii bzero bcopy btowc poll sigprocmask)
-AC_FUNC_VFORK
+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
dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
if test "$cross_compiling" = no; then
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.
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
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $w"
+ AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
+ CFLAGS="$saved_CFLAGS"
esac
done
AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
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 $here
+
CY_AC_PATH_TCLCONFIG
if test -z "${no_tcl}"; then
CY_AC_LOAD_TCLCONFIG
CY_AC_PATH_ITCLCONFIG
if test -z "${no_itcl}"; then
- CY_AC_LOAD_ITCLCONFIG
- case "${host}" in
- *-*-cygwin*)
- itcldir=../itcl/itcl/win/
- ;;
- *)
- itcldir=../itcl/itcl/unix/
- ;;
- esac
-
+ CY_AC_LOAD_ITCLCONFIG
ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
- ITCL_DEPS="${itcldir}${ITCL_LIB_FILE}"
+ ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
fi
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}"
+ ITK_DEPS="${ITK_LIB_FULL_PATH}"
fi
# now look for Tix library stuff
AC_SUBST(TIX_DEPS)
AC_SUBST(GDBTKLIBS)
AC_SUBST(GDBTK_CFLAGS)
+AC_SUBST(GDBTK_SRC_DIR)
AC_PATH_X
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 provided by makefile fragments.
dnl
if test "${nativefile}" = ""; then
-sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
- < Makefile > Makefile.tem
+ < Makefile \
+ sed -e '/^NATDEPFILES[[ ]]*=.*\\$/,/[[^\\]]$/s/^/# /' \
+ -e '/^NATDEPFILES[[ ]]*=/s/^/# /' \
+ | sed -e '/^\(NATDEPFILES[[ ]]*[[+]]=[[ ]]*\)/s//# \1/' \
+ > Makefile.tem
mv -f Makefile.tem Makefile
fi