config.sub revision 8abc0ccf
17a0395d0Smrg#! /bin/sh
27a0395d0Smrg# Configuration validation subroutine script.
37a0395d0Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
48abc0ccfSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
58abc0ccfSmrg#   2011, 2012 Free Software Foundation, Inc.
67a0395d0Smrg
78abc0ccfSmrgtimestamp='2012-04-18'
87a0395d0Smrg
97a0395d0Smrg# This file is (in principle) common to ALL GNU software.
107a0395d0Smrg# The presence of a machine in this file suggests that SOME GNU software
117a0395d0Smrg# can handle that machine.  It does not imply ALL GNU software can.
127a0395d0Smrg#
137a0395d0Smrg# This file is free software; you can redistribute it and/or modify
147a0395d0Smrg# it under the terms of the GNU General Public License as published by
157a0395d0Smrg# the Free Software Foundation; either version 2 of the License, or
167a0395d0Smrg# (at your option) any later version.
177a0395d0Smrg#
187a0395d0Smrg# This program is distributed in the hope that it will be useful,
197a0395d0Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
207a0395d0Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
217a0395d0Smrg# GNU General Public License for more details.
227a0395d0Smrg#
237a0395d0Smrg# You should have received a copy of the GNU General Public License
248abc0ccfSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
257a0395d0Smrg#
267a0395d0Smrg# As a special exception to the GNU General Public License, if you
277a0395d0Smrg# distribute this file as part of a program that contains a
287a0395d0Smrg# configuration script generated by Autoconf, you may include it under
297a0395d0Smrg# the same distribution terms that you use for the rest of that program.
307a0395d0Smrg
317a0395d0Smrg
327a0395d0Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
332adc0320Smrg# diff and a properly formatted GNU ChangeLog entry.
347a0395d0Smrg#
357a0395d0Smrg# Configuration subroutine to validate and canonicalize a configuration type.
367a0395d0Smrg# Supply the specified configuration type as an argument.
377a0395d0Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
387a0395d0Smrg# Otherwise, we print the canonical config type on stdout and succeed.
397a0395d0Smrg
402adc0320Smrg# You can get the latest version of this script from:
412adc0320Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
422adc0320Smrg
437a0395d0Smrg# This file is supposed to be the same for all GNU packages
447a0395d0Smrg# and recognize all the CPU types, system types and aliases
457a0395d0Smrg# that are meaningful with *any* GNU software.
467a0395d0Smrg# Each package is responsible for reporting which valid configurations
477a0395d0Smrg# it does not support.  The user should be able to distinguish
487a0395d0Smrg# a failure to support a valid configuration from a meaningless
497a0395d0Smrg# configuration.
507a0395d0Smrg
517a0395d0Smrg# The goal of this file is to map all the various variations of a given
527a0395d0Smrg# machine specification into a single specification in the form:
537a0395d0Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
547a0395d0Smrg# or in some cases, the newer four-part form:
557a0395d0Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
567a0395d0Smrg# It is wrong to echo any other type of specification.
577a0395d0Smrg
587a0395d0Smrgme=`echo "$0" | sed -e 's,.*/,,'`
597a0395d0Smrg
607a0395d0Smrgusage="\
617a0395d0SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
627a0395d0Smrg       $0 [OPTION] ALIAS
637a0395d0Smrg
647a0395d0SmrgCanonicalize a configuration name.
657a0395d0Smrg
667a0395d0SmrgOperation modes:
677a0395d0Smrg  -h, --help         print this help, then exit
687a0395d0Smrg  -t, --time-stamp   print date of last modification, then exit
697a0395d0Smrg  -v, --version      print version number, then exit
707a0395d0Smrg
717a0395d0SmrgReport bugs and patches to <config-patches@gnu.org>."
727a0395d0Smrg
737a0395d0Smrgversion="\
747a0395d0SmrgGNU config.sub ($timestamp)
757a0395d0Smrg
7696402570SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
778abc0ccfSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
788abc0ccfSmrgFree Software Foundation, Inc.
797a0395d0Smrg
807a0395d0SmrgThis is free software; see the source for copying conditions.  There is NO
817a0395d0Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
827a0395d0Smrg
837a0395d0Smrghelp="
847a0395d0SmrgTry \`$me --help' for more information."
857a0395d0Smrg
867a0395d0Smrg# Parse command line
877a0395d0Smrgwhile test $# -gt 0 ; do
887a0395d0Smrg  case $1 in
897a0395d0Smrg    --time-stamp | --time* | -t )
907a0395d0Smrg       echo "$timestamp" ; exit ;;
917a0395d0Smrg    --version | -v )
927a0395d0Smrg       echo "$version" ; exit ;;
937a0395d0Smrg    --help | --h* | -h )
947a0395d0Smrg       echo "$usage"; exit ;;
957a0395d0Smrg    -- )     # Stop option processing
967a0395d0Smrg       shift; break ;;
977a0395d0Smrg    - )	# Use stdin as input.
987a0395d0Smrg       break ;;
997a0395d0Smrg    -* )
1007a0395d0Smrg       echo "$me: invalid option $1$help"
1017a0395d0Smrg       exit 1 ;;
1027a0395d0Smrg
1037a0395d0Smrg    *local*)
1047a0395d0Smrg       # First pass through any local machine types.
1057a0395d0Smrg       echo $1
1067a0395d0Smrg       exit ;;
1077a0395d0Smrg
1087a0395d0Smrg    * )
1097a0395d0Smrg       break ;;
1107a0395d0Smrg  esac
1117a0395d0Smrgdone
1127a0395d0Smrg
1137a0395d0Smrgcase $# in
1147a0395d0Smrg 0) echo "$me: missing argument$help" >&2
1157a0395d0Smrg    exit 1;;
1167a0395d0Smrg 1) ;;
1177a0395d0Smrg *) echo "$me: too many arguments$help" >&2
1187a0395d0Smrg    exit 1;;
1197a0395d0Smrgesac
1207a0395d0Smrg
1217a0395d0Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1227a0395d0Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1237a0395d0Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1247a0395d0Smrgcase $maybe_os in
12596402570Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12696402570Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12796402570Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1287366012aSmrg  kopensolaris*-gnu* | \
1297a0395d0Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1307a0395d0Smrg    os=-$maybe_os
1317a0395d0Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1327a0395d0Smrg    ;;
1338abc0ccfSmrg  android-linux)
1348abc0ccfSmrg    os=-linux-android
1358abc0ccfSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
1368abc0ccfSmrg    ;;
1377a0395d0Smrg  *)
1387a0395d0Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1397a0395d0Smrg    if [ $basic_machine != $1 ]
1407a0395d0Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1417a0395d0Smrg    else os=; fi
1427a0395d0Smrg    ;;
1437a0395d0Smrgesac
1447a0395d0Smrg
1457a0395d0Smrg### Let's recognize common machines as not being operating systems so
1467a0395d0Smrg### that things like config.sub decstation-3100 work.  We also
1477a0395d0Smrg### recognize some manufacturers as not being operating systems, so we
1487a0395d0Smrg### can provide default operating systems below.
1497a0395d0Smrgcase $os in
1507a0395d0Smrg	-sun*os*)
1517a0395d0Smrg		# Prevent following clause from handling this invalid input.
1527a0395d0Smrg		;;
1537a0395d0Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1547a0395d0Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1557a0395d0Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1567a0395d0Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1577a0395d0Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1587a0395d0Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1592adc0320Smrg	-apple | -axis | -knuth | -cray | -microblaze)
1607a0395d0Smrg		os=
1617a0395d0Smrg		basic_machine=$1
1627a0395d0Smrg		;;
1638abc0ccfSmrg	-bluegene*)
1648abc0ccfSmrg		os=-cnk
1652adc0320Smrg		;;
1667a0395d0Smrg	-sim | -cisco | -oki | -wec | -winbond)
1677a0395d0Smrg		os=
1687a0395d0Smrg		basic_machine=$1
1697a0395d0Smrg		;;
1707a0395d0Smrg	-scout)
1717a0395d0Smrg		;;
1727a0395d0Smrg	-wrs)
1737a0395d0Smrg		os=-vxworks
1747a0395d0Smrg		basic_machine=$1
1757a0395d0Smrg		;;
1767a0395d0Smrg	-chorusos*)
1777a0395d0Smrg		os=-chorusos
1787a0395d0Smrg		basic_machine=$1
1797a0395d0Smrg		;;
1808abc0ccfSmrg	-chorusrdb)
1818abc0ccfSmrg		os=-chorusrdb
1827a0395d0Smrg		basic_machine=$1
1838abc0ccfSmrg		;;
1847a0395d0Smrg	-hiux*)
1857a0395d0Smrg		os=-hiuxwe2
1867a0395d0Smrg		;;
1877a0395d0Smrg	-sco6)
1887a0395d0Smrg		os=-sco5v6
1897a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1907a0395d0Smrg		;;
1917a0395d0Smrg	-sco5)
1927a0395d0Smrg		os=-sco3.2v5
1937a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1947a0395d0Smrg		;;
1957a0395d0Smrg	-sco4)
1967a0395d0Smrg		os=-sco3.2v4
1977a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1987a0395d0Smrg		;;
1997a0395d0Smrg	-sco3.2.[4-9]*)
2007a0395d0Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
2017a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2027a0395d0Smrg		;;
2037a0395d0Smrg	-sco3.2v[4-9]*)
2047a0395d0Smrg		# Don't forget version if it is 3.2v4 or newer.
2057a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2067a0395d0Smrg		;;
2077a0395d0Smrg	-sco5v6*)
2087a0395d0Smrg		# Don't forget version if it is 3.2v4 or newer.
2097a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2107a0395d0Smrg		;;
2117a0395d0Smrg	-sco*)
2127a0395d0Smrg		os=-sco3.2v2
2137a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2147a0395d0Smrg		;;
2157a0395d0Smrg	-udk*)
2167a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2177a0395d0Smrg		;;
2187a0395d0Smrg	-isc)
2197a0395d0Smrg		os=-isc2.2
2207a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2217a0395d0Smrg		;;
2227a0395d0Smrg	-clix*)
2237a0395d0Smrg		basic_machine=clipper-intergraph
2247a0395d0Smrg		;;
2257a0395d0Smrg	-isc*)
2267a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2277a0395d0Smrg		;;
2288abc0ccfSmrg	-lynx*178)
2298abc0ccfSmrg		os=-lynxos178
2308abc0ccfSmrg		;;
2318abc0ccfSmrg	-lynx*5)
2328abc0ccfSmrg		os=-lynxos5
2338abc0ccfSmrg		;;
2347a0395d0Smrg	-lynx*)
2357a0395d0Smrg		os=-lynxos
2367a0395d0Smrg		;;
2377a0395d0Smrg	-ptx*)
2387a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2397a0395d0Smrg		;;
2407a0395d0Smrg	-windowsnt*)
2417a0395d0Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2427a0395d0Smrg		;;
2437a0395d0Smrg	-psos*)
2447a0395d0Smrg		os=-psos
2457a0395d0Smrg		;;
2467a0395d0Smrg	-mint | -mint[0-9]*)
2477a0395d0Smrg		basic_machine=m68k-atari
2487a0395d0Smrg		os=-mint
2497a0395d0Smrg		;;
2507a0395d0Smrgesac
2517a0395d0Smrg
2527a0395d0Smrg# Decode aliases for certain CPU-COMPANY combinations.
2537a0395d0Smrgcase $basic_machine in
2547a0395d0Smrg	# Recognize the basic CPU types without company name.
2557a0395d0Smrg	# Some are omitted here because they have special meanings below.
2567a0395d0Smrg	1750a | 580 \
2577a0395d0Smrg	| a29k \
2588abc0ccfSmrg	| aarch64 | aarch64_be \
2597a0395d0Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2607a0395d0Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2617a0395d0Smrg	| am33_2.0 \
2627a0395d0Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2638abc0ccfSmrg        | be32 | be64 \
2647a0395d0Smrg	| bfin \
2657a0395d0Smrg	| c4x | clipper \
2667a0395d0Smrg	| d10v | d30v | dlx | dsp16xx \
2678abc0ccfSmrg	| epiphany \
2687a0395d0Smrg	| fido | fr30 | frv \
2697a0395d0Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2708abc0ccfSmrg	| hexagon \
2717a0395d0Smrg	| i370 | i860 | i960 | ia64 \
2727a0395d0Smrg	| ip2k | iq2000 \
2738abc0ccfSmrg	| le32 | le64 \
2747366012aSmrg	| lm32 \
2757a0395d0Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2767366012aSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2777a0395d0Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2787a0395d0Smrg	| mips16 \
2797a0395d0Smrg	| mips64 | mips64el \
2807366012aSmrg	| mips64octeon | mips64octeonel \
2817a0395d0Smrg	| mips64orion | mips64orionel \
2827366012aSmrg	| mips64r5900 | mips64r5900el \
2837366012aSmrg	| mips64vr | mips64vrel \
2847a0395d0Smrg	| mips64vr4100 | mips64vr4100el \
2857a0395d0Smrg	| mips64vr4300 | mips64vr4300el \
2867a0395d0Smrg	| mips64vr5000 | mips64vr5000el \
2877a0395d0Smrg	| mips64vr5900 | mips64vr5900el \
2887a0395d0Smrg	| mipsisa32 | mipsisa32el \
2897a0395d0Smrg	| mipsisa32r2 | mipsisa32r2el \
2907a0395d0Smrg	| mipsisa64 | mipsisa64el \
2917a0395d0Smrg	| mipsisa64r2 | mipsisa64r2el \
2927a0395d0Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2937a0395d0Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2947a0395d0Smrg	| mipstx39 | mipstx39el \
2957a0395d0Smrg	| mn10200 | mn10300 \
2967366012aSmrg	| moxie \
2977a0395d0Smrg	| mt \
2987a0395d0Smrg	| msp430 \
29996402570Smrg	| nds32 | nds32le | nds32be \
3007a0395d0Smrg	| nios | nios2 \
3017a0395d0Smrg	| ns16k | ns32k \
3028abc0ccfSmrg	| open8 \
3037a0395d0Smrg	| or32 \
3047a0395d0Smrg	| pdp10 | pdp11 | pj | pjl \
3058abc0ccfSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3067a0395d0Smrg	| pyramid \
3078abc0ccfSmrg	| rl78 | rx \
3087a0395d0Smrg	| score \
3097366012aSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3107a0395d0Smrg	| sh64 | sh64le \
3117a0395d0Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3127a0395d0Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3138abc0ccfSmrg	| spu \
3148abc0ccfSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3152adc0320Smrg	| ubicom32 \
3168abc0ccfSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3177a0395d0Smrg	| we32k \
3188abc0ccfSmrg	| x86 | xc16x | xstormy16 | xtensa \
3197366012aSmrg	| z8k | z80)
3207a0395d0Smrg		basic_machine=$basic_machine-unknown
3217a0395d0Smrg		;;
32296402570Smrg	c54x)
32396402570Smrg		basic_machine=tic54x-unknown
32496402570Smrg		;;
32596402570Smrg	c55x)
32696402570Smrg		basic_machine=tic55x-unknown
32796402570Smrg		;;
32896402570Smrg	c6x)
32996402570Smrg		basic_machine=tic6x-unknown
33096402570Smrg		;;
3318abc0ccfSmrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
3327a0395d0Smrg		basic_machine=$basic_machine-unknown
3337a0395d0Smrg		os=-none
3347a0395d0Smrg		;;
3357a0395d0Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3367a0395d0Smrg		;;
3377a0395d0Smrg	ms1)
3387a0395d0Smrg		basic_machine=mt-unknown
3397a0395d0Smrg		;;
3407a0395d0Smrg
3418abc0ccfSmrg	strongarm | thumb | xscale)
3428abc0ccfSmrg		basic_machine=arm-unknown
3438abc0ccfSmrg		;;
3448abc0ccfSmrg	xgate)
3458abc0ccfSmrg		basic_machine=$basic_machine-unknown
3468abc0ccfSmrg		os=-none
3478abc0ccfSmrg		;;
3488abc0ccfSmrg	xscaleeb)
3498abc0ccfSmrg		basic_machine=armeb-unknown
3508abc0ccfSmrg		;;
3518abc0ccfSmrg
3528abc0ccfSmrg	xscaleel)
3538abc0ccfSmrg		basic_machine=armel-unknown
3548abc0ccfSmrg		;;
3558abc0ccfSmrg
3567a0395d0Smrg	# We use `pc' rather than `unknown'
3577a0395d0Smrg	# because (1) that's what they normally are, and
3587a0395d0Smrg	# (2) the word "unknown" tends to confuse beginning users.
3597a0395d0Smrg	i*86 | x86_64)
3607a0395d0Smrg	  basic_machine=$basic_machine-pc
3617a0395d0Smrg	  ;;
3627a0395d0Smrg	# Object if more than one company name word.
3637a0395d0Smrg	*-*-*)
3647a0395d0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3657a0395d0Smrg		exit 1
3667a0395d0Smrg		;;
3677a0395d0Smrg	# Recognize the basic CPU types with company name.
3687a0395d0Smrg	580-* \
3697a0395d0Smrg	| a29k-* \
3708abc0ccfSmrg	| aarch64-* | aarch64_be-* \
3717a0395d0Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3727a0395d0Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3737a0395d0Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3747a0395d0Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3757a0395d0Smrg	| avr-* | avr32-* \
3768abc0ccfSmrg	| be32-* | be64-* \
3777a0395d0Smrg	| bfin-* | bs2000-* \
37896402570Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3797a0395d0Smrg	| clipper-* | craynv-* | cydra-* \
3807a0395d0Smrg	| d10v-* | d30v-* | dlx-* \
3817a0395d0Smrg	| elxsi-* \
3827a0395d0Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3837a0395d0Smrg	| h8300-* | h8500-* \
3847a0395d0Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3858abc0ccfSmrg	| hexagon-* \
3867a0395d0Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3877a0395d0Smrg	| ip2k-* | iq2000-* \
3888abc0ccfSmrg	| le32-* | le64-* \
3897366012aSmrg	| lm32-* \
3907a0395d0Smrg	| m32c-* | m32r-* | m32rle-* \
3917a0395d0Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3922adc0320Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3937a0395d0Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3947a0395d0Smrg	| mips16-* \
3957a0395d0Smrg	| mips64-* | mips64el-* \
3967366012aSmrg	| mips64octeon-* | mips64octeonel-* \
3977a0395d0Smrg	| mips64orion-* | mips64orionel-* \
3987366012aSmrg	| mips64r5900-* | mips64r5900el-* \
3997366012aSmrg	| mips64vr-* | mips64vrel-* \
4007a0395d0Smrg	| mips64vr4100-* | mips64vr4100el-* \
4017a0395d0Smrg	| mips64vr4300-* | mips64vr4300el-* \
4027a0395d0Smrg	| mips64vr5000-* | mips64vr5000el-* \
4037a0395d0Smrg	| mips64vr5900-* | mips64vr5900el-* \
4047a0395d0Smrg	| mipsisa32-* | mipsisa32el-* \
4057a0395d0Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
4067a0395d0Smrg	| mipsisa64-* | mipsisa64el-* \
4077a0395d0Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
4087a0395d0Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
4097a0395d0Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
4107a0395d0Smrg	| mipstx39-* | mipstx39el-* \
4117a0395d0Smrg	| mmix-* \
4127a0395d0Smrg	| mt-* \
4137a0395d0Smrg	| msp430-* \
41496402570Smrg	| nds32-* | nds32le-* | nds32be-* \
4157a0395d0Smrg	| nios-* | nios2-* \
4167a0395d0Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4178abc0ccfSmrg	| open8-* \
4187a0395d0Smrg	| orion-* \
4197a0395d0Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4208abc0ccfSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4217a0395d0Smrg	| pyramid-* \
4228abc0ccfSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
4237366012aSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4247a0395d0Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4257a0395d0Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4267a0395d0Smrg	| sparclite-* \
4278abc0ccfSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4288abc0ccfSmrg	| tahoe-* \
42996402570Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4308abc0ccfSmrg	| tile*-* \
4317a0395d0Smrg	| tron-* \
4322adc0320Smrg	| ubicom32-* \
4338abc0ccfSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4348abc0ccfSmrg	| vax-* \
4357a0395d0Smrg	| we32k-* \
4368abc0ccfSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4377a0395d0Smrg	| xstormy16-* | xtensa*-* \
4387a0395d0Smrg	| ymp-* \
4397366012aSmrg	| z8k-* | z80-*)
4407a0395d0Smrg		;;
4417a0395d0Smrg	# Recognize the basic CPU types without company name, with glob match.
4427a0395d0Smrg	xtensa*)
4437a0395d0Smrg		basic_machine=$basic_machine-unknown
4447a0395d0Smrg		;;
4457a0395d0Smrg	# Recognize the various machine names and aliases which stand
4467a0395d0Smrg	# for a CPU type and a company and sometimes even an OS.
4477a0395d0Smrg	386bsd)
4487a0395d0Smrg		basic_machine=i386-unknown
4497a0395d0Smrg		os=-bsd
4507a0395d0Smrg		;;
4517a0395d0Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4527a0395d0Smrg		basic_machine=m68000-att
4537a0395d0Smrg		;;
4547a0395d0Smrg	3b*)
4557a0395d0Smrg		basic_machine=we32k-att
4567a0395d0Smrg		;;
4577a0395d0Smrg	a29khif)
4587a0395d0Smrg		basic_machine=a29k-amd
4597a0395d0Smrg		os=-udi
4607a0395d0Smrg		;;
4618abc0ccfSmrg	abacus)
4627a0395d0Smrg		basic_machine=abacus-unknown
4637a0395d0Smrg		;;
4647a0395d0Smrg	adobe68k)
4657a0395d0Smrg		basic_machine=m68010-adobe
4667a0395d0Smrg		os=-scout
4677a0395d0Smrg		;;
4687a0395d0Smrg	alliant | fx80)
4697a0395d0Smrg		basic_machine=fx80-alliant
4707a0395d0Smrg		;;
4717a0395d0Smrg	altos | altos3068)
4727a0395d0Smrg		basic_machine=m68k-altos
4737a0395d0Smrg		;;
4747a0395d0Smrg	am29k)
4757a0395d0Smrg		basic_machine=a29k-none
4767a0395d0Smrg		os=-bsd
4777a0395d0Smrg		;;
4787a0395d0Smrg	amd64)
4797a0395d0Smrg		basic_machine=x86_64-pc
4807a0395d0Smrg		;;
4817a0395d0Smrg	amd64-*)
4827a0395d0Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4837a0395d0Smrg		;;
4847a0395d0Smrg	amdahl)
4857a0395d0Smrg		basic_machine=580-amdahl
4867a0395d0Smrg		os=-sysv
4877a0395d0Smrg		;;
4887a0395d0Smrg	amiga | amiga-*)
4897a0395d0Smrg		basic_machine=m68k-unknown
4907a0395d0Smrg		;;
4917a0395d0Smrg	amigaos | amigados)
4927a0395d0Smrg		basic_machine=m68k-unknown
4937a0395d0Smrg		os=-amigaos
4947a0395d0Smrg		;;
4957a0395d0Smrg	amigaunix | amix)
4967a0395d0Smrg		basic_machine=m68k-unknown
4977a0395d0Smrg		os=-sysv4
4987a0395d0Smrg		;;
4997a0395d0Smrg	apollo68)
5007a0395d0Smrg		basic_machine=m68k-apollo
5017a0395d0Smrg		os=-sysv
5027a0395d0Smrg		;;
5037a0395d0Smrg	apollo68bsd)
5047a0395d0Smrg		basic_machine=m68k-apollo
5057a0395d0Smrg		os=-bsd
5067a0395d0Smrg		;;
5077366012aSmrg	aros)
5087366012aSmrg		basic_machine=i386-pc
5097366012aSmrg		os=-aros
5107366012aSmrg		;;
5117a0395d0Smrg	aux)
5127a0395d0Smrg		basic_machine=m68k-apple
5137a0395d0Smrg		os=-aux
5147a0395d0Smrg		;;
5157a0395d0Smrg	balance)
5167a0395d0Smrg		basic_machine=ns32k-sequent
5177a0395d0Smrg		os=-dynix
5187a0395d0Smrg		;;
5197a0395d0Smrg	blackfin)
5207a0395d0Smrg		basic_machine=bfin-unknown
5217a0395d0Smrg		os=-linux
5227a0395d0Smrg		;;
5237a0395d0Smrg	blackfin-*)
5247a0395d0Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5257a0395d0Smrg		os=-linux
5267a0395d0Smrg		;;
5272adc0320Smrg	bluegene*)
5282adc0320Smrg		basic_machine=powerpc-ibm
5292adc0320Smrg		os=-cnk
5302adc0320Smrg		;;
53196402570Smrg	c54x-*)
53296402570Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
53396402570Smrg		;;
53496402570Smrg	c55x-*)
53596402570Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
53696402570Smrg		;;
53796402570Smrg	c6x-*)
53896402570Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
53996402570Smrg		;;
5407a0395d0Smrg	c90)
5417a0395d0Smrg		basic_machine=c90-cray
5427a0395d0Smrg		os=-unicos
5437a0395d0Smrg		;;
5448abc0ccfSmrg	cegcc)
5457366012aSmrg		basic_machine=arm-unknown
5467366012aSmrg		os=-cegcc
5477366012aSmrg		;;
5487a0395d0Smrg	convex-c1)
5497a0395d0Smrg		basic_machine=c1-convex
5507a0395d0Smrg		os=-bsd
5517a0395d0Smrg		;;
5527a0395d0Smrg	convex-c2)
5537a0395d0Smrg		basic_machine=c2-convex
5547a0395d0Smrg		os=-bsd
5557a0395d0Smrg		;;
5567a0395d0Smrg	convex-c32)
5577a0395d0Smrg		basic_machine=c32-convex
5587a0395d0Smrg		os=-bsd
5597a0395d0Smrg		;;
5607a0395d0Smrg	convex-c34)
5617a0395d0Smrg		basic_machine=c34-convex
5627a0395d0Smrg		os=-bsd
5637a0395d0Smrg		;;
5647a0395d0Smrg	convex-c38)
5657a0395d0Smrg		basic_machine=c38-convex
5667a0395d0Smrg		os=-bsd
5677a0395d0Smrg		;;
5687a0395d0Smrg	cray | j90)
5697a0395d0Smrg		basic_machine=j90-cray
5707a0395d0Smrg		os=-unicos
5717a0395d0Smrg		;;
5727a0395d0Smrg	craynv)
5737a0395d0Smrg		basic_machine=craynv-cray
5747a0395d0Smrg		os=-unicosmp
5757a0395d0Smrg		;;
5768abc0ccfSmrg	cr16 | cr16-*)
5777a0395d0Smrg		basic_machine=cr16-unknown
5787a0395d0Smrg		os=-elf
5797a0395d0Smrg		;;
5807a0395d0Smrg	crds | unos)
5817a0395d0Smrg		basic_machine=m68k-crds
5827a0395d0Smrg		;;
5837a0395d0Smrg	crisv32 | crisv32-* | etraxfs*)
5847a0395d0Smrg		basic_machine=crisv32-axis
5857a0395d0Smrg		;;
5867a0395d0Smrg	cris | cris-* | etrax*)
5877a0395d0Smrg		basic_machine=cris-axis
5887a0395d0Smrg		;;
5897a0395d0Smrg	crx)
5907a0395d0Smrg		basic_machine=crx-unknown
5917a0395d0Smrg		os=-elf
5927a0395d0Smrg		;;
5937a0395d0Smrg	da30 | da30-*)
5947a0395d0Smrg		basic_machine=m68k-da30
5957a0395d0Smrg		;;
5967a0395d0Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5977a0395d0Smrg		basic_machine=mips-dec
5987a0395d0Smrg		;;
5997a0395d0Smrg	decsystem10* | dec10*)
6007a0395d0Smrg		basic_machine=pdp10-dec
6017a0395d0Smrg		os=-tops10
6027a0395d0Smrg		;;
6037a0395d0Smrg	decsystem20* | dec20*)
6047a0395d0Smrg		basic_machine=pdp10-dec
6057a0395d0Smrg		os=-tops20
6067a0395d0Smrg		;;
6077a0395d0Smrg	delta | 3300 | motorola-3300 | motorola-delta \
6087a0395d0Smrg	      | 3300-motorola | delta-motorola)
6097a0395d0Smrg		basic_machine=m68k-motorola
6107a0395d0Smrg		;;
6117a0395d0Smrg	delta88)
6127a0395d0Smrg		basic_machine=m88k-motorola
6137a0395d0Smrg		os=-sysv3
6147a0395d0Smrg		;;
6157366012aSmrg	dicos)
6167366012aSmrg		basic_machine=i686-pc
6177366012aSmrg		os=-dicos
6187366012aSmrg		;;
6197a0395d0Smrg	djgpp)
6207a0395d0Smrg		basic_machine=i586-pc
6217a0395d0Smrg		os=-msdosdjgpp
6227a0395d0Smrg		;;
6237a0395d0Smrg	dpx20 | dpx20-*)
6247a0395d0Smrg		basic_machine=rs6000-bull
6257a0395d0Smrg		os=-bosx
6267a0395d0Smrg		;;
6277a0395d0Smrg	dpx2* | dpx2*-bull)
6287a0395d0Smrg		basic_machine=m68k-bull
6297a0395d0Smrg		os=-sysv3
6307a0395d0Smrg		;;
6317a0395d0Smrg	ebmon29k)
6327a0395d0Smrg		basic_machine=a29k-amd
6337a0395d0Smrg		os=-ebmon
6347a0395d0Smrg		;;
6357a0395d0Smrg	elxsi)
6367a0395d0Smrg		basic_machine=elxsi-elxsi
6377a0395d0Smrg		os=-bsd
6387a0395d0Smrg		;;
6397a0395d0Smrg	encore | umax | mmax)
6407a0395d0Smrg		basic_machine=ns32k-encore
6417a0395d0Smrg		;;
6427a0395d0Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6437a0395d0Smrg		basic_machine=m68k-ericsson
6447a0395d0Smrg		os=-ose
6457a0395d0Smrg		;;
6467a0395d0Smrg	fx2800)
6477a0395d0Smrg		basic_machine=i860-alliant
6487a0395d0Smrg		;;
6497a0395d0Smrg	genix)
6507a0395d0Smrg		basic_machine=ns32k-ns
6517a0395d0Smrg		;;
6527a0395d0Smrg	gmicro)
6537a0395d0Smrg		basic_machine=tron-gmicro
6547a0395d0Smrg		os=-sysv
6557a0395d0Smrg		;;
6567a0395d0Smrg	go32)
6577a0395d0Smrg		basic_machine=i386-pc
6587a0395d0Smrg		os=-go32
6597a0395d0Smrg		;;
6607a0395d0Smrg	h3050r* | hiux*)
6617a0395d0Smrg		basic_machine=hppa1.1-hitachi
6627a0395d0Smrg		os=-hiuxwe2
6637a0395d0Smrg		;;
6647a0395d0Smrg	h8300hms)
6657a0395d0Smrg		basic_machine=h8300-hitachi
6667a0395d0Smrg		os=-hms
6677a0395d0Smrg		;;
6687a0395d0Smrg	h8300xray)
6697a0395d0Smrg		basic_machine=h8300-hitachi
6707a0395d0Smrg		os=-xray
6717a0395d0Smrg		;;
6727a0395d0Smrg	h8500hms)
6737a0395d0Smrg		basic_machine=h8500-hitachi
6747a0395d0Smrg		os=-hms
6757a0395d0Smrg		;;
6767a0395d0Smrg	harris)
6777a0395d0Smrg		basic_machine=m88k-harris
6787a0395d0Smrg		os=-sysv3
6797a0395d0Smrg		;;
6807a0395d0Smrg	hp300-*)
6817a0395d0Smrg		basic_machine=m68k-hp
6827a0395d0Smrg		;;
6837a0395d0Smrg	hp300bsd)
6847a0395d0Smrg		basic_machine=m68k-hp
6857a0395d0Smrg		os=-bsd
6867a0395d0Smrg		;;
6877a0395d0Smrg	hp300hpux)
6887a0395d0Smrg		basic_machine=m68k-hp
6897a0395d0Smrg		os=-hpux
6907a0395d0Smrg		;;
6917a0395d0Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6927a0395d0Smrg		basic_machine=hppa1.0-hp
6937a0395d0Smrg		;;
6947a0395d0Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6957a0395d0Smrg		basic_machine=m68000-hp
6967a0395d0Smrg		;;
6977a0395d0Smrg	hp9k3[2-9][0-9])
6987a0395d0Smrg		basic_machine=m68k-hp
6997a0395d0Smrg		;;
7007a0395d0Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
7017a0395d0Smrg		basic_machine=hppa1.0-hp
7027a0395d0Smrg		;;
7037a0395d0Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
7047a0395d0Smrg		basic_machine=hppa1.1-hp
7057a0395d0Smrg		;;
7067a0395d0Smrg	hp9k78[0-9] | hp78[0-9])
7077a0395d0Smrg		# FIXME: really hppa2.0-hp
7087a0395d0Smrg		basic_machine=hppa1.1-hp
7097a0395d0Smrg		;;
7107a0395d0Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
7117a0395d0Smrg		# FIXME: really hppa2.0-hp
7127a0395d0Smrg		basic_machine=hppa1.1-hp
7137a0395d0Smrg		;;
7147a0395d0Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7157a0395d0Smrg		basic_machine=hppa1.1-hp
7167a0395d0Smrg		;;
7177a0395d0Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7187a0395d0Smrg		basic_machine=hppa1.0-hp
7197a0395d0Smrg		;;
7207a0395d0Smrg	hppa-next)
7217a0395d0Smrg		os=-nextstep3
7227a0395d0Smrg		;;
7237a0395d0Smrg	hppaosf)
7247a0395d0Smrg		basic_machine=hppa1.1-hp
7257a0395d0Smrg		os=-osf
7267a0395d0Smrg		;;
7277a0395d0Smrg	hppro)
7287a0395d0Smrg		basic_machine=hppa1.1-hp
7297a0395d0Smrg		os=-proelf
7307a0395d0Smrg		;;
7317a0395d0Smrg	i370-ibm* | ibm*)
7327a0395d0Smrg		basic_machine=i370-ibm
7337a0395d0Smrg		;;
7347a0395d0Smrg	i*86v32)
7357a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7367a0395d0Smrg		os=-sysv32
7377a0395d0Smrg		;;
7387a0395d0Smrg	i*86v4*)
7397a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7407a0395d0Smrg		os=-sysv4
7417a0395d0Smrg		;;
7427a0395d0Smrg	i*86v)
7437a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7447a0395d0Smrg		os=-sysv
7457a0395d0Smrg		;;
7467a0395d0Smrg	i*86sol2)
7477a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7487a0395d0Smrg		os=-solaris2
7497a0395d0Smrg		;;
7507a0395d0Smrg	i386mach)
7517a0395d0Smrg		basic_machine=i386-mach
7527a0395d0Smrg		os=-mach
7537a0395d0Smrg		;;
7547a0395d0Smrg	i386-vsta | vsta)
7557a0395d0Smrg		basic_machine=i386-unknown
7567a0395d0Smrg		os=-vsta
7577a0395d0Smrg		;;
7587a0395d0Smrg	iris | iris4d)
7597a0395d0Smrg		basic_machine=mips-sgi
7607a0395d0Smrg		case $os in
7617a0395d0Smrg		    -irix*)
7627a0395d0Smrg			;;
7637a0395d0Smrg		    *)
7647a0395d0Smrg			os=-irix4
7657a0395d0Smrg			;;
7667a0395d0Smrg		esac
7677a0395d0Smrg		;;
7687a0395d0Smrg	isi68 | isi)
7697a0395d0Smrg		basic_machine=m68k-isi
7707a0395d0Smrg		os=-sysv
7717a0395d0Smrg		;;
7727a0395d0Smrg	m68knommu)
7737a0395d0Smrg		basic_machine=m68k-unknown
7747a0395d0Smrg		os=-linux
7757a0395d0Smrg		;;
7767a0395d0Smrg	m68knommu-*)
7777a0395d0Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7787a0395d0Smrg		os=-linux
7797a0395d0Smrg		;;
7807a0395d0Smrg	m88k-omron*)
7817a0395d0Smrg		basic_machine=m88k-omron
7827a0395d0Smrg		;;
7837a0395d0Smrg	magnum | m3230)
7847a0395d0Smrg		basic_machine=mips-mips
7857a0395d0Smrg		os=-sysv
7867a0395d0Smrg		;;
7877a0395d0Smrg	merlin)
7887a0395d0Smrg		basic_machine=ns32k-utek
7897a0395d0Smrg		os=-sysv
7907a0395d0Smrg		;;
7918abc0ccfSmrg	microblaze)
7922adc0320Smrg		basic_machine=microblaze-xilinx
7932adc0320Smrg		;;
7947a0395d0Smrg	mingw32)
7957a0395d0Smrg		basic_machine=i386-pc
7967a0395d0Smrg		os=-mingw32
7977a0395d0Smrg		;;
7987a0395d0Smrg	mingw32ce)
7997a0395d0Smrg		basic_machine=arm-unknown
8007a0395d0Smrg		os=-mingw32ce
8017a0395d0Smrg		;;
8027a0395d0Smrg	miniframe)
8037a0395d0Smrg		basic_machine=m68000-convergent
8047a0395d0Smrg		;;
8057a0395d0Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
8067a0395d0Smrg		basic_machine=m68k-atari
8077a0395d0Smrg		os=-mint
8087a0395d0Smrg		;;
8097a0395d0Smrg	mips3*-*)
8107a0395d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8117a0395d0Smrg		;;
8127a0395d0Smrg	mips3*)
8137a0395d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8147a0395d0Smrg		;;
8157a0395d0Smrg	monitor)
8167a0395d0Smrg		basic_machine=m68k-rom68k
8177a0395d0Smrg		os=-coff
8187a0395d0Smrg		;;
8197a0395d0Smrg	morphos)
8207a0395d0Smrg		basic_machine=powerpc-unknown
8217a0395d0Smrg		os=-morphos
8227a0395d0Smrg		;;
8237a0395d0Smrg	msdos)
8247a0395d0Smrg		basic_machine=i386-pc
8257a0395d0Smrg		os=-msdos
8267a0395d0Smrg		;;
8277a0395d0Smrg	ms1-*)
8287a0395d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8297a0395d0Smrg		;;
8308abc0ccfSmrg	msys)
8318abc0ccfSmrg		basic_machine=i386-pc
8328abc0ccfSmrg		os=-msys
8338abc0ccfSmrg		;;
8347a0395d0Smrg	mvs)
8357a0395d0Smrg		basic_machine=i370-ibm
8367a0395d0Smrg		os=-mvs
8377a0395d0Smrg		;;
8388abc0ccfSmrg	nacl)
8398abc0ccfSmrg		basic_machine=le32-unknown
8408abc0ccfSmrg		os=-nacl
8418abc0ccfSmrg		;;
8427a0395d0Smrg	ncr3000)
8437a0395d0Smrg		basic_machine=i486-ncr
8447a0395d0Smrg		os=-sysv4
8457a0395d0Smrg		;;
8467a0395d0Smrg	netbsd386)
8477a0395d0Smrg		basic_machine=i386-unknown
8487a0395d0Smrg		os=-netbsd
8497a0395d0Smrg		;;
8507a0395d0Smrg	netwinder)
8517a0395d0Smrg		basic_machine=armv4l-rebel
8527a0395d0Smrg		os=-linux
8537a0395d0Smrg		;;
8547a0395d0Smrg	news | news700 | news800 | news900)
8557a0395d0Smrg		basic_machine=m68k-sony
8567a0395d0Smrg		os=-newsos
8577a0395d0Smrg		;;
8587a0395d0Smrg	news1000)
8597a0395d0Smrg		basic_machine=m68030-sony
8607a0395d0Smrg		os=-newsos
8617a0395d0Smrg		;;
8627a0395d0Smrg	news-3600 | risc-news)
8637a0395d0Smrg		basic_machine=mips-sony
8647a0395d0Smrg		os=-newsos
8657a0395d0Smrg		;;
8667a0395d0Smrg	necv70)
8677a0395d0Smrg		basic_machine=v70-nec
8687a0395d0Smrg		os=-sysv
8697a0395d0Smrg		;;
8707a0395d0Smrg	next | m*-next )
8717a0395d0Smrg		basic_machine=m68k-next
8727a0395d0Smrg		case $os in
8737a0395d0Smrg		    -nextstep* )
8747a0395d0Smrg			;;
8757a0395d0Smrg		    -ns2*)
8767a0395d0Smrg		      os=-nextstep2
8777a0395d0Smrg			;;
8787a0395d0Smrg		    *)
8797a0395d0Smrg		      os=-nextstep3
8807a0395d0Smrg			;;
8817a0395d0Smrg		esac
8827a0395d0Smrg		;;
8837a0395d0Smrg	nh3000)
8847a0395d0Smrg		basic_machine=m68k-harris
8857a0395d0Smrg		os=-cxux
8867a0395d0Smrg		;;
8877a0395d0Smrg	nh[45]000)
8887a0395d0Smrg		basic_machine=m88k-harris
8897a0395d0Smrg		os=-cxux
8907a0395d0Smrg		;;
8917a0395d0Smrg	nindy960)
8927a0395d0Smrg		basic_machine=i960-intel
8937a0395d0Smrg		os=-nindy
8947a0395d0Smrg		;;
8957a0395d0Smrg	mon960)
8967a0395d0Smrg		basic_machine=i960-intel
8977a0395d0Smrg		os=-mon960
8987a0395d0Smrg		;;
8997a0395d0Smrg	nonstopux)
9007a0395d0Smrg		basic_machine=mips-compaq
9017a0395d0Smrg		os=-nonstopux
9027a0395d0Smrg		;;
9037a0395d0Smrg	np1)
9047a0395d0Smrg		basic_machine=np1-gould
9057a0395d0Smrg		;;
9068abc0ccfSmrg	neo-tandem)
90796402570Smrg		basic_machine=neo-tandem
90896402570Smrg		;;
9098abc0ccfSmrg	nse-tandem)
91096402570Smrg		basic_machine=nse-tandem
91196402570Smrg		;;
9127a0395d0Smrg	nsr-tandem)
9137a0395d0Smrg		basic_machine=nsr-tandem
9147a0395d0Smrg		;;
9157a0395d0Smrg	op50n-* | op60c-*)
9167a0395d0Smrg		basic_machine=hppa1.1-oki
9177a0395d0Smrg		os=-proelf
9187a0395d0Smrg		;;
9197a0395d0Smrg	openrisc | openrisc-*)
9207a0395d0Smrg		basic_machine=or32-unknown
9217a0395d0Smrg		;;
9227a0395d0Smrg	os400)
9237a0395d0Smrg		basic_machine=powerpc-ibm
9247a0395d0Smrg		os=-os400
9257a0395d0Smrg		;;
9267a0395d0Smrg	OSE68000 | ose68000)
9277a0395d0Smrg		basic_machine=m68000-ericsson
9287a0395d0Smrg		os=-ose
9297a0395d0Smrg		;;
9307a0395d0Smrg	os68k)
9317a0395d0Smrg		basic_machine=m68k-none
9327a0395d0Smrg		os=-os68k
9337a0395d0Smrg		;;
9347a0395d0Smrg	pa-hitachi)
9357a0395d0Smrg		basic_machine=hppa1.1-hitachi
9367a0395d0Smrg		os=-hiuxwe2
9377a0395d0Smrg		;;
9387a0395d0Smrg	paragon)
9397a0395d0Smrg		basic_machine=i860-intel
9407a0395d0Smrg		os=-osf
9417a0395d0Smrg		;;
9427a0395d0Smrg	parisc)
9437a0395d0Smrg		basic_machine=hppa-unknown
9447a0395d0Smrg		os=-linux
9457a0395d0Smrg		;;
9467a0395d0Smrg	parisc-*)
9477a0395d0Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9487a0395d0Smrg		os=-linux
9497a0395d0Smrg		;;
9507a0395d0Smrg	pbd)
9517a0395d0Smrg		basic_machine=sparc-tti
9527a0395d0Smrg		;;
9537a0395d0Smrg	pbb)
9547a0395d0Smrg		basic_machine=m68k-tti
9557a0395d0Smrg		;;
9567a0395d0Smrg	pc532 | pc532-*)
9577a0395d0Smrg		basic_machine=ns32k-pc532
9587a0395d0Smrg		;;
9597a0395d0Smrg	pc98)
9607a0395d0Smrg		basic_machine=i386-pc
9617a0395d0Smrg		;;
9627a0395d0Smrg	pc98-*)
9637a0395d0Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9647a0395d0Smrg		;;
9657a0395d0Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9667a0395d0Smrg		basic_machine=i586-pc
9677a0395d0Smrg		;;
9687a0395d0Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9697a0395d0Smrg		basic_machine=i686-pc
9707a0395d0Smrg		;;
9717a0395d0Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9727a0395d0Smrg		basic_machine=i686-pc
9737a0395d0Smrg		;;
9747a0395d0Smrg	pentium4)
9757a0395d0Smrg		basic_machine=i786-pc
9767a0395d0Smrg		;;
9777a0395d0Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9787a0395d0Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9797a0395d0Smrg		;;
9807a0395d0Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9817a0395d0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9827a0395d0Smrg		;;
9837a0395d0Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9847a0395d0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9857a0395d0Smrg		;;
9867a0395d0Smrg	pentium4-*)
9877a0395d0Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9887a0395d0Smrg		;;
9897a0395d0Smrg	pn)
9907a0395d0Smrg		basic_machine=pn-gould
9917a0395d0Smrg		;;
9927a0395d0Smrg	power)	basic_machine=power-ibm
9937a0395d0Smrg		;;
9948abc0ccfSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
9957a0395d0Smrg		;;
9968abc0ccfSmrg	ppc-* | ppcbe-*)
9978abc0ccfSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9987a0395d0Smrg		;;
9997a0395d0Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
10007a0395d0Smrg		basic_machine=powerpcle-unknown
10017a0395d0Smrg		;;
10027a0395d0Smrg	ppcle-* | powerpclittle-*)
10037a0395d0Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
10047a0395d0Smrg		;;
10057a0395d0Smrg	ppc64)	basic_machine=powerpc64-unknown
10067a0395d0Smrg		;;
10077a0395d0Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
10087a0395d0Smrg		;;
10097a0395d0Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
10107a0395d0Smrg		basic_machine=powerpc64le-unknown
10117a0395d0Smrg		;;
10127a0395d0Smrg	ppc64le-* | powerpc64little-*)
10137a0395d0Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10147a0395d0Smrg		;;
10157a0395d0Smrg	ps2)
10167a0395d0Smrg		basic_machine=i386-ibm
10177a0395d0Smrg		;;
10187a0395d0Smrg	pw32)
10197a0395d0Smrg		basic_machine=i586-unknown
10207a0395d0Smrg		os=-pw32
10217a0395d0Smrg		;;
10227a0395d0Smrg	rdos)
10237a0395d0Smrg		basic_machine=i386-pc
10247a0395d0Smrg		os=-rdos
10257a0395d0Smrg		;;
10267a0395d0Smrg	rom68k)
10277a0395d0Smrg		basic_machine=m68k-rom68k
10287a0395d0Smrg		os=-coff
10297a0395d0Smrg		;;
10307a0395d0Smrg	rm[46]00)
10317a0395d0Smrg		basic_machine=mips-siemens
10327a0395d0Smrg		;;
10337a0395d0Smrg	rtpc | rtpc-*)
10347a0395d0Smrg		basic_machine=romp-ibm
10357a0395d0Smrg		;;
10367a0395d0Smrg	s390 | s390-*)
10377a0395d0Smrg		basic_machine=s390-ibm
10387a0395d0Smrg		;;
10397a0395d0Smrg	s390x | s390x-*)
10407a0395d0Smrg		basic_machine=s390x-ibm
10417a0395d0Smrg		;;
10427a0395d0Smrg	sa29200)
10437a0395d0Smrg		basic_machine=a29k-amd
10447a0395d0Smrg		os=-udi
10457a0395d0Smrg		;;
10467a0395d0Smrg	sb1)
10477a0395d0Smrg		basic_machine=mipsisa64sb1-unknown
10487a0395d0Smrg		;;
10497a0395d0Smrg	sb1el)
10507a0395d0Smrg		basic_machine=mipsisa64sb1el-unknown
10517a0395d0Smrg		;;
10527a0395d0Smrg	sde)
10537a0395d0Smrg		basic_machine=mipsisa32-sde
10547a0395d0Smrg		os=-elf
10557a0395d0Smrg		;;
10567a0395d0Smrg	sei)
10577a0395d0Smrg		basic_machine=mips-sei
10587a0395d0Smrg		os=-seiux
10597a0395d0Smrg		;;
10607a0395d0Smrg	sequent)
10617a0395d0Smrg		basic_machine=i386-sequent
10627a0395d0Smrg		;;
10637a0395d0Smrg	sh)
10647a0395d0Smrg		basic_machine=sh-hitachi
10657a0395d0Smrg		os=-hms
10667a0395d0Smrg		;;
10677a0395d0Smrg	sh5el)
10687a0395d0Smrg		basic_machine=sh5le-unknown
10697a0395d0Smrg		;;
10707a0395d0Smrg	sh64)
10717a0395d0Smrg		basic_machine=sh64-unknown
10727a0395d0Smrg		;;
10737a0395d0Smrg	sparclite-wrs | simso-wrs)
10747a0395d0Smrg		basic_machine=sparclite-wrs
10757a0395d0Smrg		os=-vxworks
10767a0395d0Smrg		;;
10777a0395d0Smrg	sps7)
10787a0395d0Smrg		basic_machine=m68k-bull
10797a0395d0Smrg		os=-sysv2
10807a0395d0Smrg		;;
10817a0395d0Smrg	spur)
10827a0395d0Smrg		basic_machine=spur-unknown
10837a0395d0Smrg		;;
10847a0395d0Smrg	st2000)
10857a0395d0Smrg		basic_machine=m68k-tandem
10867a0395d0Smrg		;;
10877a0395d0Smrg	stratus)
10887a0395d0Smrg		basic_machine=i860-stratus
10897a0395d0Smrg		os=-sysv4
10907a0395d0Smrg		;;
10918abc0ccfSmrg	strongarm-* | thumb-*)
10928abc0ccfSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
10938abc0ccfSmrg		;;
10947a0395d0Smrg	sun2)
10957a0395d0Smrg		basic_machine=m68000-sun
10967a0395d0Smrg		;;
10977a0395d0Smrg	sun2os3)
10987a0395d0Smrg		basic_machine=m68000-sun
10997a0395d0Smrg		os=-sunos3
11007a0395d0Smrg		;;
11017a0395d0Smrg	sun2os4)
11027a0395d0Smrg		basic_machine=m68000-sun
11037a0395d0Smrg		os=-sunos4
11047a0395d0Smrg		;;
11057a0395d0Smrg	sun3os3)
11067a0395d0Smrg		basic_machine=m68k-sun
11077a0395d0Smrg		os=-sunos3
11087a0395d0Smrg		;;
11097a0395d0Smrg	sun3os4)
11107a0395d0Smrg		basic_machine=m68k-sun
11117a0395d0Smrg		os=-sunos4
11127a0395d0Smrg		;;
11137a0395d0Smrg	sun4os3)
11147a0395d0Smrg		basic_machine=sparc-sun
11157a0395d0Smrg		os=-sunos3
11167a0395d0Smrg		;;
11177a0395d0Smrg	sun4os4)
11187a0395d0Smrg		basic_machine=sparc-sun
11197a0395d0Smrg		os=-sunos4
11207a0395d0Smrg		;;
11217a0395d0Smrg	sun4sol2)
11227a0395d0Smrg		basic_machine=sparc-sun
11237a0395d0Smrg		os=-solaris2
11247a0395d0Smrg		;;
11257a0395d0Smrg	sun3 | sun3-*)
11267a0395d0Smrg		basic_machine=m68k-sun
11277a0395d0Smrg		;;
11287a0395d0Smrg	sun4)
11297a0395d0Smrg		basic_machine=sparc-sun
11307a0395d0Smrg		;;
11317a0395d0Smrg	sun386 | sun386i | roadrunner)
11327a0395d0Smrg		basic_machine=i386-sun
11337a0395d0Smrg		;;
11347a0395d0Smrg	sv1)
11357a0395d0Smrg		basic_machine=sv1-cray
11367a0395d0Smrg		os=-unicos
11377a0395d0Smrg		;;
11387a0395d0Smrg	symmetry)
11397a0395d0Smrg		basic_machine=i386-sequent
11407a0395d0Smrg		os=-dynix
11417a0395d0Smrg		;;
11427a0395d0Smrg	t3e)
11437a0395d0Smrg		basic_machine=alphaev5-cray
11447a0395d0Smrg		os=-unicos
11457a0395d0Smrg		;;
11467a0395d0Smrg	t90)
11477a0395d0Smrg		basic_machine=t90-cray
11487a0395d0Smrg		os=-unicos
11497a0395d0Smrg		;;
11507a0395d0Smrg	tile*)
11518abc0ccfSmrg		basic_machine=$basic_machine-unknown
11527a0395d0Smrg		os=-linux-gnu
11537a0395d0Smrg		;;
11547a0395d0Smrg	tx39)
11557a0395d0Smrg		basic_machine=mipstx39-unknown
11567a0395d0Smrg		;;
11577a0395d0Smrg	tx39el)
11587a0395d0Smrg		basic_machine=mipstx39el-unknown
11597a0395d0Smrg		;;
11607a0395d0Smrg	toad1)
11617a0395d0Smrg		basic_machine=pdp10-xkl
11627a0395d0Smrg		os=-tops20
11637a0395d0Smrg		;;
11647a0395d0Smrg	tower | tower-32)
11657a0395d0Smrg		basic_machine=m68k-ncr
11667a0395d0Smrg		;;
11677a0395d0Smrg	tpf)
11687a0395d0Smrg		basic_machine=s390x-ibm
11697a0395d0Smrg		os=-tpf
11707a0395d0Smrg		;;
11717a0395d0Smrg	udi29k)
11727a0395d0Smrg		basic_machine=a29k-amd
11737a0395d0Smrg		os=-udi
11747a0395d0Smrg		;;
11757a0395d0Smrg	ultra3)
11767a0395d0Smrg		basic_machine=a29k-nyu
11777a0395d0Smrg		os=-sym1
11787a0395d0Smrg		;;
11797a0395d0Smrg	v810 | necv810)
11807a0395d0Smrg		basic_machine=v810-nec
11817a0395d0Smrg		os=-none
11827a0395d0Smrg		;;
11837a0395d0Smrg	vaxv)
11847a0395d0Smrg		basic_machine=vax-dec
11857a0395d0Smrg		os=-sysv
11867a0395d0Smrg		;;
11877a0395d0Smrg	vms)
11887a0395d0Smrg		basic_machine=vax-dec
11897a0395d0Smrg		os=-vms
11907a0395d0Smrg		;;
11917a0395d0Smrg	vpp*|vx|vx-*)
11927a0395d0Smrg		basic_machine=f301-fujitsu
11937a0395d0Smrg		;;
11947a0395d0Smrg	vxworks960)
11957a0395d0Smrg		basic_machine=i960-wrs
11967a0395d0Smrg		os=-vxworks
11977a0395d0Smrg		;;
11987a0395d0Smrg	vxworks68)
11997a0395d0Smrg		basic_machine=m68k-wrs
12007a0395d0Smrg		os=-vxworks
12017a0395d0Smrg		;;
12027a0395d0Smrg	vxworks29k)
12037a0395d0Smrg		basic_machine=a29k-wrs
12047a0395d0Smrg		os=-vxworks
12057a0395d0Smrg		;;
12067a0395d0Smrg	w65*)
12077a0395d0Smrg		basic_machine=w65-wdc
12087a0395d0Smrg		os=-none
12097a0395d0Smrg		;;
12107a0395d0Smrg	w89k-*)
12117a0395d0Smrg		basic_machine=hppa1.1-winbond
12127a0395d0Smrg		os=-proelf
12137a0395d0Smrg		;;
12147a0395d0Smrg	xbox)
12157a0395d0Smrg		basic_machine=i686-pc
12167a0395d0Smrg		os=-mingw32
12177a0395d0Smrg		;;
12187a0395d0Smrg	xps | xps100)
12197a0395d0Smrg		basic_machine=xps100-honeywell
12207a0395d0Smrg		;;
12218abc0ccfSmrg	xscale-* | xscalee[bl]-*)
12228abc0ccfSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12238abc0ccfSmrg		;;
12247a0395d0Smrg	ymp)
12257a0395d0Smrg		basic_machine=ymp-cray
12267a0395d0Smrg		os=-unicos
12277a0395d0Smrg		;;
12287a0395d0Smrg	z8k-*-coff)
12297a0395d0Smrg		basic_machine=z8k-unknown
12307a0395d0Smrg		os=-sim
12317a0395d0Smrg		;;
12327366012aSmrg	z80-*-coff)
12337366012aSmrg		basic_machine=z80-unknown
12347366012aSmrg		os=-sim
12357366012aSmrg		;;
12367a0395d0Smrg	none)
12377a0395d0Smrg		basic_machine=none-none
12387a0395d0Smrg		os=-none
12397a0395d0Smrg		;;
12407a0395d0Smrg
12417a0395d0Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12427a0395d0Smrg# some cases the only manufacturer, in others, it is the most popular.
12437a0395d0Smrg	w89k)
12447a0395d0Smrg		basic_machine=hppa1.1-winbond
12457a0395d0Smrg		;;
12467a0395d0Smrg	op50n)
12477a0395d0Smrg		basic_machine=hppa1.1-oki
12487a0395d0Smrg		;;
12497a0395d0Smrg	op60c)
12507a0395d0Smrg		basic_machine=hppa1.1-oki
12517a0395d0Smrg		;;
12527a0395d0Smrg	romp)
12537a0395d0Smrg		basic_machine=romp-ibm
12547a0395d0Smrg		;;
12557a0395d0Smrg	mmix)
12567a0395d0Smrg		basic_machine=mmix-knuth
12577a0395d0Smrg		;;
12587a0395d0Smrg	rs6000)
12597a0395d0Smrg		basic_machine=rs6000-ibm
12607a0395d0Smrg		;;
12617a0395d0Smrg	vax)
12627a0395d0Smrg		basic_machine=vax-dec
12637a0395d0Smrg		;;
12647a0395d0Smrg	pdp10)
12657a0395d0Smrg		# there are many clones, so DEC is not a safe bet
12667a0395d0Smrg		basic_machine=pdp10-unknown
12677a0395d0Smrg		;;
12687a0395d0Smrg	pdp11)
12697a0395d0Smrg		basic_machine=pdp11-dec
12707a0395d0Smrg		;;
12717a0395d0Smrg	we32k)
12727a0395d0Smrg		basic_machine=we32k-att
12737a0395d0Smrg		;;
12747366012aSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12757a0395d0Smrg		basic_machine=sh-unknown
12767a0395d0Smrg		;;
12777a0395d0Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12787a0395d0Smrg		basic_machine=sparc-sun
12797a0395d0Smrg		;;
12807a0395d0Smrg	cydra)
12817a0395d0Smrg		basic_machine=cydra-cydrome
12827a0395d0Smrg		;;
12837a0395d0Smrg	orion)
12847a0395d0Smrg		basic_machine=orion-highlevel
12857a0395d0Smrg		;;
12867a0395d0Smrg	orion105)
12877a0395d0Smrg		basic_machine=clipper-highlevel
12887a0395d0Smrg		;;
12897a0395d0Smrg	mac | mpw | mac-mpw)
12907a0395d0Smrg		basic_machine=m68k-apple
12917a0395d0Smrg		;;
12927a0395d0Smrg	pmac | pmac-mpw)
12937a0395d0Smrg		basic_machine=powerpc-apple
12947a0395d0Smrg		;;
12957a0395d0Smrg	*-unknown)
12967a0395d0Smrg		# Make sure to match an already-canonicalized machine name.
12977a0395d0Smrg		;;
12987a0395d0Smrg	*)
12997a0395d0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
13007a0395d0Smrg		exit 1
13017a0395d0Smrg		;;
13027a0395d0Smrgesac
13037a0395d0Smrg
13047a0395d0Smrg# Here we canonicalize certain aliases for manufacturers.
13057a0395d0Smrgcase $basic_machine in
13067a0395d0Smrg	*-digital*)
13077a0395d0Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
13087a0395d0Smrg		;;
13097a0395d0Smrg	*-commodore*)
13107a0395d0Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13117a0395d0Smrg		;;
13127a0395d0Smrg	*)
13137a0395d0Smrg		;;
13147a0395d0Smrgesac
13157a0395d0Smrg
13167a0395d0Smrg# Decode manufacturer-specific aliases for certain operating systems.
13177a0395d0Smrg
13187a0395d0Smrgif [ x"$os" != x"" ]
13197a0395d0Smrgthen
13207a0395d0Smrgcase $os in
13218abc0ccfSmrg	# First match some system type aliases
13228abc0ccfSmrg	# that might get confused with valid system types.
13237a0395d0Smrg	# -solaris* is a basic system type, with this one exception.
13248abc0ccfSmrg	-auroraux)
13258abc0ccfSmrg		os=-auroraux
13262adc0320Smrg		;;
13277a0395d0Smrg	-solaris1 | -solaris1.*)
13287a0395d0Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13297a0395d0Smrg		;;
13307a0395d0Smrg	-solaris)
13317a0395d0Smrg		os=-solaris2
13327a0395d0Smrg		;;
13337a0395d0Smrg	-svr4*)
13347a0395d0Smrg		os=-sysv4
13357a0395d0Smrg		;;
13367a0395d0Smrg	-unixware*)
13377a0395d0Smrg		os=-sysv4.2uw
13387a0395d0Smrg		;;
13397a0395d0Smrg	-gnu/linux*)
13407a0395d0Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13417a0395d0Smrg		;;
13427a0395d0Smrg	# First accept the basic system types.
13437a0395d0Smrg	# The portable systems comes first.
13447a0395d0Smrg	# Each alternative MUST END IN A *, to match a version number.
13457a0395d0Smrg	# -sysv* is not here because it comes later, after sysvr4.
13467a0395d0Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13472adc0320Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13482adc0320Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13492adc0320Smrg	      | -sym* | -kopensolaris* \
13507a0395d0Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13517366012aSmrg	      | -aos* | -aros* \
13527a0395d0Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13537a0395d0Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13547a0395d0Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13557a0395d0Smrg	      | -openbsd* | -solidbsd* \
13567a0395d0Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13577a0395d0Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13587a0395d0Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13597a0395d0Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13607366012aSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13618abc0ccfSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
136296402570Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
136396402570Smrg	      | -linux-newlib* | -linux-uclibc* \
13647a0395d0Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13657a0395d0Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13667a0395d0Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13677a0395d0Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13687a0395d0Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13697a0395d0Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13707a0395d0Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13712adc0320Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13727a0395d0Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13737a0395d0Smrg		;;
13747a0395d0Smrg	-qnx*)
13757a0395d0Smrg		case $basic_machine in
13767a0395d0Smrg		    x86-* | i*86-*)
13777a0395d0Smrg			;;
13787a0395d0Smrg		    *)
13797a0395d0Smrg			os=-nto$os
13807a0395d0Smrg			;;
13817a0395d0Smrg		esac
13827a0395d0Smrg		;;
13837a0395d0Smrg	-nto-qnx*)
13847a0395d0Smrg		;;
13857a0395d0Smrg	-nto*)
13867a0395d0Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13877a0395d0Smrg		;;
13887a0395d0Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13897a0395d0Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13907a0395d0Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13917a0395d0Smrg		;;
13927a0395d0Smrg	-mac*)
13937a0395d0Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13947a0395d0Smrg		;;
13957a0395d0Smrg	-linux-dietlibc)
13967a0395d0Smrg		os=-linux-dietlibc
13977a0395d0Smrg		;;
13987a0395d0Smrg	-linux*)
13997a0395d0Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
14007a0395d0Smrg		;;
14017a0395d0Smrg	-sunos5*)
14027a0395d0Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
14037a0395d0Smrg		;;
14047a0395d0Smrg	-sunos6*)
14057a0395d0Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
14067a0395d0Smrg		;;
14077a0395d0Smrg	-opened*)
14087a0395d0Smrg		os=-openedition
14097a0395d0Smrg		;;
14108abc0ccfSmrg	-os400*)
14117a0395d0Smrg		os=-os400
14127a0395d0Smrg		;;
14137a0395d0Smrg	-wince*)
14147a0395d0Smrg		os=-wince
14157a0395d0Smrg		;;
14167a0395d0Smrg	-osfrose*)
14177a0395d0Smrg		os=-osfrose
14187a0395d0Smrg		;;
14197a0395d0Smrg	-osf*)
14207a0395d0Smrg		os=-osf
14217a0395d0Smrg		;;
14227a0395d0Smrg	-utek*)
14237a0395d0Smrg		os=-bsd
14247a0395d0Smrg		;;
14257a0395d0Smrg	-dynix*)
14267a0395d0Smrg		os=-bsd
14277a0395d0Smrg		;;
14287a0395d0Smrg	-acis*)
14297a0395d0Smrg		os=-aos
14307a0395d0Smrg		;;
14317a0395d0Smrg	-atheos*)
14327a0395d0Smrg		os=-atheos
14337a0395d0Smrg		;;
14347a0395d0Smrg	-syllable*)
14357a0395d0Smrg		os=-syllable
14367a0395d0Smrg		;;
14377a0395d0Smrg	-386bsd)
14387a0395d0Smrg		os=-bsd
14397a0395d0Smrg		;;
14407a0395d0Smrg	-ctix* | -uts*)
14417a0395d0Smrg		os=-sysv
14427a0395d0Smrg		;;
14437a0395d0Smrg	-nova*)
14447a0395d0Smrg		os=-rtmk-nova
14457a0395d0Smrg		;;
14467a0395d0Smrg	-ns2 )
14477a0395d0Smrg		os=-nextstep2
14487a0395d0Smrg		;;
14497a0395d0Smrg	-nsk*)
14507a0395d0Smrg		os=-nsk
14517a0395d0Smrg		;;
14527a0395d0Smrg	# Preserve the version number of sinix5.
14537a0395d0Smrg	-sinix5.*)
14547a0395d0Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14557a0395d0Smrg		;;
14567a0395d0Smrg	-sinix*)
14577a0395d0Smrg		os=-sysv4
14587a0395d0Smrg		;;
14598abc0ccfSmrg	-tpf*)
14607a0395d0Smrg		os=-tpf
14617a0395d0Smrg		;;
14627a0395d0Smrg	-triton*)
14637a0395d0Smrg		os=-sysv3
14647a0395d0Smrg		;;
14657a0395d0Smrg	-oss*)
14667a0395d0Smrg		os=-sysv3
14677a0395d0Smrg		;;
14687a0395d0Smrg	-svr4)
14697a0395d0Smrg		os=-sysv4
14707a0395d0Smrg		;;
14717a0395d0Smrg	-svr3)
14727a0395d0Smrg		os=-sysv3
14737a0395d0Smrg		;;
14747a0395d0Smrg	-sysvr4)
14757a0395d0Smrg		os=-sysv4
14767a0395d0Smrg		;;
14777a0395d0Smrg	# This must come after -sysvr4.
14787a0395d0Smrg	-sysv*)
14797a0395d0Smrg		;;
14807a0395d0Smrg	-ose*)
14817a0395d0Smrg		os=-ose
14827a0395d0Smrg		;;
14837a0395d0Smrg	-es1800*)
14847a0395d0Smrg		os=-ose
14857a0395d0Smrg		;;
14867a0395d0Smrg	-xenix)
14877a0395d0Smrg		os=-xenix
14887a0395d0Smrg		;;
14897a0395d0Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14907a0395d0Smrg		os=-mint
14917a0395d0Smrg		;;
14927a0395d0Smrg	-aros*)
14937a0395d0Smrg		os=-aros
14947a0395d0Smrg		;;
14957a0395d0Smrg	-kaos*)
14967a0395d0Smrg		os=-kaos
14977a0395d0Smrg		;;
14987a0395d0Smrg	-zvmoe)
14997a0395d0Smrg		os=-zvmoe
15007a0395d0Smrg		;;
15017366012aSmrg	-dicos*)
15027366012aSmrg		os=-dicos
15037366012aSmrg		;;
15048abc0ccfSmrg	-nacl*)
15058abc0ccfSmrg		;;
15067a0395d0Smrg	-none)
15077a0395d0Smrg		;;
15087a0395d0Smrg	*)
15097a0395d0Smrg		# Get rid of the `-' at the beginning of $os.
15107a0395d0Smrg		os=`echo $os | sed 's/[^-]*-//'`
15117a0395d0Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15127a0395d0Smrg		exit 1
15137a0395d0Smrg		;;
15147a0395d0Smrgesac
15157a0395d0Smrgelse
15167a0395d0Smrg
15177a0395d0Smrg# Here we handle the default operating systems that come with various machines.
15187a0395d0Smrg# The value should be what the vendor currently ships out the door with their
15197a0395d0Smrg# machine or put another way, the most popular os provided with the machine.
15207a0395d0Smrg
15217a0395d0Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15227a0395d0Smrg# "-sun"), then you have to tell the case statement up towards the top
15237a0395d0Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15247a0395d0Smrg# will signal an error saying that MANUFACTURER isn't an operating
15257a0395d0Smrg# system, and we'll never get to this point.
15267a0395d0Smrg
15277a0395d0Smrgcase $basic_machine in
15288abc0ccfSmrg	score-*)
15297a0395d0Smrg		os=-elf
15307a0395d0Smrg		;;
15318abc0ccfSmrg	spu-*)
15327a0395d0Smrg		os=-elf
15337a0395d0Smrg		;;
15347a0395d0Smrg	*-acorn)
15357a0395d0Smrg		os=-riscix1.2
15367a0395d0Smrg		;;
15377a0395d0Smrg	arm*-rebel)
15387a0395d0Smrg		os=-linux
15397a0395d0Smrg		;;
15407a0395d0Smrg	arm*-semi)
15417a0395d0Smrg		os=-aout
15427a0395d0Smrg		;;
15438abc0ccfSmrg	c4x-* | tic4x-*)
15448abc0ccfSmrg		os=-coff
15458abc0ccfSmrg		;;
15468abc0ccfSmrg	hexagon-*)
15478abc0ccfSmrg		os=-elf
15487a0395d0Smrg		;;
154996402570Smrg	tic54x-*)
155096402570Smrg		os=-coff
155196402570Smrg		;;
155296402570Smrg	tic55x-*)
155396402570Smrg		os=-coff
155496402570Smrg		;;
155596402570Smrg	tic6x-*)
155696402570Smrg		os=-coff
155796402570Smrg		;;
15587a0395d0Smrg	# This must come before the *-dec entry.
15597a0395d0Smrg	pdp10-*)
15607a0395d0Smrg		os=-tops20
15617a0395d0Smrg		;;
15627a0395d0Smrg	pdp11-*)
15637a0395d0Smrg		os=-none
15647a0395d0Smrg		;;
15657a0395d0Smrg	*-dec | vax-*)
15667a0395d0Smrg		os=-ultrix4.2
15677a0395d0Smrg		;;
15687a0395d0Smrg	m68*-apollo)
15697a0395d0Smrg		os=-domain
15707a0395d0Smrg		;;
15717a0395d0Smrg	i386-sun)
15727a0395d0Smrg		os=-sunos4.0.2
15737a0395d0Smrg		;;
15747a0395d0Smrg	m68000-sun)
15757a0395d0Smrg		os=-sunos3
15767a0395d0Smrg		;;
15777a0395d0Smrg	m68*-cisco)
15787a0395d0Smrg		os=-aout
15797a0395d0Smrg		;;
15808abc0ccfSmrg	mep-*)
15817a0395d0Smrg		os=-elf
15827a0395d0Smrg		;;
15837a0395d0Smrg	mips*-cisco)
15847a0395d0Smrg		os=-elf
15857a0395d0Smrg		;;
15867a0395d0Smrg	mips*-*)
15877a0395d0Smrg		os=-elf
15887a0395d0Smrg		;;
15897a0395d0Smrg	or32-*)
15907a0395d0Smrg		os=-coff
15917a0395d0Smrg		;;
15927a0395d0Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15937a0395d0Smrg		os=-sysv3
15947a0395d0Smrg		;;
15957a0395d0Smrg	sparc-* | *-sun)
15967a0395d0Smrg		os=-sunos4.1.1
15977a0395d0Smrg		;;
15987a0395d0Smrg	*-be)
15997a0395d0Smrg		os=-beos
16007a0395d0Smrg		;;
16017a0395d0Smrg	*-haiku)
16027a0395d0Smrg		os=-haiku
16037a0395d0Smrg		;;
16047a0395d0Smrg	*-ibm)
16057a0395d0Smrg		os=-aix
16067a0395d0Smrg		;;
16078abc0ccfSmrg	*-knuth)
16087a0395d0Smrg		os=-mmixware
16097a0395d0Smrg		;;
16107a0395d0Smrg	*-wec)
16117a0395d0Smrg		os=-proelf
16127a0395d0Smrg		;;
16137a0395d0Smrg	*-winbond)
16147a0395d0Smrg		os=-proelf
16157a0395d0Smrg		;;
16167a0395d0Smrg	*-oki)
16177a0395d0Smrg		os=-proelf
16187a0395d0Smrg		;;
16197a0395d0Smrg	*-hp)
16207a0395d0Smrg		os=-hpux
16217a0395d0Smrg		;;
16227a0395d0Smrg	*-hitachi)
16237a0395d0Smrg		os=-hiux
16247a0395d0Smrg		;;
16257a0395d0Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16267a0395d0Smrg		os=-sysv
16277a0395d0Smrg		;;
16287a0395d0Smrg	*-cbm)
16297a0395d0Smrg		os=-amigaos
16307a0395d0Smrg		;;
16317a0395d0Smrg	*-dg)
16327a0395d0Smrg		os=-dgux
16337a0395d0Smrg		;;
16347a0395d0Smrg	*-dolphin)
16357a0395d0Smrg		os=-sysv3
16367a0395d0Smrg		;;
16377a0395d0Smrg	m68k-ccur)
16387a0395d0Smrg		os=-rtu
16397a0395d0Smrg		;;
16407a0395d0Smrg	m88k-omron*)
16417a0395d0Smrg		os=-luna
16427a0395d0Smrg		;;
16437a0395d0Smrg	*-next )
16447a0395d0Smrg		os=-nextstep
16457a0395d0Smrg		;;
16467a0395d0Smrg	*-sequent)
16477a0395d0Smrg		os=-ptx
16487a0395d0Smrg		;;
16497a0395d0Smrg	*-crds)
16507a0395d0Smrg		os=-unos
16517a0395d0Smrg		;;
16527a0395d0Smrg	*-ns)
16537a0395d0Smrg		os=-genix
16547a0395d0Smrg		;;
16557a0395d0Smrg	i370-*)
16567a0395d0Smrg		os=-mvs
16577a0395d0Smrg		;;
16587a0395d0Smrg	*-next)
16597a0395d0Smrg		os=-nextstep3
16607a0395d0Smrg		;;
16617a0395d0Smrg	*-gould)
16627a0395d0Smrg		os=-sysv
16637a0395d0Smrg		;;
16647a0395d0Smrg	*-highlevel)
16657a0395d0Smrg		os=-bsd
16667a0395d0Smrg		;;
16677a0395d0Smrg	*-encore)
16687a0395d0Smrg		os=-bsd
16697a0395d0Smrg		;;
16707a0395d0Smrg	*-sgi)
16717a0395d0Smrg		os=-irix
16727a0395d0Smrg		;;
16737a0395d0Smrg	*-siemens)
16747a0395d0Smrg		os=-sysv4
16757a0395d0Smrg		;;
16767a0395d0Smrg	*-masscomp)
16777a0395d0Smrg		os=-rtu
16787a0395d0Smrg		;;
16797a0395d0Smrg	f30[01]-fujitsu | f700-fujitsu)
16807a0395d0Smrg		os=-uxpv
16817a0395d0Smrg		;;
16827a0395d0Smrg	*-rom68k)
16837a0395d0Smrg		os=-coff
16847a0395d0Smrg		;;
16857a0395d0Smrg	*-*bug)
16867a0395d0Smrg		os=-coff
16877a0395d0Smrg		;;
16887a0395d0Smrg	*-apple)
16897a0395d0Smrg		os=-macos
16907a0395d0Smrg		;;
16917a0395d0Smrg	*-atari*)
16927a0395d0Smrg		os=-mint
16937a0395d0Smrg		;;
16947a0395d0Smrg	*)
16957a0395d0Smrg		os=-none
16967a0395d0Smrg		;;
16977a0395d0Smrgesac
16987a0395d0Smrgfi
16997a0395d0Smrg
17007a0395d0Smrg# Here we handle the case where we know the os, and the CPU type, but not the
17017a0395d0Smrg# manufacturer.  We pick the logical manufacturer.
17027a0395d0Smrgvendor=unknown
17037a0395d0Smrgcase $basic_machine in
17047a0395d0Smrg	*-unknown)
17057a0395d0Smrg		case $os in
17067a0395d0Smrg			-riscix*)
17077a0395d0Smrg				vendor=acorn
17087a0395d0Smrg				;;
17097a0395d0Smrg			-sunos*)
17107a0395d0Smrg				vendor=sun
17117a0395d0Smrg				;;
17122adc0320Smrg			-cnk*|-aix*)
17137a0395d0Smrg				vendor=ibm
17147a0395d0Smrg				;;
17157a0395d0Smrg			-beos*)
17167a0395d0Smrg				vendor=be
17177a0395d0Smrg				;;
17187a0395d0Smrg			-hpux*)
17197a0395d0Smrg				vendor=hp
17207a0395d0Smrg				;;
17217a0395d0Smrg			-mpeix*)
17227a0395d0Smrg				vendor=hp
17237a0395d0Smrg				;;
17247a0395d0Smrg			-hiux*)
17257a0395d0Smrg				vendor=hitachi
17267a0395d0Smrg				;;
17277a0395d0Smrg			-unos*)
17287a0395d0Smrg				vendor=crds
17297a0395d0Smrg				;;
17307a0395d0Smrg			-dgux*)
17317a0395d0Smrg				vendor=dg
17327a0395d0Smrg				;;
17337a0395d0Smrg			-luna*)
17347a0395d0Smrg				vendor=omron
17357a0395d0Smrg				;;
17367a0395d0Smrg			-genix*)
17377a0395d0Smrg				vendor=ns
17387a0395d0Smrg				;;
17397a0395d0Smrg			-mvs* | -opened*)
17407a0395d0Smrg				vendor=ibm
17417a0395d0Smrg				;;
17427a0395d0Smrg			-os400*)
17437a0395d0Smrg				vendor=ibm
17447a0395d0Smrg				;;
17457a0395d0Smrg			-ptx*)
17467a0395d0Smrg				vendor=sequent
17477a0395d0Smrg				;;
17487a0395d0Smrg			-tpf*)
17497a0395d0Smrg				vendor=ibm
17507a0395d0Smrg				;;
17517a0395d0Smrg			-vxsim* | -vxworks* | -windiss*)
17527a0395d0Smrg				vendor=wrs
17537a0395d0Smrg				;;
17547a0395d0Smrg			-aux*)
17557a0395d0Smrg				vendor=apple
17567a0395d0Smrg				;;
17577a0395d0Smrg			-hms*)
17587a0395d0Smrg				vendor=hitachi
17597a0395d0Smrg				;;
17607a0395d0Smrg			-mpw* | -macos*)
17617a0395d0Smrg				vendor=apple
17627a0395d0Smrg				;;
17637a0395d0Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17647a0395d0Smrg				vendor=atari
17657a0395d0Smrg				;;
17667a0395d0Smrg			-vos*)
17677a0395d0Smrg				vendor=stratus
17687a0395d0Smrg				;;
17697a0395d0Smrg		esac
17707a0395d0Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17717a0395d0Smrg		;;
17727a0395d0Smrgesac
17737a0395d0Smrg
17747a0395d0Smrgecho $basic_machine$os
17757a0395d0Smrgexit
17767a0395d0Smrg
17777a0395d0Smrg# Local variables:
17787a0395d0Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17797a0395d0Smrg# time-stamp-start: "timestamp='"
17807a0395d0Smrg# time-stamp-format: "%:y-%02m-%02d"
17817a0395d0Smrg# time-stamp-end: "'"
17827a0395d0Smrg# End:
1783