diff options
Diffstat (limited to 'bfd/config.sub')
-rwxr-xr-x | bfd/config.sub | 276 |
1 files changed, 276 insertions, 0 deletions
diff --git a/bfd/config.sub b/bfd/config.sub new file mode 100755 index 0000000..58338df --- /dev/null +++ b/bfd/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} |