# doesn't support cross-compilation, but the one from Autoconf 2.5x
# does. Override RANLIB here (i.e. before running AC_PROG_RANLIB) to
# deal with the lossage. Note that CY_GNU_GETTEXT currently calls
-# AC_PROG_RANLIB. This can be removed when we switch to # Autoconf
+# AC_PROG_RANLIB. This can be removed when we switch to Autoconf
# 2.5x.
AC_CHECK_TOOL(RANLIB, ranlib, :)
esac],
[enable_profiling=no])
+AC_CHECK_FUNCS(monstartup _mcleanup)
+AC_CACHE_CHECK([for _etext], ac_cv_var__etext,
+[AC_TRY_LINK(
+[#include <stdlib.h>
+extern char _etext;
+],
+[free (&_etext);], ac_cv_var__etext=yes, ac_cv_var__etext=no)])
+if test $ac_cv_var__etext = yes; then
+ AC_DEFINE(HAVE__ETEXT, 1,
+ [Define to 1 if your system has the _etext variable. ])
+fi
if test "$enable_profiling" = yes ; then
+ if test $ac_cv_func_monstartup = no || test $ac_cv_func__mcleanup = no; then
+ AC_MSG_ERROR(--enable-profiling requires monstartup and _mcleanup)
+ fi
PROFILE_CFLAGS=-pg
OLD_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $PROFILE_CFLAGS"
- AC_CHECK_FUNC(monstartup, [],
- AC_MSG_ERROR(monstartup necessary to use --enable-profiling.))
+ AC_CACHE_CHECK([whether $CC supports -pg], ac_cv_cc_supports_pg,
+ [AC_TRY_COMPILE([], [int x;], ac_cv_cc_supports_pg=yes,
+ ac_cv_cc_supports_pg=no)])
- AC_CHECK_FUNC(_mcleanup, [],
- AC_MSG_ERROR(_mcleanup necessary to use --enable-profiling.))
+ if test $ac_cv_cc_supports_pg = no; then
+ AC_MSG_ERROR(--enable-profiling requires a compiler which supports -pg)
+ fi
CFLAGS="$OLD_CFLAGS"
fi
AC_CHECK_FUNC(wctype, [],
[AC_CHECK_LIB(w, wctype)])
+# Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
+AC_SEARCH_LIBS(gethostbyname, nsl)
+
# Some systems (e.g. Solaris) have `socketpair' in libsocket.
AC_SEARCH_LIBS(socketpair, socket)
# unconditionally, so what's the point in checking these?
AC_CHECK_HEADERS(ctype.h time.h)
+# ------------------------- #
+# Checks for declarations. #
+# ------------------------- #
+
+gcc_AC_CHECK_DECLS(getopt)
+
# ------------------ #
# Checks for types. #
# ------------------ #
AC_CHECK_FUNCS(setpgid setpgrp)
AC_CHECK_FUNCS(sigaction sigprocmask sigsetmask)
AC_CHECK_FUNCS(socketpair)
+AC_CHECK_FUNCS(syscall)
dnl AC_FUNC_SETPGRP does not work when cross compiling
dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
AC_DEFINE(HAVE_PT_GETXMMREGS)
fi
+# See if stdint.h provides the uintptr_t type.
+# Autoconf 2.5X has an improved AC_CHECK_TYPE which will simplify this.
+AC_CACHE_CHECK([for uintptr_t in stdint.h], gdb_cv_have_uintptr_t,
+ [AC_TRY_COMPILE(
+ [#include <stdint.h>],
+ [uintptr_t foo = 0;],
+ gdb_cv_have_uintptr_t=yes,
+ gdb_cv_have_uintptr_t=no)])
+if test $gdb_cv_have_uintptr_t = yes; then
+ AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if <stdint.h> provides the uintptr_t type.])
+fi
BFD_NEED_DECLARATION(malloc)
BFD_NEED_DECLARATION(realloc)
[Define if <thread_db.h> has the TD_NOTALLOC error code.])
fi
+dnl See if we have a sys/syscall header file that has __NR_tkill.
+if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
+ AC_CACHE_CHECK([whether <sys/syscall.h> has __NR_tkill],
+ gdb_cv_sys_syscall_h_has_tkill,
+ AC_TRY_COMPILE(
+ [#include <sys/syscall.h>],
+ [int i = __NR_tkill;],
+ gdb_cv_sys_syscall_h_has_tkill=yes,
+ gdb_cv_sys_syscall_h_has_tkill=no
+ )
+ )
+fi
+dnl See if we can issue tkill syscall.
+if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
+ AC_DEFINE(HAVE_TKILL_SYSCALL, 1,
+ [Define if we can use the tkill syscall.])
+fi
+
dnl Handle optional features that can be enabled.
AC_ARG_WITH(sysroot,
[ --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
[
case ${with_sysroot} in
- yes) AC_ERROR(with-sysroot must specify path) ;;
+ yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
*) TARGET_SYSTEM_ROOT=$with_sysroot ;;
esac
test_prefix=$exec_prefix
fi
case ${TARGET_SYSTEM_ROOT} in
- ${test_prefix}*)
+ "${test_prefix}"|"${test_prefix}/"*|\
+ '${exec_prefix}'|'${exec_prefix}/'*)
t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
TARGET_SYSTEM_ROOT_DEFINE="$t"
;;
# 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"
+-Wformat -Wparentheses -Wpointer-arith -Wuninitialized -Wformat-nonliteral"
# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
# -Wunused-function -Wunused-label -Wunused-variable -Wunused-value
# -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
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.
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 practice
-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: Ignoring TM_FILE in ${target_makefile_frag}")
- targetfile=""
- fi ;;
- *) AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
-esac
-
if test x"${gdb_osabi}" != x ; then
AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
[Define to the default OS ABI for this configuration.])