dnl Autoconf configure script for GDB, the GNU debugger.
-dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+dnl 2005, 2006
dnl Free Software Foundation, Inc.
dnl
dnl This file is part of GDB.
CONFIG_INSTALL=
CONFIG_UNINSTALL=
-dnl Set up for gettext. PACKAGE is used when we call bindtextdomain.
-
-CY_GNU_GETTEXT
+dnl Set up for gettext.
+ZW_GNU_GETTEXT_SISTER_DIR
localedir='${datadir}/locale'
AC_SUBST(localedir)
-if test "x$POSUB" != x; then
-
- dnl Lifted from GCC's config/gettext.m4.
- AC_MSG_CHECKING(for catalogs to be installed)
- # Look for .po and .gmo files in the source directory.
- CATALOGS= AC_SUBST(CATALOGS)
- XLINGUAS=
- for cat in $srcdir/po/*.gmo $srcdir/po/*.po; do
- # If there aren't any .gmo files the shell will give us the
- # literal string "../path/to/srcdir/po/*.gmo" which has to be
- # weeded out.
- case "$cat" in *\**)
- continue;;
- esac
- # The quadruple backslash is collapsed to a double backslash
- # by the backticks, then collapsed again by the double quotes,
- # leaving us with one backslash in the sed expression (right
- # before the dot that mustn't act as a wildcard).
- cat=`echo $cat | sed -e "s!$srcdir/!!" -e "s!\\\\.po!.gmo!"`
- lang=`echo $cat | sed -e 's!po/!!' -e "s!\\\\.gmo!!"`
- # The user is allowed to set LINGUAS to a list of languages to
- # install catalogs for. If it's empty that means "all of them."
- if test "x$LINGUAS" = x; then
- CATALOGS="$CATALOGS $cat"
- XLINGUAS="$XLINGUAS $lang"
- else
- case "$LINGUAS" in *$lang*)
- CATALOGS="$CATALOGS $cat"
- XLINGUAS="$XLINGUAS $lang"
- ;;
- esac
- fi
- done
- LINGUAS="$XLINGUAS"
- AC_MSG_RESULT($LINGUAS)
-
+if test x"$USE_NLS" = xyes; then
CONFIG_ALL="$CONFIG_ALL all-po"
CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
CONFIG_INSTALL="$CONFIG_INSTALL install-po"
[Global directory for separate debug files. ])
#AC_DEFINE_UNQUOTED(DEBUGDIR, "$debugdir"),
+if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
+ if test "x$prefix" = xNONE; then
+ test_prefix=/usr/local
+ else
+ test_prefix=$prefix
+ fi
+else
+ test_prefix=$exec_prefix
+fi
+case ${debugdir} in
+"${test_prefix}"|"${test_prefix}/"*|\
+'${exec_prefix}'|'${exec_prefix}/'*)
+ AC_DEFINE(DEBUGDIR_RELOCATABLE, 1, [Define if the debug directory should be relocated when GDB is moved.])
+ ;;
+esac
+
AC_CONFIG_SUBDIRS(doc testsuite)
+# Provide defaults for some variables set by the per-host and per-target
+# configuration.
+gdb_host_obs=posix-hdep.o
+
+if test "${target}" = "${host}"; then
+ gdb_native=yes
+else
+ gdb_native=no
+fi
+
. $srcdir/configure.host
. $srcdir/configure.tgt
AC_MSG_ERROR([no termcap library found])
fi
+AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
+ [XML_Parser p = XML_ParserCreate (0);])
+if test "$HAVE_LIBEXPAT" != yes; then
+ AC_MSG_WARN([expat is missing or unusable; some features may be disabled.])
+else
+ save_LIBS=$LIBS
+ LIBS="$LIBS $LIBEXPAT"
+ AC_CHECK_FUNCS(XML_StopParser)
+ LIBS=$save_LIBS
+fi
+
# ------------------------- #
# Checks for header files. #
# ------------------------- #
AC_CHECK_HEADERS(machine/reg.h)
AC_CHECK_HEADERS(poll.h sys/poll.h)
AC_CHECK_HEADERS(proc_service.h thread_db.h gnu/libc-version.h)
+AC_CHECK_HEADERS(signal.h)
AC_CHECK_HEADERS(stddef.h)
AC_CHECK_HEADERS(stdlib.h)
AC_CHECK_HEADERS(stdint.h)
AC_CHECK_HEADERS(sys/filio.h)
AC_CHECK_HEADERS(sys/ioctl.h)
AC_CHECK_HEADERS(sys/param.h)
+AC_CHECK_HEADERS(sys/resource.h)
AC_CHECK_HEADERS(sys/proc.h, [], [],
[#if HAVE_SYS_PARAM_H
# include <sys/param.h>
# unconditionally, so what's the point in checking these?
AC_CHECK_HEADERS(ctype.h time.h)
+# Create a header we can use portably to get the standard integer types.
+GCC_HEADER_STDINT(gdb_stdint.h)
+
# ------------------------- #
# Checks for declarations. #
# ------------------------- #
AC_FUNC_MMAP
AC_FUNC_VFORK
AC_CHECK_FUNCS(canonicalize_file_name realpath)
+AC_CHECK_FUNCS(getrusage)
AC_CHECK_FUNCS(getuid getgid)
AC_CHECK_FUNCS(poll)
AC_CHECK_FUNCS(pread64)
[Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
fi
-# 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.
+# Detect which type of /proc is in use, such as for Unixware or Solaris.
if test "${target}" = "${host}"; then
case "${host}" in
- i[[3456]]86-*-linux*)
- AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED, 2,
- [Define on a GNU/Linux system to work around problems in sys/procfs.h.])
- AC_DEFINE(sys_quotactl, 1,
- [Define on a GNU/Linux system to work around problems in sys/procfs.h.])
- ;;
*-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
AC_DEFINE(NEW_PROC_API, 1,
[Define if you want to use new multi-fd /proc interface
AC_SUBST(CONFIG_LDFLAGS)
fi
-dnl See if we have a thread_db header file that has TD_NOTALLOC.
+dnl See if we have a thread_db header file that has TD_NOTALLOC and
+dnl other error codes.
if test "x$ac_cv_header_thread_db_h" = "xyes"; then
AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
gdb_cv_thread_db_h_has_td_notalloc,
gdb_cv_thread_db_h_has_td_notalloc=no
)
)
+ AC_CACHE_CHECK([whether <thread_db.h> has TD_VERSION],
+ gdb_cv_thread_db_h_has_td_version,
+ AC_TRY_COMPILE(
+ [#include <thread_db.h>],
+ [int i = TD_VERSION;],
+ gdb_cv_thread_db_h_has_td_version=yes,
+ gdb_cv_thread_db_h_has_td_version=no
+ )
+ )
+ AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTLS],
+ gdb_cv_thread_db_h_has_td_notls,
+ AC_TRY_COMPILE(
+ [#include <thread_db.h>],
+ [int i = TD_NOTLS;],
+ gdb_cv_thread_db_h_has_td_notls=yes,
+ gdb_cv_thread_db_h_has_td_notls=no
+ )
+ )
fi
if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
[Define if <thread_db.h> has the TD_NOTALLOC error code.])
fi
+if test "x$gdb_cv_thread_db_h_has_td_version" = "xyes"; then
+ AC_DEFINE(THREAD_DB_HAS_TD_VERSION, 1,
+ [Define if <thread_db.h> has the TD_VERSION error code.])
+fi
+if test "x$gdb_cv_thread_db_h_has_td_notls" = "xyes"; then
+ AC_DEFINE(THREAD_DB_HAS_TD_NOTLS, 1,
+ [Define if <thread_db.h> has the TD_NOTLS 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
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
- if test "x$exec_prefix" = xNONE; then
- if test "x$prefix" = xNONE; then
- test_prefix=/usr/local
- else
- test_prefix=$prefix
- fi
+ if test "x$prefix" = xNONE; then
+ test_prefix=/usr/local
else
- test_prefix=$exec_prefix
+ test_prefix=$prefix
+ fi
+ if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
+ test_exec_prefix=$test_prefix
+ else
+ test_exec_prefix=$exec_prefix
fi
case ${TARGET_SYSTEM_ROOT} in
"${test_prefix}"|"${test_prefix}/"*|\
+ "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
+ '${prefix}'|'${prefix}/'*|\
'${exec_prefix}'|'${exec_prefix}/'*)
t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
TARGET_SYSTEM_ROOT_DEFINE="$t"
AC_SUBST(TARGET_SYSTEM_ROOT)
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
-# 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 -Wformat-nonliteral \
--Wunused-label -Wunused-function"
-
-# GCC supports -Wuninitialized only with -O or -On, n != 0.
-if test x${CFLAGS+set} = xset; then
- case "${CFLAGS}" in
- *"-O0"* ) ;;
- *"-O"* )
- build_warnings="${build_warnings} -Wuninitialized"
- ;;
- esac
-else
- build_warnings="${build_warnings} -Wuninitialized"
+AC_ARG_ENABLE(werror,
+ [ --enable-werror treat compile warnings as errors],
+ [case "${enableval}" in
+ yes | y) ERROR_ON_WARNING="yes" ;;
+ no | n) ERROR_ON_WARNING="no" ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
+ esac])
+
+# Enable -Werror by default when using gcc
+if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
+ ERROR_ON_WARNING=yes
+fi
+
+WERROR_CFLAGS=""
+if test "${ERROR_ON_WARNING}" = yes ; then
+ WERROR_CFLAGS="-Werror"
fi
-# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
-# -Wunused-function -Wunused-variable -Wunused-value
-# -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
-# -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
-# -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
-# -Woverloaded-virtual -Winline -Werror"
+# The entries after -Wno-pointer-sign are disabled warnings which may
+# be enabled in the future, which can not currently be used to build
+# GDB.
+# NOTE: If you change this list, remember to update
+# gdb/doc/gdbint.texinfo.
+build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
+-Wformat-nonliteral -Wno-pointer-sign \
+-Wno-unused -Wno-switch -Wno-char-subscripts"
+
AC_ARG_ENABLE(build-warnings,
[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
[case "${enableval}" in
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
AC_MSG_CHECKING(compiler warning flags)
CFLAGS="$saved_CFLAGS"
esac
done
- AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
+ AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
fi
AC_SUBST(WARN_CFLAGS)
AC_SUBST(WERROR_CFLAGS)
case ${host} in
*go32* ) SER_HARDWIRE=ser-go32.o ;;
*djgpp* ) SER_HARDWIRE=ser-go32.o ;;
- *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o" ;;
+ *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
esac
AC_SUBST(SER_HARDWIRE)
esac
AC_SUBST(WIN32LIBS)
+# Add any host-specific objects to GDB.
+CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
+
LIBGUI="../libgui/src/libgui.a"
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
AC_SUBST(LIBGUI)
AC_SUBST(target_subdir)
frags=
-if test "${target}" = "${host}"; then
+if test "${gdb_native}" = "yes"; then
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 native target ${host}")
' ${host_makefile_frag}`
targetfile=`sed -n '
-s/DEPRECATED_TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
+s/^[ ]*DEPRECATED_TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
' ${target_makefile_frag}`
-if test "${target}" = "${host}"; then
+if test "${gdb_native}" = "yes"; then
# We pick this up from the host configuration file (.mh) because we
# do not have a native configuration Makefile fragment.
nativefile=`sed -n '
AC_CONFIG_SUBDIRS(multi-ice)
fi
-# We only build gdbserver automatically if host and target are the same.
-if test "x$target" = "x$host"; then
+# We only build gdbserver automatically in a native configuration.
+if test "$gdb_native" = "yes"; then
AC_MSG_CHECKING(whether gdbserver is supported on this host)
if test "x$build_gdbserver" = xyes; then
AC_MSG_RESULT(yes)
fi
fi
-# We build rdi-share on ARM-based targets, as instructed by configure.tgt.
-if test "x$build_rdi_share" = xyes; then
- AC_CONFIG_SUBDIRS(rdi-share)
-fi
-
-# We configure the nlm subdirectory on netware targets, as instructed
-# by configure.tgt.
-if test "x$build_nlm" = xyes; then
- AC_CONFIG_SUBDIRS(nlm)
-fi
-
# If hostfile (XM_FILE) and/or targetfile (DEPRECATED_TM_FILE) and/or
# nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
# to an empty version.