150276Speter#! /bin/sh
276726Speter# Configuration validation subroutine script.
3262685Sdelphij#   Copyright 1992-2013 Free Software Foundation, Inc.
462449Speter
5262685Sdelphijtimestamp='2013-10-01'
662449Speter
7262685Sdelphij# This file is free software; you can redistribute it and/or modify it
8262685Sdelphij# under the terms of the GNU General Public License as published by
9262685Sdelphij# the Free Software Foundation; either version 3 of the License, or
1050276Speter# (at your option) any later version.
1150276Speter#
12262685Sdelphij# This program is distributed in the hope that it will be useful, but
13262685Sdelphij# WITHOUT ANY WARRANTY; without even the implied warranty of
14262685Sdelphij# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15262685Sdelphij# General Public License for more details.
1650276Speter#
1750276Speter# You should have received a copy of the GNU General Public License
18262685Sdelphij# along with this program; if not, see <http://www.gnu.org/licenses/>.
19166124Srafan#
2050276Speter# As a special exception to the GNU General Public License, if you
2150276Speter# distribute this file as part of a program that contains a
2250276Speter# configuration script generated by Autoconf, you may include it under
23262685Sdelphij# the same distribution terms that you use for the rest of that
24262685Sdelphij# program.  This Exception is an additional permission under section 7
25262685Sdelphij# of the GNU General Public License, version 3 ("GPLv3").
2650276Speter
27166124Srafan
28262685Sdelphij# Please send patches with a ChangeLog entry to config-patches@gnu.org.
2962449Speter#
3050276Speter# Configuration subroutine to validate and canonicalize a configuration type.
3150276Speter# Supply the specified configuration type as an argument.
3250276Speter# If it is invalid, we print an error message on stderr and exit with code 1.
3350276Speter# Otherwise, we print the canonical config type on stdout and succeed.
3450276Speter
35262629Sdelphij# You can get the latest version of this script from:
36262629Sdelphij# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
37262629Sdelphij
3850276Speter# This file is supposed to be the same for all GNU packages
3950276Speter# and recognize all the CPU types, system types and aliases
4050276Speter# that are meaningful with *any* GNU software.
4150276Speter# Each package is responsible for reporting which valid configurations
4250276Speter# it does not support.  The user should be able to distinguish
4350276Speter# a failure to support a valid configuration from a meaningless
4450276Speter# configuration.
4550276Speter
4650276Speter# The goal of this file is to map all the various variations of a given
4750276Speter# machine specification into a single specification in the form:
4850276Speter#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4950276Speter# or in some cases, the newer four-part form:
5050276Speter#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5150276Speter# It is wrong to echo any other type of specification.
5250276Speter
5362449Speterme=`echo "$0" | sed -e 's,.*/,,'`
5450276Speter
5562449Speterusage="\
5662449SpeterUsage: $0 [OPTION] CPU-MFR-OPSYS
5762449Speter       $0 [OPTION] ALIAS
5862449Speter
5962449SpeterCanonicalize a configuration name.
6062449Speter
6162449SpeterOperation modes:
6276726Speter  -h, --help         print this help, then exit
6376726Speter  -t, --time-stamp   print date of last modification, then exit
6476726Speter  -v, --version      print version number, then exit
6562449Speter
6676726SpeterReport bugs and patches to <config-patches@gnu.org>."
6776726Speter
6876726Speterversion="\
6976726SpeterGNU config.sub ($timestamp)
7076726Speter
71262685SdelphijCopyright 1992-2013 Free Software Foundation, Inc.
7276726Speter
7376726SpeterThis is free software; see the source for copying conditions.  There is NO
7476726Speterwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7576726Speter
7662449Speterhelp="
7762449SpeterTry \`$me --help' for more information."
7862449Speter
7962449Speter# Parse command line
8062449Speterwhile test $# -gt 0 ; do
8176726Speter  case $1 in
8276726Speter    --time-stamp | --time* | -t )
83166124Srafan       echo "$timestamp" ; exit ;;
8476726Speter    --version | -v )
85166124Srafan       echo "$version" ; exit ;;
8662449Speter    --help | --h* | -h )
87166124Srafan       echo "$usage"; exit ;;
8862449Speter    -- )     # Stop option processing
8962449Speter       shift; break ;;
9062449Speter    - )	# Use stdin as input.
9162449Speter       break ;;
9262449Speter    -* )
9376726Speter       echo "$me: invalid option $1$help"
9462449Speter       exit 1 ;;
9562449Speter
9662449Speter    *local*)
9762449Speter       # First pass through any local machine types.
9862449Speter       echo $1
99166124Srafan       exit ;;
10062449Speter
10162449Speter    * )
10262449Speter       break ;;
10362449Speter  esac
10462449Speterdone
10562449Speter
10662449Spetercase $# in
10762449Speter 0) echo "$me: missing argument$help" >&2
10862449Speter    exit 1;;
10962449Speter 1) ;;
11062449Speter *) echo "$me: too many arguments$help" >&2
11162449Speter    exit 1;;
11250276Speteresac
11350276Speter
11450276Speter# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11550276Speter# Here we must recognize all the valid KERNEL-OS combinations.
11650276Spetermaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11750276Spetercase $maybe_os in
118262629Sdelphij  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119262685Sdelphij  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
120262629Sdelphij  knetbsd*-gnu* | netbsd*-gnu* | \
121262629Sdelphij  kopensolaris*-gnu* | \
122166124Srafan  storm-chaos* | os2-emx* | rtmk-nova*)
12350276Speter    os=-$maybe_os
12450276Speter    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12550276Speter    ;;
126262685Sdelphij  android-linux)
127262685Sdelphij    os=-linux-android
128262685Sdelphij    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129262685Sdelphij    ;;
13050276Speter  *)
13150276Speter    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13250276Speter    if [ $basic_machine != $1 ]
13350276Speter    then os=`echo $1 | sed 's/.*-/-/'`
13450276Speter    else os=; fi
13550276Speter    ;;
13650276Speteresac
13750276Speter
13850276Speter### Let's recognize common machines as not being operating systems so
13950276Speter### that things like config.sub decstation-3100 work.  We also
14050276Speter### recognize some manufacturers as not being operating systems, so we
14150276Speter### can provide default operating systems below.
14250276Spetercase $os in
14350276Speter	-sun*os*)
14450276Speter		# Prevent following clause from handling this invalid input.
14550276Speter		;;
14650276Speter	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14750276Speter	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14850276Speter	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14950276Speter	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15050276Speter	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15150276Speter	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152262685Sdelphij	-apple | -axis | -knuth | -cray | -microblaze*)
15350276Speter		os=
15450276Speter		basic_machine=$1
15550276Speter		;;
156262629Sdelphij	-bluegene*)
157262629Sdelphij		os=-cnk
158262629Sdelphij		;;
15962449Speter	-sim | -cisco | -oki | -wec | -winbond)
16062449Speter		os=
16162449Speter		basic_machine=$1
16262449Speter		;;
16362449Speter	-scout)
16462449Speter		;;
16562449Speter	-wrs)
16662449Speter		os=-vxworks
16762449Speter		basic_machine=$1
16862449Speter		;;
16997049Speter	-chorusos*)
17097049Speter		os=-chorusos
17197049Speter		basic_machine=$1
17297049Speter		;;
173262685Sdelphij	-chorusrdb)
174262685Sdelphij		os=-chorusrdb
17597049Speter		basic_machine=$1
176262685Sdelphij		;;
17750276Speter	-hiux*)
17850276Speter		os=-hiuxwe2
17950276Speter		;;
180166124Srafan	-sco6)
181166124Srafan		os=-sco5v6
182166124Srafan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
183166124Srafan		;;
18450276Speter	-sco5)
18562449Speter		os=-sco3.2v5
18650276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18750276Speter		;;
18850276Speter	-sco4)
18950276Speter		os=-sco3.2v4
19050276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19150276Speter		;;
19250276Speter	-sco3.2.[4-9]*)
19350276Speter		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19450276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19550276Speter		;;
19650276Speter	-sco3.2v[4-9]*)
19750276Speter		# Don't forget version if it is 3.2v4 or newer.
19850276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19950276Speter		;;
200166124Srafan	-sco5v6*)
201166124Srafan		# Don't forget version if it is 3.2v4 or newer.
202166124Srafan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203166124Srafan		;;
20450276Speter	-sco*)
20550276Speter		os=-sco3.2v2
20650276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20750276Speter		;;
20862449Speter	-udk*)
20962449Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21062449Speter		;;
21150276Speter	-isc)
21250276Speter		os=-isc2.2
21350276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21450276Speter		;;
21550276Speter	-clix*)
21650276Speter		basic_machine=clipper-intergraph
21750276Speter		;;
21850276Speter	-isc*)
21950276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22050276Speter		;;
221262685Sdelphij	-lynx*178)
222262685Sdelphij		os=-lynxos178
223262685Sdelphij		;;
224262685Sdelphij	-lynx*5)
225262685Sdelphij		os=-lynxos5
226262685Sdelphij		;;
22750276Speter	-lynx*)
22850276Speter		os=-lynxos
22950276Speter		;;
23050276Speter	-ptx*)
23150276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23250276Speter		;;
23350276Speter	-windowsnt*)
23450276Speter		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23550276Speter		;;
23650276Speter	-psos*)
23750276Speter		os=-psos
23850276Speter		;;
23962449Speter	-mint | -mint[0-9]*)
24062449Speter		basic_machine=m68k-atari
24162449Speter		os=-mint
24262449Speter		;;
24350276Speteresac
24450276Speter
24550276Speter# Decode aliases for certain CPU-COMPANY combinations.
24650276Spetercase $basic_machine in
24750276Speter	# Recognize the basic CPU types without company name.
24850276Speter	# Some are omitted here because they have special meanings below.
24997049Speter	1750a | 580 \
25097049Speter	| a29k \
251262685Sdelphij	| aarch64 | aarch64_be \
25297049Speter	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25397049Speter	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
254166124Srafan	| am33_2.0 \
255262685Sdelphij	| arc | arceb \
256262685Sdelphij	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257262685Sdelphij	| avr | avr32 \
258262685Sdelphij	| be32 | be64 \
259166124Srafan	| bfin \
260262685Sdelphij	| c4x | c8051 | clipper \
261166124Srafan	| d10v | d30v | dlx | dsp16xx \
262262685Sdelphij	| epiphany \
263174993Srafan	| fido | fr30 | frv \
26497049Speter	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265262685Sdelphij	| hexagon \
26697049Speter	| i370 | i860 | i960 | ia64 \
267166124Srafan	| ip2k | iq2000 \
268262685Sdelphij	| k1om \
269262685Sdelphij	| le32 | le64 \
270262629Sdelphij	| lm32 \
271166124Srafan	| m32c | m32r | m32rle | m68000 | m68k | m88k \
272262685Sdelphij	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
273166124Srafan	| mips | mipsbe | mipseb | mipsel | mipsle \
274166124Srafan	| mips16 \
275166124Srafan	| mips64 | mips64el \
276178866Srafan	| mips64octeon | mips64octeonel \
277178866Srafan	| mips64orion | mips64orionel \
278178866Srafan	| mips64r5900 | mips64r5900el \
279166124Srafan	| mips64vr | mips64vrel \
280166124Srafan	| mips64vr4100 | mips64vr4100el \
281166124Srafan	| mips64vr4300 | mips64vr4300el \
282166124Srafan	| mips64vr5000 | mips64vr5000el \
283166124Srafan	| mips64vr5900 | mips64vr5900el \
284166124Srafan	| mipsisa32 | mipsisa32el \
285166124Srafan	| mipsisa32r2 | mipsisa32r2el \
286166124Srafan	| mipsisa64 | mipsisa64el \
287166124Srafan	| mipsisa64r2 | mipsisa64r2el \
288166124Srafan	| mipsisa64sb1 | mipsisa64sb1el \
289166124Srafan	| mipsisa64sr71k | mipsisa64sr71kel \
290262685Sdelphij	| mipsr5900 | mipsr5900el \
291166124Srafan	| mipstx39 | mipstx39el \
29297049Speter	| mn10200 | mn10300 \
293262629Sdelphij	| moxie \
294166124Srafan	| mt \
295166124Srafan	| msp430 \
296262685Sdelphij	| nds32 | nds32le | nds32be \
297262685Sdelphij	| nios | nios2 | nios2eb | nios2el \
29897049Speter	| ns16k | ns32k \
299262685Sdelphij	| open8 \
300262685Sdelphij	| or1k | or32 \
30197049Speter	| pdp10 | pdp11 | pj | pjl \
302262685Sdelphij	| powerpc | powerpc64 | powerpc64le | powerpcle \
30397049Speter	| pyramid \
304262685Sdelphij	| rl78 | rx \
305174993Srafan	| score \
306262629Sdelphij	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
307166124Srafan	| sh64 | sh64le \
308166124Srafan	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
309166124Srafan	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
310262685Sdelphij	| spu \
311262685Sdelphij	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
312262629Sdelphij	| ubicom32 \
313262685Sdelphij	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
31497049Speter	| we32k \
315262685Sdelphij	| x86 | xc16x | xstormy16 | xtensa \
316262629Sdelphij	| z8k | z80)
31750276Speter		basic_machine=$basic_machine-unknown
31850276Speter		;;
319262629Sdelphij	c54x)
320262629Sdelphij		basic_machine=tic54x-unknown
321262629Sdelphij		;;
322262629Sdelphij	c55x)
323262629Sdelphij		basic_machine=tic55x-unknown
324262629Sdelphij		;;
325262629Sdelphij	c6x)
326262629Sdelphij		basic_machine=tic6x-unknown
327262629Sdelphij		;;
328262685Sdelphij	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
32966963Speter		basic_machine=$basic_machine-unknown
33066963Speter		os=-none
33166963Speter		;;
33297049Speter	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
33362449Speter		;;
334166124Srafan	ms1)
335166124Srafan		basic_machine=mt-unknown
336166124Srafan		;;
33762449Speter
338262685Sdelphij	strongarm | thumb | xscale)
339262685Sdelphij		basic_machine=arm-unknown
340262685Sdelphij		;;
341262685Sdelphij	xgate)
342262685Sdelphij		basic_machine=$basic_machine-unknown
343262685Sdelphij		os=-none
344262685Sdelphij		;;
345262685Sdelphij	xscaleeb)
346262685Sdelphij		basic_machine=armeb-unknown
347262685Sdelphij		;;
348262685Sdelphij
349262685Sdelphij	xscaleel)
350262685Sdelphij		basic_machine=armel-unknown
351262685Sdelphij		;;
352262685Sdelphij
35350276Speter	# We use `pc' rather than `unknown'
35450276Speter	# because (1) that's what they normally are, and
35550276Speter	# (2) the word "unknown" tends to confuse beginning users.
35697049Speter	i*86 | x86_64)
357262685Sdelphij	  basic_machine=$basic_machine-pc
358262685Sdelphij	  ;;
35950276Speter	# Object if more than one company name word.
36050276Speter	*-*-*)
36150276Speter		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36250276Speter		exit 1
36350276Speter		;;
36450276Speter	# Recognize the basic CPU types with company name.
36597049Speter	580-* \
36697049Speter	| a29k-* \
367262685Sdelphij	| aarch64-* | aarch64_be-* \
36897049Speter	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
36997049Speter	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
370262685Sdelphij	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
371166124Srafan	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
372166124Srafan	| avr-* | avr32-* \
373262685Sdelphij	| be32-* | be64-* \
374166124Srafan	| bfin-* | bs2000-* \
375262629Sdelphij	| c[123]* | c30-* | [cjt]90-* | c4x-* \
376262685Sdelphij	| c8051-* | clipper-* | craynv-* | cydra-* \
377166124Srafan	| d10v-* | d30v-* | dlx-* \
37897049Speter	| elxsi-* \
379174993Srafan	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38097049Speter	| h8300-* | h8500-* \
38197049Speter	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
382262685Sdelphij	| hexagon-* \
38397049Speter	| i*86-* | i860-* | i960-* | ia64-* \
384166124Srafan	| ip2k-* | iq2000-* \
385262685Sdelphij	| k1om-* \
386262685Sdelphij	| le32-* | le64-* \
387262629Sdelphij	| lm32-* \
388184989Srafan	| m32c-* | m32r-* | m32rle-* \
38997049Speter	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
390262685Sdelphij	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
391262685Sdelphij	| microblaze-* | microblazeel-* \
392166124Srafan	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
393166124Srafan	| mips16-* \
394166124Srafan	| mips64-* | mips64el-* \
395178866Srafan	| mips64octeon-* | mips64octeonel-* \
396178866Srafan	| mips64orion-* | mips64orionel-* \
397178866Srafan	| mips64r5900-* | mips64r5900el-* \
398166124Srafan	| mips64vr-* | mips64vrel-* \
399166124Srafan	| mips64vr4100-* | mips64vr4100el-* \
400166124Srafan	| mips64vr4300-* | mips64vr4300el-* \
401166124Srafan	| mips64vr5000-* | mips64vr5000el-* \
402166124Srafan	| mips64vr5900-* | mips64vr5900el-* \
403166124Srafan	| mipsisa32-* | mipsisa32el-* \
404166124Srafan	| mipsisa32r2-* | mipsisa32r2el-* \
405166124Srafan	| mipsisa64-* | mipsisa64el-* \
406166124Srafan	| mipsisa64r2-* | mipsisa64r2el-* \
407166124Srafan	| mipsisa64sb1-* | mipsisa64sb1el-* \
408166124Srafan	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
409262685Sdelphij	| mipsr5900-* | mipsr5900el-* \
410166124Srafan	| mipstx39-* | mipstx39el-* \
411166124Srafan	| mmix-* \
412166124Srafan	| mt-* \
413166124Srafan	| msp430-* \
414262629Sdelphij	| nds32-* | nds32le-* | nds32be-* \
415262685Sdelphij	| nios-* | nios2-* | nios2eb-* | nios2el-* \
41697049Speter	| none-* | np1-* | ns16k-* | ns32k-* \
417262685Sdelphij	| open8-* \
41897049Speter	| orion-* \
41997049Speter	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
420262685Sdelphij	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
42197049Speter	| pyramid-* \
422262685Sdelphij	| rl78-* | romp-* | rs6000-* | rx-* \
423262629Sdelphij	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
424166124Srafan	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
425166124Srafan	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
426166124Srafan	| sparclite-* \
427262685Sdelphij	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
428262685Sdelphij	| tahoe-* \
429262629Sdelphij	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
430262685Sdelphij	| tile*-* \
431166124Srafan	| tron-* \
432262629Sdelphij	| ubicom32-* \
433262685Sdelphij	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
434262685Sdelphij	| vax-* \
43597049Speter	| we32k-* \
436262685Sdelphij	| x86-* | x86_64-* | xc16x-* | xps100-* \
437178866Srafan	| xstormy16-* | xtensa*-* \
43897049Speter	| ymp-* \
439262629Sdelphij	| z8k-* | z80-*)
44050276Speter		;;
441178866Srafan	# Recognize the basic CPU types without company name, with glob match.
442178866Srafan	xtensa*)
443178866Srafan		basic_machine=$basic_machine-unknown
444178866Srafan		;;
44550276Speter	# Recognize the various machine names and aliases which stand
44650276Speter	# for a CPU type and a company and sometimes even an OS.
44762449Speter	386bsd)
44862449Speter		basic_machine=i386-unknown
44962449Speter		os=-bsd
45062449Speter		;;
45150276Speter	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
45250276Speter		basic_machine=m68000-att
45350276Speter		;;
45450276Speter	3b*)
45550276Speter		basic_machine=we32k-att
45650276Speter		;;
45762449Speter	a29khif)
45862449Speter		basic_machine=a29k-amd
45962449Speter		os=-udi
46062449Speter		;;
461262629Sdelphij	abacus)
462166124Srafan		basic_machine=abacus-unknown
463166124Srafan		;;
46462449Speter	adobe68k)
46562449Speter		basic_machine=m68010-adobe
46662449Speter		os=-scout
46762449Speter		;;
46850276Speter	alliant | fx80)
46950276Speter		basic_machine=fx80-alliant
47050276Speter		;;
47150276Speter	altos | altos3068)
47250276Speter		basic_machine=m68k-altos
47350276Speter		;;
47450276Speter	am29k)
47550276Speter		basic_machine=a29k-none
47650276Speter		os=-bsd
47750276Speter		;;
478166124Srafan	amd64)
479166124Srafan		basic_machine=x86_64-pc
480166124Srafan		;;
481166124Srafan	amd64-*)
482166124Srafan		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
483166124Srafan		;;
48450276Speter	amdahl)
48550276Speter		basic_machine=580-amdahl
48650276Speter		os=-sysv
48750276Speter		;;
48850276Speter	amiga | amiga-*)
48976726Speter		basic_machine=m68k-unknown
49050276Speter		;;
49150276Speter	amigaos | amigados)
49276726Speter		basic_machine=m68k-unknown
49350276Speter		os=-amigaos
49450276Speter		;;
49550276Speter	amigaunix | amix)
49676726Speter		basic_machine=m68k-unknown
49750276Speter		os=-sysv4
49850276Speter		;;
49950276Speter	apollo68)
50050276Speter		basic_machine=m68k-apollo
50150276Speter		os=-sysv
50250276Speter		;;
50362449Speter	apollo68bsd)
50462449Speter		basic_machine=m68k-apollo
50562449Speter		os=-bsd
50662449Speter		;;
507262629Sdelphij	aros)
508262629Sdelphij		basic_machine=i386-pc
509262629Sdelphij		os=-aros
510262629Sdelphij		;;
51150276Speter	aux)
51250276Speter		basic_machine=m68k-apple
51350276Speter		os=-aux
51450276Speter		;;
51550276Speter	balance)
51650276Speter		basic_machine=ns32k-sequent
51750276Speter		os=-dynix
51850276Speter		;;
519178866Srafan	blackfin)
520178866Srafan		basic_machine=bfin-unknown
521178866Srafan		os=-linux
522178866Srafan		;;
523178866Srafan	blackfin-*)
524178866Srafan		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
525178866Srafan		os=-linux
526178866Srafan		;;
527262629Sdelphij	bluegene*)
528262629Sdelphij		basic_machine=powerpc-ibm
529262629Sdelphij		os=-cnk
530262629Sdelphij		;;
531262629Sdelphij	c54x-*)
532262629Sdelphij		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
533262629Sdelphij		;;
534262629Sdelphij	c55x-*)
535262629Sdelphij		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
536262629Sdelphij		;;
537262629Sdelphij	c6x-*)
538262629Sdelphij		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
539262629Sdelphij		;;
54097049Speter	c90)
54197049Speter		basic_machine=c90-cray
54297049Speter		os=-unicos
54397049Speter		;;
544262629Sdelphij	cegcc)
545184989Srafan		basic_machine=arm-unknown
546184989Srafan		os=-cegcc
547184989Srafan		;;
54850276Speter	convex-c1)
54950276Speter		basic_machine=c1-convex
55050276Speter		os=-bsd
55150276Speter		;;
55250276Speter	convex-c2)
55350276Speter		basic_machine=c2-convex
55450276Speter		os=-bsd
55550276Speter		;;
55650276Speter	convex-c32)
55750276Speter		basic_machine=c32-convex
55850276Speter		os=-bsd
55950276Speter		;;
56050276Speter	convex-c34)
56150276Speter		basic_machine=c34-convex
56250276Speter		os=-bsd
56350276Speter		;;
56450276Speter	convex-c38)
56550276Speter		basic_machine=c38-convex
56650276Speter		os=-bsd
56750276Speter		;;
56897049Speter	cray | j90)
56997049Speter		basic_machine=j90-cray
57050276Speter		os=-unicos
57150276Speter		;;
572166124Srafan	craynv)
573166124Srafan		basic_machine=craynv-cray
574166124Srafan		os=-unicosmp
575166124Srafan		;;
576262685Sdelphij	cr16 | cr16-*)
577174993Srafan		basic_machine=cr16-unknown
578166124Srafan		os=-elf
579166124Srafan		;;
58050276Speter	crds | unos)
58150276Speter		basic_machine=m68k-crds
58250276Speter		;;
583166124Srafan	crisv32 | crisv32-* | etraxfs*)
584166124Srafan		basic_machine=crisv32-axis
585166124Srafan		;;
58662449Speter	cris | cris-* | etrax*)
58762449Speter		basic_machine=cris-axis
58862449Speter		;;
589166124Srafan	crx)
590166124Srafan		basic_machine=crx-unknown
591166124Srafan		os=-elf
592166124Srafan		;;
59350276Speter	da30 | da30-*)
59450276Speter		basic_machine=m68k-da30
59550276Speter		;;
59650276Speter	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
59750276Speter		basic_machine=mips-dec
59850276Speter		;;
59997049Speter	decsystem10* | dec10*)
60097049Speter		basic_machine=pdp10-dec
60197049Speter		os=-tops10
60297049Speter		;;
60397049Speter	decsystem20* | dec20*)
60497049Speter		basic_machine=pdp10-dec
60597049Speter		os=-tops20
60697049Speter		;;
60750276Speter	delta | 3300 | motorola-3300 | motorola-delta \
60850276Speter	      | 3300-motorola | delta-motorola)
60950276Speter		basic_machine=m68k-motorola
61050276Speter		;;
61150276Speter	delta88)
61250276Speter		basic_machine=m88k-motorola
61350276Speter		os=-sysv3
61450276Speter		;;
615184989Srafan	dicos)
616184989Srafan		basic_machine=i686-pc
617184989Srafan		os=-dicos
618184989Srafan		;;
619166124Srafan	djgpp)
620166124Srafan		basic_machine=i586-pc
621166124Srafan		os=-msdosdjgpp
622166124Srafan		;;
62350276Speter	dpx20 | dpx20-*)
62450276Speter		basic_machine=rs6000-bull
62550276Speter		os=-bosx
62650276Speter		;;
62750276Speter	dpx2* | dpx2*-bull)
62850276Speter		basic_machine=m68k-bull
62950276Speter		os=-sysv3
63050276Speter		;;
63150276Speter	ebmon29k)
63250276Speter		basic_machine=a29k-amd
63350276Speter		os=-ebmon
63450276Speter		;;
63550276Speter	elxsi)
63650276Speter		basic_machine=elxsi-elxsi
63750276Speter		os=-bsd
63850276Speter		;;
63950276Speter	encore | umax | mmax)
64050276Speter		basic_machine=ns32k-encore
64150276Speter		;;
64262449Speter	es1800 | OSE68k | ose68k | ose | OSE)
64362449Speter		basic_machine=m68k-ericsson
64462449Speter		os=-ose
64562449Speter		;;
64650276Speter	fx2800)
64750276Speter		basic_machine=i860-alliant
64850276Speter		;;
64950276Speter	genix)
65050276Speter		basic_machine=ns32k-ns
65150276Speter		;;
65250276Speter	gmicro)
65350276Speter		basic_machine=tron-gmicro
65450276Speter		os=-sysv
65550276Speter		;;
65676726Speter	go32)
65776726Speter		basic_machine=i386-pc
65876726Speter		os=-go32
65976726Speter		;;
66050276Speter	h3050r* | hiux*)
66150276Speter		basic_machine=hppa1.1-hitachi
66250276Speter		os=-hiuxwe2
66350276Speter		;;
66450276Speter	h8300hms)
66550276Speter		basic_machine=h8300-hitachi
66650276Speter		os=-hms
66750276Speter		;;
66862449Speter	h8300xray)
66962449Speter		basic_machine=h8300-hitachi
67062449Speter		os=-xray
67162449Speter		;;
67262449Speter	h8500hms)
67362449Speter		basic_machine=h8500-hitachi
67462449Speter		os=-hms
67562449Speter		;;
67650276Speter	harris)
67750276Speter		basic_machine=m88k-harris
67850276Speter		os=-sysv3
67950276Speter		;;
68050276Speter	hp300-*)
68150276Speter		basic_machine=m68k-hp
68250276Speter		;;
68350276Speter	hp300bsd)
68450276Speter		basic_machine=m68k-hp
68550276Speter		os=-bsd
68650276Speter		;;
68750276Speter	hp300hpux)
68850276Speter		basic_machine=m68k-hp
68950276Speter		os=-hpux
69050276Speter		;;
69162449Speter	hp3k9[0-9][0-9] | hp9[0-9][0-9])
69262449Speter		basic_machine=hppa1.0-hp
69362449Speter		;;
69450276Speter	hp9k2[0-9][0-9] | hp9k31[0-9])
69550276Speter		basic_machine=m68000-hp
69650276Speter		;;
69750276Speter	hp9k3[2-9][0-9])
69850276Speter		basic_machine=m68k-hp
69950276Speter		;;
70062449Speter	hp9k6[0-9][0-9] | hp6[0-9][0-9])
70162449Speter		basic_machine=hppa1.0-hp
70262449Speter		;;
70362449Speter	hp9k7[0-79][0-9] | hp7[0-79][0-9])
70450276Speter		basic_machine=hppa1.1-hp
70550276Speter		;;
70662449Speter	hp9k78[0-9] | hp78[0-9])
70762449Speter		# FIXME: really hppa2.0-hp
70862449Speter		basic_machine=hppa1.1-hp
70962449Speter		;;
71062449Speter	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
71162449Speter		# FIXME: really hppa2.0-hp
71262449Speter		basic_machine=hppa1.1-hp
71362449Speter		;;
71462449Speter	hp9k8[0-9][13679] | hp8[0-9][13679])
71562449Speter		basic_machine=hppa1.1-hp
71662449Speter		;;
71750276Speter	hp9k8[0-9][0-9] | hp8[0-9][0-9])
71850276Speter		basic_machine=hppa1.0-hp
71950276Speter		;;
72050276Speter	hppa-next)
72150276Speter		os=-nextstep3
72250276Speter		;;
72362449Speter	hppaosf)
72462449Speter		basic_machine=hppa1.1-hp
72562449Speter		os=-osf
72662449Speter		;;
72762449Speter	hppro)
72862449Speter		basic_machine=hppa1.1-hp
72962449Speter		os=-proelf
73062449Speter		;;
73150276Speter	i370-ibm* | ibm*)
73250276Speter		basic_machine=i370-ibm
73350276Speter		;;
73497049Speter	i*86v32)
73550276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73650276Speter		os=-sysv32
73750276Speter		;;
73897049Speter	i*86v4*)
73950276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74050276Speter		os=-sysv4
74150276Speter		;;
74297049Speter	i*86v)
74350276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74450276Speter		os=-sysv
74550276Speter		;;
74697049Speter	i*86sol2)
74750276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74850276Speter		os=-solaris2
74950276Speter		;;
75062449Speter	i386mach)
75162449Speter		basic_machine=i386-mach
75262449Speter		os=-mach
75362449Speter		;;
75462449Speter	i386-vsta | vsta)
75562449Speter		basic_machine=i386-unknown
75662449Speter		os=-vsta
75762449Speter		;;
75850276Speter	iris | iris4d)
75950276Speter		basic_machine=mips-sgi
76050276Speter		case $os in
76150276Speter		    -irix*)
76250276Speter			;;
76350276Speter		    *)
76450276Speter			os=-irix4
76550276Speter			;;
76650276Speter		esac
76750276Speter		;;
76850276Speter	isi68 | isi)
76950276Speter		basic_machine=m68k-isi
77050276Speter		os=-sysv
77150276Speter		;;
772178866Srafan	m68knommu)
773178866Srafan		basic_machine=m68k-unknown
774178866Srafan		os=-linux
775178866Srafan		;;
776178866Srafan	m68knommu-*)
777178866Srafan		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
778178866Srafan		os=-linux
779178866Srafan		;;
78050276Speter	m88k-omron*)
78150276Speter		basic_machine=m88k-omron
78250276Speter		;;
78350276Speter	magnum | m3230)
78450276Speter		basic_machine=mips-mips
78550276Speter		os=-sysv
78650276Speter		;;
78750276Speter	merlin)
78850276Speter		basic_machine=ns32k-utek
78950276Speter		os=-sysv
79050276Speter		;;
791262685Sdelphij	microblaze*)
792262629Sdelphij		basic_machine=microblaze-xilinx
793262629Sdelphij		;;
794262685Sdelphij	mingw64)
795262685Sdelphij		basic_machine=x86_64-pc
796262685Sdelphij		os=-mingw64
797262685Sdelphij		;;
79876726Speter	mingw32)
799262685Sdelphij		basic_machine=i686-pc
80076726Speter		os=-mingw32
80176726Speter		;;
802174993Srafan	mingw32ce)
803174993Srafan		basic_machine=arm-unknown
804174993Srafan		os=-mingw32ce
805174993Srafan		;;
80650276Speter	miniframe)
80750276Speter		basic_machine=m68000-convergent
80850276Speter		;;
80962449Speter	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
81062449Speter		basic_machine=m68k-atari
81162449Speter		os=-mint
81262449Speter		;;
81350276Speter	mips3*-*)
81450276Speter		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
81550276Speter		;;
81650276Speter	mips3*)
81750276Speter		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
81850276Speter		;;
81962449Speter	monitor)
82062449Speter		basic_machine=m68k-rom68k
82162449Speter		os=-coff
82262449Speter		;;
82397049Speter	morphos)
82497049Speter		basic_machine=powerpc-unknown
82597049Speter		os=-morphos
82697049Speter		;;
82762449Speter	msdos)
82876726Speter		basic_machine=i386-pc
82962449Speter		os=-msdos
83062449Speter		;;
831166124Srafan	ms1-*)
832166124Srafan		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
833166124Srafan		;;
834262685Sdelphij	msys)
835262685Sdelphij		basic_machine=i686-pc
836262685Sdelphij		os=-msys
837262685Sdelphij		;;
83862449Speter	mvs)
83962449Speter		basic_machine=i370-ibm
84062449Speter		os=-mvs
84162449Speter		;;
842262685Sdelphij	nacl)
843262685Sdelphij		basic_machine=le32-unknown
844262685Sdelphij		os=-nacl
845262685Sdelphij		;;
84650276Speter	ncr3000)
84750276Speter		basic_machine=i486-ncr
84850276Speter		os=-sysv4
84950276Speter		;;
85062449Speter	netbsd386)
85162449Speter		basic_machine=i386-unknown
85262449Speter		os=-netbsd
85362449Speter		;;
85462449Speter	netwinder)
85562449Speter		basic_machine=armv4l-rebel
85662449Speter		os=-linux
85762449Speter		;;
85850276Speter	news | news700 | news800 | news900)
85950276Speter		basic_machine=m68k-sony
86050276Speter		os=-newsos
86150276Speter		;;
86250276Speter	news1000)
86350276Speter		basic_machine=m68030-sony
86450276Speter		os=-newsos
86550276Speter		;;
86650276Speter	news-3600 | risc-news)
86750276Speter		basic_machine=mips-sony
86850276Speter		os=-newsos
86950276Speter		;;
87062449Speter	necv70)
87162449Speter		basic_machine=v70-nec
87262449Speter		os=-sysv
87362449Speter		;;
87450276Speter	next | m*-next )
87550276Speter		basic_machine=m68k-next
87650276Speter		case $os in
87750276Speter		    -nextstep* )
87850276Speter			;;
87950276Speter		    -ns2*)
88050276Speter		      os=-nextstep2
88150276Speter			;;
88250276Speter		    *)
88350276Speter		      os=-nextstep3
88450276Speter			;;
88550276Speter		esac
88650276Speter		;;
88750276Speter	nh3000)
88850276Speter		basic_machine=m68k-harris
88950276Speter		os=-cxux
89050276Speter		;;
89150276Speter	nh[45]000)
89250276Speter		basic_machine=m88k-harris
89350276Speter		os=-cxux
89450276Speter		;;
89550276Speter	nindy960)
89650276Speter		basic_machine=i960-intel
89750276Speter		os=-nindy
89850276Speter		;;
89962449Speter	mon960)
90062449Speter		basic_machine=i960-intel
90162449Speter		os=-mon960
90262449Speter		;;
90376726Speter	nonstopux)
90476726Speter		basic_machine=mips-compaq
90576726Speter		os=-nonstopux
90676726Speter		;;
90750276Speter	np1)
90850276Speter		basic_machine=np1-gould
90950276Speter		;;
910262629Sdelphij	neo-tandem)
911262629Sdelphij		basic_machine=neo-tandem
912262629Sdelphij		;;
913262629Sdelphij	nse-tandem)
914262629Sdelphij		basic_machine=nse-tandem
915262629Sdelphij		;;
91662449Speter	nsr-tandem)
91762449Speter		basic_machine=nsr-tandem
91862449Speter		;;
91962449Speter	op50n-* | op60c-*)
92062449Speter		basic_machine=hppa1.1-oki
92162449Speter		os=-proelf
92262449Speter		;;
923166124Srafan	openrisc | openrisc-*)
92497049Speter		basic_machine=or32-unknown
92597049Speter		;;
926166124Srafan	os400)
927166124Srafan		basic_machine=powerpc-ibm
928166124Srafan		os=-os400
929166124Srafan		;;
93062449Speter	OSE68000 | ose68000)
93162449Speter		basic_machine=m68000-ericsson
93262449Speter		os=-ose
93362449Speter		;;
93462449Speter	os68k)
93562449Speter		basic_machine=m68k-none
93662449Speter		os=-os68k
93762449Speter		;;
93850276Speter	pa-hitachi)
93950276Speter		basic_machine=hppa1.1-hitachi
94050276Speter		os=-hiuxwe2
94150276Speter		;;
94250276Speter	paragon)
94350276Speter		basic_machine=i860-intel
94450276Speter		os=-osf
94550276Speter		;;
946178866Srafan	parisc)
947178866Srafan		basic_machine=hppa-unknown
948178866Srafan		os=-linux
949178866Srafan		;;
950178866Srafan	parisc-*)
951178866Srafan		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
952178866Srafan		os=-linux
953178866Srafan		;;
95450276Speter	pbd)
95550276Speter		basic_machine=sparc-tti
95650276Speter		;;
95750276Speter	pbb)
95850276Speter		basic_machine=m68k-tti
95950276Speter		;;
960166124Srafan	pc532 | pc532-*)
96150276Speter		basic_machine=ns32k-pc532
96250276Speter		;;
963166124Srafan	pc98)
964166124Srafan		basic_machine=i386-pc
965166124Srafan		;;
966166124Srafan	pc98-*)
967166124Srafan		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
968166124Srafan		;;
96997049Speter	pentium | p5 | k5 | k6 | nexgen | viac3)
97050276Speter		basic_machine=i586-pc
97150276Speter		;;
972166124Srafan	pentiumpro | p6 | 6x86 | athlon | athlon_*)
97350276Speter		basic_machine=i686-pc
97450276Speter		;;
975166124Srafan	pentiumii | pentium2 | pentiumiii | pentium3)
97676726Speter		basic_machine=i686-pc
97750276Speter		;;
978166124Srafan	pentium4)
979166124Srafan		basic_machine=i786-pc
980166124Srafan		;;
98197049Speter	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
98250276Speter		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
98350276Speter		;;
98462449Speter	pentiumpro-* | p6-* | 6x86-* | athlon-*)
98550276Speter		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98650276Speter		;;
987166124Srafan	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
98876726Speter		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98950276Speter		;;
990166124Srafan	pentium4-*)
991166124Srafan		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
992166124Srafan		;;
99350276Speter	pn)
99450276Speter		basic_machine=pn-gould
99550276Speter		;;
99676726Speter	power)	basic_machine=power-ibm
99750276Speter		;;
998262685Sdelphij	ppc | ppcbe)	basic_machine=powerpc-unknown
999166124Srafan		;;
1000262685Sdelphij	ppc-* | ppcbe-*)
1001262685Sdelphij		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
100250276Speter		;;
100350276Speter	ppcle | powerpclittle | ppc-le | powerpc-little)
100450276Speter		basic_machine=powerpcle-unknown
1005166124Srafan		;;
100650276Speter	ppcle-* | powerpclittle-*)
100750276Speter		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
100850276Speter		;;
100997049Speter	ppc64)	basic_machine=powerpc64-unknown
1010166124Srafan		;;
101197049Speter	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
101297049Speter		;;
101397049Speter	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
101497049Speter		basic_machine=powerpc64le-unknown
1015166124Srafan		;;
101697049Speter	ppc64le-* | powerpc64little-*)
101797049Speter		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
101897049Speter		;;
101950276Speter	ps2)
102050276Speter		basic_machine=i386-ibm
102150276Speter		;;
102276726Speter	pw32)
102376726Speter		basic_machine=i586-unknown
102476726Speter		os=-pw32
102576726Speter		;;
1026262685Sdelphij	rdos | rdos64)
1027262685Sdelphij		basic_machine=x86_64-pc
1028262685Sdelphij		os=-rdos
1029262685Sdelphij		;;
1030262685Sdelphij	rdos32)
1031166124Srafan		basic_machine=i386-pc
1032166124Srafan		os=-rdos
1033166124Srafan		;;
103462449Speter	rom68k)
103562449Speter		basic_machine=m68k-rom68k
103662449Speter		os=-coff
103762449Speter		;;
103850276Speter	rm[46]00)
103950276Speter		basic_machine=mips-siemens
104050276Speter		;;
104150276Speter	rtpc | rtpc-*)
104250276Speter		basic_machine=romp-ibm
104350276Speter		;;
104497049Speter	s390 | s390-*)
104597049Speter		basic_machine=s390-ibm
104697049Speter		;;
104797049Speter	s390x | s390x-*)
104897049Speter		basic_machine=s390x-ibm
104997049Speter		;;
105062449Speter	sa29200)
105162449Speter		basic_machine=a29k-amd
105262449Speter		os=-udi
105362449Speter		;;
1054166124Srafan	sb1)
1055166124Srafan		basic_machine=mipsisa64sb1-unknown
1056166124Srafan		;;
1057166124Srafan	sb1el)
1058166124Srafan		basic_machine=mipsisa64sb1el-unknown
1059166124Srafan		;;
1060166124Srafan	sde)
1061166124Srafan		basic_machine=mipsisa32-sde
1062166124Srafan		os=-elf
1063166124Srafan		;;
1064166124Srafan	sei)
1065166124Srafan		basic_machine=mips-sei
1066166124Srafan		os=-seiux
1067166124Srafan		;;
106850276Speter	sequent)
106950276Speter		basic_machine=i386-sequent
107050276Speter		;;
107150276Speter	sh)
107250276Speter		basic_machine=sh-hitachi
107350276Speter		os=-hms
107450276Speter		;;
1075174993Srafan	sh5el)
1076174993Srafan		basic_machine=sh5le-unknown
1077174993Srafan		;;
1078166124Srafan	sh64)
1079166124Srafan		basic_machine=sh64-unknown
1080166124Srafan		;;
108197049Speter	sparclite-wrs | simso-wrs)
108262449Speter		basic_machine=sparclite-wrs
108362449Speter		os=-vxworks
108462449Speter		;;
108550276Speter	sps7)
108650276Speter		basic_machine=m68k-bull
108750276Speter		os=-sysv2
108850276Speter		;;
108950276Speter	spur)
109050276Speter		basic_machine=spur-unknown
109150276Speter		;;
109262449Speter	st2000)
109362449Speter		basic_machine=m68k-tandem
109462449Speter		;;
109562449Speter	stratus)
109662449Speter		basic_machine=i860-stratus
109762449Speter		os=-sysv4
109862449Speter		;;
1099262685Sdelphij	strongarm-* | thumb-*)
1100262685Sdelphij		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1101262685Sdelphij		;;
110250276Speter	sun2)
110350276Speter		basic_machine=m68000-sun
110450276Speter		;;
110550276Speter	sun2os3)
110650276Speter		basic_machine=m68000-sun
110750276Speter		os=-sunos3
110850276Speter		;;
110950276Speter	sun2os4)
111050276Speter		basic_machine=m68000-sun
111150276Speter		os=-sunos4
111250276Speter		;;
111350276Speter	sun3os3)
111450276Speter		basic_machine=m68k-sun
111550276Speter		os=-sunos3
111650276Speter		;;
111750276Speter	sun3os4)
111850276Speter		basic_machine=m68k-sun
111950276Speter		os=-sunos4
112050276Speter		;;
112150276Speter	sun4os3)
112250276Speter		basic_machine=sparc-sun
112350276Speter		os=-sunos3
112450276Speter		;;
112550276Speter	sun4os4)
112650276Speter		basic_machine=sparc-sun
112750276Speter		os=-sunos4
112850276Speter		;;
112950276Speter	sun4sol2)
113050276Speter		basic_machine=sparc-sun
113150276Speter		os=-solaris2
113250276Speter		;;
113350276Speter	sun3 | sun3-*)
113450276Speter		basic_machine=m68k-sun
113550276Speter		;;
113650276Speter	sun4)
113750276Speter		basic_machine=sparc-sun
113850276Speter		;;
113950276Speter	sun386 | sun386i | roadrunner)
114050276Speter		basic_machine=i386-sun
114150276Speter		;;
1142166124Srafan	sv1)
114362449Speter		basic_machine=sv1-cray
114462449Speter		os=-unicos
114562449Speter		;;
114650276Speter	symmetry)
114750276Speter		basic_machine=i386-sequent
114850276Speter		os=-dynix
114950276Speter		;;
115062449Speter	t3e)
115197049Speter		basic_machine=alphaev5-cray
115262449Speter		os=-unicos
115362449Speter		;;
115497049Speter	t90)
115597049Speter		basic_machine=t90-cray
115697049Speter		os=-unicos
115797049Speter		;;
1158178866Srafan	tile*)
1159262685Sdelphij		basic_machine=$basic_machine-unknown
1160178866Srafan		os=-linux-gnu
1161178866Srafan		;;
116250276Speter	tx39)
116350276Speter		basic_machine=mipstx39-unknown
116450276Speter		;;
116550276Speter	tx39el)
116650276Speter		basic_machine=mipstx39el-unknown
116750276Speter		;;
116897049Speter	toad1)
116997049Speter		basic_machine=pdp10-xkl
117097049Speter		os=-tops20
117197049Speter		;;
117250276Speter	tower | tower-32)
117350276Speter		basic_machine=m68k-ncr
117450276Speter		;;
1175166124Srafan	tpf)
1176166124Srafan		basic_machine=s390x-ibm
1177166124Srafan		os=-tpf
1178166124Srafan		;;
117950276Speter	udi29k)
118050276Speter		basic_machine=a29k-amd
118150276Speter		os=-udi
118250276Speter		;;
118350276Speter	ultra3)
118450276Speter		basic_machine=a29k-nyu
118550276Speter		os=-sym1
118650276Speter		;;
118762449Speter	v810 | necv810)
118862449Speter		basic_machine=v810-nec
118962449Speter		os=-none
119062449Speter		;;
119150276Speter	vaxv)
119250276Speter		basic_machine=vax-dec
119350276Speter		os=-sysv
119450276Speter		;;
119550276Speter	vms)
119650276Speter		basic_machine=vax-dec
119750276Speter		os=-vms
119850276Speter		;;
119950276Speter	vpp*|vx|vx-*)
1200166124Srafan		basic_machine=f301-fujitsu
1201166124Srafan		;;
120250276Speter	vxworks960)
120350276Speter		basic_machine=i960-wrs
120450276Speter		os=-vxworks
120550276Speter		;;
120650276Speter	vxworks68)
120750276Speter		basic_machine=m68k-wrs
120850276Speter		os=-vxworks
120950276Speter		;;
121050276Speter	vxworks29k)
121150276Speter		basic_machine=a29k-wrs
121250276Speter		os=-vxworks
121350276Speter		;;
121462449Speter	w65*)
121562449Speter		basic_machine=w65-wdc
121662449Speter		os=-none
121762449Speter		;;
121862449Speter	w89k-*)
121962449Speter		basic_machine=hppa1.1-winbond
122062449Speter		os=-proelf
122162449Speter		;;
1222166124Srafan	xbox)
1223166124Srafan		basic_machine=i686-pc
1224166124Srafan		os=-mingw32
122550276Speter		;;
1226166124Srafan	xps | xps100)
122750276Speter		basic_machine=xps100-honeywell
122850276Speter		;;
1229262685Sdelphij	xscale-* | xscalee[bl]-*)
1230262685Sdelphij		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1231262685Sdelphij		;;
123297049Speter	ymp)
123397049Speter		basic_machine=ymp-cray
123497049Speter		os=-unicos
123597049Speter		;;
123662449Speter	z8k-*-coff)
123762449Speter		basic_machine=z8k-unknown
123862449Speter		os=-sim
123962449Speter		;;
1240262629Sdelphij	z80-*-coff)
1241262629Sdelphij		basic_machine=z80-unknown
1242262629Sdelphij		os=-sim
1243262629Sdelphij		;;
124450276Speter	none)
124550276Speter		basic_machine=none-none
124650276Speter		os=-none
124750276Speter		;;
124850276Speter
124950276Speter# Here we handle the default manufacturer of certain CPU types.  It is in
125050276Speter# some cases the only manufacturer, in others, it is the most popular.
125162449Speter	w89k)
125262449Speter		basic_machine=hppa1.1-winbond
125362449Speter		;;
125462449Speter	op50n)
125562449Speter		basic_machine=hppa1.1-oki
125662449Speter		;;
125762449Speter	op60c)
125862449Speter		basic_machine=hppa1.1-oki
125962449Speter		;;
126050276Speter	romp)
126150276Speter		basic_machine=romp-ibm
126250276Speter		;;
1263166124Srafan	mmix)
1264166124Srafan		basic_machine=mmix-knuth
1265166124Srafan		;;
126650276Speter	rs6000)
126750276Speter		basic_machine=rs6000-ibm
126850276Speter		;;
126950276Speter	vax)
127050276Speter		basic_machine=vax-dec
127150276Speter		;;
127276726Speter	pdp10)
127376726Speter		# there are many clones, so DEC is not a safe bet
127476726Speter		basic_machine=pdp10-unknown
127576726Speter		;;
127650276Speter	pdp11)
127750276Speter		basic_machine=pdp11-dec
127850276Speter		;;
127950276Speter	we32k)
128050276Speter		basic_machine=we32k-att
128150276Speter		;;
1282262629Sdelphij	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
128376726Speter		basic_machine=sh-unknown
128462449Speter		;;
1285166124Srafan	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
128650276Speter		basic_machine=sparc-sun
128750276Speter		;;
1288166124Srafan	cydra)
128950276Speter		basic_machine=cydra-cydrome
129050276Speter		;;
129150276Speter	orion)
129250276Speter		basic_machine=orion-highlevel
129350276Speter		;;
129450276Speter	orion105)
129550276Speter		basic_machine=clipper-highlevel
129650276Speter		;;
129762449Speter	mac | mpw | mac-mpw)
129862449Speter		basic_machine=m68k-apple
129962449Speter		;;
130062449Speter	pmac | pmac-mpw)
130162449Speter		basic_machine=powerpc-apple
130262449Speter		;;
130397049Speter	*-unknown)
130497049Speter		# Make sure to match an already-canonicalized machine name.
130597049Speter		;;
130650276Speter	*)
130750276Speter		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
130850276Speter		exit 1
130950276Speter		;;
131050276Speteresac
131150276Speter
131250276Speter# Here we canonicalize certain aliases for manufacturers.
131350276Spetercase $basic_machine in
131450276Speter	*-digital*)
131550276Speter		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
131650276Speter		;;
131750276Speter	*-commodore*)
131850276Speter		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
131950276Speter		;;
132050276Speter	*)
132150276Speter		;;
132250276Speteresac
132350276Speter
132450276Speter# Decode manufacturer-specific aliases for certain operating systems.
132550276Speter
132650276Speterif [ x"$os" != x"" ]
132750276Speterthen
132850276Spetercase $os in
1329262629Sdelphij	# First match some system type aliases
1330262629Sdelphij	# that might get confused with valid system types.
133150276Speter	# -solaris* is a basic system type, with this one exception.
1332262629Sdelphij	-auroraux)
1333262629Sdelphij		os=-auroraux
1334262629Sdelphij		;;
133550276Speter	-solaris1 | -solaris1.*)
133650276Speter		os=`echo $os | sed -e 's|solaris1|sunos4|'`
133750276Speter		;;
133850276Speter	-solaris)
133950276Speter		os=-solaris2
134050276Speter		;;
134150276Speter	-svr4*)
134250276Speter		os=-sysv4
134350276Speter		;;
134450276Speter	-unixware*)
134550276Speter		os=-sysv4.2uw
134650276Speter		;;
134750276Speter	-gnu/linux*)
134850276Speter		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
134950276Speter		;;
135050276Speter	# First accept the basic system types.
135150276Speter	# The portable systems comes first.
135250276Speter	# Each alternative MUST END IN A *, to match a version number.
135350276Speter	# -sysv* is not here because it comes later, after sysvr4.
135450276Speter	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1355262629Sdelphij	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1356262629Sdelphij	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1357262685Sdelphij	      | -sym* | -kopensolaris* | -plan9* \
135850276Speter	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1359262629Sdelphij	      | -aos* | -aros* \
136062449Speter	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
136150276Speter	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1362166124Srafan	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1363262685Sdelphij	      | -bitrig* | -openbsd* | -solidbsd* \
1364166124Srafan	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1365166124Srafan	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
136650276Speter	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
136750276Speter	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1368184989Srafan	      | -chorusos* | -chorusrdb* | -cegcc* \
1369262685Sdelphij	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1370262685Sdelphij	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1371262685Sdelphij	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1372166124Srafan	      | -uxpv* | -beos* | -mpeix* | -udk* \
1373166124Srafan	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
137476726Speter	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
137597049Speter	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
137697049Speter	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1377166124Srafan	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1378166124Srafan	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1379262629Sdelphij	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
138050276Speter	# Remember, each alternative MUST END IN *, to match a version number.
138150276Speter		;;
138262449Speter	-qnx*)
138362449Speter		case $basic_machine in
138497049Speter		    x86-* | i*86-*)
138562449Speter			;;
138662449Speter		    *)
138762449Speter			os=-nto$os
138862449Speter			;;
138962449Speter		esac
139062449Speter		;;
1391166124Srafan	-nto-qnx*)
1392166124Srafan		;;
139362449Speter	-nto*)
1394166124Srafan		os=`echo $os | sed -e 's|nto|nto-qnx|'`
139562449Speter		;;
139662449Speter	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1397166124Srafan	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
139862449Speter	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
139962449Speter		;;
140062449Speter	-mac*)
140162449Speter		os=`echo $os | sed -e 's|mac|macos|'`
140262449Speter		;;
1403166124Srafan	-linux-dietlibc)
1404166124Srafan		os=-linux-dietlibc
1405166124Srafan		;;
140650276Speter	-linux*)
140750276Speter		os=`echo $os | sed -e 's|linux|linux-gnu|'`
140850276Speter		;;
140950276Speter	-sunos5*)
141050276Speter		os=`echo $os | sed -e 's|sunos5|solaris2|'`
141150276Speter		;;
141250276Speter	-sunos6*)
141350276Speter		os=`echo $os | sed -e 's|sunos6|solaris3|'`
141450276Speter		;;
141562449Speter	-opened*)
141662449Speter		os=-openedition
141762449Speter		;;
1418262629Sdelphij	-os400*)
1419166124Srafan		os=-os400
1420166124Srafan		;;
142162449Speter	-wince*)
142262449Speter		os=-wince
142362449Speter		;;
142450276Speter	-osfrose*)
142550276Speter		os=-osfrose
142650276Speter		;;
142750276Speter	-osf*)
142850276Speter		os=-osf
142950276Speter		;;
143050276Speter	-utek*)
143150276Speter		os=-bsd
143250276Speter		;;
143350276Speter	-dynix*)
143450276Speter		os=-bsd
143550276Speter		;;
143650276Speter	-acis*)
143750276Speter		os=-aos
143850276Speter		;;
143997049Speter	-atheos*)
144097049Speter		os=-atheos
144197049Speter		;;
1442166124Srafan	-syllable*)
1443166124Srafan		os=-syllable
1444166124Srafan		;;
144562449Speter	-386bsd)
144662449Speter		os=-bsd
144762449Speter		;;
144850276Speter	-ctix* | -uts*)
144950276Speter		os=-sysv
145050276Speter		;;
145197049Speter	-nova*)
145297049Speter		os=-rtmk-nova
145397049Speter		;;
145450276Speter	-ns2 )
1455166124Srafan		os=-nextstep2
145650276Speter		;;
145776726Speter	-nsk*)
145862449Speter		os=-nsk
145962449Speter		;;
146050276Speter	# Preserve the version number of sinix5.
146150276Speter	-sinix5.*)
146250276Speter		os=`echo $os | sed -e 's|sinix|sysv|'`
146350276Speter		;;
146450276Speter	-sinix*)
146550276Speter		os=-sysv4
146650276Speter		;;
1467262629Sdelphij	-tpf*)
1468166124Srafan		os=-tpf
1469166124Srafan		;;
147050276Speter	-triton*)
147150276Speter		os=-sysv3
147250276Speter		;;
147350276Speter	-oss*)
147450276Speter		os=-sysv3
147550276Speter		;;
147650276Speter	-svr4)
147750276Speter		os=-sysv4
147850276Speter		;;
147950276Speter	-svr3)
148050276Speter		os=-sysv3
148150276Speter		;;
148250276Speter	-sysvr4)
148350276Speter		os=-sysv4
148450276Speter		;;
148550276Speter	# This must come after -sysvr4.
148650276Speter	-sysv*)
148750276Speter		;;
148862449Speter	-ose*)
148962449Speter		os=-ose
149062449Speter		;;
149162449Speter	-es1800*)
149262449Speter		os=-ose
149362449Speter		;;
149450276Speter	-xenix)
149550276Speter		os=-xenix
149650276Speter		;;
1497166124Srafan	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1498166124Srafan		os=-mint
149962449Speter		;;
1500166124Srafan	-aros*)
1501166124Srafan		os=-aros
1502166124Srafan		;;
1503166124Srafan	-zvmoe)
1504166124Srafan		os=-zvmoe
1505166124Srafan		;;
1506184989Srafan	-dicos*)
1507184989Srafan		os=-dicos
1508184989Srafan		;;
1509262629Sdelphij	-nacl*)
1510262629Sdelphij		;;
151150276Speter	-none)
151250276Speter		;;
151350276Speter	*)
151450276Speter		# Get rid of the `-' at the beginning of $os.
151550276Speter		os=`echo $os | sed 's/[^-]*-//'`
151650276Speter		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
151750276Speter		exit 1
151850276Speter		;;
151950276Speteresac
152050276Speterelse
152150276Speter
152250276Speter# Here we handle the default operating systems that come with various machines.
152350276Speter# The value should be what the vendor currently ships out the door with their
152450276Speter# machine or put another way, the most popular os provided with the machine.
152550276Speter
152650276Speter# Note that if you're going to try to match "-MANUFACTURER" here (say,
152750276Speter# "-sun"), then you have to tell the case statement up towards the top
152850276Speter# that MANUFACTURER isn't an operating system.  Otherwise, code above
152950276Speter# will signal an error saying that MANUFACTURER isn't an operating
153050276Speter# system, and we'll never get to this point.
153150276Speter
153250276Spetercase $basic_machine in
1533262629Sdelphij	score-*)
1534174993Srafan		os=-elf
1535174993Srafan		;;
1536262629Sdelphij	spu-*)
1537166124Srafan		os=-elf
1538166124Srafan		;;
153950276Speter	*-acorn)
154050276Speter		os=-riscix1.2
154150276Speter		;;
154262449Speter	arm*-rebel)
154362449Speter		os=-linux
154462449Speter		;;
154550276Speter	arm*-semi)
154650276Speter		os=-aout
154750276Speter		;;
1548262629Sdelphij	c4x-* | tic4x-*)
1549262629Sdelphij		os=-coff
1550166124Srafan		;;
1551262685Sdelphij	c8051-*)
1552262685Sdelphij		os=-elf
1553262685Sdelphij		;;
1554262685Sdelphij	hexagon-*)
1555262685Sdelphij		os=-elf
1556262685Sdelphij		;;
1557262629Sdelphij	tic54x-*)
1558262629Sdelphij		os=-coff
1559262629Sdelphij		;;
1560262629Sdelphij	tic55x-*)
1561262629Sdelphij		os=-coff
1562262629Sdelphij		;;
1563262629Sdelphij	tic6x-*)
1564262629Sdelphij		os=-coff
1565262629Sdelphij		;;
156697049Speter	# This must come before the *-dec entry.
156776726Speter	pdp10-*)
156876726Speter		os=-tops20
156976726Speter		;;
1570166124Srafan	pdp11-*)
157150276Speter		os=-none
157250276Speter		;;
157350276Speter	*-dec | vax-*)
157450276Speter		os=-ultrix4.2
157550276Speter		;;
157650276Speter	m68*-apollo)
157750276Speter		os=-domain
157850276Speter		;;
157950276Speter	i386-sun)
158050276Speter		os=-sunos4.0.2
158150276Speter		;;
158250276Speter	m68000-sun)
158350276Speter		os=-sunos3
158450276Speter		;;
158562449Speter	m68*-cisco)
158662449Speter		os=-aout
158762449Speter		;;
1588262629Sdelphij	mep-*)
1589174993Srafan		os=-elf
1590174993Srafan		;;
159162449Speter	mips*-cisco)
159262449Speter		os=-elf
159362449Speter		;;
159462449Speter	mips*-*)
159562449Speter		os=-elf
159662449Speter		;;
1597262685Sdelphij	or1k-*)
1598262685Sdelphij		os=-elf
1599262685Sdelphij		;;
160097049Speter	or32-*)
160197049Speter		os=-coff
160297049Speter		;;
160350276Speter	*-tti)	# must be before sparc entry or we get the wrong os.
160450276Speter		os=-sysv3
160550276Speter		;;
160650276Speter	sparc-* | *-sun)
160750276Speter		os=-sunos4.1.1
160850276Speter		;;
160950276Speter	*-be)
161050276Speter		os=-beos
161150276Speter		;;
1612166124Srafan	*-haiku)
1613166124Srafan		os=-haiku
1614166124Srafan		;;
161550276Speter	*-ibm)
161650276Speter		os=-aix
161750276Speter		;;
1618262629Sdelphij	*-knuth)
1619166124Srafan		os=-mmixware
1620166124Srafan		;;
162162449Speter	*-wec)
162262449Speter		os=-proelf
162362449Speter		;;
162462449Speter	*-winbond)
162562449Speter		os=-proelf
162662449Speter		;;
162762449Speter	*-oki)
162862449Speter		os=-proelf
162962449Speter		;;
163050276Speter	*-hp)
163150276Speter		os=-hpux
163250276Speter		;;
163350276Speter	*-hitachi)
163450276Speter		os=-hiux
163550276Speter		;;
163650276Speter	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
163750276Speter		os=-sysv
163850276Speter		;;
163950276Speter	*-cbm)
164050276Speter		os=-amigaos
164150276Speter		;;
164250276Speter	*-dg)
164350276Speter		os=-dgux
164450276Speter		;;
164550276Speter	*-dolphin)
164650276Speter		os=-sysv3
164750276Speter		;;
164850276Speter	m68k-ccur)
164950276Speter		os=-rtu
165050276Speter		;;
165150276Speter	m88k-omron*)
165250276Speter		os=-luna
165350276Speter		;;
165450276Speter	*-next )
165550276Speter		os=-nextstep
165650276Speter		;;
165750276Speter	*-sequent)
165850276Speter		os=-ptx
165950276Speter		;;
166050276Speter	*-crds)
166150276Speter		os=-unos
166250276Speter		;;
166350276Speter	*-ns)
166450276Speter		os=-genix
166550276Speter		;;
166650276Speter	i370-*)
166750276Speter		os=-mvs
166850276Speter		;;
166950276Speter	*-next)
167050276Speter		os=-nextstep3
167150276Speter		;;
1672166124Srafan	*-gould)
167350276Speter		os=-sysv
167450276Speter		;;
1675166124Srafan	*-highlevel)
167650276Speter		os=-bsd
167750276Speter		;;
167850276Speter	*-encore)
167950276Speter		os=-bsd
168050276Speter		;;
1681166124Srafan	*-sgi)
168250276Speter		os=-irix
168350276Speter		;;
1684166124Srafan	*-siemens)
168550276Speter		os=-sysv4
168650276Speter		;;
168750276Speter	*-masscomp)
168850276Speter		os=-rtu
168950276Speter		;;
169076726Speter	f30[01]-fujitsu | f700-fujitsu)
169150276Speter		os=-uxpv
169250276Speter		;;
169362449Speter	*-rom68k)
169462449Speter		os=-coff
169562449Speter		;;
169662449Speter	*-*bug)
169762449Speter		os=-coff
169862449Speter		;;
169962449Speter	*-apple)
170062449Speter		os=-macos
170162449Speter		;;
170262449Speter	*-atari*)
170362449Speter		os=-mint
170462449Speter		;;
170550276Speter	*)
170650276Speter		os=-none
170750276Speter		;;
170850276Speteresac
170950276Speterfi
171050276Speter
171150276Speter# Here we handle the case where we know the os, and the CPU type, but not the
171250276Speter# manufacturer.  We pick the logical manufacturer.
171350276Spetervendor=unknown
171450276Spetercase $basic_machine in
171550276Speter	*-unknown)
171650276Speter		case $os in
171750276Speter			-riscix*)
171850276Speter				vendor=acorn
171950276Speter				;;
172050276Speter			-sunos*)
172150276Speter				vendor=sun
172250276Speter				;;
1723262629Sdelphij			-cnk*|-aix*)
172450276Speter				vendor=ibm
172550276Speter				;;
172662449Speter			-beos*)
172762449Speter				vendor=be
172862449Speter				;;
172950276Speter			-hpux*)
173050276Speter				vendor=hp
173150276Speter				;;
173262449Speter			-mpeix*)
173362449Speter				vendor=hp
173462449Speter				;;
173550276Speter			-hiux*)
173650276Speter				vendor=hitachi
173750276Speter				;;
173850276Speter			-unos*)
173950276Speter				vendor=crds
174050276Speter				;;
174150276Speter			-dgux*)
174250276Speter				vendor=dg
174350276Speter				;;
174450276Speter			-luna*)
174550276Speter				vendor=omron
174650276Speter				;;
174750276Speter			-genix*)
174850276Speter				vendor=ns
174950276Speter				;;
175062449Speter			-mvs* | -opened*)
175150276Speter				vendor=ibm
175250276Speter				;;
1753166124Srafan			-os400*)
1754166124Srafan				vendor=ibm
1755166124Srafan				;;
175650276Speter			-ptx*)
175750276Speter				vendor=sequent
175850276Speter				;;
1759166124Srafan			-tpf*)
1760166124Srafan				vendor=ibm
1761166124Srafan				;;
176297049Speter			-vxsim* | -vxworks* | -windiss*)
176350276Speter				vendor=wrs
176450276Speter				;;
176550276Speter			-aux*)
176650276Speter				vendor=apple
176750276Speter				;;
176862449Speter			-hms*)
176962449Speter				vendor=hitachi
177062449Speter				;;
177162449Speter			-mpw* | -macos*)
177262449Speter				vendor=apple
177362449Speter				;;
177476726Speter			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
177562449Speter				vendor=atari
177662449Speter				;;
177797049Speter			-vos*)
177897049Speter				vendor=stratus
177997049Speter				;;
178050276Speter		esac
178150276Speter		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
178250276Speter		;;
178350276Speteresac
178450276Speter
178550276Speterecho $basic_machine$os
1786166124Srafanexit
178762449Speter
178862449Speter# Local variables:
178962449Speter# eval: (add-hook 'write-file-hooks 'time-stamp)
179076726Speter# time-stamp-start: "timestamp='"
179162449Speter# time-stamp-format: "%:y-%02m-%02d"
179262449Speter# time-stamp-end: "'"
179362449Speter# End:
1794