#!/bin/sh
-# Configuration validation subroutine script, version 1.0.
-# Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+# Configuration validation subroutine script, version 1.1.
+# Copyright (C) 1991-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.
#This file is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
# 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
+ echo Configuration name missing. 1>&2
+ echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
+ echo "or $0 ALIAS" 1>&2
+ echo where ALIAS is a recognized configuration type. 1>&2
+ exit 1
+fi
# First pass through any local machine types.
case $1 in
esac
# Separate what the user gave into CPU-COMPANY and OS (if any).
-basic_machine=`echo $1 | sed 's/-[^-][^-]*$//'`
+basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi
-# Lets recognize common machines as not being OS so that things like
-# config.subr decstation-3100 as legal.
+### 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
-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* | -osf* | \
+ -unicom* | -ibm* | -next* | -hp | -hitachi | -isi* | -apollo | \
+ -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | \
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris)
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp)
os=
basic_machine=$1
;;
- -sco*)
- os=-scosysv322
- basic_machine=i386-unknown
+ -lynx)
+ os=-lynxos
;;
- -isc*)
- os=-iscsysv
- basic_machine=i386-unknown
+ -scout) # CYGNUS LOCAL
;;
-# start-sanitize-v9
- -32)
- basic_machine=sparc64-hal
- os=-hal32
+ -wrs) # CYGNUS LOCAL
+ os=vxworks
+ basic_machine=$1
;;
- -64)
- basic_machine=sparc64-hal
- os=-hal64
+ -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/'`
;;
- -v7)
- basic_machine=sparc64-sun
- os=-v7
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
;;
-# end-sanitize-v9
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types with without company name.
- tahoe | i386 | i860 | m68k | m680[01234]0 | m88k | ns32k | arm | pyramid \
- | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 | we32k\
- | v70)
+ # 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 | ns16k | clipper | sparclite \
+ | sparc | m680[01234]0 | m683?2 | z8k | v70 | h8500 \
+ | m88110) # CYGNUS LOCAL
basic_machine=$basic_machine-unknown
;;
# Recognize the basic CPU types with with company name.
- vax-* | tahoe-* | i386-* | i860-* | m68k-* | m680[01234]0-* | m88k-* \
- | sparc-* | ns32k-* | alliant-* | arm-* | c[123]* \
+ 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-* | we32k-*)
+ | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
+ | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
+ | m680[01234]0-* | m683?2-* | z8k-* | h8500-* | sh-* \
+ | m88110-*) # 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-life
- life-*) ;;
- life)
- basic_machine=life-philips
- os=-none
- ;;
-# end-sanitize-life
-
# start-sanitize-v9
- sparc64-*) ;;
- hal-32 | hal32)
- basic_machine=sparc64-hal
- os=-hal32
- ;;
- hal-64 | hal64)
- basic_machine=sparc64-hal
- os=-hal64
- ;;
- sparc64)
+ sparc64) # CYGNUS LOCAL
basic_machine=sparc64-sun
- os=-v9
+ os=-elf64i64p
;;
- sparc64-v7 | sparc64v7)
- basic_machine=sparc64-sun
- os=-v7
+ sparc64-*) # CYGNUS LOCAL
;;
# end-sanitize-v9
+
+ dpx20 | dpx20-*) # CYGNUS LOCAL
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
vaxv)
basic_machine=vax-dec
os=-sysv
basic_machine=vax-dec
os=-vms
;;
- i386mach)
+ i386mach) # CYGNUS LOCAL
basic_machine=i386-mach
os=-mach
;;
- i386v32)
- basic_machine=i386-unknown
- os=-sysv32
+ i[34]86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-sysv3.2
;;
- i386-sco* | i386sco | sco)
- basic_machine=i386-unknown
- os=-scosysv322
+ i[34]86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-sysv4
;;
- go32 | i386-go32)
- basic_machine=i386-unknown
- os=-go32
+ i[34]86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-sysv
;;
- i386-isc* | isc)
+ i[34]86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-solaris2
+ ;;
+ go32 | i386-go32) # CYGNUS LOCAL
basic_machine=i386-unknown
- os=-iscsysv
+ os=-go32
;;
- i386-linux* | linux)
+ i386-linux* | linux) # CYGNUS LOCAL
basic_machine=i386-unknown
os=-linux
;;
- i386v4*)
+ 386bsd) # CYGNUS LOCAL
basic_machine=i386-unknown
- os=-sysv4
+ os=-bsd
;;
- i386v)
- basic_machine=i386-unknown
- os=-sysv
+ netbsd386)
+ basic_machine=i386-unknown # CYGNUS LOCAL
+ os=-netbsd
;;
spur)
basic_machine=spur-unknown
;;
- alliant)
- basic_machine=alliant-alliant
+ alliant | fx80)
+ basic_machine=fx80-alliant
;;
convex-c1)
basic_machine=c1-convex
- os=-sysv
+ os=-bsd
;;
convex-c2)
basic_machine=c2-convex
- os=-sysv
+ os=-bsd
;;
convex-c32)
basic_machine=c32-convex
- os=-sysv
+ os=-bsd
;;
convex-c34)
basic_machine=c34-convex
- os=-sysv
+ os=-bsd
;;
convex-c38)
basic_machine=c38-convex
- os=-sysv
+ os=-bsd
;;
m88k-omron*)
basic_machine=m88k-omron
crds | unos)
basic_machine=m68k-crds
;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
encore | umax | mmax)
basic_machine=ns32k-encore
- os=-sysv
;;
genix)
basic_machine=ns32k-ns
;;
- iris | iris3 | iris4d)
+ iris | iris4d | \
+ iris3 | iris4) # CYGNUS LOCAL
basic_machine=mips-sgi
- os=-irix3
- ;;
- iris4)
- basic_machine=mips-sgi
- os=-irix4
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68k-att
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=sparc-sun
os=-sunos4
;;
- sun4sol2)
+ sun4sol2) # CYGNUS LOCAL
basic_machine=sparc-sun
os=-solaris2
;;
+ z8ksim) # CYGNUS LOCAL
+ basic_machine=z8k-zilog
+ os=-sim
+ ;;
+ z8k) # CYGNUS LOCAL
+ basic_machine=z8k-zilog
+ ;;
sun3)
basic_machine=m68k-sun
;;
sun4)
basic_machine=sparc-sun
;;
+ msdos) # CYGNUS LOCAL
+ basic_machine=i386-unknown
+ os=-msdos
+ ;;
pbd)
- basic_machine=sparc-unicom
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
ps2)
basic_machine=i386-ibm
;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
next)
basic_machine=m68k-next
os=-bsd
;;
+ 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-apollo
os=-sysv
;;
- apollo68bsd)
+ apollo68bsd) # CYGNUS LOCAL
basic_machine=m68k-apollo
os=-bsd
;;
basic_machine=m68k-altos
;;
miniframe)
- basic_machine=m68000-convergent
+ basic_machine=m68010-convergent
;;
tower | tower-32)
basic_machine=m68k-ncr
basic_machine=mips-sony
os=-newsos
;;
- st2000)
- basic_machine=m68kmote-tandem
- ;;
- decstation-dec | decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn)
+ 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
;;
magnum | m3230)
basic_machine=580-amdahl
os=-sysv
;;
- amigados)
- basic_machine=m68k-cbm
- os=-amigados
- ;;
- amigaunix | amix)
- basic_machine=m68k-cbm
- os=-sysv4
- ;;
- stratus)
+ stratus) # CYGNUS LOCAL
basic_machine=i860-stratus
os=-sysv4
;;
;;
delta88)
basic_machine=m88k-motorola
- os=-m88kbcs
+ os=-sysv3
;;
dpx2)
basic_machine=m68k-bull
basic_machine=a29k-amd
os=-ebmon
;;
-
- h8300hms)
+ h8300hms) # CYGNUS LOCAL
basic_machine=h8300-hitachi
os=-hms
;;
- udi29k)
+ 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
+ ;;
+ h8300hds)
+ basic_machine=h8300-hitachi
+ os=-hds
+ ;;
+ udi29k) # CYGNUS LOCAL
basic_machine=a29k-amd
os=-udi
;;
- a29khif)
+ a29khif) # CYGNUS LOCAL
basic_machine=a29k-amd
os=-udi
;;
- sa29200)
+ sa29200) # CYGNUS LOCAL
basic_machine=a29k-amd
os=-udi
;;
- h8300xray)
- 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
- ;;
- hppabsd)
- basic_machine=hppa-hp
- os=-bsd
- ;;
- hppahpux)
- basic_machine=hppa-hp
- os=-hpux
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
;;
ncr3000)
- basic_machine=i386-ncr
+ basic_machine=i486-ncr
os=-sysv4
;;
- necv70)
+ necv70) # CYGNUS LOCAL
basic_machine=v70-nec
os=-sysv
;;
;;
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
;;
- os68k)
+ es1800 | OSE68k | ose68k | ose | OSE) # CYGNUS LOCAL
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ OSE68000 | ose68000) # CYGNUS LOCAL
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k) # CYGNUS LOCAL
basic_machine=m68k-none
os=-os68k
;;
- sparclite)
- basic_machine=sparclite-fujitsu
+ sparclite-wrs) # CYGNUS LOCAL
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sparcfrw) # CYGNUS LOCAL
+ basic_machine=sparcfrw-sun
+ os=-sunos4
+ ;;
+ sparcfrwcompat) # CYGNUS LOCAL
+ basic_machine=sparcfrwcompat-sun
+ os=-sunos4
+ ;;
+ 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
vax)
basic_machine=vax-dec
;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
sparc)
basic_machine=sparc-sun
;;
- fx2800)
- basic_machine=i860-alliant
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
;;
esac
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
# 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* | -aout \
- | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \
- | -unos* | -osf* | -v88r* | -luna* | -dgux* | -solaris* | -sym* \
- | -newsos | -amigados* | -msdos* | -none* | -os68k* | -irix* \
- | -nindy* | -vxworks* | -ebmon* | -udi | -hms* | -xray \
- | -m88kbcs* | -go32 | -linux*)
+ -bsd* | -sysv* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -netbsd | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]* | -hpux* \
+ | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
+ | -nindy* | -vxworks* | -ebmon* | -hds* \
+ | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -go32 | -sim | -es1800* | -udi | -hms* | -xray \
+ | -os68k* | -none* | -v88r* | -aout | -coff | -elf | -bosx* \
+ | -ecoff* | -lynxos* | -netware* )
+ # The last three lines above are CYGNUS LOCAL
;;
# start-sanitize-v9
- -v7 | -v9 | -hal32 | -hal64) ;;
+ -v7 | -old* | -aout* | -elf*) ;; # CYGNUS LOCAL
# end-sanitize-v9
-
-# Note that readline checks for newsos
-# -newsos*)
-# os=-bsd
-# ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
-osfrose*)
- os=-osf
+ os=-osfrose
;;
-osf*)
+ os=-osf
+ ;;
+ -utek*)
os=-bsd
;;
-dynix*)
os=-bsd
;;
- -aos*)
+ -acis*)
+ os=-aos
+ ;;
+ -386bsd) # CYGNUS LOCAL
os=-bsd
;;
-ctix* | -uts*)
os=-sysv
;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
-svr4)
os=-sysv4
;;
-svr3)
os=-sysv3
;;
+ -ose*) # CYGNUS LOCAL
+ os=-ose
+ ;;
+ -es1800*) # CYGNUS LOCAL
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -none)
+ ;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $1 | sed 's/[^-]*-//'`
# 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
*-dec | vax-*)
- os=-ultrix42
+ os=-ultrix4.2
;;
i386-sun)
- os=-sunos402
+ os=-sunos4.0.2
;;
m68000-sun)
os=-sunos3
# default.
# os=-sunos4
;;
- sparc-* | *-sun)
- os=-sunos411
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
;;
- romp-*)
- os=-bsd
+ sparc-* | *-sun)
+ os=-sunos4.1.1
;;
*-ibm)
os=-aix
*-hp)
os=-hpux
;;
- *-sgi | i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=-sysv
;;
+ *-cbm)
+ os=-amigados
+ ;;
*-dg)
os=-dgux
;;
+ *-dolphin)
+ os=-sysv3
+ ;;
m88k-omron*)
os=-luna
;;
+ *-sequent)
+ os=-bsd
+ ;;
*-crds)
os=-unos
;;
*-ns)
os=-genix
;;
- i386-*)
- os=-scosysv322
+ 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
;;
*)
os=-none
-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
+ ;;
+ -hms*) # CYGNUS LOCAL
+ vendor=hitachi
+ ;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;