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 Free Software Foundation, Inc.
dnl
dnl This file is part of GDB.
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 Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl Boston, MA 02110-1301, USA.
dnl Process this file with autoconf to produce a configure script.
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=
*)
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
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"
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.
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)
# unconditionally, so what's the point in checking these?
AC_CHECK_HEADERS(ctype.h time.h)
-dnl Check for struct stat with an st_blocks member
-AC_MSG_CHECKING(for member st_blocks in struct stat)
-AC_CACHE_VAL(gdb_cv_have_struct_stat_with_st_blocks_member,
- [AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/stat.h>],
- [struct stat st; (void) st.st_blocks;],
- gdb_cv_have_struct_stat_with_st_blocks_member=yes,
- gdb_cv_have_struct_stat_with_st_blocks_member=no)])
-AC_MSG_RESULT($gdb_cv_have_struct_stat_with_st_blocks_member)
-if test $gdb_cv_have_struct_stat_with_st_blocks_member = yes; then
- AC_DEFINE(HAVE_STRUCT_STAT_ST_BLOCKS)
-fi
-
# ------------------------- #
# Checks for declarations. #
# ------------------------- #
-gcc_AC_CHECK_DECLS(getopt)
+AC_CHECK_DECLS([free, malloc, realloc])
+AC_CHECK_DECLS([strerror, strstr])
+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. #
AC_FUNC_MMAP
AC_FUNC_VFORK
AC_CHECK_FUNCS(canonicalize_file_name realpath)
+AC_CHECK_FUNCS(getuid getgid)
AC_CHECK_FUNCS(poll)
AC_CHECK_FUNCS(pread64)
AC_CHECK_FUNCS(sbrk)
#endif
'
# There is no point in checking if we don't have a prototype.
-gcc_AC_CHECK_DECLS(ptrace, , [
+AC_CHECK_DECLS(ptrace, [], [
: ${gdb_cv_func_ptrace_ret='int'}
: ${gdb_cv_func_ptrace_args='int,int,long,long'}
], $gdb_ptrace_headers)
[Define to 1 if the regex included in libiberty should be used.])
fi
-# See if <sys/proc.h> defines `struct thread' with a td_pcb member.
-AC_CACHE_CHECK([for td_pcb in struct thread], gdb_cv_struct_thread_td_pcb,
-[AC_TRY_COMPILE([#include <sys/param.h>
-#include <sys/proc.h>], [struct thread td; td.td_pcb;],
-gdb_cv_struct_thread_td_pcb=yes, gdb_cv_struct_thread_td_pcb=no)])
-if test $gdb_cv_struct_thread_td_pcb = yes; then
- AC_DEFINE(HAVE_STRUCT_THREAD_TD_PCB, 1,
- [Define to 1 if your system has td_pcb in struct thread.])
-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,
# 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_CACHE_CHECK([for r_fs in struct reg], gdb_cv_struct_reg_r_fs,
-[AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_fs;],
-gdb_cv_struct_reg_r_fs=yes, gdb_cv_struct_reg_r_fs=no)])
-if test $gdb_cv_struct_reg_r_fs = yes; then
- AC_DEFINE(HAVE_STRUCT_REG_R_FS)
-fi
-AC_CACHE_CHECK([for r_gs in struct reg], gdb_cv_struct_reg_r_gs,
-[AC_TRY_COMPILE([#include <machine/reg.h>], [struct reg r; r.r_gs;],
-gdb_cv_struct_reg_r_gs=yes, gdb_cv_struct_reg_r_gs=no)])
-if test $gdb_cv_struct_reg_r_gs = yes; then
- AC_DEFINE(HAVE_STRUCT_REG_R_GS)
-fi
+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)
[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.
[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.
[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.
[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)
-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.])
+ AC_DEFINE(HAVE_PT_GETXMMREGS, 1,
+ [Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
fi
-BFD_NEED_DECLARATION(malloc)
-BFD_NEED_DECLARATION(realloc)
-BFD_NEED_DECLARATION(free)
-BFD_NEED_DECLARATION(strerror)
-BFD_NEED_DECLARATION(strdup)
-BFD_NEED_DECLARATION(strstr)
-BFD_NEED_DECLARATION(canonicalize_file_name)
-
# 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.
if test "${target}" = "${host}"; then
case "${host}" in
i[[3456]]86-*-linux*)
- AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
- AC_DEFINE(sys_quotactl)
+ AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED, 2,
+ [Define on a GNU/Linux system to work around problems in sys/procfs.h.])
+ AC_DEFINE(sys_quotactl, 1,
+ [Define on a GNU/Linux system to work around problems in sys/procfs.h.])
;;
- ia64-*-aix*)
- AC_DEFINE(NEW_PROC_API)
- ;;
*-*-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
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
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
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
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
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
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
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
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)
])
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)
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.
# NOTE: If you add to this list, remember to update
# gdb/doc/gdbint.texinfo.
build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
--Wformat -Wparentheses -Wpointer-arith -Wuninitialized -Wformat-nonliteral \
+-Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral \
-Wunused-label -Wunused-function"
+
+# GCC supports -Wuninitialized only with -O or -On, n != 0.
+if test x${CFLAGS+set} = xset; then
+ case "${CFLAGS}" in
+ *"-O0"* ) ;;
+ *"-O"* )
+ build_warnings="${build_warnings} -Wuninitialized"
+ ;;
+ esac
+else
+ build_warnings="${build_warnings} -Wuninitialized"
+fi
+
# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
# -Wunused-function -Wunused-variable -Wunused-value
# -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
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" ;;
esac
AC_SUBST(SER_HARDWIRE)
;;
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)
LIBGUI="../libgui/src/libgui.a"
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)'
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)
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)
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)
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)