* Makefile.in (copying.c): Use the top-level COPYING3 as the file
[deliverable/binutils-gdb.git] / gdb / configure.ac
index e30e4af6f44c9a3e73d5994b8848e16bb7d8e0eb..651f7b9906fea94070cfb8d698474eb171dfeaf9 100644 (file)
@@ -1,22 +1,22 @@
 dnl Autoconf configure script for GDB, the GNU debugger.
-dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+dnl 2005, 2006
 dnl Free Software Foundation, Inc.
 dnl
 dnl This file is part of GDB.
 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 2 of the License, or
+dnl the Free Software Foundation; either version 3 of the License, or
 dnl (at your option) any later version.
-dnl 
+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
 dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl Process this file with autoconf to produce a configure script.
 
@@ -34,14 +34,6 @@ AM_PROG_CC_STDC
 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
 AC_CANONICAL_SYSTEM
 
-# FIXME: kettenis/20030102: The AC_PROG_RANLIB from Autoconf 2.13
-# doesn't support cross-compilation, but the one from Autoconf 2.5x
-# does.  Override RANLIB here (i.e. before running AC_PROG_RANLIB) to
-# deal with the lossage.  Note that CY_GNU_GETTEXT currently calls
-# AC_PROG_RANLIB.  This can be removed when we switch to Autoconf
-# 2.5x.
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-
 dnl List of object files and targets accumulated by configure.
 
 CONFIG_OBS=
@@ -54,49 +46,13 @@ CONFIG_CLEAN=
 CONFIG_INSTALL=
 CONFIG_UNINSTALL=
 
-dnl Set up for gettext.  PACKAGE is used when we call bindtextdomain.
-
-CY_GNU_GETTEXT
+dnl Set up for gettext.
+ZW_GNU_GETTEXT_SISTER_DIR
 
 localedir='${datadir}/locale'
 AC_SUBST(localedir)
 
