config.sub revision b3078add
15c10afb9Smrg#! /bin/sh
25c10afb9Smrg# Configuration validation subroutine script.
35c10afb9Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4b3078addSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5b3078addSmrg#   Free Software Foundation, Inc.
65c10afb9Smrg
7b3078addSmrgtimestamp='2010-09-11'
85c10afb9Smrg
95c10afb9Smrg# This file is (in principle) common to ALL GNU software.
105c10afb9Smrg# The presence of a machine in this file suggests that SOME GNU software
115c10afb9Smrg# can handle that machine.  It does not imply ALL GNU software can.
125c10afb9Smrg#
135c10afb9Smrg# This file is free software; you can redistribute it and/or modify
145c10afb9Smrg# it under the terms of the GNU General Public License as published by
155c10afb9Smrg# the Free Software Foundation; either version 2 of the License, or
165c10afb9Smrg# (at your option) any later version.
175c10afb9Smrg#
185c10afb9Smrg# This program is distributed in the hope that it will be useful,
195c10afb9Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
205c10afb9Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
215c10afb9Smrg# GNU General Public License for more details.
225c10afb9Smrg#
235c10afb9Smrg# You should have received a copy of the GNU General Public License
245c10afb9Smrg# along with this program; if not, write to the Free Software
25b3078addSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26b3078addSmrg# 02110-1301, USA.
27b3078addSmrg#
285c10afb9Smrg# As a special exception to the GNU General Public License, if you
295c10afb9Smrg# distribute this file as part of a program that contains a
305c10afb9Smrg# configuration script generated by Autoconf, you may include it under
315c10afb9Smrg# the same distribution terms that you use for the rest of that program.
325c10afb9Smrg
33b3078addSmrg
345c10afb9Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35b3078addSmrg# diff and a properly formatted GNU ChangeLog entry.
365c10afb9Smrg#
375c10afb9Smrg# Configuration subroutine to validate and canonicalize a configuration type.
385c10afb9Smrg# Supply the specified configuration type as an argument.
395c10afb9Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
405c10afb9Smrg# Otherwise, we print the canonical config type on stdout and succeed.
415c10afb9Smrg
42b3078addSmrg# You can get the latest version of this script from:
43b3078addSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44b3078addSmrg
455c10afb9Smrg# This file is supposed to be the same for all GNU packages
465c10afb9Smrg# and recognize all the CPU types, system types and aliases
475c10afb9Smrg# that are meaningful with *any* GNU software.
485c10afb9Smrg# Each package is responsible for reporting which valid configurations
495c10afb9Smrg# it does not support.  The user should be able to distinguish
505c10afb9Smrg# a failure to support a valid configuration from a meaningless
515c10afb9Smrg# configuration.
525c10afb9Smrg
535c10afb9Smrg# The goal of this file is to map all the various variations of a given
545c10afb9Smrg# machine specification into a single specification in the form:
555c10afb9Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
565c10afb9Smrg# or in some cases, the newer four-part form:
575c10afb9Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
585c10afb9Smrg# It is wrong to echo any other type of specification.
595c10afb9Smrg
605c10afb9Smrgme=`echo "$0" | sed -e 's,.*/,,'`
615c10afb9Smrg
625c10afb9Smrgusage="\
635c10afb9SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
645c10afb9Smrg       $0 [OPTION] ALIAS
655c10afb9Smrg
665c10afb9SmrgCanonicalize a configuration name.
675c10afb9Smrg
685c10afb9SmrgOperation modes:
695c10afb9Smrg  -h, --help         print this help, then exit
705c10afb9Smrg  -t, --time-stamp   print date of last modification, then exit
715c10afb9Smrg  -v, --version      print version number, then exit
725c10afb9Smrg
735c10afb9SmrgReport bugs and patches to <config-patches@gnu.org>."
745c10afb9Smrg
755c10afb9Smrgversion="\
765c10afb9SmrgGNU config.sub ($timestamp)
775c10afb9Smrg
78b3078addSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79b3078addSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80b3078addSmrgSoftware Foundation, Inc.
815c10afb9Smrg
825c10afb9SmrgThis is free software; see the source for copying conditions.  There is NO
835c10afb9Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
845c10afb9Smrg
855c10afb9Smrghelp="
865c10afb9SmrgTry \`$me --help' for more information."
875c10afb9Smrg
885c10afb9Smrg# Parse command line
895c10afb9Smrgwhile test $# -gt 0 ; do
905c10afb9Smrg  case $1 in
915c10afb9Smrg    --time-stamp | --time* | -t )
92b3078addSmrg       echo "$timestamp" ; exit ;;
935c10afb9Smrg    --version | -v )
94b3078addSmrg       echo "$version" ; exit ;;
955c10afb9Smrg    --help | --h* | -h )
96b3078addSmrg       echo "$usage"; exit ;;
975c10afb9Smrg    -- )     # Stop option processing
985c10afb9Smrg       shift; break ;;
995c10afb9Smrg    - )	# Use stdin as input.
1005c10afb9Smrg       break ;;
1015c10afb9Smrg    -* )
1025c10afb9Smrg       echo "$me: invalid option $1$help"
1035c10afb9Smrg       exit 1 ;;
1045c10afb9Smrg
1055c10afb9Smrg    *local*)
1065c10afb9Smrg       # First pass through any local machine types.
1075c10afb9Smrg       echo $1
108b3078addSmrg       exit ;;
1095c10afb9Smrg
1105c10afb9Smrg    * )
1115c10afb9Smrg       break ;;
1125c10afb9Smrg  esac
1135c10afb9Smrgdone
1145c10afb9Smrg
1155c10afb9Smrgcase $# in
1165c10afb9Smrg 0) echo "$me: missing argument$help" >&2
1175c10afb9Smrg    exit 1;;
1185c10afb9Smrg 1) ;;
1195c10afb9Smrg *) echo "$me: too many arguments$help" >&2
1205c10afb9Smrg    exit 1;;
1215c10afb9Smrgesac
1225c10afb9Smrg
1235c10afb9Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1245c10afb9Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1255c10afb9Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1265c10afb9Smrgcase $maybe_os in
127b3078addSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128b3078addSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129b3078addSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130b3078addSmrg  kopensolaris*-gnu* | \
131b3078addSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
1325c10afb9Smrg    os=-$maybe_os
1335c10afb9Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1345c10afb9Smrg    ;;
1355c10afb9Smrg  *)
1365c10afb9Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1375c10afb9Smrg    if [ $basic_machine != $1 ]
1385c10afb9Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1395c10afb9Smrg    else os=; fi
1405c10afb9Smrg    ;;
1415c10afb9Smrgesac
1425c10afb9Smrg
1435c10afb9Smrg### Let's recognize common machines as not being operating systems so
1445c10afb9Smrg### that things like config.sub decstation-3100 work.  We also
1455c10afb9Smrg### recognize some manufacturers as not being operating systems, so we
1465c10afb9Smrg### can provide default operating systems below.
1475c10afb9Smrgcase $os in
1485c10afb9Smrg	-sun*os*)
1495c10afb9Smrg		# Prevent following clause from handling this invalid input.
1505c10afb9Smrg		;;
1515c10afb9Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1525c10afb9Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1535c10afb9Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1545c10afb9Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1555c10afb9Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1565c10afb9Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157b3078addSmrg	-apple | -axis | -knuth | -cray | -microblaze)
1585c10afb9Smrg		os=
1595c10afb9Smrg		basic_machine=$1
1605c10afb9Smrg		;;
161b3078addSmrg        -bluegene*)
162b3078addSmrg	        os=-cnk
163b3078addSmrg		;;
1645c10afb9Smrg	-sim | -cisco | -oki | -wec | -winbond)
1655c10afb9Smrg		os=
1665c10afb9Smrg		basic_machine=$1
1675c10afb9Smrg		;;
1685c10afb9Smrg	-scout)
1695c10afb9Smrg		;;
1705c10afb9Smrg	-wrs)
1715c10afb9Smrg		os=-vxworks
1725c10afb9Smrg		basic_machine=$1
1735c10afb9Smrg		;;
1745c10afb9Smrg	-chorusos*)
1755c10afb9Smrg		os=-chorusos
1765c10afb9Smrg		basic_machine=$1
1775c10afb9Smrg		;;
1785c10afb9Smrg 	-chorusrdb)
1795c10afb9Smrg 		os=-chorusrdb
1805c10afb9Smrg		basic_machine=$1
1815c10afb9Smrg 		;;
1825c10afb9Smrg	-hiux*)
1835c10afb9Smrg		os=-hiuxwe2
1845c10afb9Smrg		;;
185b3078addSmrg	-sco6)
186b3078addSmrg		os=-sco5v6
187b3078addSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188b3078addSmrg		;;
1895c10afb9Smrg	-sco5)
1905c10afb9Smrg		os=-sco3.2v5
1915c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1925c10afb9Smrg		;;
1935c10afb9Smrg	-sco4)
1945c10afb9Smrg		os=-sco3.2v4
1955c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1965c10afb9Smrg		;;
1975c10afb9Smrg	-sco3.2.[4-9]*)
1985c10afb9Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1995c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2005c10afb9Smrg		;;
2015c10afb9Smrg	-sco3.2v[4-9]*)
2025c10afb9Smrg		# Don't forget version if it is 3.2v4 or newer.
2035c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2045c10afb9Smrg		;;
205b3078addSmrg	-sco5v6*)
206b3078addSmrg		# Don't forget version if it is 3.2v4 or newer.
207b3078addSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208b3078addSmrg		;;
2095c10afb9Smrg	-sco*)
2105c10afb9Smrg		os=-sco3.2v2
2115c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2125c10afb9Smrg		;;
2135c10afb9Smrg	-udk*)
2145c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2155c10afb9Smrg		;;
2165c10afb9Smrg	-isc)
2175c10afb9Smrg		os=-isc2.2
2185c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2195c10afb9Smrg		;;
2205c10afb9Smrg	-clix*)
2215c10afb9Smrg		basic_machine=clipper-intergraph
2225c10afb9Smrg		;;
2235c10afb9Smrg	-isc*)
2245c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2255c10afb9Smrg		;;
2265c10afb9Smrg	-lynx*)
2275c10afb9Smrg		os=-lynxos
2285c10afb9Smrg		;;
2295c10afb9Smrg	-ptx*)
2305c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2315c10afb9Smrg		;;
2325c10afb9Smrg	-windowsnt*)
2335c10afb9Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2345c10afb9Smrg		;;
2355c10afb9Smrg	-psos*)
2365c10afb9Smrg		os=-psos
2375c10afb9Smrg		;;
2385c10afb9Smrg	-mint | -mint[0-9]*)
2395c10afb9Smrg		basic_machine=m68k-atari
2405c10afb9Smrg		os=-mint
2415c10afb9Smrg		;;
2425c10afb9Smrgesac
2435c10afb9Smrg
2445c10afb9Smrg# Decode aliases for certain CPU-COMPANY combinations.
2455c10afb9Smrgcase $basic_machine in
2465c10afb9Smrg	# Recognize the basic CPU types without company name.
2475c10afb9Smrg	# Some are omitted here because they have special meanings below.
2485c10afb9Smrg	1750a | 580 \
2495c10afb9Smrg	| a29k \
2505c10afb9Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2515c10afb9Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252b3078addSmrg	| am33_2.0 \
253b3078addSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254b3078addSmrg	| bfin \
2555c10afb9Smrg	| c4x | clipper \
2565c10afb9Smrg	| d10v | d30v | dlx | dsp16xx \
257b3078addSmrg	| fido | fr30 | frv \
2585c10afb9Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2595c10afb9Smrg	| i370 | i860 | i960 | ia64 \
260b3078addSmrg	| ip2k | iq2000 \
261b3078addSmrg	| lm32 \
262b3078addSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263b3078addSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2645c10afb9Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2655c10afb9Smrg	| mips16 \
2665c10afb9Smrg	| mips64 | mips64el \
267b3078addSmrg	| mips64octeon | mips64octeonel \
2685c10afb9Smrg	| mips64orion | mips64orionel \
269b3078addSmrg	| mips64r5900 | mips64r5900el \
270b3078addSmrg	| mips64vr | mips64vrel \
2715c10afb9Smrg	| mips64vr4100 | mips64vr4100el \
2725c10afb9Smrg	| mips64vr4300 | mips64vr4300el \
2735c10afb9Smrg	| mips64vr5000 | mips64vr5000el \
274b3078addSmrg	| mips64vr5900 | mips64vr5900el \
2755c10afb9Smrg	| mipsisa32 | mipsisa32el \
2765c10afb9Smrg	| mipsisa32r2 | mipsisa32r2el \
2775c10afb9Smrg	| mipsisa64 | mipsisa64el \
278b3078addSmrg	| mipsisa64r2 | mipsisa64r2el \
2795c10afb9Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2805c10afb9Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2815c10afb9Smrg	| mipstx39 | mipstx39el \
2825c10afb9Smrg	| mn10200 | mn10300 \
283b3078addSmrg	| moxie \
284b3078addSmrg	| mt \
2855c10afb9Smrg	| msp430 \
286b3078addSmrg	| nds32 | nds32le | nds32be \
287b3078addSmrg	| nios | nios2 \
2885c10afb9Smrg	| ns16k | ns32k \
289b3078addSmrg	| or32 \
2905c10afb9Smrg	| pdp10 | pdp11 | pj | pjl \
2915c10afb9Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2925c10afb9Smrg	| pyramid \
293b3078addSmrg	| rx \
294b3078addSmrg	| score \
295b3078addSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2965c10afb9Smrg	| sh64 | sh64le \
297b3078addSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298b3078addSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
299b3078addSmrg	| spu | strongarm \
300b3078addSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301b3078addSmrg	| ubicom32 \
3025c10afb9Smrg	| v850 | v850e \
3035c10afb9Smrg	| we32k \
304b3078addSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305b3078addSmrg	| z8k | z80)
3065c10afb9Smrg		basic_machine=$basic_machine-unknown
3075c10afb9Smrg		;;
308b3078addSmrg	c54x)
309b3078addSmrg		basic_machine=tic54x-unknown
310b3078addSmrg		;;
311b3078addSmrg	c55x)
312b3078addSmrg		basic_machine=tic55x-unknown
313b3078addSmrg		;;
314b3078addSmrg	c6x)
315b3078addSmrg		basic_machine=tic6x-unknown
316b3078addSmrg		;;
317b3078addSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3185c10afb9Smrg		# Motorola 68HC11/12.
3195c10afb9Smrg		basic_machine=$basic_machine-unknown
3205c10afb9Smrg		os=-none
3215c10afb9Smrg		;;
3225c10afb9Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3235c10afb9Smrg		;;
324b3078addSmrg	ms1)
325b3078addSmrg		basic_machine=mt-unknown
326b3078addSmrg		;;
3275c10afb9Smrg
3285c10afb9Smrg	# We use `pc' rather than `unknown'
3295c10afb9Smrg	# because (1) that's what they normally are, and
3305c10afb9Smrg	# (2) the word "unknown" tends to confuse beginning users.
3315c10afb9Smrg	i*86 | x86_64)
3325c10afb9Smrg	  basic_machine=$basic_machine-pc
3335c10afb9Smrg	  ;;
3345c10afb9Smrg	# Object if more than one company name word.
3355c10afb9Smrg	*-*-*)
3365c10afb9Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3375c10afb9Smrg		exit 1
3385c10afb9Smrg		;;
3395c10afb9Smrg	# Recognize the basic CPU types with company name.
3405c10afb9Smrg	580-* \
3415c10afb9Smrg	| a29k-* \
3425c10afb9Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3435c10afb9Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3445c10afb9Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3455c10afb9Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
346b3078addSmrg	| avr-* | avr32-* \
347b3078addSmrg	| bfin-* | bs2000-* \
348b3078addSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
349b3078addSmrg	| clipper-* | craynv-* | cydra-* \
3505c10afb9Smrg	| d10v-* | d30v-* | dlx-* \
3515c10afb9Smrg	| elxsi-* \
352b3078addSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3535c10afb9Smrg	| h8300-* | h8500-* \
3545c10afb9Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3555c10afb9Smrg	| i*86-* | i860-* | i960-* | ia64-* \
356b3078addSmrg	| ip2k-* | iq2000-* \
357b3078addSmrg	| lm32-* \
358b3078addSmrg	| m32c-* | m32r-* | m32rle-* \
3595c10afb9Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360b3078addSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3615c10afb9Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3625c10afb9Smrg	| mips16-* \
3635c10afb9Smrg	| mips64-* | mips64el-* \
364b3078addSmrg	| mips64octeon-* | mips64octeonel-* \
3655c10afb9Smrg	| mips64orion-* | mips64orionel-* \
366b3078addSmrg	| mips64r5900-* | mips64r5900el-* \
367b3078addSmrg	| mips64vr-* | mips64vrel-* \
3685c10afb9Smrg	| mips64vr4100-* | mips64vr4100el-* \
3695c10afb9Smrg	| mips64vr4300-* | mips64vr4300el-* \
3705c10afb9Smrg	| mips64vr5000-* | mips64vr5000el-* \
371b3078addSmrg	| mips64vr5900-* | mips64vr5900el-* \
3725c10afb9Smrg	| mipsisa32-* | mipsisa32el-* \
3735c10afb9Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3745c10afb9Smrg	| mipsisa64-* | mipsisa64el-* \
375b3078addSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
3765c10afb9Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3775c10afb9Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3785c10afb9Smrg	| mipstx39-* | mipstx39el-* \
379b3078addSmrg	| mmix-* \
380b3078addSmrg	| mt-* \
3815c10afb9Smrg	| msp430-* \
382b3078addSmrg	| nds32-* | nds32le-* | nds32be-* \
383b3078addSmrg	| nios-* | nios2-* \
384b3078addSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
3855c10afb9Smrg	| orion-* \
3865c10afb9Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3875c10afb9Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3885c10afb9Smrg	| pyramid-* \
389b3078addSmrg	| romp-* | rs6000-* | rx-* \
390b3078addSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3915c10afb9Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
392b3078addSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
393b3078addSmrg	| sparclite-* \
394b3078addSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3955c10afb9Smrg	| tahoe-* | thumb-* \
3965c10afb9Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397b3078addSmrg	| tile-* | tilegx-* \
3985c10afb9Smrg	| tron-* \
399b3078addSmrg	| ubicom32-* \
4005c10afb9Smrg	| v850-* | v850e-* | vax-* \
4015c10afb9Smrg	| we32k-* \
402b3078addSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403b3078addSmrg	| xstormy16-* | xtensa*-* \
4045c10afb9Smrg	| ymp-* \
405b3078addSmrg	| z8k-* | z80-*)
406b3078addSmrg		;;
407b3078addSmrg	# Recognize the basic CPU types without company name, with glob match.
408b3078addSmrg	xtensa*)
409b3078addSmrg		basic_machine=$basic_machine-unknown
4105c10afb9Smrg		;;
4115c10afb9Smrg	# Recognize the various machine names and aliases which stand
4125c10afb9Smrg	# for a CPU type and a company and sometimes even an OS.
4135c10afb9Smrg	386bsd)
4145c10afb9Smrg		basic_machine=i386-unknown
4155c10afb9Smrg		os=-bsd
4165c10afb9Smrg		;;
4175c10afb9Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4185c10afb9Smrg		basic_machine=m68000-att
4195c10afb9Smrg		;;
4205c10afb9Smrg	3b*)
4215c10afb9Smrg		basic_machine=we32k-att
4225c10afb9Smrg		;;
4235c10afb9Smrg	a29khif)
4245c10afb9Smrg		basic_machine=a29k-amd
4255c10afb9Smrg		os=-udi
4265c10afb9Smrg		;;
427b3078addSmrg    	abacus)
428b3078addSmrg		basic_machine=abacus-unknown
429b3078addSmrg		;;
4305c10afb9Smrg	adobe68k)
4315c10afb9Smrg		basic_machine=m68010-adobe
4325c10afb9Smrg		os=-scout
4335c10afb9Smrg		;;
4345c10afb9Smrg	alliant | fx80)
4355c10afb9Smrg		basic_machine=fx80-alliant
4365c10afb9Smrg		;;
4375c10afb9Smrg	altos | altos3068)
4385c10afb9Smrg		basic_machine=m68k-altos
4395c10afb9Smrg		;;
4405c10afb9Smrg	am29k)
4415c10afb9Smrg		basic_machine=a29k-none
4425c10afb9Smrg		os=-bsd
4435c10afb9Smrg		;;
4445c10afb9Smrg	amd64)
4455c10afb9Smrg		basic_machine=x86_64-pc
4465c10afb9Smrg		;;
447b3078addSmrg	amd64-*)
448b3078addSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
449b3078addSmrg		;;
4505c10afb9Smrg	amdahl)
4515c10afb9Smrg		basic_machine=580-amdahl
4525c10afb9Smrg		os=-sysv
4535c10afb9Smrg		;;
4545c10afb9Smrg	amiga | amiga-*)
4555c10afb9Smrg		basic_machine=m68k-unknown
4565c10afb9Smrg		;;
4575c10afb9Smrg	amigaos | amigados)
4585c10afb9Smrg		basic_machine=m68k-unknown
4595c10afb9Smrg		os=-amigaos
4605c10afb9Smrg		;;
4615c10afb9Smrg	amigaunix | amix)
4625c10afb9Smrg		basic_machine=m68k-unknown
4635c10afb9Smrg		os=-sysv4
4645c10afb9Smrg		;;
4655c10afb9Smrg	apollo68)
4665c10afb9Smrg		basic_machine=m68k-apollo
4675c10afb9Smrg		os=-sysv
4685c10afb9Smrg		;;
4695c10afb9Smrg	apollo68bsd)
4705c10afb9Smrg		basic_machine=m68k-apollo
4715c10afb9Smrg		os=-bsd
4725c10afb9Smrg		;;
473b3078addSmrg	aros)
474b3078addSmrg		basic_machine=i386-pc
475b3078addSmrg		os=-aros
476b3078addSmrg		;;
4775c10afb9Smrg	aux)
4785c10afb9Smrg		basic_machine=m68k-apple
4795c10afb9Smrg		os=-aux
4805c10afb9Smrg		;;
4815c10afb9Smrg	balance)
4825c10afb9Smrg		basic_machine=ns32k-sequent
4835c10afb9Smrg		os=-dynix
4845c10afb9Smrg		;;
485b3078addSmrg	blackfin)
486b3078addSmrg		basic_machine=bfin-unknown
487b3078addSmrg		os=-linux
488b3078addSmrg		;;
489b3078addSmrg	blackfin-*)
490b3078addSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491b3078addSmrg		os=-linux
492b3078addSmrg		;;
493b3078addSmrg	bluegene*)
494b3078addSmrg		basic_machine=powerpc-ibm
495b3078addSmrg		os=-cnk
496b3078addSmrg		;;
497b3078addSmrg	c54x-*)
498b3078addSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499b3078addSmrg		;;
500b3078addSmrg	c55x-*)
501b3078addSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502b3078addSmrg		;;
503b3078addSmrg	c6x-*)
504b3078addSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505b3078addSmrg		;;
5065c10afb9Smrg	c90)
5075c10afb9Smrg		basic_machine=c90-cray
5085c10afb9Smrg		os=-unicos
5095c10afb9Smrg		;;
510b3078addSmrg        cegcc)
511b3078addSmrg		basic_machine=arm-unknown
512b3078addSmrg		os=-cegcc
513b3078addSmrg		;;
5145c10afb9Smrg	convex-c1)
5155c10afb9Smrg		basic_machine=c1-convex
5165c10afb9Smrg		os=-bsd
5175c10afb9Smrg		;;
5185c10afb9Smrg	convex-c2)
5195c10afb9Smrg		basic_machine=c2-convex
5205c10afb9Smrg		os=-bsd
5215c10afb9Smrg		;;
5225c10afb9Smrg	convex-c32)
5235c10afb9Smrg		basic_machine=c32-convex
5245c10afb9Smrg		os=-bsd
5255c10afb9Smrg		;;
5265c10afb9Smrg	convex-c34)
5275c10afb9Smrg		basic_machine=c34-convex
5285c10afb9Smrg		os=-bsd
5295c10afb9Smrg		;;
5305c10afb9Smrg	convex-c38)
5315c10afb9Smrg		basic_machine=c38-convex
5325c10afb9Smrg		os=-bsd
5335c10afb9Smrg		;;
5345c10afb9Smrg	cray | j90)
5355c10afb9Smrg		basic_machine=j90-cray
5365c10afb9Smrg		os=-unicos
5375c10afb9Smrg		;;
538b3078addSmrg	craynv)
539b3078addSmrg		basic_machine=craynv-cray
540b3078addSmrg		os=-unicosmp
541b3078addSmrg		;;
542b3078addSmrg	cr16)
543b3078addSmrg		basic_machine=cr16-unknown
544b3078addSmrg		os=-elf
545b3078addSmrg		;;
5465c10afb9Smrg	crds | unos)
5475c10afb9Smrg		basic_machine=m68k-crds
5485c10afb9Smrg		;;
549b3078addSmrg	crisv32 | crisv32-* | etraxfs*)
550b3078addSmrg		basic_machine=crisv32-axis
551b3078addSmrg		;;
5525c10afb9Smrg	cris | cris-* | etrax*)
5535c10afb9Smrg		basic_machine=cris-axis
5545c10afb9Smrg		;;
555b3078addSmrg	crx)
556b3078addSmrg		basic_machine=crx-unknown
557b3078addSmrg		os=-elf
558b3078addSmrg		;;
5595c10afb9Smrg	da30 | da30-*)
5605c10afb9Smrg		basic_machine=m68k-da30
5615c10afb9Smrg		;;
5625c10afb9Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5635c10afb9Smrg		basic_machine=mips-dec
5645c10afb9Smrg		;;
5655c10afb9Smrg	decsystem10* | dec10*)
5665c10afb9Smrg		basic_machine=pdp10-dec
5675c10afb9Smrg		os=-tops10
5685c10afb9Smrg		;;
5695c10afb9Smrg	decsystem20* | dec20*)
5705c10afb9Smrg		basic_machine=pdp10-dec
5715c10afb9Smrg		os=-tops20
5725c10afb9Smrg		;;
5735c10afb9Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5745c10afb9Smrg	      | 3300-motorola | delta-motorola)
5755c10afb9Smrg		basic_machine=m68k-motorola
5765c10afb9Smrg		;;
5775c10afb9Smrg	delta88)
5785c10afb9Smrg		basic_machine=m88k-motorola
5795c10afb9Smrg		os=-sysv3
5805c10afb9Smrg		;;
581b3078addSmrg	dicos)
582b3078addSmrg		basic_machine=i686-pc
583b3078addSmrg		os=-dicos
584b3078addSmrg		;;
585b3078addSmrg	djgpp)
586b3078addSmrg		basic_machine=i586-pc
587b3078addSmrg		os=-msdosdjgpp
588b3078addSmrg		;;
5895c10afb9Smrg	dpx20 | dpx20-*)
5905c10afb9Smrg		basic_machine=rs6000-bull
5915c10afb9Smrg		os=-bosx
5925c10afb9Smrg		;;
5935c10afb9Smrg	dpx2* | dpx2*-bull)
5945c10afb9Smrg		basic_machine=m68k-bull
5955c10afb9Smrg		os=-sysv3
5965c10afb9Smrg		;;
5975c10afb9Smrg	ebmon29k)
5985c10afb9Smrg		basic_machine=a29k-amd
5995c10afb9Smrg		os=-ebmon
6005c10afb9Smrg		;;
6015c10afb9Smrg	elxsi)
6025c10afb9Smrg		basic_machine=elxsi-elxsi
6035c10afb9Smrg		os=-bsd
6045c10afb9Smrg		;;
6055c10afb9Smrg	encore | umax | mmax)
6065c10afb9Smrg		basic_machine=ns32k-encore
6075c10afb9Smrg		;;
6085c10afb9Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6095c10afb9Smrg		basic_machine=m68k-ericsson
6105c10afb9Smrg		os=-ose
6115c10afb9Smrg		;;
6125c10afb9Smrg	fx2800)
6135c10afb9Smrg		basic_machine=i860-alliant
6145c10afb9Smrg		;;
6155c10afb9Smrg	genix)
6165c10afb9Smrg		basic_machine=ns32k-ns
6175c10afb9Smrg		;;
6185c10afb9Smrg	gmicro)
6195c10afb9Smrg		basic_machine=tron-gmicro
6205c10afb9Smrg		os=-sysv
6215c10afb9Smrg		;;
6225c10afb9Smrg	go32)
6235c10afb9Smrg		basic_machine=i386-pc
6245c10afb9Smrg		os=-go32
6255c10afb9Smrg		;;
6265c10afb9Smrg	h3050r* | hiux*)
6275c10afb9Smrg		basic_machine=hppa1.1-hitachi
6285c10afb9Smrg		os=-hiuxwe2
6295c10afb9Smrg		;;
6305c10afb9Smrg	h8300hms)
6315c10afb9Smrg		basic_machine=h8300-hitachi
6325c10afb9Smrg		os=-hms
6335c10afb9Smrg		;;
6345c10afb9Smrg	h8300xray)
6355c10afb9Smrg		basic_machine=h8300-hitachi
6365c10afb9Smrg		os=-xray
6375c10afb9Smrg		;;
6385c10afb9Smrg	h8500hms)
6395c10afb9Smrg		basic_machine=h8500-hitachi
6405c10afb9Smrg		os=-hms
6415c10afb9Smrg		;;
6425c10afb9Smrg	harris)
6435c10afb9Smrg		basic_machine=m88k-harris
6445c10afb9Smrg		os=-sysv3
6455c10afb9Smrg		;;
6465c10afb9Smrg	hp300-*)
6475c10afb9Smrg		basic_machine=m68k-hp
6485c10afb9Smrg		;;
6495c10afb9Smrg	hp300bsd)
6505c10afb9Smrg		basic_machine=m68k-hp
6515c10afb9Smrg		os=-bsd
6525c10afb9Smrg		;;
6535c10afb9Smrg	hp300hpux)
6545c10afb9Smrg		basic_machine=m68k-hp
6555c10afb9Smrg		os=-hpux
6565c10afb9Smrg		;;
6575c10afb9Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6585c10afb9Smrg		basic_machine=hppa1.0-hp
6595c10afb9Smrg		;;
6605c10afb9Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6615c10afb9Smrg		basic_machine=m68000-hp
6625c10afb9Smrg		;;
6635c10afb9Smrg	hp9k3[2-9][0-9])
6645c10afb9Smrg		basic_machine=m68k-hp
6655c10afb9Smrg		;;
6665c10afb9Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6675c10afb9Smrg		basic_machine=hppa1.0-hp
6685c10afb9Smrg		;;
6695c10afb9Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6705c10afb9Smrg		basic_machine=hppa1.1-hp
6715c10afb9Smrg		;;
6725c10afb9Smrg	hp9k78[0-9] | hp78[0-9])
6735c10afb9Smrg		# FIXME: really hppa2.0-hp
6745c10afb9Smrg		basic_machine=hppa1.1-hp
6755c10afb9Smrg		;;
6765c10afb9Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6775c10afb9Smrg		# FIXME: really hppa2.0-hp
6785c10afb9Smrg		basic_machine=hppa1.1-hp
6795c10afb9Smrg		;;
6805c10afb9Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6815c10afb9Smrg		basic_machine=hppa1.1-hp
6825c10afb9Smrg		;;
6835c10afb9Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6845c10afb9Smrg		basic_machine=hppa1.0-hp
6855c10afb9Smrg		;;
6865c10afb9Smrg	hppa-next)
6875c10afb9Smrg		os=-nextstep3
6885c10afb9Smrg		;;
6895c10afb9Smrg	hppaosf)
6905c10afb9Smrg		basic_machine=hppa1.1-hp
6915c10afb9Smrg		os=-osf
6925c10afb9Smrg		;;
6935c10afb9Smrg	hppro)
6945c10afb9Smrg		basic_machine=hppa1.1-hp
6955c10afb9Smrg		os=-proelf
6965c10afb9Smrg		;;
6975c10afb9Smrg	i370-ibm* | ibm*)
6985c10afb9Smrg		basic_machine=i370-ibm
6995c10afb9Smrg		;;
7005c10afb9Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7015c10afb9Smrg	i*86v32)
7025c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7035c10afb9Smrg		os=-sysv32
7045c10afb9Smrg		;;
7055c10afb9Smrg	i*86v4*)
7065c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7075c10afb9Smrg		os=-sysv4
7085c10afb9Smrg		;;
7095c10afb9Smrg	i*86v)
7105c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7115c10afb9Smrg		os=-sysv
7125c10afb9Smrg		;;
7135c10afb9Smrg	i*86sol2)
7145c10afb9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7155c10afb9Smrg		os=-solaris2
7165c10afb9Smrg		;;
7175c10afb9Smrg	i386mach)
7185c10afb9Smrg		basic_machine=i386-mach
7195c10afb9Smrg		os=-mach
7205c10afb9Smrg		;;
7215c10afb9Smrg	i386-vsta | vsta)
7225c10afb9Smrg		basic_machine=i386-unknown
7235c10afb9Smrg		os=-vsta
7245c10afb9Smrg		;;
7255c10afb9Smrg	iris | iris4d)
7265c10afb9Smrg		basic_machine=mips-sgi
7275c10afb9Smrg		case $os in
7285c10afb9Smrg		    -irix*)
7295c10afb9Smrg			;;
7305c10afb9Smrg		    *)
7315c10afb9Smrg			os=-irix4
7325c10afb9Smrg			;;
7335c10afb9Smrg		esac
7345c10afb9Smrg		;;
7355c10afb9Smrg	isi68 | isi)
7365c10afb9Smrg		basic_machine=m68k-isi
7375c10afb9Smrg		os=-sysv
7385c10afb9Smrg		;;
739b3078addSmrg	m68knommu)
740b3078addSmrg		basic_machine=m68k-unknown
741b3078addSmrg		os=-linux
742b3078addSmrg		;;
743b3078addSmrg	m68knommu-*)
744b3078addSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745b3078addSmrg		os=-linux
746b3078addSmrg		;;
7475c10afb9Smrg	m88k-omron*)
7485c10afb9Smrg		basic_machine=m88k-omron
7495c10afb9Smrg		;;
7505c10afb9Smrg	magnum | m3230)
7515c10afb9Smrg		basic_machine=mips-mips
7525c10afb9Smrg		os=-sysv
7535c10afb9Smrg		;;
7545c10afb9Smrg	merlin)
7555c10afb9Smrg		basic_machine=ns32k-utek
7565c10afb9Smrg		os=-sysv
7575c10afb9Smrg		;;
758b3078addSmrg        microblaze)
759b3078addSmrg		basic_machine=microblaze-xilinx
760b3078addSmrg		;;
7615c10afb9Smrg	mingw32)
7625c10afb9Smrg		basic_machine=i386-pc
7635c10afb9Smrg		os=-mingw32
7645c10afb9Smrg		;;
765b3078addSmrg	mingw32ce)
766b3078addSmrg		basic_machine=arm-unknown
767b3078addSmrg		os=-mingw32ce
768b3078addSmrg		;;
7695c10afb9Smrg	miniframe)
7705c10afb9Smrg		basic_machine=m68000-convergent
7715c10afb9Smrg		;;
7725c10afb9Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7735c10afb9Smrg		basic_machine=m68k-atari
7745c10afb9Smrg		os=-mint
7755c10afb9Smrg		;;
7765c10afb9Smrg	mips3*-*)
7775c10afb9Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7785c10afb9Smrg		;;
7795c10afb9Smrg	mips3*)
7805c10afb9Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7815c10afb9Smrg		;;
7825c10afb9Smrg	monitor)
7835c10afb9Smrg		basic_machine=m68k-rom68k
7845c10afb9Smrg		os=-coff
7855c10afb9Smrg		;;
7865c10afb9Smrg	morphos)
7875c10afb9Smrg		basic_machine=powerpc-unknown
7885c10afb9Smrg		os=-morphos
7895c10afb9Smrg		;;
7905c10afb9Smrg	msdos)
7915c10afb9Smrg		basic_machine=i386-pc
7925c10afb9Smrg		os=-msdos
7935c10afb9Smrg		;;
794b3078addSmrg	ms1-*)
795b3078addSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
796b3078addSmrg		;;
7975c10afb9Smrg	mvs)
7985c10afb9Smrg		basic_machine=i370-ibm
7995c10afb9Smrg		os=-mvs
8005c10afb9Smrg		;;
8015c10afb9Smrg	ncr3000)
8025c10afb9Smrg		basic_machine=i486-ncr
8035c10afb9Smrg		os=-sysv4
8045c10afb9Smrg		;;
8055c10afb9Smrg	netbsd386)
8065c10afb9Smrg		basic_machine=i386-unknown
8075c10afb9Smrg		os=-netbsd
8085c10afb9Smrg		;;
8095c10afb9Smrg	netwinder)
8105c10afb9Smrg		basic_machine=armv4l-rebel
8115c10afb9Smrg		os=-linux
8125c10afb9Smrg		;;
8135c10afb9Smrg	news | news700 | news800 | news900)
8145c10afb9Smrg		basic_machine=m68k-sony
8155c10afb9Smrg		os=-newsos
8165c10afb9Smrg		;;
8175c10afb9Smrg	news1000)
8185c10afb9Smrg		basic_machine=m68030-sony
8195c10afb9Smrg		os=-newsos
8205c10afb9Smrg		;;
8215c10afb9Smrg	news-3600 | risc-news)
8225c10afb9Smrg		basic_machine=mips-sony
8235c10afb9Smrg		os=-newsos
8245c10afb9Smrg		;;
8255c10afb9Smrg	necv70)
8265c10afb9Smrg		basic_machine=v70-nec
8275c10afb9Smrg		os=-sysv
8285c10afb9Smrg		;;
8295c10afb9Smrg	next | m*-next )
8305c10afb9Smrg		basic_machine=m68k-next
8315c10afb9Smrg		case $os in
8325c10afb9Smrg		    -nextstep* )
8335c10afb9Smrg			;;
8345c10afb9Smrg		    -ns2*)
8355c10afb9Smrg		      os=-nextstep2
8365c10afb9Smrg			;;
8375c10afb9Smrg		    *)
8385c10afb9Smrg		      os=-nextstep3
8395c10afb9Smrg			;;
8405c10afb9Smrg		esac
8415c10afb9Smrg		;;
8425c10afb9Smrg	nh3000)
8435c10afb9Smrg		basic_machine=m68k-harris
8445c10afb9Smrg		os=-cxux
8455c10afb9Smrg		;;
8465c10afb9Smrg	nh[45]000)
8475c10afb9Smrg		basic_machine=m88k-harris
8485c10afb9Smrg		os=-cxux
8495c10afb9Smrg		;;
8505c10afb9Smrg	nindy960)
8515c10afb9Smrg		basic_machine=i960-intel
8525c10afb9Smrg		os=-nindy
8535c10afb9Smrg		;;
8545c10afb9Smrg	mon960)
8555c10afb9Smrg		basic_machine=i960-intel
8565c10afb9Smrg		os=-mon960
8575c10afb9Smrg		;;
8585c10afb9Smrg	nonstopux)
8595c10afb9Smrg		basic_machine=mips-compaq
8605c10afb9Smrg		os=-nonstopux
8615c10afb9Smrg		;;
8625c10afb9Smrg	np1)
8635c10afb9Smrg		basic_machine=np1-gould
8645c10afb9Smrg		;;
865b3078addSmrg        neo-tandem)
866b3078addSmrg		basic_machine=neo-tandem
867b3078addSmrg		;;
868b3078addSmrg        nse-tandem)
869b3078addSmrg		basic_machine=nse-tandem
8705c10afb9Smrg		;;
8715c10afb9Smrg	nsr-tandem)
8725c10afb9Smrg		basic_machine=nsr-tandem
8735c10afb9Smrg		;;
8745c10afb9Smrg	op50n-* | op60c-*)
8755c10afb9Smrg		basic_machine=hppa1.1-oki
8765c10afb9Smrg		os=-proelf
8775c10afb9Smrg		;;
878b3078addSmrg	openrisc | openrisc-*)
8795c10afb9Smrg		basic_machine=or32-unknown
880b3078addSmrg		;;
881b3078addSmrg	os400)
882b3078addSmrg		basic_machine=powerpc-ibm
883b3078addSmrg		os=-os400
8845c10afb9Smrg		;;
8855c10afb9Smrg	OSE68000 | ose68000)
8865c10afb9Smrg		basic_machine=m68000-ericsson
8875c10afb9Smrg		os=-ose
8885c10afb9Smrg		;;
8895c10afb9Smrg	os68k)
8905c10afb9Smrg		basic_machine=m68k-none
8915c10afb9Smrg		os=-os68k
8925c10afb9Smrg		;;
8935c10afb9Smrg	pa-hitachi)
8945c10afb9Smrg		basic_machine=hppa1.1-hitachi
8955c10afb9Smrg		os=-hiuxwe2
8965c10afb9Smrg		;;
8975c10afb9Smrg	paragon)
8985c10afb9Smrg		basic_machine=i860-intel
8995c10afb9Smrg		os=-osf
9005c10afb9Smrg		;;
901b3078addSmrg	parisc)
902b3078addSmrg		basic_machine=hppa-unknown
903b3078addSmrg		os=-linux
904b3078addSmrg		;;
905b3078addSmrg	parisc-*)
906b3078addSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907b3078addSmrg		os=-linux
908b3078addSmrg		;;
9095c10afb9Smrg	pbd)
9105c10afb9Smrg		basic_machine=sparc-tti
9115c10afb9Smrg		;;
9125c10afb9Smrg	pbb)
9135c10afb9Smrg		basic_machine=m68k-tti
9145c10afb9Smrg		;;
9155c10afb9Smrg	pc532 | pc532-*)
9165c10afb9Smrg		basic_machine=ns32k-pc532
9175c10afb9Smrg		;;
918b3078addSmrg	pc98)
919b3078addSmrg		basic_machine=i386-pc
920b3078addSmrg		;;
921b3078addSmrg	pc98-*)
922b3078addSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
923b3078addSmrg		;;
9245c10afb9Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9255c10afb9Smrg		basic_machine=i586-pc
9265c10afb9Smrg		;;
9275c10afb9Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9285c10afb9Smrg		basic_machine=i686-pc
9295c10afb9Smrg		;;
9305c10afb9Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9315c10afb9Smrg		basic_machine=i686-pc
9325c10afb9Smrg		;;
9335c10afb9Smrg	pentium4)
9345c10afb9Smrg		basic_machine=i786-pc
9355c10afb9Smrg		;;
9365c10afb9Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9375c10afb9Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9385c10afb9Smrg		;;
9395c10afb9Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9405c10afb9Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9415c10afb9Smrg		;;
9425c10afb9Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9435c10afb9Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9445c10afb9Smrg		;;
9455c10afb9Smrg	pentium4-*)
9465c10afb9Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9475c10afb9Smrg		;;
9485c10afb9Smrg	pn)
9495c10afb9Smrg		basic_machine=pn-gould
9505c10afb9Smrg		;;
9515c10afb9Smrg	power)	basic_machine=power-ibm
9525c10afb9Smrg		;;
9535c10afb9Smrg	ppc)	basic_machine=powerpc-unknown
9545c10afb9Smrg		;;
9555c10afb9Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9565c10afb9Smrg		;;
9575c10afb9Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9585c10afb9Smrg		basic_machine=powerpcle-unknown
9595c10afb9Smrg		;;
9605c10afb9Smrg	ppcle-* | powerpclittle-*)
9615c10afb9Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9625c10afb9Smrg		;;
9635c10afb9Smrg	ppc64)	basic_machine=powerpc64-unknown
9645c10afb9Smrg		;;
9655c10afb9Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9665c10afb9Smrg		;;
9675c10afb9Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9685c10afb9Smrg		basic_machine=powerpc64le-unknown
9695c10afb9Smrg		;;
9705c10afb9Smrg	ppc64le-* | powerpc64little-*)
9715c10afb9Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9725c10afb9Smrg		;;
9735c10afb9Smrg	ps2)
9745c10afb9Smrg		basic_machine=i386-ibm
9755c10afb9Smrg		;;
9765c10afb9Smrg	pw32)
9775c10afb9Smrg		basic_machine=i586-unknown
9785c10afb9Smrg		os=-pw32
9795c10afb9Smrg		;;
980b3078addSmrg	rdos)
981b3078addSmrg		basic_machine=i386-pc
982b3078addSmrg		os=-rdos
983b3078addSmrg		;;
9845c10afb9Smrg	rom68k)
9855c10afb9Smrg		basic_machine=m68k-rom68k
9865c10afb9Smrg		os=-coff
9875c10afb9Smrg		;;
9885c10afb9Smrg	rm[46]00)
9895c10afb9Smrg		basic_machine=mips-siemens
9905c10afb9Smrg		;;
9915c10afb9Smrg	rtpc | rtpc-*)
9925c10afb9Smrg		basic_machine=romp-ibm
9935c10afb9Smrg		;;
994b3078addSmrg	s390 | s390-*)
995b3078addSmrg		basic_machine=s390-ibm
996b3078addSmrg		;;
997b3078addSmrg	s390x | s390x-*)
998b3078addSmrg		basic_machine=s390x-ibm
999b3078addSmrg		;;
10005c10afb9Smrg	sa29200)
10015c10afb9Smrg		basic_machine=a29k-amd
10025c10afb9Smrg		os=-udi
10035c10afb9Smrg		;;
10045c10afb9Smrg	sb1)
10055c10afb9Smrg		basic_machine=mipsisa64sb1-unknown
10065c10afb9Smrg		;;
10075c10afb9Smrg	sb1el)
10085c10afb9Smrg		basic_machine=mipsisa64sb1el-unknown
10095c10afb9Smrg		;;
1010b3078addSmrg	sde)
1011b3078addSmrg		basic_machine=mipsisa32-sde
1012b3078addSmrg		os=-elf
1013b3078addSmrg		;;
10145c10afb9Smrg	sei)
10155c10afb9Smrg		basic_machine=mips-sei
10165c10afb9Smrg		os=-seiux
10175c10afb9Smrg		;;
10185c10afb9Smrg	sequent)
10195c10afb9Smrg		basic_machine=i386-sequent
10205c10afb9Smrg		;;
10215c10afb9Smrg	sh)
10225c10afb9Smrg		basic_machine=sh-hitachi
10235c10afb9Smrg		os=-hms
10245c10afb9Smrg		;;
1025b3078addSmrg	sh5el)
1026b3078addSmrg		basic_machine=sh5le-unknown
1027b3078addSmrg		;;
10285c10afb9Smrg	sh64)
10295c10afb9Smrg		basic_machine=sh64-unknown
10305c10afb9Smrg		;;
10315c10afb9Smrg	sparclite-wrs | simso-wrs)
10325c10afb9Smrg		basic_machine=sparclite-wrs
10335c10afb9Smrg		os=-vxworks
10345c10afb9Smrg		;;
10355c10afb9Smrg	sps7)
10365c10afb9Smrg		basic_machine=m68k-bull
10375c10afb9Smrg		os=-sysv2
10385c10afb9Smrg		;;
10395c10afb9Smrg	spur)
10405c10afb9Smrg		basic_machine=spur-unknown
10415c10afb9Smrg		;;
10425c10afb9Smrg	st2000)
10435c10afb9Smrg		basic_machine=m68k-tandem
10445c10afb9Smrg		;;
10455c10afb9Smrg	stratus)
10465c10afb9Smrg		basic_machine=i860-stratus
10475c10afb9Smrg		os=-sysv4
10485c10afb9Smrg		;;
10495c10afb9Smrg	sun2)
10505c10afb9Smrg		basic_machine=m68000-sun
10515c10afb9Smrg		;;
10525c10afb9Smrg	sun2os3)
10535c10afb9Smrg		basic_machine=m68000-sun
10545c10afb9Smrg		os=-sunos3
10555c10afb9Smrg		;;
10565c10afb9Smrg	sun2os4)
10575c10afb9Smrg		basic_machine=m68000-sun
10585c10afb9Smrg		os=-sunos4
10595c10afb9Smrg		;;
10605c10afb9Smrg	sun3os3)
10615c10afb9Smrg		basic_machine=m68k-sun
10625c10afb9Smrg		os=-sunos3
10635c10afb9Smrg		;;
10645c10afb9Smrg	sun3os4)
10655c10afb9Smrg		basic_machine=m68k-sun
10665c10afb9Smrg		os=-sunos4
10675c10afb9Smrg		;;
10685c10afb9Smrg	sun4os3)
10695c10afb9Smrg		basic_machine=sparc-sun
10705c10afb9Smrg		os=-sunos3
10715c10afb9Smrg		;;
10725c10afb9Smrg	sun4os4)
10735c10afb9Smrg		basic_machine=sparc-sun
10745c10afb9Smrg		os=-sunos4
10755c10afb9Smrg		;;
10765c10afb9Smrg	sun4sol2)
10775c10afb9Smrg		basic_machine=sparc-sun
10785c10afb9Smrg		os=-solaris2
10795c10afb9Smrg		;;
10805c10afb9Smrg	sun3 | sun3-*)
10815c10afb9Smrg		basic_machine=m68k-sun
10825c10afb9Smrg		;;
10835c10afb9Smrg	sun4)
10845c10afb9Smrg		basic_machine=sparc-sun
10855c10afb9Smrg		;;
10865c10afb9Smrg	sun386 | sun386i | roadrunner)
10875c10afb9Smrg		basic_machine=i386-sun
10885c10afb9Smrg		;;
10895c10afb9Smrg	sv1)
10905c10afb9Smrg		basic_machine=sv1-cray
10915c10afb9Smrg		os=-unicos
10925c10afb9Smrg		;;
10935c10afb9Smrg	symmetry)
10945c10afb9Smrg		basic_machine=i386-sequent
10955c10afb9Smrg		os=-dynix
10965c10afb9Smrg		;;
10975c10afb9Smrg	t3e)
10985c10afb9Smrg		basic_machine=alphaev5-cray
10995c10afb9Smrg		os=-unicos
11005c10afb9Smrg		;;
11015c10afb9Smrg	t90)
11025c10afb9Smrg		basic_machine=t90-cray
11035c10afb9Smrg		os=-unicos
11045c10afb9Smrg		;;
1105b3078addSmrg        # This must be matched before tile*.
1106b3078addSmrg        tilegx*)
1107b3078addSmrg		basic_machine=tilegx-unknown
1108b3078addSmrg		os=-linux-gnu
11095c10afb9Smrg		;;
1110b3078addSmrg	tile*)
1111b3078addSmrg		basic_machine=tile-unknown
1112b3078addSmrg		os=-linux-gnu
11135c10afb9Smrg		;;
11145c10afb9Smrg	tx39)
11155c10afb9Smrg		basic_machine=mipstx39-unknown
11165c10afb9Smrg		;;
11175c10afb9Smrg	tx39el)
11185c10afb9Smrg		basic_machine=mipstx39el-unknown
11195c10afb9Smrg		;;
11205c10afb9Smrg	toad1)
11215c10afb9Smrg		basic_machine=pdp10-xkl
11225c10afb9Smrg		os=-tops20
11235c10afb9Smrg		;;
11245c10afb9Smrg	tower | tower-32)
11255c10afb9Smrg		basic_machine=m68k-ncr
11265c10afb9Smrg		;;
1127b3078addSmrg	tpf)
1128b3078addSmrg		basic_machine=s390x-ibm
1129b3078addSmrg		os=-tpf
1130b3078addSmrg		;;
11315c10afb9Smrg	udi29k)
11325c10afb9Smrg		basic_machine=a29k-amd
11335c10afb9Smrg		os=-udi
11345c10afb9Smrg		;;
11355c10afb9Smrg	ultra3)
11365c10afb9Smrg		basic_machine=a29k-nyu
11375c10afb9Smrg		os=-sym1
11385c10afb9Smrg		;;
11395c10afb9Smrg	v810 | necv810)
11405c10afb9Smrg		basic_machine=v810-nec
11415c10afb9Smrg		os=-none
11425c10afb9Smrg		;;
11435c10afb9Smrg	vaxv)
11445c10afb9Smrg		basic_machine=vax-dec
11455c10afb9Smrg		os=-sysv
11465c10afb9Smrg		;;
11475c10afb9Smrg	vms)
11485c10afb9Smrg		basic_machine=vax-dec
11495c10afb9Smrg		os=-vms
11505c10afb9Smrg		;;
11515c10afb9Smrg	vpp*|vx|vx-*)
11525c10afb9Smrg		basic_machine=f301-fujitsu
11535c10afb9Smrg		;;
11545c10afb9Smrg	vxworks960)
11555c10afb9Smrg		basic_machine=i960-wrs
11565c10afb9Smrg		os=-vxworks
11575c10afb9Smrg		;;
11585c10afb9Smrg	vxworks68)
11595c10afb9Smrg		basic_machine=m68k-wrs
11605c10afb9Smrg		os=-vxworks
11615c10afb9Smrg		;;
11625c10afb9Smrg	vxworks29k)
11635c10afb9Smrg		basic_machine=a29k-wrs
11645c10afb9Smrg		os=-vxworks
11655c10afb9Smrg		;;
11665c10afb9Smrg	w65*)
11675c10afb9Smrg		basic_machine=w65-wdc
11685c10afb9Smrg		os=-none
11695c10afb9Smrg		;;
11705c10afb9Smrg	w89k-*)
11715c10afb9Smrg		basic_machine=hppa1.1-winbond
11725c10afb9Smrg		os=-proelf
11735c10afb9Smrg		;;
1174b3078addSmrg	xbox)
1175b3078addSmrg		basic_machine=i686-pc
1176b3078addSmrg		os=-mingw32
1177b3078addSmrg		;;
11785c10afb9Smrg	xps | xps100)
11795c10afb9Smrg		basic_machine=xps100-honeywell
11805c10afb9Smrg		;;
11815c10afb9Smrg	ymp)
11825c10afb9Smrg		basic_machine=ymp-cray
11835c10afb9Smrg		os=-unicos
11845c10afb9Smrg		;;
11855c10afb9Smrg	z8k-*-coff)
11865c10afb9Smrg		basic_machine=z8k-unknown
11875c10afb9Smrg		os=-sim
11885c10afb9Smrg		;;
1189b3078addSmrg	z80-*-coff)
1190b3078addSmrg		basic_machine=z80-unknown
1191b3078addSmrg		os=-sim
1192b3078addSmrg		;;
11935c10afb9Smrg	none)
11945c10afb9Smrg		basic_machine=none-none
11955c10afb9Smrg		os=-none
11965c10afb9Smrg		;;
11975c10afb9Smrg
11985c10afb9Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
11995c10afb9Smrg# some cases the only manufacturer, in others, it is the most popular.
12005c10afb9Smrg	w89k)
12015c10afb9Smrg		basic_machine=hppa1.1-winbond
12025c10afb9Smrg		;;
12035c10afb9Smrg	op50n)
12045c10afb9Smrg		basic_machine=hppa1.1-oki
12055c10afb9Smrg		;;
12065c10afb9Smrg	op60c)
12075c10afb9Smrg		basic_machine=hppa1.1-oki
12085c10afb9Smrg		;;
12095c10afb9Smrg	romp)
12105c10afb9Smrg		basic_machine=romp-ibm
12115c10afb9Smrg		;;
1212b3078addSmrg	mmix)
1213b3078addSmrg		basic_machine=mmix-knuth
1214b3078addSmrg		;;
12155c10afb9Smrg	rs6000)
12165c10afb9Smrg		basic_machine=rs6000-ibm
12175c10afb9Smrg		;;
12185c10afb9Smrg	vax)
12195c10afb9Smrg		basic_machine=vax-dec
12205c10afb9Smrg		;;
12215c10afb9Smrg	pdp10)
12225c10afb9Smrg		# there are many clones, so DEC is not a safe bet
12235c10afb9Smrg		basic_machine=pdp10-unknown
12245c10afb9Smrg		;;
12255c10afb9Smrg	pdp11)
12265c10afb9Smrg		basic_machine=pdp11-dec
12275c10afb9Smrg		;;
12285c10afb9Smrg	we32k)
12295c10afb9Smrg		basic_machine=we32k-att
12305c10afb9Smrg		;;
1231b3078addSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12325c10afb9Smrg		basic_machine=sh-unknown
12335c10afb9Smrg		;;
1234b3078addSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12355c10afb9Smrg		basic_machine=sparc-sun
12365c10afb9Smrg		;;
12375c10afb9Smrg	cydra)
12385c10afb9Smrg		basic_machine=cydra-cydrome
12395c10afb9Smrg		;;
12405c10afb9Smrg	orion)
12415c10afb9Smrg		basic_machine=orion-highlevel
12425c10afb9Smrg		;;
12435c10afb9Smrg	orion105)
12445c10afb9Smrg		basic_machine=clipper-highlevel
12455c10afb9Smrg		;;
12465c10afb9Smrg	mac | mpw | mac-mpw)
12475c10afb9Smrg		basic_machine=m68k-apple
12485c10afb9Smrg		;;
12495c10afb9Smrg	pmac | pmac-mpw)
12505c10afb9Smrg		basic_machine=powerpc-apple
12515c10afb9Smrg		;;
12525c10afb9Smrg	*-unknown)
12535c10afb9Smrg		# Make sure to match an already-canonicalized machine name.
12545c10afb9Smrg		;;
12555c10afb9Smrg	*)
12565c10afb9Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12575c10afb9Smrg		exit 1
12585c10afb9Smrg		;;
12595c10afb9Smrgesac
12605c10afb9Smrg
12615c10afb9Smrg# Here we canonicalize certain aliases for manufacturers.
12625c10afb9Smrgcase $basic_machine in
12635c10afb9Smrg	*-digital*)
12645c10afb9Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12655c10afb9Smrg		;;
12665c10afb9Smrg	*-commodore*)
12675c10afb9Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12685c10afb9Smrg		;;
12695c10afb9Smrg	*)
12705c10afb9Smrg		;;
12715c10afb9Smrgesac
12725c10afb9Smrg
12735c10afb9Smrg# Decode manufacturer-specific aliases for certain operating systems.
12745c10afb9Smrg
12755c10afb9Smrgif [ x"$os" != x"" ]
12765c10afb9Smrgthen
12775c10afb9Smrgcase $os in
12785c10afb9Smrg        # First match some system type aliases
12795c10afb9Smrg        # that might get confused with valid system types.
12805c10afb9Smrg	# -solaris* is a basic system type, with this one exception.
1281b3078addSmrg        -auroraux)
1282b3078addSmrg	        os=-auroraux
1283b3078addSmrg		;;
12845c10afb9Smrg	-solaris1 | -solaris1.*)
12855c10afb9Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12865c10afb9Smrg		;;
12875c10afb9Smrg	-solaris)
12885c10afb9Smrg		os=-solaris2
12895c10afb9Smrg		;;
12905c10afb9Smrg	-svr4*)
12915c10afb9Smrg		os=-sysv4
12925c10afb9Smrg		;;
12935c10afb9Smrg	-unixware*)
12945c10afb9Smrg		os=-sysv4.2uw
12955c10afb9Smrg		;;
12965c10afb9Smrg	-gnu/linux*)
12975c10afb9Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12985c10afb9Smrg		;;
12995c10afb9Smrg	# First accept the basic system types.
13005c10afb9Smrg	# The portable systems comes first.
13015c10afb9Smrg	# Each alternative MUST END IN A *, to match a version number.
13025c10afb9Smrg	# -sysv* is not here because it comes later, after sysvr4.
13035c10afb9Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304b3078addSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305b3078addSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306b3078addSmrg	      | -sym* | -kopensolaris* \
13075c10afb9Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308b3078addSmrg	      | -aos* | -aros* \
13095c10afb9Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13105c10afb9Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1311b3078addSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1312b3078addSmrg	      | -openbsd* | -solidbsd* \
1313b3078addSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1314b3078addSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13155c10afb9Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13165c10afb9Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317b3078addSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13185c10afb9Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319b3078addSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320b3078addSmrg	      | -linux-newlib* | -linux-uclibc* \
1321b3078addSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13225c10afb9Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13235c10afb9Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13245c10afb9Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13255c10afb9Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13265c10afb9Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1327b3078addSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328b3078addSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13295c10afb9Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13305c10afb9Smrg		;;
13315c10afb9Smrg	-qnx*)
13325c10afb9Smrg		case $basic_machine in
13335c10afb9Smrg		    x86-* | i*86-*)
13345c10afb9Smrg			;;
13355c10afb9Smrg		    *)
13365c10afb9Smrg			os=-nto$os
13375c10afb9Smrg			;;
13385c10afb9Smrg		esac
13395c10afb9Smrg		;;
13405c10afb9Smrg	-nto-qnx*)
13415c10afb9Smrg		;;
13425c10afb9Smrg	-nto*)
13435c10afb9Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13445c10afb9Smrg		;;
13455c10afb9Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1346b3078addSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13475c10afb9Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13485c10afb9Smrg		;;
13495c10afb9Smrg	-mac*)
13505c10afb9Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13515c10afb9Smrg		;;
1352b3078addSmrg	-linux-dietlibc)
1353b3078addSmrg		os=-linux-dietlibc
1354b3078addSmrg		;;
13555c10afb9Smrg	-linux*)
13565c10afb9Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13575c10afb9Smrg		;;
13585c10afb9Smrg	-sunos5*)
13595c10afb9Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13605c10afb9Smrg		;;
13615c10afb9Smrg	-sunos6*)
13625c10afb9Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13635c10afb9Smrg		;;
13645c10afb9Smrg	-opened*)
13655c10afb9Smrg		os=-openedition
13665c10afb9Smrg		;;
1367b3078addSmrg        -os400*)
1368b3078addSmrg		os=-os400
1369b3078addSmrg		;;
13705c10afb9Smrg	-wince*)
13715c10afb9Smrg		os=-wince
13725c10afb9Smrg		;;
13735c10afb9Smrg	-osfrose*)
13745c10afb9Smrg		os=-osfrose
13755c10afb9Smrg		;;
13765c10afb9Smrg	-osf*)
13775c10afb9Smrg		os=-osf
13785c10afb9Smrg		;;
13795c10afb9Smrg	-utek*)
13805c10afb9Smrg		os=-bsd
13815c10afb9Smrg		;;
13825c10afb9Smrg	-dynix*)
13835c10afb9Smrg		os=-bsd
13845c10afb9Smrg		;;
13855c10afb9Smrg	-acis*)
13865c10afb9Smrg		os=-aos
13875c10afb9Smrg		;;
13885c10afb9Smrg	-atheos*)
13895c10afb9Smrg		os=-atheos
13905c10afb9Smrg		;;
1391b3078addSmrg	-syllable*)
1392b3078addSmrg		os=-syllable
1393b3078addSmrg		;;
13945c10afb9Smrg	-386bsd)
13955c10afb9Smrg		os=-bsd
13965c10afb9Smrg		;;
13975c10afb9Smrg	-ctix* | -uts*)
13985c10afb9Smrg		os=-sysv
13995c10afb9Smrg		;;
14005c10afb9Smrg	-nova*)
14015c10afb9Smrg		os=-rtmk-nova
14025c10afb9Smrg		;;
14035c10afb9Smrg	-ns2 )
14045c10afb9Smrg		os=-nextstep2
14055c10afb9Smrg		;;
14065c10afb9Smrg	-nsk*)
14075c10afb9Smrg		os=-nsk
14085c10afb9Smrg		;;
14095c10afb9Smrg	# Preserve the version number of sinix5.
14105c10afb9Smrg	-sinix5.*)
14115c10afb9Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14125c10afb9Smrg		;;
14135c10afb9Smrg	-sinix*)
14145c10afb9Smrg		os=-sysv4
14155c10afb9Smrg		;;
1416b3078addSmrg        -tpf*)
1417b3078addSmrg		os=-tpf
1418b3078addSmrg		;;
14195c10afb9Smrg	-triton*)
14205c10afb9Smrg		os=-sysv3
14215c10afb9Smrg		;;
14225c10afb9Smrg	-oss*)
14235c10afb9Smrg		os=-sysv3
14245c10afb9Smrg		;;
14255c10afb9Smrg	-svr4)
14265c10afb9Smrg		os=-sysv4
14275c10afb9Smrg		;;
14285c10afb9Smrg	-svr3)
14295c10afb9Smrg		os=-sysv3
14305c10afb9Smrg		;;
14315c10afb9Smrg	-sysvr4)
14325c10afb9Smrg		os=-sysv4
14335c10afb9Smrg		;;
14345c10afb9Smrg	# This must come after -sysvr4.
14355c10afb9Smrg	-sysv*)
14365c10afb9Smrg		;;
14375c10afb9Smrg	-ose*)
14385c10afb9Smrg		os=-ose
14395c10afb9Smrg		;;
14405c10afb9Smrg	-es1800*)
14415c10afb9Smrg		os=-ose
14425c10afb9Smrg		;;
14435c10afb9Smrg	-xenix)
14445c10afb9Smrg		os=-xenix
14455c10afb9Smrg		;;
14465c10afb9Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14475c10afb9Smrg		os=-mint
14485c10afb9Smrg		;;
14495c10afb9Smrg	-aros*)
14505c10afb9Smrg		os=-aros
14515c10afb9Smrg		;;
14525c10afb9Smrg	-kaos*)
14535c10afb9Smrg		os=-kaos
14545c10afb9Smrg		;;
1455b3078addSmrg	-zvmoe)
1456b3078addSmrg		os=-zvmoe
1457b3078addSmrg		;;
1458b3078addSmrg	-dicos*)
1459b3078addSmrg		os=-dicos
1460b3078addSmrg		;;
1461b3078addSmrg        -nacl*)
1462b3078addSmrg	        ;;
14635c10afb9Smrg	-none)
14645c10afb9Smrg		;;
14655c10afb9Smrg	*)
14665c10afb9Smrg		# Get rid of the `-' at the beginning of $os.
14675c10afb9Smrg		os=`echo $os | sed 's/[^-]*-//'`
14685c10afb9Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14695c10afb9Smrg		exit 1
14705c10afb9Smrg		;;
14715c10afb9Smrgesac
14725c10afb9Smrgelse
14735c10afb9Smrg
14745c10afb9Smrg# Here we handle the default operating systems that come with various machines.
14755c10afb9Smrg# The value should be what the vendor currently ships out the door with their
14765c10afb9Smrg# machine or put another way, the most popular os provided with the machine.
14775c10afb9Smrg
14785c10afb9Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14795c10afb9Smrg# "-sun"), then you have to tell the case statement up towards the top
14805c10afb9Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14815c10afb9Smrg# will signal an error saying that MANUFACTURER isn't an operating
14825c10afb9Smrg# system, and we'll never get to this point.
14835c10afb9Smrg
14845c10afb9Smrgcase $basic_machine in
1485b3078addSmrg        score-*)
1486b3078addSmrg		os=-elf
1487b3078addSmrg		;;
1488b3078addSmrg        spu-*)
1489b3078addSmrg		os=-elf
1490b3078addSmrg		;;
14915c10afb9Smrg	*-acorn)
14925c10afb9Smrg		os=-riscix1.2
14935c10afb9Smrg		;;
14945c10afb9Smrg	arm*-rebel)
14955c10afb9Smrg		os=-linux
14965c10afb9Smrg		;;
14975c10afb9Smrg	arm*-semi)
14985c10afb9Smrg		os=-aout
14995c10afb9Smrg		;;
1500b3078addSmrg        c4x-* | tic4x-*)
1501b3078addSmrg        	os=-coff
1502b3078addSmrg		;;
1503b3078addSmrg	tic54x-*)
1504b3078addSmrg		os=-coff
1505b3078addSmrg		;;
1506b3078addSmrg	tic55x-*)
1507b3078addSmrg		os=-coff
1508b3078addSmrg		;;
1509b3078addSmrg	tic6x-*)
15105c10afb9Smrg		os=-coff
15115c10afb9Smrg		;;
15125c10afb9Smrg	# This must come before the *-dec entry.
15135c10afb9Smrg	pdp10-*)
15145c10afb9Smrg		os=-tops20
15155c10afb9Smrg		;;
15165c10afb9Smrg	pdp11-*)
15175c10afb9Smrg		os=-none
15185c10afb9Smrg		;;
15195c10afb9Smrg	*-dec | vax-*)
15205c10afb9Smrg		os=-ultrix4.2
15215c10afb9Smrg		;;
15225c10afb9Smrg	m68*-apollo)
15235c10afb9Smrg		os=-domain
15245c10afb9Smrg		;;
15255c10afb9Smrg	i386-sun)
15265c10afb9Smrg		os=-sunos4.0.2
15275c10afb9Smrg		;;
15285c10afb9Smrg	m68000-sun)
15295c10afb9Smrg		os=-sunos3
15305c10afb9Smrg		# This also exists in the configure program, but was not the
15315c10afb9Smrg		# default.
15325c10afb9Smrg		# os=-sunos4
15335c10afb9Smrg		;;
15345c10afb9Smrg	m68*-cisco)
15355c10afb9Smrg		os=-aout
15365c10afb9Smrg		;;
1537b3078addSmrg        mep-*)
1538b3078addSmrg		os=-elf
1539b3078addSmrg		;;
15405c10afb9Smrg	mips*-cisco)
15415c10afb9Smrg		os=-elf
15425c10afb9Smrg		;;
15435c10afb9Smrg	mips*-*)
15445c10afb9Smrg		os=-elf
15455c10afb9Smrg		;;
15465c10afb9Smrg	or32-*)
15475c10afb9Smrg		os=-coff
15485c10afb9Smrg		;;
15495c10afb9Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15505c10afb9Smrg		os=-sysv3
15515c10afb9Smrg		;;
15525c10afb9Smrg	sparc-* | *-sun)
15535c10afb9Smrg		os=-sunos4.1.1
15545c10afb9Smrg		;;
15555c10afb9Smrg	*-be)
15565c10afb9Smrg		os=-beos
15575c10afb9Smrg		;;
1558b3078addSmrg	*-haiku)
1559b3078addSmrg		os=-haiku
1560b3078addSmrg		;;
15615c10afb9Smrg	*-ibm)
15625c10afb9Smrg		os=-aix
15635c10afb9Smrg		;;
1564b3078addSmrg    	*-knuth)
1565b3078addSmrg		os=-mmixware
1566b3078addSmrg		;;
15675c10afb9Smrg	*-wec)
15685c10afb9Smrg		os=-proelf
15695c10afb9Smrg		;;
15705c10afb9Smrg	*-winbond)
15715c10afb9Smrg		os=-proelf
15725c10afb9Smrg		;;
15735c10afb9Smrg	*-oki)
15745c10afb9Smrg		os=-proelf
15755c10afb9Smrg		;;
15765c10afb9Smrg	*-hp)
15775c10afb9Smrg		os=-hpux
15785c10afb9Smrg		;;
15795c10afb9Smrg	*-hitachi)
15805c10afb9Smrg		os=-hiux
15815c10afb9Smrg		;;
15825c10afb9Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15835c10afb9Smrg		os=-sysv
15845c10afb9Smrg		;;
15855c10afb9Smrg	*-cbm)
15865c10afb9Smrg		os=-amigaos
15875c10afb9Smrg		;;
15885c10afb9Smrg	*-dg)
15895c10afb9Smrg		os=-dgux
15905c10afb9Smrg		;;
15915c10afb9Smrg	*-dolphin)
15925c10afb9Smrg		os=-sysv3
15935c10afb9Smrg		;;
15945c10afb9Smrg	m68k-ccur)
15955c10afb9Smrg		os=-rtu
15965c10afb9Smrg		;;
15975c10afb9Smrg	m88k-omron*)
15985c10afb9Smrg		os=-luna
15995c10afb9Smrg		;;
16005c10afb9Smrg	*-next )
16015c10afb9Smrg		os=-nextstep
16025c10afb9Smrg		;;
16035c10afb9Smrg	*-sequent)
16045c10afb9Smrg		os=-ptx
16055c10afb9Smrg		;;
16065c10afb9Smrg	*-crds)
16075c10afb9Smrg		os=-unos
16085c10afb9Smrg		;;
16095c10afb9Smrg	*-ns)
16105c10afb9Smrg		os=-genix
16115c10afb9Smrg		;;
16125c10afb9Smrg	i370-*)
16135c10afb9Smrg		os=-mvs
16145c10afb9Smrg		;;
16155c10afb9Smrg	*-next)
16165c10afb9Smrg		os=-nextstep3
16175c10afb9Smrg		;;
16185c10afb9Smrg	*-gould)
16195c10afb9Smrg		os=-sysv
16205c10afb9Smrg		;;
16215c10afb9Smrg	*-highlevel)
16225c10afb9Smrg		os=-bsd
16235c10afb9Smrg		;;
16245c10afb9Smrg	*-encore)
16255c10afb9Smrg		os=-bsd
16265c10afb9Smrg		;;
16275c10afb9Smrg	*-sgi)
16285c10afb9Smrg		os=-irix
16295c10afb9Smrg		;;
16305c10afb9Smrg	*-siemens)
16315c10afb9Smrg		os=-sysv4
16325c10afb9Smrg		;;
16335c10afb9Smrg	*-masscomp)
16345c10afb9Smrg		os=-rtu
16355c10afb9Smrg		;;
16365c10afb9Smrg	f30[01]-fujitsu | f700-fujitsu)
16375c10afb9Smrg		os=-uxpv
16385c10afb9Smrg		;;
16395c10afb9Smrg	*-rom68k)
16405c10afb9Smrg		os=-coff
16415c10afb9Smrg		;;
16425c10afb9Smrg	*-*bug)
16435c10afb9Smrg		os=-coff
16445c10afb9Smrg		;;
16455c10afb9Smrg	*-apple)
16465c10afb9Smrg		os=-macos
16475c10afb9Smrg		;;
16485c10afb9Smrg	*-atari*)
16495c10afb9Smrg		os=-mint
16505c10afb9Smrg		;;
16515c10afb9Smrg	*)
16525c10afb9Smrg		os=-none
16535c10afb9Smrg		;;
16545c10afb9Smrgesac
16555c10afb9Smrgfi
16565c10afb9Smrg
16575c10afb9Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16585c10afb9Smrg# manufacturer.  We pick the logical manufacturer.
16595c10afb9Smrgvendor=unknown
16605c10afb9Smrgcase $basic_machine in
16615c10afb9Smrg	*-unknown)
16625c10afb9Smrg		case $os in
16635c10afb9Smrg			-riscix*)
16645c10afb9Smrg				vendor=acorn
16655c10afb9Smrg				;;
16665c10afb9Smrg			-sunos*)
16675c10afb9Smrg				vendor=sun
16685c10afb9Smrg				;;
1669b3078addSmrg			-cnk*|-aix*)
16705c10afb9Smrg				vendor=ibm
16715c10afb9Smrg				;;
16725c10afb9Smrg			-beos*)
16735c10afb9Smrg				vendor=be
16745c10afb9Smrg				;;
16755c10afb9Smrg			-hpux*)
16765c10afb9Smrg				vendor=hp
16775c10afb9Smrg				;;
16785c10afb9Smrg			-mpeix*)
16795c10afb9Smrg				vendor=hp
16805c10afb9Smrg				;;
16815c10afb9Smrg			-hiux*)
16825c10afb9Smrg				vendor=hitachi
16835c10afb9Smrg				;;
16845c10afb9Smrg			-unos*)
16855c10afb9Smrg				vendor=crds
16865c10afb9Smrg				;;
16875c10afb9Smrg			-dgux*)
16885c10afb9Smrg				vendor=dg
16895c10afb9Smrg				;;
16905c10afb9Smrg			-luna*)
16915c10afb9Smrg				vendor=omron
16925c10afb9Smrg				;;
16935c10afb9Smrg			-genix*)
16945c10afb9Smrg				vendor=ns
16955c10afb9Smrg				;;
16965c10afb9Smrg			-mvs* | -opened*)
16975c10afb9Smrg				vendor=ibm
16985c10afb9Smrg				;;
1699b3078addSmrg			-os400*)
1700b3078addSmrg				vendor=ibm
1701b3078addSmrg				;;
17025c10afb9Smrg			-ptx*)
17035c10afb9Smrg				vendor=sequent
17045c10afb9Smrg				;;
1705b3078addSmrg			-tpf*)
1706b3078addSmrg				vendor=ibm
1707b3078addSmrg				;;
17085c10afb9Smrg			-vxsim* | -vxworks* | -windiss*)
17095c10afb9Smrg				vendor=wrs
17105c10afb9Smrg				;;
17115c10afb9Smrg			-aux*)
17125c10afb9Smrg				vendor=apple
17135c10afb9Smrg				;;
17145c10afb9Smrg			-hms*)
17155c10afb9Smrg				vendor=hitachi
17165c10afb9Smrg				;;
17175c10afb9Smrg			-mpw* | -macos*)
17185c10afb9Smrg				vendor=apple
17195c10afb9Smrg				;;
17205c10afb9Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17215c10afb9Smrg				vendor=atari
17225c10afb9Smrg				;;
17235c10afb9Smrg			-vos*)
17245c10afb9Smrg				vendor=stratus
17255c10afb9Smrg				;;
17265c10afb9Smrg		esac
17275c10afb9Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17285c10afb9Smrg		;;
17295c10afb9Smrgesac
17305c10afb9Smrg
17315c10afb9Smrgecho $basic_machine$os
1732b3078addSmrgexit
17335c10afb9Smrg
17345c10afb9Smrg# Local variables:
17355c10afb9Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17365c10afb9Smrg# time-stamp-start: "timestamp='"
17375c10afb9Smrg# time-stamp-format: "%:y-%02m-%02d"
17385c10afb9Smrg# time-stamp-end: "'"
17395c10afb9Smrg# End:
1740