old-cross-binutils/gdb/configure.ac

1967 lines
62 KiB
Text
Raw Normal View History

dnl Autoconf configure script for GDB, the GNU debugger.
* NEWS: Mention native Windows support. * Makefile.in (gdb_select_h, ser_tcp_h): New. (ALLDEPFILES): Add ser-mingw.c. (event-loop.o, inflow.o, mingw-hdep.o, posix-hdep.o, ser-base.o) (ser-tcp.o, ser-unix.o): Update. (ser-mingw.o): New rule. * configure: Regenerated. * configure.ac: Add ser-mingw.o for mingw32. * ser-mingw.c: New file. * event-loop.c: Include "gdb_select.h". (gdb_select): Remove, moved to mingw-hdep.c and posix-hdep.c. * ser-base.c: Include "gdb_select.h". (ser_base_wait_for): Use gdb_select. * serial.c (serial_for_fd): New function. (serial_fdopen): Try "terminal" before "hardwire". Initialize the allocated struct serial. (serial_wait_handle): New function. * serial.h (serial_for_fd, serial_wait_handle): New prototypes. (struct serial_ops) [USE_WIN32API]: Add wait_handle. * gdb_select.h: New file. * ser-tcp.c: Include "ser-tcp.h". Remove unused "ser-unix.h" include. (net_close, net_read_prim, net_write_prim): Make global. (net_open): Likewise. Pass an exception set to select. Whitespace fix. Document why we can not use gdb_select. (_initialize_ser_tcp) [USE_WIN32API]: Do not register TCP support here. * ser-tcp.h: New file. * inflow.c (gdb_has_a_terminal): Don't initialize stdin_serial here. (handle_sigio): Use gdb_select. (initialize_stdin_serial): New function. * terminal.h (initialize_stdin_serial): New prototype. * top.c (gdb_init): Call initialize_stdin_serial. * mingw-hdep.c (gdb_select): New function, moved from gdb_select in event-loop.c. Add exception condition support. Use serial_for_fd and serial_wait_handle. Fix timeout handling. * posix-hdep.c: Include "gdb_select.h". (gdb_select): New function. * remote-st.c (connect_command): Use gdb_select. * ser-unix.c: Include "gdb_select.h". (hardwire_send_break, wait_for): Use gdb_select.
2006-02-10 22:01:43 +00:00
dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
dnl 2005, 2006, 2007, 2008
2001-03-06 08:22:02 +00:00
dnl Free Software Foundation, Inc.
dnl
dnl This file is part of GDB.
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 3 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)dnl
AC_INIT(main.c)
AC_CONFIG_HEADER(config.h:config.in)
AM_MAINTAINER_MODE
AC_PROG_CC
AC_GNU_SOURCE
AC_AIX
AC_ISC_POSIX
gl_EARLY
AM_PROG_CC_STDC
AC_CONFIG_AUX_DIR(..)
AC_CANONICAL_SYSTEM
gdb/ * aclocal.m4, configure: Rebuild. * configure.in: Call ZW_CREATE_DEPDIR, ZW_PROG_COMPILER_DEPENDENCIES, AC_PROG_MAKE_SET. (MAKE, GMAKE): New substs. * acinclude.m4: Include depstand.m4. * Makefile.in (DEPMODE, DEPDIR, COMPILE.post, COMPILE.pre, COMPILE, POSTCOMPILE, depcomp): New variables. Remove all _h variables. Remove many .o targets. ($(srcdir)/copying.c): avoid backslash-newline after comment sign (@maintainer_mode_true@). (HFILES_NO_SRCDIR): Regenerate. (generated_files): New variable. (all_gdbtk_cflags): Likewise. (.c.o): Rewrote. (init.o, version.o, copying.o): Remove. (distclean): Remove DEPDIR. (test-cp-name-parser.o, hpux-thread.o, main.o, monitor.o, printcmd.o, procfs.o, v850ice.o): Rewrite. (cli-cmds.o, cli-decode.o, cli-dump.o, cli-interp.o, cli-logging.o, cli-script.o, cli-setshow.o, cli-utils.o): Likewise. (gdbtk.o, gdbtk-bp.o, gdbtk-cmds.o, gdbtk-hooks.o, gdbtk-interp.o, gdbtk-main.o, gdbtk-register.o, gdbtk-stack.o, gdbtk-varobj.o, gdbtk-wrapper.o): Likewise. (mi-cmd-break.o, mi-cmd-disas.o, mi-cmd-env.o, mi-cmd-file.o, mi-cmds.o, mi-cmd-stack.o, mi-cmd-target.o, mi-cmd-var.o, mi-console.o, mi-getopt.o, mi-interp.o, mi-main.o, mi-out.o, mi-parse.o, mi-symbol-cmds.o, mi-common.o, signals.o, tui.o, tui-command.o, tui-data.o, tui-disasm.o, tui-file.o, tui-hooks.o, tui-interp.o, tui-io.o, tui-layout.o, tui-main.o, tui-out.o, tui-regs.o, tui-source.o, tui-stack.o, tui-win.o, tui-windata.o, tui-wingeneral.o, tui-winsource.o): Likewise. (all_object_files): New variable. ($(all_object_files)): New target. Include dependency files, when using GNU Make. gdb/gdbserver/ * Makefile.in (GDBREPLAY_OBS): New variable. (gdbreplay$(EXEEXT)): Use it to avoid unportable $^.
2008-08-07 22:49:10 +00:00
# Dependency checking.
ZW_CREATE_DEPDIR
ZW_PROG_COMPILER_DEPENDENCIES([CC])
# Check for the 'make' the user wants to use.
AC_CHECK_PROGS(MAKE, make)
MAKE_IS_GNU=
case "`$MAKE --version 2>&1 | sed 1q`" in
*GNU*)
MAKE_IS_GNU=yes
;;
esac
AM_CONDITIONAL(GMAKE, test "$MAKE_IS_GNU" = yes)
AC_PROG_MAKE_SET
dnl List of object files and targets accumulated by configure.
CONFIG_OBS=
CONFIG_DEPS=
CONFIG_SRCS=
ENABLE_CFLAGS=
CONFIG_ALL=
CONFIG_CLEAN=
CONFIG_INSTALL=
CONFIG_UNINSTALL=
dnl Set up for gettext.
ZW_GNU_GETTEXT_SISTER_DIR
localedir='${datadir}/locale'
AC_SUBST(localedir)
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"
CONFIG_UNINSTALL="$CONFIG_UNINSTALL uninstall-po"
fi
gl_INIT
# For Makefile dependencies.
GNULIB_STDINT_H=
if test x"$STDINT_H" != x; then
GNULIB_STDINT_H=gnulib/$STDINT_H
fi
AC_SUBST(GNULIB_STDINT_H)
PACKAGE=gdb
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
AC_SUBST(PACKAGE)
# GDB does not use automake, but gnulib does. This line lets us
# generate its Makefile.in.
AM_INIT_AUTOMAKE(gdb, UNUSED-VERSION, [no-define])
gdb/ChangeLog: 2003-01-23 Alexander Larsson <alexl@redhat.com> Jim Blandy <jimb@redhat.com> Add support for executables whose debug info has been separated out into a separate file, leaving only a link behind. * objfiles.h (struct objfile): New fields: separate_debug_objfile and separate_debug_objfile_backlink. (put_objfile_before): New declaration. * symfile.c: #include "filenames.h". (symbol_file_add_with_addrs_or_offsets): If this objfile has its debug info in a separate file, read that, too. Save the addrs argument, so we can use it again to read the separated debug info; syms_from_objfile modifies the table we pass it. (reread_symbols): After re-reading an objfile, call reread_separate_symbols to refresh its separate debug info objfile, if it has one. (reread_separate_symbols, find_separate_debug_file, get_debug_link_info, separate_debug_file_exists): New functions. (debug_file_directory): New global var. (_initialize_symfile): Initialize debug_file_directory, and provide the new `set debug-file-directory' command to let the user change it. * objfiles.c (free_objfile): If this objfile has its debug info in a separate objfile, free that one too. If this is itself a separate debug info objfile, clear our parent's backlink. (put_objfile_before): New function. * utils.c (gnu_debuglink_crc32): New function. * defs.h (gnu_debuglink_crc32): New declaration. * Makefile.in (symfile.o): Note dependency on "filenames.h". * configure.in: Handle --with-separate-debug-dir config option. * acinclude.m4 (AC_DEFINE_DIR): New macro. * acconfig.h (DEBUGDIR): New macro. * configure, aclocal.m4, config.in: Regenerated. gdb/doc/ChangeLog: 2003-01-23 Jim Blandy <jimb@redhat.com> * gdb.texinfo (Separate Debug Files): New section.
2003-01-23 23:03:32 +00:00
debugdir=${libdir}/debug
AC_ARG_WITH(separate-debug-dir,
[ --with-separate-debug-dir=path Look for global separate debug info in this path [LIBDIR/debug]],
[debugdir="${withval}"])
AC_DEFINE_DIR(DEBUGDIR, debugdir,
[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)
1999-08-09 21:36:23 +00:00
# Check whether to support alternative target configurations
AC_ARG_ENABLE(targets,
[ --enable-targets alternative target configurations],
[case "${enableval}" in
yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
;;
no) enable_targets= ;;
*) enable_targets=$enableval ;;
esac])
# Check whether to enable 64-bit support on 32-bit hosts
AC_ARG_ENABLE(64-bit-bfd,
[ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)],
[case "${enableval}" in
yes) want64=true ;;
no) want64=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
esac],[want64=false])dnl
# 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
# Accumulate some settings from configure.tgt over all enabled targets
TARGET_OBS=
all_targets=
for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
do
if test "$targ_alias" = "all"; then
all_targets=true
else
# Canonicalize the secondary target names.
result=`$ac_config_sub $targ_alias 2>/dev/null`
if test -n "$result"; then
targ=$result
else
targ=$targ_alias
fi
. ${srcdir}/configure.tgt
# Target-specific object files
for i in ${gdb_target_obs}; do
case " $TARGET_OBS " in
*" ${i} "*) ;;
*)
TARGET_OBS="$TARGET_OBS ${i}"
;;
esac
done
# Check whether this target needs 64-bit CORE_ADDR
if test x${want64} = xfalse; then
. ${srcdir}/../bfd/config.bfd
fi
fi
done
if test x${all_targets} = xtrue; then
# We want all 64-bit targets if we either:
# - run on a 64-bit host or
# - already require 64-bit support for some other target or
# - the --enable-64-bit-bfd option was supplied
# Otherwise we only support all 32-bit targets.
#
# NOTE: This test must be in sync with the corresponding
# tests in BFD!
if test x${want64} = xfalse; then
AC_CHECK_SIZEOF(long)
if test "x${ac_cv_sizeof_long}" = "x8"; then
want64=true
fi
fi
if test x${want64} = xtrue; then
TARGET_OBS='$(ALL_TARGET_OBS) $(ALL_64_TARGET_OBS)'
else
TARGET_OBS='$(ALL_TARGET_OBS)'
fi
fi
AC_SUBST(TARGET_OBS)
# For other settings, only the main target counts.
gdb_sim=
gdb_osabi=
build_gdbserver=
targ=$target; . ${srcdir}/configure.tgt
# Fetch the default architecture and default target vector from BFD.
targ=$target; . $srcdir/../bfd/config.bfd
2000-06-11 01:39:08 +00:00
# We only want the first architecture, so strip off the others if
# there is more than one.
targ_archs=`echo $targ_archs | sed 's/ .*//'`
2000-06-11 01:39:08 +00:00
if test "x$targ_archs" != x; then
AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
[Define to BFD's default architecture. ])
fi
if test "x$targ_defvec" != x; then
AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
[Define to BFD's default target vector. ])
fi
# The CLI cannot be disabled yet, but may be in the future.
# Enable CLI.
AC_ARG_ENABLE(gdbcli,
[ --disable-gdbcli disable command-line interface (CLI)],
[case $enableval in
yes)
;;
no)
AC_MSG_ERROR([the command-line interface cannot be disabled yet]) ;;
*)
AC_MSG_ERROR([bad value $enableval for --enable-gdbcli]) ;;
esac],
[enable_gdbcli=yes])
if test x"$enable_gdbcli" = xyes; then
if test -d $srcdir/cli; then
CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_CLI_OBS)"
CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_CLI_DEPS)"
CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_CLI_SRCS)"
ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_CLI_CFLAGS)"
fi
fi
# Enable MI.
AC_ARG_ENABLE(gdbmi,
[ --disable-gdbmi disable machine-interface (MI)],
[case $enableval in
yes | no)
;;
*)
AC_MSG_ERROR([bad value $enableval for --enable-gdbmi]) ;;
esac],
[enable_gdbmi=yes])
if test x"$enable_gdbmi" = xyes; then
if test -d $srcdir/mi; then
CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)"
fi
fi
# Enable TUI.
AC_ARG_ENABLE(tui,
[ --enable-tui enable full-screen terminal user interface (TUI)],
[case $enableval in
yes | no | auto)
;;
*)
AC_MSG_ERROR([bad value $enableval for --enable-tui]) ;;
esac],enable_tui=auto)
# Enable gdbtk.
AC_ARG_ENABLE(gdbtk,
[ --enable-gdbtk enable gdbtk graphical user interface (GUI)],
[case $enableval in
yes | no)
;;
*)
AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;;
esac],
[if test -d $srcdir/gdbtk; then
enable_gdbtk=yes
else
enable_gdbtk=no
fi])
# We unconditionally disable gdbtk tests on selected platforms.
case $host_os in
go32* | windows*)
AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
enable_gdbtk=no ;;
esac
# Libunwind support.
AC_ARG_WITH(libunwind,
[ --with-libunwind Use libunwind frame unwinding support],
[case "${withval}" in
yes) enable_libunwind=yes ;;
no) enable_libunwind=no ;;
*) AC_MSG_ERROR(bad value ${withval} for GDB with-libunwind option) ;;
esac],[
AC_CHECK_HEADERS(libunwind.h libunwind-ia64.h)
if test x"$ac_cv_header_libunwind_h" = xyes -a x"$ac_cv_header_libunwind_ia64_h" = xyes; then
enable_libunwind=yes;
fi
])
if test x"$enable_libunwind" = xyes; then
AC_CHECK_HEADERS(libunwind.h libunwind-ia64.h)
AC_DEFINE(HAVE_LIBUNWIND, 1, [Define if libunwind library is being used.])
CONFIG_OBS="$CONFIG_OBS libunwind-frame.o"
CONFIG_DEPS="$CONFIG_DEPS libunwind-frame.o"
CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
fi
# Profiling support.
AC_ARG_ENABLE(profiling,
[ --enable-profiling enable profiling of GDB],
[case $enableval in
yes | no)
;;
*)
AC_MSG_ERROR([bad value $enableval for --enable-profile]) ;;
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
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_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)])
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
2008-06-05 Vladimir Prus <vladimir@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * acinclude.m4: Include ../config/acx.m4. * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL. * configure, config.in: Regenerate. * main.c (print_gdb_help): Use REPORT_BUGS_TO for bug-reporting address. * top.c (print_gdb_version): Use PKGVERSION and REPORT_BUGS_TO. doc: 2008-06-05 Vladimir Prus <vladimir@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * configure.ac: Include ../../config/acx.m4. Use ACX_PKGVERSION and ACX_BUGURL. * configure: Regenerate. * Makefile.in (PKGVERSION, BUGURL_TEXI): Define. (GDBvn.texi): Define VERSION_PACKAGE, BUGURL and BUGURL_DEFAULT. * gdb.texinfo: Use VERSION_PACKAGE and BUGURL. Remove mailing-list-specific text about bug reporting unless BUGURL_DEFAULT. gdbserver: 2008-06-05 Vladimir Prus <vladimir@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * acinclude.m4: Include ../../config/acx.m4. * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL. * configure, config.in: Regenerate. * Makefile.in (gdbreplay$(EXEEXT)): Add version.o. * server.c (gdbserver_version): Print PKGVERSION. (gdbsrever_usage): Add stream parameter. Print REPORT_BUGS_TO. (main): Adjust gdbserver_usage calls. * gdbreplay.c (version, host_name): Add declarations. (gdbreplay_version, gdbreplay_usage): New. (main): Accept --version and --help options.
2008-06-05 22:36:57 +00:00
ACX_PKGVERSION([GDB])
ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
# --------------------- #
# Checks for programs. #
# --------------------- #
1999-04-26 18:34:20 +00:00
AC_PROG_AWK
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_RANLIB
AC_PROG_YACC
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(DLLTOOL, dlltool)
AC_CHECK_TOOL(WINDRES, windres)
# Needed for GNU/Hurd.
AC_CHECK_TOOL(MIG, mig)
# ---------------------- #
# Checks for libraries. #
# ---------------------- #
# We might need to link with -lm; most simulators need it.
AC_CHECK_LIB(m, main)
# We need to link with -lw to get `wctype' on Solaris before Solaris
# 2.6. Solaris 2.6 and beyond have this function in libc, and have a
# libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
# is known to have this problem). Therefore we avoid libw if we can.
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)
# Link in zlib if we can. This allows us to read compressed debug sections.
AC_SEARCH_LIBS(zlibVersion, z, [AC_CHECK_HEADERS(zlib.h)])
# On HP/UX we may need libxpdl for dlgetmodinfo (used by solib-pa64.c).
AC_SEARCH_LIBS(dlgetmodinfo, [dl xpdl])
# On alpha-osf, it appears that libtermcap and libcurses are not compatible.
# There is a very specific comment in /usr/include/curses.h explaining that
# termcap routines built into libcurses must not be used.
#
# The symptoms we observed so far is GDB unexpectedly changing
# the terminal settings when tgetent is called - this is particularly
# visible as the output is missing carriage returns, and so rapidly
# becomes very hard to read.
#
# The readline configure script has already decided that libtermcap
# was enough for its purposes, and so decided to build readline using
# libtermcap. Since the TUI mode requires curses, building GDB with
# TUI enabled results in both libraries to be used at the same time,
# which is not allowed. This basically means that GDB with TUI is
# broken on alpha-osf.
case $host_os in
alpha*-*-osf* )
if "$enable_tui" = "yes"; then
AC_MSG_ERROR([Building GDB with TUI mode is not supported on this host])
fi
if "$enable_tui" = "auto"; then
enable_tui=no
fi
;;
esac
# Check whether we should enable the TUI, but only do so if we really
# can.
if test x"$enable_tui" != xno; then
if test -d $srcdir/tui; then
# For the TUI, we need enhanced curses functionality.
#
# FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied
# curses library because the latter might not provide all the
# functionality we need. However, this leads to problems on systems
# where the linker searches /usr/local/lib, but the compiler doesn't
# search /usr/local/include, if ncurses is installed in /usr/local. A
# default installation of ncurses on alpha*-dec-osf* will lead to such
# a situation.
AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses])
if test "$ac_cv_search_waddstr" != no; then
CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
CONFIG_ALL="${CONFIG_ALL} all-tui"
CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
else
if test x"$enable_tui" = xyes; then
AC_MSG_ERROR([no enhanced curses library found; disable TUI])
else
AC_MSG_WARN([no enhanced curses library found; disabling TUI])
fi
fi
fi
fi
# Since GDB uses Readline, we need termcap functionality. In many
# cases this will be provided by the curses library, but some systems
# have a seperate termcap library, or no curses library at all.
case $host_os in
cygwin*)
if test -d $srcdir/libtermcap; then
LIBS="../libtermcap/libtermcap.a $LIBS"
ac_cv_search_tgetent="../libtermcap/libtermcap.a"
fi ;;
go32* | *djgpp*)
ac_cv_search_tgetent="none required"
;;
*mingw32*)
ac_cv_search_tgetent="none required"
CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
;;
esac
# These are the libraries checked by Readline.
AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses])
if test "$ac_cv_search_tgetent" = no; then
AC_MSG_ERROR([no termcap library found])
fi
AC_ARG_WITH([system-readline],
[AS_HELP_STRING([--with-system-readline],
[use installed readline library])])
if test "$with_system_readline" = yes; then
READLINE=-lreadline
READLINE_DEPS=
READLINE_CFLAGS=
else
READLINE='$(READLINE_DIR)/libreadline.a'
READLINE_DEPS='$(READLINE)'
READLINE_CFLAGS='-I$(READLINE_SRC)/..'
fi
AC_SUBST(READLINE)
AC_SUBST(READLINE_DEPS)
AC_SUBST(READLINE_CFLAGS)
AC_ARG_WITH(expat,
AS_HELP_STRING([--with-expat], [include expat support (auto/yes/no)]),
[], [with_expat=auto])
AC_MSG_CHECKING([whether to use expat])
AC_MSG_RESULT([$with_expat])
if test "${with_expat}" = no; then
AC_MSG_WARN([expat support disabled; some features may be unavailable.])
HAVE_LIBEXPAT=no
else
AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
[XML_Parser p = XML_ParserCreate (0);])
if test "$HAVE_LIBEXPAT" != yes; then
if test "$with_expat" = yes; then
AC_MSG_ERROR([expat is missing or unusable])
else
AC_MSG_WARN([expat is missing or unusable; some features may be unavailable.])
fi
else
save_LIBS=$LIBS
LIBS="$LIBS $LIBEXPAT"
AC_CHECK_FUNCS(XML_StopParser)
LIBS=$save_LIBS
fi
fi
Initial python support. gdb/ 2008-08-06 Vladimir Prus <vladimir@codesourcery.com> Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Doug Evans <dje@google.com> * Makefile.in (SUBDIR_PYTHON_OBS, SUBDIR_PYTHON_SRCS, SUBDIR_PYTHON_DEPS, SUBDIR_PYTHON_LDFLAGS, SUBDIR_PYTHON_CFLAGS, PYTHON_CFLAGS): New. (python_h, python_internal_h): New. (cli-script.o): Depend on python.h (python.o, python-utils.o): New. * cli/cli-script.c (print_command_lines): Handle python_control. (execute_control_command): Handle python_control. (execute_control_command_untraced): New function. (while_command): Call execute_control_command_untraced. (if_command): Likewise. (get_command_line): Remove static attribute. (read_next_line): Handle "python". (recurse_read_control_structure): Handle python_control. (read_command_lines): Handle python_control. Include python.h. * cli/cli-script.h (get_command_line): Add prototype. (execute_control_command_untraced): Likewise. * configure.ac: Add --with-python. * defs.h (enum command_control_type) <python_control>: New constant. * python/python-internal.h: New file. * python/python.c: New file. * python/python.h: New file. * python/python-utils.c: New file. * NEWS: Mention Python scripting support and its new commands. gdb/doc/ 2008-08-06 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Extending GDB): New chapter. (Sequences): Demoted chapter, now a section under the new Extending GDB chapter. (Python): New section. gdb/testsuite/ 2008-08-06 Tom Tromey <tromey@redhat.com> * gdb.python/python.exp: New file.
2008-08-06 19:41:33 +00:00
dnl Utility to simplify finding libpython.
AC_DEFUN([AC_TRY_LIBPYTHON],
[
version=$1
define([have_libpython_var],$2)
define([VERSION],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
[HAVE_LIB]VERSION=no
AC_MSG_CHECKING([for ${version}])
save_LIBS=$LIBS
LIBS="$LIBS -l${version}"
AC_LINK_IFELSE(AC_LANG_PROGRAM([[#include "${version}/Python.h"]],
[[Py_Initialize ();]]),
[[HAVE_LIB]VERSION=yes
have_libpython_var=yes],
[LIBS=$save_LIBS])
AC_MSG_RESULT([$[HAVE_LIB]VERSION])
])
AC_ARG_WITH(python,
AS_HELP_STRING([--with-python], [include python support (auto/yes/no/<path>)]),
[], [with_python=auto])
AC_MSG_CHECKING([whether to use python])
AC_MSG_RESULT([$with_python])
if test "${with_python}" = no; then
AC_MSG_WARN([python support disabled; some features may be unavailable.])
have_libpython=no
else
case "${with_python}" in
yes | auto)
# Leave as empty, use defaults.
python_includes=
python_libs=
;;
/*)
python_includes="-I${with_python}/include"
python_libs="-L${with_python}/lib"
;;
*)
AC_ERROR(invalid value for --with-python)
;;
esac
save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS ${python_includes}"
save_LIBS=$LIBS
LIBS="$LIBS ${python_libs}"
have_libpython=no
if test "${have_libpython}" = no; then
AC_TRY_LIBPYTHON(python2.6, have_libpython)
if test "${HAVE_LIBPYTHON2_6}" = yes; then
AC_DEFINE(HAVE_LIBPYTHON2_6, 1, [Define if Python 2.6 is being used.])
fi
fi
if test ${have_libpython} = no; then
AC_TRY_LIBPYTHON(python2.5, have_libpython)
if test "${HAVE_LIBPYTHON2_5}" = yes; then
AC_DEFINE(HAVE_LIBPYTHON2_5, 1, [Define if Python 2.5 is being used.])
fi
fi
if test ${have_libpython} = no; then
AC_TRY_LIBPYTHON(python2.4, have_libpython)
if test "${HAVE_LIBPYTHON2_4}" = yes; then
AC_DEFINE(HAVE_LIBPYTHON2_4, 1, [Define if Python 2.4 is being used.])
fi
fi
if test ${have_libpython} = no; then
case "${with_python}" in
yes)
AC_MSG_ERROR([python is missing or unusable])
;;
auto)
AC_MSG_WARN([python is missing or unusable; some features may be unavailable.])
;;
*)
AC_MSG_ERROR([no usable python found at ${with_python}])
;;
esac
CPPFLAGS=$save_CPPFLAGS
LIBS=$save_LIBS
fi
fi
if test "${have_libpython}" = yes; then
AC_DEFINE(HAVE_PYTHON, 1, [Define if Python interpreter is being linked in.])
CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_PYTHON_OBS)"
CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_PYTHON_DEPS)"
CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_PYTHON_SRCS)"
ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_PYTHON_CFLAGS)"
# Flags needed to compile Python code (taken from python-config --cflags).
# We cannot call python-config directly because it will output whatever was
# used when compiling the Python interpreter itself, including flags which
# would make the python-related objects be compiled differently from the
# rest of GDB (e.g., -O2 and -fPIC).
if test "${GCC}" = yes; then
tentative_python_cflags="-fno-strict-aliasing -DNDEBUG -fwrapv"
fi
if test "x${tentative_python_cflags}" != x; then
AC_MSG_CHECKING(compiler flags for python code)
for flag in ${tentative_python_cflags}; do
# Check that the compiler accepts it
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $flag"
AC_TRY_COMPILE([],[],PYTHON_CFLAGS="${PYTHON_CFLAGS} $flag",)
CFLAGS="$saved_CFLAGS"
done
AC_MSG_RESULT(${PYTHON_CFLAGS})
fi
else
# Even if Python support is not compiled in, we need to have these files
Initial python support. gdb/ 2008-08-06 Vladimir Prus <vladimir@codesourcery.com> Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Doug Evans <dje@google.com> * Makefile.in (SUBDIR_PYTHON_OBS, SUBDIR_PYTHON_SRCS, SUBDIR_PYTHON_DEPS, SUBDIR_PYTHON_LDFLAGS, SUBDIR_PYTHON_CFLAGS, PYTHON_CFLAGS): New. (python_h, python_internal_h): New. (cli-script.o): Depend on python.h (python.o, python-utils.o): New. * cli/cli-script.c (print_command_lines): Handle python_control. (execute_control_command): Handle python_control. (execute_control_command_untraced): New function. (while_command): Call execute_control_command_untraced. (if_command): Likewise. (get_command_line): Remove static attribute. (read_next_line): Handle "python". (recurse_read_control_structure): Handle python_control. (read_command_lines): Handle python_control. Include python.h. * cli/cli-script.h (get_command_line): Add prototype. (execute_control_command_untraced): Likewise. * configure.ac: Add --with-python. * defs.h (enum command_control_type) <python_control>: New constant. * python/python-internal.h: New file. * python/python.c: New file. * python/python.h: New file. * python/python-utils.c: New file. * NEWS: Mention Python scripting support and its new commands. gdb/doc/ 2008-08-06 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Extending GDB): New chapter. (Sequences): Demoted chapter, now a section under the new Extending GDB chapter. (Python): New section. gdb/testsuite/ 2008-08-06 Tom Tromey <tromey@redhat.com> * gdb.python/python.exp: New file.
2008-08-06 19:41:33 +00:00
# included in order to recognize the GDB command "python".
CONFIG_OBS="$CONFIG_OBS python.o python-value.o"
CONFIG_SRCS="$CONFIG_SRCS python/python.c python/python-value.c"
Initial python support. gdb/ 2008-08-06 Vladimir Prus <vladimir@codesourcery.com> Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Doug Evans <dje@google.com> * Makefile.in (SUBDIR_PYTHON_OBS, SUBDIR_PYTHON_SRCS, SUBDIR_PYTHON_DEPS, SUBDIR_PYTHON_LDFLAGS, SUBDIR_PYTHON_CFLAGS, PYTHON_CFLAGS): New. (python_h, python_internal_h): New. (cli-script.o): Depend on python.h (python.o, python-utils.o): New. * cli/cli-script.c (print_command_lines): Handle python_control. (execute_control_command): Handle python_control. (execute_control_command_untraced): New function. (while_command): Call execute_control_command_untraced. (if_command): Likewise. (get_command_line): Remove static attribute. (read_next_line): Handle "python". (recurse_read_control_structure): Handle python_control. (read_command_lines): Handle python_control. Include python.h. * cli/cli-script.h (get_command_line): Add prototype. (execute_control_command_untraced): Likewise. * configure.ac: Add --with-python. * defs.h (enum command_control_type) <python_control>: New constant. * python/python-internal.h: New file. * python/python.c: New file. * python/python.h: New file. * python/python-utils.c: New file. * NEWS: Mention Python scripting support and its new commands. gdb/doc/ 2008-08-06 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Extending GDB): New chapter. (Sequences): Demoted chapter, now a section under the new Extending GDB chapter. (Python): New section. gdb/testsuite/ 2008-08-06 Tom Tromey <tromey@redhat.com> * gdb.python/python.exp: New file.
2008-08-06 19:41:33 +00:00
fi
AC_SUBST(PYTHON_CFLAGS)
# ------------------------- #
# Checks for header files. #
# ------------------------- #
AC_HEADER_DIRENT
AC_HEADER_STAT
AC_HEADER_STDC
# elf_hp.h is for HP/UX 64-bit shared library support.
# FIXME: kettenis/20030102: In most cases we include these (ctype.h, time.h)
# unconditionally, so what's the point in checking these?
AC_CHECK_HEADERS([nlist.h machine/reg.h poll.h sys/poll.h proc_service.h \
thread_db.h gnu/libc-version.h signal.h stddef.h \
stdlib.h string.h memory.h strings.h sys/fault.h \
sys/file.h sys/filio.h sys/ioctl.h sys/param.h \
sys/resource.h sys/procfs.h sys/ptrace.h ptrace.h \
sys/reg.h sys/debugreg.h sys/select.h sys/syscall.h \
sys/types.h sys/wait.h wait.h termios.h termio.h \
sgtty.h unistd.h elf_hp.h ctype.h time.h locale.h])
AC_CHECK_HEADERS(link.h, [], [],
[#if HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#if HAVE_NLIST_H
# include <nlist.h>
#endif
])
AC_CHECK_HEADERS(sys/proc.h, [], [],
[#if HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
])
AC_CHECK_HEADERS(sys/user.h, [], [],
[#if HAVE_SYS_PARAM_H
# include <sys/param.h>
#endif
])
# On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
# between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
# think that we don't have <curses.h> if we're using GCC.
case $host_os in
solaris2.[[789]])
if test "$GCC" = yes; then
AC_DEFINE(_MSE_INT_H, 1,
[Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
Solaris 2.[789] when using GCC. ])
fi ;;
esac
AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h ncurses/term.h)
AC_CHECK_HEADERS(term.h, [], [],
[#if HAVE_CURSES_H
# include <curses.h>
#endif
])
2003-06-08 Andrew Cagney <cagney@redhat.com> * acinclude.m4 (gcc_AC_CHECK_DECL, (gcc_AC_CHECK_DECL): Stolen from GCC's acinclude.m4. * configure.in: Check for getopt's delcaration. * aclocal.m4, config.in, configure: Re-generate. * main.c (error_init): Delete declaration. * defs.h (error_init): Declare. * rs6000-tdep.c (rs6000_fetch_pointer_argument): Make static. (rs6000_convert_from_func_ptr_addr): Make static. (_initialize_rs6000_tdep): Add declaration. * cli/cli-cmds.c (dont_repeat): Delete declaration. (show_commands, set_verbose, show_history): Delete declaration. * top.h (set_verbose): Add declaration. (show_history, set_history, show_commands): Add declaration. (do_restore_instream_cleanup): Add declaration. * objc-lang.c (specialcmp): Make static. (print_object_command): Make static. (find_objc_msgsend): Make static. (find_objc_msgcall_submethod_helper): Make static. (find_objc_msgcall_submethod): Make static. (_initialize_objc_language): Add declaration. (find_implementation_from_class): Make static. (find_implementation): Make static. * objc-exp.y (yylex): Delete lookup_struct_typedef declaration. * objc-lang.h (lookup_struct_typedef): Add declaration. * cli/cli-interp.c (_initialize_cli_interp): Add declaration. * cli/cli-script.c (clear_hook_in_cleanup): Make static. (do_restore_user_call_depth): Make static. (do_restore_instream_cleanup): Delete declaration. (dont_repeat): Delete declaration. * cli/cli-decode.c (add_abbrev_cmd): Delete function. * cli/cli-dump.c (_initialize_cli_dump): Add declaration. * reggroups.c (_initialize_reggroup): Add declaration. * cp-support.c (_initialize_cp_support): Add declaration. * cp-abi.c (_initialize_cp_abi): Add declaration. * hpacc-abi.c (_initialize_hpacc_abi): Add declaration. * gnu-v3-abi.c (gnuv3_baseclass_offset): Make static. (_initialize_gnu_v3_abi): Add declaration. * gnu-v2-abi.c (gnuv2_value_rtti_type): Make static. (_initialize_gnu_v2_abi): Add declaration. * frame-base.c (_initialize_frame_base): Add declaration. * doublest.c (floatformat_from_length): Make static. * frame-unwind.c (_initialize_frame_unwind): Add declaration. * frame.c (create_sentinel_frame): Make static. (_initialize_frame): Add declaration. * top.c (do_catch_errors): Make static. (gdb_rl_operate_and_get_next_completion): Make static. * typeprint.c: Include "typeprint.h". * sentinel-frame.c (sentinel_frame_prev_register): Make static. (sentinel_frame_this_id): Make static. * p-valprint.c (_initialize_pascal_valprint): Add declaration. * ui-out.c (make_cleanup_ui_out_begin_end): Delete function. * dwarf2-frame.c (dwarf2_frame_cache): Make static. * p-exp.y (push_current_type, pop_current_type): ISO C declaration. * dwarf2expr.h (dwarf_expr_context): ISO C declaration. * maint.c (maintenance_print_architecture): Make static. * signals/signals.c (_initialize_signals): Add declaration. * std-regs.c (_initialize_frame_reg): Add declaration. * jv-exp.y (push_variable): ISO C definition. (push_qualified_expression_name): Ditto. * memattr.c (_initialize_mem): Add declaration. * remote.c (remote_check_watch_resources): Make static. (remote_stopped_by_watchpoint): Make static. (remote_stopped_data_address): Make static. * d10v-tdep.c (nr_dmap_regs): Make static. (a0_regnum): Make static. (d10v_frame_unwind_cache): Make static. (d10v_frame_p): Make static. * osabi.c (show_osabi): Make static. (_initialize_gdb_osabi): Add extern declaration. * gdbtypes.c (make_qualified_type): Make static. (safe_parse_type): Make static. * macrocmd.c (_initialize_macrocmd): Add extern declaration. * macrotab.c (macro_bcache_free): Make static. * interps.c (interp_set_quiet): Make static. (interpreter_exec_cmd): Make static. * stack.h (select_frame_command): New file. * stack.c: Include "stack.h". (select_frame_command_wrapper): Delete function. (select_frame_command): Make global. * infcall.c: Include "infcall.h". * linespec.c: Include "linespec.h". * symfile.c (sections_overlap): Make static. * cp-support.h (cp_initialize_namespace): ISO C declaration. * charset.c (_initialize_charset): Add missing prototype. * regcache.c (init_legacy_regcache_descr): Make static. (do_regcache_xfree): Make static. (regcache_xfer_part): Make static. (_initialize_regcache): Add missing prototype. * breakpoint.c (parse_breakpoint_sals): Make static. (breakpoint_sals_to_pc): Make static. * interps.h (clear_interpreter_hooks): ISO C declaration. * Makefile.in (stack_h): Define. (stack.o, typeprint.o, mi-main.o): Update dependencies. (mi-cmd-stack.o, infcall.o, linespec.o): Update dependencies. Index: mi/ChangeLog 2003-06-08 Andrew Cagney <cagney@redhat.com> * mi-parse.c (_initialize_mi_parse): Delete function. * mi-main.c: Include "mi-main.h". * mi-interp.c (_initialize_mi_interp): Add declaration. * mi-cmd-stack.c: Include "stack.h". (select_frame_command_wrapper): Delete extern declaration. (mi_cmd_stack_select_frame): Replace select_frame_command_wrapper with select_frame_command.
2003-06-08 18:27:14 +00:00
# ------------------------- #
# Checks for declarations. #
# ------------------------- #
AC_CHECK_DECLS([free, malloc, realloc, strerror, strstr, getopt,
snprintf, vsnprintf])
AM_LC_MESSAGES
2003-06-08 Andrew Cagney <cagney@redhat.com> * acinclude.m4 (gcc_AC_CHECK_DECL, (gcc_AC_CHECK_DECL): Stolen from GCC's acinclude.m4. * configure.in: Check for getopt's delcaration. * aclocal.m4, config.in, configure: Re-generate. * main.c (error_init): Delete declaration. * defs.h (error_init): Declare. * rs6000-tdep.c (rs6000_fetch_pointer_argument): Make static. (rs6000_convert_from_func_ptr_addr): Make static. (_initialize_rs6000_tdep): Add declaration. * cli/cli-cmds.c (dont_repeat): Delete declaration. (show_commands, set_verbose, show_history): Delete declaration. * top.h (set_verbose): Add declaration. (show_history, set_history, show_commands): Add declaration. (do_restore_instream_cleanup): Add declaration. * objc-lang.c (specialcmp): Make static. (print_object_command): Make static. (find_objc_msgsend): Make static. (find_objc_msgcall_submethod_helper): Make static. (find_objc_msgcall_submethod): Make static. (_initialize_objc_language): Add declaration. (find_implementation_from_class): Make static. (find_implementation): Make static. * objc-exp.y (yylex): Delete lookup_struct_typedef declaration. * objc-lang.h (lookup_struct_typedef): Add declaration. * cli/cli-interp.c (_initialize_cli_interp): Add declaration. * cli/cli-script.c (clear_hook_in_cleanup): Make static. (do_restore_user_call_depth): Make static. (do_restore_instream_cleanup): Delete declaration. (dont_repeat): Delete declaration. * cli/cli-decode.c (add_abbrev_cmd): Delete function. * cli/cli-dump.c (_initialize_cli_dump): Add declaration. * reggroups.c (_initialize_reggroup): Add declaration. * cp-support.c (_initialize_cp_support): Add declaration. * cp-abi.c (_initialize_cp_abi): Add declaration. * hpacc-abi.c (_initialize_hpacc_abi): Add declaration. * gnu-v3-abi.c (gnuv3_baseclass_offset): Make static. (_initialize_gnu_v3_abi): Add declaration. * gnu-v2-abi.c (gnuv2_value_rtti_type): Make static. (_initialize_gnu_v2_abi): Add declaration. * frame-base.c (_initialize_frame_base): Add declaration. * doublest.c (floatformat_from_length): Make static. * frame-unwind.c (_initialize_frame_unwind): Add declaration. * frame.c (create_sentinel_frame): Make static. (_initialize_frame): Add declaration. * top.c (do_catch_errors): Make static. (gdb_rl_operate_and_get_next_completion): Make static. * typeprint.c: Include "typeprint.h". * sentinel-frame.c (sentinel_frame_prev_register): Make static. (sentinel_frame_this_id): Make static. * p-valprint.c (_initialize_pascal_valprint): Add declaration. * ui-out.c (make_cleanup_ui_out_begin_end): Delete function. * dwarf2-frame.c (dwarf2_frame_cache): Make static. * p-exp.y (push_current_type, pop_current_type): ISO C declaration. * dwarf2expr.h (dwarf_expr_context): ISO C declaration. * maint.c (maintenance_print_architecture): Make static. * signals/signals.c (_initialize_signals): Add declaration. * std-regs.c (_initialize_frame_reg): Add declaration. * jv-exp.y (push_variable): ISO C definition. (push_qualified_expression_name): Ditto. * memattr.c (_initialize_mem): Add declaration. * remote.c (remote_check_watch_resources): Make static. (remote_stopped_by_watchpoint): Make static. (remote_stopped_data_address): Make static. * d10v-tdep.c (nr_dmap_regs): Make static. (a0_regnum): Make static. (d10v_frame_unwind_cache): Make static. (d10v_frame_p): Make static. * osabi.c (show_osabi): Make static. (_initialize_gdb_osabi): Add extern declaration. * gdbtypes.c (make_qualified_type): Make static. (safe_parse_type): Make static. * macrocmd.c (_initialize_macrocmd): Add extern declaration. * macrotab.c (macro_bcache_free): Make static. * interps.c (interp_set_quiet): Make static. (interpreter_exec_cmd): Make static. * stack.h (select_frame_command): New file. * stack.c: Include "stack.h". (select_frame_command_wrapper): Delete function. (select_frame_command): Make global. * infcall.c: Include "infcall.h". * linespec.c: Include "linespec.h". * symfile.c (sections_overlap): Make static. * cp-support.h (cp_initialize_namespace): ISO C declaration. * charset.c (_initialize_charset): Add missing prototype. * regcache.c (init_legacy_regcache_descr): Make static. (do_regcache_xfree): Make static. (regcache_xfer_part): Make static. (_initialize_regcache): Add missing prototype. * breakpoint.c (parse_breakpoint_sals): Make static. (breakpoint_sals_to_pc): Make static. * interps.h (clear_interpreter_hooks): ISO C declaration. * Makefile.in (stack_h): Define. (stack.o, typeprint.o, mi-main.o): Update dependencies. (mi-cmd-stack.o, infcall.o, linespec.o): Update dependencies. Index: mi/ChangeLog 2003-06-08 Andrew Cagney <cagney@redhat.com> * mi-parse.c (_initialize_mi_parse): Delete function. * mi-main.c: Include "mi-main.h". * mi-interp.c (_initialize_mi_interp): Add declaration. * mi-cmd-stack.c: Include "stack.h". (select_frame_command_wrapper): Delete extern declaration. (mi_cmd_stack_select_frame): Replace select_frame_command_wrapper with select_frame_command.
2003-06-08 18:27:14 +00:00
# ----------------------- #
# Checks for structures. #
# ----------------------- #
AC_CHECK_MEMBERS([struct stat.st_blocks, struct stat.st_blksize])
# ------------------ #
# Checks for types. #
# ------------------ #
AC_TYPE_SIGNAL
AC_CHECK_TYPES(socklen_t, [], [],
[#include <sys/types.h>
#include <sys/socket.h>
])
# ------------------------------------- #
# Checks for compiler characteristics. #
# ------------------------------------- #
AC_C_CONST
AC_C_INLINE
AC_C_BIGENDIAN
# ------------------------------ #
# Checks for library functions. #
# ------------------------------ #
AC_FUNC_ALLOCA
AC_FUNC_MMAP
AC_FUNC_VFORK
AC_CHECK_FUNCS([canonicalize_file_name realpath getrusage getuid \
getgid poll pread64 sbrk setpgid setpgrp setsid \
sigaction sigprocmask sigsetmask socketpair syscall \
ttrace wborder setlocale])
# Check the return and argument types of ptrace. No canned test for
# this, so roll our own.
gdb_ptrace_headers='
#if HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#if HAVE_SYS_PTRACE_H
# include <sys/ptrace.h>
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
'
# There is no point in checking if we don't have a prototype.
AC_CHECK_DECLS(ptrace, [], [
: ${gdb_cv_func_ptrace_ret='int'}
: ${gdb_cv_func_ptrace_args='int,int,long,long'}
], $gdb_ptrace_headers)
# Check return type. Varargs (used on GNU/Linux) conflict with the
# empty argument list, so check for that explicitly.
AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
AC_TRY_COMPILE($gdb_ptrace_headers,
[extern long ptrace (enum __ptrace_request, ...);],
gdb_cv_func_ptrace_ret='long',
AC_TRY_COMPILE($gdb_ptrace_headers,
[extern int ptrace ();],
gdb_cv_func_ptrace_ret='int',
gdb_cv_func_ptrace_ret='long')))
AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
[Define as the return type of ptrace.])
# Check argument types.
AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
AC_TRY_COMPILE($gdb_ptrace_headers,
[extern long ptrace (enum __ptrace_request, ...);],
[gdb_cv_func_ptrace_args='int,int,long,long'],[
for gdb_arg1 in 'int' 'long'; do
for gdb_arg2 in 'pid_t' 'int' 'long'; do
for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long' 'void *'; do
for gdb_arg4 in 'int' 'long'; do
AC_TRY_COMPILE($gdb_ptrace_headers, [
extern $gdb_cv_func_ptrace_ret
ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
break 4;])
for gdb_arg5 in 'int *' 'int' 'long'; do
AC_TRY_COMPILE($gdb_ptrace_headers, [
extern $gdb_cv_func_ptrace_ret
ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
], [
gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
break 5;])
done
done
done
done
done
# Provide a safe default value.
: ${gdb_cv_func_ptrace_args='int,int,long,long'}
])])
ac_save_IFS=$IFS; IFS=','
set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
IFS=$ac_save_IFS
shift
AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
[Define to the type of arg 3 for ptrace.])
if test -n "$[5]"; then
AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
[Define to the type of arg 5 for ptrace.])
fi
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_FUNC_SETPGRP
else
AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
[AC_TRY_COMPILE([
#include <unistd.h>
], [
if (setpgrp(1,1) == -1)
exit (0);
else
exit (1);
], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
if test $ac_cv_func_setpgrp_void = yes; then
AC_DEFINE(SETPGRP_VOID, 1)
fi
fi
# Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
# since sigsetjmp might only be defined as a macro.
AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
[AC_TRY_COMPILE([
#include <setjmp.h>
], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
if test $gdb_cv_func_sigsetjmp = yes; then
AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
fi
# Assume we'll default to using the included libiberty regex.
gdb_use_included_regex=yes
# However, if the system regex is GNU regex, then default to *not*
# using the included regex.
AC_CACHE_CHECK(
[for GNU regex],
[gdb_cv_have_gnu_regex],
[AC_TRY_COMPILE(
[#include <gnu-versions.h>],
[#define REGEX_INTERFACE_VERSION 1
#if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
# error "Version mismatch"
#endif],
gdb_cv_have_gnu_regex=yes,
gdb_cv_have_gnu_regex=no)])
if test $gdb_cv_have_gnu_regex = yes; then
gdb_use_included_regex=no
fi
AC_ARG_WITH(included-regex,
[ --without-included-regex don't use included regex; this is the default
on systems with version 2 of the GNU C library
(use with caution on other system)],
gdb_with_regex=$withval,
gdb_with_regex=$gdb_use_included_regex)
if test "$gdb_with_regex" = yes; then
AC_DEFINE(USE_INCLUDED_REGEX, 1,
[Define to 1 if the regex included in libiberty should be used.])
fi
# Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
[#include <sys/param.h>
#include <sys/proc.h>
])
# See if <sys/lwp.h> defines `struct lwp`.
AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
[AC_TRY_COMPILE([#include <sys/param.h>
#include <sys/lwp.h>], [struct lwp l;],
gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
if test $gdb_cv_struct_lwp = yes; then
AC_DEFINE(HAVE_STRUCT_LWP, 1,
[Define to 1 if your system has struct lwp.])
fi
# See if <machine/reg.h> degines `struct reg'.
AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <machine/reg.h>], [struct reg r;],
gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
if test $gdb_cv_struct_reg = yes; then
AC_DEFINE(HAVE_STRUCT_REG, 1,
[Define to 1 if your system has struct reg in <machine/reg.h>.])
fi
# See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
[#include <machine/reg.h>])
# See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
AC_MSG_CHECKING(for PTRACE_GETREGS)
AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
[AC_TRY_COMPILE([#include <sys/ptrace.h>],
[PTRACE_GETREGS;],
[gdb_cv_have_ptrace_getregs=yes],
[gdb_cv_have_ptrace_getregs=no])])
AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
if test $gdb_cv_have_ptrace_getregs = yes; then
AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
[Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
fi
# See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
Adapt support for SSE registers in Linux/x86 for Linux 2.4. * i386-linux-nat.c: Various doc fixes. Include "i387-nat.h". (GETFPXREGS_SUPPLIES): Renamed from GETXFPREGS_SUPPLIES. (have_ptrace_getfpxregs): Renamed from have_ptrace_getxfpregs. (convert_to_gregset): Removed. Moved logic to ... (fill_gregset): ... here. Simplified function. (fetch_regs): Use perror_with_name for error reporting. (store_regs): Add `regno' parameter. Use perror_with_name for error reporting. Call fill_gregset instead of convert_to_gregset. (FPREG_ADDR): Remove. (supply_fpregset): Implement by calling i387_supply_fsave. (convert_to_fpregset): Remove. (fill_fpregset): Implement by calling i387_fill_fsave. (fetch_fpregs): Use perror_with_name fro error reporting. (store_fpregs) Add `regno' parameter. Use perror_with_name fro error reporting. Call fill_fpregset instead of convert_to_fpregset. (supply_xfpregset, convert_to_xfpregset): Removed. (supply_fpxregset, fill_fpxregset): New functions. (fetch_fpxregs): Renamed from fetch_xfpregs. Use perror_with_name for error reporting. Call supply_fpxregset instead of supply_xfpregset. (store_xfpregs): Removed. (store_fpxregs): New function. (fetch_inferior_registers): Adjust for xfp -> fpx change. Tweak message in call to internal_error. (store_inferior_registers): Adjust for xfp ->fpx change. Pass REGNO to store_regs, store_fpregs and store_fpxregs. (fetch_core_registers): Adjust for xfp -> fpx change. * acconfig.h (HAVE_PTRACE_GETFPXREGS): Renamed from HAVE_PTRACE_GETXFPREGS. * config.in: Regenerated. * configure.in: Replace check for PTRACE_GETXFPREGS with check for PTRACE_GETFPXREGS. Remove comment about Cygnus SSE extensions. * configure: Regenerated. * config/i386/linux.mh (NATDEPFILES): Add i387-nat.o. * config/i386/tm-linux.h: Base definition of HAVE_SSE_REGS on HAVE_PTRACE_GETFPXREGS instead of HAVE_PTRACE_GETXFPREGS.
2000-08-10 17:04:33 +00:00
AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
1999-11-02 04:44:47 +00:00
[AC_TRY_COMPILE([#include <sys/ptrace.h>],
Adapt support for SSE registers in Linux/x86 for Linux 2.4. * i386-linux-nat.c: Various doc fixes. Include "i387-nat.h". (GETFPXREGS_SUPPLIES): Renamed from GETXFPREGS_SUPPLIES. (have_ptrace_getfpxregs): Renamed from have_ptrace_getxfpregs. (convert_to_gregset): Removed. Moved logic to ... (fill_gregset): ... here. Simplified function. (fetch_regs): Use perror_with_name for error reporting. (store_regs): Add `regno' parameter. Use perror_with_name for error reporting. Call fill_gregset instead of convert_to_gregset. (FPREG_ADDR): Remove. (supply_fpregset): Implement by calling i387_supply_fsave. (convert_to_fpregset): Remove. (fill_fpregset): Implement by calling i387_fill_fsave. (fetch_fpregs): Use perror_with_name fro error reporting. (store_fpregs) Add `regno' parameter. Use perror_with_name fro error reporting. Call fill_fpregset instead of convert_to_fpregset. (supply_xfpregset, convert_to_xfpregset): Removed. (supply_fpxregset, fill_fpxregset): New functions. (fetch_fpxregs): Renamed from fetch_xfpregs. Use perror_with_name for error reporting. Call supply_fpxregset instead of supply_xfpregset. (store_xfpregs): Removed. (store_fpxregs): New function. (fetch_inferior_registers): Adjust for xfp -> fpx change. Tweak message in call to internal_error. (store_inferior_registers): Adjust for xfp ->fpx change. Pass REGNO to store_regs, store_fpregs and store_fpxregs. (fetch_core_registers): Adjust for xfp -> fpx change. * acconfig.h (HAVE_PTRACE_GETFPXREGS): Renamed from HAVE_PTRACE_GETXFPREGS. * config.in: Regenerated. * configure.in: Replace check for PTRACE_GETXFPREGS with check for PTRACE_GETFPXREGS. Remove comment about Cygnus SSE extensions. * configure: Regenerated. * config/i386/linux.mh (NATDEPFILES): Add i387-nat.o. * config/i386/tm-linux.h: Base definition of HAVE_SSE_REGS on HAVE_PTRACE_GETFPXREGS instead of HAVE_PTRACE_GETXFPREGS.
2000-08-10 17:04:33 +00:00
[PTRACE_GETFPXREGS;],
[gdb_cv_have_ptrace_getfpxregs=yes],
[gdb_cv_have_ptrace_getfpxregs=no])])
AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
if test $gdb_cv_have_ptrace_getfpxregs = yes; then
AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
[Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
1999-11-02 04:44:47 +00:00
fi
# See if <sys/ptrace.h> provides the PT_GETDBREGS request.
AC_MSG_CHECKING(for PT_GETDBREGS)
AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/ptrace.h>],
[PT_GETDBREGS;],
[gdb_cv_have_pt_getdbregs=yes],
[gdb_cv_have_pt_getdbregs=no])])
AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
if test $gdb_cv_have_pt_getdbregs = yes; then
AC_DEFINE(HAVE_PT_GETDBREGS, 1,
[Define if sys/ptrace.h defines the PT_GETDBREGS request.])
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, 1,
[Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
fi
# Detect which type of /proc is in use, such as for Unixware or Solaris.
if test "${target}" = "${host}"; then
case "${host}" in
*-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
AC_DEFINE(NEW_PROC_API, 1,
[Define if you want to use new multi-fd /proc interface
(replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
2000-01-06 03:07:20 +00:00
;;
*-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]]*)
AC_DEFINE(NEW_PROC_API, 1,
[Define if you want to use new multi-fd /proc interface
(replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
2000-01-06 03:07:20 +00:00
;;
mips-sgi-irix5*)
# Work around <sys/proc.h> needing _KMEMUSER problem on IRIX 5.
AC_DEFINE([_KMEMUSER], 1,
[Define to 1 so <sys/proc.h> gets a definition of anon_hdl. Works
around a <sys/proc.h> problem on IRIX 5.])
;;
esac
fi
if test "$ac_cv_header_sys_procfs_h" = yes; then
BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
2001-03-06 00:52:31 +00:00
BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
dnl Check for broken prfpregset_t type
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
2002-02-24 04:31:13 +00:00
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_CACHE_VAL(gdb_cv_prfpregset_t_broken,
[AC_TRY_RUN([#include <sys/procfs.h>
int main ()
{
if (sizeof (prfpregset_t) == sizeof (void *))
return 1;
return 0;
}],
gdb_cv_prfpregset_t_broken=no,
gdb_cv_prfpregset_t_broken=yes,
gdb_cv_prfpregset_t_broken=yes)])
AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
if test $gdb_cv_prfpregset_t_broken = yes; then
AC_DEFINE(PRFPREGSET_T_BROKEN, 1,
[Define if the prfpregset_t type is broken.])
fi
fi
dnl Check for PIOCSET ioctl entry
AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
[AC_TRY_COMPILE([#include <unistd.h>
#include <sys/types.h>
#include <sys/procfs.h>
], [
int dummy;;
dummy = ioctl(0, PIOCSET, &dummy);
],
gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
if test $gdb_cv_have_procfs_piocset = yes; then
AC_DEFINE(HAVE_PROCFS_PIOCSET, 1,
[Define if ioctl argument PIOCSET is available.])
fi
fi
dnl For native ports (host == target), check to see what kind of
dnl legacy link.h support is needed. (See solib-legacy.c.)
if test ${host} = ${target} ; then
dnl Check for struct link_map with l_ members which are indicative
dnl of SVR4-like shared libraries
AC_MSG_CHECKING(for member l_addr in struct link_map)
AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
[AC_TRY_COMPILE([#include <link.h>],
[struct link_map lm; (void) lm.l_addr;],
gdb_cv_have_struct_link_map_with_l_members=yes,
gdb_cv_have_struct_link_map_with_l_members=no)])
AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS,1,
[Define if <link.h> exists and defines struct link_map which has
members with an ``l_'' prefix. (For Solaris, SVR4, and
SVR4-like systems.)])
fi
dnl Check for struct link_map with lm_ members which are indicative
dnl of SunOS-like shared libraries
AC_MSG_CHECKING(for member lm_addr in struct link_map)
AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <link.h>],
[struct link_map lm; (void) lm.lm_addr;],
gdb_cv_have_struct_link_map_with_lm_members=yes,
gdb_cv_have_struct_link_map_with_lm_members=no)])
AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS, 1,
[Define if <link.h> exists and defines struct link_map which has
members with an ``lm_'' prefix. (For SunOS.)])
fi
dnl Check for struct so_map with som_ members which are found on
dnl some *BSD systems.
AC_MSG_CHECKING(for member som_addr in struct so_map)
AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
[AC_TRY_COMPILE([#include <sys/types.h>
#ifdef HAVE_NLIST_H
#include <nlist.h>
#endif
#include <link.h>],
[struct so_map lm; (void) lm.som_addr;],
gdb_cv_have_struct_so_map_with_som_members=yes,
gdb_cv_have_struct_so_map_with_som_members=no)])
AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS, 1,
[Define if <link.h> exists and defines a struct so_map which has
members with an ``som_'' prefix. (Found on older *BSD systems.)])
fi
dnl Check for struct link_map32 type, which allows a 64-bit Solaris
dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
[AC_TRY_COMPILE([#define _SYSCALL32
#include <sys/link.h>], [struct link_map32 l;],
gdb_cv_have_struct_link_map32=yes,
gdb_cv_have_struct_link_map32=no)])
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, 1,
[Define if <sys/link.h> has struct link_map32])
AC_DEFINE(_SYSCALL32, 1,
[Define if <sys/link.h> has link_map32 (solaris sparc-64 target)])
fi
fi
# Check if the compiler supports the `long long' type.
AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[extern long long foo;]],
[[switch (foo & 2) { case 0: return 1; }]])],
gdb_cv_c_long_long=yes,
gdb_cv_c_long_long=no)])
if test $gdb_cv_c_long_long = yes; then
AC_DEFINE(CC_HAS_LONG_LONG, 1,
[Define to 1 if the compiler supports long long.])
fi
# Check if the compiler and runtime support printing long longs.
AC_CACHE_CHECK([for long long support in printf],
gdb_cv_printf_has_long_long,
[AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
[[char buf[32];
long long l = 0;
l = (l << 16) + 0x0123;
l = (l << 16) + 0x4567;
l = (l << 16) + 0x89ab;
l = (l << 16) + 0xcdef;
sprintf (buf, "0x%016llx", l);
return (strcmp ("0x0123456789abcdef", buf));]])],
gdb_cv_printf_has_long_long=yes,
gdb_cv_printf_has_long_long=no,
gdb_cv_printf_has_long_long=no)])
if test $gdb_cv_printf_has_long_long = yes; then
AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
[Define to 1 if the "%ll" format works to print long longs.])
fi
# Check if the compiler and runtime support printing decfloats.
AC_CACHE_CHECK([for decfloat support in printf],
gdb_cv_printf_has_decfloat,
[AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
[[char buf[64];
_Decimal32 d32 = 1.2345df;
_Decimal64 d64 = 1.2345dd;
_Decimal128 d128 = 1.2345dl;
sprintf (buf, "Decimal32: %H\nDecimal64: %D\nDecimal128: %DD", d32, d64, d128);
return (strcmp ("Decimal32: 1.2345\nDecimal64: 1.2345\nDecimal128: 1.2345", buf));]])],
gdb_cv_printf_has_decfloat=yes,
gdb_cv_printf_has_decfloat=no,
gdb_cv_printf_has_decfloat=no)])
if test $gdb_cv_printf_has_decfloat = yes; then
AC_DEFINE(PRINTF_HAS_DECFLOAT, 1,
[Define to 1 if the "%H, %D and %DD" formats work to print decfloats.])
fi
# Check if the compiler supports the `long double' type. We can't use
# AC_C_LONG_DOUBLE because that one does additional checks on the
# constants defined in <float.h> that fail on some systems,
# e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
gdb_cv_c_long_double=yes,
gdb_cv_c_long_double=no)])
if test $gdb_cv_c_long_double = yes; then
AC_DEFINE(HAVE_LONG_DOUBLE, 1,
[Define to 1 if the compiler supports long double.])
fi
# Check if the compiler and runtime support printing long doubles.
AC_CACHE_CHECK([for long double support in printf],
gdb_cv_printf_has_long_double,
[AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
[[char buf[16];
long double f = 3.141592653;
sprintf (buf, "%Lg", f);
return (strncmp ("3.14159", buf, 7));]])],
gdb_cv_printf_has_long_double=yes,
gdb_cv_printf_has_long_double=no,
gdb_cv_printf_has_long_double=no)])
if test $gdb_cv_printf_has_long_double = yes; then
AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
[Define to 1 if the "%Lg" format works to print long doubles.])
fi
# Check if the compiler and runtime support scanning long doubles.
AC_CACHE_CHECK([for long double support in scanf],
gdb_cv_scanf_has_long_double,
[AC_RUN_IFELSE([AC_LANG_PROGRAM(
[[#include <stdio.h>]],
[[char *buf = "3.141592653";
long double f = 0;
sscanf (buf, "%Lg", &f);
return !(f > 3.14159 && f < 3.14160);]])],
gdb_cv_scanf_has_long_double=yes,
gdb_cv_scanf_has_long_double=no,
gdb_cv_scanf_has_long_double=no)])
if test $gdb_cv_scanf_has_long_double = yes; then
AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
[Define to 1 if the "%Lg" format works to scan long doubles.])
fi
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=])
LDFLAGS="${SAVE_LDFLAGS}"
])
CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
;;
esac
dnl For certain native configurations, we need to check whether thread
dnl support can be built in or not.
dnl
dnl Note that we only want this if we are both native (host == target),
dnl and not doing a canadian cross build (build == host).
if test ${build} = ${host} -a ${host} = ${target} ; then
case ${host_os} in
hpux*)
AC_MSG_CHECKING(for HPUX/OSF thread support)
if test -f /usr/include/dce/cma_config.h ; then
if test "$GCC" = "yes" ; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT, 1,
[Define if you have HPUX threads])
CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
else
AC_MSG_RESULT(no (suppressed because you are not using GCC))
fi
else
AC_MSG_RESULT(no)
fi
;;
solaris*)
# See if thread_db library is around for Solaris thread debugging.
# Note that we must explicitly test for version 1 of the library
# because version 0 (present on Solaris 2.4 or earlier) doesn't have
# the same API.
AC_MSG_CHECKING(for Solaris thread debugging library)
if test -f /usr/lib/libthread_db.so.1 ; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_THREAD_DB_LIB, 1,
[Define if using Solaris thread debugging.])
CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
AC_CHECK_LIB(dl, dlopen)
if test "$GCC" = "yes" ; then
# The GNU linker requires the -export-dynamic option to make
# all symbols visible in the dynamic symbol table.
hold_ldflags=$LDFLAGS
AC_MSG_CHECKING(for the ld -export-dynamic flag)
LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
AC_TRY_LINK(, [int i;], found=yes, found=no)
LDFLAGS=$hold_ldflags
AC_MSG_RESULT($found)
if test $found = yes; then
CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
fi
fi
# Sun randomly tweaked the prototypes in <proc_service.h>
# at one point.
AC_MSG_CHECKING(if <proc_service.h> is old)
AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
AC_TRY_COMPILE([
#include <proc_service.h>
ps_err_e ps_pdwrite
(struct ps_prochandle*, psaddr_t, const void*, size_t);
],, gdb_cv_proc_service_is_old=no,
gdb_cv_proc_service_is_old=yes)
])
AC_MSG_RESULT($gdb_cv_proc_service_is_old)
if test $gdb_cv_proc_service_is_old = yes; then
AC_DEFINE(PROC_SERVICE_IS_OLD, 1,
[Define if <proc_service.h> on solaris uses int instead of
size_t, and assorted other type changes.])
fi
else
AC_MSG_RESULT(no)
fi
;;
aix*)
AC_MSG_CHECKING(for AiX thread debugging library)
AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
[AC_TRY_COMPILE([#include <sys/pthdebug.h>],
[#ifndef PTHDB_VERSION_3
#error
#endif],
gdb_cv_have_aix_thread_debug=yes,
gdb_cv_have_aix_thread_debug=no)])
AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
if test $gdb_cv_have_aix_thread_debug = yes; then
CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
fi
;;
esac
AC_SUBST(CONFIG_LDFLAGS)
fi
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,
AC_TRY_COMPILE(
[#include <thread_db.h>],
[int i = TD_NOTALLOC;],
gdb_cv_thread_db_h_has_td_notalloc=yes,
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
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 you support the tkill syscall.])
fi
dnl Check if we can disable the virtual address space randomization.
dnl The functionality of setarch -R.
AC_CHECK_DECLS([ADDR_NO_RANDOMIZE],,, [#include <sys/personality.h>])
define([PERSONALITY_TEST], [AC_LANG_PROGRAM([#include <sys/personality.h>], [
# if !HAVE_DECL_ADDR_NO_RANDOMIZE
# define ADDR_NO_RANDOMIZE 0x0040000
# endif
/* Test the flag could be set and stays set. */
personality (personality (0xffffffff) | ADDR_NO_RANDOMIZE);
if (!(personality (personality (0xffffffff)) & ADDR_NO_RANDOMIZE))
return 1])])
AC_RUN_IFELSE([PERSONALITY_TEST],
[have_personality=true],
[have_personality=false],
[AC_LINK_IFELSE([PERSONALITY_TEST],
[have_personality=true],
[have_personality=false])])
if $have_personality
then
AC_DEFINE([HAVE_PERSONALITY], 1,
[Define if you support the personality 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) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
*) TARGET_SYSTEM_ROOT=$with_sysroot ;;
esac
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
if test "x$prefix" = xNONE; then
test_prefix=/usr/local
else
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"
;;
esac
], [
TARGET_SYSTEM_ROOT=
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
])
AC_SUBST(TARGET_SYSTEM_ROOT)
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
system_gdbinit=
AC_ARG_WITH(system-gdbinit,
[ --with-system-gdbinit=file Automatically load a system-wide gdbinit file],
[system_gdbinit=${withval}])
AC_DEFINE_DIR(SYSTEM_GDBINIT, system_gdbinit,
[System-wide gdbinit file.])
if test "x$prefix" = xNONE; then
test_prefix=$ac_default_prefix
else
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 ${system_gdbinit} in
"${test_prefix}"|"${test_prefix}/"*|\
"${test_exec_prefix}"|"${test_exec_prefix}/"*|\
'${prefix}'|'${prefix}/'*|\
'${exec_prefix}'|'${exec_prefix}/'*)
AC_DEFINE(SYSTEM_GDBINIT_RELOCATABLE, 1,
[Define if the system-wide gdbinit file should be relocated when GDB is moved.])
;;
esac
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
# 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"
# Enable -Wno-format by default when using gcc on mingw since many
# GCC versions complain about %I64.
case "${host}" in
*-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;;
esac
AC_ARG_ENABLE(build-warnings,
[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
[case "${enableval}" in
yes) ;;
no) build_warnings="-w";;
,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
build_warnings="${build_warnings} ${t}";;
*,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
build_warnings="${t} ${build_warnings}";;
*) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1999-09-09 00:02:17 +00:00
esac
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
2000-05-12 04:37:00 +00:00
echo "Setting compiler warning flags = $build_warnings" 6>&1
fi])dnl
AC_ARG_ENABLE(gdb-build-warnings,
[ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
[case "${enableval}" in
yes) ;;
no) build_warnings="-w";;
,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
build_warnings="${build_warnings} ${t}";;
*,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
build_warnings="${t} ${build_warnings}";;
*) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
esac
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
fi])dnl
1999-08-31 01:14:27 +00:00
WARN_CFLAGS=""
if test "x${build_warnings}" != x -a "x$GCC" = xyes
then
2000-05-12 04:37:00 +00:00
AC_MSG_CHECKING(compiler warning flags)
# Separate out the -Werror flag as some files just cannot be
# compiled with it enabled.
for w in ${build_warnings}; do
case $w in
-Werr*) WERROR_CFLAGS=-Werror ;;
*) # Check that GCC accepts it
2001-10-31 01:57:04 +00:00
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $w"
AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
CFLAGS="$saved_CFLAGS"
2000-05-12 04:37:00 +00:00
esac
done
AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
fi
AC_SUBST(WARN_CFLAGS)
1999-08-31 01:14:27 +00:00
AC_SUBST(WERROR_CFLAGS)
1999-04-26 18:34:20 +00:00
# In the Cygwin environment, we need some additional flags.
AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
[AC_EGREP_CPP(lose, [
#if defined (__CYGWIN__) || defined (__CYGWIN32__)
lose
#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
dnl Figure out which of the many generic ser-*.c files the _host_ supports.
* Makefile.in (SFILES): Add ser-base.c. (ser_base_h): New variable. (ser-base.o): New target. (ser-pipe.o): Depend on $(ser_base_h). (ser-tcp.o): Likewise. (ser-unix.o): Likewise. Do not depend on $(event_loop_h). * configure.ac (SER_HARDWIRE): Include ser-base.o where appropriate. * ser-base.c: New file. (push_event): Move from ser-unix.c. (fd_event): Likewise. (reschedule): Likewise. (ser_unix_write): Likewise. (ser_unix_nop_flush_output): Likewise. (ser_unix_flush_input): Likewise. (ser_unix_nop_send_break): Likewise. (ser_unix_nop_drain_output): Likewise. (ser_unix_nop_raw): Likewise. (ser_unix_nop_get_tty_state): Likewise. (ser_unix_nop_set_tty_state): Likewise. (ser_unix_nop_noflush_set_tty_state): Likewise. (ser_unix_nop_print_tty_state): Likewise. (ser_unix_nop_setbaudrate): Likewise. (ser_unix_nop_setstopbits): Likewise. (ser_unix_async): Likewise. * ser-base.h: New file. * ser-pipe.c (ser-base.h): Include it. * ser-tcp.c (ser-base.h): Likewise. * ser-unix.h (ser_unix_nop_flush_output): Remove. (ser_unix_flush_input): Likewise. (ser_unix_nop_send_break): Likewise. (ser_unix_nop_raw): Likewise. (ser_unix_nop_get_tty_state): Likewise. (ser_unix_nop_set_tty_state): Likewise. (ser_unix_nop_print_tty_state): Likewise. (ser_unix_nop_noflush_set_tty_state): Likewise. (ser_unix_nop_setbaudrate): Likewise. (ser_unix_nop_setstopbits): Likewise. (ser_unix_nop_drain_output): Likewise. (ser_unix_wait_for): Likewise. (ser_unix_write): Likewise. (ser_unix_async): Likewise. * ser-unix.c (event-loop.h): Do not include it. (push_event): Move to ser-base.c. (fd_event): Likewise. (reschedule): Likewise. (ser_unix_write): Likewise. (ser_unix_nop_flush_output): Likewise. (ser_unix_flush_input): Likewise. (ser_unix_nop_send_break): Likewise. (ser_unix_nop_drain_output): Likewise. (ser_unix_nop_raw): Likewise. (ser_unix_nop_get_tty_state): Likewise. (ser_unix_nop_set_tty_state): Likewise. (ser_unix_nop_noflush_set_tty_state): Likewise. (ser_unix_nop_print_tty_state): Likewise. (ser_unix_nop_setbaudrate): Likewise. (ser_unix_nop_setstopbits): Likewise. (ser_unix_async): Likewise. (ser_unix_wait_for): Make it static. * configure: Regenerated.
2005-03-25 19:47:23 +00:00
SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
case ${host} in
*go32* ) SER_HARDWIRE=ser-go32.o ;;
*djgpp* ) SER_HARDWIRE=ser-go32.o ;;
* NEWS: Mention native Windows support. * Makefile.in (gdb_select_h, ser_tcp_h): New. (ALLDEPFILES): Add ser-mingw.c. (event-loop.o, inflow.o, mingw-hdep.o, posix-hdep.o, ser-base.o) (ser-tcp.o, ser-unix.o): Update. (ser-mingw.o): New rule. * configure: Regenerated. * configure.ac: Add ser-mingw.o for mingw32. * ser-mingw.c: New file. * event-loop.c: Include "gdb_select.h". (gdb_select): Remove, moved to mingw-hdep.c and posix-hdep.c. * ser-base.c: Include "gdb_select.h". (ser_base_wait_for): Use gdb_select. * serial.c (serial_for_fd): New function. (serial_fdopen): Try "terminal" before "hardwire". Initialize the allocated struct serial. (serial_wait_handle): New function. * serial.h (serial_for_fd, serial_wait_handle): New prototypes. (struct serial_ops) [USE_WIN32API]: Add wait_handle. * gdb_select.h: New file. * ser-tcp.c: Include "ser-tcp.h". Remove unused "ser-unix.h" include. (net_close, net_read_prim, net_write_prim): Make global. (net_open): Likewise. Pass an exception set to select. Whitespace fix. Document why we can not use gdb_select. (_initialize_ser_tcp) [USE_WIN32API]: Do not register TCP support here. * ser-tcp.h: New file. * inflow.c (gdb_has_a_terminal): Don't initialize stdin_serial here. (handle_sigio): Use gdb_select. (initialize_stdin_serial): New function. * terminal.h (initialize_stdin_serial): New prototype. * top.c (gdb_init): Call initialize_stdin_serial. * mingw-hdep.c (gdb_select): New function, moved from gdb_select in event-loop.c. Add exception condition support. Use serial_for_fd and serial_wait_handle. Fix timeout handling. * posix-hdep.c: Include "gdb_select.h". (gdb_select): New function. * remote-st.c (connect_command): Use gdb_select. * ser-unix.c: Include "gdb_select.h". (hardwire_send_break, wait_for): Use gdb_select.
2006-02-10 22:01:43 +00:00
*mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
esac
AC_SUBST(SER_HARDWIRE)
1999-05-11 13:35:55 +00:00
# libreadline needs libuser32.a in a cygwin environment
WIN32LIBS=
if test x$gdb_cv_os_cygwin = xyes; then
2000-01-18 00:55:13 +00:00
WIN32LIBS="-luser32"
case "${target}" in
*cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
;;
esac
1999-05-11 13:35:55 +00:00
fi
# The ser-tcp.c module requires sockets.
case ${host} in
*mingw32*)
AC_DEFINE(USE_WIN32API, 1,
[Define if we should use the Windows API, instead of the
POSIX API. On Windows, we use the Windows API when
building for MinGW, but the POSIX API when building
for Cygwin.])
WIN32LIBS="$WIN32LIBS -lws2_32"
;;
esac
1999-05-11 13:35:55 +00:00
AC_SUBST(WIN32LIBS)
1999-04-26 18:34:20 +00:00
2007-06-18 15:46:38 +00:00
# Add ELF support to GDB, but only if BFD includes ELF support.
OLD_CFLAGS=$CFLAGS
OLD_LDFLAGS=$LDFLAGS
OLD_LIBS=$LIBS
CFLAGS="$CFLAGS -I${srcdir}/../include -I../bfd -I${srcdir}/../bfd"
2007-06-18 15:46:38 +00:00
LDFLAGS="$LDFLAGS -L../bfd -L../libiberty"
intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
LIBS="-lbfd -liberty $intl $LIBS"
2007-06-18 15:46:38 +00:00
AC_CACHE_CHECK([for ELF support in BFD], gdb_cv_var_elf,
[AC_TRY_LINK(
[#include <stdlib.h>
#include "bfd.h"
#include "elf-bfd.h"
],
[bfd *abfd = NULL; bfd_get_elf_phdr_upper_bound (abfd); ],
gdb_cv_var_elf=yes, gdb_cv_var_elf=no)])
if test $gdb_cv_var_elf = yes; then
CONFIG_OBS="$CONFIG_OBS elfread.o"
AC_DEFINE(HAVE_ELF, 1,
[Define if ELF support should be included.])
fi
CFLAGS=$OLD_CFLAGS
LDFLAGS=$OLD_LDFLAGS
LIBS=$OLD_LIBS
# 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(GUI_CFLAGS_X)
1999-04-26 18:34:20 +00:00
WIN32LDAPP=
AC_SUBST(WIN32LIBS)
AC_SUBST(WIN32LDAPP)
case "${host}" in
*-*-cygwin* | *-*-mingw* )
configdir="win"
;;
*)
configdir="unix"
;;
esac
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
SC_PATH_TCLCONFIG
# If $no_tk is nonempty, then we can't do Tk, and there is no
# point to doing Tcl.
SC_PATH_TKCONFIG
if test -z "${no_tcl}" -a -z "${no_tk}"; then
SC_LOAD_TCLCONFIG
# Check for in-tree tcl
here=`pwd`
cd ${srcdir}/..
topdir=`pwd`
cd ${here}
intree="no"
if test "${TCL_SRC_DIR}" = "${topdir}/tcl"; then
intree="yes"
fi
# Find Tcl private headers
if test x"${intree}" = xno; then
CY_AC_TCL_PRIVATE_HEADERS
TCL_INCLUDE="${TCL_INCLUDE_SPEC} ${TCL_PRIVATE_INCLUDE}"
TCL_LIBRARY="${TCL_LIB_SPEC}"
TCL_DEPS=""
else
# If building tcl in the same src tree, private headers
# are not needed, but we need to be sure to use the right
# headers library
TCL_INCLUDE="-I${TCL_SRC_DIR}/generic"
TCL_LIBRARY="${TCL_BUILD_LIB_SPEC}"
TCL_DEPS="../tcl/${configdir}${TCL_LIB_FILE}"
fi
AC_SUBST(TCL_INCLUDE)
AC_SUBST(TCL_LIBRARY)
AC_SUBST(TCL_DEPS)
2001-07-27 16:35:27 +00:00
SC_LOAD_TKCONFIG
# Check for in-tree Tk
intree="no"
if test "${TK_SRC_DIR}" = "${topdir}/tk"; then
intree="yes"
fi
# Find Tk private headers
if test x"${intree}" = xno; then
CY_AC_TK_PRIVATE_HEADERS
TK_INCLUDE="${TK_INCLUDE_SPEC} ${TK_PRIVATE_INCLUDE}"
TK_LIBRARY=${TK_LIB_SPEC}
TK_DEPS=""
else
TK_INCLUDE="-I${TK_SRC_DIR}/generic"
TK_LIBRARY="${TK_BUILD_LIB_SPEC}"
TK_DEPS="../tk/${configdir}/${TK_LIB_FILE}"
fi
AC_SUBST(TK_INCLUDE)
AC_SUBST(TK_LIBRARY)
AC_SUBST(TK_DEPS)
AC_SUBST(TK_XINCLUDES)
ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
# Include some libraries that Tcl and Tk want.
TCL_LIBS='$(LIBGUI) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
# Yes, the ordering seems wrong here. But it isn't.
# TK_LIBS is the list of libraries that need to be linked
# after Tcl/Tk. Note that this isn't put into LIBS. If it
# were in LIBS then any link tests after this point would
# try to include things like `$(LIBGUI)', which wouldn't work.
GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
if test x$gdb_cv_os_cygwin = xyes; then
WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
WIN32LDAPP="-Wl,--subsystem,console"
CONFIG_OBS="${CONFIG_OBS} gdbres.o"
fi
AC_CONFIG_SUBDIRS(gdbtk)
fi
fi
AC_SUBST(X_CFLAGS)
AC_SUBST(X_LDFLAGS)
AC_SUBST(X_LIBS)
AC_SUBST(GDBTKLIBS)
AC_SUBST(GDBTK_CFLAGS)
AC_SUBST(GDBTK_SRC_DIR)
2000-02-03 04:14:45 +00:00
AC_PATH_X
1999-04-26 18:34:20 +00:00
# Unlike the sim directory, whether a simulator is linked is controlled by
* config/arm/embed.mt (SIM_OBS, SIM): Remove. * config/avr/avr.mt (SIM_OBS, SIM): Remove. * config/frv/frv.mt (SIM_OBS, SIM): Remove. * config/h8300/h8300.mt (SIM_OBS, SIM): Remove. * config/iq2000/iq2000.mt (SIM_OBS, SIM): Remove. * config/m32c/m32c.mt (SIM_OBS, SIM): Remove. * config/m32r/linux.mt (SIM_OBS, SIM): Remove. * config/m32r/m32r.mt (SIM_OBS, SIM): Remove. * config/m68hc11/m68hc11.mt (SIM_OBS, SIM): Remove. * config/mips/embed.mt (SIM_OBS, SIM): Remove. * config/mips/linux.mt (SIM_OBS, SIM): Remove. * config/mips/nbsd.mt (SIM_OBS, SIM): Remove. * config/mn10300/mn10300.mt (SIM_OBS, SIM): Remove. * config/powerpc/linux.mt (SIM_OBS, SIM): Remove. * config/powerpc/nbsd.mt (SIM_OBS, SIM): Remove. * config/powerpc/ppc-sim.mt: Remove file. * config/sh/embed.mt (SIM_OBS, SIM): Remove. * config/sh/linux.mt (SIM_OBS, SIM): Remove. * config/sh/nbsd.mt (SIM_OBS, SIM): Remove. * config/sh/sh64.mt (SIM_OBS, SIM): Remove. * config/sparc/embed.mt (SIM_OBS, SIM): Remove. * config/v850/v850.mt (SIM_OBS, SIM): Remove. * config/xstormy16/xstormy16.mt (SIM_OBS, SIM): Remove. * configure.tgt (gdb_sim): Document variable. (arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*): Set it. (avr-*-*): Likewise. (frv-*-*): Likewise. (h8300-*-*): Likewise. (iq2000-*-*): Likewise. (m32c-*-*): Likewise. (m32r*-*-linux*): Likewise. (m32r*-*-*): Likewise. (m68hc11*-*-*|m6811*-*-*): Likewise. (mips*-*-*): Likewise. (mips*-*-linux*): Likewise. (mips*-*-netbsd* | mips*-*-knetbsd*-gnu): Likewise. (mn10300-*-*): Likewise. (powerpc-*-linux* | powerpc64-*-linux*): Likewise. (powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu): Likewise. (powerpc*-*-*): Use ppc-eabi target. Conditionally set gdb_sim. (sh*): Set gdb_sim. (sh-*-linux*): Likewise. (sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu): Likewise. (sh64-*-elf*): Likewise. (sparc-*-rtems*): Likewise. (v850*-*-elf): Likewise. (xstormy16-*-*): Likewise. * configure.ac (IGNORE_SIM, IGNORE_SIM_OBS): Do not set. (SIM, SIM_OBS): Set depending on ${ignore_sim} and ${gdb_sim}. * configure: Regenerate. * Makefile.in (SIM, SIM_OBS): Substitute from configure. (@IGNORE_SIM@, @IGNORE_SIM_OBS@): Remove.
2007-11-17 00:44:38 +00:00
# presence of a gdb_sim definition in the target configure.tgt entry.
1999-04-26 18:34:20 +00:00
# This code just checks for a few cases where we'd like to ignore those
# definitions, even when they're present in the '.mt' file. These cases
# are when --disable-sim is specified, or if the simulator directory is
# not part of the source tree.
1999-04-26 18:34:20 +00:00
#
AC_ARG_ENABLE(sim,
[ --enable-sim Link gdb with simulator],
[echo "enable_sim = $enable_sim";
echo "enableval = ${enableval}";
case "${enableval}" in
yes) ignore_sim=false ;;
no) ignore_sim=true ;;
*) ignore_sim=false ;;
esac],
[ignore_sim=false])
if test ! -d "${srcdir}/../sim"; then
ignore_sim=true
fi
* config/arm/embed.mt (SIM_OBS, SIM): Remove. * config/avr/avr.mt (SIM_OBS, SIM): Remove. * config/frv/frv.mt (SIM_OBS, SIM): Remove. * config/h8300/h8300.mt (SIM_OBS, SIM): Remove. * config/iq2000/iq2000.mt (SIM_OBS, SIM): Remove. * config/m32c/m32c.mt (SIM_OBS, SIM): Remove. * config/m32r/linux.mt (SIM_OBS, SIM): Remove. * config/m32r/m32r.mt (SIM_OBS, SIM): Remove. * config/m68hc11/m68hc11.mt (SIM_OBS, SIM): Remove. * config/mips/embed.mt (SIM_OBS, SIM): Remove. * config/mips/linux.mt (SIM_OBS, SIM): Remove. * config/mips/nbsd.mt (SIM_OBS, SIM): Remove. * config/mn10300/mn10300.mt (SIM_OBS, SIM): Remove. * config/powerpc/linux.mt (SIM_OBS, SIM): Remove. * config/powerpc/nbsd.mt (SIM_OBS, SIM): Remove. * config/powerpc/ppc-sim.mt: Remove file. * config/sh/embed.mt (SIM_OBS, SIM): Remove. * config/sh/linux.mt (SIM_OBS, SIM): Remove. * config/sh/nbsd.mt (SIM_OBS, SIM): Remove. * config/sh/sh64.mt (SIM_OBS, SIM): Remove. * config/sparc/embed.mt (SIM_OBS, SIM): Remove. * config/v850/v850.mt (SIM_OBS, SIM): Remove. * config/xstormy16/xstormy16.mt (SIM_OBS, SIM): Remove. * configure.tgt (gdb_sim): Document variable. (arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*): Set it. (avr-*-*): Likewise. (frv-*-*): Likewise. (h8300-*-*): Likewise. (iq2000-*-*): Likewise. (m32c-*-*): Likewise. (m32r*-*-linux*): Likewise. (m32r*-*-*): Likewise. (m68hc11*-*-*|m6811*-*-*): Likewise. (mips*-*-*): Likewise. (mips*-*-linux*): Likewise. (mips*-*-netbsd* | mips*-*-knetbsd*-gnu): Likewise. (mn10300-*-*): Likewise. (powerpc-*-linux* | powerpc64-*-linux*): Likewise. (powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu): Likewise. (powerpc*-*-*): Use ppc-eabi target. Conditionally set gdb_sim. (sh*): Set gdb_sim. (sh-*-linux*): Likewise. (sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu): Likewise. (sh64-*-elf*): Likewise. (sparc-*-rtems*): Likewise. (v850*-*-elf): Likewise. (xstormy16-*-*): Likewise. * configure.ac (IGNORE_SIM, IGNORE_SIM_OBS): Do not set. (SIM, SIM_OBS): Set depending on ${ignore_sim} and ${gdb_sim}. * configure: Regenerate. * Makefile.in (SIM, SIM_OBS): Substitute from configure. (@IGNORE_SIM@, @IGNORE_SIM_OBS@): Remove.
2007-11-17 00:44:38 +00:00
SIM=
SIM_OBS=
if test "${ignore_sim}" = "false"; then
if test x"${gdb_sim}" != x ; then
SIM="${gdb_sim}"
SIM_OBS="remote-sim.o"
AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
* config/arm/embed.mt (SIM_OBS, SIM): Remove. * config/avr/avr.mt (SIM_OBS, SIM): Remove. * config/frv/frv.mt (SIM_OBS, SIM): Remove. * config/h8300/h8300.mt (SIM_OBS, SIM): Remove. * config/iq2000/iq2000.mt (SIM_OBS, SIM): Remove. * config/m32c/m32c.mt (SIM_OBS, SIM): Remove. * config/m32r/linux.mt (SIM_OBS, SIM): Remove. * config/m32r/m32r.mt (SIM_OBS, SIM): Remove. * config/m68hc11/m68hc11.mt (SIM_OBS, SIM): Remove. * config/mips/embed.mt (SIM_OBS, SIM): Remove. * config/mips/linux.mt (SIM_OBS, SIM): Remove. * config/mips/nbsd.mt (SIM_OBS, SIM): Remove. * config/mn10300/mn10300.mt (SIM_OBS, SIM): Remove. * config/powerpc/linux.mt (SIM_OBS, SIM): Remove. * config/powerpc/nbsd.mt (SIM_OBS, SIM): Remove. * config/powerpc/ppc-sim.mt: Remove file. * config/sh/embed.mt (SIM_OBS, SIM): Remove. * config/sh/linux.mt (SIM_OBS, SIM): Remove. * config/sh/nbsd.mt (SIM_OBS, SIM): Remove. * config/sh/sh64.mt (SIM_OBS, SIM): Remove. * config/sparc/embed.mt (SIM_OBS, SIM): Remove. * config/v850/v850.mt (SIM_OBS, SIM): Remove. * config/xstormy16/xstormy16.mt (SIM_OBS, SIM): Remove. * configure.tgt (gdb_sim): Document variable. (arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*): Set it. (avr-*-*): Likewise. (frv-*-*): Likewise. (h8300-*-*): Likewise. (iq2000-*-*): Likewise. (m32c-*-*): Likewise. (m32r*-*-linux*): Likewise. (m32r*-*-*): Likewise. (m68hc11*-*-*|m6811*-*-*): Likewise. (mips*-*-*): Likewise. (mips*-*-linux*): Likewise. (mips*-*-netbsd* | mips*-*-knetbsd*-gnu): Likewise. (mn10300-*-*): Likewise. (powerpc-*-linux* | powerpc64-*-linux*): Likewise. (powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu): Likewise. (powerpc*-*-*): Use ppc-eabi target. Conditionally set gdb_sim. (sh*): Set gdb_sim. (sh-*-linux*): Likewise. (sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu): Likewise. (sh64-*-elf*): Likewise. (sparc-*-rtems*): Likewise. (v850*-*-elf): Likewise. (xstormy16-*-*): Likewise. * configure.ac (IGNORE_SIM, IGNORE_SIM_OBS): Do not set. (SIM, SIM_OBS): Set depending on ${ignore_sim} and ${gdb_sim}. * configure: Regenerate. * Makefile.in (SIM, SIM_OBS): Substitute from configure. (@IGNORE_SIM@, @IGNORE_SIM_OBS@): Remove.
2007-11-17 00:44:38 +00:00
fi
1999-04-26 18:34:20 +00:00
fi
* config/arm/embed.mt (SIM_OBS, SIM): Remove. * config/avr/avr.mt (SIM_OBS, SIM): Remove. * config/frv/frv.mt (SIM_OBS, SIM): Remove. * config/h8300/h8300.mt (SIM_OBS, SIM): Remove. * config/iq2000/iq2000.mt (SIM_OBS, SIM): Remove. * config/m32c/m32c.mt (SIM_OBS, SIM): Remove. * config/m32r/linux.mt (SIM_OBS, SIM): Remove. * config/m32r/m32r.mt (SIM_OBS, SIM): Remove. * config/m68hc11/m68hc11.mt (SIM_OBS, SIM): Remove. * config/mips/embed.mt (SIM_OBS, SIM): Remove. * config/mips/linux.mt (SIM_OBS, SIM): Remove. * config/mips/nbsd.mt (SIM_OBS, SIM): Remove. * config/mn10300/mn10300.mt (SIM_OBS, SIM): Remove. * config/powerpc/linux.mt (SIM_OBS, SIM): Remove. * config/powerpc/nbsd.mt (SIM_OBS, SIM): Remove. * config/powerpc/ppc-sim.mt: Remove file. * config/sh/embed.mt (SIM_OBS, SIM): Remove. * config/sh/linux.mt (SIM_OBS, SIM): Remove. * config/sh/nbsd.mt (SIM_OBS, SIM): Remove. * config/sh/sh64.mt (SIM_OBS, SIM): Remove. * config/sparc/embed.mt (SIM_OBS, SIM): Remove. * config/v850/v850.mt (SIM_OBS, SIM): Remove. * config/xstormy16/xstormy16.mt (SIM_OBS, SIM): Remove. * configure.tgt (gdb_sim): Document variable. (arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*): Set it. (avr-*-*): Likewise. (frv-*-*): Likewise. (h8300-*-*): Likewise. (iq2000-*-*): Likewise. (m32c-*-*): Likewise. (m32r*-*-linux*): Likewise. (m32r*-*-*): Likewise. (m68hc11*-*-*|m6811*-*-*): Likewise. (mips*-*-*): Likewise. (mips*-*-linux*): Likewise. (mips*-*-netbsd* | mips*-*-knetbsd*-gnu): Likewise. (mn10300-*-*): Likewise. (powerpc-*-linux* | powerpc64-*-linux*): Likewise. (powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu): Likewise. (powerpc*-*-*): Use ppc-eabi target. Conditionally set gdb_sim. (sh*): Set gdb_sim. (sh-*-linux*): Likewise. (sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu): Likewise. (sh64-*-elf*): Likewise. (sparc-*-rtems*): Likewise. (v850*-*-elf): Likewise. (xstormy16-*-*): Likewise. * configure.ac (IGNORE_SIM, IGNORE_SIM_OBS): Do not set. (SIM, SIM_OBS): Set depending on ${ignore_sim} and ${gdb_sim}. * configure: Regenerate. * Makefile.in (SIM, SIM_OBS): Substitute from configure. (@IGNORE_SIM@, @IGNORE_SIM_OBS@): Remove.
2007-11-17 00:44:38 +00:00
AC_SUBST(SIM)
AC_SUBST(SIM_OBS)
1999-04-26 18:34:20 +00:00
AC_SUBST(ENABLE_CFLAGS)
AC_SUBST(PROFILE_CFLAGS)
AC_SUBST(CONFIG_OBS)
AC_SUBST(CONFIG_DEPS)
AC_SUBST(CONFIG_SRCS)
AC_SUBST(CONFIG_ALL)
AC_SUBST(CONFIG_CLEAN)
AC_SUBST(CONFIG_INSTALL)
AC_SUBST(CONFIG_UNINSTALL)
# List of host floatformats.
AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
# target_subdir is used by the testsuite to find the target libraries.
target_subdir=
if test "${host}" != "${target}"; then
target_subdir="${target_alias}/"
fi
AC_SUBST(target_subdir)
frags=
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}")
fi
frags="$frags $host_makefile_frag"
else
host_makefile_frag=/dev/null
fi
AC_SUBST_FILE(host_makefile_frag)
AC_SUBST(frags)
changequote(,)dnl
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 '
s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
' ${host_makefile_frag}`
fi
changequote([,])
if test x"${gdb_osabi}" != x ; then
AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
[Define to the default OS ABI for this configuration.])
fi
# Enable multi-ice-gdb-server.
AC_ARG_ENABLE(multi-ice,
[ --enable-multi-ice build the multi-ice-gdb-server],
[case $enableval in
yes | no)
;;
*) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
esac])
if test "x$enable_multi_ice" = xyes; then
AC_CONFIG_SUBDIRS(multi-ice)
1999-08-09 21:36:23 +00:00
fi
# 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)
AC_CONFIG_SUBDIRS(gdbserver)
else
AC_MSG_RESULT(no)
fi
fi
# If nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
Index: ChangeLog 2004-09-13 Andrew Cagney <cagney@gnu.org> * configure.in (frags): Replace TM_FILE with DEPRECATED_TM_FILE. * configure: Re-generate. * nlm/Makefile.in (TAGS): Update. * Makefile.in (TAGS): Update. * config/vax/nbsd.mt (TM_FILE): Update. * config/sparc/vxworks.mt (TM_FILE): Update. * config/sparc/sol2.mt (TM_FILE): Update. * config/sparc/sol2-64.mt (TM_FILE): Update. * config/sparc/obsd64.mt (TM_FILE): Update. * config/sparc/obsd.mt (TM_FILE): Update. * config/sparc/nbsd64.mt (TM_FILE): Update. * config/sparc/nbsd.mt (TM_FILE): Update. * config/sparc/linux64.mt (TM_FILE): Update. * config/sparc/linux.mt (TM_FILE): Update. * config/sparc/fbsd.mt (TM_FILE): Update. * config/sh/wince.mt (TM_FILE): Update. * config/sh/nbsd.mt (TM_FILE): Update. * config/sh/linux.mt (TM_FILE): Update. * config/sh/embed.mt (TM_FILE): Update. * config/s390/s390.mt (TM_FILE): Update. * config/rs6000/rs6000lynx.mt (TM_FILE): Update. * config/rs6000/rs6000.mt (TM_FILE): Update. * config/rs6000/aix4.mt (TM_FILE): Update. * config/powerpc/vxworks.mt (TM_FILE): Update. * config/powerpc/ppc-sim.mt (TM_FILE): Update. * config/powerpc/ppc-eabi.mt (TM_FILE): Update. * config/powerpc/obsd.mt (TM_FILE): Update. * config/powerpc/nbsd.mt (TM_FILE): Update. * config/powerpc/linux.mt (TM_FILE): Update. * config/powerpc/aix.mt (TM_FILE): Update. * config/pa/obsd.mt (TM_FILE): Update. * config/pa/linux.mt (TM_FILE): Update. * config/pa/hppahpux.mt (TM_FILE): Update. * config/pa/hppa64.mt (TM_FILE): Update. * config/pa/hppa.mt (TM_FILE): Update. * config/ns32k/nbsdaout.mt (TM_FILE): Update. * config/mips/wince.mt (TM_FILE): Update. * config/mips/vxmips.mt (TM_FILE): Update. * config/mips/nbsd.mt (TM_FILE): Update. * config/mips/linux.mt (TM_FILE): Update. * config/mips/irix6.mt (TM_FILE): Update. * config/mips/irix5.mt (TM_FILE): Update. * config/mips/embed.mt (TM_FILE): Update. * config/m68k/vxworks68.mt (TM_FILE): Update. * config/m68k/st2000.mt (TM_FILE): Update. * config/m68k/os68k.mt (TM_FILE): Update. * config/m68k/obsd.mt (TM_FILE): Update. * config/m68k/nbsd.mt (TM_FILE): Update. * config/m68k/monitor.mt (TM_FILE): Update. * config/m68k/linux.mt (TM_FILE): Update. * config/m68k/cisco.mt (TM_FILE): Update. * config/ia64/linux.mt (TM_FILE): Update. * config/ia64/aix.mt (TM_FILE): Update. * config/ia64/ia64.mt (TM_FILE): Update. * config/i386/vxworks.mt (TM_FILE): Update. * config/i386/obsd64.mt (TM_FILE): Update. * config/i386/obsd.mt (TM_FILE): Update. * config/i386/nto.mt (TM_FILE): Update. * config/i386/nbsd64.mt (TM_FILE): Update. * config/i386/nbsd.mt (TM_FILE): Update. * config/i386/linux64.mt (TM_FILE): Update. * config/i386/linux.mt (TM_FILE): Update. * config/i386/i386sol2.mt (TM_FILE): Update. * config/i386/i386lynx.mt (TM_FILE): Update. * config/i386/fbsd64.mt (TM_FILE): Update. * config/i386/fbsd.mt (TM_FILE): Update. * config/i386/cygwin.mt (TM_FILE): Update. * config/h8300/h8300.mt (TM_FILE): Update. * config/frv/frv.mt (TM_FILE): Update. * config/cris/cris.mt (TM_FILE): Update. * config/arm/wince.mt (TM_FILE): Update. * config/arm/nbsd.mt (TM_FILE): Update. * config/arm/linux.mt (TM_FILE): Update. * config/arm/embed.mt (TM_FILE): Update. * config/alpha/nbsd.mt (TM_FILE): Update. * config/alpha/fbsd.mt (TM_FILE): Update. * config/alpha/alpha.mt (TM_FILE): Update. * config/alpha/alpha-osf1.mt (TM_FILE): Update. * config/alpha/alpha-linux.mt (TM_FILE): Update. Index: gdbserver/ChangeLog 2004-09-02 Andrew Cagney <cagney@gnu.org> * Makefile.in (TAGS): Replace TM_FILE with DEPRECATED_TM_FILE.
2004-09-13 20:55:42 +00:00
# to an empty version.
files=
links=
rm -f nm.h
nm_h=""
if test "${nativefile}" != ""; then
nm_h=nm.h
case "${nativefile}" in
nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
* ) GDB_NM_FILE="${nativefile}"
esac
files="${files} ${GDB_NM_FILE}"
links="${links} nm.h"
AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
fi
AC_SUBST(nm_h)
AC_LINK_FILES($files, $links)
dnl Check for exe extension set on certain hosts (e.g. Win32)
AC_EXEEXT
dnl Detect the character set used by this host.
dnl At the moment, we just assume it's ISO-8859-1 (which is a
dnl superset of ASCII containing the characters needed for French,
dnl German, Spanish, Italian, and possibly others), but if were
dnl *were* to support any host character sets other than ISO-8859-1,
dnl here's where we'd detect it.
AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
[Define to be a string naming the default host character set.])
AM_ICONV
AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile,
[
dnl Autoconf doesn't provide a mechanism for modifying definitions
dnl provided by makefile fragments.
dnl
changequote(,)dnl
sed -e '/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
mv -f Makefile.tmp Makefile
changequote([,])dnl
1999-10-05 23:13:56 +00:00
case x$CONFIG_HEADERS in
xconfig.h:config.in)
echo > stamp-h ;;
esac
],
[
gdb_host_cpu=$gdb_host_cpu
nativefile=$nativefile
])
exit 0