17706df26Smrg#! /bin/sh
27706df26Smrg# Configuration validation subroutine script.
37706df26Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4b92e825aSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5b92e825aSmrg#   2011, 2012 Free Software Foundation, Inc.
67706df26Smrg
7b92e825aSmrgtimestamp='2012-01-01'
87706df26Smrg
97706df26Smrg# This file is (in principle) common to ALL GNU software.
107706df26Smrg# The presence of a machine in this file suggests that SOME GNU software
117706df26Smrg# can handle that machine.  It does not imply ALL GNU software can.
127706df26Smrg#
137706df26Smrg# This file is free software; you can redistribute it and/or modify
147706df26Smrg# it under the terms of the GNU General Public License as published by
157706df26Smrg# the Free Software Foundation; either version 2 of the License, or
167706df26Smrg# (at your option) any later version.
177706df26Smrg#
187706df26Smrg# This program is distributed in the hope that it will be useful,
197706df26Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
207706df26Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
217706df26Smrg# GNU General Public License for more details.
227706df26Smrg#
237706df26Smrg# You should have received a copy of the GNU General Public License
247706df26Smrg# along with this program; if not, write to the Free Software
25047944f3Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26047944f3Smrg# 02110-1301, USA.
27047944f3Smrg#
287706df26Smrg# As a special exception to the GNU General Public License, if you
297706df26Smrg# distribute this file as part of a program that contains a
307706df26Smrg# configuration script generated by Autoconf, you may include it under
317706df26Smrg# the same distribution terms that you use for the rest of that program.
327706df26Smrg
33047944f3Smrg
347706df26Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35b92e825aSmrg# diff and a properly formatted GNU ChangeLog entry.
367706df26Smrg#
377706df26Smrg# Configuration subroutine to validate and canonicalize a configuration type.
387706df26Smrg# Supply the specified configuration type as an argument.
397706df26Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
407706df26Smrg# Otherwise, we print the canonical config type on stdout and succeed.
417706df26Smrg
42b92e825aSmrg# You can get the latest version of this script from:
43b92e825aSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44b92e825aSmrg
457706df26Smrg# This file is supposed to be the same for all GNU packages
467706df26Smrg# and recognize all the CPU types, system types and aliases
477706df26Smrg# that are meaningful with *any* GNU software.
487706df26Smrg# Each package is responsible for reporting which valid configurations
497706df26Smrg# it does not support.  The user should be able to distinguish
507706df26Smrg# a failure to support a valid configuration from a meaningless
517706df26Smrg# configuration.
527706df26Smrg
537706df26Smrg# The goal of this file is to map all the various variations of a given
547706df26Smrg# machine specification into a single specification in the form:
557706df26Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
567706df26Smrg# or in some cases, the newer four-part form:
577706df26Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
587706df26Smrg# It is wrong to echo any other type of specification.
597706df26Smrg
607706df26Smrgme=`echo "$0" | sed -e 's,.*/,,'`
617706df26Smrg
627706df26Smrgusage="\
637706df26SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
647706df26Smrg       $0 [OPTION] ALIAS
657706df26Smrg
667706df26SmrgCanonicalize a configuration name.
677706df26Smrg
687706df26SmrgOperation modes:
697706df26Smrg  -h, --help         print this help, then exit
707706df26Smrg  -t, --time-stamp   print date of last modification, then exit
717706df26Smrg  -v, --version      print version number, then exit
727706df26Smrg
737706df26SmrgReport bugs and patches to <config-patches@gnu.org>."
747706df26Smrg
757706df26Smrgversion="\
767706df26SmrgGNU config.sub ($timestamp)
777706df26Smrg
78b92e825aSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79b92e825aSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
80b92e825aSmrgFree Software Foundation, Inc.
817706df26Smrg
827706df26SmrgThis is free software; see the source for copying conditions.  There is NO
837706df26Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
847706df26Smrg
857706df26Smrghelp="
867706df26SmrgTry \`$me --help' for more information."
877706df26Smrg
887706df26Smrg# Parse command line
897706df26Smrgwhile test $# -gt 0 ; do
907706df26Smrg  case $1 in
917706df26Smrg    --time-stamp | --time* | -t )
92047944f3Smrg       echo "$timestamp" ; exit ;;
937706df26Smrg    --version | -v )
94047944f3Smrg       echo "$version" ; exit ;;
957706df26Smrg    --help | --h* | -h )
96047944f3Smrg       echo "$usage"; exit ;;
977706df26Smrg    -- )     # Stop option processing
987706df26Smrg       shift; break ;;
997706df26Smrg    - )	# Use stdin as input.
1007706df26Smrg       break ;;
1017706df26Smrg    -* )
1027706df26Smrg       echo "$me: invalid option $1$help"
1037706df26Smrg       exit 1 ;;
1047706df26Smrg
1057706df26Smrg    *local*)
1067706df26Smrg       # First pass through any local machine types.
1077706df26Smrg       echo $1
108047944f3Smrg       exit ;;
1097706df26Smrg
1107706df26Smrg    * )
1117706df26Smrg       break ;;
1127706df26Smrg  esac
1137706df26Smrgdone
1147706df26Smrg
1157706df26Smrgcase $# in
1167706df26Smrg 0) echo "$me: missing argument$help" >&2
1177706df26Smrg    exit 1;;
1187706df26Smrg 1) ;;
1197706df26Smrg *) echo "$me: too many arguments$help" >&2
1207706df26Smrg    exit 1;;
1217706df26Smrgesac
1227706df26Smrg
1237706df26Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1247706df26Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1257706df26Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1267706df26Smrgcase $maybe_os in
127b92e825aSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128b92e825aSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129b92e825aSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130b92e825aSmrg  kopensolaris*-gnu* | \
131047944f3Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1327706df26Smrg    os=-$maybe_os
1337706df26Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1347706df26Smrg    ;;
1357706df26Smrg  *)
1367706df26Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1377706df26Smrg    if [ $basic_machine != $1 ]
1387706df26Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1397706df26Smrg    else os=; fi
1407706df26Smrg    ;;
1417706df26Smrgesac
1427706df26Smrg
1437706df26Smrg### Let's recognize common machines as not being operating systems so
1447706df26Smrg### that things like config.sub decstation-3100 work.  We also
1457706df26Smrg### recognize some manufacturers as not being operating systems, so we
1467706df26Smrg### can provide default operating systems below.
1477706df26Smrgcase $os in
1487706df26Smrg	-sun*os*)
1497706df26Smrg		# Prevent following clause from handling this invalid input.
1507706df26Smrg		;;
1517706df26Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1527706df26Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1537706df26Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1547706df26Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1557706df26Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1567706df26Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157b92e825aSmrg	-apple | -axis | -knuth | -cray | -microblaze)
1587706df26Smrg		os=
1597706df26Smrg		basic_machine=$1
1607706df26Smrg		;;
161b92e825aSmrg	-bluegene*)
162b92e825aSmrg		os=-cnk
163b92e825aSmrg		;;
1647706df26Smrg	-sim | -cisco | -oki | -wec | -winbond)
1657706df26Smrg		os=
1667706df26Smrg		basic_machine=$1
1677706df26Smrg		;;
1687706df26Smrg	-scout)
1697706df26Smrg		;;
1707706df26Smrg	-wrs)
1717706df26Smrg		os=-vxworks
1727706df26Smrg		basic_machine=$1
1737706df26Smrg		;;
1747706df26Smrg	-chorusos*)
1757706df26Smrg		os=-chorusos
1767706df26Smrg		basic_machine=$1
1777706df26Smrg		;;
178b92e825aSmrg	-chorusrdb)
179b92e825aSmrg		os=-chorusrdb
1807706df26Smrg		basic_machine=$1
181b92e825aSmrg		;;
1827706df26Smrg	-hiux*)
1837706df26Smrg		os=-hiuxwe2
1847706df26Smrg		;;
185047944f3Smrg	-sco6)
186047944f3Smrg		os=-sco5v6
187047944f3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188047944f3Smrg		;;
1897706df26Smrg	-sco5)
1907706df26Smrg		os=-sco3.2v5
1917706df26Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1927706df26Smrg		;;
1937706df26Smrg	-sco4)
1947706df26Smrg		os=-sco3.2v4
1957706df26Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1967706df26Smrg		;;
1977706df26Smrg	-sco3.2.[4-9]*)
1987706df26Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1997706df26Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2007706df26Smrg		;;
2017706df26Smrg	-sco3.2v[4-9]*)
2027706df26Smrg		# Don't forget version if it is 3.2v4 or newer.
2037706df26Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2047706df26Smrg		;;
205047944f3Smrg	-sco5v6*)
206047944f3Smrg		# Don't forget version if it is 3.2v4 or newer.
207047944f3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208047944f3Smrg		;;
2097706df26Smrg	-sco*)
2107706df26Smrg		os=-sco3.2v2
2117706df26Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2127706df26Smrg		;;
2137706df26Smrg	-udk*)
2147706df26Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2157706df26Smrg		;;
2167706df26Smrg	-isc)
2177706df26Smrg		os=-isc2.2
2187706df26Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2197706df26Smrg		;;
2207706df26Smrg	-clix*)
2217706df26Smrg		basic_machine=clipper-intergraph
2227706df26Smrg		;;
2237706df26Smrg	-isc*)
2247706df26Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2257706df26Smrg		;;
2267706df26Smrg	-lynx*)
2277706df26Smrg		os=-lynxos
2287706df26Smrg		;;
2297706df26Smrg	-ptx*)
2307706df26Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2317706df26Smrg		;;
2327706df26Smrg	-windowsnt*)
2337706df26Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2347706df26Smrg		;;
2357706df26Smrg	-psos*)
2367706df26Smrg		os=-psos
2377706df26Smrg		;;
2387706df26Smrg	-mint | -mint[0-9]*)
2397706df26Smrg		basic_machine=m68k-atari
2407706df26Smrg		os=-mint
2417706df26Smrg		;;
2427706df26Smrgesac
2437706df26Smrg
2447706df26Smrg# Decode aliases for certain CPU-COMPANY combinations.
2457706df26Smrgcase $basic_machine in
2467706df26Smrg	# Recognize the basic CPU types without company name.
2477706df26Smrg	# Some are omitted here because they have special meanings below.
2487706df26Smrg	1750a | 580 \
2497706df26Smrg	| a29k \
2507706df26Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2517706df26Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252047944f3Smrg	| am33_2.0 \
253047944f3Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254b92e825aSmrg        | be32 | be64 \
255047944f3Smrg	| bfin \
2567706df26Smrg	| c4x | clipper \
2577706df26Smrg	| d10v | d30v | dlx | dsp16xx \
258b92e825aSmrg	| epiphany \
259047944f3Smrg	| fido | fr30 | frv \
2607706df26Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
261b92e825aSmrg	| hexagon \
2627706df26Smrg	| i370 | i860 | i960 | ia64 \
263047944f3Smrg	| ip2k | iq2000 \
264b92e825aSmrg	| le32 | le64 \
265b92e825aSmrg	| lm32 \
266047944f3Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267b92e825aSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2687706df26Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2697706df26Smrg	| mips16 \
2707706df26Smrg	| mips64 | mips64el \
271b92e825aSmrg	| mips64octeon | mips64octeonel \
2727706df26Smrg	| mips64orion | mips64orionel \
273b92e825aSmrg	| mips64r5900 | mips64r5900el \
274b92e825aSmrg	| mips64vr | mips64vrel \
2757706df26Smrg	| mips64vr4100 | mips64vr4100el \
2767706df26Smrg	| mips64vr4300 | mips64vr4300el \
2777706df26Smrg	| mips64vr5000 | mips64vr5000el \
278047944f3Smrg	| mips64vr5900 | mips64vr5900el \
2797706df26Smrg	| mipsisa32 | mipsisa32el \
2807706df26Smrg	| mipsisa32r2 | mipsisa32r2el \
2817706df26Smrg	| mipsisa64 | mipsisa64el \
282047944f3Smrg	| mipsisa64r2 | mipsisa64r2el \
2837706df26Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2847706df26Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2857706df26Smrg	| mipstx39 | mipstx39el \
2867706df26Smrg	| mn10200 | mn10300 \
287b92e825aSmrg	| moxie \
288047944f3Smrg	| mt \
2897706df26Smrg	| msp430 \
290b92e825aSmrg	| nds32 | nds32le | nds32be \
291047944f3Smrg	| nios | nios2 \
2927706df26Smrg	| ns16k | ns32k \
293b92e825aSmrg	| open8 \
294047944f3Smrg	| or32 \
2957706df26Smrg	| pdp10 | pdp11 | pj | pjl \
296b92e825aSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
2977706df26Smrg	| pyramid \
298b92e825aSmrg	| rl78 | rx \
299047944f3Smrg	| score \
300b92e825aSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3017706df26Smrg	| sh64 | sh64le \
302047944f3Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303047944f3Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
304b92e825aSmrg	| spu \
305b92e825aSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306b92e825aSmrg	| ubicom32 \
307b92e825aSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3087706df26Smrg	| we32k \
309b92e825aSmrg	| x86 | xc16x | xstormy16 | xtensa \
310b92e825aSmrg	| z8k | z80)
3117706df26Smrg		basic_machine=$basic_machine-unknown
3127706df26Smrg		;;
313b92e825aSmrg	c54x)
314b92e825aSmrg		basic_machine=tic54x-unknown
315b92e825aSmrg		;;
316b92e825aSmrg	c55x)
317b92e825aSmrg		basic_machine=tic55x-unknown
318b92e825aSmrg		;;
319b92e825aSmrg	c6x)
320b92e825aSmrg		basic_machine=tic6x-unknown
321b92e825aSmrg		;;
322b92e825aSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3237706df26Smrg		basic_machine=$basic_machine-unknown
3247706df26Smrg		os=-none
3257706df26Smrg		;;
3267706df26Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3277706df26Smrg		;;
328047944f3Smrg	ms1)
329047944f3Smrg		basic_machine=mt-unknown
330047944f3Smrg		;;
3317706df26Smrg
332b92e825aSmrg	strongarm | thumb | xscale)
333b92e825aSmrg		basic_machine=arm-unknown
334b92e825aSmrg		;;
335b92e825aSmrg
336b92e825aSmrg	xscaleeb)
337b92e825aSmrg		basic_machine=armeb-unknown
338b92e825aSmrg		;;
339b92e825aSmrg
340b92e825aSmrg	xscaleel)
341b92e825aSmrg		basic_machine=armel-unknown
342b92e825aSmrg		;;
343b92e825aSmrg
3447706df26Smrg	# We use `pc' rather than `unknown'
3457706df26Smrg	# because (1) that's what they normally are, and
3467706df26Smrg	# (2) the word "unknown" tends to confuse beginning users.
3477706df26Smrg	i*86 | x86_64)
3487706df26Smrg	  basic_machine=$basic_machine-pc
3497706df26Smrg	  ;;
3507706df26Smrg	# Object if more than one company name word.
3517706df26Smrg	*-*-*)
3527706df26Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3537706df26Smrg		exit 1
3547706df26Smrg		;;
3557706df26Smrg	# Recognize the basic CPU types with company name.
3567706df26Smrg	580-* \
3577706df26Smrg	| a29k-* \
3587706df26Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3597706df26Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3607706df26Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3617706df26Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
362047944f3Smrg	| avr-* | avr32-* \
363b92e825aSmrg	| be32-* | be64-* \
364047944f3Smrg	| bfin-* | bs2000-* \
365b92e825aSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
366047944f3Smrg	| clipper-* | craynv-* | cydra-* \
3677706df26Smrg	| d10v-* | d30v-* | dlx-* \
3687706df26Smrg	| elxsi-* \
369047944f3Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3707706df26Smrg	| h8300-* | h8500-* \
3717706df26Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
372b92e825aSmrg	| hexagon-* \
3737706df26Smrg	| i*86-* | i860-* | i960-* | ia64-* \
374047944f3Smrg	| ip2k-* | iq2000-* \
375b92e825aSmrg	| le32-* | le64-* \
376b92e825aSmrg	| lm32-* \
377047944f3Smrg	| m32c-* | m32r-* | m32rle-* \
3787706df26Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
379b92e825aSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3807706df26Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3817706df26Smrg	| mips16-* \
3827706df26Smrg	| mips64-* | mips64el-* \
383b92e825aSmrg	| mips64octeon-* | mips64octeonel-* \
3847706df26Smrg	| mips64orion-* | mips64orionel-* \
385b92e825aSmrg	| mips64r5900-* | mips64r5900el-* \
386b92e825aSmrg	| mips64vr-* | mips64vrel-* \
3877706df26Smrg	| mips64vr4100-* | mips64vr4100el-* \
3887706df26Smrg	| mips64vr4300-* | mips64vr4300el-* \
3897706df26Smrg	| mips64vr5000-* | mips64vr5000el-* \
390047944f3Smrg	| mips64vr5900-* | mips64vr5900el-* \
3917706df26Smrg	| mipsisa32-* | mipsisa32el-* \
3927706df26Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3937706df26Smrg	| mipsisa64-* | mipsisa64el-* \
394047944f3Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3957706df26Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3967706df26Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3977706df26Smrg	| mipstx39-* | mipstx39el-* \
398047944f3Smrg	| mmix-* \
399047944f3Smrg	| mt-* \
4007706df26Smrg	| msp430-* \
401b92e825aSmrg	| nds32-* | nds32le-* | nds32be-* \
402047944f3Smrg	| nios-* | nios2-* \
403047944f3Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
404b92e825aSmrg	| open8-* \
4057706df26Smrg	| orion-* \
4067706df26Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
407b92e825aSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4087706df26Smrg	| pyramid-* \
409b92e825aSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
410b92e825aSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4117706df26Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
412047944f3Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
413047944f3Smrg	| sparclite-* \
414b92e825aSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
415b92e825aSmrg	| tahoe-* \
4167706df26Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
417b92e825aSmrg	| tile*-* \
4187706df26Smrg	| tron-* \
419b92e825aSmrg	| ubicom32-* \
420b92e825aSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
421b92e825aSmrg	| vax-* \
4227706df26Smrg	| we32k-* \
423b92e825aSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
424047944f3Smrg	| xstormy16-* | xtensa*-* \
4257706df26Smrg	| ymp-* \
426b92e825aSmrg	| z8k-* | z80-*)
4277706df26Smrg		;;
428047944f3Smrg	# Recognize the basic CPU types without company name, with glob match.
429047944f3Smrg	xtensa*)
430047944f3Smrg		basic_machine=$basic_machine-unknown
431047944f3Smrg		;;
4327706df26Smrg	# Recognize the various machine names and aliases which stand
4337706df26Smrg	# for a CPU type and a company and sometimes even an OS.
4347706df26Smrg	386bsd)
4357706df26Smrg		basic_machine=i386-unknown
4367706df26Smrg		os=-bsd
4377706df26Smrg		;;
4387706df26Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4397706df26Smrg		basic_machine=m68000-att
4407706df26Smrg		;;
4417706df26Smrg	3b*)
4427706df26Smrg		basic_machine=we32k-att
4437706df26Smrg		;;
4447706df26Smrg	a29khif)
4457706df26Smrg		basic_machine=a29k-amd
4467706df26Smrg		os=-udi
4477706df26Smrg		;;
448b92e825aSmrg	abacus)
449047944f3Smrg		basic_machine=abacus-unknown
450047944f3Smrg		;;
4517706df26Smrg	adobe68k)
4527706df26Smrg		basic_machine=m68010-adobe
4537706df26Smrg		os=-scout
4547706df26Smrg		;;
4557706df26Smrg	alliant | fx80)
4567706df26Smrg		basic_machine=fx80-alliant
4577706df26Smrg		;;
4587706df26Smrg	altos | altos3068)
4597706df26Smrg		basic_machine=m68k-altos
4607706df26Smrg		;;
4617706df26Smrg	am29k)
4627706df26Smrg		basic_machine=a29k-none
4637706df26Smrg		os=-bsd
4647706df26Smrg		;;
4657706df26Smrg	amd64)
4667706df26Smrg		basic_machine=x86_64-pc
4677706df26Smrg		;;
468047944f3Smrg	amd64-*)
469047944f3Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
470047944f3Smrg		;;
4717706df26Smrg	amdahl)
4727706df26Smrg		basic_machine=580-amdahl
4737706df26Smrg		os=-sysv
4747706df26Smrg		;;
4757706df26Smrg	amiga | amiga-*)
4767706df26Smrg		basic_machine=m68k-unknown
4777706df26Smrg		;;
4787706df26Smrg	amigaos | amigados)
4797706df26Smrg		basic_machine=m68k-unknown
4807706df26Smrg		os=-amigaos
4817706df26Smrg		;;
4827706df26Smrg	amigaunix | amix)
4837706df26Smrg		basic_machine=m68k-unknown
4847706df26Smrg		os=-sysv4
4857706df26Smrg		;;
4867706df26Smrg	apollo68)
4877706df26Smrg		basic_machine=m68k-apollo
4887706df26Smrg		os=-sysv
4897706df26Smrg		;;
4907706df26Smrg	apollo68bsd)
4917706df26Smrg		basic_machine=m68k-apollo
4927706df26Smrg		os=-bsd
4937706df26Smrg		;;
494b92e825aSmrg	aros)
495b92e825aSmrg		basic_machine=i386-pc
496b92e825aSmrg		os=-aros
497b92e825aSmrg		;;
4987706df26Smrg	aux)
4997706df26Smrg		basic_machine=m68k-apple
5007706df26Smrg		os=-aux
5017706df26Smrg		;;
5027706df26Smrg	balance)
5037706df26Smrg		basic_machine=ns32k-sequent
5047706df26Smrg		os=-dynix
5057706df26Smrg		;;
506047944f3Smrg	blackfin)
507047944f3Smrg		basic_machine=bfin-unknown
508047944f3Smrg		os=-linux
509047944f3Smrg		;;
510047944f3Smrg	blackfin-*)
511047944f3Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
512047944f3Smrg		os=-linux
513047944f3Smrg		;;
514b92e825aSmrg	bluegene*)
515b92e825aSmrg		basic_machine=powerpc-ibm
516b92e825aSmrg		os=-cnk
517b92e825aSmrg		;;
518b92e825aSmrg	c54x-*)
519b92e825aSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
520b92e825aSmrg		;;
521b92e825aSmrg	c55x-*)
522b92e825aSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
523b92e825aSmrg		;;
524b92e825aSmrg	c6x-*)
525b92e825aSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
526b92e825aSmrg		;;
5277706df26Smrg	c90)
5287706df26Smrg		basic_machine=c90-cray
5297706df26Smrg		os=-unicos
5307706df26Smrg		;;
531b92e825aSmrg	cegcc)
532b92e825aSmrg		basic_machine=arm-unknown
533b92e825aSmrg		os=-cegcc
534b92e825aSmrg		;;
5357706df26Smrg	convex-c1)
5367706df26Smrg		basic_machine=c1-convex
5377706df26Smrg		os=-bsd
5387706df26Smrg		;;
5397706df26Smrg	convex-c2)
5407706df26Smrg		basic_machine=c2-convex
5417706df26Smrg		os=-bsd
5427706df26Smrg		;;
5437706df26Smrg	convex-c32)
5447706df26Smrg		basic_machine=c32-convex
5457706df26Smrg		os=-bsd
5467706df26Smrg		;;
5477706df26Smrg	convex-c34)
5487706df26Smrg		basic_machine=c34-convex
5497706df26Smrg		os=-bsd
5507706df26Smrg		;;
5517706df26Smrg	convex-c38)
5527706df26Smrg		basic_machine=c38-convex
5537706df26Smrg		os=-bsd
5547706df26Smrg		;;
5557706df26Smrg	cray | j90)
5567706df26Smrg		basic_machine=j90-cray
5577706df26Smrg		os=-unicos
5587706df26Smrg		;;
559047944f3Smrg	craynv)
560047944f3Smrg		basic_machine=craynv-cray
561047944f3Smrg		os=-unicosmp
562047944f3Smrg		;;
563b92e825aSmrg	cr16 | cr16-*)
564047944f3Smrg		basic_machine=cr16-unknown
565047944f3Smrg		os=-elf
566047944f3Smrg		;;
5677706df26Smrg	crds | unos)
5687706df26Smrg		basic_machine=m68k-crds
5697706df26Smrg		;;
570047944f3Smrg	crisv32 | crisv32-* | etraxfs*)
571047944f3Smrg		basic_machine=crisv32-axis
572047944f3Smrg		;;
5737706df26Smrg	cris | cris-* | etrax*)
5747706df26Smrg		basic_machine=cris-axis
5757706df26Smrg		;;
576047944f3Smrg	crx)
577047944f3Smrg		basic_machine=crx-unknown
578047944f3Smrg		os=-elf
579047944f3Smrg		;;
5807706df26Smrg	da30 | da30-*)
5817706df26Smrg		basic_machine=m68k-da30
5827706df26Smrg		;;
5837706df26Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5847706df26Smrg		basic_machine=mips-dec
5857706df26Smrg		;;
5867706df26Smrg	decsystem10* | dec10*)
5877706df26Smrg		basic_machine=pdp10-dec
5887706df26Smrg		os=-tops10
5897706df26Smrg		;;
5907706df26Smrg	decsystem20* | dec20*)
5917706df26Smrg		basic_machine=pdp10-dec
5927706df26Smrg		os=-tops20
5937706df26Smrg		;;
5947706df26Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5957706df26Smrg	      | 3300-motorola | delta-motorola)
5967706df26Smrg		basic_machine=m68k-motorola
5977706df26Smrg		;;
5987706df26Smrg	delta88)
5997706df26Smrg		basic_machine=m88k-motorola
6007706df26Smrg		os=-sysv3
6017706df26Smrg		;;
602b92e825aSmrg	dicos)
603b92e825aSmrg		basic_machine=i686-pc
604b92e825aSmrg		os=-dicos
605b92e825aSmrg		;;
606047944f3Smrg	djgpp)
607047944f3Smrg		basic_machine=i586-pc
608047944f3Smrg		os=-msdosdjgpp
609047944f3Smrg		;;
6107706df26Smrg	dpx20 | dpx20-*)
6117706df26Smrg		basic_machine=rs6000-bull
6127706df26Smrg		os=-bosx
6137706df26Smrg		;;
6147706df26Smrg	dpx2* | dpx2*-bull)
6157706df26Smrg		basic_machine=m68k-bull
6167706df26Smrg		os=-sysv3
6177706df26Smrg		;;
6187706df26Smrg	ebmon29k)
6197706df26Smrg		basic_machine=a29k-amd
6207706df26Smrg		os=-ebmon
6217706df26Smrg		;;
6227706df26Smrg	elxsi)
6237706df26Smrg		basic_machine=elxsi-elxsi
6247706df26Smrg		os=-bsd
6257706df26Smrg		;;
6267706df26Smrg	encore | umax | mmax)
6277706df26Smrg		basic_machine=ns32k-encore
6287706df26Smrg		;;
6297706df26Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6307706df26Smrg		basic_machine=m68k-ericsson
6317706df26Smrg		os=-ose
6327706df26Smrg		;;
6337706df26Smrg	fx2800)
6347706df26Smrg		basic_machine=i860-alliant
6357706df26Smrg		;;
6367706df26Smrg	genix)
6377706df26Smrg		basic_machine=ns32k-ns
6387706df26Smrg		;;
6397706df26Smrg	gmicro)
6407706df26Smrg		basic_machine=tron-gmicro
6417706df26Smrg		os=-sysv
6427706df26Smrg		;;
6437706df26Smrg	go32)
6447706df26Smrg		basic_machine=i386-pc
6457706df26Smrg		os=-go32
6467706df26Smrg		;;
6477706df26Smrg	h3050r* | hiux*)
6487706df26Smrg		basic_machine=hppa1.1-hitachi
6497706df26Smrg		os=-hiuxwe2
6507706df26Smrg		;;
6517706df26Smrg	h8300hms)
6527706df26Smrg		basic_machine=h8300-hitachi
6537706df26Smrg		os=-hms
6547706df26Smrg		;;
6557706df26Smrg	h8300xray)
6567706df26Smrg		basic_machine=h8300-hitachi
6577706df26Smrg		os=-xray
6587706df26Smrg		;;
6597706df26Smrg	h8500hms)
6607706df26Smrg		basic_machine=h8500-hitachi
6617706df26Smrg		os=-hms
6627706df26Smrg		;;
6637706df26Smrg	harris)
6647706df26Smrg		basic_machine=m88k-harris
6657706df26Smrg		os=-sysv3
6667706df26Smrg		;;
6677706df26Smrg	hp300-*)
6687706df26Smrg		basic_machine=m68k-hp
6697706df26Smrg		;;
6707706df26Smrg	hp300bsd)
6717706df26Smrg		basic_machine=m68k-hp
6727706df26Smrg		os=-bsd
6737706df26Smrg		;;
6747706df26Smrg	hp300hpux)
6757706df26Smrg		basic_machine=m68k-hp
6767706df26Smrg		os=-hpux
6777706df26Smrg		;;
6787706df26Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6797706df26Smrg		basic_machine=hppa1.0-hp
6807706df26Smrg		;;
6817706df26Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6827706df26Smrg		basic_machine=m68000-hp
6837706df26Smrg		;;
6847706df26Smrg	hp9k3[2-9][0-9])
6857706df26Smrg		basic_machine=m68k-hp
6867706df26Smrg		;;
6877706df26Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6887706df26Smrg		basic_machine=hppa1.0-hp
6897706df26Smrg		;;
6907706df26Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6917706df26Smrg		basic_machine=hppa1.1-hp
6927706df26Smrg		;;
6937706df26Smrg	hp9k78[0-9] | hp78[0-9])
6947706df26Smrg		# FIXME: really hppa2.0-hp
6957706df26Smrg		basic_machine=hppa1.1-hp
6967706df26Smrg		;;
6977706df26Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6987706df26Smrg		# FIXME: really hppa2.0-hp
6997706df26Smrg		basic_machine=hppa1.1-hp
7007706df26Smrg		;;
7017706df26Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7027706df26Smrg		basic_machine=hppa1.1-hp
7037706df26Smrg		;;
7047706df26Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7057706df26Smrg		basic_machine=hppa1.0-hp
7067706df26Smrg		;;
7077706df26Smrg	hppa-next)
7087706df26Smrg		os=-nextstep3
7097706df26Smrg		;;
7107706df26Smrg	hppaosf)
7117706df26Smrg		basic_machine=hppa1.1-hp
7127706df26Smrg		os=-osf
7137706df26Smrg		;;
7147706df26Smrg	hppro)
7157706df26Smrg		basic_machine=hppa1.1-hp
7167706df26Smrg		os=-proelf
7177706df26Smrg		;;
7187706df26Smrg	i370-ibm* | ibm*)
7197706df26Smrg		basic_machine=i370-ibm
7207706df26Smrg		;;
7217706df26Smrg	i*86v32)
7227706df26Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7237706df26Smrg		os=-sysv32
7247706df26Smrg		;;
7257706df26Smrg	i*86v4*)
7267706df26Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7277706df26Smrg		os=-sysv4
7287706df26Smrg		;;
7297706df26Smrg	i*86v)
7307706df26Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7317706df26Smrg		os=-sysv
7327706df26Smrg		;;
7337706df26Smrg	i*86sol2)
7347706df26Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7357706df26Smrg		os=-solaris2
7367706df26Smrg		;;
7377706df26Smrg	i386mach)
7387706df26Smrg		basic_machine=i386-mach
7397706df26Smrg		os=-mach
7407706df26Smrg		;;
7417706df26Smrg	i386-vsta | vsta)
7427706df26Smrg		basic_machine=i386-unknown
7437706df26Smrg		os=-vsta
7447706df26Smrg		;;
7457706df26Smrg	iris | iris4d)
7467706df26Smrg		basic_machine=mips-sgi
7477706df26Smrg		case $os in
7487706df26Smrg		    -irix*)
7497706df26Smrg			;;
7507706df26Smrg		    *)
7517706df26Smrg			os=-irix4
7527706df26Smrg			;;
7537706df26Smrg		esac
7547706df26Smrg		;;
7557706df26Smrg	isi68 | isi)
7567706df26Smrg		basic_machine=m68k-isi
7577706df26Smrg		os=-sysv
7587706df26Smrg		;;
759047944f3Smrg	m68knommu)
760047944f3Smrg		basic_machine=m68k-unknown
761047944f3Smrg		os=-linux
762047944f3Smrg		;;
763047944f3Smrg	m68knommu-*)
764047944f3Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
765047944f3Smrg		os=-linux
766047944f3Smrg		;;
7677706df26Smrg	m88k-omron*)
7687706df26Smrg		basic_machine=m88k-omron
7697706df26Smrg		;;
7707706df26Smrg	magnum | m3230)
7717706df26Smrg		basic_machine=mips-mips
7727706df26Smrg		os=-sysv
7737706df26Smrg		;;
7747706df26Smrg	merlin)
7757706df26Smrg		basic_machine=ns32k-utek
7767706df26Smrg		os=-sysv
7777706df26Smrg		;;
778b92e825aSmrg	microblaze)
779b92e825aSmrg		basic_machine=microblaze-xilinx
780b92e825aSmrg		;;
7817706df26Smrg	mingw32)
7827706df26Smrg		basic_machine=i386-pc
7837706df26Smrg		os=-mingw32
7847706df26Smrg		;;
785047944f3Smrg	mingw32ce)
786047944f3Smrg		basic_machine=arm-unknown
787047944f3Smrg		os=-mingw32ce
788047944f3Smrg		;;
7897706df26Smrg	miniframe)
7907706df26Smrg		basic_machine=m68000-convergent
7917706df26Smrg		;;
7927706df26Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7937706df26Smrg		basic_machine=m68k-atari
7947706df26Smrg		os=-mint
7957706df26Smrg		;;
7967706df26Smrg	mips3*-*)
7977706df26Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7987706df26Smrg		;;
7997706df26Smrg	mips3*)
8007706df26Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8017706df26Smrg		;;
8027706df26Smrg	monitor)
8037706df26Smrg		basic_machine=m68k-rom68k
8047706df26Smrg		os=-coff
8057706df26Smrg		;;
8067706df26Smrg	morphos)
8077706df26Smrg		basic_machine=powerpc-unknown
8087706df26Smrg		os=-morphos
8097706df26Smrg		;;
8107706df26Smrg	msdos)
8117706df26Smrg		basic_machine=i386-pc
8127706df26Smrg		os=-msdos
8137706df26Smrg		;;
814047944f3Smrg	ms1-*)
815047944f3Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
816047944f3Smrg		;;
817b92e825aSmrg	msys)
818b92e825aSmrg		basic_machine=i386-pc
819b92e825aSmrg		os=-msys
820b92e825aSmrg		;;
8217706df26Smrg	mvs)
8227706df26Smrg		basic_machine=i370-ibm
8237706df26Smrg		os=-mvs
8247706df26Smrg		;;
825b92e825aSmrg	nacl)
826b92e825aSmrg		basic_machine=le32-unknown
827b92e825aSmrg		os=-nacl
828b92e825aSmrg		;;
8297706df26Smrg	ncr3000)
8307706df26Smrg		basic_machine=i486-ncr
8317706df26Smrg		os=-sysv4
8327706df26Smrg		;;
8337706df26Smrg	netbsd386)
8347706df26Smrg		basic_machine=i386-unknown
8357706df26Smrg		os=-netbsd
8367706df26Smrg		;;
8377706df26Smrg	netwinder)
8387706df26Smrg		basic_machine=armv4l-rebel
8397706df26Smrg		os=-linux
8407706df26Smrg		;;
8417706df26Smrg	news | news700 | news800 | news900)
8427706df26Smrg		basic_machine=m68k-sony
8437706df26Smrg		os=-newsos
8447706df26Smrg		;;
8457706df26Smrg	news1000)
8467706df26Smrg		basic_machine=m68030-sony
8477706df26Smrg		os=-newsos
8487706df26Smrg		;;
8497706df26Smrg	news-3600 | risc-news)
8507706df26Smrg		basic_machine=mips-sony
8517706df26Smrg		os=-newsos
8527706df26Smrg		;;
8537706df26Smrg	necv70)
8547706df26Smrg		basic_machine=v70-nec
8557706df26Smrg		os=-sysv
8567706df26Smrg		;;
8577706df26Smrg	next | m*-next )
8587706df26Smrg		basic_machine=m68k-next
8597706df26Smrg		case $os in
8607706df26Smrg		    -nextstep* )
8617706df26Smrg			;;
8627706df26Smrg		    -ns2*)
8637706df26Smrg		      os=-nextstep2
8647706df26Smrg			;;
8657706df26Smrg		    *)
8667706df26Smrg		      os=-nextstep3
8677706df26Smrg			;;
8687706df26Smrg		esac
8697706df26Smrg		;;
8707706df26Smrg	nh3000)
8717706df26Smrg		basic_machine=m68k-harris
8727706df26Smrg		os=-cxux
8737706df26Smrg		;;
8747706df26Smrg	nh[45]000)
8757706df26Smrg		basic_machine=m88k-harris
8767706df26Smrg		os=-cxux
8777706df26Smrg		;;
8787706df26Smrg	nindy960)
8797706df26Smrg		basic_machine=i960-intel
8807706df26Smrg		os=-nindy
8817706df26Smrg		;;
8827706df26Smrg	mon960)
8837706df26Smrg		basic_machine=i960-intel
8847706df26Smrg		os=-mon960
8857706df26Smrg		;;
8867706df26Smrg	nonstopux)
8877706df26Smrg		basic_machine=mips-compaq
8887706df26Smrg		os=-nonstopux
8897706df26Smrg		;;
8907706df26Smrg	np1)
8917706df26Smrg		basic_machine=np1-gould
8927706df26Smrg		;;
893b92e825aSmrg	neo-tandem)
894b92e825aSmrg		basic_machine=neo-tandem
895b92e825aSmrg		;;
896b92e825aSmrg	nse-tandem)
897b92e825aSmrg		basic_machine=nse-tandem
898b92e825aSmrg		;;
8997706df26Smrg	nsr-tandem)
9007706df26Smrg		basic_machine=nsr-tandem
9017706df26Smrg		;;
9027706df26Smrg	op50n-* | op60c-*)
9037706df26Smrg		basic_machine=hppa1.1-oki
9047706df26Smrg		os=-proelf
9057706df26Smrg		;;
906047944f3Smrg	openrisc | openrisc-*)
9077706df26Smrg		basic_machine=or32-unknown
908047944f3Smrg		;;
909047944f3Smrg	os400)
910047944f3Smrg		basic_machine=powerpc-ibm
911047944f3Smrg		os=-os400
9127706df26Smrg		;;
9137706df26Smrg	OSE68000 | ose68000)
9147706df26Smrg		basic_machine=m68000-ericsson
9157706df26Smrg		os=-ose
9167706df26Smrg		;;
9177706df26Smrg	os68k)
9187706df26Smrg		basic_machine=m68k-none
9197706df26Smrg		os=-os68k
9207706df26Smrg		;;
9217706df26Smrg	pa-hitachi)
9227706df26Smrg		basic_machine=hppa1.1-hitachi
9237706df26Smrg		os=-hiuxwe2
9247706df26Smrg		;;
9257706df26Smrg	paragon)
9267706df26Smrg		basic_machine=i860-intel
9277706df26Smrg		os=-osf
9287706df26Smrg		;;
929047944f3Smrg	parisc)
930047944f3Smrg		basic_machine=hppa-unknown
931047944f3Smrg		os=-linux
932047944f3Smrg		;;
933047944f3Smrg	parisc-*)
934047944f3Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
935047944f3Smrg		os=-linux
936047944f3Smrg		;;
9377706df26Smrg	pbd)
9387706df26Smrg		basic_machine=sparc-tti
9397706df26Smrg		;;
9407706df26Smrg	pbb)
9417706df26Smrg		basic_machine=m68k-tti
9427706df26Smrg		;;
9437706df26Smrg	pc532 | pc532-*)
9447706df26Smrg		basic_machine=ns32k-pc532
9457706df26Smrg		;;
946047944f3Smrg	pc98)
947047944f3Smrg		basic_machine=i386-pc
948047944f3Smrg		;;
949047944f3Smrg	pc98-*)
950047944f3Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
951047944f3Smrg		;;
9527706df26Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9537706df26Smrg		basic_machine=i586-pc
9547706df26Smrg		;;
9557706df26Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9567706df26Smrg		basic_machine=i686-pc
9577706df26Smrg		;;
9587706df26Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9597706df26Smrg		basic_machine=i686-pc
9607706df26Smrg		;;
9617706df26Smrg	pentium4)
9627706df26Smrg		basic_machine=i786-pc
9637706df26Smrg		;;
9647706df26Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9657706df26Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9667706df26Smrg		;;
9677706df26Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9687706df26Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9697706df26Smrg		;;
9707706df26Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9717706df26Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9727706df26Smrg		;;
9737706df26Smrg	pentium4-*)
9747706df26Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9757706df26Smrg		;;
9767706df26Smrg	pn)
9777706df26Smrg		basic_machine=pn-gould
9787706df26Smrg		;;
9797706df26Smrg	power)	basic_machine=power-ibm
9807706df26Smrg		;;
981b92e825aSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
9827706df26Smrg		;;
983b92e825aSmrg	ppc-* | ppcbe-*)
984b92e825aSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9857706df26Smrg		;;
9867706df26Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9877706df26Smrg		basic_machine=powerpcle-unknown
9887706df26Smrg		;;
9897706df26Smrg	ppcle-* | powerpclittle-*)
9907706df26Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9917706df26Smrg		;;
9927706df26Smrg	ppc64)	basic_machine=powerpc64-unknown
9937706df26Smrg		;;
9947706df26Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9957706df26Smrg		;;
9967706df26Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9977706df26Smrg		basic_machine=powerpc64le-unknown
9987706df26Smrg		;;
9997706df26Smrg	ppc64le-* | powerpc64little-*)
10007706df26Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10017706df26Smrg		;;
10027706df26Smrg	ps2)
10037706df26Smrg		basic_machine=i386-ibm
10047706df26Smrg		;;
10057706df26Smrg	pw32)
10067706df26Smrg		basic_machine=i586-unknown
10077706df26Smrg		os=-pw32
10087706df26Smrg		;;
1009047944f3Smrg	rdos)
1010047944f3Smrg		basic_machine=i386-pc
1011047944f3Smrg		os=-rdos
1012047944f3Smrg		;;
10137706df26Smrg	rom68k)
10147706df26Smrg		basic_machine=m68k-rom68k
10157706df26Smrg		os=-coff
10167706df26Smrg		;;
10177706df26Smrg	rm[46]00)
10187706df26Smrg		basic_machine=mips-siemens
10197706df26Smrg		;;
10207706df26Smrg	rtpc | rtpc-*)
10217706df26Smrg		basic_machine=romp-ibm
10227706df26Smrg		;;
1023047944f3Smrg	s390 | s390-*)
1024047944f3Smrg		basic_machine=s390-ibm
1025047944f3Smrg		;;
1026047944f3Smrg	s390x | s390x-*)
1027047944f3Smrg		basic_machine=s390x-ibm
1028047944f3Smrg		;;
10297706df26Smrg	sa29200)
10307706df26Smrg		basic_machine=a29k-amd
10317706df26Smrg		os=-udi
10327706df26Smrg		;;
10337706df26Smrg	sb1)
10347706df26Smrg		basic_machine=mipsisa64sb1-unknown
10357706df26Smrg		;;
10367706df26Smrg	sb1el)
10377706df26Smrg		basic_machine=mipsisa64sb1el-unknown
10387706df26Smrg		;;
1039047944f3Smrg	sde)
1040047944f3Smrg		basic_machine=mipsisa32-sde
1041047944f3Smrg		os=-elf
1042047944f3Smrg		;;
10437706df26Smrg	sei)
10447706df26Smrg		basic_machine=mips-sei
10457706df26Smrg		os=-seiux
10467706df26Smrg		;;
10477706df26Smrg	sequent)
10487706df26Smrg		basic_machine=i386-sequent
10497706df26Smrg		;;
10507706df26Smrg	sh)
10517706df26Smrg		basic_machine=sh-hitachi
10527706df26Smrg		os=-hms
10537706df26Smrg		;;
1054047944f3Smrg	sh5el)
1055047944f3Smrg		basic_machine=sh5le-unknown
1056047944f3Smrg		;;
10577706df26Smrg	sh64)
10587706df26Smrg		basic_machine=sh64-unknown
10597706df26Smrg		;;
10607706df26Smrg	sparclite-wrs | simso-wrs)
10617706df26Smrg		basic_machine=sparclite-wrs
10627706df26Smrg		os=-vxworks
10637706df26Smrg		;;
10647706df26Smrg	sps7)
10657706df26Smrg		basic_machine=m68k-bull
10667706df26Smrg		os=-sysv2
10677706df26Smrg		;;
10687706df26Smrg	spur)
10697706df26Smrg		basic_machine=spur-unknown
10707706df26Smrg		;;
10717706df26Smrg	st2000)
10727706df26Smrg		basic_machine=m68k-tandem
10737706df26Smrg		;;
10747706df26Smrg	stratus)
10757706df26Smrg		basic_machine=i860-stratus
10767706df26Smrg		os=-sysv4
10777706df26Smrg		;;
1078b92e825aSmrg	strongarm-* | thumb-*)
1079b92e825aSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1080b92e825aSmrg		;;
10817706df26Smrg	sun2)
10827706df26Smrg		basic_machine=m68000-sun
10837706df26Smrg		;;
10847706df26Smrg	sun2os3)
10857706df26Smrg		basic_machine=m68000-sun
10867706df26Smrg		os=-sunos3
10877706df26Smrg		;;
10887706df26Smrg	sun2os4)
10897706df26Smrg		basic_machine=m68000-sun
10907706df26Smrg		os=-sunos4
10917706df26Smrg		;;
10927706df26Smrg	sun3os3)
10937706df26Smrg		basic_machine=m68k-sun
10947706df26Smrg		os=-sunos3
10957706df26Smrg		;;
10967706df26Smrg	sun3os4)
10977706df26Smrg		basic_machine=m68k-sun
10987706df26Smrg		os=-sunos4
10997706df26Smrg		;;
11007706df26Smrg	sun4os3)
11017706df26Smrg		basic_machine=sparc-sun
11027706df26Smrg		os=-sunos3
11037706df26Smrg		;;
11047706df26Smrg	sun4os4)
11057706df26Smrg		basic_machine=sparc-sun
11067706df26Smrg		os=-sunos4
11077706df26Smrg		;;
11087706df26Smrg	sun4sol2)
11097706df26Smrg		basic_machine=sparc-sun
11107706df26Smrg		os=-solaris2
11117706df26Smrg		;;
11127706df26Smrg	sun3 | sun3-*)
11137706df26Smrg		basic_machine=m68k-sun
11147706df26Smrg		;;
11157706df26Smrg	sun4)
11167706df26Smrg		basic_machine=sparc-sun
11177706df26Smrg		;;
11187706df26Smrg	sun386 | sun386i | roadrunner)
11197706df26Smrg		basic_machine=i386-sun
11207706df26Smrg		;;
11217706df26Smrg	sv1)
11227706df26Smrg		basic_machine=sv1-cray
11237706df26Smrg		os=-unicos
11247706df26Smrg		;;
11257706df26Smrg	symmetry)
11267706df26Smrg		basic_machine=i386-sequent
11277706df26Smrg		os=-dynix
11287706df26Smrg		;;
11297706df26Smrg	t3e)
11307706df26Smrg		basic_machine=alphaev5-cray
11317706df26Smrg		os=-unicos
11327706df26Smrg		;;
11337706df26Smrg	t90)
11347706df26Smrg		basic_machine=t90-cray
11357706df26Smrg		os=-unicos
11367706df26Smrg		;;
1137047944f3Smrg	tile*)
1138b92e825aSmrg		basic_machine=$basic_machine-unknown
1139047944f3Smrg		os=-linux-gnu
1140047944f3Smrg		;;
11417706df26Smrg	tx39)
11427706df26Smrg		basic_machine=mipstx39-unknown
11437706df26Smrg		;;
11447706df26Smrg	tx39el)
11457706df26Smrg		basic_machine=mipstx39el-unknown
11467706df26Smrg		;;
11477706df26Smrg	toad1)
11487706df26Smrg		basic_machine=pdp10-xkl
11497706df26Smrg		os=-tops20
11507706df26Smrg		;;
11517706df26Smrg	tower | tower-32)
11527706df26Smrg		basic_machine=m68k-ncr
11537706df26Smrg		;;
1154047944f3Smrg	tpf)
1155047944f3Smrg		basic_machine=s390x-ibm
1156047944f3Smrg		os=-tpf
1157047944f3Smrg		;;
11587706df26Smrg	udi29k)
11597706df26Smrg		basic_machine=a29k-amd
11607706df26Smrg		os=-udi
11617706df26Smrg		;;
11627706df26Smrg	ultra3)
11637706df26Smrg		basic_machine=a29k-nyu
11647706df26Smrg		os=-sym1
11657706df26Smrg		;;
11667706df26Smrg	v810 | necv810)
11677706df26Smrg		basic_machine=v810-nec
11687706df26Smrg		os=-none
11697706df26Smrg		;;
11707706df26Smrg	vaxv)
11717706df26Smrg		basic_machine=vax-dec
11727706df26Smrg		os=-sysv
11737706df26Smrg		;;
11747706df26Smrg	vms)
11757706df26Smrg		basic_machine=vax-dec
11767706df26Smrg		os=-vms
11777706df26Smrg		;;
11787706df26Smrg	vpp*|vx|vx-*)
11797706df26Smrg		basic_machine=f301-fujitsu
11807706df26Smrg		;;
11817706df26Smrg	vxworks960)
11827706df26Smrg		basic_machine=i960-wrs
11837706df26Smrg		os=-vxworks
11847706df26Smrg		;;
11857706df26Smrg	vxworks68)
11867706df26Smrg		basic_machine=m68k-wrs
11877706df26Smrg		os=-vxworks
11887706df26Smrg		;;
11897706df26Smrg	vxworks29k)
11907706df26Smrg		basic_machine=a29k-wrs
11917706df26Smrg		os=-vxworks
11927706df26Smrg		;;
11937706df26Smrg	w65*)
11947706df26Smrg		basic_machine=w65-wdc
11957706df26Smrg		os=-none
11967706df26Smrg		;;
11977706df26Smrg	w89k-*)
11987706df26Smrg		basic_machine=hppa1.1-winbond
11997706df26Smrg		os=-proelf
12007706df26Smrg		;;
1201047944f3Smrg	xbox)
1202047944f3Smrg		basic_machine=i686-pc
1203047944f3Smrg		os=-mingw32
1204047944f3Smrg		;;
12057706df26Smrg	xps | xps100)
12067706df26Smrg		basic_machine=xps100-honeywell
12077706df26Smrg		;;
1208b92e825aSmrg	xscale-* | xscalee[bl]-*)
1209b92e825aSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1210b92e825aSmrg		;;
12117706df26Smrg	ymp)
12127706df26Smrg		basic_machine=ymp-cray
12137706df26Smrg		os=-unicos
12147706df26Smrg		;;
12157706df26Smrg	z8k-*-coff)
12167706df26Smrg		basic_machine=z8k-unknown
12177706df26Smrg		os=-sim
12187706df26Smrg		;;
1219b92e825aSmrg	z80-*-coff)
1220b92e825aSmrg		basic_machine=z80-unknown
1221b92e825aSmrg		os=-sim
1222b92e825aSmrg		;;
12237706df26Smrg	none)
12247706df26Smrg		basic_machine=none-none
12257706df26Smrg		os=-none
12267706df26Smrg		;;
12277706df26Smrg
12287706df26Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12297706df26Smrg# some cases the only manufacturer, in others, it is the most popular.
12307706df26Smrg	w89k)
12317706df26Smrg		basic_machine=hppa1.1-winbond
12327706df26Smrg		;;
12337706df26Smrg	op50n)
12347706df26Smrg		basic_machine=hppa1.1-oki
12357706df26Smrg		;;
12367706df26Smrg	op60c)
12377706df26Smrg		basic_machine=hppa1.1-oki
12387706df26Smrg		;;
12397706df26Smrg	romp)
12407706df26Smrg		basic_machine=romp-ibm
12417706df26Smrg		;;
1242047944f3Smrg	mmix)
1243047944f3Smrg		basic_machine=mmix-knuth
1244047944f3Smrg		;;
12457706df26Smrg	rs6000)
12467706df26Smrg		basic_machine=rs6000-ibm
12477706df26Smrg		;;
12487706df26Smrg	vax)
12497706df26Smrg		basic_machine=vax-dec
12507706df26Smrg		;;
12517706df26Smrg	pdp10)
12527706df26Smrg		# there are many clones, so DEC is not a safe bet
12537706df26Smrg		basic_machine=pdp10-unknown
12547706df26Smrg		;;
12557706df26Smrg	pdp11)
12567706df26Smrg		basic_machine=pdp11-dec
12577706df26Smrg		;;
12587706df26Smrg	we32k)
12597706df26Smrg		basic_machine=we32k-att
12607706df26Smrg		;;
1261b92e825aSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12627706df26Smrg		basic_machine=sh-unknown
12637706df26Smrg		;;
1264047944f3Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12657706df26Smrg		basic_machine=sparc-sun
12667706df26Smrg		;;
12677706df26Smrg	cydra)
12687706df26Smrg		basic_machine=cydra-cydrome
12697706df26Smrg		;;
12707706df26Smrg	orion)
12717706df26Smrg		basic_machine=orion-highlevel
12727706df26Smrg		;;
12737706df26Smrg	orion105)
12747706df26Smrg		basic_machine=clipper-highlevel
12757706df26Smrg		;;
12767706df26Smrg	mac | mpw | mac-mpw)
12777706df26Smrg		basic_machine=m68k-apple
12787706df26Smrg		;;
12797706df26Smrg	pmac | pmac-mpw)
12807706df26Smrg		basic_machine=powerpc-apple
12817706df26Smrg		;;
12827706df26Smrg	*-unknown)
12837706df26Smrg		# Make sure to match an already-canonicalized machine name.
12847706df26Smrg		;;
12857706df26Smrg	*)
12867706df26Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12877706df26Smrg		exit 1
12887706df26Smrg		;;
12897706df26Smrgesac
12907706df26Smrg
12917706df26Smrg# Here we canonicalize certain aliases for manufacturers.
12927706df26Smrgcase $basic_machine in
12937706df26Smrg	*-digital*)
12947706df26Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12957706df26Smrg		;;
12967706df26Smrg	*-commodore*)
12977706df26Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12987706df26Smrg		;;
12997706df26Smrg	*)
13007706df26Smrg		;;
13017706df26Smrgesac
13027706df26Smrg
13037706df26Smrg# Decode manufacturer-specific aliases for certain operating systems.
13047706df26Smrg
13057706df26Smrgif [ x"$os" != x"" ]
13067706df26Smrgthen
13077706df26Smrgcase $os in
1308b92e825aSmrg	# First match some system type aliases
1309b92e825aSmrg	# that might get confused with valid system types.
13107706df26Smrg	# -solaris* is a basic system type, with this one exception.
1311b92e825aSmrg	-auroraux)
1312b92e825aSmrg		os=-auroraux
1313b92e825aSmrg		;;
13147706df26Smrg	-solaris1 | -solaris1.*)
13157706df26Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13167706df26Smrg		;;
13177706df26Smrg	-solaris)
13187706df26Smrg		os=-solaris2
13197706df26Smrg		;;
13207706df26Smrg	-svr4*)
13217706df26Smrg		os=-sysv4
13227706df26Smrg		;;
13237706df26Smrg	-unixware*)
13247706df26Smrg		os=-sysv4.2uw
13257706df26Smrg		;;
13267706df26Smrg	-gnu/linux*)
13277706df26Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13287706df26Smrg		;;
13297706df26Smrg	# First accept the basic system types.
13307706df26Smrg	# The portable systems comes first.
13317706df26Smrg	# Each alternative MUST END IN A *, to match a version number.
13327706df26Smrg	# -sysv* is not here because it comes later, after sysvr4.
13337706df26Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1334b92e825aSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1335b92e825aSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1336b92e825aSmrg	      | -sym* | -kopensolaris* \
13377706df26Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1338b92e825aSmrg	      | -aos* | -aros* \
13397706df26Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13407706df26Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1341047944f3Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1342047944f3Smrg	      | -openbsd* | -solidbsd* \
1343047944f3Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1344047944f3Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13457706df26Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13467706df26Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1347b92e825aSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1348b92e825aSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1349b92e825aSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1350b92e825aSmrg	      | -linux-newlib* | -linux-uclibc* \
1351047944f3Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13527706df26Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13537706df26Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13547706df26Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13557706df26Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13567706df26Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1357047944f3Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1358b92e825aSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13597706df26Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13607706df26Smrg		;;
13617706df26Smrg	-qnx*)
13627706df26Smrg		case $basic_machine in
13637706df26Smrg		    x86-* | i*86-*)
13647706df26Smrg			;;
13657706df26Smrg		    *)
13667706df26Smrg			os=-nto$os
13677706df26Smrg			;;
13687706df26Smrg		esac
13697706df26Smrg		;;
13707706df26Smrg	-nto-qnx*)
13717706df26Smrg		;;
13727706df26Smrg	-nto*)
13737706df26Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13747706df26Smrg		;;
13757706df26Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1376047944f3Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13777706df26Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13787706df26Smrg		;;
13797706df26Smrg	-mac*)
13807706df26Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13817706df26Smrg		;;
1382047944f3Smrg	-linux-dietlibc)
1383047944f3Smrg		os=-linux-dietlibc
1384047944f3Smrg		;;
13857706df26Smrg	-linux*)
13867706df26Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13877706df26Smrg		;;
13887706df26Smrg	-sunos5*)
13897706df26Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13907706df26Smrg		;;
13917706df26Smrg	-sunos6*)
13927706df26Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13937706df26Smrg		;;
13947706df26Smrg	-opened*)
13957706df26Smrg		os=-openedition
13967706df26Smrg		;;
1397b92e825aSmrg	-os400*)
1398047944f3Smrg		os=-os400
1399047944f3Smrg		;;
14007706df26Smrg	-wince*)
14017706df26Smrg		os=-wince
14027706df26Smrg		;;
14037706df26Smrg	-osfrose*)
14047706df26Smrg		os=-osfrose
14057706df26Smrg		;;
14067706df26Smrg	-osf*)
14077706df26Smrg		os=-osf
14087706df26Smrg		;;
14097706df26Smrg	-utek*)
14107706df26Smrg		os=-bsd
14117706df26Smrg		;;
14127706df26Smrg	-dynix*)
14137706df26Smrg		os=-bsd
14147706df26Smrg		;;
14157706df26Smrg	-acis*)
14167706df26Smrg		os=-aos
14177706df26Smrg		;;
14187706df26Smrg	-atheos*)
14197706df26Smrg		os=-atheos
14207706df26Smrg		;;
1421047944f3Smrg	-syllable*)
1422047944f3Smrg		os=-syllable
1423047944f3Smrg		;;
14247706df26Smrg	-386bsd)
14257706df26Smrg		os=-bsd
14267706df26Smrg		;;
14277706df26Smrg	-ctix* | -uts*)
14287706df26Smrg		os=-sysv
14297706df26Smrg		;;
14307706df26Smrg	-nova*)
14317706df26Smrg		os=-rtmk-nova
14327706df26Smrg		;;
14337706df26Smrg	-ns2 )
14347706df26Smrg		os=-nextstep2
14357706df26Smrg		;;
14367706df26Smrg	-nsk*)
14377706df26Smrg		os=-nsk
14387706df26Smrg		;;
14397706df26Smrg	# Preserve the version number of sinix5.
14407706df26Smrg	-sinix5.*)
14417706df26Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14427706df26Smrg		;;
14437706df26Smrg	-sinix*)
14447706df26Smrg		os=-sysv4
14457706df26Smrg		;;
1446b92e825aSmrg	-tpf*)
1447047944f3Smrg		os=-tpf
1448047944f3Smrg		;;
14497706df26Smrg	-triton*)
14507706df26Smrg		os=-sysv3
14517706df26Smrg		;;
14527706df26Smrg	-oss*)
14537706df26Smrg		os=-sysv3
14547706df26Smrg		;;
14557706df26Smrg	-svr4)
14567706df26Smrg		os=-sysv4
14577706df26Smrg		;;
14587706df26Smrg	-svr3)
14597706df26Smrg		os=-sysv3
14607706df26Smrg		;;
14617706df26Smrg	-sysvr4)
14627706df26Smrg		os=-sysv4
14637706df26Smrg		;;
14647706df26Smrg	# This must come after -sysvr4.
14657706df26Smrg	-sysv*)
14667706df26Smrg		;;
14677706df26Smrg	-ose*)
14687706df26Smrg		os=-ose
14697706df26Smrg		;;
14707706df26Smrg	-es1800*)
14717706df26Smrg		os=-ose
14727706df26Smrg		;;
14737706df26Smrg	-xenix)
14747706df26Smrg		os=-xenix
14757706df26Smrg		;;
14767706df26Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14777706df26Smrg		os=-mint
14787706df26Smrg		;;
14797706df26Smrg	-aros*)
14807706df26Smrg		os=-aros
14817706df26Smrg		;;
14827706df26Smrg	-kaos*)
14837706df26Smrg		os=-kaos
14847706df26Smrg		;;
1485047944f3Smrg	-zvmoe)
1486047944f3Smrg		os=-zvmoe
1487047944f3Smrg		;;
1488b92e825aSmrg	-dicos*)
1489b92e825aSmrg		os=-dicos
1490b92e825aSmrg		;;
1491b92e825aSmrg	-nacl*)
1492b92e825aSmrg		;;
14937706df26Smrg	-none)
14947706df26Smrg		;;
14957706df26Smrg	*)
14967706df26Smrg		# Get rid of the `-' at the beginning of $os.
14977706df26Smrg		os=`echo $os | sed 's/[^-]*-//'`
14987706df26Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14997706df26Smrg		exit 1
15007706df26Smrg		;;
15017706df26Smrgesac
15027706df26Smrgelse
15037706df26Smrg
15047706df26Smrg# Here we handle the default operating systems that come with various machines.
15057706df26Smrg# The value should be what the vendor currently ships out the door with their
15067706df26Smrg# machine or put another way, the most popular os provided with the machine.
15077706df26Smrg
15087706df26Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15097706df26Smrg# "-sun"), then you have to tell the case statement up towards the top
15107706df26Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15117706df26Smrg# will signal an error saying that MANUFACTURER isn't an operating
15127706df26Smrg# system, and we'll never get to this point.
15137706df26Smrg
15147706df26Smrgcase $basic_machine in
1515b92e825aSmrg	score-*)
1516047944f3Smrg		os=-elf
1517047944f3Smrg		;;
1518b92e825aSmrg	spu-*)
1519047944f3Smrg		os=-elf
1520047944f3Smrg		;;
15217706df26Smrg	*-acorn)
15227706df26Smrg		os=-riscix1.2
15237706df26Smrg		;;
15247706df26Smrg	arm*-rebel)
15257706df26Smrg		os=-linux
15267706df26Smrg		;;
15277706df26Smrg	arm*-semi)
15287706df26Smrg		os=-aout
15297706df26Smrg		;;
1530b92e825aSmrg	c4x-* | tic4x-*)
1531b92e825aSmrg		os=-coff
1532b92e825aSmrg		;;
1533b92e825aSmrg	tic54x-*)
1534b92e825aSmrg		os=-coff
1535b92e825aSmrg		;;
1536b92e825aSmrg	tic55x-*)
1537b92e825aSmrg		os=-coff
1538b92e825aSmrg		;;
1539b92e825aSmrg	tic6x-*)
1540b92e825aSmrg		os=-coff
15417706df26Smrg		;;
15427706df26Smrg	# This must come before the *-dec entry.
15437706df26Smrg	pdp10-*)
15447706df26Smrg		os=-tops20
15457706df26Smrg		;;
15467706df26Smrg	pdp11-*)
15477706df26Smrg		os=-none
15487706df26Smrg		;;
15497706df26Smrg	*-dec | vax-*)
15507706df26Smrg		os=-ultrix4.2
15517706df26Smrg		;;
15527706df26Smrg	m68*-apollo)
15537706df26Smrg		os=-domain
15547706df26Smrg		;;
15557706df26Smrg	i386-sun)
15567706df26Smrg		os=-sunos4.0.2
15577706df26Smrg		;;
15587706df26Smrg	m68000-sun)
15597706df26Smrg		os=-sunos3
15607706df26Smrg		;;
15617706df26Smrg	m68*-cisco)
15627706df26Smrg		os=-aout
15637706df26Smrg		;;
1564b92e825aSmrg	mep-*)
1565047944f3Smrg		os=-elf
1566047944f3Smrg		;;
15677706df26Smrg	mips*-cisco)
15687706df26Smrg		os=-elf
15697706df26Smrg		;;
15707706df26Smrg	mips*-*)
15717706df26Smrg		os=-elf
15727706df26Smrg		;;
15737706df26Smrg	or32-*)
15747706df26Smrg		os=-coff
15757706df26Smrg		;;
15767706df26Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15777706df26Smrg		os=-sysv3
15787706df26Smrg		;;
15797706df26Smrg	sparc-* | *-sun)
15807706df26Smrg		os=-sunos4.1.1
15817706df26Smrg		;;
15827706df26Smrg	*-be)
15837706df26Smrg		os=-beos
15847706df26Smrg		;;
1585047944f3Smrg	*-haiku)
1586047944f3Smrg		os=-haiku
1587047944f3Smrg		;;
15887706df26Smrg	*-ibm)
15897706df26Smrg		os=-aix
15907706df26Smrg		;;
1591b92e825aSmrg	*-knuth)
1592047944f3Smrg		os=-mmixware
1593047944f3Smrg		;;
15947706df26Smrg	*-wec)
15957706df26Smrg		os=-proelf
15967706df26Smrg		;;
15977706df26Smrg	*-winbond)
15987706df26Smrg		os=-proelf
15997706df26Smrg		;;
16007706df26Smrg	*-oki)
16017706df26Smrg		os=-proelf
16027706df26Smrg		;;
16037706df26Smrg	*-hp)
16047706df26Smrg		os=-hpux
16057706df26Smrg		;;
16067706df26Smrg	*-hitachi)
16077706df26Smrg		os=-hiux
16087706df26Smrg		;;
16097706df26Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16107706df26Smrg		os=-sysv
16117706df26Smrg		;;
16127706df26Smrg	*-cbm)
16137706df26Smrg		os=-amigaos
16147706df26Smrg		;;
16157706df26Smrg	*-dg)
16167706df26Smrg		os=-dgux
16177706df26Smrg		;;
16187706df26Smrg	*-dolphin)
16197706df26Smrg		os=-sysv3
16207706df26Smrg		;;
16217706df26Smrg	m68k-ccur)
16227706df26Smrg		os=-rtu
16237706df26Smrg		;;
16247706df26Smrg	m88k-omron*)
16257706df26Smrg		os=-luna
16267706df26Smrg		;;
16277706df26Smrg	*-next )
16287706df26Smrg		os=-nextstep
16297706df26Smrg		;;
16307706df26Smrg	*-sequent)
16317706df26Smrg		os=-ptx
16327706df26Smrg		;;
16337706df26Smrg	*-crds)
16347706df26Smrg		os=-unos
16357706df26Smrg		;;
16367706df26Smrg	*-ns)
16377706df26Smrg		os=-genix
16387706df26Smrg		;;
16397706df26Smrg	i370-*)
16407706df26Smrg		os=-mvs
16417706df26Smrg		;;
16427706df26Smrg	*-next)
16437706df26Smrg		os=-nextstep3
16447706df26Smrg		;;
16457706df26Smrg	*-gould)
16467706df26Smrg		os=-sysv
16477706df26Smrg		;;
16487706df26Smrg	*-highlevel)
16497706df26Smrg		os=-bsd
16507706df26Smrg		;;
16517706df26Smrg	*-encore)
16527706df26Smrg		os=-bsd
16537706df26Smrg		;;
16547706df26Smrg	*-sgi)
16557706df26Smrg		os=-irix
16567706df26Smrg		;;
16577706df26Smrg	*-siemens)
16587706df26Smrg		os=-sysv4
16597706df26Smrg		;;
16607706df26Smrg	*-masscomp)
16617706df26Smrg		os=-rtu
16627706df26Smrg		;;
16637706df26Smrg	f30[01]-fujitsu | f700-fujitsu)
16647706df26Smrg		os=-uxpv
16657706df26Smrg		;;
16667706df26Smrg	*-rom68k)
16677706df26Smrg		os=-coff
16687706df26Smrg		;;
16697706df26Smrg	*-*bug)
16707706df26Smrg		os=-coff
16717706df26Smrg		;;
16727706df26Smrg	*-apple)
16737706df26Smrg		os=-macos
16747706df26Smrg		;;
16757706df26Smrg	*-atari*)
16767706df26Smrg		os=-mint
16777706df26Smrg		;;
16787706df26Smrg	*)
16797706df26Smrg		os=-none
16807706df26Smrg		;;
16817706df26Smrgesac
16827706df26Smrgfi
16837706df26Smrg
16847706df26Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16857706df26Smrg# manufacturer.  We pick the logical manufacturer.
16867706df26Smrgvendor=unknown
16877706df26Smrgcase $basic_machine in
16887706df26Smrg	*-unknown)
16897706df26Smrg		case $os in
16907706df26Smrg			-riscix*)
16917706df26Smrg				vendor=acorn
16927706df26Smrg				;;
16937706df26Smrg			-sunos*)
16947706df26Smrg				vendor=sun
16957706df26Smrg				;;
1696b92e825aSmrg			-cnk*|-aix*)
16977706df26Smrg				vendor=ibm
16987706df26Smrg				;;
16997706df26Smrg			-beos*)
17007706df26Smrg				vendor=be
17017706df26Smrg				;;
17027706df26Smrg			-hpux*)
17037706df26Smrg				vendor=hp
17047706df26Smrg				;;
17057706df26Smrg			-mpeix*)
17067706df26Smrg				vendor=hp
17077706df26Smrg				;;
17087706df26Smrg			-hiux*)
17097706df26Smrg				vendor=hitachi
17107706df26Smrg				;;
17117706df26Smrg			-unos*)
17127706df26Smrg				vendor=crds
17137706df26Smrg				;;
17147706df26Smrg			-dgux*)
17157706df26Smrg				vendor=dg
17167706df26Smrg				;;
17177706df26Smrg			-luna*)
17187706df26Smrg				vendor=omron
17197706df26Smrg				;;
17207706df26Smrg			-genix*)
17217706df26Smrg				vendor=ns
17227706df26Smrg				;;
17237706df26Smrg			-mvs* | -opened*)
17247706df26Smrg				vendor=ibm
17257706df26Smrg				;;
1726047944f3Smrg			-os400*)
1727047944f3Smrg				vendor=ibm
1728047944f3Smrg				;;
17297706df26Smrg			-ptx*)
17307706df26Smrg				vendor=sequent
17317706df26Smrg				;;
1732047944f3Smrg			-tpf*)
1733047944f3Smrg				vendor=ibm
1734047944f3Smrg				;;
17357706df26Smrg			-vxsim* | -vxworks* | -windiss*)
17367706df26Smrg				vendor=wrs
17377706df26Smrg				;;
17387706df26Smrg			-aux*)
17397706df26Smrg				vendor=apple
17407706df26Smrg				;;
17417706df26Smrg			-hms*)
17427706df26Smrg				vendor=hitachi
17437706df26Smrg				;;
17447706df26Smrg			-mpw* | -macos*)
17457706df26Smrg				vendor=apple
17467706df26Smrg				;;
17477706df26Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17487706df26Smrg				vendor=atari
17497706df26Smrg				;;
17507706df26Smrg			-vos*)
17517706df26Smrg				vendor=stratus
17527706df26Smrg				;;
17537706df26Smrg		esac
17547706df26Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17557706df26Smrg		;;
17567706df26Smrgesac
17577706df26Smrg
17587706df26Smrgecho $basic_machine$os
1759047944f3Smrgexit
17607706df26Smrg
17617706df26Smrg# Local variables:
17627706df26Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17637706df26Smrg# time-stamp-start: "timestamp='"
17647706df26Smrg# time-stamp-format: "%:y-%02m-%02d"
17657706df26Smrg# time-stamp-end: "'"
17667706df26Smrg# End:
1767