* gdbarch.sh (SIGTRAMP_START, SIGTRAMP_END): New methods.
[deliverable/binutils-gdb.git] / gdb / configure.in
index 8df5c87a51dec8f3f9d2b78440fe07bb3ac8d1d7..edc72c3aa949a003538a57e02c966918e953d1e1 100644 (file)
@@ -1,5 +1,5 @@
 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.
@@ -33,10 +33,11 @@ AM_PROG_CC_STDC
 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
 AC_CANONICAL_SYSTEM
 
-dnl gdb doesn't use gettext, but bfd does.  We call this to ensure we
-dnl link with the correct libraries.
+dnl Set up for gettext.  PACKAGE is used when we call bindtextdomain.
 ALL_LINGUAS=
 CY_GNU_GETTEXT
+AC_DEFINE(PACKAGE, "gdb", [Name of this package. ])
+
 
 dnl List of object files added by configure.
 
@@ -51,6 +52,7 @@ CONFIG_CLEAN=
 CONFIG_INSTALL=
 CONFIG_UNINSTALL=
 
+SUBDIRS="doc testsuite nlm"
 configdirs="doc testsuite"
 
 AC_ARG_ENABLE(multi-ice,
@@ -118,9 +120,9 @@ 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 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 \
+       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 \
@@ -130,9 +132,10 @@ AC_CHECK_HEADERS(ctype.h endian.h nlist.h link.h thread_db.h proc_service.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
@@ -217,6 +220,19 @@ if test $gdb_cv_have_pt_getdbregs = yes; 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)
@@ -228,7 +244,7 @@ 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 
@@ -294,7 +310,7 @@ if test "$ac_cv_header_sys_procfs_h" = yes; then
   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)
@@ -395,6 +411,7 @@ if test ${host} = ${target} ; then
   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
 
@@ -498,6 +515,23 @@ AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
 
 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.
@@ -1054,6 +1088,9 @@ if test "${enable_gdbtk}" = "yes"; then
           fi
        fi
     fi
+
+    SUBDIRS="${SUBDIRS} gdbtk"
+    configdirs="${configdirs} gdbtk"
 fi
 
 AC_SUBST(X_CFLAGS)
@@ -1190,7 +1227,14 @@ AC_SUBST(target_subdir)
 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"
 
@@ -1217,16 +1261,12 @@ 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
 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([,])
 
@@ -1257,12 +1297,22 @@ case "${GDB_MULTI_ARCH}" in
     *)  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
@@ -1320,7 +1370,8 @@ dnl provided by makefile fragments.
 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
This page took 0.025205 seconds and 4 git commands to generate.