AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
AC_CANONICAL_SYSTEM
+dnl gdb doesn't use gettext, but bfd does. We call this to ensure we
+dnl link with the correct libraries.
+ALL_LINGUAS=
+CY_GNU_GETTEXT
+
dnl List of object files added by configure.
CONFIG_OBS=
CONFIG_DEPS=
+CONFIG_SRCS=
configdirs="doc testsuite"
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)
+AC_CHECK_HEADERS(ctype.h curses.h endian.h libintl.h limits.h link.h \
+ memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \
+ string.h strings.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)
+
AC_HEADER_STAT
AC_C_CONST
-AC_CHECK_FUNCS(setpgid sbrk select poll sigaction)
+AC_CHECK_FUNCS(setpgid sbrk select poll sigaction isascii bzero bcopy \
+ memcpy btowc)
+AC_FUNC_ALLOCA
-# If we are configured native on Linux, work around problems with sys/procfs.h
+# If we are configured native on GNU/Linux, work around problems with sys/procfs.h
if test "${target}" = "${host}"; then
case "${host}" in
- i[3456]86-*-linux*)
- AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,"2")
+ i[[3456]]86-*-linux*)
+ AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
AC_DEFINE(sys_quotactl)
;;
esac
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.
dnl 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)
- CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
- else
- AC_MSG_RESULT(no (suppressed because you are not using GCC))
- fi
- else
- AC_MSG_RESULT(no)
- fi
- ;;
- solaris*)
- 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)
- CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
- AC_CHECK_LIB(dl, dlopen)
- if test "$GCC" = "yes" ; then
- CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Xlinker -export-dynamic"
- fi
- else
- AC_MSG_RESULT(no)
- fi
- ;;
- esac
- AC_SUBST(CONFIG_LDFLAGS)
+ 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)
+ CONFIG_OBS="${CONFIG_OJS} 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*)
+ 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)
+ 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
+ else
+ AC_MSG_RESULT(no)
+ fi
+ ;;
+ esac
+ AC_SUBST(CONFIG_LDFLAGS)
fi
dnl Handle optional features that can be enabled.
if test "${enable_netrom}" = "yes"; then
CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
+ CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
+fi
+
+AC_ARG_ENABLE(warnings,
+[ --enable-build-warnings Enable compiler warnings if gcc is used],
+[case "${enableval}" in
+yes) enable_build_warnings=yes ;;
+no) enable_build_warnings=no ;;
+*) AC_MSG_ERROR(bad value ${enableval} given for warnings options) ;;
+esac])
+
+if test "x$enable_build_warnings" = xyes -a "x$GCC" = xyes
+then
+ WARN_CFLAGS="-Wall -Wstrict-prototypes -Wmissing-prototypes"
+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],
+[case "${withval}" in
+ yes) want_mmalloc=true ;;
+ no) want_mmalloc=false;;
+ *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
+esac],[want_mmalloc=false])dnl
+
+if test x$want_mmalloc = xtrue; then
+ AC_DEFINE(USE_MMALLOC)
+ AC_DEFINE(MMCHECK_FORCE)
+ MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
+ MMALLOC='../mmalloc/libmmalloc.a'
fi
# 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_SUBST(WIN32LIBS)
AC_SUBST(WIN32LDAPP)
+WINDRES=${WINDRES-windres}
+AC_SUBST(WINDRES)
+
if test x$gdb_cv_os_cygwin32 = xyes; then
if test x$enable_ide = xyes; then
WIN32LIBS="-ladvapi32"
configdir="unix"
+GDBTKLIBS=
if test "${enable_gdbtk}" = "yes"; then
CY_AC_PATH_TCLCONFIG
tixdir=../tix/unix/tk8.0
;;
esac
+ if test "${TCL_SHARED_BUILD}" = "1"; then
+ TIX_LIB_EXT="${TCL_SHLIB_SUFFIX}"
+
+ # Can't win them all: SunOS 4 (others?) appends a version
+ # number after the ".so"
+ case "${host}" in
+ *-*-sunos4*)
+ TIX_LIB_EXT="${TIX_LIB_EXT}.1.0" ;;
+ esac
+
+ else
+ TIX_LIB_EXT=".a"
+ fi
+
if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
TIXLIB="-L${tixdir} -ltix${TIXVERSION}"
- TIX_DEPS="${tixdir}/libtix${TIXVERSION}.a"
+ TIX_DEPS="${tixdir}/libtix${TIXVERSION}${TIX_LIB_EXT}"
else
TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`"
- TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`.a"
+ TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}"
fi
ENABLE_GDBTK=1
+ ENABLE_CFLAGS="${ENABLE_CFLAGS} -DGDBTK"
# Include some libraries that Tcl and Tk want.
if test "${enable_ide}" = "yes"; then
- TCL_LIBS='$(LIBIDE) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
- CONFIG_DEPS='$(LIBIDE) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
+ TCL_LIBS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
+ CONFIG_DEPS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
else
- TCL_LIBS='$(LIBIDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
- CONFIG_DEPS='$(LIBIDE) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
+ TCL_LIBS='$(LIBGUI) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
+ CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
fi
# 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.
- LIBS="${LIBS} ${TCL_LIBS} ${TK_LIBS}"
- CONFIG_OBS="${CONFIG_OBS} gdbtk.o"
+ # 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} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o"
if test x$gdb_cv_os_cygwin32 = xyes; then
WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
- WIN32LDAPP="-Wl,--subsystem,windows"
+ WIN32LDAPP="-Wl,--subsystem,console"
+ CONFIG_OBS="${CONFIG_OBS} gdbres.o"
fi
fi
fi
AC_SUBST(X_LIBS)
AC_SUBST(TIXLIB)
AC_SUBST(TIX_DEPS)
+AC_SUBST(GDBTKLIBS)
# end-sanitize-gdbtk
+AC_PATH_X
+# start-sanitize-sky
+# Enable GPU2 library for MIPS simulator
+AC_ARG_WITH(sim-gpu2,
+[ --with-sim-gpu2=DIR Use GPU2 library under given DIR],
+[case "${target}" in
+ mips*-sky-*)
+ if test -d "${withval}"
+ then
+ LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 -lXext"
+ else
+ AC_MSG_WARN([Directory ${withval} does not exist.])
+ fi ;;
+ *) AC_MSG_WARN([--with-sim-gpu2 option invalid for target ${target}])
+esac])dnl
+
+# Enable target accurate FP library
+AC_ARG_WITH(sim-funit,
+[ --with-sim-funit=DIR Use target FP lib under given DIR],
+[case "${target}" in
+ mips*-sky-*)
+ if test -d "${withval}"
+ then
+ LIBS="${LIBS} -L${withval}/lib -lfunit"
+ else
+ AC_MSG_WARN([Directory ${withval} does not exist.])
+ fi ;;
+ *) AC_MSG_WARN([--with-sim-funit option invalid for target ${target}])
+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)
AC_SUBST(CONFIG_DEPS)
+AC_SUBST(CONFIG_SRCS)
# 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 ;;