binutils-gdb/gdb/configure.in
Fred Fish 3f550b5940 * configure.in: Add test for "long long" support.
* configure: Regenerate with autoconf.
	* acconfig.h: Add CC_HAS_LONG_LONG
	* config.in: Regenerate with autoheader.
	* config/mips/tm-mips64.h (FORCE_LONG_LONG): Remove
	* config/sparc/tm-sp64.h (CC_HAS_LONG_LONG): Remove.
	* config/mips/tm-vr4300el.h (CC_HAS_LONG_LONG): Remove.
	* config/mips/tm-vr4300.h (CC_HAS_LONG_LONG): Remove.
	* config/mips/xm-irix5.h (CC_HAS_LONG_LONG): Remove
	(PRINTF_HAS_LONG_LONG): Remove.
	(FORCE_LONG_LONG): Remove.
	* config/powerpc/xm-aix.h (UINT_MAX): Undef and use gdb's version.
	* config/convex/xm-convex.h (CC_HAS_LONG_LONG): Remove
	(PRINTF_HAS_LONG_LONG): Remove.
	* config/xm-nbsd.h (CC_HAS_LONG_LONG): Remove.
	(PRINTF_HAS_LONG_LONG): Remove.
	* config/pa/tm-hppa.h (GET_FIELD): Put parens around
	subtraction inside shift.  Put parens around subtraction
	in operand of bitwise and.
	(struct frame_info): Forward declare
 	if __STDC__ defined.
	(frame_saved_regs): Ditto.
	(struct value): Ditto.
	(struct type): Ditto.
	(struct inferior_status): Ditto.
	(init_extra_frame_info): Add prototype.
	(skip_prologue): Ditto.
	(frameless_function_invocation): Ditto.
	(frame_chain): Ditto.
	(frame_chain_valid): Ditto.
	(saved_pc_after_call): Ditto.
	(hppa_fix_call_dummy): Ditto.
	(hppa_push_arguments): Ditto.
	(pa_do_registers_info): Ditto.
	(in_solib_call_trampoline): Ditto.
	(in_solib_return_trampoline): Ditto.
	(push_dummy_frame): Ditto.
	* convex-tdep.c (decout): Use print_longest rather than
	fprintf_filtered.
	* defs.h: Remove use of FORCE_LONG_LONG and __GNUC__ to set
	CC_HAS_LONG_LONG.
	(INT_MIN): Fix so it works correctly when assigned to a long long.
	* valprint.c (longest_to_int): Rewrite to remove dependence
	on INT_MIN and INT_MAX.
	(print_longest): Rewrite the code that falls back to synthesized
	hex output when LONGEST value is not representable as in a long and
 	printf doesn't support printing long longs.
	* ch-valprint.c (chill_val_print): Cast 2nd arg of
	chill_print_type_scalar to LONGEST.
	chill_print_type_scalar): Make static and add prototype.
	* hppa-tdep.c (get_field): Ifdef out unused function.
	(set_field): Ditto.
	(extract_3): Ditto.
	(extract_5_store): Ditto.
	(extract_11): Ditto.
	(extract_12): Ditto.
	(deposit_17): Ditto.
	(extract_14): Convert to static and add prototype.
	(deposit_14): Ditto.
	(extract_21): Ditto.
	(deposit_21): Ditto.
	(extract_17): Ditto.
	(extract_5r_store): Ditto.
	(extract_5R_store): Ditto.
	(extract_5_load): Ditto.
	(find_proc_framesize): Ditto.
	(find_dummy_frame_regs): Ditto.
	(sign_extend): Ditto.
	(find_unwind_entry): Add prototype.
	(find_return_regnum): Ditto.
	(unwind_command): Ditto.
	(find_dummy_frame_regs): Add parens around subtraction in operand
	of bitwise-and.
	(skip_prologue): Add parens around operands of logical-and inside
	operand of logical-or.
	(sign_extend): Add parens around operands of subtraction inside
	operand of shift.
	(low_sign_extend): Ditto.
	* top.c (filename_completer): Convert old style decl of
	filename_completion_function into prototype.
	* f-lang.c (patch_common_entries): Ifdef out unused function.
	* stabsread.c (read_cfront_baseclasses): Remove unused local
	variable "msg_noterm".
	(resolve_cfront_continuation): Remove unused local variable "fip".
	(read_type): Remove unused variable xtypenums.
	(read_cfront_static_fields): Remove unused variable "i".
	(read_cfront_static_fields): Remove unused variable "nfields".
	(read_cfront_member_functions): Add missing comment terminator.
	(read_cfront_static_fields): Return 1 rather than random value.
	(read_cfront_baseclasses): Ditto.
	(read_cfront_baseclasses): Ditto.
	(read_cfront_baseclasses): Ditto.
	* somsolib.c (som_solib_create_inferior_hook): Remove unused
	variable "u".
	(som_solib_create_inferior_hook): Remove unused variable
	shadow_contents.
	(language.h): Add for needed prototypes.
	(som_solib_sharedlibrary_command): Add prototype.
	* hpread.c: (hpread_read_array_type): Add prototype.
	* somread.c (hpread_build_pysmtabs): Add prototype.
	(hpread_symfile_finish): Ditto.
	(hpread_symfile_init): Ditto.
	* hppah-nat.c (fetch_register): Convert old style decl
	to prototype.
	(gdbcore.h): Include for needed prototypes.
	(fetch_register): Remove unused variable "mess".
	* remote-pa.c (get_offsets): Ifdef out unused function.
	(remote_start_remote): Remove unused variable "timeout".
	(boot_board): Add prototype.
	(reaad_frame): Add prototype.
	(getpkt): Remove unused variable "bp".
	(remote_kill): Add prototype.
	(remote_mourn): Add prototype.
	(remote_insert_breakpoint): Add prototype.
	(remote_remove_breakpoint): Add prototype.
	* valops.c (value_push): Only use if PUSH_ARGUMENTS is not defined.
	* infcmd.c (do_registers_info): Only need prototype if
	DO_REGISTERS_INFO is not defined.
	(breakpoint_auto_delete_contents): Only need if
	CALL_DUMMY_BREAKPOINT_OFFSET is defined.
