dnl Autoconf configure script for GDB, the GNU debugger.
dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-dnl 2005, 2006, 2007, 2008
+dnl 2005, 2006, 2007, 2008, 2009
dnl Free Software Foundation, Inc.
dnl
dnl This file is part of GDB.
# generate its Makefile.in.
AM_INIT_AUTOMAKE(gdb, UNUSED-VERSION, [no-define])
-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
+GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
+ [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
+ [${libdir}/debug])
+
+# GDB's datadir relocation
+
+GDB_AC_WITH_DIR(GDB_DATADIR, gdb-datadir,
+ [look for global separate data files in this path @<:@DATADIR/gdb@:>@],
+ [${datadir}/gdb])
+
+AC_ARG_WITH(relocated-sources,
+AS_HELP_STRING([--with-relocated-sources=PATH], [automatically relocate this path for source files]),
+[reloc_srcdir="${withval}"
+ AC_DEFINE_DIR(RELOC_SRCDIR, reloc_srcdir,
+ [Relocated directory for source files. ])
+])
AC_CONFIG_SUBDIRS(doc testsuite)
# Check whether to support alternative target configurations
AC_ARG_ENABLE(targets,
-[ --enable-targets alternative target configurations],
+AS_HELP_STRING([--enable-targets=TARGETS], [alternative target configurations]),
[case "${enableval}" in
yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
;;
# 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)],
+AS_HELP_STRING([--enable-64-bit-bfd], [64-bit support (on hosts with narrower word sizes)]),
[case "${enableval}" in
yes) want64=true ;;
no) want64=false ;;
# Enable CLI.
AC_ARG_ENABLE(gdbcli,
-[ --disable-gdbcli disable command-line interface (CLI)],
+AS_HELP_STRING([--disable-gdbcli], [disable command-line interface (CLI)]),
[case $enableval in
yes)
;;
# Enable MI.
AC_ARG_ENABLE(gdbmi,
-[ --disable-gdbmi disable machine-interface (MI)],
+AS_HELP_STRING([--disable-gdbmi], [disable machine-interface (MI)]),
[case $enableval in
yes | no)
;;
# Enable TUI.
AC_ARG_ENABLE(tui,
-[ --enable-tui enable full-screen terminal user interface (TUI)],
+AS_HELP_STRING([--enable-tui], [enable full-screen terminal user interface (TUI)]),
[case $enableval in
yes | no | auto)
;;
# Enable gdbtk.
AC_ARG_ENABLE(gdbtk,
-[ --enable-gdbtk enable gdbtk graphical user interface (GUI)],
+AS_HELP_STRING([--enable-gdbtk], [enable gdbtk graphical user interface (GUI)]),
[case $enableval in
yes | no)
;;
# Libunwind support.
AC_ARG_WITH(libunwind,
-[ --with-libunwind Use libunwind frame unwinding support],
+AS_HELP_STRING([--with-libunwind], [use libunwind frame unwinding support]),
[case "${withval}" in
yes) enable_libunwind=yes ;;
no) enable_libunwind=no ;;
CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
fi
+opt_curses=no
+AC_ARG_WITH(curses, AS_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
+
+prefer_curses=no
+if test "$opt_curses" = "yes"; then
+ prefer_curses=yes
+fi
+
# Profiling support.
AC_ARG_ENABLE(profiling,
-[ --enable-profiling enable profiling of GDB],
+AS_HELP_STRING([--enable-profiling], [enable profiling of GDB]),
[case $enableval in
yes | no)
;;
# On HP/UX we may need libxpdl for dlgetmodinfo (used by solib-pa64.c).
AC_SEARCH_LIBS(dlgetmodinfo, [dl xpdl])
+AM_ICONV
+
# 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.
;;
esac
+# For the TUI, we need enhanced curses functionality.
+if test x"$enable_tui" != xno; then
+ prefer_curses=yes
+fi
+
+curses_found=no
+if test x"$prefer_curses" = xyes; then
+ # 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
+ curses_found=yes
+ fi
+fi
+
# 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
+ if test "$curses_found" != no; then
CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
;;
*mingw32*)
ac_cv_search_tgetent="none required"
- CONFIG_OBS="$CONFIG_OBS win32-termcap.o"
+ CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
;;
esac
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])
+ 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>
AC_CHECK_DECLS([free, malloc, realloc, strerror, strstr, getopt,
snprintf, vsnprintf])
+AM_LC_MESSAGES
# ----------------------- #
# Checks for structures. #
AC_CHECK_FUNCS([canonicalize_file_name realpath getrusage getuid \
getgid poll pread64 sbrk setpgid setpgrp setsid \
sigaction sigprocmask sigsetmask socketpair syscall \
- ttrace wborder])
+ ttrace wborder setlocale iconvlist libiconvlist btowc])
+AM_LANGINFO_CODESET
# Check the return and argument types of ptrace. No canned test for
# this, so roll our own.
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)],
+ AS_HELP_STRING([--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
dnl Handle optional features that can be enabled.
+target_sysroot_reloc=0
AC_ARG_WITH(sysroot,
-[ --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
+AS_HELP_STRING([--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' ;;
"${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"
+ target_sysroot_reloc=1
;;
esac
], [
TARGET_SYSTEM_ROOT=
TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
])
+TARGET_SYSTEM_ROOT_DEFINE="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE=$target_sysroot_reloc"
AC_SUBST(TARGET_SYSTEM_ROOT)
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
+GDB_AC_WITH_DIR(SYSTEM_GDBINIT, system-gdbinit,
+ [automatically load a system-wide gdbinit file],
+ [])
+
AC_ARG_ENABLE(werror,
- [ --enable-werror treat compile warnings as errors],
+ AS_HELP_STRING([--enable-werror], [treat compile warnings as errors]),
[case "${enableval}" in
yes | y) ERROR_ON_WARNING="yes" ;;
no | n) ERROR_ON_WARNING="no" ;;
esac
AC_ARG_ENABLE(build-warnings,
-[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
+AS_HELP_STRING([--enable-build-warnings], [enable build-time compiler warnings if gcc is used]),
[case "${enableval}" in
yes) ;;
no) build_warnings="-w";;
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],
+AS_HELP_STRING([--enable-gdb-build-warnings], [enable GDB specific build-time compiler warnings if gcc is used]),
[case "${enableval}" in
yes) ;;
no) build_warnings="-w";;
cd $here
SC_PATH_TCLCONFIG
- if test -z "${no_tcl}"; then
+
+ # 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
AC_SUBST(TCL_LIBRARY)
AC_SUBST(TCL_DEPS)
- # If $no_tk is nonempty, then we can't do Tk, and there is no
- # point to doing Tcl.
- if test -z "${no_tk}"; then
- SC_PATH_TKCONFIG
- 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
+ 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
- fi
- AC_CONFIG_SUBDIRS(gdbtk)
+ AC_CONFIG_SUBDIRS(gdbtk)
+ fi
fi
AC_SUBST(X_CFLAGS)
# not part of the source tree.
#
AC_ARG_ENABLE(sim,
-[ --enable-sim Link gdb with simulator],
+AS_HELP_STRING([--enable-sim], [link gdb with simulator]),
[echo "enable_sim = $enable_sim";
echo "enableval = ${enableval}";
case "${enableval}" in
# Enable multi-ice-gdb-server.
AC_ARG_ENABLE(multi-ice,
-[ --enable-multi-ice build the multi-ice-gdb-server],
+AS_HELP_STRING([--enable-multi-ice], [build the multi-ice-gdb-server]),
[case $enableval in
yes | no)
;;
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}"
links="${links} nm.h"
AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
fi
-AC_SUBST(nm_h)
+AC_SUBST(GDB_NM_FILE)
AC_LINK_FILES($files, $links)
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",
+dnl At the moment, we just assume it's UTF-8.
+AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF-8",
[Define to be a string naming the default host character set.])
-AM_ICONV
+# Flags needed to enable html installing and building
+AC_ARG_WITH(datarootdir,
+AC_HELP_STRING([--with-datarootdir], [use datarootdir as the data root directory.]),
+[datarootdir="\${prefix}/${withval}"],
+[datarootdir="\${prefix}/share"])
-AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile,
-[
-dnl Autoconf doesn't provide a mechanism for modifying definitions
-dnl provided by makefile fragments.
-dnl
+AC_ARG_WITH(docdir,
+AC_HELP_STRING([--with-docdir], [install documentation in this directory.]),
+[docdir="\${prefix}/${withval}"],
+[docdir="\${datarootdir}/doc"])
-changequote(,)dnl
-sed -e '/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
-mv -f Makefile.tmp Makefile
-changequote([,])dnl
+AC_ARG_WITH(pdfdir,
+AC_HELP_STRING([--with-pdfdir], [install pdf in this directory.]),
+[pdfdir="\${prefix}/${withval}"],
+[pdfdir="\${docdir}"])
+AC_ARG_WITH(htmldir,
+AC_HELP_STRING([--with-htmldir], [install html in this directory.]),
+[htmldir="\${prefix}/${withval}"],
+[htmldir="\${docdir}"])
+AC_SUBST(datarootdir)
+AC_SUBST(docdir)
+AC_SUBST(htmldir)
+AC_SUBST(pdfdir)
+
+AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile,
+[
case x$CONFIG_HEADERS in
xconfig.h:config.in)
echo > stamp-h ;;
esac
-],
-[
-gdb_host_cpu=$gdb_host_cpu
-nativefile=$nativefile
])
exit 0