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_C_CONST
-AC_CHECK_FUNCS(setpgid sbrk select poll)
+AC_CHECK_FUNCS(setpgid sbrk select poll sigaction)
+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
AC_CACHE_VAL(gdb_cv_printf_has_long_long,
[AC_TRY_RUN([
int main () {
- char buf[16];
- long long l = 0x12345;
- sprintf (buf, "%llx", l);
- return (strcmp ("12345", buf));
+ char buf[32];
+ long long l = 0;
+ l = (l << 16) + 0x0123;
+ l = (l << 16) + 0x4567;
+ l = (l << 16) + 0x89ab;
+ l = (l << 16) + 0xcdef;
+ sprintf (buf, "0x%016llx", l);
+ return (strcmp ("0x0123456789abcdef", buf));
}],
gdb_cv_printf_has_long_long=yes,
gdb_cv_printf_has_long_long=no,
fi
AC_MSG_RESULT($gdb_cv_printf_has_long_double)
+dnl See if the compiler and runtime support scanning long doubles
+
+AC_MSG_CHECKING(for long double support in scanf)
+AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
+[AC_TRY_RUN([
+int main () {
+ char *buf = "3.141592653";
+ long double f = 0;
+ sscanf (buf, "%Lg", &f);
+ return !(f > 3.14159 && f < 3.14160);
+}],
+gdb_cv_scanf_has_long_double=yes,
+gdb_cv_scanf_has_long_double=no,
+gdb_cv_scanf_has_long_double=no)])
+if test $gdb_cv_scanf_has_long_double = yes; then
+ AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
+fi
+AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
+
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.
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
-# start-sanitize-gm
-ENABLE_GM=
-
-AC_ARG_ENABLE(gm,
-[ --enable-gm ],
-[case "${enableval}" in
-yes) CONFIG_OBS="${CONFIG_OBS} gmagic.o"
- ENABLE_CFLAGS=-DGENERAL_MAGIC
- ;;
-no) ;;
-*) AC_MSG_ERROR(bad value ${enableval} given for gm option) ;;
-esac])
-
-# end-sanitize-gm
+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
ENABLE_IDE=
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
. ${ac_cv_c_tclconfig}/tclConfig.sh
case "${host}" in
*-*-cygwin32*)
- tixdir=../tix/win/tcl7.6
+ tixdir=../tix/win/tcl8.0
;;
*)
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}${TIX_LIB_EXT}"
else
TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`"
+ TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}"
fi
ENABLE_GDBTK=1
# Include some libraries that Tcl and Tk want.
if test "${enable_ide}" = "yes"; then
- TCL_LIBS='$(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
+ 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='$(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
+ 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}"
+ # 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"
if test x$gdb_cv_os_cygwin32 = xyes; then
- WIN32LIBS="${WIN32LIBS} -luser32"
+ WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
WIN32LDAPP="-Wl,--subsystem,windows"
+ CONFIG_OBS="${CONFIG_OBS} gdbres.o"
fi
fi
fi
AC_SUBST(X_LDFLAGS)
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=path Use GPU2 library under given directory],
+[case "${target}" in
+ mips*-sky-*)
+ if test -d "${withval}"
+ then
+ LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11"
+ 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=path Use target FP lib under given directory],
+[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
+
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,
AC_LINK_FILES($files, $links)
+dnl Check for exe extension set on certain hosts (e.g. Win32)
+AM_EXEEXT
+
AC_CONFIG_SUBDIRS($configdirs)
AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
[