dnl Autoconf configure script for GDB, the GNU debugger.
-dnl Copyright 1995, 1996 Free Software Foundation, Inc.
+dnl Copyright 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
dnl
dnl This file is part of GDB.
dnl
AC_PROG_CC
AC_AIX
-AC_MINIX
AC_ISC_POSIX
-DLLTOOL=${DLLTOOL-dlltool}
-AC_SUBST(DLLTOOL)
-
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
AC_CANONICAL_SYSTEM
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(RANLIB, ranlib, :)
AC_PROG_YACC
-AC_PROG_AWK
AC_ARG_PROGRAM
AC_TYPE_SIGNAL
AC_HEADER_STDC
-AC_CHECK_HEADERS(limits.h memory.h string.h strings.h unistd.h termios.h termio.h sgtty.h stddef.h stdlib.h sys/procfs.h link.h endian.h objlist.h libintl.h wctype.h wchar.h)
+AC_CHECK_HEADERS(ctype.h curses.h endian.h libintl.h link.h \
+ memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \
+ string.h sys/procfs.h sys/ptrace.h sys/reg.h \
+ term.h termio.h termios.h unistd.h wait.h sys/wait.h \
+ wchar.h wctype.h asm/debugreg.h)
AC_HEADER_STAT
AC_C_CONST
-AC_CHECK_FUNCS(setpgid sbrk select poll sigaction isascii bzero bcopy memcpy btowc)
+AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc)
AC_FUNC_ALLOCA
+BFD_NEED_DECLARATION(malloc)
+BFD_NEED_DECLARATION(realloc)
+BFD_NEED_DECLARATION(free)
+BFD_NEED_DECLARATION(strerror)
+BFD_NEED_DECLARATION(strdup)
+
# If we are configured native on GNU/Linux, work around problems with sys/procfs.h
if test "${target}" = "${host}"; then
case "${host}" in
dnl See if host has libm. This is usually needed by simulators.
AC_CHECK_LIB(m, main)
+dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
+dnl
+dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
+dnl under Solaris 2.6 because it is some funky empty library.
+dnl So only link in libw if we have to.
+AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
+
dnl See if compiler supports "long long" type.
AC_MSG_CHECKING(for long long support in compiler)
AC_FUNC_MMAP
-BFD_NEED_DECLARATION(malloc)
-BFD_NEED_DECLARATION(realloc)
-BFD_NEED_DECLARATION(free)
-
-BFD_NEED_DECLARATION(strerror)
-
dnl See if thread_db library is around for Solaris thread debugging. Note that
dnl we must explicitly test for version 1 of the library because version 0
dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
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)
+ fi
else
AC_MSG_RESULT(no)
fi
CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
fi
+AC_ARG_ENABLE(build-warnings,
+[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
+[build_warnings="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
+case "${enableval}" in
+ yes) ;;
+ no) build_warnings="-w";;
+dnl ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
+dnl build_warnings="${build_warnings} ${t}";;
+dnl *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
+dnl build_warnings="${t} ${build_warnings}";;
+dnl *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
+ *) ;;
+esac],[build_warnings=""])dnl
+
+if test "x${build_warnings}" != x -a "x$GCC" = xyes
+then
+ WARN_CFLAGS="${build_warnings}"
+else
+ WARN_CFLAGS=""
+fi
+AC_SUBST(WARN_CFLAGS)
+
MMALLOC_CFLAGS=
MMALLOC=
AC_SUBST(MMALLOC_CFLAGS)
AC_SUBST(MMALLOC)
AC_ARG_WITH(mmalloc,
-[ --with-mmalloc use memory mapped malloc package],
+[ --with-mmalloc Use memory mapped malloc package],
[case "${withval}" in
yes) want_mmalloc=true ;;
no) want_mmalloc=false;;
MMALLOC='../mmalloc/libmmalloc.a'
fi
+# start-sanitize-carp
+# The below takes an educated guess at the targets that
+# should be built. It is an interum version that provides
+# significant backward compatibility.
+
+AC_ARG_ENABLE(carp,
+[ --enable-carp Configure alternative readaptive paradigm ],
+[case "${enableval}" in
+ yes) enable_carp=yes ;;
+ no) enable_carp=no ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for carp option]) ;;
+esac],[enable_carp=no])dnl
+
+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])dnl
+
+# Canonicalize the secondary target names.
+all_targets=false
+if test -n "$enable_targets" ; then
+ if test "$enable_targets" = all ; then
+ all_targets=true
+ else
+ for targ in `echo $enable_targets | sed 's/,/ /g'`
+ do
+ result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ 2>/dev/null`
+ if test -n "$result" ; then
+ canon_targets="$canon_targets $result"
+ fi
+ done
+ fi
+fi
+
+# Convert the target names into GDB [*]-tdep.c names
+changequote(,)dnl
+selarchs=
+for targ in $target $canon_targets
+do
+ if test "x$targ" = "xall" ; then
+ all_targets=true
+ else
+ t_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+ t_vendor=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+ t_os=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ mt=`
+target=$targ
+target_cpu=$t_cpu
+target_vendor=$t_vendor
+target_os=$t_os
+. ${srcdir}/configure.tgt
+echo ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt`
+ if test -r ${mt} ; then
+ # This gets confused over .mt files that have multiple -tdep.o
+ tdep=`sed -n '
+s/^.*[ =]\([^ ]*\)-tdep.o.*/\1/p
+' $mt`
+ selarchs="$selarchs $tdep"
+ fi
+ fi
+done
+changequote([,])dnl
+
+# We don't do any links based on the target system, just makefile config.
+
+if test x${all_targets} = xfalse ; then
+
+ # Target architecture .o files.
+ ta=
+
+ for arch in $selarchs
+ do
+ archdefs="$archdefs -DARCH_$arch"
+ ta="$ta ${arch}-tdep.o"
+ # Special cases
+ case "$arch" in
+ dvp) ta="$ta mips-tdep.o dvp-tdep.o" ;;
+ esac
+ done
+
+ # Weed out duplicate .o files.
+ f=""
+ for i in $ta ; do
+ case " $f " in
+ *" $i "*) ;;
+ *) f="$f $i" ;;
+ esac
+ done
+ ta="$f"
+
+ # And duplicate -D flags.
+ f=""
+ for i in $archdefs ; do
+ case " $f " in
+ *" $i "*) ;;
+ *) f="$f $i" ;;
+ esac
+ done
+ archdefs="$f"
+
+ MACHINE_OBS="$ta"
+
+else # all_targets is true
+ archdefs=-DARCH_all
+ MACHINE_OBS='$(ALL_MACHINES)'
+fi
+
+dnl Don't define an archdefs list
+dnl AC_SUBST(archdefs)
+dnl XXXX this name will change several more times
+if test "${enable_carp}" = yes ; then
+ gdb_target=carp
+ gdb_target_cpu=carp
+else
+ MACHINE_OBS="# $MACHINE_OBS"
+fi
+AC_SUBST(MACHINE_OBS)
+
+# end-sanitize-carp
# start-sanitize-gdbtk
+# start-sanitize-ide
ENABLE_IDE=
AC_ARG_ENABLE(ide, [ --enable-ide Enable IDE support])
if test "$enable_ide" = yes; then
fi
AC_SUBST(ENABLE_IDE)
+AC_ARG_WITH(foundry-libs,
+[ --with-foundry-libs=DIR Use the Foundry SDK in DIR],
+[FOUNDRY_LIB_BASE=${withval}])
+AC_SUBST(FOUNDRY_LIB_BASE)
+
+#
+# This is the Foundry SDK
+#
+# These variables are used to determine where the Foundry libs and
+# header files are located.
+#
+if test "$FOUNDRY_LIB_BASE" != ""; then
+ LIBGUI="${FOUNDRY_LIB_BASE}/lib/libgui.a"
+ GUI_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
+ if test x$enable_ide = xyes; then
+ IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include -DIDE"
+ IDE_X="-L${FOUNDRY_LIB_BASE}/lib -lilu-Tk -lilu-c -lilu"
+ else
+ IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
+ fi
+ LIBIDETCL="${FOUNDRY_LIB_BASE}/lib/libidetcl.a"
+ LIBIDE="${FOUNDRY_LIB_BASE}/lib/libide.a"
+ IDE_DEPS="${FOUNDRY_LIB_BASE}/lib/libilu-Tk.a ${FOUNDRY_LIB_BASE}/lib/libilu-c.a ${FOUNDRY_LIB_BASE}/lib/libilu.a"
+else
+ LIBGUI="../libgui/src/libgui.a"
+ GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
+ if test x$enable_ide = xyes; then
+ IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src -DIDE -I${srcdir}/../ilu/runtime/mainloop"
+ IDE_X="-L../ilu/runtime/mainloop -lilu-Tk -L../ilu/runtime/c -lilu-c -L../ilu/runtime/kernel -lilu"
+ else
+ IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src"
+ fi
+ LIBIDETCL="../libidetcl/src/libidetcl.a"
+ LIBIDE="../libide/src/libide.a"
+ IDE_DEPS="../ilu/runtime/mainloop/libilu-Tk.a ../ilu/runtime/c/libilu-c.a ../ilu/runtime/kernel/libilu.a"
+fi
+AC_SUBST(LIBGUI)
+AC_SUBST(GUI_CFLAGS_X)
+AC_SUBST(IDE_CFLAGS_X)
+AC_SUBST(IDE_X)
+AC_SUBST(LIBIDETCL)
+AC_SUBST(LIBIDE)
+AC_SUBST(IDE_DEPS)
+# end-sanitize-ide
+
ENABLE_GDBTK=
AC_ARG_ENABLE(gdbtk,
-[ --enable-gdbtk ],
+[ --enable-gdbtk Enable GDBTK GUI front end],
[case "${enableval}" in
yes)
case "$host" in
AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
esac],
[
-# Default is on for everything but go32 and cygwin32
+# Default is on for everything but go32 and Cygwin
case "$host" in
*go32* | *windows*)
;;
esac
])
-# In the cygwin32 environment, we need some additional flags.
+# In the Cygwin environment, we need some additional flags.
AC_CACHE_CHECK([for cygwin32], gdb_cv_os_cygwin32,
[AC_EGREP_CPP(lose, [
#ifdef __CYGWIN32__
AC_SUBST(WIN32LIBS)
AC_SUBST(WIN32LDAPP)
+DLLTOOL=${DLLTOOL-dlltool}
WINDRES=${WINDRES-windres}
+AC_SUBST(DLLTOOL)
AC_SUBST(WINDRES)
if test x$gdb_cv_os_cygwin32 = xyes; then
TIXVERSION=4.1.8.0
. ${ac_cv_c_tclconfig}/tclConfig.sh
case "${host}" in
- *-*-cygwin32*)
+ *-*-cygwin*)
tixdir=../tix/win/tcl8.0
;;
*)
fi
ENABLE_GDBTK=1
+ ENABLE_CFLAGS="${ENABLE_CFLAGS} -DGDBTK"
# Include some libraries that Tcl and Tk want.
if test "${enable_ide}" = "yes"; then
# 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} gdbtk.o"
+ CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o"
if test x$gdb_cv_os_cygwin32 = xyes; then
WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
# start-sanitize-sky
# Enable GPU2 library for MIPS simulator
AC_ARG_WITH(sim-gpu2,
-[ --with-sim-gpu2=path Use GPU2 library under given directory],
+[ --with-sim-gpu2=DIR Use GPU2 library under given DIR],
[case "${target}" in
- mips*-sky-*)
+ mips*-sky*-*)
if test -d "${withval}"
then
- LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 lXext"
+ LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 -lXext"
else
AC_MSG_WARN([Directory ${withval} does not exist.])
fi ;;
# Enable target accurate FP library
AC_ARG_WITH(sim-funit,
-[ --with-sim-funit=path Use target FP lib under given directory],
+[ --with-sim-funit=DIR Use target FP lib under given DIR],
[case "${target}" in
- mips*-sky-*)
+ mips*-sky*-*)
if test -d "${withval}"
then
LIBS="${LIBS} -L${withval}/lib -lfunit"
esac])dnl
# end-sanitize-sky
-dnl Solaris puts wctype in /usr/lib/libw.a
-AC_CHECK_LIB(w, wctype, [LIBS="$LIBS -lw"])
-
AC_SUBST(ENABLE_CFLAGS)
AC_SUBST(CONFIG_OBS)
# Begin stuff to support --enable-shared
AC_ARG_ENABLE(shared,
-[ --enable-shared use shared libraries],
+[ --enable-shared Use shared libraries],
[case "${enableval}" in
yes) shared=true ;;
no) shared=false ;;
# start-sanitize-gdbtk
AC_PROG_LN_S
# Make it possible to use the GUI without doing a full install
-if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl ; then
- if test "$LN_S" = "ln -s" -a ! -f gdbtcl ; then
- echo linking $srcdir/gdbtcl to gdbtcl
- $LN_S $srcdir/gdbtcl gdbtcl
+if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl2 ; then
+ if test "$LN_S" = "ln -s" -a ! -f gdbtcl2 ; then
+ echo linking $srcdir/gdbtcl2 to gdbtcl2
+ $LN_S $srcdir/gdbtcl2 gdbtcl2
else
- echo Warning: Unable to link $srcdir/gdbtcl to gdbtcl. You will need to do a
+ echo Warning: Unable to link $srcdir/gdbtcl2 to gdbtcl2. You will need to do a
echo " " make install before you are able to run the GUI.
fi
fi
AC_LINK_FILES($files, $links)
dnl Check for exe extension set on certain hosts (e.g. Win32)
-AM_EXEEXT
+AC_EXEEXT
AC_CONFIG_SUBDIRS($configdirs)
AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
])
exit 0
-