1996-07-28 06:32:48 +00:00

822 lines
23 KiB
Plaintext

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.5)dnl
AC_INIT(main.c)
AC_CONFIG_HEADER(config.h:config.in)
AC_PROG_CC
AC_AIX
AC_MINIX
AC_ISC_POSIX
AC_PROG_INSTALL
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(RANLIB, ranlib, :)
AC_PROG_YACC
AC_PROG_AWK
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
AC_CANONICAL_SYSTEM
AC_ARG_PROGRAM
AC_HEADER_STDC
AC_CHECK_HEADERS(limits.h memory.h string.h strings.h unistd.h termios.h termio.h sgtty.h stddef.h sys/procfs.h link.h endian.h)
AC_HEADER_STAT
AC_CHECK_FUNCS(setpgid sbrk)
AC_MSG_CHECKING([for gregset_t type])
AC_CACHE_VAL(gdb_cv_have_gregset_t,
[AC_TRY_LINK([#include <sys/procfs.h>],[gregset_t *gregsetp = 0],
gdb_cv_have_gregset_t=yes, gdb_cv_have_gregset_t=no)])
AC_MSG_RESULT($gdb_cv_have_gregset_t)
if test $gdb_cv_have_gregset_t = yes; then
AC_DEFINE(HAVE_GREGSET_T)
fi
AC_MSG_CHECKING([for fpregset_t type])
AC_CACHE_VAL(gdb_cv_have_fpregset_t,
[AC_TRY_LINK([#include <sys/procfs.h>],[fpregset_t *fpregsetp = 0],
gdb_cv_have_fpregset_t=yes, gdb_cv_have_fpregset_t=no)])
AC_MSG_RESULT($gdb_cv_have_fpregset_t)
if test $gdb_cv_have_fpregset_t = yes; then
AC_DEFINE(HAVE_FPREGSET_T)
fi
dnl See if compiler supports "long long" type.
AC_MSG_CHECKING(for long long support in compiler)
AC_CACHE_VAL(gdb_cv_c_long_long,
[AC_TRY_COMPILE(, [long long foo;],
gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
AC_MSG_RESULT($gdb_cv_c_long_long)
if test $gdb_cv_c_long_long = yes; then
AC_DEFINE(CC_HAS_LONG_LONG)
fi
dnl See if the compiler and runtime support printing long long
AC_MSG_CHECKING(for long long support in printf)
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));
}],
gdb_cv_printf_has_long_long=yes,
gdb_cv_printf_has_long_long=no,
gdb_cv_printf_has_long_long=no)])
if test $gdb_cv_printf_has_long_long = yes; then
AC_DEFINE(PRINTF_HAS_LONG_LONG)
fi
AC_MSG_RESULT($gdb_cv_printf_has_long_long)
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 support in compiler)
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
dnl See if the compiler and runtime support printing long doubles
AC_MSG_CHECKING(for long double support in printf)
AC_CACHE_VAL(gdb_cv_printf_has_long_double,
[AC_TRY_RUN([
int main () {
char buf[16];
long double f = 3.141592653;
sprintf (buf, "%Lg", f);
return (strncmp ("3.14159", buf, 7));
}],
gdb_cv_printf_has_long_double=yes,
gdb_cv_printf_has_long_double=no,
gdb_cv_printf_has_long_double=no)])
if test $gdb_cv_printf_has_long_double = yes; then
AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
fi
AC_MSG_RESULT($gdb_cv_printf_has_long_double)
AC_FUNC_MMAP
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 Note that we only want this if we are both native (host == target), and
dnl not doing a canadian cross build (build == host).
if test ${build} = ${host} -a ${host} = ${target} ; then
AC_MSG_CHECKING(for Solaris thread debugging library)
if test -f /usr/lib/libthread_db.so.1 ; then
AC_MSG_RESULT(yes)
THREAD_DB_OBS=sol-thread.o
AC_DEFINE(HAVE_THREAD_DB_LIB)
CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Xlinker -export-dynamic"
else
AC_MSG_RESULT(no)
fi
AC_SUBST(THREAD_DB_OBS)
AC_SUBST(CONFIG_LDFLAGS)
fi
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 ;;
*cygwin32*)
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 and cygwin32
case "$host" in
*go32*)
;;
*cygwin32*)
;;
*)
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 ;;
alpha-*-linux*) gdb_host=alpha-linux ;;
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-*-gnu*) gdb_host=i386gnu ;;
i[3456]86-*-osf1mk*) gdb_host=osf1mk ;;
i[3456]86-*-sco3.2v5*) gdb_host=i386sco5 ;;
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*-*-netbsd*) gdb_host=nbsd ;;
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 ;;
powerpcle-*-solaris*) gdb_host=solaris ;;
powerpc-*-linux*) gdb_host=linux ;;
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 ;;
alpha-*-linux*) gdb_target=alpha-linux ;;
# 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 ;;
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
configdirs="${configdirs} gdbserver" ;;
i[3456]86-*-isc*) gdb_target=i386v ;;
i[3456]86-*-mach3*) gdb_target=i386m3 ;;
i[3456]86-*-mach*) gdb_target=i386mach ;;
i[3456]86-*-gnu*) gdb_target=i386gnu ;;
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-nindy-coff*) gdb_target=nindy960 ;;
i960-*-coff*) gdb_target=mon960 ;;
i960-nindy-elf*) gdb_target=nindy960 ;;
i960-*-elf*) gdb_target=mon960 ;;
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*-*-netbsd*) gdb_target=nbsd ;;
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*vr4100*el-*-elf*) gdb_target=vr4300el ;;
mips64*vr4100*-*-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 ;;
mips*-*-vxworks*) gdb_target=vxmips ;;
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 ;;
powerpcle-*-solaris*) gdb_target=solaris ;;
powerpc-*-eabi* | powerpc-*-linux* | powerpc-*-sysv* | powerpc-*-elf*)
if test x"$powerpc_sim" = x"yes"; then
gdb_target=ppc-sim
else
gdb_target=ppc-eabi
fi ;;
powerpcle-*-eabi* | powerpcle-*-sysv* | powerpcle-*-elf*)
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 ;;
sparclet-*-*) gdb_target=sparclet;;
sparclite*-*-*) gdb_target=sparclite ;;
# It's not clear what the right solution for "v8plus" systems is yet.
# For now, stick with sparc-sun-solaris2 since that's what config.guess
# should return. Work is still needed to get gdb to print the 64 bit
# regs (some of which are usable in v8plus) so sp64sol.mt hasn't been
# deleted though presumably it should be eventually.
#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
case x$CONFIG_HEADERS in
xconfig.h:config.in)
echo > stamp-h ;;
esac
],
[
gdb_host_cpu=$gdb_host_cpu
gdb_target_cpu=$gdb_target_cpu
nativefile=$nativefile
])
exit 0