diff options
author | K. Richard Pixley <rich@cygnus> | 1991-08-22 07:07:58 +0000 |
---|---|---|
committer | K. Richard Pixley <rich@cygnus> | 1991-08-22 07:07:58 +0000 |
commit | 6c815bbe31bc43fed905037a4961e59a5809f1c7 (patch) | |
tree | 47eeed36c660fcf978f241c3423a9d0255b8f962 /gdb | |
parent | c0b47bae9750f1427bd226d803ade3720e0ed078 (diff) | |
download | gdb-6c815bbe31bc43fed905037a4961e59a5809f1c7.zip gdb-6c815bbe31bc43fed905037a4961e59a5809f1c7.tar.gz gdb-6c815bbe31bc43fed905037a4961e59a5809f1c7.tar.bz2 |
Three part names, etc.
Diffstat (limited to 'gdb')
-rwxr-xr-x | gdb/config.sub | 276 | ||||
-rw-r--r-- | gdb/configure.in | 222 |
2 files changed, 489 insertions, 9 deletions
diff --git a/gdb/config.sub b/gdb/config.sub new file mode 100755 index 0000000..58338df --- /dev/null +++ b/gdb/config.sub @@ -0,0 +1,276 @@ +#!/bin/sh + +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# Separate what the user gave into CPU-company and OS (if any). +basic_machine=`echo $1 | sed 's/-[^-]*$//'` +if [ $basic_machine != $1 ] +then os=`echo $1 | sed 's/^.*-/-/'` +else os=; fi + +# Decode aliases for certain machine-company combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + vax | tahoe | i386 | i860 | m68k | m68000 | m88k | sparc | ns32k \ + | alliant | arm | c1 | c2 | mips | pyramid | tron | a29k \ + | rtpc | rs6000 | i960 | none) + ;; + # Recognize the basic CPU types with company name. + vax-* | tahoe-* | i386-* | i860-* | m68k-* | m68000-* | m88k-* \ + | sparc-* | ns32k-* | alliant-* | arm-* | c1-* | c2-* \ + | mips-* | pyramid-* | tron-* | a29k-* | rtpc-* \ + | rs6000-* | i960-*) + ;; + # Recognize the machine names + # which stand for a CPU time and a company. + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + am29k) + basic_machine=a29k-unknown + os=-bsd + ;; + umax) + basic_machine=ns32k-umax + os=-sysv # maybe? + ;; + pn) + basic_machine=pn-gould + os=-sysv # maybe? + ;; + np1) + basic_machine=np1-gould + os=-sysv # maybe? + ;; + merlin) + basic_machine=merlin-utek + os=-sysv # maybe? + ;; + iris | iris4d) + basic_machine=mips-sgi + os=-sysv # maybe? + ;; + news1000) + basic_machine=m68030-sony + os=-sysv # maybe? + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-sysv # maybe? + ;; + unixpc | safari | pc7300 | 3b1 | 7300 | 7300-att | att-7300) + basic_machine=m68k-att + os=-sysv # maybe? + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + os=-sysv # maybe? + ;; + vax-dec) + basic_machine=vax + os=-ultrix # maybe? + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + mmax) + basic_machine=ns32k-encore + os=-sysv # maybe? + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + sun2) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + pbd) + basic_machine=sparc-unicom + os=-sysv + ;; + roadrunner | sun386 | sun386i) + basic_machine=i386-sun + os=-sunos + ;; + ps2) + basic_machine=i386-ibm + os=-sysv # maybe? + ;; + i386sco) + basic_machine=i386-sco + os=-sysv # maybe? + ;; + i386v) + basic_machine=i386-unknown + os=-sysv + ;; + i386v32) + basic_machine=i386-unknown + os=-sysv32 + ;; + next) + basic_machine=m68k-next + os=-sysv # maybe? + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux | hpux | hp9k3[2-9][0-9]) + basic_machine=m68k-hp + os=-hpux + ;; + hp9k31[0-9] | hp9k2[0-9][0-9]) + basic_machine=m68000-hp + os=-hpux + ;; + isi | isi68) + basic_machine=m68k-isi + os=-sysv # maybe? + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv # maybe? + ;; + altos | altos3068) + basic_machine=m68k-altos + os=-sysv # maybe? + ;; + altosgas) + basic_machine=m68k-altos + os=-gas + ;; + miniframe) + basic_machine=m68000-convergent + os=-sysv # maybe? + ;; + tower | tower-32) + basic_machine=m68k-ncr + os=-sysv # maybe? + ;; + bigmips | news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos # maybe? + ;; + littlemips) + basic_machine=mips-little + os=-bsd + ;; + dec3100 | decstatn | decstation | decstation-3100 | pmax) + basic_machine=mips-dec + os=-ultrix + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv # maybe? + ;; + gmicro) + basic_machine=tron + os=-sysv # maybe? + ;; + convex-c1) + basic_machine=c1-convex + os=-sysv # maybe? + ;; + convex-c2) + basic_machine=c2-convex + os=-sysv # maybe? + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +case $os in + # First accept the basic system types. + # The portable systems comes first. + -bsd* | -sysv* | -mach* \ + | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \ + | -unos* | -osf* | -v88r* | -aout | -coff | -bout \ + | -nindy | -vxworks) + ;; + -newsos*) + os=-bsd + ;; + -ultrix*) + os=-bsd + ;; + -osfrose*) + os=-osf + ;; + -osf*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -ctix*) + os=-sysv + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $1 | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac + +echo ${basic_machine}${os} diff --git a/gdb/configure.in b/gdb/configure.in index f1e403d..ebcb3b7 100644 --- a/gdb/configure.in +++ b/gdb/configure.in @@ -3,31 +3,235 @@ srctrigger=main.c # per-host: -if [ ! -f xconfig/${host} ]; then - echo "No such host ${host}" +# map host info into gdb names. + +case "${host_cpu}" in + +m68k) + case "${host_vendor}" in + att) gdb_host=3b1 ;; + altos) + case "${host_os}" in + gas) gdb_host=altosgas ;; + *) gdb_host=altos ;; + esac + ;; + hp) + case ${host_os} in + hpux) gdb_host=hp300hpux ;; + bsd) gdb_host=hp300bsd ;; + esac + ;; + + isi) gdb_host=isi ;; + sony) gdb_host=news ;; + sun) + case "${host_os}" in + sunos3) gdb_host=sun3os3 ;; + sunos4) gdb_host=sun3os4 ;; + *) gdb_host=sun3 ;; + esac + ;; + esac + ;; + +m68000) + case "${host_vendor}" in + sun) + case "${host_os}" in + sunos3) gdb_host=sun2os3 ;; + sunos4) gdb_host=sun2os4 ;; + *) gdb_host=sun2 ;; + esac + esac + ;; + +sparc) + case "${host_os}" in + sunos3) gdb_host=sun4os3 ;; + sunos4) gdb_host=sun4os4 ;; + *) gdb_host=sun4 ;; + esac + ;; + +m68030) + case "${host_vendor}" in + sony) gdb_host=news1000 ;; + esac + ;; + +mips) + case "${host_vendor}" in + sony) gdb_host=bigmips ;; + dec) gdb_host=dec3100 ;; + little) gdb_host=littlemips ;; + esac + ;; + +i386) + case "${host_vendor}" in + sun) gdb_host=sun386 ;; + sco) gdb_host=i386sco ;; + sequent) gdb_host=symmetry ;; + *) + case "${host_os}" in + sysv) gdb_host=i386v ;; + sysv32) gdb_host=i386v32 ;; + esac + ;; + esac + ;; + +c1 | c2) gdb_host=convex ;; + +ns32k) + case "${host_vendor}" in + umax) gdb_host=umax ;; + esac + ;; + +arm | vax | m88k | merlin | none | np1 | pn | pyramid | tahoe) gdb_host=${host_cpu} ;; + +### unhandled hosts +#altosgas +#i386v-g +#i386v32-g + +esac + +if [ ! -f xconfig/${gdb_host} ]; 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 }' <xconfig/$host` +hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/${gdb_host}` # per-target: -if [ ! -f tconfig/${target} ]; then - echo "No such target ${target}" +case "${target_cpu}" in + +m68k) + case "${target_vendor}" in + att) gdb_target=3b1 ;; + altos) gdb_target=altos ;; + hp) + case "${target_os}" in + bsd) gdb_target=hp300bsd ;; + hpux) gdb_target=hp300hpux ;; + esac + ;; + sun) + case "${target_os}" in + sunos3) gdb_target=sun3os3 ;; + sunos4) gdb_target=sun3os4 ;; + *) gdb_target=sun3 ;; + esac + ;; + wrs) gdb_target=vxworks68 ;; + isi) gdb_target=isi ;; + sony) gdb_target=news ;; + esac + ;; + +m68000) + case "${target_vendor}" in + sun) + case "${target_os}" in + sunos3) gdb_target=sun2os3 ;; + sunos4) gdb_target=sun2os4 ;; + *) gdb_target=sun2 ;; + esac + esac + ;; + +m68030) + case "${target_vendor}" in + sony) gdb_target=news1000 ;; + esac + ;; + +none | np1 | pn | np1 | pn | pyramid | merlin | i960 | m88k | a29k) + gdb_target=${target_cpu} ;; + +arm) gdb_target=${target_cpu} ;; + +mips) + case "${target_vendor}" in + sony) gdb_target=bigmips ;; + dec) gdb_target=dec3100 ;; + little) gdb_target=littlemips ;; + esac + ;; + +c1 | c2) gdb_target=convex ;; + +i386) + case "${target_vendor}" in + sco) gdb_target=i386sco ;; + sun) gdb_target=sun386 ;; + esac + ;; + +sparc) + case "${target_vendor}" in + sun) + case "${target_os}" in + sunos3) gdb_target=sun4os3 ;; + sunos4) gdb_target=sun4os4 ;; + *) gdb_target=sun4 ;; + esac + ;; + esac + ;; + + +i386) + case "${target_vendor}" in + sequent) gdb_target=symmetry ;; + *) + case "${target_os}" in + sysv) gdb_target=i386v ;; + sysv32) gdb_target=i386v32 ;; + esac + esac + ;; + +i960) + case "${target_vendor}" in + wrs) gdb_target=vxworks960 ;; + intel) gdb_target=nindy960 ;; + esac + ;; + +ns32k) + case "${target_vendor}" in + utek) gdb_target=umax ;; + esac + ;; + +### unhandled targets +# altosgas +# i386v-g +# i386v32-g + +esac + +if [ ! -f tconfig/${gdb_target} ]; then + echo '***' "Gdb does not support target ${target}" 1>&2 exit 1 fi if [ -z "${removing}" ] ; then - cat xconfig/${host} tconfig/${target} | awk '$1 == "#msg" { + cat xconfig/${gdb_host} tconfig/${gdb_target} | 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 }' <tconfig/$target` +targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/${gdb_target}` -host_makefile_frag=xconfig/${host} -target_makefile_frag=tconfig/${target} +host_makefile_frag=xconfig/${gdb_host} +target_makefile_frag=tconfig/${gdb_target} # If hostfile (XM_FILE) and/or targetfile (TM_FILE) is not set in the # ?config/* file, we don't make the corresponding links. But we have |