-if test "x$POSUB" != x; then
-
-  dnl Lifted from GCC's config/gettext.m4.
-  AC_MSG_CHECKING(for catalogs to be installed)
-  # Look for .po and .gmo files in the source directory.
-  CATALOGS=  AC_SUBST(CATALOGS)
-  XLINGUAS=
-  for cat in $srcdir/po/*.gmo $srcdir/po/*.po; do
-    # If there aren't any .gmo files the shell will give us the
-    # literal string "../path/to/srcdir/po/*.gmo" which has to be
-    # weeded out.
-    case "$cat" in *\**)
-      continue;;
-    esac
-    # The quadruple backslash is collapsed to a double backslash
-    # by the backticks, then collapsed again by the double quotes,
-    # leaving us with one backslash in the sed expression (right
-    # before the dot that mustn't act as a wildcard).
-    cat=`echo $cat | sed -e "s!$srcdir/!!" -e "s!\\\\.po!.gmo!"`
-    lang=`echo $cat | sed -e 's!po/!!' -e "s!\\\\.gmo!!"`
-    # The user is allowed to set LINGUAS to a list of languages to
-    # install catalogs for.  If it's empty that means "all of them."
-    if test "x$LINGUAS" = x; then
-      CATALOGS="$CATALOGS $cat"
-      XLINGUAS="$XLINGUAS $lang"
-    else
-      case "$LINGUAS" in *$lang*)
-        CATALOGS="$CATALOGS $cat"
-        XLINGUAS="$XLINGUAS $lang"
-        ;;
-      esac
-    fi
-  done
-  LINGUAS="$XLINGUAS"
-  AC_MSG_RESULT($LINGUAS)
-
+if test x"$USE_NLS" = xyes; then
    CONFIG_ALL="$CONFIG_ALL all-po"
    CONFIG_CLEAN="$CONFIG_CLEAN clean-po"                  
    CONFIG_INSTALL="$CONFIG_INSTALL install-po"
@@ -117,8 +73,34 @@ 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)
 
+# Provide defaults for some variables set by the per-host and per-target
+# configuration.
+gdb_host_obs=posix-hdep.o
+
+if test "${target}" = "${host}"; then
+  gdb_native=yes
+else
+  gdb_native=no
+fi
+
 . $srcdir/configure.host
 
 . $srcdir/configure.tgt
@@ -202,7 +184,7 @@ AC_ARG_ENABLE(gdbtk,
     *)
       AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;;
   esac],
-  [if test -d $srcdir/gdbtk; then
+  [if test -d $srcdir/gdbtk -a -d $srcdir/../itcl; then
     enable_gdbtk=yes
   else
     enable_gdbtk=no
@@ -232,7 +214,7 @@ esac],[
 if test x"$enable_libunwind" = xyes; then
   AC_CHECK_HEADERS(libunwind.h)
   AC_CHECK_HEADERS(libunwind-ia64.h)
-  AC_DEFINE(HAVE_LIBUNWIND, 1)
+  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"
@@ -340,6 +322,10 @@ case $host_os in
   go32* | *djgpp*)
     ac_cv_search_tgetent="none required"
     ;;
+  *mingw32*)    
+    ac_cv_search_tgetent="none required"
+    CONFIG_OBS="$CONFIG_OBS win32-termcap.o"
+    ;;
 esac
 
 # These are the libraries checked by Readline.
@@ -349,6 +335,17 @@ if test "$ac_cv_search_tgetent" = no; then
   AC_MSG_ERROR([no termcap library found])
 fi
 
+AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
+                     [XML_Parser p = XML_ParserCreate (0);])
+if test "$HAVE_LIBEXPAT" != yes; then
+  AC_MSG_WARN([expat is missing or unusable; some features may be disabled.])
+else
+  save_LIBS=$LIBS
+  LIBS="$LIBS $LIBEXPAT"
+  AC_CHECK_FUNCS(XML_StopParser)
+  LIBS=$save_LIBS
+fi
+
 # ------------------------- #
 # Checks for header files.  #
 # ------------------------- #
@@ -368,6 +365,7 @@ AC_CHECK_HEADERS(link.h, [], [],
 AC_CHECK_HEADERS(machine/reg.h)
 AC_CHECK_HEADERS(poll.h sys/poll.h)
 AC_CHECK_HEADERS(proc_service.h thread_db.h gnu/libc-version.h)
+AC_CHECK_HEADERS(signal.h)
 AC_CHECK_HEADERS(stddef.h)
 AC_CHECK_HEADERS(stdlib.h)
 AC_CHECK_HEADERS(stdint.h)
@@ -377,6 +375,7 @@ AC_CHECK_HEADERS(sys/file.h)
 AC_CHECK_HEADERS(sys/filio.h)
 AC_CHECK_HEADERS(sys/ioctl.h)
 AC_CHECK_HEADERS(sys/param.h)
+AC_CHECK_HEADERS(sys/resource.h)
 AC_CHECK_HEADERS(sys/proc.h, [], [],
 [#if HAVE_SYS_PARAM_H
 # include <sys/param.h>
@@ -404,8 +403,8 @@ 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. ]])
+        [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)
@@ -420,25 +419,34 @@ AC_CHECK_HEADERS(term.h, [], [],
 # unconditionally, so what's the point in checking these?
 AC_CHECK_HEADERS(ctype.h time.h)
 
+# Create a header we can use portably to get the standard integer types.
+GCC_HEADER_STDINT(gdb_stdint.h)
+
 # ------------------------- #
 # Checks for declarations.  #
 # ------------------------- #
 
 AC_CHECK_DECLS([free, malloc, realloc])
 AC_CHECK_DECLS([strerror, strstr])
-AC_CHECK_DECLS(getopt)
+AC_CHECK_DECLS([getopt, snprintf, vsnprintf])
 
 # ----------------------- #
 # Checks for structures.  #
 # ----------------------- #
 
 AC_CHECK_MEMBERS([struct stat.st_blocks])
+AC_CHECK_MEMBERS([struct stat.st_blksize])
 
 # ------------------ #
 # Checks for types.  #
 # ------------------ #
 
 AC_TYPE_SIGNAL
+AC_CHECK_TYPES(socklen_t, [], [],
+[#include <sys/types.h>
+#include <sys/socket.h>
+])
+AC_CHECK_TYPES(uintptr_t, [], [], [#include <stdint.h>])
 
 # ------------------------------------- #
 # Checks for compiler characteristics.  #
@@ -455,6 +463,8 @@ AC_FUNC_ALLOCA
 AC_FUNC_MMAP
 AC_FUNC_VFORK
 AC_CHECK_FUNCS(canonicalize_file_name realpath)
+AC_CHECK_FUNCS(getrusage)
+AC_CHECK_FUNCS(getuid getgid)
 AC_CHECK_FUNCS(poll)
 AC_CHECK_FUNCS(pread64)
 AC_CHECK_FUNCS(sbrk)
@@ -629,7 +639,8 @@ AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
                [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)
+  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.
@@ -641,7 +652,8 @@ AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
                [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)
+  AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
+  [Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
 fi
 
 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
@@ -654,7 +666,8 @@ AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
                [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)
+  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.
@@ -667,40 +680,29 @@ AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
                [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)
+  AC_DEFINE(HAVE_PT_GETXMMREGS, 1,
+  [Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
 fi
 
-# See if stdint.h provides the uintptr_t type.
-# Autoconf 2.5X has an improved AC_CHECK_TYPE which will simplify this.
-AC_CACHE_CHECK([for uintptr_t in stdint.h], gdb_cv_have_uintptr_t,
-  [AC_TRY_COMPILE(
-    [#include <stdint.h>],
-    [uintptr_t foo = 0;],
-    gdb_cv_have_uintptr_t=yes,
-    gdb_cv_have_uintptr_t=no)])
-if test $gdb_cv_have_uintptr_t = yes; then
-  AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if <stdint.h> provides the uintptr_t type.])
-fi
-
-# If we are configured native on GNU/Linux, work around problems with
-# sys/procfs.h
-# Also detect which type of /proc is in use, such as for Unixware or Solaris.
+# Detect which type of /proc is in use, such as for Unixware or Solaris.
 
 if test "${target}" = "${host}"; then
   case "${host}" in
-  i[[3456]]86-*-linux*)
-       AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
-       AC_DEFINE(sys_quotactl)
-       ;;
   *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
-      AC_DEFINE(NEW_PROC_API)
+      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).])
       ;;
   *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]])
-      AC_DEFINE(NEW_PROC_API)
+      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).])
       ;;
   mips-sgi-irix5*)
       # Work around <sys/proc.h> needing _KMEMUSER problem on IRIX 5.
-      AC_DEFINE([_KMEMUSER], 1)
+      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
@@ -744,7 +746,8 @@ if test "$ac_cv_header_sys_procfs_h" = yes; then
        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)
+      AC_DEFINE(PRFPREGSET_T_BROKEN, 1,
+      [Define if the prfpregset_t type is broken.])
     fi
   fi
 
@@ -762,7 +765,8 @@ if test "$ac_cv_header_sys_procfs_h" = yes; then
   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)
+    AC_DEFINE(HAVE_PROCFS_PIOCSET, 1,
+    [Define if ioctl argument PIOCSET is available.])
   fi
 fi
 
@@ -780,7 +784,10 @@ if test ${host} = ${target} ; then
                     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)
+    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
@@ -795,7 +802,9 @@ if test ${host} = ${target} ; then
                     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)
+    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 
@@ -813,7 +822,9 @@ if test ${host} = ${target} ; then
                     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)
+    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
@@ -827,8 +838,10 @@ if test ${host} = ${target} ; then
      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)
-    AC_DEFINE(_SYSCALL32)
+    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
 
@@ -947,7 +960,8 @@ if test ${build} = ${host} -a ${host} = ${target} ; then
       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)
+            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
@@ -965,7 +979,8 @@ if test ${build} = ${host} -a ${host} = ${target} ; then
       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)
+         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)
@@ -995,7 +1010,9 @@ if test ${build} = ${host} -a ${host} = ${target} ; then
         ])
         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)
+           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)
@@ -1021,7 +1038,8 @@ if test ${build} = ${host} -a ${host} = ${target} ; then
    AC_SUBST(CONFIG_LDFLAGS)
 fi
 
-dnl See if we have a thread_db header file that has TD_NOTALLOC.
+dnl See if we have a thread_db header file that has TD_NOTALLOC and
+dnl other error codes.
 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
    AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
                   gdb_cv_thread_db_h_has_td_notalloc,
@@ -1032,11 +1050,37 @@ if test "x$ac_cv_header_thread_db_h" = "xyes"; then
        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
@@ -1052,8 +1096,7 @@ if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
 fi
 dnl See if we can issue tkill syscall.
 if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
-  AC_DEFINE(HAVE_TKILL_SYSCALL, 1,
-            [Define if we can use the tkill syscall.])
+  AC_DEFINE(HAVE_TKILL_SYSCALL, 1, [Define if you support the tkill syscall.])
 fi
 
 dnl Handle optional features that can be enabled.
@@ -1068,17 +1111,20 @@ AC_ARG_WITH(sysroot,
 
  TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
 
- if test "x$exec_prefix" = xNONE; then
-  if test "x$prefix" = xNONE; then
-   test_prefix=/usr/local
-  else
-   test_prefix=$prefix
-  fi
+ if test "x$prefix" = xNONE; then
+  test_prefix=/usr/local
  else
-  test_prefix=$exec_prefix
+  test_prefix=$prefix
+ fi
+ if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
+  test_exec_prefix=$test_prefix
+ else
+  test_exec_prefix=$exec_prefix
  fi
  case ${TARGET_SYSTEM_ROOT} in
  "${test_prefix}"|"${test_prefix}/"*|\
+ "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
+ '${prefix}'|'${prefix}/'*|\
  '${exec_prefix}'|'${exec_prefix}/'*)
    t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
    TARGET_SYSTEM_ROOT_DEFINE="$t"
@@ -1091,19 +1137,33 @@ AC_ARG_WITH(sysroot,
 AC_SUBST(TARGET_SYSTEM_ROOT)
 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
 
-# NOTE: Don't add -Wall or -Wunused, they both include
-# -Wunused-parameter which reports bogus warnings.
-# NOTE: If you add to this list, remember to update
+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="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
--Wformat -Wparentheses -Wpointer-arith -Wuninitialized -Wformat-nonliteral \
--Wunused-label -Wunused-function"
-# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
-# -Wunused-function -Wunused-variable -Wunused-value
-# -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
-# -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
-# -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
-# -Woverloaded-virtual -Winline -Werror"
+build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
+-Wformat-nonliteral -Wno-pointer-sign \
+-Wno-unused -Wno-switch -Wno-char-subscripts"
+
 AC_ARG_ENABLE(build-warnings,
 [  --enable-build-warnings Enable build-time compiler warnings if gcc is used],
 [case "${enableval}" in
@@ -1133,7 +1193,6 @@ 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
 WARN_CFLAGS=""
-WERROR_CFLAGS=""
 if test "x${build_warnings}" != x -a "x$GCC" = xyes
 then
     AC_MSG_CHECKING(compiler warning flags)
@@ -1149,7 +1208,7 @@ then
            CFLAGS="$saved_CFLAGS"
        esac
     done
-    AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
+    AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
 fi
 AC_SUBST(WARN_CFLAGS)
 AC_SUBST(WERROR_CFLAGS)
@@ -1163,10 +1222,11 @@ lose
 
 
 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
-SER_HARDWIRE="ser-unix.o ser-pipe.o ser-tcp.o"
+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 ;;
+  *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
 esac
 AC_SUBST(SER_HARDWIRE)
 
@@ -1179,8 +1239,47 @@ if test x$gdb_cv_os_cygwin = xyes; then
        ;;
     esac
 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       
 AC_SUBST(WIN32LIBS)
 
+# 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"
+LDFLAGS="$LDFLAGS -L../bfd -L../libiberty"
+LIBS="$LIBS -lbfd -liberty"
+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)
@@ -1257,15 +1356,6 @@ if test "${enable_gdbtk}" = "yes"; then
            fi
 
            ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
-          # Tcl/Tk 8.1 require -fwritable strings.  I don't
-           # know whether 8.2 will or not, but I bet it will.
-           # I don't have to worry about 7.x since we don't support it.
-           GDBTK_CFLAGS=""
-          if test "$GCC" = "yes"; then
-               if test "$TCL_VERSION" != "8.0" ; then
-                   GDBTK_CFLAGS="-fwritable-strings"
-              fi
-           fi
 
           # Include some libraries that Tcl and Tk want.
           TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
@@ -1358,7 +1448,7 @@ if test "${ignore_sim}" = "true"; then
 else
     IGNORE_SIM=""
     IGNORE_SIM_OBS=""
-    AC_DEFINE(WITH_SIM)
+    AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
 fi
 AC_SUBST(IGNORE_SIM)
 AC_SUBST(IGNORE_SIM_OBS)
@@ -1387,7 +1477,7 @@ fi
 AC_SUBST(target_subdir)
 
 frags=
-if test "${target}" = "${host}"; then
+if test "${gdb_native}" = "yes"; then
   host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
   if test ! -f ${host_makefile_frag}; then
     AC_MSG_ERROR("*** Gdb does not support native target ${host}")
@@ -1413,10 +1503,10 @@ s/XM_FILE[      ]*=[    ]*\([^  ]*\)/\1/p
 ' ${host_makefile_frag}`
 
 targetfile=`sed -n '
-s/DEPRECATED_TM_FILE[  ]*=[    ]*\([^  ]*\)/\1/p
+s/^[   ]*DEPRECATED_TM_FILE[   ]*=[    ]*\([^  ]*\)/\1/p
 ' ${target_makefile_frag}`
 
-if test "${target}" = "${host}"; then
+if test "${gdb_native}" = "yes"; then
 # We pick this up from the host configuration file (.mh) because we
 # do not have a native configuration Makefile fragment.
 nativefile=`sed -n '
@@ -1442,8 +1532,8 @@ if test "x$enable_multi_ice" = xyes; then
    AC_CONFIG_SUBDIRS(multi-ice)
 fi
 
-# We only build gdbserver automatically if host and target are the same.
-if test "x$target" = "x$host"; then
+# We only build gdbserver automatically in a native configuration. 
+if test "$gdb_native" = "yes"; then
   AC_MSG_CHECKING(whether gdbserver is supported on this host)
   if test "x$build_gdbserver" = xyes; then
     AC_MSG_RESULT(yes)
@@ -1453,17 +1543,6 @@ if test "x$target" = "x$host"; then
   fi
 fi
 
-# We build rdi-share on ARM-based targets, as instructed by configure.tgt.
-if test "x$build_rdi_share" = xyes; then
-   AC_CONFIG_SUBDIRS(rdi-share)
-fi
-
-# We configure the nlm subdirectory on netware targets, as instructed
-# by configure.tgt.
-if test "x$build_nlm" = xyes; then
-   AC_CONFIG_SUBDIRS(nlm)
-fi
-
 # If hostfile (XM_FILE) and/or targetfile (DEPRECATED_TM_FILE) and/or
 # nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
 # to an empty version.
@@ -1481,7 +1560,7 @@ if test "${hostfile}" != ""; then
     esac
     files="${files} ${GDB_XM_FILE}"
     links="${links} xm.h"
-    AC_DEFINE_UNQUOTED(GDB_XM_FILE, "${GDB_XM_FILE}")
+    AC_DEFINE_UNQUOTED(GDB_XM_FILE, "${GDB_XM_FILE}", [hostfile])
 fi
 AC_SUBST(xm_h)
 
@@ -1495,7 +1574,7 @@ if test "${targetfile}" != ""; then
     esac
     files="${files} ${GDB_TM_FILE}"
     links="${links} tm.h"
-    AC_DEFINE_UNQUOTED(GDB_TM_FILE, "${GDB_TM_FILE}")
+    AC_DEFINE_UNQUOTED(GDB_TM_FILE, "${GDB_TM_FILE}", [targetfile])
 fi
 AC_SUBST(tm_h)
 
@@ -1509,7 +1588,7 @@ if test "${nativefile}" != ""; then
     esac
     files="${files} ${GDB_NM_FILE}"
     links="${links} nm.h"
-    AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}")
+    AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
 fi
 AC_SUBST(nm_h)
 
This page took 0.073615 seconds and 4 git commands to generate.