mirror of
git://git.sv.gnu.org/autoconf
synced 2025-01-06 10:25:53 +08:00
efeeca5e76
* config.sub: Added machines and operating systems for Emacs ports, since Emacs now uses config.sub for its configuration. New manufacturers recognized not to be operating systems: High Level Hardware (highlevel, defaults to using BSD), Gould (gould, defaults to System V), Commodore (cbm, defaults to amigados), National Semiconductor (ns, defaults to Genix), and Masscomp (masscomp, defaults to RTU). Recognize the NS1600 (ns16k) and the Clipper (clipper) as processors. Recognize these processors with default manufacturers: the Cydra (cydra) from Cydrome (cydrome), the XPS100 (xps100) from Honeywell (honeywell), and the Orion (orion) and Orion 1/05 (orion105) from High Level Hardware (highlevel). If the ISC operating system is given with a version number, don't kill it and set it to 2.2; just have it default to 2.2 if omitted. Make Irix SGI's default operating system, not SYSV. Make BSD Encore's default, so it applies for all Encore machines, not just the umax and mmax abbreviations. All of Encore's machines use BSD, not just the ns32k-based ones. Make it the manufacturer's default. Make it possible to specify an operating system for a Gould machine. Make sysv the manufacturer's default, so it applies when we specify the manufacturer as well as when we omit it. Add Uniplus (uniplus), Iris (iris), Xenix (xenix), and RTU (rtu) as recognized operating system names.
660 lines
13 KiB
Bash
Executable File
660 lines
13 KiB
Bash
Executable File
#!/bin/sh
|
|
# Configuration validation subroutine script, version 1.1.
|
|
# Copyright (C) 1991, 1992 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 Free Software Foundation; either version 2 of the License, or
|
|
#(at your option) any later version.
|
|
|
|
#This program is distributed in the hope that it will be useful,
|
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
#GNU General Public License for more details.
|
|
|
|
#You should have received a copy of the GNU General Public License
|
|
#along with this program; if not, write to the Free Software
|
|
#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
|
|
# 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.
|
|
|
|
# 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.
|
|
|
|
# First pass through any local machine types.
|
|
case $1 in
|
|
*local*)
|
|
echo $1
|
|
exit 0
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
|
|
# 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
|
|
|
|
### 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* | \
|
|
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
|
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp )
|
|
os=
|
|
basic_machine=$1
|
|
;;
|
|
-sco3.2v[4-9]*)
|
|
# Don't forget version if it is 3.2v4 or newer.
|
|
os=-sco3.2v4
|
|
basic_machine=i386-unknown
|
|
;;
|
|
-sco*)
|
|
os=-sco3.2v2
|
|
basic_machine=i386-unknown
|
|
;;
|
|
-isc)
|
|
os=-isc2.2
|
|
basic_machine=i386-unknown
|
|
;;
|
|
-isc*)
|
|
basic_machine=i386-unknown
|
|
;;
|
|
esac
|
|
|
|
# Decode aliases for certain CPU-COMPANY combinations.
|
|
case $basic_machine in
|
|
# Recognize the basic CPU types with 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 | ns16k | clipper )
|
|
basic_machine=$basic_machine-unknown
|
|
;;
|
|
# Recognize the basic CPU types with 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-* | cydra-* | ns16k-* \
|
|
| pn-* | np1-* | xps100-* | clipper-* | orion-* )
|
|
;;
|
|
# Recognize the various machine names and aliases which stand
|
|
# for a CPU type and a company and sometimes even an OS.
|
|
vaxv)
|
|
basic_machine=vax-dec
|
|
os=-sysv
|
|
;;
|
|
vms)
|
|
basic_machine=vax-dec
|
|
os=-vms
|
|
;;
|
|
i386v32)
|
|
basic_machine=i386-unknown
|
|
os=-sysv32
|
|
;;
|
|
i386-sco* | i386sco | sco)
|
|
basic_machine=i386-unknown
|
|
os=-sco3.2v2
|
|
;;
|
|
i386-isc* | isc)
|
|
basic_machine=i386-unknown
|
|
os=-isc
|
|
;;
|
|
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*)
|
|
basic_machine=i386-unknown
|
|
os=-sysv4
|
|
;;
|
|
i486v4*)
|
|
basic_machine=i486-unknown
|
|
os=-sysv4
|
|
;;
|
|
i386v)
|
|
basic_machine=i386-unknown
|
|
os=-sysv
|
|
;;
|
|
i486v)
|
|
basic_machine=i486-unknown
|
|
os=-sysv
|
|
;;
|
|
spur)
|
|
basic_machine=spur-unknown
|
|
;;
|
|
alliant | fx80)
|
|
basic_machine=fx80-alliant
|
|
;;
|
|
convex-c1)
|
|
basic_machine=c1-convex
|
|
os=-bsd
|
|
;;
|
|
convex-c2)
|
|
basic_machine=c2-convex
|
|
os=-bsd
|
|
;;
|
|
convex-c32)
|
|
basic_machine=c32-convex
|
|
os=-bsd
|
|
;;
|
|
convex-c34)
|
|
basic_machine=c34-convex
|
|
os=-bsd
|
|
;;
|
|
convex-c38)
|
|
basic_machine=c38-convex
|
|
os=-bsd
|
|
;;
|
|
m88k-omron*)
|
|
basic_machine=m88k-omron
|
|
;;
|
|
merlin)
|
|
basic_machine=ns32k-utek
|
|
os=-sysv
|
|
;;
|
|
crds | unos)
|
|
basic_machine=m68k-crds
|
|
;;
|
|
elxsi)
|
|
basic_machine=elxsi-elxsi
|
|
os=-bsd
|
|
;;
|
|
encore | umax | mmax)
|
|
basic_machine=ns32k-encore
|
|
;;
|
|
genix)
|
|
basic_machine=ns32k-ns
|
|
;;
|
|
iris | iris4d)
|
|
basic_machine=mips-sgi
|
|
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=m68000-att
|
|
;;
|
|
3b*)
|
|
basic_machine=we32k-att
|
|
;;
|
|
delta | 3300 | motorola-3300 | motorola-delta \
|
|
| 3300-motorola | delta-motorola)
|
|
basic_machine=m68k-motorola
|
|
;;
|
|
balance)
|
|
basic_machine=ns32k-sequent
|
|
os=-dynix
|
|
;;
|
|
pc532)
|
|
basic_machine=ns32k-pc532
|
|
;;
|
|
symmetry)
|
|
basic_machine=i386-sequent
|
|
os=-dynix
|
|
;;
|
|
sun2)
|
|
basic_machine=m68000-sun
|
|
;;
|
|
sun2os3)
|
|
basic_machine=m68000-sun
|
|
os=-sunos3
|
|
;;
|
|
sun2os4)
|
|
basic_machine=m68000-sun
|
|
os=-sunos4
|
|
;;
|
|
sun3os3)
|
|
basic_machine=m68k-sun
|
|
os=-sunos3
|
|
;;
|
|
sun3os4)
|
|
basic_machine=m68k-sun
|
|
os=-sunos4
|
|
;;
|
|
sun4os3)
|
|
basic_machine=sparc-sun
|
|
os=-sunos3
|
|
;;
|
|
sun4os4)
|
|
basic_machine=sparc-sun
|
|
os=-sunos4
|
|
;;
|
|
sun3)
|
|
basic_machine=m68k-sun
|
|
;;
|
|
sun4)
|
|
basic_machine=sparc-sun
|
|
;;
|
|
pbd)
|
|
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
|
|
;;
|
|
hp9k31[0-9] | hp9k2[0-9][0-9])
|
|
basic_machine=m68000-hp
|
|
;;
|
|
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
|
|
basic_machine=hppa1.1-hp
|
|
;;
|
|
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
|
basic_machine=hppa1.0-hp
|
|
;;
|
|
isi68 | isi)
|
|
basic_machine=m68k-isi
|
|
os=-sysv
|
|
;;
|
|
apollo68)
|
|
basic_machine=m68k-apollo
|
|
os=-sysv
|
|
;;
|
|
altos | altos3068)
|
|
basic_machine=m68k-altos
|
|
;;
|
|
miniframe)
|
|
basic_machine=m68000-convergent
|
|
;;
|
|
tower | tower-32)
|
|
basic_machine=m68k-ncr
|
|
;;
|
|
news-3600 | risc-news)
|
|
basic_machine=mips-sony
|
|
os=-newsos
|
|
;;
|
|
decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn)
|
|
basic_machine=mips-dec
|
|
;;
|
|
magnum | m3230)
|
|
basic_machine=mips-mips
|
|
os=-sysv
|
|
;;
|
|
gmicro)
|
|
basic_machine=tron-gmicro
|
|
os=-sysv
|
|
;;
|
|
rtpc | rtpc-*)
|
|
basic_machine=romp-ibm
|
|
;;
|
|
am29k)
|
|
basic_machine=a29k-none
|
|
os=-bsd
|
|
;;
|
|
amdahl)
|
|
basic_machine=580-amdahl
|
|
os=-sysv
|
|
;;
|
|
cray | ymp)
|
|
basic_machine=ymp-cray
|
|
os=-unicos
|
|
;;
|
|
cray2)
|
|
basic_machine=cray2-cray
|
|
os=-unicos
|
|
;;
|
|
xmp)
|
|
basic_machine=xmp-cray
|
|
os=-unicos
|
|
;;
|
|
delta88)
|
|
basic_machine=m88k-motorola
|
|
os=-m88kbcs
|
|
;;
|
|
dpx2)
|
|
basic_machine=m68k-bull
|
|
os=-sysv
|
|
;;
|
|
ebmon29k)
|
|
basic_machine=a29k-amd
|
|
os=-ebmon
|
|
;;
|
|
h8300hds)
|
|
basic_machine=h8300-hitachi
|
|
os=-hds
|
|
;;
|
|
harris)
|
|
basic_machine=m88k-harris
|
|
os=-m88kbcs
|
|
;;
|
|
hp300bsd)
|
|
basic_machine=m68k-hp
|
|
os=-bsd
|
|
;;
|
|
hp300hpux)
|
|
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
|
|
;;
|
|
ncr3000)
|
|
basic_machine=i486-ncr
|
|
os=-sysv4
|
|
;;
|
|
news1000)
|
|
basic_machine=m68030-sony
|
|
os=-newsos
|
|
;;
|
|
nindy960)
|
|
basic_machine=i960-intel
|
|
os=-nindy
|
|
;;
|
|
pn)
|
|
basic_machine=pn-gould
|
|
;;
|
|
np1)
|
|
basic_machine=np1-gould
|
|
;;
|
|
ultra3)
|
|
basic_machine=a29k-nyu
|
|
os=-sym1
|
|
;;
|
|
vxworks960)
|
|
basic_machine=i960-wrs
|
|
os=-vxworks
|
|
;;
|
|
vxworks68)
|
|
basic_machine=m68k-wrs
|
|
os=-vxworks
|
|
;;
|
|
xps | xps100)
|
|
basic_machine=xps100-honeywell
|
|
;;
|
|
none)
|
|
basic_machine=none-none
|
|
os=-none
|
|
;;
|
|
|
|
# Here we handle the default manufacturer of certain CPU types. It is in
|
|
# some cases the only manufacturer, in others, it is the most popular.
|
|
mips)
|
|
basic_machine=mips-mips
|
|
;;
|
|
romp)
|
|
basic_machine=romp-ibm
|
|
;;
|
|
rs6000)
|
|
basic_machine=rs6000-ibm
|
|
;;
|
|
vax)
|
|
basic_machine=vax-dec
|
|
;;
|
|
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
|
|
;;
|
|
*)
|
|
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
|
exit 1
|
|
;;
|
|
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" ]
|
|
then
|
|
case $os in
|
|
# 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* \
|
|
| -unos* | -osf* | -luna* | -dgux* | -solari* | -sym* \
|
|
| -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
|
|
| -nindy* | -vxworks* | -ebmon* | -hds* | -m88kbcs* \
|
|
| -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* )
|
|
;;
|
|
-osfrose*)
|
|
os=-osfrose
|
|
;;
|
|
-osf*)
|
|
os=-osf
|
|
;;
|
|
-utek*)
|
|
os=-bsd
|
|
;;
|
|
-dynix*)
|
|
os=-bsd
|
|
;;
|
|
-acis*)
|
|
os=-aos
|
|
;;
|
|
-ctix* | -uts*)
|
|
os=-sysv
|
|
;;
|
|
-triton*)
|
|
os=-sysv3
|
|
;;
|
|
-oss*)
|
|
os=-sysv3
|
|
;;
|
|
-svr4)
|
|
os=-sysv4
|
|
;;
|
|
-svr3)
|
|
os=-sysv3
|
|
;;
|
|
-xenix)
|
|
os=-xenix
|
|
;;
|
|
-none)
|
|
;;
|
|
*)
|
|
# 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
|
|
else
|
|
|
|
# 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=-ultrix4.2
|
|
;;
|
|
i386-sun)
|
|
os=-sunos4.0.2
|
|
;;
|
|
m68000-sun)
|
|
os=-sunos3
|
|
# This also exists in the configure program, but was not the
|
|
# default.
|
|
# os=-sunos4
|
|
;;
|
|
*-tti) # must be before sparc entry or we get the wrong os.
|
|
os=-sysv3
|
|
;;
|
|
sparc-* | *-sun)
|
|
os=-sunos4.1.1
|
|
;;
|
|
*-ibm)
|
|
os=-aix
|
|
;;
|
|
*-hp)
|
|
os=-hpux
|
|
;;
|
|
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
|
|
os=-sysv
|
|
;;
|
|
*-cbm)
|
|
os=-amigados
|
|
;;
|
|
*-dg)
|
|
os=-dgux
|
|
;;
|
|
*-dolphin)
|
|
os=-sysv3
|
|
;;
|
|
m88k-omron*)
|
|
os=-luna
|
|
;;
|
|
*-crds)
|
|
os=-unos
|
|
;;
|
|
*-ns)
|
|
os=-genix
|
|
;;
|
|
i[34]86-*)
|
|
os=-sco3.2v2
|
|
;;
|
|
*-gould)
|
|
os=-sysv
|
|
;;
|
|
*-highlevel)
|
|
os=-bsd
|
|
;;
|
|
*-encore)
|
|
os=-bsd
|
|
;;
|
|
*-sgi)
|
|
os=-irix
|
|
;;
|
|
*-masscomp)
|
|
os=-rtu
|
|
;;
|
|
*)
|
|
os=-none
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
# Here we handle the case where we know the os, and the CPU type, but not the
|
|
# manufacturer. We pick the logical manufacturer.
|
|
vendor=unknown
|
|
case $basic_machine in
|
|
*-unknown)
|
|
case $os in
|
|
-sunos*)
|
|
vendor=sun
|
|
;;
|
|
-aix*)
|
|
vendor=ibm
|
|
;;
|
|
-hpux*)
|
|
vendor=hp
|
|
;;
|
|
-unos*)
|
|
vendor=crds
|
|
;;
|
|
-dgux*)
|
|
vendor=dg
|
|
;;
|
|
-luna*)
|
|
vendor=omron
|
|
;;
|
|
-genix*)
|
|
vendor=ns
|
|
;;
|
|
esac
|
|
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
|
|
;;
|
|
esac
|
|
|
|
echo $basic_machine$os
|