-# This file is a shell script fragment that supplies the information
-# necessary to tailor a template configure script into the configure
-# script approriate for this directory. For more information, check
-# any existing configure script.
+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_ISC_POSIX
+
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+
+AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+
+
+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-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])
+
+if test "${enable_gdbtk}" = "yes"; then
+ AC_PATH_X
+ AC_PATH_XTRA
+
+ CYGNUS_PATH_TK
+ CYGNUS_PATH_TCL
+
+ ENABLE_GDBTK=1
+ ENABLE_CLIBS="${ENABLE_CLIBS} $(TCL) $(TK) $(X11) -lm"
+ ENABLE_OBS="${ENABLE_OBS} gdbtk.o"
+fi
+AC_SUBST(ENABLE_GDBTK)
+# end-sanitize-gdbtk
+
+AC_SUBST(ENABLE_CFLAGS)
+AC_SUBST(ENABLE_CLIBS)
+AC_SUBST(ENABLE_OBS)
-srcname="GDB"
-srctrigger=main.c
configdirs="doc testsuite"
-# per-host:
+dnl
+changequote(,)dnl
# Map host cpu into the config cpu subdirectory name.
# The default is $host_cpu.
m88*) gdb_host_cpu=m88k ;;
np1) gdb_host_cpu=gould ;;
pyramid) gdb_host_cpu=pyr ;;
+powerpc*) gdb_host_cpu=powerpc ;;
*) gdb_host_cpu=$host_cpu ;;
esac
a29k-*-*) gdb_host=ultra3 ;;
-alpha-*-osf*) gdb_host=alpha-osf1 ;;
+alpha-*-osf1*) gdb_host=alpha-osf1 ;;
+alpha-*-osf[23456789]*) gdb_host=alpha-osf2 ;;
arm-*-*) gdb_host=arm ;;
hppa*-*-bsd*) gdb_host=hppabsd ;;
hppa*-*-hiux*) gdb_host=hppahpux ;;
hppa*-*-hpux*) gdb_host=hppahpux ;;
-hppa*-*-osf*) gdb_host=hppabsd ;;
+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-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 ;;
sparc-*-netbsd*) gdb_host=nbsd ;;
sparc-*-solaris2*) gdb_host=sun4sol2 ;;
sparc-*-sunos4*) gdb_host=sun4os4 ;;
+sparc-*-sunos5*) gdb_host=sun4sol2 ;;
sparc-*-*) gdb_host=sun4os4 ;;
tahoe-*-*) gdb_host=tahoe ;;
vax-*-ultrix2*) gdb_host=vaxult2 ;;
vax-*-ultrix*) gdb_host=vaxult ;;
-esac
+w65-*-*) gdb_host=w65 ;;
+esac
-if [ ! -f ${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh ]; then
- echo '***' "Gdb does not support host ${host}" 1>&2
- exit 1
-fi
-
-# We really shouldn't depend on there being a space after XM_FILE= ...
-hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh`
-
-# per-target:
# Map target cpu into the config cpu subdirectory name.
# The default is $target_cpu.
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 ;;
sparclite*) gdb_target_cpu=sparc
- configdirs="${configdirs} sparclite" ;;
+ configdirs="${configdirs} sparclite" ;;
sparc*) gdb_target_cpu=sparc ;;
*) gdb_target_cpu=$target_cpu ;;
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-*-netware*) gdb_target=alpha-nw
- configdirs="${configdirs} nlm" ;;
+
+# 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=h8300hms ;;
-h8500-*-*) gdb_target=h8500hms ;;
+h8300-*-*) gdb_target=h8300 ;;
+h8500-*-*) gdb_target=h8500 ;;
sh-*-*) gdb_target=sh ;;
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
- configdirs="${configdirs} gdbserver" ;;
+ 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-*-mach3*) gdb_target=i386m3 ;;
i[345]86-*-mach*) gdb_target=i386mach ;;
i[345]86-*-netware*) gdb_target=i386nw
- configdirs="${configdirs} nlm" ;;
+ configdirs="${configdirs} nlm" ;;
i[345]86-*-osf1mk*) gdb_target=i386mk ;;
i960-*-bout*) gdb_target=vxworks960 ;;
m68*-rom68k-*) gdb_target=monitor ;;
m68*-*bug-*) gdb_target=monitor ;;
m68*-monitor-*) gdb_target=monitor ;;
+m68*-est-*) gdb_target=est ;;
m68*-*-aout*) gdb_target=monitor ;;
m68*-*-coff*) gdb_target=monitor ;;
m68*-*-elf*) gdb_target=monitor ;;
m68*-*-lynxos*) gdb_target=m68klynx
- configdirs="${configdirs} gdbserver" ;;
+ configdirs="${configdirs} gdbserver" ;;
m68*-*-os68k*) gdb_target=os68k ;;
m68*-*-sunos3*) gdb_target=sun3os3 ;;
m68*-*-sunos4*) gdb_target=sun3os4 ;;
mips64*el-*-elf*) gdb_target=idtl64 ;;
mips64*-*-elf*) gdb_target=idt64 ;;
mips*el-*-ecoff*) gdb_target=idtl ;;
-mips*-idt-ecoff*) gdb_target=idt ;;
+mips*-*-ecoff*) gdb_target=idt ;;
mips*el-*-elf*) gdb_target=idtl ;;
mips*-*-elf*) gdb_target=idt ;;
mips*-little-*) gdb_target=littlemips ;;
powerpc-*-netware*) gdb_target=ppc-nw
configdirs="${configdirs} nlm" ;;
+powerpc-*-eabi*) gdb_target=ppc-eabi
+ configdirs="${configdirs}" ;;
+
+powerpcle-*-eabi*) gdb_target=ppcle-eabi
+ configdirs="${configdirs}" ;;
+
pyramid-*-*) gdb_target=pyramid ;;
rs6000-*-lynxos*) gdb_target=rs6000lynx ;;
sparc-*-coff*) gdb_target=sparc-em ;;
sparc-*-elf*) gdb_target=sparc-em ;;
sparc-*-lynxos*) gdb_target=sparclynx
- configdirs="${configdirs} gdbserver" ;;
+ 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 ;;
sparclite*-*-*) gdb_target=sparclite ;;
vax-*-*) gdb_target=vax ;;
-z8k-*-sim*) gdb_target=z8ksim ;;
-z8k-*-coff*) gdb_target=z8ksim ;;
+w65-*-*) gdb_target=w65 ;;
+
+z8k-*-sim*) gdb_target=z8k ;;
+z8k-*-coff*) gdb_target=z8k ;;
esac
-if [ ! -f ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt ]; then
- echo '***' "Gdb does not support target ${target}" 1>&2
- exit 1
-fi
+dnl
+changequote([,])dnl
+
-if [ -z "${removing}" ] ; then
- cat ${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt | awk '$1 == "#msg" {
- print substr($0,6)}'
+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
-# We really shouldn't depend on there being a space after TM_FILE= ...
-targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt`
+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
+dnl We have to assign the same value to other variables because autoconf
+dnl doesn't provide a mechanism to substitute a replacement keyword with
+dnl arbitrary data or pathnames.
+dnl
+host_makefile_frag_path=$host_makefile_frag
+target_makefile_frag_path=$target_makefile_frag
+AC_SUBST(host_makefile_frag_path)
+AC_SUBST(target_makefile_frag_path)
+AC_SUBST_FILE(host_makefile_frag)
+AC_SUBST_FILE(target_makefile_frag)
+
+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 [ "${target}" = "${host}" ] ; then
- nativefile=`awk '$1 == "NAT_FILE=" { print $2 }' <${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh`
+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//'`
+# GDBserver is only useful in a "native" enviroment
+configdirs=`echo $configdirs | sed 's/gdbserver//'`
fi
-
-host_makefile_frag=config/${gdb_host_cpu}/${gdb_host}.mh
-target_makefile_frag=config/${gdb_target_cpu}/${gdb_target}.mt
+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
files=
links=
rm -f xm.h
-if [ "${hostfile}" != "" ]; then
- files="${files} config/${gdb_host_cpu}/${hostfile}"
- links="${links} xm.h"
+if test "${hostfile}" != ""; then
+files="${files} config/${gdb_host_cpu}/${hostfile}"
+links="${links} xm.h"
fi
rm -f tm.h
-if [ "${targetfile}" != "" ]; then
- files="${files} config/${gdb_target_cpu}/${targetfile}"
- links="${links} tm.h"
+if test "${targetfile}" != ""; then
+files="${files} config/${gdb_target_cpu}/${targetfile}"
+links="${links} tm.h"
fi
rm -f nm.h
-if [ "${nativefile}" != "" ]; then
- files="${files} config/${gdb_host_cpu}/${nativefile}"
- links="${links} 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"
+# 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 [ "${enable_gdbtk}" = "yes" -a ! -f gdbtk.tcl ] ; then
- files="${files} gdbtk.tcl"
- links="${links} gdbtk.tcl"
-fi
-
-# post-target:
-
-case ${srcdir} in
- .)
- ;;
- *)
- grep "source ${srcdir}/.gdbinit" .gdbinit >/dev/null 2>/dev/null || \
- echo "source ${srcdir}/.gdbinit" >> .gdbinit
-esac
-
-if [ "${nativefile}" = "" ] ; then
- sed -e '/^NATDEPFILES= /s//# NATDEPFILES= /' \
- < Makefile > Makefile.tem
- mv -f Makefile.tem Makefile
+if test "${enable_gdbtk}" = "yes" -a ! -f gdbtk.tcl ; then
+files="${files} gdbtk.tcl"
+links="${links} gdbtk.tcl"
fi
-
-if [ "${enable_gdbtk}" = "yes" ] ; then
- sed -e '/# End of host and/i\
-\
-ENABLE_GDBTK = 1\
-ENABLE_DEPFILES = gdbtk.o\
-ENABLE_CLIBS = $(TCL) $(TK) -lX11 -lm
-' < Makefile > Makefile.tem
- mv -f Makefile.tem Makefile
+# 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
+])