+dnl Autoconf configure script for GDB, the GNU debugger.
+dnl Copyright 1995, 1996 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 (at your option) any later version.
+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 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 Process this file with autoconf to produce a configure script.
+
AC_PREREQ(2.3)dnl
AC_INIT(main.c)
-CC=${CC-cc}
AC_PROG_CC
AC_AIX
AC_MINIX
AC_ARG_PROGRAM
AC_HEADER_STDC
-AC_CHECK_HEADERS(memory.h string.h strings.h unistd.h termios.h termio.h sgtty.h)
+AC_CHECK_HEADERS(memory.h string.h strings.h unistd.h termios.h termio.h sgtty.h stddef.h sys/procfs.h)
AC_HEADER_STAT
+AC_MSG_CHECKING([for gregset_t type])
+AC_CACHE_VAL(gdb_have_gregset_t,
+[AC_TRY_LINK([#include <sys/procfs.h>],[gregset_t *gregsetp = 0],
+gdb_have_gregset_t=yes, gdb_have_gregset_t=no)])
+AC_MSG_RESULT($gdb_have_gregset_t)
+if test $gdb_have_gregset_t = yes; then
+ AC_DEFINE(HAVE_GREGSET_T)
+fi
+
+AC_MSG_CHECKING([for fpregset_t type])
+AC_CACHE_VAL(gdb_have_fpregset_t,
+[AC_TRY_LINK([#include <sys/procfs.h>],[fpregset_t *fpregsetp = 0],
+gdb_have_fpregset_t=yes, gdb_have_fpregset_t=no)])
+AC_MSG_RESULT($gdb_have_fpregset_t)
+if test $gdb_have_fpregset_t = yes; then
+ AC_DEFINE(HAVE_FPREGSET_T)
+fi
+
AC_FUNC_MMAP
dnl Handle optional features that can be enabled.
ENABLE_OBS="${ENABLE_OBS} remote-nrom.o"
fi
+# start-sanitize-gm
+ENABLE_GM=
+
+AC_ARG_ENABLE(gm,
+[ --enable-gm ],
+[case "${enableval}" in
+yes) ENABLE_OBS="${ENABLE_OBS} gmagic.o"
+ ENABLE_CFLAGS=-DGENERAL_MAGIC
+ ;;
+no) ;;
+*) AC_MSG_ERROR(bad value ${enableval} given for gm option) ;;
+esac])
+
+# end-sanitize-gm
+
+AC_ARG_ENABLE(sim-powerpc,
+[ --enable-sim-powerpc ],
+[case "${enableval}" in
+yes) powerpc_sim=yes ;;
+no) powerpc_sim=no ;;
+*) AC_MSG_ERROR(bad value ${enableval} given for sim-powerpc option) ;;
+esac],[if test x"$GCC" != x""; then powerpc_sim=yes; else powerpc_sim=no; fi])
+
# start-sanitize-gdbtk
ENABLE_GDBTK=
AC_ARG_ENABLE(gdbtk,
[ --enable-gdbtk ],
[case "${enableval}" in
-yes) enable_gdbtk=yes ;;
-no) enable_gdbtk=no ;;
-*) AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
-esac])
+ yes)
+ case "$host" in
+ *go32*)
+ AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
+ enable_gdbtk=no ;;
+ *)
+ enable_gdbtk=yes ;;
+ esac ;;
+ no)
+ enable_gdbtk=no ;;
+ *)
+ AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
+esac],
+[
+# Default is on for everything but go32
+case "$host" in
+ *go32*)
+ ;;
+ *)
+ enable_gdbtk=yes ;;
+ esac
+])
if test "${enable_gdbtk}" = "yes"; then
- AC_PATH_X
- AC_PATH_XTRA
-
- CYGNUS_PATH_TK
- CYGNUS_PATH_TCL
-
- ENABLE_GDBTK=1
-
- if test "x$x_includes" != "x" ;
- then
- X_INCDIR="-I$x_includes"
- else
- X_INCDIR=""
- fi
-
- if test "x$x_libraries" != "x" ;
- then
- X_LIBDIR="-L$x_libraries"
- else
- X_LIBDIR=""
- fi
-
- TCL_LIBS='$(TCL) $(TK) $(X11)'
- ENABLE_CLIBS="${ENABLE_CLIBS} ${TCL_LIBS} -lm"
- ENABLE_OBS="${ENABLE_OBS} gdbtk.o"
+
+ AC_PATH_X
+ AC_PATH_XTRA
+
+ CY_AC_PATH_TCL
+ CY_AC_PATH_TK
+
+ # Look for dynamic linking libraries that Tcl might need. This is
+ # only done for Tcl 7.5 and greater. It would be good to look for and
+ # use the "configInfo" file that Tcl generates, but for now that is
+ # beyond us.
+ if test $tclmajor -ge 7 -a $tclminor -ge 5 ; then
+ AC_CHECK_LIB(dl, main, , AC_CHECK_LIB(dld, main))
+ fi
+
+ ENABLE_GDBTK=1
+
+ if test "x$no_x" != "xyes"; then
+ if test "x$x_includes" != "x" ;
+ then
+ X_CFLAGS="-I$x_includes"
+ else
+ X_CFLAGS=""
+ fi
+
+ if test "x$x_libraries" != "x" ;
+ then
+ X_LDFLAGS="-L$x_libraries"
+ else
+ X_LDFLAGS=""
+ fi
+
+ case "$host" in
+#
+# gdb linked statically w/ Solaris iff GCC is used, otherwise dynamic
+#
+ sparc*-sun-solaris2*)
+ if test "x$GCC" = "xyes";
+ then
+ X_LIBS="-Wl,-Bstatic -lX11 -lXext -lX11 -Wl,-Bdynamic -ldl -lw"
+ else
+ if test "x$x_libraries" != "x" ;
+ then
+ X_LDFLAGS="$X_LDFLAGS -R$x_libraries"
+ fi
+ X_LIBS="-lX11 -lXext -lX11"
+ fi ;;
+#
+# gdb linked statically w/ SunOS or HPUX
+#
+ m68k-hp-hpux*|hppa*-hp-hpux*|sparc-sun-sunos*)
+ if test "x$x_libraries" != "x" ;
+ then
+ X_LIBS="$x_libraries/libX11.a"
+ else
+ X_LIBS="/usr/lib/libX11.a"
+ fi ;;
+#
+# default is to link dynamically
+#
+ *)
+ X_LIBS="-lX11" ;;
+ esac
+ else
+ X_LDLAGS=""
+ X_CFLAGS=""
+ X_LIBS=""
+ AC_MSG_WARN([No X based programs will be built])
+ fi
+
+ TCL_LIBS='$(TCL) $(TK) $(X11_LDFLAGS) $(X11_LIBS)'
+ ENABLE_CLIBS="${ENABLE_CLIBS} ${TCL_LIBS} -lm"
+ ENABLE_OBS="${ENABLE_OBS} gdbtk.o"
fi
+
AC_SUBST(ENABLE_GDBTK)
-AC_SUBST(X_INCDIR)
-AC_SUBST(X_LIBDIR)
+AC_SUBST(X_CFLAGS)
+AC_SUBST(X_LDFLAGS)
+AC_SUBST(X_LIBS)
# end-sanitize-gdbtk
AC_SUBST(ENABLE_CFLAGS)
AC_SUBST(ENABLE_CLIBS)
AC_SUBST(ENABLE_OBS)
+# target_subdir is used by the testsuite to find the target libraries.
+target_subdir=
+if test "${host}" != "${target}"; then
+ target_subdir="${target_alias}/"
+fi
+AC_SUBST(target_subdir)
configdirs="doc testsuite"
c[12]) gdb_host_cpu=convex ;;
hppa*) gdb_host_cpu=pa ;;
-i[345]86) gdb_host_cpu=i386 ;;
+i[3456]86) gdb_host_cpu=i386 ;;
m68*) gdb_host_cpu=m68k ;;
m88*) gdb_host_cpu=m88k ;;
np1) gdb_host_cpu=gould ;;
pyramid) gdb_host_cpu=pyr ;;
powerpc*) gdb_host_cpu=powerpc ;;
+sparc64) gdb_host_cpu=sparc ;;
*) gdb_host_cpu=$host_cpu ;;
esac
hppa*-*-hpux*) gdb_host=hppahpux ;;
hppa*-*-osf*) gdb_host=hppaosf ;;
-i[345]86-ncr-*) gdb_host=ncr3000 ;;
-i[345]86-sequent-bsd*) gdb_host=symmetry ;; # dynix
-i[345]86-sequent-sysv4*) gdb_host=ptx4 ;;
-i[345]86-sequent-sysv*) gdb_host=ptx ;;
-i[345]86-*-aix*) gdb_host=i386aix ;;
-i[345]86-*-bsd*) gdb_host=i386bsd ;;
-i[345]86-*-freebsd*) gdb_host=fbsd ;;
-i[345]86-*-netbsd*) gdb_host=nbsd ;;
-i[345]86-*-go32*) gdb_host=go32 ;;
-i[345]86-*-linux*) gdb_host=linux ;;
-i[345]86-*-lynxos*) gdb_host=i386lynx ;;
-i[345]86-*-mach3*) gdb_host=i386m3 ;;
-i[345]86-*-mach*) gdb_host=i386mach ;;
-i[345]86-*-osf1mk*) gdb_host=osf1mk ;;
-i[345]86-*-sco3.2v4*) gdb_host=i386sco4 ;;
-i[345]86-*-sco*) gdb_host=i386sco ;;
-i[345]86-*-solaris*) gdb_host=i386sol2 ;;
-i[345]86-*-sunos*) gdb_host=sun386 ;;
-i[345]86-*-sysv3.2*) gdb_host=i386v32 ;;
-i[345]86-*-sysv32*) gdb_host=i386v32 ;;
-i[345]86-*-sysv4*) gdb_host=i386v4 ;;
-i[345]86-*-unixware) gdb_host=i386v4 ;;
-i[345]86-*-sysv*) gdb_host=i386v ;;
-i[345]86-*-isc*) gdb_host=i386v32 ;;
-i[345]86-*-os9k) gdb_host=i386os9k ;;
-i[345]86-*-win32*) gdb_host=win32 ;;
+i[3456]86-ncr-*) gdb_host=ncr3000 ;;
+i[3456]86-sequent-bsd*) gdb_host=symmetry ;; # dynix
+i[3456]86-sequent-sysv4*) gdb_host=ptx4 ;;
+i[3456]86-sequent-sysv*) gdb_host=ptx ;;
+i[3456]86-*-aix*) gdb_host=i386aix ;;
+i[3456]86-*-bsd*) gdb_host=i386bsd ;;
+i[3456]86-*-dgux*) gdb_host=i386dgux ;;
+i[3456]86-*-freebsd*) gdb_host=fbsd ;;
+i[3456]86-*-netbsd*) gdb_host=nbsd ;;
+i[3456]86-*-go32*) gdb_host=go32 ;;
+i[3456]86-*-linux*) gdb_host=linux ;;
+i[3456]86-*-lynxos*) gdb_host=i386lynx ;;
+i[3456]86-*-mach3*) gdb_host=i386m3 ;;
+i[3456]86-*-mach*) gdb_host=i386mach ;;
+i[3456]86-*-osf1mk*) gdb_host=osf1mk ;;
+i[3456]86-*-sco3.2v4*) gdb_host=i386sco4 ;;
+i[3456]86-*-sco*) gdb_host=i386sco ;;
+i[3456]86-*-solaris*) gdb_host=i386sol2 ;;
+i[3456]86-*-sunos*) gdb_host=sun386 ;;
+i[3456]86-*-sysv3.2*) gdb_host=i386v32 ;;
+i[3456]86-*-sysv32*) gdb_host=i386v32 ;;
+i[3456]86-*-sysv4*) gdb_host=i386v4 ;;
+i[3456]86-*-unixware) gdb_host=i386v4 ;;
+i[3456]86-*-sysv*) gdb_host=i386v ;;
+i[3456]86-*-isc*) gdb_host=i386v32 ;;
+i[3456]86-*-os9k) gdb_host=i386os9k ;;
+i[3456]86-*-win32*) gdb_host=win32 ;;
m680[01]0-sun-sunos3*) gdb_host=sun2os3 ;;
m680[01]0-sun-sunos4*) gdb_host=sun2os4 ;;
m68030-sony-*) gdb_host=news1000 ;;
romp-*-*) gdb_host=rtbsd ;;
rs6000-*-lynxos*) gdb_host=rs6000lynx ;;
+rs6000-*-aix4*) gdb_host=aix4 ;;
rs6000-*-*) gdb_host=rs6000 ;;
sparc-*-lynxos*) gdb_host=sparclynx ;;
sparc-*-sunos4*) gdb_host=sun4os4 ;;
sparc-*-sunos5*) gdb_host=sun4sol2 ;;
sparc-*-*) gdb_host=sun4os4 ;;
+sparc64-*-*) gdb_host=sun4sol2 ;;
tahoe-*-*) gdb_host=tahoe ;;
alpha) gdb_target_cpu=alpha ;;
c[12]) gdb_target_cpu=convex ;;
hppa*) gdb_target_cpu=pa ;;
-i[345]86) gdb_target_cpu=i386 ;;
+i[3456]86) gdb_target_cpu=i386 ;;
m68*) gdb_target_cpu=m68k ;;
m88*) gdb_target_cpu=m88k ;;
mips*) gdb_target_cpu=mips ;;
hppa*-*-hiux*) gdb_target=hppahpux ;;
hppa*-*-osf*) gdb_target=hppaosf ;;
-i[345]86-sequent-bsd*) gdb_target=symmetry ;;
-i[345]86-sequent-sysv4*) gdb_target=ptx4 ;;
-i[345]86-sequent-sysv*) gdb_target=ptx ;;
-i[345]86-ncr-*) gdb_target=ncr3000 ;;
-i[345]86-*-aout*) gdb_target=i386aout ;;
-i[345]86-*-coff*) gdb_target=i386v ;;
-i[345]86-*-elf*) gdb_target=i386v ;;
-i[345]86-*-aix*) gdb_target=i386aix ;;
-i[345]86-*-bsd*) gdb_target=i386bsd ;;
-i[345]86-*-freebsd*) gdb_target=fbsd ;;
-i[345]86-*-netbsd*) gdb_target=nbsd ;;
-i[345]86-*-os9k) gdb_target=i386os9k ;;
-i[345]86-*-go32*) gdb_target=i386aout ;;
-i[345]86-*-lynxos*) gdb_target=i386lynx
+i[3456]86-sequent-bsd*) gdb_target=symmetry ;;
+i[3456]86-sequent-sysv4*) gdb_target=ptx4 ;;
+i[3456]86-sequent-sysv*) gdb_target=ptx ;;
+i[3456]86-ncr-*) gdb_target=ncr3000 ;;
+i[3456]86-*-aout*) gdb_target=i386aout ;;
+i[3456]86-*-coff*) gdb_target=i386v ;;
+i[3456]86-*-elf*) gdb_target=i386v ;;
+i[3456]86-*-aix*) gdb_target=i386aix ;;
+i[3456]86-*-bsd*) gdb_target=i386bsd ;;
+i[3456]86-*-freebsd*) gdb_target=fbsd ;;
+i[3456]86-*-netbsd*) gdb_target=nbsd ;;
+i[3456]86-*-os9k) gdb_target=i386os9k ;;
+i[3456]86-*-go32*) gdb_target=i386aout ;;
+i[3456]86-*-lynxos*) gdb_target=i386lynx
configdirs="${configdirs} gdbserver" ;;
-i[345]86-*-solaris*) gdb_target=i386sol2 ;;
-i[345]86-*-sunos*) gdb_target=sun386 ;;
-i[345]86-*-sysv4*) gdb_target=i386v4 ;;
-i[345]86-*-sco*) gdb_target=i386v ;;
-i[345]86-*-sysv*) gdb_target=i386v ;;
-i[345]86-*-linux*) gdb_target=linux ;;
-i[345]86-*-isc*) gdb_target=i386v ;;
-i[345]86-*-mach3*) gdb_target=i386m3 ;;
-i[345]86-*-mach*) gdb_target=i386mach ;;
-i[345]86-*-netware*) gdb_target=i386nw
+i[3456]86-*-solaris*) gdb_target=i386sol2 ;;
+i[3456]86-*-sunos*) gdb_target=sun386 ;;
+i[3456]86-*-sysv4*) gdb_target=i386v4 ;;
+i[3456]86-*-sco*) gdb_target=i386v ;;
+i[3456]86-*-sysv*) gdb_target=i386v ;;
+i[3456]86-*-linux*) gdb_target=linux ;;
+i[3456]86-*-isc*) gdb_target=i386v ;;
+i[3456]86-*-mach3*) gdb_target=i386m3 ;;
+i[3456]86-*-mach*) gdb_target=i386mach ;;
+i[3456]86-*-netware*) gdb_target=i386nw
configdirs="${configdirs} nlm" ;;
-i[345]86-*-osf1mk*) gdb_target=i386mk ;;
-i[345]86-*-win32) gdb_target=win32 ;;
+i[3456]86-*-osf1mk*) gdb_target=i386mk ;;
+i[3456]86-*-win32) gdb_target=win32 ;;
i960-*-bout*) gdb_target=vxworks960 ;;
i960-*-coff*) gdb_target=nindy960 ;;
mips*-big-*) gdb_target=bigmips ;;
mips*-dec-mach3*) gdb_target=mach3 ;;
mips*-dec-*) gdb_target=decstation ;;
-mips64*el-*-ecoff*) gdb_target=idtl64 ;;
-mips64*-idt-ecoff*) gdb_target=idt64 ;;
-mips64*el-*-elf*) gdb_target=idtl64 ;;
-mips64*-*-elf*) gdb_target=idt64 ;;
-mips*el-*-ecoff*) gdb_target=idtl ;;
-mips*-*-ecoff*) gdb_target=idt ;;
-mips*el-*-elf*) gdb_target=idtl ;;
-mips*-*-elf*) gdb_target=idt ;;
+mips64*el-*-ecoff*) gdb_target=embedl64 ;;
+mips64*-*-ecoff*) gdb_target=embed64 ;;
+mips64*vr4300*el-*-elf*) gdb_target=vr4300el ;;
+mips64*vr4300*-*-elf*) gdb_target=vr4300 ;;
+mips64*el-*-elf*) gdb_target=embedl64 ;;
+mips64*-*-elf*) gdb_target=embed64 ;;
+mips*el-*-ecoff*) gdb_target=embedl ;;
+mips*-*-ecoff*) gdb_target=embed ;;
+# start-sanitize-gm
+mips*-*-magic*) gdb_target=embed ;;
+# end-sanitize-gm
+mips*el-*-elf*) gdb_target=embedl ;;
+mips*-*-elf*) gdb_target=embed ;;
mips*-little-*) gdb_target=littlemips ;;
mips*-sgi-irix5*) gdb_target=irix5 ;;
mips*-sgi-*) gdb_target=irix3 ;;
ns32k-utek-*) gdb_target=umax ;;
pn-*-*) gdb_target=pn ;;
+powerpc-*-macos*) gdb_target=macos ;;
powerpc-*-netware*) gdb_target=ppc-nw
configdirs="${configdirs} nlm" ;;
powerpc-*-aix4*) gdb_target=aix4 ;;
powerpc-*-aix*) gdb_target=aix ;;
-powerpc-*-eabisim*) gdb_target=ppc-sim ;;
-powerpc-*-eabi*) gdb_target=ppc-eabi ;;
-powerpcle-*-eabisim*) gdb_target=ppcle-sim ;;
-powerpcle-*-eabi*) gdb_target=ppcle-eabi ;;
+powerpc-*-eabi*) if test x"$powerpc_sim" = x"yes"; then
+ gdb_target=ppc-sim
+ else
+ gdb_target=ppc-eabi
+ fi ;;
+powerpcle-*-eabi*) if test x"$powerpc_sim" = x"yes"; then
+ gdb_target=ppcle-sim
+ else
+ gdb_target=ppcle-eabi
+ fi ;;
pyramid-*-*) gdb_target=pyramid ;;
sparc-*-vxworks*) gdb_target=vxsparc ;;
sparc-*-*) gdb_target=sun4os4 ;;
sparclite*-*-*) gdb_target=sparclite ;;
+sparc64-*-solaris2*) gdb_target=sp64sol2 ;;
sparc64-*-*) gdb_target=sp64 ;;
tahoe-*-*) gdb_target=tahoe ;;