aa220473ba
* c-exp.y (%union): Change dval to typed_val_float. Use DOUBLEST to store actual data. Change types of INT and FLOAT tokens to typed_val_int and typed_val_float respectively. Create new token DOUBLE_KEYWORD to specify the string `double'. Make production for FLOAT use type determined by parse_number. Add production for "long double" data type. * (parse_number): Use sscanf to parse numbers as float, double or long double depending upon the type of typed_val_float.dval. Also allow user to specify `f' or `l' suffix to explicitly specify float or long double constants. Change typed_val to typed_val_int. * (yylex): Change typed_val to typed_val_int. Also, scan for "double" keyword. * coffread.c (decode_base_type): Add support for T_LNGDBL basic type. * configure, configure.in: Add check for long double support in the host compiler. * defs.h: Define DOUBLEST appropriatly depending on whether HAVE_LONG_DOUBLE (from autoconf) is defined. Also, fix prototypes for functions that handle this type. * expression.h (union exp_element): doubleconst is now type DOUBLEST. * m2-exp.y f-exp.y (%union): dval becomes type DOUBLEST. * findvar.c (extract_floating): Make return value be DOUBLEST. Also, add support for numbers with size of long double. * (store_floating): Arg `val' is now type DOUBLEST. Handle all floating types. * parser-defs.h parse.c (write_exp_elt_dblcst): Arg expelt is now DOUBLEST. * valarith.c (value_binop): Change temp variables v1, v2 and v to type DOUBLEST. Coerce type of result to long double if either op was of that type. * valops.c (value_arg_coerce): If argument type is bigger than double, coerce to long double. * (call_function_by_hand): If REG_STRUCT_HAS_ADDR is defined, and arg type is float and > 8 bytes, then use pointer-to-object calling conventions. * valprint.c (print_floating): Arg doub is now type DOUBLEST. Use appropriate format and precision to print out floating point values. * value.h: Fixup prototypes for value_as_double, value_from_double, and unpack_double to use DOUBLEST. * values.c (record_latest_value): Remove check for invalid floats. Allow history to store them so that people may examine them in hex if they want. * (value_as_double unpack_double): Change return value to DOUBLEST. * (value_from_double): Arg `num' is now DOUBLEST. * (using_struct_return): Use RETURN_VALUE_ON_STACK macro (target specific) to expect certain types to always be returned on the stack.
717 lines
20 KiB
Text
717 lines
20 KiB
Text
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)
|
|
|
|
AC_PROG_CC
|
|
AC_AIX
|
|
AC_MINIX
|
|
AC_ISC_POSIX
|
|
|
|
AC_PROG_INSTALL
|
|
AC_PROG_RANLIB
|
|
AC_PROG_YACC
|
|
|
|
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
|
|
AC_CANONICAL_SYSTEM
|
|
AC_ARG_PROGRAM
|
|
|
|
AC_HEADER_STDC
|
|
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
|
|
|
|
dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
|
|
dnl because autoconf complains about cross-compilation issues. However, this
|
|
dnl code uses the same variables as the macro for compatibility.
|
|
|
|
AC_MSG_CHECKING(for long double)
|
|
AC_CACHE_VAL(ac_cv_c_long_double,
|
|
[AC_TRY_COMPILE(, [long double foo;],
|
|
ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
|
|
AC_MSG_RESULT($ac_cv_c_long_double)
|
|
if test $ac_cv_c_long_double = yes; then
|
|
AC_DEFINE(HAVE_LONG_DOUBLE)
|
|
fi
|
|
|
|
AC_FUNC_MMAP
|
|
|
|
dnl Handle optional features that can be enabled.
|
|
ENABLE_CFLAGS=
|
|
ENABLE_CLIBS=
|
|
ENABLE_OBS=
|
|
|
|
AC_ARG_ENABLE(netrom,
|
|
[ --enable-netrom ],
|
|
[case "${enableval}" in
|
|
yes) enable_netrom=yes ;;
|
|
no) enable_netrom=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
|
|
esac])
|
|
|
|
if test "${enable_netrom}" = "yes"; then
|
|
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)
|
|
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
|
|
|
|
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_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"
|
|
|
|
dnl
|
|
changequote(,)dnl
|
|
|
|
# Map host cpu into the config cpu subdirectory name.
|
|
# The default is $host_cpu.
|
|
|
|
case "${host_cpu}" in
|
|
|
|
c[12]) gdb_host_cpu=convex ;;
|
|
hppa*) gdb_host_cpu=pa ;;
|
|
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
|
|
|
|
# map host info into gdb names.
|
|
|
|
case "${host}" in
|
|
|
|
a29k-*-*) gdb_host=ultra3 ;;
|
|
|
|
alpha-*-osf1*) gdb_host=alpha-osf1 ;;
|
|
alpha-*-osf2*) gdb_host=alpha-osf2 ;;
|
|
alpha-*-osf[3456789]*) gdb_host=alpha-osf3 ;;
|
|
|
|
arm-*-*) gdb_host=arm ;;
|
|
|
|
c[12]-*-*) gdb_host=convex ;;
|
|
|
|
hppa*-*-bsd*) gdb_host=hppabsd ;;
|
|
hppa*-*-hiux*) gdb_host=hppahpux ;;
|
|
hppa*-*-hpux*) gdb_host=hppahpux ;;
|
|
hppa*-*-osf*) gdb_host=hppaosf ;;
|
|
|
|
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-*-cygwin32) gdb_host=cygwin32 ;;
|
|
m680[01]0-sun-sunos3*) gdb_host=sun2os3 ;;
|
|
m680[01]0-sun-sunos4*) gdb_host=sun2os4 ;;
|
|
m68030-sony-*) gdb_host=news1000 ;;
|
|
|
|
m68*-altos-*) gdb_host=altos ;;
|
|
m68*-apollo*-sysv*) gdb_host=apollo68v ;;
|
|
m68*-apollo*-bsd*) gdb_host=apollo68b ;;
|
|
m68*-att-*) gdb_host=3b1 ;;
|
|
m68*-bull*-sysv*) gdb_host=dpx2 ;;
|
|
m68*-hp-bsd*) gdb_host=hp300bsd ;;
|
|
m68*-hp-hpux*) gdb_host=hp300hpux ;;
|
|
m68*-isi-*) gdb_host=isi ;;
|
|
m68*-*-lynxos*) gdb_host=m68klynx ;;
|
|
m68*-*-sysv4*) gdb_host=m68kv4 ;;
|
|
m68*-motorola-*) gdb_host=delta68 ;;
|
|
m68*-sony-*) gdb_host=news ;;
|
|
m68*-sun-sunos3*) gdb_host=sun3os3 ;;
|
|
m68*-sun-sunos4*) gdb_host=sun3os4 ;;
|
|
m68*-sun-*) gdb_host=sun3os4 ;;
|
|
|
|
m88*-harris-cxux*) gdb_host=cxux ;;
|
|
m88*-motorola-sysv4*) gdb_host=delta88v4 ;;
|
|
m88*-motorola-sysv*) gdb_host=delta88 ;;
|
|
m88*-*-mach3*) gdb_host=mach3 ;;
|
|
m88*-*-*) gdb_host=m88k ;;
|
|
|
|
mips-dec-mach3*) gdb_host=mach3 ;;
|
|
mips-dec-*) gdb_host=decstation ;;
|
|
mips-little-*) gdb_host=littlemips ;;
|
|
mips-sgi-irix3*) gdb_host=irix3 ;;
|
|
mips-sgi-irix4*) gdb_host=irix4 ;;
|
|
mips-sgi-irix5*) gdb_host=irix5 ;;
|
|
mips-sony-*) gdb_host=news-mips ;;
|
|
mips-*-mach3*) gdb_host=mach3 ;;
|
|
mips-*-sysv4*) gdb_host=mipsv4 ;;
|
|
mips-*-sysv*) gdb_host=riscos ;;
|
|
mips-*-riscos*) gdb_host=riscos ;;
|
|
|
|
none-*-*) gdb_host=none ;;
|
|
|
|
np1-*-*) gdb_host=np1 ;;
|
|
|
|
ns32k-*-mach3*) gdb_host=mach3 ;;
|
|
ns32k-*-netbsd*) gdb_host=nbsd ;;
|
|
ns32k-umax-*) gdb_host=umax ;;
|
|
ns32k-utek-sysv*) gdb_host=merlin ;;
|
|
|
|
powerpc-*-aix*) gdb_host=aix ;;
|
|
powerpcle-*-cygwin32) gdb_host=cygwin32 ;;
|
|
pn-*-*) gdb_host=pn ;;
|
|
|
|
pyramid-*-*) gdb_host=pyramid ;;
|
|
|
|
romp-*-*) gdb_host=rtbsd ;;
|
|
|
|
rs6000-*-lynxos*) gdb_host=rs6000lynx ;;
|
|
rs6000-*-aix4*) gdb_host=aix4 ;;
|
|
rs6000-*-*) gdb_host=rs6000 ;;
|
|
|
|
sparc-*-lynxos*) gdb_host=sparclynx ;;
|
|
sparc-*-netbsd*) gdb_host=nbsd ;;
|
|
sparc-*-solaris2*) gdb_host=sun4sol2 ;;
|
|
sparc-*-sunos4*) gdb_host=sun4os4 ;;
|
|
sparc-*-sunos5*) gdb_host=sun4sol2 ;;
|
|
sparc-*-*) gdb_host=sun4os4 ;;
|
|
sparc64-*-*) gdb_host=sun4sol2 ;;
|
|
|
|
tahoe-*-*) gdb_host=tahoe ;;
|
|
|
|
vax-*-bsd*) gdb_host=vaxbsd ;;
|
|
vax-*-ultrix2*) gdb_host=vaxult2 ;;
|
|
vax-*-ultrix*) gdb_host=vaxult ;;
|
|
|
|
w65-*-*) gdb_host=w65 ;;
|
|
|
|
esac
|
|
|
|
|
|
# Map target cpu into the config cpu subdirectory name.
|
|
# The default is $target_cpu.
|
|
|
|
case "${target_cpu}" in
|
|
|
|
alpha) gdb_target_cpu=alpha ;;
|
|
c[12]) gdb_target_cpu=convex ;;
|
|
hppa*) gdb_target_cpu=pa ;;
|
|
i[3456]86) gdb_target_cpu=i386 ;;
|
|
m68*) gdb_target_cpu=m68k ;;
|
|
m88*) gdb_target_cpu=m88k ;;
|
|
mips*) gdb_target_cpu=mips ;;
|
|
np1) gdb_target_cpu=gould ;;
|
|
powerpc*) gdb_target_cpu=powerpc ;;
|
|
pn) gdb_target_cpu=gould ;;
|
|
pyramid) gdb_target_cpu=pyr ;;
|
|
sparc*) gdb_target_cpu=sparc ;;
|
|
*) gdb_target_cpu=$target_cpu ;;
|
|
|
|
esac
|
|
|
|
# map target info into gdb names.
|
|
|
|
case "${target}" in
|
|
|
|
a29k-*-aout*) gdb_target=a29k ;;
|
|
a29k-*-coff*) gdb_target=a29k ;;
|
|
a29k-*-elf*) gdb_target=a29k ;;
|
|
a29k-*-ebmon*) gdb_target=a29k ;;
|
|
a29k-*-kern*) gdb_target=a29k-kern ;;
|
|
a29k-*-none*) gdb_target=a29k ;;
|
|
a29k-*-sym1*) gdb_target=ultra3 ;;
|
|
a29k-*-udi*) gdb_target=a29k-udi ;;
|
|
a29k-*-vxworks*) gdb_target=vx29k ;;
|
|
|
|
alpha-*-osf*) gdb_target=alpha-osf1 ;;
|
|
|
|
# start-sanitize-arc
|
|
arc-*-*) gdb_target=arc ;;
|
|
# end-sanitize-arc
|
|
|
|
arm-*-*) gdb_target=arm ;;
|
|
|
|
c1-*-*) gdb_target=convex ;;
|
|
c2-*-*) gdb_target=convex ;;
|
|
|
|
h8300-*-*) gdb_target=h8300 ;;
|
|
h8500-*-*) gdb_target=h8500 ;;
|
|
|
|
sh-*-*) gdb_target=sh ;;
|
|
|
|
# start-sanitize-r16
|
|
r16-*-*) gdb_target=r16 ;;
|
|
# end-sanitize-r16
|
|
|
|
hppa*-*-bsd*) gdb_target=hppabsd ;;
|
|
hppa*-*-pro*) gdb_target=hppapro ;;
|
|
hppa*-*-hpux*) gdb_target=hppahpux ;;
|
|
hppa*-*-hiux*) gdb_target=hppahpux ;;
|
|
hppa*-*-osf*) gdb_target=hppaosf ;;
|
|
|
|
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[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[3456]86-*-osf1mk*) gdb_target=i386mk ;;
|
|
i[3456]86-*-cygwin32) gdb_target=cygwin32 ;;
|
|
i960-*-bout*) gdb_target=vxworks960 ;;
|
|
i960-*-coff*) gdb_target=nindy960 ;;
|
|
i960-*-elf*) gdb_target=nindy960 ;;
|
|
|
|
i960-*-nindy*) gdb_target=nindy960 ;;
|
|
i960-*-vxworks*) gdb_target=vxworks960 ;;
|
|
|
|
m68000-*-sunos3*) gdb_target=sun2os3 ;;
|
|
m68000-*-sunos4*) gdb_target=sun2os4 ;;
|
|
|
|
m68*-apollo*-bsd*) gdb_target=apollo68b ;;
|
|
m68*-bull-sysv*) gdb_target=dpx2 ;;
|
|
m68*-hp-bsd*) gdb_target=hp300bsd ;;
|
|
m68*-hp-hpux*) gdb_target=hp300hpux ;;
|
|
m68*-altos-*) gdb_target=altos ;;
|
|
m68*-att-*) gdb_target=3b1 ;;
|
|
m68*-cisco*-*) gdb_target=cisco ;;
|
|
m68*-ericsson-*) gdb_target=es1800 ;;
|
|
m68*-isi-*) gdb_target=isi ;;
|
|
m68*-motorola-*) gdb_target=delta68 ;;
|
|
m68*-netx-*) gdb_target=vxworks68 ;;
|
|
m68*-sony-*) gdb_target=news ;;
|
|
m68*-tandem-*) gdb_target=st2000 ;;
|
|
m68*-rom68k-*) gdb_target=monitor ;;
|
|
m68*-*bug-*) gdb_target=monitor ;;
|
|
m68*-monitor-*) gdb_target=monitor ;;
|
|
m68*-est-*) gdb_target=monitor ;;
|
|
m68*-*-aout*) gdb_target=monitor ;;
|
|
m68*-*-coff*) gdb_target=monitor ;;
|
|
m68*-*-elf*) gdb_target=monitor ;;
|
|
m68*-*-lynxos*) gdb_target=m68klynx
|
|
configdirs="${configdirs} gdbserver" ;;
|
|
m68*-*-os68k*) gdb_target=os68k ;;
|
|
m68*-*-sunos3*) gdb_target=sun3os3 ;;
|
|
m68*-*-sunos4*) gdb_target=sun3os4 ;;
|
|
m68*-*-sysv4*) gdb_target=m68kv4 ;;
|
|
m68*-*-vxworks*) gdb_target=vxworks68 ;;
|
|
|
|
m88*-harris-cxux*) gdb_target=cxux ;;
|
|
m88*-motorola-sysv4*) gdb_target=delta88v4 ;;
|
|
m88*-*-mach3*) gdb_target=mach3 ;;
|
|
m88*-motorola-*) gdb_target=delta88 ;;
|
|
m88*-*-*) gdb_target=m88k ;;
|
|
|
|
mips64*-big-*) gdb_target=bigmips64 ;;
|
|
mips*-big-*) gdb_target=bigmips ;;
|
|
mips*-dec-mach3*) gdb_target=mach3 ;;
|
|
mips*-dec-*) gdb_target=decstation ;;
|
|
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 ;;
|
|
mips*-sony-*) gdb_target=bigmips ;;
|
|
mips*-*-mach3*) gdb_target=mach3 ;;
|
|
mips*-*-sysv4*) gdb_target=mipsv4 ;;
|
|
mips*-*-sysv*) gdb_target=bigmips ;;
|
|
mips*-*-riscos*) gdb_target=bigmips ;;
|
|
|
|
none-*-*) gdb_target=none ;;
|
|
|
|
np1-*-*) gdb_target=np1 ;;
|
|
|
|
ns32k-*-mach3*) gdb_target=mach3 ;;
|
|
ns32k-*-netbsd*) gdb_target=nbsd ;;
|
|
ns32k-utek-sysv*) gdb_target=merlin ;;
|
|
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 ;;
|
|
powerpcle-*-cygwin32) gdb_target=cygwin32 ;;
|
|
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 ;;
|
|
|
|
rs6000-*-lynxos*) gdb_target=rs6000lynx ;;
|
|
rs6000-*-aix4*) gdb_target=aix4 ;;
|
|
rs6000-*-*) gdb_target=rs6000 ;;
|
|
|
|
sparc-*-aout*) gdb_target=sparc-em ;;
|
|
sparc-*-coff*) gdb_target=sparc-em ;;
|
|
sparc-*-elf*) gdb_target=sparc-em ;;
|
|
sparc-*-lynxos*) gdb_target=sparclynx
|
|
configdirs="${configdirs} gdbserver" ;;
|
|
sparc-*-netbsd*) gdb_target=nbsd ;;
|
|
sparc-*-solaris2*) gdb_target=sun4sol2 ;;
|
|
sparc-*-sunos4*) gdb_target=sun4os4 ;;
|
|
sparc-*-sunos5*) gdb_target=sun4sol2 ;;
|
|
sparc-*-vxworks*) gdb_target=vxsparc ;;
|
|
sparc-*-*) gdb_target=sun4os4 ;;
|
|
# Use sparc-em for sparclet for now.
|
|
sparclet-*-*) gdb_target=sparc-em ;;
|
|
sparclite*-*-*) gdb_target=sparclite ;;
|
|
sparc64-*-solaris2*) gdb_target=sp64sol2 ;;
|
|
sparc64-*-*) gdb_target=sp64 ;;
|
|
|
|
tahoe-*-*) gdb_target=tahoe ;;
|
|
|
|
vax-*-*) gdb_target=vax ;;
|
|
|
|
w65-*-*) gdb_target=w65 ;;
|
|
|
|
z8k-*-coff*) gdb_target=z8k ;;
|
|
|
|
esac
|
|
|
|
dnl
|
|
changequote([,])dnl
|
|
|
|
frags=
|
|
host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
|
|
if test ! -f ${host_makefile_frag}; then
|
|
AC_MSG_ERROR("*** Gdb does not support host ${host}")
|
|
fi
|
|
frags="$frags $host_makefile_frag"
|
|
|
|
target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
|
|
if test ! -f ${target_makefile_frag}; then
|
|
AC_MSG_ERROR("*** Gdb does not support target ${target}")
|
|
fi
|
|
frags="$frags $target_makefile_frag"
|
|
|
|
AC_SUBST_FILE(host_makefile_frag)
|
|
AC_SUBST_FILE(target_makefile_frag)
|
|
AC_SUBST(frags)
|
|
|
|
changequote(,)dnl
|
|
hostfile=`sed -n '
|
|
s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
|
|
' ${host_makefile_frag}`
|
|
|
|
targetfile=`sed -n '
|
|
s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
|
|
' ${target_makefile_frag}`
|
|
|
|
# these really aren't orthogonal true/false values of the same condition,
|
|
# but shells are slow enough that I like to reuse the test conditions
|
|
# whenever possible
|
|
if test "${target}" = "${host}"; then
|
|
nativefile=`sed -n '
|
|
s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
|
|
' ${host_makefile_frag}`
|
|
else
|
|
# GDBserver is only useful in a "native" enviroment
|
|
configdirs=`echo $configdirs | sed 's/gdbserver//'`
|
|
fi
|
|
changequote([,])
|
|
|
|
# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
|
|
# (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
|
|
# corresponding links. But we have to remove the xm.h files and tm.h
|
|
# files anyway, e.g. when switching from "configure host" to
|
|
# "configure none".
|
|
|
|
files=
|
|
links=
|
|
rm -f xm.h
|
|
if test "${hostfile}" != ""; then
|
|
files="${files} config/${gdb_host_cpu}/${hostfile}"
|
|
links="${links} xm.h"
|
|
fi
|
|
rm -f tm.h
|
|
if test "${targetfile}" != ""; then
|
|
files="${files} config/${gdb_target_cpu}/${targetfile}"
|
|
links="${links} tm.h"
|
|
fi
|
|
rm -f nm.h
|
|
if test "${nativefile}" != ""; then
|
|
files="${files} config/${gdb_host_cpu}/${nativefile}"
|
|
links="${links} nm.h"
|
|
else
|
|
# A cross-only configuration.
|
|
files="${files} config/nm-empty.h"
|
|
links="${links} nm.h"
|
|
fi
|
|
# start-sanitize-gdbtk
|
|
|
|
# Make it possible to use the GUI without doing a full install
|
|
if test "${enable_gdbtk}" = "yes" -a ! -f gdbtk.tcl ; then
|
|
files="${files} gdbtk.tcl"
|
|
links="${links} gdbtk.tcl"
|
|
fi
|
|
# end-sanitize-gdbtk
|
|
|
|
AC_LINK_FILES($files, $links)
|
|
|
|
AC_CONFIG_SUBDIRS($configdirs)
|
|
AC_OUTPUT(Makefile,
|
|
[
|
|
dnl Autoconf doesn't provide a mechanism for modifying definitions
|
|
dnl provided by makefile fragments.
|
|
dnl
|
|
if test "${nativefile}" = ""; then
|
|
sed -e '/^NATDEPFILES= /s//# NATDEPFILES= /' \
|
|
< Makefile > Makefile.tem
|
|
mv -f Makefile.tem Makefile
|
|
fi
|
|
|
|
changequote(,)dnl
|
|
sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
|
|
/^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
|
|
/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
|
|
mv -f Makefile.tmp Makefile
|
|
changequote([,])dnl
|
|
|
|
case ${srcdir} in
|
|
.)
|
|
;;
|
|
*)
|
|
grep "source ${srcdir}/.gdbinit" .gdbinit >/dev/null 2>/dev/null || \
|
|
echo "source ${srcdir}/.gdbinit" >> .gdbinit
|
|
esac
|
|
],
|
|
[
|
|
gdb_host_cpu=$gdb_host_cpu
|
|
gdb_target_cpu=$gdb_target_cpu
|
|
nativefile=$nativefile
|
|
])
|
|
|
|
exit 0
|