#!/bin/sh
# Configuration validation subroutine script, version 1.1.
-# Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# it is wrong to echo any other type of specification
+# It is wrong to echo any other type of specification.
if [ x$1 = x ]
then
then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi
-# Lets recognize common machines as not being OS so that things like
-# config.sub decstation-3100 work.
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-unicom* | -ibm* | -next* | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | \
- -sim) # CYGNUS LOCAL
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -sim | -cisco) # CYGNUS LOCAL
os=
basic_machine=$1
;;
-scout) # CYGNUS LOCAL
;;
+ -wrs) # CYGNUS LOCAL
+ os=vxworks
+ basic_machine=$1
+ ;;
+ -unixware) # CYGNUS LOCAL
+ os=-sysv4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
-sco*)
os=-sco3.2v2
- basic_machine=i386-unknown
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
;;
- -isc*)
- os=-isc
- basic_machine=i386-unknown
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
;;
- -OSE68k | -ose68k | -OSE | -ose | -es1800) # CYGNUS LOCAL
- os=-ose
- basic_machine=m68k-ericsson
+ -clix*)
+ basic_machine=clipper-intergraph
;;
- -OSE68000 | -ose68000) # CYGNUS LOCAL
- os=-ose
- basic_machine=m68000-ericsson
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
;;
-# start-sanitize-v9
- -32) # CYGNUS LOCAL
- basic_machine=sparc64-hal
- os=-hal32
+ -lynx*)
+ os=-lynxos
;;
- -64) # CYGNUS LOCAL
- basic_machine=sparc64-hal
- os=-hal64
+ -os9k)
+ os=-os9k
;;
- -v7) # CYGNUS LOCAL
- basic_machine=sparc64-sun
- os=-v7
+ -os9)
+ os=-os9
;;
-# end-sanitize-v9
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
- # Recognize the basic CPU types with without company name.
+ # Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
tahoe | i[34]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \
- | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
- | alpha | we32k | sparc \
- | m680[01234]0 | m683?2 | z8k | v70) # CYGNUS LOCAL
+ | tron | a29k | 580 | i960 | hppa1.0 | hppa1.1 \
+ | alpha | we32k | ns16k | clipper | sparclite | i370 \
+ | powerpc \
+ | h8300 | h8300h | sh \
+ | m88110 | sparc | m680[01234]0 | m683?2 | z8k | v70 \
+ | v810 \
+ | h8500 | mips64 | mipsel | mips64el) # CYGNUS LOCAL
basic_machine=$basic_machine-unknown
;;
- # Recognize the basic CPU types with with company name.
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
vax-* | tahoe-* | i[34]86-* | i860-* | m68k-* | m68000-* | m88k-* \
| sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
- | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
- | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* \
- | m680[01234]0-* | m683?2-* | z8k-*) # CYGNUS LOCAL
+ | none-* | 580-* | cray2-* | i960-* | xmp-* | ymp-* \
+ | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
+ | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
+ | powerpc-* \
+ | h8300-* | h8300h-* | sh-* \
+ | m88110-* | m680[01234]0-* | m683?2-* | z8k-* | h8500-* \
+ | mips64-* | mipsel-* | mips64el-*) # CYGNUS LOCAL
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
-# start-sanitize-v9
- sparc64-*) ;; # CYGNUS LOCAL
- hal-32 | hal32) # CYGNUS LOCAL
- basic_machine=sparc64-hal
- os=-hal32
- ;;
- hal-64 | hal64) # CYGNUS LOCAL
- basic_machine=sparc64-hal
- os=-hal64
- ;;
sparc64) # CYGNUS LOCAL
basic_machine=sparc64-sun
- os=-v9
+ os=-elf
;;
- sparc64-v7 | sparc64v7) # CYGNUS LOCAL
- basic_machine=sparc64-sun
- os=-v7
+ sparc64-*) # CYGNUS LOCAL
;;
-# end-sanitize-v9
+ mips3-*) # CYGNUS LOCAL
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3) # CYGNUS LOCAL
+ basic_machine=mips64-unknown
+ ;;
+ dpx20 | dpx20-*) # CYGNUS LOCAL
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ unixware) # CYGNUS LOCAL
+ os=-sysv4
+ basic_machine=i386-unknown
+ ;;
vaxv)
basic_machine=vax-dec
os=-sysv
basic_machine=vax-dec
os=-vms
;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
i386mach) # CYGNUS LOCAL
basic_machine=i386-mach
os=-mach
;;
- i386v32)
- basic_machine=i386-unknown
+ i[34]86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
os=-sysv32
;;
- i386-sco* | i386sco | sco)
+ i[34]86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-sysv4
+ ;;
+ i[34]86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-sysv
+ ;;
+ i[34]86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-solaris2
+ ;;
+ vsta | i386-vsta) # CYGNUS LOCAL
basic_machine=i386-unknown
- os=-sco3.2v2
+ os=-vsta
;;
go32 | i386-go32) # CYGNUS LOCAL
basic_machine=i386-unknown
os=-go32
;;
- i386-isc* | isc)
- basic_machine=i386-unknown
- os=-isc
- ;;
i386-linux* | linux) # CYGNUS LOCAL
basic_machine=i386-unknown
os=-linux
;;
- i486v32)
- basic_machine=i486-unknown
- os=-sysv32
- ;;
- i486-sco* | i486sco | sco)
- basic_machine=i486-unknown
- os=-sco3.2v2
- ;;
- i486-isc* | isc)
- basic_machine=i486-unknown
- os=-isc
- ;;
- i386v4*)
+ i386-linux*coff | linuxcoff) # CYGNUS LOCAL
basic_machine=i386-unknown
- os=-sysv4
+ os=-linuxcoff
;;
- i486v4*)
- basic_machine=i486-unknown
- os=-sysv4
- ;;
- i386v)
+ i386-linux*elf | linuxelf) # CYGNUS LOCAL
basic_machine=i386-unknown
- os=-sysv
- ;;
- i486v)
- basic_machine=i486-unknown
- os=-sysv
+ os=-linuxelf
;;
386bsd) # CYGNUS LOCAL
basic_machine=i386-unknown
os=-bsd
;;
+ netbsd386)
+ basic_machine=i386-unknown # CYGNUS LOCAL
+ os=-netbsd
+ ;;
spur)
basic_machine=spur-unknown
;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
alliant | fx80)
basic_machine=fx80-alliant
;;
;;
encore | umax | mmax)
basic_machine=ns32k-encore
- os=-bsd
;;
genix)
basic_machine=ns32k-ns
os=-solaris2
;;
z8ksim) # CYGNUS LOCAL
- basic_machine=z8k-unknown
+ basic_machine=z8k-zilog
os=-sim
;;
sun3)
amiga)
basic_machine=m68k-cbm
;;
+ amigados)
+ basic_machine=m68k-cbm
+ os=-amigados
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-cbm
+ os=-sysv4
+ ;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
+ h3050r* | hppahitachi)
+ basic_machine=hppa1.1-hitachi
+ ;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
basic_machine=m68k-altos
;;
miniframe)
- basic_machine=m68000-convergent
+ basic_machine=m68010-convergent
;;
tower | tower-32)
basic_machine=m68k-ncr
st2000) # CYGNUS LOCAL
basic_machine=m68k-tandem
;;
+ m6*bug) # CYGNUS LOCAL
+ basic_machine=m68k-bug
+ os=-coff
+ ;;
+ rom68k) # CYGNUS LOCAL
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ monitor) # CYGNUS LOCAL
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn)
basic_machine=mips-dec
;;
basic_machine=580-amdahl
os=-sysv
;;
- amigados)
- basic_machine=m68k-cbm
- os=-amigados
- ;;
- amigaunix | amix)
- basic_machine=m68k-cbm
- os=-sysv4
- ;;
stratus) # CYGNUS LOCAL
basic_machine=i860-stratus
os=-sysv4
;;
delta88)
basic_machine=m88k-motorola
- os=-m88kbcs
+ os=-sysv3
;;
- dpx2)
+ dpx2* | dpx2*-bull)
basic_machine=m68k-bull
- os=-sysv
+ os=-sysv3
;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
;;
-
h8300hms) # CYGNUS LOCAL
basic_machine=h8300-hitachi
os=-hms
;;
+ sh*) # CYGNUS LOCAL
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+
+ h8500hms) # CYGNUS LOCAL
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
h8300xray) # CYGNUS LOCAL
basic_machine=h8300-hitachi
os=-xray
;;
harris)
basic_machine=m88k-harris
- os=-m88kbcs
+ os=-sysv3
;;
hp300bsd)
basic_machine=m68k-hp
basic_machine=m68k-hp
os=-hpux
;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- os=-hpux
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- os=-hpux
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
;;
ncr3000)
basic_machine=i486-ncr
basic_machine=v70-nec
os=-sysv
;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
news1000)
basic_machine=m68030-sony
os=-newsos
;;
pn)
basic_machine=pn-gould
- os=-sysv
;;
np1)
basic_machine=np1-gould
- os=-sysv
;;
ultra3)
basic_machine=a29k-nyu
basic_machine=m68k-wrs
os=-vxworks
;;
- es1800 | OSE68k | ose68k) # CYGNUS LOCAL
+ es1800 | OSE68k | ose68k | ose | OSE) # CYGNUS LOCAL
basic_machine=m68k-ericsson
os=-ose
;;
basic_machine=m68k-none
os=-os68k
;;
- sparclite) # CYGNUS LOCAL
- basic_machine=sparclite-fujitsu
- os=-none
- ;;
sparclite-wrs) # CYGNUS LOCAL
basic_machine=sparclite-wrs
os=-vxworks
;;
sparclitefrw) # CYGNUS LOCAL
basic_machine=sparclitefrw-fujitsu
- os=-none
;;
sparclitefrwcompat) # CYGNUS LOCAL
basic_machine=sparclitefrwcompat-fujitsu
- os=-none
;;
adobe68k) # CYGNUS LOCAL
basic_machine=m68010-adobe
os=-scout
;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
none)
basic_machine=none-none
os=-none
we32k)
basic_machine=we32k-att
;;
+ sparc)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+## start-sanitize-mpw
+ mac) # CYGNUS LOCAL
+ basic_machine=m68k-apple
+ ;;
+ mpw) # CYGNUS LOCAL
+ basic_machine=m68k-apple
+ ;;
+## end-sanitize-mpw
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
# Decode manufacturer-specific aliases for certain operating systems.
-if [ "$os" ]
+if [ x"$os" != x"" ]
then
case $os in
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative must end in a *, to match a version number.
- -bsd* | -sysv* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]* | -hpux* \
| -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
- | -nindy* | -vxworks* | -ebmon* | -hds* | -m88kbcs* \
- | -riscos* | -linux* \
- | -go32 | -linux* | -sim | -es1800* | -udi | -hms* | -xray \
- | -os68k* | -none* | -v88r* | -aout | -coff | -elf)
- # The last two lines above are CYGNUS LOCAL
+ | -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
+ | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -netbsd* | -riscix* | -lynxos* \
+ | -go32 | -vsta | -sim | -es1800* | -udi | -hms* | -xray | -hds* \
+ | -os68k* | -none* | -v88r* | -aout* | -coff | -elf* | -bosx* \
+ | -abug | -ecoff* | -netware* | -os9* )
+ # The last three lines above are CYGNUS LOCAL
;;
-# start-sanitize-v9
- -v7 | -v9 | -hal32 | -hal64) ;; # CYGNUS LOCAL
-# end-sanitize-v9
-
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
-osfrose*)
os=-osfrose
;;
-svr4)
os=-sysv4
;;
+ -unixware)
+ os=-sysv4
+ ;;
-svr3)
os=-sysv3
;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
-ose*) # CYGNUS LOCAL
os=-ose
;;
-es1800*) # CYGNUS LOCAL
os=-ose
;;
+ -xenix)
+ os=-xenix
+ ;;
-none)
;;
*)
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
case $basic_machine in
+ *-acorn)
+ os=-riscix1.2
+ ;;
*-dec | vax-*)
os=-ultrix4.2
;;
# default.
# os=-sunos4
;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
*-hp)
os=-hpux
;;
- *-sgi | i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=-sysv
;;
*-cbm)
m88k-omron*)
os=-luna
;;
+ *-sequent)
+ os=-bsd
+ ;;
*-crds)
os=-unos
;;
*-ns)
os=-genix
;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-bsd
+ ;;
i[34]86-*)
os=-sco3.2v2
;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ *-rom68k) # CYGNUS LOCAL
+ os=-coff
+ ;;
+ *-*bug) # CYGNUS LOCAL
+ os=-coff
+ ;;
+## start-sanitize-mpw
+ *-apple) # CYGNUS LOCAL
+ os=-mpw
+ ;;
+## end-sanitize-mpw
*)
os=-none
;;
case $basic_machine in
*-unknown)
case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
-sunos*)
vendor=sun
;;
+ -bosx*) # CYGNUS LOCAL
+ vendor=bull
+ ;;
+ -lynxos*)
+ vendor=lynx
+ ;;
-aix*)
vendor=ibm
;;
-hpux*)
vendor=hp
;;
+ -hiux*)
+ vendor=hitachi
+ ;;
-unos*)
vendor=crds
;;
-genix*)
vendor=ns
;;
- -vxworks*) # CYGNUS LOCAL
- vendor=wrs
+ -mvs*)
+ vendor=ibm
+ ;;
+ -vxworks*)
+ vendor=wrs # CYGNUS LOCAL
+ ;;
+ -hms*) # CYGNUS LOCAL
+ vendor=hitachi
+ ;;
+## start-sanitize-mpw
+ -mpw*) # CYGNUS LOCAL
+ vendor=apple
;;
+## end-sanitize-mpw
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;