-srcname="Remote GDB server"
-srctrigger=server.c
-gdb_serial_driver=../ser-unix.c
+dnl Autoconf configure script for GDB server.
+dnl Copyright 2000, 2002 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.
-# per-host:
+dnl Process this file with autoconf to produce a configure script.
-# per-target:
+AC_INIT(server.c)
+AC_CONFIG_HEADER(config.h:config.in)
-# Hack alert! We want this directory to be configured only for the target,
-# which is where it will be running, so we just eliminate the per-host section,
-# and make the per-target stuff setup host & host_cpu according to the target.
+AC_PROG_CC
+AM_PROG_CC_STDC
-host_cpu=$target_cpu
-host=$target
+AC_CANONICAL_SYSTEM
-# Map host cpu into the config cpu subdirectory name.
-# The default is $host_cpu.
+AC_PROG_INSTALL
-case "${host_cpu}" in
+AC_STDC_HEADERS
-c[12]) gdb_host_cpu=convex ;;
-hppa*) gdb_host_cpu=pa ;;
-i[3456]86) gdb_host_cpu=i386 ;;
-m68*) gdb_host_cpu=m68k ;;
-np1) gdb_host_cpu=gould ;;
-pyramid) gdb_host_cpu=pyr ;;
-*) gdb_host_cpu=$target_cpu ;;
+AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h)
-esac
+. ${srcdir}/../configure.host
-# map host info into gdb names.
+. ${srcdir}/../configure.tgt
-case "${host}" in
-
-a29k-*-*) gdb_host=ultra3 ;;
-
-arm-*-*) gdb_host=arm ;;
-
-c[12]-*-*) gdb_host=convex ;;
-
-hppa*-hp-bsd*) gdb_host=hppabsd ;;
-hppa*-hp-hpux*) gdb_host=hppahpux ;;
-
-i[3456]86-ncr-*) gdb_host=ncr3000 ;;
-i[3456]86-sequent-*) gdb_host=symmetry ;;
-
-i[3456]86-*-bsd*) gdb_host=i386bsd ;;
-i[3456]86-*-lynxos*) gdb_host=i386lynx ;;
-i[3456]86-*-go32) gdb_host=go32
- gdb_serial_driver=ser-go32.c
- ;;
-i[3456]86-*-linux*) gdb_host=linux ;;
-i[3456]86-pc-linux-gnu) gdb_host=linux ;;
-i[3456]86-*-mach) gdb_host=i386mach ;;
-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-*-sysv4*) gdb_host=i386v4 ;;
-i[3456]86-*-sysv*) gdb_host=i386v ;;
-
-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*-cbm-sysv4*) gdb_host=amix ;;
-m68*-hp-bsd*) gdb_host=hp300bsd ;;
-m68*-hp-hpux*) gdb_host=hp300hpux ;;
-m68*-isi-*) gdb_host=isi ;;
-m68*-*-lynxos*) gdb_host=m68klynx ;;
-m68*-sony-*) gdb_host=news ;;
-m68*-sun-sunos3*) gdb_host=sun3os3 ;;
-m68*-sun-sunos4*) gdb_host=sun3os4 ;;
-m68*-sun-*) gdb_host=sun3os4 ;;
-
-m88k-motorola-*) gdb_host=delta88 ;;
-m88k-*-*) gdb_host=m88k ;;
-
-mips-dec-*) gdb_host=decstation ;;
-mips-little-*) gdb_host=littlemips ;;
-mips-sgi-irix3) gdb_host=irix3 ;;
-mips-sgi-irix4*) gdb_host=irix4 ;;
-mips-sony-*) gdb_host=bigmips ;;
-
-none-*-*) gdb_host=none ;;
-
-np1-*-*) gdb_host=np1 ;;
-
-ns32k-umax-*) gdb_host=umax ;;
-ns32k-utek-sysv) gdb_host=merlin ;;
-
-pn-*-*) gdb_host=pn ;;
-
-pyramid-*-*) gdb_host=pyramid ;;
-
-romp-*-*) gdb_host=rtbsd ;;
-
-rs6000-*-*) gdb_host=rs6000 ;;
-
-sparc-*-lynxos*) gdb_host=sparclynx ;;
-sparc-*-solaris2*) gdb_host=sun4sol2 ;;
-sparc-*-sunos4*) gdb_host=sun4os4 ;;
-sparc-*-*) gdb_host=sun4os4 ;;
-
-tahoe-*-*) gdb_host=tahoe ;;
-
-vax-*-bsd*) gdb_host=vaxbsd ;;
-vax-*-ultrix2*) gdb_host=vaxult2 ;;
-vax-*-ultrix*) gdb_host=vaxult ;;
-
-esac
-
-if [ ! -f ${srcdir}/../config/${gdb_host_cpu}/${gdb_host}.mh ]; then
- echo '***' "GDB remote does not support host ${host}" 1>&2
- exit 1
+frags=
+host_makefile_frag=${srcdir}/../config/${gdb_host_cpu}/${gdb_host}.mh
+if test ! -f ${host_makefile_frag}; then
+ AC_MSG_ERROR("*** GDB remote does not support host ${host}")
fi
+frags="$frags $host_makefile_frag"
-# 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.
-
-case "${target_cpu}" in
-
-c[12]) gdb_target_cpu=convex ;;
-hppa*) gdb_target_cpu=pa ;;
-i[3456]86) gdb_target_cpu=i386 ;;
-m68*) gdb_target_cpu=m68k ;;
-np1) gdb_target_cpu=gould ;;
-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 ;;
-
-arm-*-*) gdb_target=arm ;;
-
-c1-*-*) gdb_target=convex ;;
-c2-*-*) gdb_target=convex ;;
-
-h8300-*-*) gdb_target=h8300hms ;;
-h8500-*-*) gdb_target=h8500hms ;;
-
-sh-*-*) gdb_target=sh ;;
-
-hppa*-*-bsd*) gdb_target=hppabsd ;;
-hppa*-*-hpux*) gdb_target=hppahpux ;;
-
-i[3456]86-sequent-*) gdb_target=symmetry ;;
-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-*-bsd*) gdb_target=i386bsd ;;
-i[3456]86-*-lynxos*) gdb_target=i386lynx ;;
-i[3456]86-*-go32) gdb_target=i386aout ;;
-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 ;;
-
-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-*-aout) gdb_target=m68k-nofp ;;
-m68000-*-coff) gdb_target=m68k-nofp ;;
-m68000-*-elf) gdb_target=m68k-nofp ;;
-m68000-*-sunos3*) gdb_target=sun2os3 ;;
-m68000-*-sunos4*) gdb_target=sun2os4 ;;
-
-m68*-cbm-sysv4*) gdb_target=amix ;;
-m68*-hp-bsd*) gdb_target=hp300bsd ;;
-m68*-hp-hpux*) gdb_target=hp300hpux ;;
-
-m68*-altos-*) gdb_target=altos ;;
-m68*-att-*) gdb_target=3b1 ;;
-m68*-ericsson-*) gdb_target=es1800 ;;
-m68*-isi-*) gdb_target=isi ;;
-m68*-netx-*) gdb_target=vxworks68 ;;
-m68*-sony-*) gdb_target=news ;;
-m68*-tandem-*) gdb_target=st2000 ;;
-
-m68*-*-aout) gdb_target=m68k-fp ;;
-m68*-*-coff) gdb_target=m68k-fp ;;
-m68*-*-elf) gdb_target=m68k-fp ;;
-m68*-*-lynxos*) gdb_target=m68klynx ;;
-m68*-*-os68k) gdb_target=os68k ;;
-m68*-*-sunos3*) gdb_target=sun3os3 ;;
-m68*-*-sunos4*) gdb_target=sun3os4 ;;
-m68*-*-vxworks*) gdb_target=vxworks68 ;;
-
-m88k-motorola-*) gdb_target=delta88 ;;
-m88k-*-*) gdb_target=m88k ;;
-
-mips-big-*) gdb_target=bigmips ;;
-mips-dec-*) gdb_target=decstation ;;
-mips-idt-ecoff) gdb_target=idt ;;
-mips-little-*) gdb_target=littlemips ;;
-mips-sgi-*) gdb_target=irix3 ;;
-mips-sony-*) gdb_target=bigmips ;;
-
-none-*-*) gdb_target=none ;;
-
-np1-*-*) gdb_target=np1 ;;
-
-ns32k-utek-sysv) gdb_target=merlin ;;
-ns32k-utek-*) gdb_target=umax ;;
-
-pn-*-*) gdb_target=pn ;;
-
-pyramid-*-*) gdb_target=pyramid ;;
-
-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 ;;
-sparc-*-solaris2*) gdb_target=sun4sol2 ;;
-sparc-*-sunos4*) gdb_target=sun4os4 ;;
-sparc-*-vxworks*) gdb_target=sparc-em ;;
-sparc-*-*) gdb_target=sun4os4 ;;
-sparclite*-*-*) gdb_target=sparclite ;;
-
-tahoe-*-*) gdb_target=tahoe ;;
-vax-*-*) gdb_target=vax ;;
-
-z8k-*-sim) gdb_target=z8ksim ;;
-esac
-
-if [ ! -f ${srcdir}/../config/${gdb_target_cpu}/${gdb_target}.mt ]; then
- echo '***' "GDB remote does not support target ${target}" 1>&2
- exit 1
-fi
-
-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)}'
-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`
-
-if [ "${target}" = "${host}" ] ; then
- nativefile=`awk '$1 == "NAT_FILE=" { print $2 }' <${srcdir}/../config/${gdb_host_cpu}/${gdb_host}.mh`
+target_makefile_frag=${srcdir}/../config/${gdb_target_cpu}/${gdb_target}.mt
+if test ! -f ${target_makefile_frag}; then
+ AC_MSG_ERROR("*** GDB remote does not support target ${target}")
fi
+frags="$frags $target_makefile_frag"
-host_makefile_frag=../config/${gdb_host_cpu}/${gdb_host}.mh
-target_makefile_frag=../config/${gdb_target_cpu}/${gdb_target}.mt
+AC_SUBST_FILE(host_makefile_frag)
+AC_SUBST_FILE(target_makefile_frag)
+AC_SUBST(frags)
-# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
-# (NAT_FILE) is not set in the ?config/* file, 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".
+changequote(,)dnl
+hostfile=`sed -n '
+s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
+' ${host_makefile_frag}`
-files=
-links=
-rm -f xm.h
-rm -f ser-hardwire.c
-if [ "${hostfile}" != "" ]; then
- if [ -f ${srcdir}/../config/${hostfile} ]; then
- files="${files} ../config/${hostfile}"
- else
- files="${files} ../config/${gdb_host_cpu}/${hostfile}"
- fi
- links="${links} xm.h"
-
-# files="${files} ${gdb_serial_driver}"
-# links="${links} ser-hardwire.c"
-fi
-rm -f tm.h
-if [ "${targetfile}" != "" ]; then
- if [ -f ${srcdir}/../config/${targetfile} ]; then
- files="${files} ../config/${targetfile}"
- else
- files="${files} ../config/${gdb_target_cpu}/${targetfile}"
- fi
- links="${links} tm.h"
-fi
-rm -f nm.h
-if [ "${nativefile}" != "" ]; then
- if [ -f ${srcdir}/../config/${nativefile} ]; then
- files="${files} ../config/${nativefile}"
- else
- files="${files} ../config/${gdb_host_cpu}/${nativefile}"
- fi
- links="${links} nm.h"
-# temporary scaffolding until all hosts have the host/target/native
-# split in place.
-else
- files="${files} ../config/nm-trash.h"
- links="${links} nm.h"
-fi
+targetfile=`sed -n '
+s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
+' ${target_makefile_frag}`
-if [ ${target_cpu} = "sparclite" ]; then
- configdirs="${configdirs} sparclite"
+if test "${target}" = "${host}"; then
+nativefile=`sed -n '
+s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
+' ${host_makefile_frag}`
fi
+changequote([,])dnl
-# post-target:
-
-if [ "${nativefile}" = "" ] ; then
- sed -e '/^NATDEPFILES= /s//# NATDEPFILES= /' \
- < Makefile > Makefile.tem
- mv -f Makefile.tem Makefile
-fi
+AC_OUTPUT(Makefile)