config.sub revision fe2ac8d7
19027f4a0Smrg#! /bin/sh
29027f4a0Smrg# Configuration validation subroutine script.
3fe2ac8d7Smrg#   Copyright 1992-2013 Free Software Foundation, Inc.
49027f4a0Smrg
5fe2ac8d7Smrgtimestamp='2013-04-24'
69027f4a0Smrg
7fe2ac8d7Smrg# This file is free software; you can redistribute it and/or modify it
8fe2ac8d7Smrg# under the terms of the GNU General Public License as published by
9fe2ac8d7Smrg# the Free Software Foundation; either version 3 of the License, or
109027f4a0Smrg# (at your option) any later version.
119027f4a0Smrg#
12fe2ac8d7Smrg# This program is distributed in the hope that it will be useful, but
13fe2ac8d7Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14fe2ac8d7Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15fe2ac8d7Smrg# General Public License for more details.
169027f4a0Smrg#
179027f4a0Smrg# You should have received a copy of the GNU General Public License
18fe2ac8d7Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
199027f4a0Smrg#
209027f4a0Smrg# As a special exception to the GNU General Public License, if you
219027f4a0Smrg# distribute this file as part of a program that contains a
229027f4a0Smrg# configuration script generated by Autoconf, you may include it under
23fe2ac8d7Smrg# the same distribution terms that you use for the rest of that
24fe2ac8d7Smrg# program.  This Exception is an additional permission under section 7
25fe2ac8d7Smrg# of the GNU General Public License, version 3 ("GPLv3").
269027f4a0Smrg
279027f4a0Smrg
28fe2ac8d7Smrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
299027f4a0Smrg#
309027f4a0Smrg# Configuration subroutine to validate and canonicalize a configuration type.
319027f4a0Smrg# Supply the specified configuration type as an argument.
329027f4a0Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
339027f4a0Smrg# Otherwise, we print the canonical config type on stdout and succeed.
349027f4a0Smrg
353a72f200Smrg# You can get the latest version of this script from:
363a72f200Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
373a72f200Smrg
389027f4a0Smrg# This file is supposed to be the same for all GNU packages
399027f4a0Smrg# and recognize all the CPU types, system types and aliases
409027f4a0Smrg# that are meaningful with *any* GNU software.
419027f4a0Smrg# Each package is responsible for reporting which valid configurations
429027f4a0Smrg# it does not support.  The user should be able to distinguish
439027f4a0Smrg# a failure to support a valid configuration from a meaningless
449027f4a0Smrg# configuration.
459027f4a0Smrg
469027f4a0Smrg# The goal of this file is to map all the various variations of a given
479027f4a0Smrg# machine specification into a single specification in the form:
489027f4a0Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
499027f4a0Smrg# or in some cases, the newer four-part form:
509027f4a0Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
519027f4a0Smrg# It is wrong to echo any other type of specification.
529027f4a0Smrg
539027f4a0Smrgme=`echo "$0" | sed -e 's,.*/,,'`
549027f4a0Smrg
559027f4a0Smrgusage="\
569027f4a0SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
579027f4a0Smrg       $0 [OPTION] ALIAS
589027f4a0Smrg
599027f4a0SmrgCanonicalize a configuration name.
609027f4a0Smrg
619027f4a0SmrgOperation modes:
629027f4a0Smrg  -h, --help         print this help, then exit
639027f4a0Smrg  -t, --time-stamp   print date of last modification, then exit
649027f4a0Smrg  -v, --version      print version number, then exit
659027f4a0Smrg
669027f4a0SmrgReport bugs and patches to <config-patches@gnu.org>."
679027f4a0Smrg
689027f4a0Smrgversion="\
699027f4a0SmrgGNU config.sub ($timestamp)
709027f4a0Smrg
71fe2ac8d7SmrgCopyright 1992-2013 Free Software Foundation, Inc.
729027f4a0Smrg
739027f4a0SmrgThis is free software; see the source for copying conditions.  There is NO
749027f4a0Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
759027f4a0Smrg
769027f4a0Smrghelp="
779027f4a0SmrgTry \`$me --help' for more information."
789027f4a0Smrg
799027f4a0Smrg# Parse command line
809027f4a0Smrgwhile test $# -gt 0 ; do
819027f4a0Smrg  case $1 in
829027f4a0Smrg    --time-stamp | --time* | -t )
839027f4a0Smrg       echo "$timestamp" ; exit ;;
849027f4a0Smrg    --version | -v )
859027f4a0Smrg       echo "$version" ; exit ;;
869027f4a0Smrg    --help | --h* | -h )
879027f4a0Smrg       echo "$usage"; exit ;;
889027f4a0Smrg    -- )     # Stop option processing
899027f4a0Smrg       shift; break ;;
909027f4a0Smrg    - )	# Use stdin as input.
919027f4a0Smrg       break ;;
929027f4a0Smrg    -* )
939027f4a0Smrg       echo "$me: invalid option $1$help"
949027f4a0Smrg       exit 1 ;;
959027f4a0Smrg
969027f4a0Smrg    *local*)
979027f4a0Smrg       # First pass through any local machine types.
989027f4a0Smrg       echo $1
999027f4a0Smrg       exit ;;
1009027f4a0Smrg
1019027f4a0Smrg    * )
1029027f4a0Smrg       break ;;
1039027f4a0Smrg  esac
1049027f4a0Smrgdone
1059027f4a0Smrg
1069027f4a0Smrgcase $# in
1079027f4a0Smrg 0) echo "$me: missing argument$help" >&2
1089027f4a0Smrg    exit 1;;
1099027f4a0Smrg 1) ;;
1109027f4a0Smrg *) echo "$me: too many arguments$help" >&2
1119027f4a0Smrg    exit 1;;
1129027f4a0Smrgesac
1139027f4a0Smrg
1149027f4a0Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1159027f4a0Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1169027f4a0Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1179027f4a0Smrgcase $maybe_os in
1183a72f200Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119fe2ac8d7Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1203a72f200Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1213a72f200Smrg  kopensolaris*-gnu* | \
1229027f4a0Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1239027f4a0Smrg    os=-$maybe_os
1249027f4a0Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1259027f4a0Smrg    ;;
126fe2ac8d7Smrg  android-linux)
127fe2ac8d7Smrg    os=-linux-android
128fe2ac8d7Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129fe2ac8d7Smrg    ;;
1309027f4a0Smrg  *)
1319027f4a0Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1329027f4a0Smrg    if [ $basic_machine != $1 ]
1339027f4a0Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1349027f4a0Smrg    else os=; fi
1359027f4a0Smrg    ;;
1369027f4a0Smrgesac
1379027f4a0Smrg
1389027f4a0Smrg### Let's recognize common machines as not being operating systems so
1399027f4a0Smrg### that things like config.sub decstation-3100 work.  We also
1409027f4a0Smrg### recognize some manufacturers as not being operating systems, so we
1419027f4a0Smrg### can provide default operating systems below.
1429027f4a0Smrgcase $os in
1439027f4a0Smrg	-sun*os*)
1449027f4a0Smrg		# Prevent following clause from handling this invalid input.
1459027f4a0Smrg		;;
1469027f4a0Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1479027f4a0Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1489027f4a0Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1499027f4a0Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1509027f4a0Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1519027f4a0Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152fe2ac8d7Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
1539027f4a0Smrg		os=
1549027f4a0Smrg		basic_machine=$1
1559027f4a0Smrg		;;
156fe2ac8d7Smrg	-bluegene*)
157fe2ac8d7Smrg		os=-cnk
1583a72f200Smrg		;;
1599027f4a0Smrg	-sim | -cisco | -oki | -wec | -winbond)
1609027f4a0Smrg		os=
1619027f4a0Smrg		basic_machine=$1
1629027f4a0Smrg		;;
1639027f4a0Smrg	-scout)
1649027f4a0Smrg		;;
1659027f4a0Smrg	-wrs)
1669027f4a0Smrg		os=-vxworks
1679027f4a0Smrg		basic_machine=$1
1689027f4a0Smrg		;;
1699027f4a0Smrg	-chorusos*)
1709027f4a0Smrg		os=-chorusos
1719027f4a0Smrg		basic_machine=$1
1729027f4a0Smrg		;;
173fe2ac8d7Smrg	-chorusrdb)
174fe2ac8d7Smrg		os=-chorusrdb
1759027f4a0Smrg		basic_machine=$1
176fe2ac8d7Smrg		;;
1779027f4a0Smrg	-hiux*)
1789027f4a0Smrg		os=-hiuxwe2
1799027f4a0Smrg		;;
1809027f4a0Smrg	-sco6)
1819027f4a0Smrg		os=-sco5v6
1829027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1839027f4a0Smrg		;;
1849027f4a0Smrg	-sco5)
1859027f4a0Smrg		os=-sco3.2v5
1869027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1879027f4a0Smrg		;;
1889027f4a0Smrg	-sco4)
1899027f4a0Smrg		os=-sco3.2v4
1909027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1919027f4a0Smrg		;;
1929027f4a0Smrg	-sco3.2.[4-9]*)
1939027f4a0Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1949027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1959027f4a0Smrg		;;
1969027f4a0Smrg	-sco3.2v[4-9]*)
1979027f4a0Smrg		# Don't forget version if it is 3.2v4 or newer.
1989027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1999027f4a0Smrg		;;
2009027f4a0Smrg	-sco5v6*)
2019027f4a0Smrg		# Don't forget version if it is 3.2v4 or newer.
2029027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2039027f4a0Smrg		;;
2049027f4a0Smrg	-sco*)
2059027f4a0Smrg		os=-sco3.2v2
2069027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2079027f4a0Smrg		;;
2089027f4a0Smrg	-udk*)
2099027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2109027f4a0Smrg		;;
2119027f4a0Smrg	-isc)
2129027f4a0Smrg		os=-isc2.2
2139027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2149027f4a0Smrg		;;
2159027f4a0Smrg	-clix*)
2169027f4a0Smrg		basic_machine=clipper-intergraph
2179027f4a0Smrg		;;
2189027f4a0Smrg	-isc*)
2199027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2209027f4a0Smrg		;;
221fe2ac8d7Smrg	-lynx*178)
222fe2ac8d7Smrg		os=-lynxos178
223fe2ac8d7Smrg		;;
224fe2ac8d7Smrg	-lynx*5)
225fe2ac8d7Smrg		os=-lynxos5
226fe2ac8d7Smrg		;;
2279027f4a0Smrg	-lynx*)
2289027f4a0Smrg		os=-lynxos
2299027f4a0Smrg		;;
2309027f4a0Smrg	-ptx*)
2319027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2329027f4a0Smrg		;;
2339027f4a0Smrg	-windowsnt*)
2349027f4a0Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2359027f4a0Smrg		;;
2369027f4a0Smrg	-psos*)
2379027f4a0Smrg		os=-psos
2389027f4a0Smrg		;;
2399027f4a0Smrg	-mint | -mint[0-9]*)
2409027f4a0Smrg		basic_machine=m68k-atari
2419027f4a0Smrg		os=-mint
2429027f4a0Smrg		;;
2439027f4a0Smrgesac
2449027f4a0Smrg
2459027f4a0Smrg# Decode aliases for certain CPU-COMPANY combinations.
2469027f4a0Smrgcase $basic_machine in
2479027f4a0Smrg	# Recognize the basic CPU types without company name.
2489027f4a0Smrg	# Some are omitted here because they have special meanings below.
2499027f4a0Smrg	1750a | 580 \
2509027f4a0Smrg	| a29k \
251fe2ac8d7Smrg	| aarch64 | aarch64_be \
2529027f4a0Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2539027f4a0Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2549027f4a0Smrg	| am33_2.0 \
255fe2ac8d7Smrg	| arc | arceb \
256fe2ac8d7Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257fe2ac8d7Smrg	| avr | avr32 \
258fe2ac8d7Smrg	| be32 | be64 \
2599027f4a0Smrg	| bfin \
2609027f4a0Smrg	| c4x | clipper \
2619027f4a0Smrg	| d10v | d30v | dlx | dsp16xx \
262fe2ac8d7Smrg	| epiphany \
2639027f4a0Smrg	| fido | fr30 | frv \
2649027f4a0Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265fe2ac8d7Smrg	| hexagon \
2669027f4a0Smrg	| i370 | i860 | i960 | ia64 \
2679027f4a0Smrg	| ip2k | iq2000 \
268fe2ac8d7Smrg	| le32 | le64 \
2693a72f200Smrg	| lm32 \
2709027f4a0Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
271fe2ac8d7Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
2729027f4a0Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2739027f4a0Smrg	| mips16 \
2749027f4a0Smrg	| mips64 | mips64el \
2753a72f200Smrg	| mips64octeon | mips64octeonel \
2769027f4a0Smrg	| mips64orion | mips64orionel \
2773a72f200Smrg	| mips64r5900 | mips64r5900el \
2783a72f200Smrg	| mips64vr | mips64vrel \
2799027f4a0Smrg	| mips64vr4100 | mips64vr4100el \
2809027f4a0Smrg	| mips64vr4300 | mips64vr4300el \
2819027f4a0Smrg	| mips64vr5000 | mips64vr5000el \
2829027f4a0Smrg	| mips64vr5900 | mips64vr5900el \
2839027f4a0Smrg	| mipsisa32 | mipsisa32el \
2849027f4a0Smrg	| mipsisa32r2 | mipsisa32r2el \
2859027f4a0Smrg	| mipsisa64 | mipsisa64el \
2869027f4a0Smrg	| mipsisa64r2 | mipsisa64r2el \
2879027f4a0Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2889027f4a0Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
289fe2ac8d7Smrg	| mipsr5900 | mipsr5900el \
2909027f4a0Smrg	| mipstx39 | mipstx39el \
2919027f4a0Smrg	| mn10200 | mn10300 \
2923a72f200Smrg	| moxie \
2939027f4a0Smrg	| mt \
2949027f4a0Smrg	| msp430 \
2953a72f200Smrg	| nds32 | nds32le | nds32be \
296fe2ac8d7Smrg	| nios | nios2 | nios2eb | nios2el \
2979027f4a0Smrg	| ns16k | ns32k \
298fe2ac8d7Smrg	| open8 \
299fe2ac8d7Smrg	| or1k | or32 \
3009027f4a0Smrg	| pdp10 | pdp11 | pj | pjl \
301fe2ac8d7Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3029027f4a0Smrg	| pyramid \
303fe2ac8d7Smrg	| rl78 | rx \
3049027f4a0Smrg	| score \
3053a72f200Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3069027f4a0Smrg	| sh64 | sh64le \
3079027f4a0Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3089027f4a0Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
309fe2ac8d7Smrg	| spu \
310fe2ac8d7Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3113a72f200Smrg	| ubicom32 \
312fe2ac8d7Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3139027f4a0Smrg	| we32k \
314fe2ac8d7Smrg	| x86 | xc16x | xstormy16 | xtensa \
3153a72f200Smrg	| z8k | z80)
3169027f4a0Smrg		basic_machine=$basic_machine-unknown
3179027f4a0Smrg		;;
3183a72f200Smrg	c54x)
3193a72f200Smrg		basic_machine=tic54x-unknown
3203a72f200Smrg		;;
3213a72f200Smrg	c55x)
3223a72f200Smrg		basic_machine=tic55x-unknown
3233a72f200Smrg		;;
3243a72f200Smrg	c6x)
3253a72f200Smrg		basic_machine=tic6x-unknown
3263a72f200Smrg		;;
327fe2ac8d7Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
3289027f4a0Smrg		basic_machine=$basic_machine-unknown
3299027f4a0Smrg		os=-none
3309027f4a0Smrg		;;
3319027f4a0Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3329027f4a0Smrg		;;
3339027f4a0Smrg	ms1)
3349027f4a0Smrg		basic_machine=mt-unknown
3359027f4a0Smrg		;;
3369027f4a0Smrg
337fe2ac8d7Smrg	strongarm | thumb | xscale)
338fe2ac8d7Smrg		basic_machine=arm-unknown
339fe2ac8d7Smrg		;;
340fe2ac8d7Smrg	xgate)
341fe2ac8d7Smrg		basic_machine=$basic_machine-unknown
342fe2ac8d7Smrg		os=-none
343fe2ac8d7Smrg		;;
344fe2ac8d7Smrg	xscaleeb)
345fe2ac8d7Smrg		basic_machine=armeb-unknown
346fe2ac8d7Smrg		;;
347fe2ac8d7Smrg
348fe2ac8d7Smrg	xscaleel)
349fe2ac8d7Smrg		basic_machine=armel-unknown
350fe2ac8d7Smrg		;;
351fe2ac8d7Smrg
3529027f4a0Smrg	# We use `pc' rather than `unknown'
3539027f4a0Smrg	# because (1) that's what they normally are, and
3549027f4a0Smrg	# (2) the word "unknown" tends to confuse beginning users.
3559027f4a0Smrg	i*86 | x86_64)
3569027f4a0Smrg	  basic_machine=$basic_machine-pc
3579027f4a0Smrg	  ;;
3589027f4a0Smrg	# Object if more than one company name word.
3599027f4a0Smrg	*-*-*)
3609027f4a0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3619027f4a0Smrg		exit 1
3629027f4a0Smrg		;;
3639027f4a0Smrg	# Recognize the basic CPU types with company name.
3649027f4a0Smrg	580-* \
3659027f4a0Smrg	| a29k-* \
366fe2ac8d7Smrg	| aarch64-* | aarch64_be-* \
3679027f4a0Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3689027f4a0Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
369fe2ac8d7Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
3709027f4a0Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3719027f4a0Smrg	| avr-* | avr32-* \
372fe2ac8d7Smrg	| be32-* | be64-* \
3739027f4a0Smrg	| bfin-* | bs2000-* \
3743a72f200Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3759027f4a0Smrg	| clipper-* | craynv-* | cydra-* \
3769027f4a0Smrg	| d10v-* | d30v-* | dlx-* \
3779027f4a0Smrg	| elxsi-* \
3789027f4a0Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3799027f4a0Smrg	| h8300-* | h8500-* \
3809027f4a0Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
381fe2ac8d7Smrg	| hexagon-* \
3829027f4a0Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3839027f4a0Smrg	| ip2k-* | iq2000-* \
384fe2ac8d7Smrg	| le32-* | le64-* \
3853a72f200Smrg	| lm32-* \
3869027f4a0Smrg	| m32c-* | m32r-* | m32rle-* \
3879027f4a0Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
388fe2ac8d7Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
389fe2ac8d7Smrg	| microblaze-* | microblazeel-* \
3909027f4a0Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3919027f4a0Smrg	| mips16-* \
3929027f4a0Smrg	| mips64-* | mips64el-* \
3933a72f200Smrg	| mips64octeon-* | mips64octeonel-* \
3949027f4a0Smrg	| mips64orion-* | mips64orionel-* \
3953a72f200Smrg	| mips64r5900-* | mips64r5900el-* \
3963a72f200Smrg	| mips64vr-* | mips64vrel-* \
3979027f4a0Smrg	| mips64vr4100-* | mips64vr4100el-* \
3989027f4a0Smrg	| mips64vr4300-* | mips64vr4300el-* \
3999027f4a0Smrg	| mips64vr5000-* | mips64vr5000el-* \
4009027f4a0Smrg	| mips64vr5900-* | mips64vr5900el-* \
4019027f4a0Smrg	| mipsisa32-* | mipsisa32el-* \
4029027f4a0Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
4039027f4a0Smrg	| mipsisa64-* | mipsisa64el-* \
4049027f4a0Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
4059027f4a0Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
4069027f4a0Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
407fe2ac8d7Smrg	| mipsr5900-* | mipsr5900el-* \
4089027f4a0Smrg	| mipstx39-* | mipstx39el-* \
4099027f4a0Smrg	| mmix-* \
4109027f4a0Smrg	| mt-* \
4119027f4a0Smrg	| msp430-* \
4123a72f200Smrg	| nds32-* | nds32le-* | nds32be-* \
413fe2ac8d7Smrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
4149027f4a0Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
415fe2ac8d7Smrg	| open8-* \
4169027f4a0Smrg	| orion-* \
4179027f4a0Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
418fe2ac8d7Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4199027f4a0Smrg	| pyramid-* \
420fe2ac8d7Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
4213a72f200Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4229027f4a0Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4239027f4a0Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4249027f4a0Smrg	| sparclite-* \
425fe2ac8d7Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
426fe2ac8d7Smrg	| tahoe-* \
4279027f4a0Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
428fe2ac8d7Smrg	| tile*-* \
4299027f4a0Smrg	| tron-* \
4303a72f200Smrg	| ubicom32-* \
431fe2ac8d7Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
432fe2ac8d7Smrg	| vax-* \
4339027f4a0Smrg	| we32k-* \
434fe2ac8d7Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4353a72f200Smrg	| xstormy16-* | xtensa*-* \
4369027f4a0Smrg	| ymp-* \
4373a72f200Smrg	| z8k-* | z80-*)
4383a72f200Smrg		;;
4393a72f200Smrg	# Recognize the basic CPU types without company name, with glob match.
4403a72f200Smrg	xtensa*)
4413a72f200Smrg		basic_machine=$basic_machine-unknown
4429027f4a0Smrg		;;
4439027f4a0Smrg	# Recognize the various machine names and aliases which stand
4449027f4a0Smrg	# for a CPU type and a company and sometimes even an OS.
4459027f4a0Smrg	386bsd)
4469027f4a0Smrg		basic_machine=i386-unknown
4479027f4a0Smrg		os=-bsd
4489027f4a0Smrg		;;
4499027f4a0Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4509027f4a0Smrg		basic_machine=m68000-att
4519027f4a0Smrg		;;
4529027f4a0Smrg	3b*)
4539027f4a0Smrg		basic_machine=we32k-att
4549027f4a0Smrg		;;
4559027f4a0Smrg	a29khif)
4569027f4a0Smrg		basic_machine=a29k-amd
4579027f4a0Smrg		os=-udi
4589027f4a0Smrg		;;
459fe2ac8d7Smrg	abacus)
4609027f4a0Smrg		basic_machine=abacus-unknown
4619027f4a0Smrg		;;
4629027f4a0Smrg	adobe68k)
4639027f4a0Smrg		basic_machine=m68010-adobe
4649027f4a0Smrg		os=-scout
4659027f4a0Smrg		;;
4669027f4a0Smrg	alliant | fx80)
4679027f4a0Smrg		basic_machine=fx80-alliant
4689027f4a0Smrg		;;
4699027f4a0Smrg	altos | altos3068)
4709027f4a0Smrg		basic_machine=m68k-altos
4719027f4a0Smrg		;;
4729027f4a0Smrg	am29k)
4739027f4a0Smrg		basic_machine=a29k-none
4749027f4a0Smrg		os=-bsd
4759027f4a0Smrg		;;
4769027f4a0Smrg	amd64)
4779027f4a0Smrg		basic_machine=x86_64-pc
4789027f4a0Smrg		;;
4799027f4a0Smrg	amd64-*)
4809027f4a0Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4819027f4a0Smrg		;;
4829027f4a0Smrg	amdahl)
4839027f4a0Smrg		basic_machine=580-amdahl
4849027f4a0Smrg		os=-sysv
4859027f4a0Smrg		;;
4869027f4a0Smrg	amiga | amiga-*)
4879027f4a0Smrg		basic_machine=m68k-unknown
4889027f4a0Smrg		;;
4899027f4a0Smrg	amigaos | amigados)
4909027f4a0Smrg		basic_machine=m68k-unknown
4919027f4a0Smrg		os=-amigaos
4929027f4a0Smrg		;;
4939027f4a0Smrg	amigaunix | amix)
4949027f4a0Smrg		basic_machine=m68k-unknown
4959027f4a0Smrg		os=-sysv4
4969027f4a0Smrg		;;
4979027f4a0Smrg	apollo68)
4989027f4a0Smrg		basic_machine=m68k-apollo
4999027f4a0Smrg		os=-sysv
5009027f4a0Smrg		;;
5019027f4a0Smrg	apollo68bsd)
5029027f4a0Smrg		basic_machine=m68k-apollo
5039027f4a0Smrg		os=-bsd
5049027f4a0Smrg		;;
5053a72f200Smrg	aros)
5063a72f200Smrg		basic_machine=i386-pc
5073a72f200Smrg		os=-aros
5083a72f200Smrg		;;
5099027f4a0Smrg	aux)
5109027f4a0Smrg		basic_machine=m68k-apple
5119027f4a0Smrg		os=-aux
5129027f4a0Smrg		;;
5139027f4a0Smrg	balance)
5149027f4a0Smrg		basic_machine=ns32k-sequent
5159027f4a0Smrg		os=-dynix
5169027f4a0Smrg		;;
5173a72f200Smrg	blackfin)
5183a72f200Smrg		basic_machine=bfin-unknown
5193a72f200Smrg		os=-linux
5203a72f200Smrg		;;
5213a72f200Smrg	blackfin-*)
5223a72f200Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5233a72f200Smrg		os=-linux
5243a72f200Smrg		;;
5253a72f200Smrg	bluegene*)
5263a72f200Smrg		basic_machine=powerpc-ibm
5273a72f200Smrg		os=-cnk
5283a72f200Smrg		;;
5293a72f200Smrg	c54x-*)
5303a72f200Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5313a72f200Smrg		;;
5323a72f200Smrg	c55x-*)
5333a72f200Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5343a72f200Smrg		;;
5353a72f200Smrg	c6x-*)
5363a72f200Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5373a72f200Smrg		;;
5389027f4a0Smrg	c90)
5399027f4a0Smrg		basic_machine=c90-cray
5409027f4a0Smrg		os=-unicos
5419027f4a0Smrg		;;
542fe2ac8d7Smrg	cegcc)
5433a72f200Smrg		basic_machine=arm-unknown
5443a72f200Smrg		os=-cegcc
5453a72f200Smrg		;;
5469027f4a0Smrg	convex-c1)
5479027f4a0Smrg		basic_machine=c1-convex
5489027f4a0Smrg		os=-bsd
5499027f4a0Smrg		;;
5509027f4a0Smrg	convex-c2)
5519027f4a0Smrg		basic_machine=c2-convex
5529027f4a0Smrg		os=-bsd
5539027f4a0Smrg		;;
5549027f4a0Smrg	convex-c32)
5559027f4a0Smrg		basic_machine=c32-convex
5569027f4a0Smrg		os=-bsd
5579027f4a0Smrg		;;
5589027f4a0Smrg	convex-c34)
5599027f4a0Smrg		basic_machine=c34-convex
5609027f4a0Smrg		os=-bsd
5619027f4a0Smrg		;;
5629027f4a0Smrg	convex-c38)
5639027f4a0Smrg		basic_machine=c38-convex
5649027f4a0Smrg		os=-bsd
5659027f4a0Smrg		;;
5669027f4a0Smrg	cray | j90)
5679027f4a0Smrg		basic_machine=j90-cray
5689027f4a0Smrg		os=-unicos
5699027f4a0Smrg		;;
5709027f4a0Smrg	craynv)
5719027f4a0Smrg		basic_machine=craynv-cray
5729027f4a0Smrg		os=-unicosmp
5739027f4a0Smrg		;;
574fe2ac8d7Smrg	cr16 | cr16-*)
5753a72f200Smrg		basic_machine=cr16-unknown
5769027f4a0Smrg		os=-elf
5779027f4a0Smrg		;;
5789027f4a0Smrg	crds | unos)
5799027f4a0Smrg		basic_machine=m68k-crds
5809027f4a0Smrg		;;
5819027f4a0Smrg	crisv32 | crisv32-* | etraxfs*)
5829027f4a0Smrg		basic_machine=crisv32-axis
5839027f4a0Smrg		;;
5849027f4a0Smrg	cris | cris-* | etrax*)
5859027f4a0Smrg		basic_machine=cris-axis
5869027f4a0Smrg		;;
5879027f4a0Smrg	crx)
5889027f4a0Smrg		basic_machine=crx-unknown
5899027f4a0Smrg		os=-elf
5909027f4a0Smrg		;;
5919027f4a0Smrg	da30 | da30-*)
5929027f4a0Smrg		basic_machine=m68k-da30
5939027f4a0Smrg		;;
5949027f4a0Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5959027f4a0Smrg		basic_machine=mips-dec
5969027f4a0Smrg		;;
5979027f4a0Smrg	decsystem10* | dec10*)
5989027f4a0Smrg		basic_machine=pdp10-dec
5999027f4a0Smrg		os=-tops10
6009027f4a0Smrg		;;
6019027f4a0Smrg	decsystem20* | dec20*)
6029027f4a0Smrg		basic_machine=pdp10-dec
6039027f4a0Smrg		os=-tops20
6049027f4a0Smrg		;;
6059027f4a0Smrg	delta | 3300 | motorola-3300 | motorola-delta \
6069027f4a0Smrg	      | 3300-motorola | delta-motorola)
6079027f4a0Smrg		basic_machine=m68k-motorola
6089027f4a0Smrg		;;
6099027f4a0Smrg	delta88)
6109027f4a0Smrg		basic_machine=m88k-motorola
6119027f4a0Smrg		os=-sysv3
6129027f4a0Smrg		;;
6133a72f200Smrg	dicos)
6143a72f200Smrg		basic_machine=i686-pc
6153a72f200Smrg		os=-dicos
6163a72f200Smrg		;;
6179027f4a0Smrg	djgpp)
6189027f4a0Smrg		basic_machine=i586-pc
6199027f4a0Smrg		os=-msdosdjgpp
6209027f4a0Smrg		;;
6219027f4a0Smrg	dpx20 | dpx20-*)
6229027f4a0Smrg		basic_machine=rs6000-bull
6239027f4a0Smrg		os=-bosx
6249027f4a0Smrg		;;
6259027f4a0Smrg	dpx2* | dpx2*-bull)
6269027f4a0Smrg		basic_machine=m68k-bull
6279027f4a0Smrg		os=-sysv3
6289027f4a0Smrg		;;
6299027f4a0Smrg	ebmon29k)
6309027f4a0Smrg		basic_machine=a29k-amd
6319027f4a0Smrg		os=-ebmon
6329027f4a0Smrg		;;
6339027f4a0Smrg	elxsi)
6349027f4a0Smrg		basic_machine=elxsi-elxsi
6359027f4a0Smrg		os=-bsd
6369027f4a0Smrg		;;
6379027f4a0Smrg	encore | umax | mmax)
6389027f4a0Smrg		basic_machine=ns32k-encore
6399027f4a0Smrg		;;
6409027f4a0Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6419027f4a0Smrg		basic_machine=m68k-ericsson
6429027f4a0Smrg		os=-ose
6439027f4a0Smrg		;;
6449027f4a0Smrg	fx2800)
6459027f4a0Smrg		basic_machine=i860-alliant
6469027f4a0Smrg		;;
6479027f4a0Smrg	genix)
6489027f4a0Smrg		basic_machine=ns32k-ns
6499027f4a0Smrg		;;
6509027f4a0Smrg	gmicro)
6519027f4a0Smrg		basic_machine=tron-gmicro
6529027f4a0Smrg		os=-sysv
6539027f4a0Smrg		;;
6549027f4a0Smrg	go32)
6559027f4a0Smrg		basic_machine=i386-pc
6569027f4a0Smrg		os=-go32
6579027f4a0Smrg		;;
6589027f4a0Smrg	h3050r* | hiux*)
6599027f4a0Smrg		basic_machine=hppa1.1-hitachi
6609027f4a0Smrg		os=-hiuxwe2
6619027f4a0Smrg		;;
6629027f4a0Smrg	h8300hms)
6639027f4a0Smrg		basic_machine=h8300-hitachi
6649027f4a0Smrg		os=-hms
6659027f4a0Smrg		;;
6669027f4a0Smrg	h8300xray)
6679027f4a0Smrg		basic_machine=h8300-hitachi
6689027f4a0Smrg		os=-xray
6699027f4a0Smrg		;;
6709027f4a0Smrg	h8500hms)
6719027f4a0Smrg		basic_machine=h8500-hitachi
6729027f4a0Smrg		os=-hms
6739027f4a0Smrg		;;
6749027f4a0Smrg	harris)
6759027f4a0Smrg		basic_machine=m88k-harris
6769027f4a0Smrg		os=-sysv3
6779027f4a0Smrg		;;
6789027f4a0Smrg	hp300-*)
6799027f4a0Smrg		basic_machine=m68k-hp
6809027f4a0Smrg		;;
6819027f4a0Smrg	hp300bsd)
6829027f4a0Smrg		basic_machine=m68k-hp
6839027f4a0Smrg		os=-bsd
6849027f4a0Smrg		;;
6859027f4a0Smrg	hp300hpux)
6869027f4a0Smrg		basic_machine=m68k-hp
6879027f4a0Smrg		os=-hpux
6889027f4a0Smrg		;;
6899027f4a0Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6909027f4a0Smrg		basic_machine=hppa1.0-hp
6919027f4a0Smrg		;;
6929027f4a0Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6939027f4a0Smrg		basic_machine=m68000-hp
6949027f4a0Smrg		;;
6959027f4a0Smrg	hp9k3[2-9][0-9])
6969027f4a0Smrg		basic_machine=m68k-hp
6979027f4a0Smrg		;;
6989027f4a0Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6999027f4a0Smrg		basic_machine=hppa1.0-hp
7009027f4a0Smrg		;;
7019027f4a0Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
7029027f4a0Smrg		basic_machine=hppa1.1-hp
7039027f4a0Smrg		;;
7049027f4a0Smrg	hp9k78[0-9] | hp78[0-9])
7059027f4a0Smrg		# FIXME: really hppa2.0-hp
7069027f4a0Smrg		basic_machine=hppa1.1-hp
7079027f4a0Smrg		;;
7089027f4a0Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
7099027f4a0Smrg		# FIXME: really hppa2.0-hp
7109027f4a0Smrg		basic_machine=hppa1.1-hp
7119027f4a0Smrg		;;
7129027f4a0Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7139027f4a0Smrg		basic_machine=hppa1.1-hp
7149027f4a0Smrg		;;
7159027f4a0Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7169027f4a0Smrg		basic_machine=hppa1.0-hp
7179027f4a0Smrg		;;
7189027f4a0Smrg	hppa-next)
7199027f4a0Smrg		os=-nextstep3
7209027f4a0Smrg		;;
7219027f4a0Smrg	hppaosf)
7229027f4a0Smrg		basic_machine=hppa1.1-hp
7239027f4a0Smrg		os=-osf
7249027f4a0Smrg		;;
7259027f4a0Smrg	hppro)
7269027f4a0Smrg		basic_machine=hppa1.1-hp
7279027f4a0Smrg		os=-proelf
7289027f4a0Smrg		;;
7299027f4a0Smrg	i370-ibm* | ibm*)
7309027f4a0Smrg		basic_machine=i370-ibm
7319027f4a0Smrg		;;
7329027f4a0Smrg	i*86v32)
7339027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7349027f4a0Smrg		os=-sysv32
7359027f4a0Smrg		;;
7369027f4a0Smrg	i*86v4*)
7379027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7389027f4a0Smrg		os=-sysv4
7399027f4a0Smrg		;;
7409027f4a0Smrg	i*86v)
7419027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7429027f4a0Smrg		os=-sysv
7439027f4a0Smrg		;;
7449027f4a0Smrg	i*86sol2)
7459027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7469027f4a0Smrg		os=-solaris2
7479027f4a0Smrg		;;
7489027f4a0Smrg	i386mach)
7499027f4a0Smrg		basic_machine=i386-mach
7509027f4a0Smrg		os=-mach
7519027f4a0Smrg		;;
7529027f4a0Smrg	i386-vsta | vsta)
7539027f4a0Smrg		basic_machine=i386-unknown
7549027f4a0Smrg		os=-vsta
7559027f4a0Smrg		;;
7569027f4a0Smrg	iris | iris4d)
7579027f4a0Smrg		basic_machine=mips-sgi
7589027f4a0Smrg		case $os in
7599027f4a0Smrg		    -irix*)
7609027f4a0Smrg			;;
7619027f4a0Smrg		    *)
7629027f4a0Smrg			os=-irix4
7639027f4a0Smrg			;;
7649027f4a0Smrg		esac
7659027f4a0Smrg		;;
7669027f4a0Smrg	isi68 | isi)
7679027f4a0Smrg		basic_machine=m68k-isi
7689027f4a0Smrg		os=-sysv
7699027f4a0Smrg		;;
7703a72f200Smrg	m68knommu)
7713a72f200Smrg		basic_machine=m68k-unknown
7723a72f200Smrg		os=-linux
7733a72f200Smrg		;;
7743a72f200Smrg	m68knommu-*)
7753a72f200Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7763a72f200Smrg		os=-linux
7773a72f200Smrg		;;
7789027f4a0Smrg	m88k-omron*)
7799027f4a0Smrg		basic_machine=m88k-omron
7809027f4a0Smrg		;;
7819027f4a0Smrg	magnum | m3230)
7829027f4a0Smrg		basic_machine=mips-mips
7839027f4a0Smrg		os=-sysv
7849027f4a0Smrg		;;
7859027f4a0Smrg	merlin)
7869027f4a0Smrg		basic_machine=ns32k-utek
7879027f4a0Smrg		os=-sysv
7889027f4a0Smrg		;;
789fe2ac8d7Smrg	microblaze*)
7903a72f200Smrg		basic_machine=microblaze-xilinx
7913a72f200Smrg		;;
792fe2ac8d7Smrg	mingw64)
793fe2ac8d7Smrg		basic_machine=x86_64-pc
794fe2ac8d7Smrg		os=-mingw64
795fe2ac8d7Smrg		;;
7969027f4a0Smrg	mingw32)
7979027f4a0Smrg		basic_machine=i386-pc
7989027f4a0Smrg		os=-mingw32
7999027f4a0Smrg		;;
8003a72f200Smrg	mingw32ce)
8013a72f200Smrg		basic_machine=arm-unknown
8023a72f200Smrg		os=-mingw32ce
8033a72f200Smrg		;;
8049027f4a0Smrg	miniframe)
8059027f4a0Smrg		basic_machine=m68000-convergent
8069027f4a0Smrg		;;
8079027f4a0Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
8089027f4a0Smrg		basic_machine=m68k-atari
8099027f4a0Smrg		os=-mint
8109027f4a0Smrg		;;
8119027f4a0Smrg	mips3*-*)
8129027f4a0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8139027f4a0Smrg		;;
8149027f4a0Smrg	mips3*)
8159027f4a0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8169027f4a0Smrg		;;
8179027f4a0Smrg	monitor)
8189027f4a0Smrg		basic_machine=m68k-rom68k
8199027f4a0Smrg		os=-coff
8209027f4a0Smrg		;;
8219027f4a0Smrg	morphos)
8229027f4a0Smrg		basic_machine=powerpc-unknown
8239027f4a0Smrg		os=-morphos
8249027f4a0Smrg		;;
8259027f4a0Smrg	msdos)
8269027f4a0Smrg		basic_machine=i386-pc
8279027f4a0Smrg		os=-msdos
8289027f4a0Smrg		;;
8299027f4a0Smrg	ms1-*)
8309027f4a0Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8319027f4a0Smrg		;;
832fe2ac8d7Smrg	msys)
833fe2ac8d7Smrg		basic_machine=i386-pc
834fe2ac8d7Smrg		os=-msys
835fe2ac8d7Smrg		;;
8369027f4a0Smrg	mvs)
8379027f4a0Smrg		basic_machine=i370-ibm
8389027f4a0Smrg		os=-mvs
8399027f4a0Smrg		;;
840fe2ac8d7Smrg	nacl)
841fe2ac8d7Smrg		basic_machine=le32-unknown
842fe2ac8d7Smrg		os=-nacl
843fe2ac8d7Smrg		;;
8449027f4a0Smrg	ncr3000)
8459027f4a0Smrg		basic_machine=i486-ncr
8469027f4a0Smrg		os=-sysv4
8479027f4a0Smrg		;;
8489027f4a0Smrg	netbsd386)
8499027f4a0Smrg		basic_machine=i386-unknown
8509027f4a0Smrg		os=-netbsd
8519027f4a0Smrg		;;
8529027f4a0Smrg	netwinder)
8539027f4a0Smrg		basic_machine=armv4l-rebel
8549027f4a0Smrg		os=-linux
8559027f4a0Smrg		;;
8569027f4a0Smrg	news | news700 | news800 | news900)
8579027f4a0Smrg		basic_machine=m68k-sony
8589027f4a0Smrg		os=-newsos
8599027f4a0Smrg		;;
8609027f4a0Smrg	news1000)
8619027f4a0Smrg		basic_machine=m68030-sony
8629027f4a0Smrg		os=-newsos
8639027f4a0Smrg		;;
8649027f4a0Smrg	news-3600 | risc-news)
8659027f4a0Smrg		basic_machine=mips-sony
8669027f4a0Smrg		os=-newsos
8679027f4a0Smrg		;;
8689027f4a0Smrg	necv70)
8699027f4a0Smrg		basic_machine=v70-nec
8709027f4a0Smrg		os=-sysv
8719027f4a0Smrg		;;
8729027f4a0Smrg	next | m*-next )
8739027f4a0Smrg		basic_machine=m68k-next
8749027f4a0Smrg		case $os in
8759027f4a0Smrg		    -nextstep* )
8769027f4a0Smrg			;;
8779027f4a0Smrg		    -ns2*)
8789027f4a0Smrg		      os=-nextstep2
8799027f4a0Smrg			;;
8809027f4a0Smrg		    *)
8819027f4a0Smrg		      os=-nextstep3
8829027f4a0Smrg			;;
8839027f4a0Smrg		esac
8849027f4a0Smrg		;;
8859027f4a0Smrg	nh3000)
8869027f4a0Smrg		basic_machine=m68k-harris
8879027f4a0Smrg		os=-cxux
8889027f4a0Smrg		;;
8899027f4a0Smrg	nh[45]000)
8909027f4a0Smrg		basic_machine=m88k-harris
8919027f4a0Smrg		os=-cxux
8929027f4a0Smrg		;;
8939027f4a0Smrg	nindy960)
8949027f4a0Smrg		basic_machine=i960-intel
8959027f4a0Smrg		os=-nindy
8969027f4a0Smrg		;;
8979027f4a0Smrg	mon960)
8989027f4a0Smrg		basic_machine=i960-intel
8999027f4a0Smrg		os=-mon960
9009027f4a0Smrg		;;
9019027f4a0Smrg	nonstopux)
9029027f4a0Smrg		basic_machine=mips-compaq
9039027f4a0Smrg		os=-nonstopux
9049027f4a0Smrg		;;
9059027f4a0Smrg	np1)
9069027f4a0Smrg		basic_machine=np1-gould
9079027f4a0Smrg		;;
908fe2ac8d7Smrg	neo-tandem)
9093a72f200Smrg		basic_machine=neo-tandem
9103a72f200Smrg		;;
911fe2ac8d7Smrg	nse-tandem)
9123a72f200Smrg		basic_machine=nse-tandem
9133a72f200Smrg		;;
9149027f4a0Smrg	nsr-tandem)
9159027f4a0Smrg		basic_machine=nsr-tandem
9169027f4a0Smrg		;;
9179027f4a0Smrg	op50n-* | op60c-*)
9189027f4a0Smrg		basic_machine=hppa1.1-oki
9199027f4a0Smrg		os=-proelf
9209027f4a0Smrg		;;
9219027f4a0Smrg	openrisc | openrisc-*)
9229027f4a0Smrg		basic_machine=or32-unknown
9239027f4a0Smrg		;;
9249027f4a0Smrg	os400)
9259027f4a0Smrg		basic_machine=powerpc-ibm
9269027f4a0Smrg		os=-os400
9279027f4a0Smrg		;;
9289027f4a0Smrg	OSE68000 | ose68000)
9299027f4a0Smrg		basic_machine=m68000-ericsson
9309027f4a0Smrg		os=-ose
9319027f4a0Smrg		;;
9329027f4a0Smrg	os68k)
9339027f4a0Smrg		basic_machine=m68k-none
9349027f4a0Smrg		os=-os68k
9359027f4a0Smrg		;;
9369027f4a0Smrg	pa-hitachi)
9379027f4a0Smrg		basic_machine=hppa1.1-hitachi
9389027f4a0Smrg		os=-hiuxwe2
9399027f4a0Smrg		;;
9409027f4a0Smrg	paragon)
9419027f4a0Smrg		basic_machine=i860-intel
9429027f4a0Smrg		os=-osf
9439027f4a0Smrg		;;
9443a72f200Smrg	parisc)
9453a72f200Smrg		basic_machine=hppa-unknown
9463a72f200Smrg		os=-linux
9473a72f200Smrg		;;
9483a72f200Smrg	parisc-*)
9493a72f200Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9503a72f200Smrg		os=-linux
9513a72f200Smrg		;;
9529027f4a0Smrg	pbd)
9539027f4a0Smrg		basic_machine=sparc-tti
9549027f4a0Smrg		;;
9559027f4a0Smrg	pbb)
9569027f4a0Smrg		basic_machine=m68k-tti
9579027f4a0Smrg		;;
9589027f4a0Smrg	pc532 | pc532-*)
9599027f4a0Smrg		basic_machine=ns32k-pc532
9609027f4a0Smrg		;;
9619027f4a0Smrg	pc98)
9629027f4a0Smrg		basic_machine=i386-pc
9639027f4a0Smrg		;;
9649027f4a0Smrg	pc98-*)
9659027f4a0Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9669027f4a0Smrg		;;
9679027f4a0Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9689027f4a0Smrg		basic_machine=i586-pc
9699027f4a0Smrg		;;
9709027f4a0Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9719027f4a0Smrg		basic_machine=i686-pc
9729027f4a0Smrg		;;
9739027f4a0Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9749027f4a0Smrg		basic_machine=i686-pc
9759027f4a0Smrg		;;
9769027f4a0Smrg	pentium4)
9779027f4a0Smrg		basic_machine=i786-pc
9789027f4a0Smrg		;;
9799027f4a0Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9809027f4a0Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9819027f4a0Smrg		;;
9829027f4a0Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9839027f4a0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9849027f4a0Smrg		;;
9859027f4a0Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9869027f4a0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9879027f4a0Smrg		;;
9889027f4a0Smrg	pentium4-*)
9899027f4a0Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9909027f4a0Smrg		;;
9919027f4a0Smrg	pn)
9929027f4a0Smrg		basic_machine=pn-gould
9939027f4a0Smrg		;;
9949027f4a0Smrg	power)	basic_machine=power-ibm
9959027f4a0Smrg		;;
996fe2ac8d7Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
9979027f4a0Smrg		;;
998fe2ac8d7Smrg	ppc-* | ppcbe-*)
999fe2ac8d7Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
10009027f4a0Smrg		;;
10019027f4a0Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
10029027f4a0Smrg		basic_machine=powerpcle-unknown
10039027f4a0Smrg		;;
10049027f4a0Smrg	ppcle-* | powerpclittle-*)
10059027f4a0Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
10069027f4a0Smrg		;;
10079027f4a0Smrg	ppc64)	basic_machine=powerpc64-unknown
10089027f4a0Smrg		;;
10099027f4a0Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
10109027f4a0Smrg		;;
10119027f4a0Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
10129027f4a0Smrg		basic_machine=powerpc64le-unknown
10139027f4a0Smrg		;;
10149027f4a0Smrg	ppc64le-* | powerpc64little-*)
10159027f4a0Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10169027f4a0Smrg		;;
10179027f4a0Smrg	ps2)
10189027f4a0Smrg		basic_machine=i386-ibm
10199027f4a0Smrg		;;
10209027f4a0Smrg	pw32)
10219027f4a0Smrg		basic_machine=i586-unknown
10229027f4a0Smrg		os=-pw32
10239027f4a0Smrg		;;
1024fe2ac8d7Smrg	rdos | rdos64)
1025fe2ac8d7Smrg		basic_machine=x86_64-pc
1026fe2ac8d7Smrg		os=-rdos
1027fe2ac8d7Smrg		;;
1028fe2ac8d7Smrg	rdos32)
10299027f4a0Smrg		basic_machine=i386-pc
10309027f4a0Smrg		os=-rdos
10319027f4a0Smrg		;;
10329027f4a0Smrg	rom68k)
10339027f4a0Smrg		basic_machine=m68k-rom68k
10349027f4a0Smrg		os=-coff
10359027f4a0Smrg		;;
10369027f4a0Smrg	rm[46]00)
10379027f4a0Smrg		basic_machine=mips-siemens
10389027f4a0Smrg		;;
10399027f4a0Smrg	rtpc | rtpc-*)
10409027f4a0Smrg		basic_machine=romp-ibm
10419027f4a0Smrg		;;
10429027f4a0Smrg	s390 | s390-*)
10439027f4a0Smrg		basic_machine=s390-ibm
10449027f4a0Smrg		;;
10459027f4a0Smrg	s390x | s390x-*)
10469027f4a0Smrg		basic_machine=s390x-ibm
10479027f4a0Smrg		;;
10489027f4a0Smrg	sa29200)
10499027f4a0Smrg		basic_machine=a29k-amd
10509027f4a0Smrg		os=-udi
10519027f4a0Smrg		;;
10529027f4a0Smrg	sb1)
10539027f4a0Smrg		basic_machine=mipsisa64sb1-unknown
10549027f4a0Smrg		;;
10559027f4a0Smrg	sb1el)
10569027f4a0Smrg		basic_machine=mipsisa64sb1el-unknown
10579027f4a0Smrg		;;
10589027f4a0Smrg	sde)
10599027f4a0Smrg		basic_machine=mipsisa32-sde
10609027f4a0Smrg		os=-elf
10619027f4a0Smrg		;;
10629027f4a0Smrg	sei)
10639027f4a0Smrg		basic_machine=mips-sei
10649027f4a0Smrg		os=-seiux
10659027f4a0Smrg		;;
10669027f4a0Smrg	sequent)
10679027f4a0Smrg		basic_machine=i386-sequent
10689027f4a0Smrg		;;
10699027f4a0Smrg	sh)
10709027f4a0Smrg		basic_machine=sh-hitachi
10719027f4a0Smrg		os=-hms
10729027f4a0Smrg		;;
10739027f4a0Smrg	sh5el)
10749027f4a0Smrg		basic_machine=sh5le-unknown
10759027f4a0Smrg		;;
10769027f4a0Smrg	sh64)
10779027f4a0Smrg		basic_machine=sh64-unknown
10789027f4a0Smrg		;;
10799027f4a0Smrg	sparclite-wrs | simso-wrs)
10809027f4a0Smrg		basic_machine=sparclite-wrs
10819027f4a0Smrg		os=-vxworks
10829027f4a0Smrg		;;
10839027f4a0Smrg	sps7)
10849027f4a0Smrg		basic_machine=m68k-bull
10859027f4a0Smrg		os=-sysv2
10869027f4a0Smrg		;;
10879027f4a0Smrg	spur)
10889027f4a0Smrg		basic_machine=spur-unknown
10899027f4a0Smrg		;;
10909027f4a0Smrg	st2000)
10919027f4a0Smrg		basic_machine=m68k-tandem
10929027f4a0Smrg		;;
10939027f4a0Smrg	stratus)
10949027f4a0Smrg		basic_machine=i860-stratus
10959027f4a0Smrg		os=-sysv4
10969027f4a0Smrg		;;
1097fe2ac8d7Smrg	strongarm-* | thumb-*)
1098fe2ac8d7Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1099fe2ac8d7Smrg		;;
11009027f4a0Smrg	sun2)
11019027f4a0Smrg		basic_machine=m68000-sun
11029027f4a0Smrg		;;
11039027f4a0Smrg	sun2os3)
11049027f4a0Smrg		basic_machine=m68000-sun
11059027f4a0Smrg		os=-sunos3
11069027f4a0Smrg		;;
11079027f4a0Smrg	sun2os4)
11089027f4a0Smrg		basic_machine=m68000-sun
11099027f4a0Smrg		os=-sunos4
11109027f4a0Smrg		;;
11119027f4a0Smrg	sun3os3)
11129027f4a0Smrg		basic_machine=m68k-sun
11139027f4a0Smrg		os=-sunos3
11149027f4a0Smrg		;;
11159027f4a0Smrg	sun3os4)
11169027f4a0Smrg		basic_machine=m68k-sun
11179027f4a0Smrg		os=-sunos4
11189027f4a0Smrg		;;
11199027f4a0Smrg	sun4os3)
11209027f4a0Smrg		basic_machine=sparc-sun
11219027f4a0Smrg		os=-sunos3
11229027f4a0Smrg		;;
11239027f4a0Smrg	sun4os4)
11249027f4a0Smrg		basic_machine=sparc-sun
11259027f4a0Smrg		os=-sunos4
11269027f4a0Smrg		;;
11279027f4a0Smrg	sun4sol2)
11289027f4a0Smrg		basic_machine=sparc-sun
11299027f4a0Smrg		os=-solaris2
11309027f4a0Smrg		;;
11319027f4a0Smrg	sun3 | sun3-*)
11329027f4a0Smrg		basic_machine=m68k-sun
11339027f4a0Smrg		;;
11349027f4a0Smrg	sun4)
11359027f4a0Smrg		basic_machine=sparc-sun
11369027f4a0Smrg		;;
11379027f4a0Smrg	sun386 | sun386i | roadrunner)
11389027f4a0Smrg		basic_machine=i386-sun
11399027f4a0Smrg		;;
11409027f4a0Smrg	sv1)
11419027f4a0Smrg		basic_machine=sv1-cray
11429027f4a0Smrg		os=-unicos
11439027f4a0Smrg		;;
11449027f4a0Smrg	symmetry)
11459027f4a0Smrg		basic_machine=i386-sequent
11469027f4a0Smrg		os=-dynix
11479027f4a0Smrg		;;
11489027f4a0Smrg	t3e)
11499027f4a0Smrg		basic_machine=alphaev5-cray
11509027f4a0Smrg		os=-unicos
11519027f4a0Smrg		;;
11529027f4a0Smrg	t90)
11539027f4a0Smrg		basic_machine=t90-cray
11549027f4a0Smrg		os=-unicos
11559027f4a0Smrg		;;
11563a72f200Smrg	tile*)
1157fe2ac8d7Smrg		basic_machine=$basic_machine-unknown
11583a72f200Smrg		os=-linux-gnu
11599027f4a0Smrg		;;
11609027f4a0Smrg	tx39)
11619027f4a0Smrg		basic_machine=mipstx39-unknown
11629027f4a0Smrg		;;
11639027f4a0Smrg	tx39el)
11649027f4a0Smrg		basic_machine=mipstx39el-unknown
11659027f4a0Smrg		;;
11669027f4a0Smrg	toad1)
11679027f4a0Smrg		basic_machine=pdp10-xkl
11689027f4a0Smrg		os=-tops20
11699027f4a0Smrg		;;
11709027f4a0Smrg	tower | tower-32)
11719027f4a0Smrg		basic_machine=m68k-ncr
11729027f4a0Smrg		;;
11739027f4a0Smrg	tpf)
11749027f4a0Smrg		basic_machine=s390x-ibm
11759027f4a0Smrg		os=-tpf
11769027f4a0Smrg		;;
11779027f4a0Smrg	udi29k)
11789027f4a0Smrg		basic_machine=a29k-amd
11799027f4a0Smrg		os=-udi
11809027f4a0Smrg		;;
11819027f4a0Smrg	ultra3)
11829027f4a0Smrg		basic_machine=a29k-nyu
11839027f4a0Smrg		os=-sym1
11849027f4a0Smrg		;;
11859027f4a0Smrg	v810 | necv810)
11869027f4a0Smrg		basic_machine=v810-nec
11879027f4a0Smrg		os=-none
11889027f4a0Smrg		;;
11899027f4a0Smrg	vaxv)
11909027f4a0Smrg		basic_machine=vax-dec
11919027f4a0Smrg		os=-sysv
11929027f4a0Smrg		;;
11939027f4a0Smrg	vms)
11949027f4a0Smrg		basic_machine=vax-dec
11959027f4a0Smrg		os=-vms
11969027f4a0Smrg		;;
11979027f4a0Smrg	vpp*|vx|vx-*)
11989027f4a0Smrg		basic_machine=f301-fujitsu
11999027f4a0Smrg		;;
12009027f4a0Smrg	vxworks960)
12019027f4a0Smrg		basic_machine=i960-wrs
12029027f4a0Smrg		os=-vxworks
12039027f4a0Smrg		;;
12049027f4a0Smrg	vxworks68)
12059027f4a0Smrg		basic_machine=m68k-wrs
12069027f4a0Smrg		os=-vxworks
12079027f4a0Smrg		;;
12089027f4a0Smrg	vxworks29k)
12099027f4a0Smrg		basic_machine=a29k-wrs
12109027f4a0Smrg		os=-vxworks
12119027f4a0Smrg		;;
12129027f4a0Smrg	w65*)
12139027f4a0Smrg		basic_machine=w65-wdc
12149027f4a0Smrg		os=-none
12159027f4a0Smrg		;;
12169027f4a0Smrg	w89k-*)
12179027f4a0Smrg		basic_machine=hppa1.1-winbond
12189027f4a0Smrg		os=-proelf
12199027f4a0Smrg		;;
12209027f4a0Smrg	xbox)
12219027f4a0Smrg		basic_machine=i686-pc
12229027f4a0Smrg		os=-mingw32
12239027f4a0Smrg		;;
12249027f4a0Smrg	xps | xps100)
12259027f4a0Smrg		basic_machine=xps100-honeywell
12269027f4a0Smrg		;;
1227fe2ac8d7Smrg	xscale-* | xscalee[bl]-*)
1228fe2ac8d7Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1229fe2ac8d7Smrg		;;
12309027f4a0Smrg	ymp)
12319027f4a0Smrg		basic_machine=ymp-cray
12329027f4a0Smrg		os=-unicos
12339027f4a0Smrg		;;
12349027f4a0Smrg	z8k-*-coff)
12359027f4a0Smrg		basic_machine=z8k-unknown
12369027f4a0Smrg		os=-sim
12379027f4a0Smrg		;;
12383a72f200Smrg	z80-*-coff)
12393a72f200Smrg		basic_machine=z80-unknown
12403a72f200Smrg		os=-sim
12413a72f200Smrg		;;
12429027f4a0Smrg	none)
12439027f4a0Smrg		basic_machine=none-none
12449027f4a0Smrg		os=-none
12459027f4a0Smrg		;;
12469027f4a0Smrg
12479027f4a0Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12489027f4a0Smrg# some cases the only manufacturer, in others, it is the most popular.
12499027f4a0Smrg	w89k)
12509027f4a0Smrg		basic_machine=hppa1.1-winbond
12519027f4a0Smrg		;;
12529027f4a0Smrg	op50n)
12539027f4a0Smrg		basic_machine=hppa1.1-oki
12549027f4a0Smrg		;;
12559027f4a0Smrg	op60c)
12569027f4a0Smrg		basic_machine=hppa1.1-oki
12579027f4a0Smrg		;;
12589027f4a0Smrg	romp)
12599027f4a0Smrg		basic_machine=romp-ibm
12609027f4a0Smrg		;;
12619027f4a0Smrg	mmix)
12629027f4a0Smrg		basic_machine=mmix-knuth
12639027f4a0Smrg		;;
12649027f4a0Smrg	rs6000)
12659027f4a0Smrg		basic_machine=rs6000-ibm
12669027f4a0Smrg		;;
12679027f4a0Smrg	vax)
12689027f4a0Smrg		basic_machine=vax-dec
12699027f4a0Smrg		;;
12709027f4a0Smrg	pdp10)
12719027f4a0Smrg		# there are many clones, so DEC is not a safe bet
12729027f4a0Smrg		basic_machine=pdp10-unknown
12739027f4a0Smrg		;;
12749027f4a0Smrg	pdp11)
12759027f4a0Smrg		basic_machine=pdp11-dec
12769027f4a0Smrg		;;
12779027f4a0Smrg	we32k)
12789027f4a0Smrg		basic_machine=we32k-att
12799027f4a0Smrg		;;
12803a72f200Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12819027f4a0Smrg		basic_machine=sh-unknown
12829027f4a0Smrg		;;
12839027f4a0Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12849027f4a0Smrg		basic_machine=sparc-sun
12859027f4a0Smrg		;;
12869027f4a0Smrg	cydra)
12879027f4a0Smrg		basic_machine=cydra-cydrome
12889027f4a0Smrg		;;
12899027f4a0Smrg	orion)
12909027f4a0Smrg		basic_machine=orion-highlevel
12919027f4a0Smrg		;;
12929027f4a0Smrg	orion105)
12939027f4a0Smrg		basic_machine=clipper-highlevel
12949027f4a0Smrg		;;
12959027f4a0Smrg	mac | mpw | mac-mpw)
12969027f4a0Smrg		basic_machine=m68k-apple
12979027f4a0Smrg		;;
12989027f4a0Smrg	pmac | pmac-mpw)
12999027f4a0Smrg		basic_machine=powerpc-apple
13009027f4a0Smrg		;;
13019027f4a0Smrg	*-unknown)
13029027f4a0Smrg		# Make sure to match an already-canonicalized machine name.
13039027f4a0Smrg		;;
13049027f4a0Smrg	*)
13059027f4a0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
13069027f4a0Smrg		exit 1
13079027f4a0Smrg		;;
13089027f4a0Smrgesac
13099027f4a0Smrg
13109027f4a0Smrg# Here we canonicalize certain aliases for manufacturers.
13119027f4a0Smrgcase $basic_machine in
13129027f4a0Smrg	*-digital*)
13139027f4a0Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
13149027f4a0Smrg		;;
13159027f4a0Smrg	*-commodore*)
13169027f4a0Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13179027f4a0Smrg		;;
13189027f4a0Smrg	*)
13199027f4a0Smrg		;;
13209027f4a0Smrgesac
13219027f4a0Smrg
13229027f4a0Smrg# Decode manufacturer-specific aliases for certain operating systems.
13239027f4a0Smrg
13249027f4a0Smrgif [ x"$os" != x"" ]
13259027f4a0Smrgthen
13269027f4a0Smrgcase $os in
1327fe2ac8d7Smrg	# First match some system type aliases
1328fe2ac8d7Smrg	# that might get confused with valid system types.
13299027f4a0Smrg	# -solaris* is a basic system type, with this one exception.
1330fe2ac8d7Smrg	-auroraux)
1331fe2ac8d7Smrg		os=-auroraux
13323a72f200Smrg		;;
13339027f4a0Smrg	-solaris1 | -solaris1.*)
13349027f4a0Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13359027f4a0Smrg		;;
13369027f4a0Smrg	-solaris)
13379027f4a0Smrg		os=-solaris2
13389027f4a0Smrg		;;
13399027f4a0Smrg	-svr4*)
13409027f4a0Smrg		os=-sysv4
13419027f4a0Smrg		;;
13429027f4a0Smrg	-unixware*)
13439027f4a0Smrg		os=-sysv4.2uw
13449027f4a0Smrg		;;
13459027f4a0Smrg	-gnu/linux*)
13469027f4a0Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13479027f4a0Smrg		;;
13489027f4a0Smrg	# First accept the basic system types.
13499027f4a0Smrg	# The portable systems comes first.
13509027f4a0Smrg	# Each alternative MUST END IN A *, to match a version number.
13519027f4a0Smrg	# -sysv* is not here because it comes later, after sysvr4.
13529027f4a0Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13533a72f200Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13543a72f200Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1355fe2ac8d7Smrg	      | -sym* | -kopensolaris* | -plan9* \
13569027f4a0Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13573a72f200Smrg	      | -aos* | -aros* \
13589027f4a0Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13599027f4a0Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13609027f4a0Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1361fe2ac8d7Smrg	      | -bitrig* | -openbsd* | -solidbsd* \
13629027f4a0Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13639027f4a0Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13649027f4a0Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13659027f4a0Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13663a72f200Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1367fe2ac8d7Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1368fe2ac8d7Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1369fe2ac8d7Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
13709027f4a0Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13719027f4a0Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13729027f4a0Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13739027f4a0Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13749027f4a0Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13759027f4a0Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13769027f4a0Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13773a72f200Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13789027f4a0Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13799027f4a0Smrg		;;
13809027f4a0Smrg	-qnx*)
13819027f4a0Smrg		case $basic_machine in
13829027f4a0Smrg		    x86-* | i*86-*)
13839027f4a0Smrg			;;
13849027f4a0Smrg		    *)
13859027f4a0Smrg			os=-nto$os
13869027f4a0Smrg			;;
13879027f4a0Smrg		esac
13889027f4a0Smrg		;;
13899027f4a0Smrg	-nto-qnx*)
13909027f4a0Smrg		;;
13919027f4a0Smrg	-nto*)
13929027f4a0Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13939027f4a0Smrg		;;
13949027f4a0Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13959027f4a0Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13969027f4a0Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13979027f4a0Smrg		;;
13989027f4a0Smrg	-mac*)
13999027f4a0Smrg		os=`echo $os | sed -e 's|mac|macos|'`
14009027f4a0Smrg		;;
14019027f4a0Smrg	-linux-dietlibc)
14029027f4a0Smrg		os=-linux-dietlibc
14039027f4a0Smrg		;;
14049027f4a0Smrg	-linux*)
14059027f4a0Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
14069027f4a0Smrg		;;
14079027f4a0Smrg	-sunos5*)
14089027f4a0Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
14099027f4a0Smrg		;;
14109027f4a0Smrg	-sunos6*)
14119027f4a0Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
14129027f4a0Smrg		;;
14139027f4a0Smrg	-opened*)
14149027f4a0Smrg		os=-openedition
14159027f4a0Smrg		;;
1416fe2ac8d7Smrg	-os400*)
14179027f4a0Smrg		os=-os400
14189027f4a0Smrg		;;
14199027f4a0Smrg	-wince*)
14209027f4a0Smrg		os=-wince
14219027f4a0Smrg		;;
14229027f4a0Smrg	-osfrose*)
14239027f4a0Smrg		os=-osfrose
14249027f4a0Smrg		;;
14259027f4a0Smrg	-osf*)
14269027f4a0Smrg		os=-osf
14279027f4a0Smrg		;;
14289027f4a0Smrg	-utek*)
14299027f4a0Smrg		os=-bsd
14309027f4a0Smrg		;;
14319027f4a0Smrg	-dynix*)
14329027f4a0Smrg		os=-bsd
14339027f4a0Smrg		;;
14349027f4a0Smrg	-acis*)
14359027f4a0Smrg		os=-aos
14369027f4a0Smrg		;;
14379027f4a0Smrg	-atheos*)
14389027f4a0Smrg		os=-atheos
14399027f4a0Smrg		;;
14409027f4a0Smrg	-syllable*)
14419027f4a0Smrg		os=-syllable
14429027f4a0Smrg		;;
14439027f4a0Smrg	-386bsd)
14449027f4a0Smrg		os=-bsd
14459027f4a0Smrg		;;
14469027f4a0Smrg	-ctix* | -uts*)
14479027f4a0Smrg		os=-sysv
14489027f4a0Smrg		;;
14499027f4a0Smrg	-nova*)
14509027f4a0Smrg		os=-rtmk-nova
14519027f4a0Smrg		;;
14529027f4a0Smrg	-ns2 )
14539027f4a0Smrg		os=-nextstep2
14549027f4a0Smrg		;;
14559027f4a0Smrg	-nsk*)
14569027f4a0Smrg		os=-nsk
14579027f4a0Smrg		;;
14589027f4a0Smrg	# Preserve the version number of sinix5.
14599027f4a0Smrg	-sinix5.*)
14609027f4a0Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14619027f4a0Smrg		;;
14629027f4a0Smrg	-sinix*)
14639027f4a0Smrg		os=-sysv4
14649027f4a0Smrg		;;
1465fe2ac8d7Smrg	-tpf*)
14669027f4a0Smrg		os=-tpf
14679027f4a0Smrg		;;
14689027f4a0Smrg	-triton*)
14699027f4a0Smrg		os=-sysv3
14709027f4a0Smrg		;;
14719027f4a0Smrg	-oss*)
14729027f4a0Smrg		os=-sysv3
14739027f4a0Smrg		;;
14749027f4a0Smrg	-svr4)
14759027f4a0Smrg		os=-sysv4
14769027f4a0Smrg		;;
14779027f4a0Smrg	-svr3)
14789027f4a0Smrg		os=-sysv3
14799027f4a0Smrg		;;
14809027f4a0Smrg	-sysvr4)
14819027f4a0Smrg		os=-sysv4
14829027f4a0Smrg		;;
14839027f4a0Smrg	# This must come after -sysvr4.
14849027f4a0Smrg	-sysv*)
14859027f4a0Smrg		;;
14869027f4a0Smrg	-ose*)
14879027f4a0Smrg		os=-ose
14889027f4a0Smrg		;;
14899027f4a0Smrg	-es1800*)
14909027f4a0Smrg		os=-ose
14919027f4a0Smrg		;;
14929027f4a0Smrg	-xenix)
14939027f4a0Smrg		os=-xenix
14949027f4a0Smrg		;;
14959027f4a0Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14969027f4a0Smrg		os=-mint
14979027f4a0Smrg		;;
14989027f4a0Smrg	-aros*)
14999027f4a0Smrg		os=-aros
15009027f4a0Smrg		;;
15019027f4a0Smrg	-zvmoe)
15029027f4a0Smrg		os=-zvmoe
15039027f4a0Smrg		;;
15043a72f200Smrg	-dicos*)
15053a72f200Smrg		os=-dicos
15063a72f200Smrg		;;
1507fe2ac8d7Smrg	-nacl*)
1508fe2ac8d7Smrg		;;
15099027f4a0Smrg	-none)
15109027f4a0Smrg		;;
15119027f4a0Smrg	*)
15129027f4a0Smrg		# Get rid of the `-' at the beginning of $os.
15139027f4a0Smrg		os=`echo $os | sed 's/[^-]*-//'`
15149027f4a0Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15159027f4a0Smrg		exit 1
15169027f4a0Smrg		;;
15179027f4a0Smrgesac
15189027f4a0Smrgelse
15199027f4a0Smrg
15209027f4a0Smrg# Here we handle the default operating systems that come with various machines.
15219027f4a0Smrg# The value should be what the vendor currently ships out the door with their
15229027f4a0Smrg# machine or put another way, the most popular os provided with the machine.
15239027f4a0Smrg
15249027f4a0Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15259027f4a0Smrg# "-sun"), then you have to tell the case statement up towards the top
15269027f4a0Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15279027f4a0Smrg# will signal an error saying that MANUFACTURER isn't an operating
15289027f4a0Smrg# system, and we'll never get to this point.
15299027f4a0Smrg
15309027f4a0Smrgcase $basic_machine in
1531fe2ac8d7Smrg	score-*)
15329027f4a0Smrg		os=-elf
15339027f4a0Smrg		;;
1534fe2ac8d7Smrg	spu-*)
15359027f4a0Smrg		os=-elf
15369027f4a0Smrg		;;
15379027f4a0Smrg	*-acorn)
15389027f4a0Smrg		os=-riscix1.2
15399027f4a0Smrg		;;
15409027f4a0Smrg	arm*-rebel)
15419027f4a0Smrg		os=-linux
15429027f4a0Smrg		;;
15439027f4a0Smrg	arm*-semi)
15449027f4a0Smrg		os=-aout
15459027f4a0Smrg		;;
1546fe2ac8d7Smrg	c4x-* | tic4x-*)
1547fe2ac8d7Smrg		os=-coff
1548fe2ac8d7Smrg		;;
1549fe2ac8d7Smrg	hexagon-*)
1550fe2ac8d7Smrg		os=-elf
15519027f4a0Smrg		;;
15523a72f200Smrg	tic54x-*)
15533a72f200Smrg		os=-coff
15543a72f200Smrg		;;
15553a72f200Smrg	tic55x-*)
15563a72f200Smrg		os=-coff
15573a72f200Smrg		;;
15583a72f200Smrg	tic6x-*)
15593a72f200Smrg		os=-coff
15603a72f200Smrg		;;
15619027f4a0Smrg	# This must come before the *-dec entry.
15629027f4a0Smrg	pdp10-*)
15639027f4a0Smrg		os=-tops20
15649027f4a0Smrg		;;
15659027f4a0Smrg	pdp11-*)
15669027f4a0Smrg		os=-none
15679027f4a0Smrg		;;
15689027f4a0Smrg	*-dec | vax-*)
15699027f4a0Smrg		os=-ultrix4.2
15709027f4a0Smrg		;;
15719027f4a0Smrg	m68*-apollo)
15729027f4a0Smrg		os=-domain
15739027f4a0Smrg		;;
15749027f4a0Smrg	i386-sun)
15759027f4a0Smrg		os=-sunos4.0.2
15769027f4a0Smrg		;;
15779027f4a0Smrg	m68000-sun)
15789027f4a0Smrg		os=-sunos3
15799027f4a0Smrg		;;
15809027f4a0Smrg	m68*-cisco)
15819027f4a0Smrg		os=-aout
15829027f4a0Smrg		;;
1583fe2ac8d7Smrg	mep-*)
15843a72f200Smrg		os=-elf
15853a72f200Smrg		;;
15869027f4a0Smrg	mips*-cisco)
15879027f4a0Smrg		os=-elf
15889027f4a0Smrg		;;
15899027f4a0Smrg	mips*-*)
15909027f4a0Smrg		os=-elf
15919027f4a0Smrg		;;
1592fe2ac8d7Smrg	or1k-*)
1593fe2ac8d7Smrg		os=-elf
1594fe2ac8d7Smrg		;;
15959027f4a0Smrg	or32-*)
15969027f4a0Smrg		os=-coff
15979027f4a0Smrg		;;
15989027f4a0Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15999027f4a0Smrg		os=-sysv3
16009027f4a0Smrg		;;
16019027f4a0Smrg	sparc-* | *-sun)
16029027f4a0Smrg		os=-sunos4.1.1
16039027f4a0Smrg		;;
16049027f4a0Smrg	*-be)
16059027f4a0Smrg		os=-beos
16069027f4a0Smrg		;;
16079027f4a0Smrg	*-haiku)
16089027f4a0Smrg		os=-haiku
16099027f4a0Smrg		;;
16109027f4a0Smrg	*-ibm)
16119027f4a0Smrg		os=-aix
16129027f4a0Smrg		;;
1613fe2ac8d7Smrg	*-knuth)
16149027f4a0Smrg		os=-mmixware
16159027f4a0Smrg		;;
16169027f4a0Smrg	*-wec)
16179027f4a0Smrg		os=-proelf
16189027f4a0Smrg		;;
16199027f4a0Smrg	*-winbond)
16209027f4a0Smrg		os=-proelf
16219027f4a0Smrg		;;
16229027f4a0Smrg	*-oki)
16239027f4a0Smrg		os=-proelf
16249027f4a0Smrg		;;
16259027f4a0Smrg	*-hp)
16269027f4a0Smrg		os=-hpux
16279027f4a0Smrg		;;
16289027f4a0Smrg	*-hitachi)
16299027f4a0Smrg		os=-hiux
16309027f4a0Smrg		;;
16319027f4a0Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16329027f4a0Smrg		os=-sysv
16339027f4a0Smrg		;;
16349027f4a0Smrg	*-cbm)
16359027f4a0Smrg		os=-amigaos
16369027f4a0Smrg		;;
16379027f4a0Smrg	*-dg)
16389027f4a0Smrg		os=-dgux
16399027f4a0Smrg		;;
16409027f4a0Smrg	*-dolphin)
16419027f4a0Smrg		os=-sysv3
16429027f4a0Smrg		;;
16439027f4a0Smrg	m68k-ccur)
16449027f4a0Smrg		os=-rtu
16459027f4a0Smrg		;;
16469027f4a0Smrg	m88k-omron*)
16479027f4a0Smrg		os=-luna
16489027f4a0Smrg		;;
16499027f4a0Smrg	*-next )
16509027f4a0Smrg		os=-nextstep
16519027f4a0Smrg		;;
16529027f4a0Smrg	*-sequent)
16539027f4a0Smrg		os=-ptx
16549027f4a0Smrg		;;
16559027f4a0Smrg	*-crds)
16569027f4a0Smrg		os=-unos
16579027f4a0Smrg		;;
16589027f4a0Smrg	*-ns)
16599027f4a0Smrg		os=-genix
16609027f4a0Smrg		;;
16619027f4a0Smrg	i370-*)
16629027f4a0Smrg		os=-mvs
16639027f4a0Smrg		;;
16649027f4a0Smrg	*-next)
16659027f4a0Smrg		os=-nextstep3
16669027f4a0Smrg		;;
16679027f4a0Smrg	*-gould)
16689027f4a0Smrg		os=-sysv
16699027f4a0Smrg		;;
16709027f4a0Smrg	*-highlevel)
16719027f4a0Smrg		os=-bsd
16729027f4a0Smrg		;;
16739027f4a0Smrg	*-encore)
16749027f4a0Smrg		os=-bsd
16759027f4a0Smrg		;;
16769027f4a0Smrg	*-sgi)
16779027f4a0Smrg		os=-irix
16789027f4a0Smrg		;;
16799027f4a0Smrg	*-siemens)
16809027f4a0Smrg		os=-sysv4
16819027f4a0Smrg		;;
16829027f4a0Smrg	*-masscomp)
16839027f4a0Smrg		os=-rtu
16849027f4a0Smrg		;;
16859027f4a0Smrg	f30[01]-fujitsu | f700-fujitsu)
16869027f4a0Smrg		os=-uxpv
16879027f4a0Smrg		;;
16889027f4a0Smrg	*-rom68k)
16899027f4a0Smrg		os=-coff
16909027f4a0Smrg		;;
16919027f4a0Smrg	*-*bug)
16929027f4a0Smrg		os=-coff
16939027f4a0Smrg		;;
16949027f4a0Smrg	*-apple)
16959027f4a0Smrg		os=-macos
16969027f4a0Smrg		;;
16979027f4a0Smrg	*-atari*)
16989027f4a0Smrg		os=-mint
16999027f4a0Smrg		;;
17009027f4a0Smrg	*)
17019027f4a0Smrg		os=-none
17029027f4a0Smrg		;;
17039027f4a0Smrgesac
17049027f4a0Smrgfi
17059027f4a0Smrg
17069027f4a0Smrg# Here we handle the case where we know the os, and the CPU type, but not the
17079027f4a0Smrg# manufacturer.  We pick the logical manufacturer.
17089027f4a0Smrgvendor=unknown
17099027f4a0Smrgcase $basic_machine in
17109027f4a0Smrg	*-unknown)
17119027f4a0Smrg		case $os in
17129027f4a0Smrg			-riscix*)
17139027f4a0Smrg				vendor=acorn
17149027f4a0Smrg				;;
17159027f4a0Smrg			-sunos*)
17169027f4a0Smrg				vendor=sun
17179027f4a0Smrg				;;
17183a72f200Smrg			-cnk*|-aix*)
17199027f4a0Smrg				vendor=ibm
17209027f4a0Smrg				;;
17219027f4a0Smrg			-beos*)
17229027f4a0Smrg				vendor=be
17239027f4a0Smrg				;;
17249027f4a0Smrg			-hpux*)
17259027f4a0Smrg				vendor=hp
17269027f4a0Smrg				;;
17279027f4a0Smrg			-mpeix*)
17289027f4a0Smrg				vendor=hp
17299027f4a0Smrg				;;
17309027f4a0Smrg			-hiux*)
17319027f4a0Smrg				vendor=hitachi
17329027f4a0Smrg				;;
17339027f4a0Smrg			-unos*)
17349027f4a0Smrg				vendor=crds
17359027f4a0Smrg				;;
17369027f4a0Smrg			-dgux*)
17379027f4a0Smrg				vendor=dg
17389027f4a0Smrg				;;
17399027f4a0Smrg			-luna*)
17409027f4a0Smrg				vendor=omron
17419027f4a0Smrg				;;
17429027f4a0Smrg			-genix*)
17439027f4a0Smrg				vendor=ns
17449027f4a0Smrg				;;
17459027f4a0Smrg			-mvs* | -opened*)
17469027f4a0Smrg				vendor=ibm
17479027f4a0Smrg				;;
17489027f4a0Smrg			-os400*)
17499027f4a0Smrg				vendor=ibm
17509027f4a0Smrg				;;
17519027f4a0Smrg			-ptx*)
17529027f4a0Smrg				vendor=sequent
17539027f4a0Smrg				;;
17549027f4a0Smrg			-tpf*)
17559027f4a0Smrg				vendor=ibm
17569027f4a0Smrg				;;
17579027f4a0Smrg			-vxsim* | -vxworks* | -windiss*)
17589027f4a0Smrg				vendor=wrs
17599027f4a0Smrg				;;
17609027f4a0Smrg			-aux*)
17619027f4a0Smrg				vendor=apple
17629027f4a0Smrg				;;
17639027f4a0Smrg			-hms*)
17649027f4a0Smrg				vendor=hitachi
17659027f4a0Smrg				;;
17669027f4a0Smrg			-mpw* | -macos*)
17679027f4a0Smrg				vendor=apple
17689027f4a0Smrg				;;
17699027f4a0Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17709027f4a0Smrg				vendor=atari
17719027f4a0Smrg				;;
17729027f4a0Smrg			-vos*)
17739027f4a0Smrg				vendor=stratus
17749027f4a0Smrg				;;
17759027f4a0Smrg		esac
17769027f4a0Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17779027f4a0Smrg		;;
17789027f4a0Smrgesac
17799027f4a0Smrg
17809027f4a0Smrgecho $basic_machine$os
17819027f4a0Smrgexit
17829027f4a0Smrg
17839027f4a0Smrg# Local variables:
17849027f4a0Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17859027f4a0Smrg# time-stamp-start: "timestamp='"
17869027f4a0Smrg# time-stamp-format: "%:y-%02m-%02d"
17879027f4a0Smrg# time-stamp-end: "'"
17889027f4a0Smrg# End:
1789