config.sub revision 9aa228fd
19aa228fdSmrg#! /bin/sh
29aa228fdSmrg# Configuration validation subroutine script.
39aa228fdSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
49aa228fdSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
59aa228fdSmrg#   Inc.
69aa228fdSmrg
79aa228fdSmrgtimestamp='2006-09-20'
89aa228fdSmrg
99aa228fdSmrg# This file is (in principle) common to ALL GNU software.
109aa228fdSmrg# The presence of a machine in this file suggests that SOME GNU software
119aa228fdSmrg# can handle that machine.  It does not imply ALL GNU software can.
129aa228fdSmrg#
139aa228fdSmrg# This file is free software; you can redistribute it and/or modify
149aa228fdSmrg# it under the terms of the GNU General Public License as published by
159aa228fdSmrg# the Free Software Foundation; either version 2 of the License, or
169aa228fdSmrg# (at your option) any later version.
179aa228fdSmrg#
189aa228fdSmrg# This program is distributed in the hope that it will be useful,
199aa228fdSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
209aa228fdSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
219aa228fdSmrg# GNU General Public License for more details.
229aa228fdSmrg#
239aa228fdSmrg# You should have received a copy of the GNU General Public License
249aa228fdSmrg# along with this program; if not, write to the Free Software
259aa228fdSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
269aa228fdSmrg# 02110-1301, USA.
279aa228fdSmrg#
289aa228fdSmrg# As a special exception to the GNU General Public License, if you
299aa228fdSmrg# distribute this file as part of a program that contains a
309aa228fdSmrg# configuration script generated by Autoconf, you may include it under
319aa228fdSmrg# the same distribution terms that you use for the rest of that program.
329aa228fdSmrg
339aa228fdSmrg
349aa228fdSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
359aa228fdSmrg# diff and a properly formatted ChangeLog entry.
369aa228fdSmrg#
379aa228fdSmrg# Configuration subroutine to validate and canonicalize a configuration type.
389aa228fdSmrg# Supply the specified configuration type as an argument.
399aa228fdSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
409aa228fdSmrg# Otherwise, we print the canonical config type on stdout and succeed.
419aa228fdSmrg
429aa228fdSmrg# This file is supposed to be the same for all GNU packages
439aa228fdSmrg# and recognize all the CPU types, system types and aliases
449aa228fdSmrg# that are meaningful with *any* GNU software.
459aa228fdSmrg# Each package is responsible for reporting which valid configurations
469aa228fdSmrg# it does not support.  The user should be able to distinguish
479aa228fdSmrg# a failure to support a valid configuration from a meaningless
489aa228fdSmrg# configuration.
499aa228fdSmrg
509aa228fdSmrg# The goal of this file is to map all the various variations of a given
519aa228fdSmrg# machine specification into a single specification in the form:
529aa228fdSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
539aa228fdSmrg# or in some cases, the newer four-part form:
549aa228fdSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
559aa228fdSmrg# It is wrong to echo any other type of specification.
569aa228fdSmrg
579aa228fdSmrgme=`echo "$0" | sed -e 's,.*/,,'`
589aa228fdSmrg
599aa228fdSmrgusage="\
609aa228fdSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
619aa228fdSmrg       $0 [OPTION] ALIAS
629aa228fdSmrg
639aa228fdSmrgCanonicalize a configuration name.
649aa228fdSmrg
659aa228fdSmrgOperation modes:
669aa228fdSmrg  -h, --help         print this help, then exit
679aa228fdSmrg  -t, --time-stamp   print date of last modification, then exit
689aa228fdSmrg  -v, --version      print version number, then exit
699aa228fdSmrg
709aa228fdSmrgReport bugs and patches to <config-patches@gnu.org>."
719aa228fdSmrg
729aa228fdSmrgversion="\
739aa228fdSmrgGNU config.sub ($timestamp)
749aa228fdSmrg
759aa228fdSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
769aa228fdSmrgFree Software Foundation, Inc.
779aa228fdSmrg
789aa228fdSmrgThis is free software; see the source for copying conditions.  There is NO
799aa228fdSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
809aa228fdSmrg
819aa228fdSmrghelp="
829aa228fdSmrgTry \`$me --help' for more information."
839aa228fdSmrg
849aa228fdSmrg# Parse command line
859aa228fdSmrgwhile test $# -gt 0 ; do
869aa228fdSmrg  case $1 in
879aa228fdSmrg    --time-stamp | --time* | -t )
889aa228fdSmrg       echo "$timestamp" ; exit ;;
899aa228fdSmrg    --version | -v )
909aa228fdSmrg       echo "$version" ; exit ;;
919aa228fdSmrg    --help | --h* | -h )
929aa228fdSmrg       echo "$usage"; exit ;;
939aa228fdSmrg    -- )     # Stop option processing
949aa228fdSmrg       shift; break ;;
959aa228fdSmrg    - )	# Use stdin as input.
969aa228fdSmrg       break ;;
979aa228fdSmrg    -* )
989aa228fdSmrg       echo "$me: invalid option $1$help"
999aa228fdSmrg       exit 1 ;;
1009aa228fdSmrg
1019aa228fdSmrg    *local*)
1029aa228fdSmrg       # First pass through any local machine types.
1039aa228fdSmrg       echo $1
1049aa228fdSmrg       exit ;;
1059aa228fdSmrg
1069aa228fdSmrg    * )
1079aa228fdSmrg       break ;;
1089aa228fdSmrg  esac
1099aa228fdSmrgdone
1109aa228fdSmrg
1119aa228fdSmrgcase $# in
1129aa228fdSmrg 0) echo "$me: missing argument$help" >&2
1139aa228fdSmrg    exit 1;;
1149aa228fdSmrg 1) ;;
1159aa228fdSmrg *) echo "$me: too many arguments$help" >&2
1169aa228fdSmrg    exit 1;;
1179aa228fdSmrgesac
1189aa228fdSmrg
1199aa228fdSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1209aa228fdSmrg# Here we must recognize all the valid KERNEL-OS combinations.
1219aa228fdSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1229aa228fdSmrgcase $maybe_os in
1239aa228fdSmrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
1249aa228fdSmrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
1259aa228fdSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
1269aa228fdSmrg    os=-$maybe_os
1279aa228fdSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1289aa228fdSmrg    ;;
1299aa228fdSmrg  *)
1309aa228fdSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1319aa228fdSmrg    if [ $basic_machine != $1 ]
1329aa228fdSmrg    then os=`echo $1 | sed 's/.*-/-/'`
1339aa228fdSmrg    else os=; fi
1349aa228fdSmrg    ;;
1359aa228fdSmrgesac
1369aa228fdSmrg
1379aa228fdSmrg### Let's recognize common machines as not being operating systems so
1389aa228fdSmrg### that things like config.sub decstation-3100 work.  We also
1399aa228fdSmrg### recognize some manufacturers as not being operating systems, so we
1409aa228fdSmrg### can provide default operating systems below.
1419aa228fdSmrgcase $os in
1429aa228fdSmrg	-sun*os*)
1439aa228fdSmrg		# Prevent following clause from handling this invalid input.
1449aa228fdSmrg		;;
1459aa228fdSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1469aa228fdSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1479aa228fdSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1489aa228fdSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1499aa228fdSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1509aa228fdSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1519aa228fdSmrg	-apple | -axis | -knuth | -cray)
1529aa228fdSmrg		os=
1539aa228fdSmrg		basic_machine=$1
1549aa228fdSmrg		;;
1559aa228fdSmrg	-sim | -cisco | -oki | -wec | -winbond)
1569aa228fdSmrg		os=
1579aa228fdSmrg		basic_machine=$1
1589aa228fdSmrg		;;
1599aa228fdSmrg	-scout)
1609aa228fdSmrg		;;
1619aa228fdSmrg	-wrs)
1629aa228fdSmrg		os=-vxworks
1639aa228fdSmrg		basic_machine=$1
1649aa228fdSmrg		;;
1659aa228fdSmrg	-chorusos*)
1669aa228fdSmrg		os=-chorusos
1679aa228fdSmrg		basic_machine=$1
1689aa228fdSmrg		;;
1699aa228fdSmrg 	-chorusrdb)
1709aa228fdSmrg 		os=-chorusrdb
1719aa228fdSmrg		basic_machine=$1
1729aa228fdSmrg 		;;
1739aa228fdSmrg	-hiux*)
1749aa228fdSmrg		os=-hiuxwe2
1759aa228fdSmrg		;;
1769aa228fdSmrg	-sco6)
1779aa228fdSmrg		os=-sco5v6
1789aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1799aa228fdSmrg		;;
1809aa228fdSmrg	-sco5)
1819aa228fdSmrg		os=-sco3.2v5
1829aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1839aa228fdSmrg		;;
1849aa228fdSmrg	-sco4)
1859aa228fdSmrg		os=-sco3.2v4
1869aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1879aa228fdSmrg		;;
1889aa228fdSmrg	-sco3.2.[4-9]*)
1899aa228fdSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1909aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1919aa228fdSmrg		;;
1929aa228fdSmrg	-sco3.2v[4-9]*)
1939aa228fdSmrg		# Don't forget version if it is 3.2v4 or newer.
1949aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1959aa228fdSmrg		;;
1969aa228fdSmrg	-sco5v6*)
1979aa228fdSmrg		# Don't forget version if it is 3.2v4 or newer.
1989aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1999aa228fdSmrg		;;
2009aa228fdSmrg	-sco*)
2019aa228fdSmrg		os=-sco3.2v2
2029aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2039aa228fdSmrg		;;
2049aa228fdSmrg	-udk*)
2059aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2069aa228fdSmrg		;;
2079aa228fdSmrg	-isc)
2089aa228fdSmrg		os=-isc2.2
2099aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2109aa228fdSmrg		;;
2119aa228fdSmrg	-clix*)
2129aa228fdSmrg		basic_machine=clipper-intergraph
2139aa228fdSmrg		;;
2149aa228fdSmrg	-isc*)
2159aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2169aa228fdSmrg		;;
2179aa228fdSmrg	-lynx*)
2189aa228fdSmrg		os=-lynxos
2199aa228fdSmrg		;;
2209aa228fdSmrg	-ptx*)
2219aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2229aa228fdSmrg		;;
2239aa228fdSmrg	-windowsnt*)
2249aa228fdSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2259aa228fdSmrg		;;
2269aa228fdSmrg	-psos*)
2279aa228fdSmrg		os=-psos
2289aa228fdSmrg		;;
2299aa228fdSmrg	-mint | -mint[0-9]*)
2309aa228fdSmrg		basic_machine=m68k-atari
2319aa228fdSmrg		os=-mint
2329aa228fdSmrg		;;
2339aa228fdSmrgesac
2349aa228fdSmrg
2359aa228fdSmrg# Decode aliases for certain CPU-COMPANY combinations.
2369aa228fdSmrgcase $basic_machine in
2379aa228fdSmrg	# Recognize the basic CPU types without company name.
2389aa228fdSmrg	# Some are omitted here because they have special meanings below.
2399aa228fdSmrg	1750a | 580 \
2409aa228fdSmrg	| a29k \
2419aa228fdSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2429aa228fdSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2439aa228fdSmrg	| am33_2.0 \
2449aa228fdSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2459aa228fdSmrg	| bfin \
2469aa228fdSmrg	| c4x | clipper \
2479aa228fdSmrg	| d10v | d30v | dlx | dsp16xx \
2489aa228fdSmrg	| fr30 | frv \
2499aa228fdSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2509aa228fdSmrg	| i370 | i860 | i960 | ia64 \
2519aa228fdSmrg	| ip2k | iq2000 \
2529aa228fdSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2539aa228fdSmrg	| maxq | mb | microblaze | mcore \
2549aa228fdSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2559aa228fdSmrg	| mips16 \
2569aa228fdSmrg	| mips64 | mips64el \
2579aa228fdSmrg	| mips64vr | mips64vrel \
2589aa228fdSmrg	| mips64orion | mips64orionel \
2599aa228fdSmrg	| mips64vr4100 | mips64vr4100el \
2609aa228fdSmrg	| mips64vr4300 | mips64vr4300el \
2619aa228fdSmrg	| mips64vr5000 | mips64vr5000el \
2629aa228fdSmrg	| mips64vr5900 | mips64vr5900el \
2639aa228fdSmrg	| mipsisa32 | mipsisa32el \
2649aa228fdSmrg	| mipsisa32r2 | mipsisa32r2el \
2659aa228fdSmrg	| mipsisa64 | mipsisa64el \
2669aa228fdSmrg	| mipsisa64r2 | mipsisa64r2el \
2679aa228fdSmrg	| mipsisa64sb1 | mipsisa64sb1el \
2689aa228fdSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
2699aa228fdSmrg	| mipstx39 | mipstx39el \
2709aa228fdSmrg	| mn10200 | mn10300 \
2719aa228fdSmrg	| mt \
2729aa228fdSmrg	| msp430 \
2739aa228fdSmrg	| nios | nios2 \
2749aa228fdSmrg	| ns16k | ns32k \
2759aa228fdSmrg	| or32 \
2769aa228fdSmrg	| pdp10 | pdp11 | pj | pjl \
2779aa228fdSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2789aa228fdSmrg	| pyramid \
2799aa228fdSmrg	| score \
2809aa228fdSmrg	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2819aa228fdSmrg	| sh64 | sh64le \
2829aa228fdSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2839aa228fdSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2849aa228fdSmrg	| spu | strongarm \
2859aa228fdSmrg	| tahoe | thumb | tic4x | tic80 | tron \
2869aa228fdSmrg	| v850 | v850e \
2879aa228fdSmrg	| we32k \
2889aa228fdSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
2899aa228fdSmrg	| z8k)
2909aa228fdSmrg		basic_machine=$basic_machine-unknown
2919aa228fdSmrg		;;
2929aa228fdSmrg	m6811 | m68hc11 | m6812 | m68hc12)
2939aa228fdSmrg		# Motorola 68HC11/12.
2949aa228fdSmrg		basic_machine=$basic_machine-unknown
2959aa228fdSmrg		os=-none
2969aa228fdSmrg		;;
2979aa228fdSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
2989aa228fdSmrg		;;
2999aa228fdSmrg	ms1)
3009aa228fdSmrg		basic_machine=mt-unknown
3019aa228fdSmrg		;;
3029aa228fdSmrg
3039aa228fdSmrg	# We use `pc' rather than `unknown'
3049aa228fdSmrg	# because (1) that's what they normally are, and
3059aa228fdSmrg	# (2) the word "unknown" tends to confuse beginning users.
3069aa228fdSmrg	i*86 | x86_64)
3079aa228fdSmrg	  basic_machine=$basic_machine-pc
3089aa228fdSmrg	  ;;
3099aa228fdSmrg	# Object if more than one company name word.
3109aa228fdSmrg	*-*-*)
3119aa228fdSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3129aa228fdSmrg		exit 1
3139aa228fdSmrg		;;
3149aa228fdSmrg	# Recognize the basic CPU types with company name.
3159aa228fdSmrg	580-* \
3169aa228fdSmrg	| a29k-* \
3179aa228fdSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3189aa228fdSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3199aa228fdSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3209aa228fdSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3219aa228fdSmrg	| avr-* | avr32-* \
3229aa228fdSmrg	| bfin-* | bs2000-* \
3239aa228fdSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
3249aa228fdSmrg	| clipper-* | craynv-* | cydra-* \
3259aa228fdSmrg	| d10v-* | d30v-* | dlx-* \
3269aa228fdSmrg	| elxsi-* \
3279aa228fdSmrg	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
3289aa228fdSmrg	| h8300-* | h8500-* \
3299aa228fdSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3309aa228fdSmrg	| i*86-* | i860-* | i960-* | ia64-* \
3319aa228fdSmrg	| ip2k-* | iq2000-* \
3329aa228fdSmrg	| m32c-* | m32r-* | m32rle-* \
3339aa228fdSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3349aa228fdSmrg	| m88110-* | m88k-* | maxq-* | mcore-* \
3359aa228fdSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3369aa228fdSmrg	| mips16-* \
3379aa228fdSmrg	| mips64-* | mips64el-* \
3389aa228fdSmrg	| mips64vr-* | mips64vrel-* \
3399aa228fdSmrg	| mips64orion-* | mips64orionel-* \
3409aa228fdSmrg	| mips64vr4100-* | mips64vr4100el-* \
3419aa228fdSmrg	| mips64vr4300-* | mips64vr4300el-* \
3429aa228fdSmrg	| mips64vr5000-* | mips64vr5000el-* \
3439aa228fdSmrg	| mips64vr5900-* | mips64vr5900el-* \
3449aa228fdSmrg	| mipsisa32-* | mipsisa32el-* \
3459aa228fdSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
3469aa228fdSmrg	| mipsisa64-* | mipsisa64el-* \
3479aa228fdSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
3489aa228fdSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3499aa228fdSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3509aa228fdSmrg	| mipstx39-* | mipstx39el-* \
3519aa228fdSmrg	| mmix-* \
3529aa228fdSmrg	| mt-* \
3539aa228fdSmrg	| msp430-* \
3549aa228fdSmrg	| nios-* | nios2-* \
3559aa228fdSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
3569aa228fdSmrg	| orion-* \
3579aa228fdSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3589aa228fdSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3599aa228fdSmrg	| pyramid-* \
3609aa228fdSmrg	| romp-* | rs6000-* \
3619aa228fdSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3629aa228fdSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3639aa228fdSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3649aa228fdSmrg	| sparclite-* \
3659aa228fdSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3669aa228fdSmrg	| tahoe-* | thumb-* \
3679aa228fdSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3689aa228fdSmrg	| tron-* \
3699aa228fdSmrg	| v850-* | v850e-* | vax-* \
3709aa228fdSmrg	| we32k-* \
3719aa228fdSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
3729aa228fdSmrg	| xstormy16-* | xtensa-* \
3739aa228fdSmrg	| ymp-* \
3749aa228fdSmrg	| z8k-*)
3759aa228fdSmrg		;;
3769aa228fdSmrg	# Recognize the various machine names and aliases which stand
3779aa228fdSmrg	# for a CPU type and a company and sometimes even an OS.
3789aa228fdSmrg	386bsd)
3799aa228fdSmrg		basic_machine=i386-unknown
3809aa228fdSmrg		os=-bsd
3819aa228fdSmrg		;;
3829aa228fdSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
3839aa228fdSmrg		basic_machine=m68000-att
3849aa228fdSmrg		;;
3859aa228fdSmrg	3b*)
3869aa228fdSmrg		basic_machine=we32k-att
3879aa228fdSmrg		;;
3889aa228fdSmrg	a29khif)
3899aa228fdSmrg		basic_machine=a29k-amd
3909aa228fdSmrg		os=-udi
3919aa228fdSmrg		;;
3929aa228fdSmrg    	abacus)
3939aa228fdSmrg		basic_machine=abacus-unknown
3949aa228fdSmrg		;;
3959aa228fdSmrg	adobe68k)
3969aa228fdSmrg		basic_machine=m68010-adobe
3979aa228fdSmrg		os=-scout
3989aa228fdSmrg		;;
3999aa228fdSmrg	alliant | fx80)
4009aa228fdSmrg		basic_machine=fx80-alliant
4019aa228fdSmrg		;;
4029aa228fdSmrg	altos | altos3068)
4039aa228fdSmrg		basic_machine=m68k-altos
4049aa228fdSmrg		;;
4059aa228fdSmrg	am29k)
4069aa228fdSmrg		basic_machine=a29k-none
4079aa228fdSmrg		os=-bsd
4089aa228fdSmrg		;;
4099aa228fdSmrg	amd64)
4109aa228fdSmrg		basic_machine=x86_64-pc
4119aa228fdSmrg		;;
4129aa228fdSmrg	amd64-*)
4139aa228fdSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4149aa228fdSmrg		;;
4159aa228fdSmrg	amdahl)
4169aa228fdSmrg		basic_machine=580-amdahl
4179aa228fdSmrg		os=-sysv
4189aa228fdSmrg		;;
4199aa228fdSmrg	amiga | amiga-*)
4209aa228fdSmrg		basic_machine=m68k-unknown
4219aa228fdSmrg		;;
4229aa228fdSmrg	amigaos | amigados)
4239aa228fdSmrg		basic_machine=m68k-unknown
4249aa228fdSmrg		os=-amigaos
4259aa228fdSmrg		;;
4269aa228fdSmrg	amigaunix | amix)
4279aa228fdSmrg		basic_machine=m68k-unknown
4289aa228fdSmrg		os=-sysv4
4299aa228fdSmrg		;;
4309aa228fdSmrg	apollo68)
4319aa228fdSmrg		basic_machine=m68k-apollo
4329aa228fdSmrg		os=-sysv
4339aa228fdSmrg		;;
4349aa228fdSmrg	apollo68bsd)
4359aa228fdSmrg		basic_machine=m68k-apollo
4369aa228fdSmrg		os=-bsd
4379aa228fdSmrg		;;
4389aa228fdSmrg	aux)
4399aa228fdSmrg		basic_machine=m68k-apple
4409aa228fdSmrg		os=-aux
4419aa228fdSmrg		;;
4429aa228fdSmrg	balance)
4439aa228fdSmrg		basic_machine=ns32k-sequent
4449aa228fdSmrg		os=-dynix
4459aa228fdSmrg		;;
4469aa228fdSmrg	c90)
4479aa228fdSmrg		basic_machine=c90-cray
4489aa228fdSmrg		os=-unicos
4499aa228fdSmrg		;;
4509aa228fdSmrg	convex-c1)
4519aa228fdSmrg		basic_machine=c1-convex
4529aa228fdSmrg		os=-bsd
4539aa228fdSmrg		;;
4549aa228fdSmrg	convex-c2)
4559aa228fdSmrg		basic_machine=c2-convex
4569aa228fdSmrg		os=-bsd
4579aa228fdSmrg		;;
4589aa228fdSmrg	convex-c32)
4599aa228fdSmrg		basic_machine=c32-convex
4609aa228fdSmrg		os=-bsd
4619aa228fdSmrg		;;
4629aa228fdSmrg	convex-c34)
4639aa228fdSmrg		basic_machine=c34-convex
4649aa228fdSmrg		os=-bsd
4659aa228fdSmrg		;;
4669aa228fdSmrg	convex-c38)
4679aa228fdSmrg		basic_machine=c38-convex
4689aa228fdSmrg		os=-bsd
4699aa228fdSmrg		;;
4709aa228fdSmrg	cray | j90)
4719aa228fdSmrg		basic_machine=j90-cray
4729aa228fdSmrg		os=-unicos
4739aa228fdSmrg		;;
4749aa228fdSmrg	craynv)
4759aa228fdSmrg		basic_machine=craynv-cray
4769aa228fdSmrg		os=-unicosmp
4779aa228fdSmrg		;;
4789aa228fdSmrg	cr16c)
4799aa228fdSmrg		basic_machine=cr16c-unknown
4809aa228fdSmrg		os=-elf
4819aa228fdSmrg		;;
4829aa228fdSmrg	crds | unos)
4839aa228fdSmrg		basic_machine=m68k-crds
4849aa228fdSmrg		;;
4859aa228fdSmrg	crisv32 | crisv32-* | etraxfs*)
4869aa228fdSmrg		basic_machine=crisv32-axis
4879aa228fdSmrg		;;
4889aa228fdSmrg	cris | cris-* | etrax*)
4899aa228fdSmrg		basic_machine=cris-axis
4909aa228fdSmrg		;;
4919aa228fdSmrg	crx)
4929aa228fdSmrg		basic_machine=crx-unknown
4939aa228fdSmrg		os=-elf
4949aa228fdSmrg		;;
4959aa228fdSmrg	da30 | da30-*)
4969aa228fdSmrg		basic_machine=m68k-da30
4979aa228fdSmrg		;;
4989aa228fdSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
4999aa228fdSmrg		basic_machine=mips-dec
5009aa228fdSmrg		;;
5019aa228fdSmrg	decsystem10* | dec10*)
5029aa228fdSmrg		basic_machine=pdp10-dec
5039aa228fdSmrg		os=-tops10
5049aa228fdSmrg		;;
5059aa228fdSmrg	decsystem20* | dec20*)
5069aa228fdSmrg		basic_machine=pdp10-dec
5079aa228fdSmrg		os=-tops20
5089aa228fdSmrg		;;
5099aa228fdSmrg	delta | 3300 | motorola-3300 | motorola-delta \
5109aa228fdSmrg	      | 3300-motorola | delta-motorola)
5119aa228fdSmrg		basic_machine=m68k-motorola
5129aa228fdSmrg		;;
5139aa228fdSmrg	delta88)
5149aa228fdSmrg		basic_machine=m88k-motorola
5159aa228fdSmrg		os=-sysv3
5169aa228fdSmrg		;;
5179aa228fdSmrg	djgpp)
5189aa228fdSmrg		basic_machine=i586-pc
5199aa228fdSmrg		os=-msdosdjgpp
5209aa228fdSmrg		;;
5219aa228fdSmrg	dpx20 | dpx20-*)
5229aa228fdSmrg		basic_machine=rs6000-bull
5239aa228fdSmrg		os=-bosx
5249aa228fdSmrg		;;
5259aa228fdSmrg	dpx2* | dpx2*-bull)
5269aa228fdSmrg		basic_machine=m68k-bull
5279aa228fdSmrg		os=-sysv3
5289aa228fdSmrg		;;
5299aa228fdSmrg	ebmon29k)
5309aa228fdSmrg		basic_machine=a29k-amd
5319aa228fdSmrg		os=-ebmon
5329aa228fdSmrg		;;
5339aa228fdSmrg	elxsi)
5349aa228fdSmrg		basic_machine=elxsi-elxsi
5359aa228fdSmrg		os=-bsd
5369aa228fdSmrg		;;
5379aa228fdSmrg	encore | umax | mmax)
5389aa228fdSmrg		basic_machine=ns32k-encore
5399aa228fdSmrg		;;
5409aa228fdSmrg	es1800 | OSE68k | ose68k | ose | OSE)
5419aa228fdSmrg		basic_machine=m68k-ericsson
5429aa228fdSmrg		os=-ose
5439aa228fdSmrg		;;
5449aa228fdSmrg	fx2800)
5459aa228fdSmrg		basic_machine=i860-alliant
5469aa228fdSmrg		;;
5479aa228fdSmrg	genix)
5489aa228fdSmrg		basic_machine=ns32k-ns
5499aa228fdSmrg		;;
5509aa228fdSmrg	gmicro)
5519aa228fdSmrg		basic_machine=tron-gmicro
5529aa228fdSmrg		os=-sysv
5539aa228fdSmrg		;;
5549aa228fdSmrg	go32)
5559aa228fdSmrg		basic_machine=i386-pc
5569aa228fdSmrg		os=-go32
5579aa228fdSmrg		;;
5589aa228fdSmrg	h3050r* | hiux*)
5599aa228fdSmrg		basic_machine=hppa1.1-hitachi
5609aa228fdSmrg		os=-hiuxwe2
5619aa228fdSmrg		;;
5629aa228fdSmrg	h8300hms)
5639aa228fdSmrg		basic_machine=h8300-hitachi
5649aa228fdSmrg		os=-hms
5659aa228fdSmrg		;;
5669aa228fdSmrg	h8300xray)
5679aa228fdSmrg		basic_machine=h8300-hitachi
5689aa228fdSmrg		os=-xray
5699aa228fdSmrg		;;
5709aa228fdSmrg	h8500hms)
5719aa228fdSmrg		basic_machine=h8500-hitachi
5729aa228fdSmrg		os=-hms
5739aa228fdSmrg		;;
5749aa228fdSmrg	harris)
5759aa228fdSmrg		basic_machine=m88k-harris
5769aa228fdSmrg		os=-sysv3
5779aa228fdSmrg		;;
5789aa228fdSmrg	hp300-*)
5799aa228fdSmrg		basic_machine=m68k-hp
5809aa228fdSmrg		;;
5819aa228fdSmrg	hp300bsd)
5829aa228fdSmrg		basic_machine=m68k-hp
5839aa228fdSmrg		os=-bsd
5849aa228fdSmrg		;;
5859aa228fdSmrg	hp300hpux)
5869aa228fdSmrg		basic_machine=m68k-hp
5879aa228fdSmrg		os=-hpux
5889aa228fdSmrg		;;
5899aa228fdSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
5909aa228fdSmrg		basic_machine=hppa1.0-hp
5919aa228fdSmrg		;;
5929aa228fdSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
5939aa228fdSmrg		basic_machine=m68000-hp
5949aa228fdSmrg		;;
5959aa228fdSmrg	hp9k3[2-9][0-9])
5969aa228fdSmrg		basic_machine=m68k-hp
5979aa228fdSmrg		;;
5989aa228fdSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
5999aa228fdSmrg		basic_machine=hppa1.0-hp
6009aa228fdSmrg		;;
6019aa228fdSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6029aa228fdSmrg		basic_machine=hppa1.1-hp
6039aa228fdSmrg		;;
6049aa228fdSmrg	hp9k78[0-9] | hp78[0-9])
6059aa228fdSmrg		# FIXME: really hppa2.0-hp
6069aa228fdSmrg		basic_machine=hppa1.1-hp
6079aa228fdSmrg		;;
6089aa228fdSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6099aa228fdSmrg		# FIXME: really hppa2.0-hp
6109aa228fdSmrg		basic_machine=hppa1.1-hp
6119aa228fdSmrg		;;
6129aa228fdSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6139aa228fdSmrg		basic_machine=hppa1.1-hp
6149aa228fdSmrg		;;
6159aa228fdSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6169aa228fdSmrg		basic_machine=hppa1.0-hp
6179aa228fdSmrg		;;
6189aa228fdSmrg	hppa-next)
6199aa228fdSmrg		os=-nextstep3
6209aa228fdSmrg		;;
6219aa228fdSmrg	hppaosf)
6229aa228fdSmrg		basic_machine=hppa1.1-hp
6239aa228fdSmrg		os=-osf
6249aa228fdSmrg		;;
6259aa228fdSmrg	hppro)
6269aa228fdSmrg		basic_machine=hppa1.1-hp
6279aa228fdSmrg		os=-proelf
6289aa228fdSmrg		;;
6299aa228fdSmrg	i370-ibm* | ibm*)
6309aa228fdSmrg		basic_machine=i370-ibm
6319aa228fdSmrg		;;
6329aa228fdSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
6339aa228fdSmrg	i*86v32)
6349aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6359aa228fdSmrg		os=-sysv32
6369aa228fdSmrg		;;
6379aa228fdSmrg	i*86v4*)
6389aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6399aa228fdSmrg		os=-sysv4
6409aa228fdSmrg		;;
6419aa228fdSmrg	i*86v)
6429aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6439aa228fdSmrg		os=-sysv
6449aa228fdSmrg		;;
6459aa228fdSmrg	i*86sol2)
6469aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6479aa228fdSmrg		os=-solaris2
6489aa228fdSmrg		;;
6499aa228fdSmrg	i386mach)
6509aa228fdSmrg		basic_machine=i386-mach
6519aa228fdSmrg		os=-mach
6529aa228fdSmrg		;;
6539aa228fdSmrg	i386-vsta | vsta)
6549aa228fdSmrg		basic_machine=i386-unknown
6559aa228fdSmrg		os=-vsta
6569aa228fdSmrg		;;
6579aa228fdSmrg	iris | iris4d)
6589aa228fdSmrg		basic_machine=mips-sgi
6599aa228fdSmrg		case $os in
6609aa228fdSmrg		    -irix*)
6619aa228fdSmrg			;;
6629aa228fdSmrg		    *)
6639aa228fdSmrg			os=-irix4
6649aa228fdSmrg			;;
6659aa228fdSmrg		esac
6669aa228fdSmrg		;;
6679aa228fdSmrg	isi68 | isi)
6689aa228fdSmrg		basic_machine=m68k-isi
6699aa228fdSmrg		os=-sysv
6709aa228fdSmrg		;;
6719aa228fdSmrg	m88k-omron*)
6729aa228fdSmrg		basic_machine=m88k-omron
6739aa228fdSmrg		;;
6749aa228fdSmrg	magnum | m3230)
6759aa228fdSmrg		basic_machine=mips-mips
6769aa228fdSmrg		os=-sysv
6779aa228fdSmrg		;;
6789aa228fdSmrg	merlin)
6799aa228fdSmrg		basic_machine=ns32k-utek
6809aa228fdSmrg		os=-sysv
6819aa228fdSmrg		;;
6829aa228fdSmrg	mingw32)
6839aa228fdSmrg		basic_machine=i386-pc
6849aa228fdSmrg		os=-mingw32
6859aa228fdSmrg		;;
6869aa228fdSmrg	miniframe)
6879aa228fdSmrg		basic_machine=m68000-convergent
6889aa228fdSmrg		;;
6899aa228fdSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
6909aa228fdSmrg		basic_machine=m68k-atari
6919aa228fdSmrg		os=-mint
6929aa228fdSmrg		;;
6939aa228fdSmrg	mips3*-*)
6949aa228fdSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
6959aa228fdSmrg		;;
6969aa228fdSmrg	mips3*)
6979aa228fdSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
6989aa228fdSmrg		;;
6999aa228fdSmrg	monitor)
7009aa228fdSmrg		basic_machine=m68k-rom68k
7019aa228fdSmrg		os=-coff
7029aa228fdSmrg		;;
7039aa228fdSmrg	morphos)
7049aa228fdSmrg		basic_machine=powerpc-unknown
7059aa228fdSmrg		os=-morphos
7069aa228fdSmrg		;;
7079aa228fdSmrg	msdos)
7089aa228fdSmrg		basic_machine=i386-pc
7099aa228fdSmrg		os=-msdos
7109aa228fdSmrg		;;
7119aa228fdSmrg	ms1-*)
7129aa228fdSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7139aa228fdSmrg		;;
7149aa228fdSmrg	mvs)
7159aa228fdSmrg		basic_machine=i370-ibm
7169aa228fdSmrg		os=-mvs
7179aa228fdSmrg		;;
7189aa228fdSmrg	ncr3000)
7199aa228fdSmrg		basic_machine=i486-ncr
7209aa228fdSmrg		os=-sysv4
7219aa228fdSmrg		;;
7229aa228fdSmrg	netbsd386)
7239aa228fdSmrg		basic_machine=i386-unknown
7249aa228fdSmrg		os=-netbsd
7259aa228fdSmrg		;;
7269aa228fdSmrg	netwinder)
7279aa228fdSmrg		basic_machine=armv4l-rebel
7289aa228fdSmrg		os=-linux
7299aa228fdSmrg		;;
7309aa228fdSmrg	news | news700 | news800 | news900)
7319aa228fdSmrg		basic_machine=m68k-sony
7329aa228fdSmrg		os=-newsos
7339aa228fdSmrg		;;
7349aa228fdSmrg	news1000)
7359aa228fdSmrg		basic_machine=m68030-sony
7369aa228fdSmrg		os=-newsos
7379aa228fdSmrg		;;
7389aa228fdSmrg	news-3600 | risc-news)
7399aa228fdSmrg		basic_machine=mips-sony
7409aa228fdSmrg		os=-newsos
7419aa228fdSmrg		;;
7429aa228fdSmrg	necv70)
7439aa228fdSmrg		basic_machine=v70-nec
7449aa228fdSmrg		os=-sysv
7459aa228fdSmrg		;;
7469aa228fdSmrg	next | m*-next )
7479aa228fdSmrg		basic_machine=m68k-next
7489aa228fdSmrg		case $os in
7499aa228fdSmrg		    -nextstep* )
7509aa228fdSmrg			;;
7519aa228fdSmrg		    -ns2*)
7529aa228fdSmrg		      os=-nextstep2
7539aa228fdSmrg			;;
7549aa228fdSmrg		    *)
7559aa228fdSmrg		      os=-nextstep3
7569aa228fdSmrg			;;
7579aa228fdSmrg		esac
7589aa228fdSmrg		;;
7599aa228fdSmrg	nh3000)
7609aa228fdSmrg		basic_machine=m68k-harris
7619aa228fdSmrg		os=-cxux
7629aa228fdSmrg		;;
7639aa228fdSmrg	nh[45]000)
7649aa228fdSmrg		basic_machine=m88k-harris
7659aa228fdSmrg		os=-cxux
7669aa228fdSmrg		;;
7679aa228fdSmrg	nindy960)
7689aa228fdSmrg		basic_machine=i960-intel
7699aa228fdSmrg		os=-nindy
7709aa228fdSmrg		;;
7719aa228fdSmrg	mon960)
7729aa228fdSmrg		basic_machine=i960-intel
7739aa228fdSmrg		os=-mon960
7749aa228fdSmrg		;;
7759aa228fdSmrg	nonstopux)
7769aa228fdSmrg		basic_machine=mips-compaq
7779aa228fdSmrg		os=-nonstopux
7789aa228fdSmrg		;;
7799aa228fdSmrg	np1)
7809aa228fdSmrg		basic_machine=np1-gould
7819aa228fdSmrg		;;
7829aa228fdSmrg	nsr-tandem)
7839aa228fdSmrg		basic_machine=nsr-tandem
7849aa228fdSmrg		;;
7859aa228fdSmrg	op50n-* | op60c-*)
7869aa228fdSmrg		basic_machine=hppa1.1-oki
7879aa228fdSmrg		os=-proelf
7889aa228fdSmrg		;;
7899aa228fdSmrg	openrisc | openrisc-*)
7909aa228fdSmrg		basic_machine=or32-unknown
7919aa228fdSmrg		;;
7929aa228fdSmrg	os400)
7939aa228fdSmrg		basic_machine=powerpc-ibm
7949aa228fdSmrg		os=-os400
7959aa228fdSmrg		;;
7969aa228fdSmrg	OSE68000 | ose68000)
7979aa228fdSmrg		basic_machine=m68000-ericsson
7989aa228fdSmrg		os=-ose
7999aa228fdSmrg		;;
8009aa228fdSmrg	os68k)
8019aa228fdSmrg		basic_machine=m68k-none
8029aa228fdSmrg		os=-os68k
8039aa228fdSmrg		;;
8049aa228fdSmrg	pa-hitachi)
8059aa228fdSmrg		basic_machine=hppa1.1-hitachi
8069aa228fdSmrg		os=-hiuxwe2
8079aa228fdSmrg		;;
8089aa228fdSmrg	paragon)
8099aa228fdSmrg		basic_machine=i860-intel
8109aa228fdSmrg		os=-osf
8119aa228fdSmrg		;;
8129aa228fdSmrg	pbd)
8139aa228fdSmrg		basic_machine=sparc-tti
8149aa228fdSmrg		;;
8159aa228fdSmrg	pbb)
8169aa228fdSmrg		basic_machine=m68k-tti
8179aa228fdSmrg		;;
8189aa228fdSmrg	pc532 | pc532-*)
8199aa228fdSmrg		basic_machine=ns32k-pc532
8209aa228fdSmrg		;;
8219aa228fdSmrg	pc98)
8229aa228fdSmrg		basic_machine=i386-pc
8239aa228fdSmrg		;;
8249aa228fdSmrg	pc98-*)
8259aa228fdSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
8269aa228fdSmrg		;;
8279aa228fdSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
8289aa228fdSmrg		basic_machine=i586-pc
8299aa228fdSmrg		;;
8309aa228fdSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
8319aa228fdSmrg		basic_machine=i686-pc
8329aa228fdSmrg		;;
8339aa228fdSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
8349aa228fdSmrg		basic_machine=i686-pc
8359aa228fdSmrg		;;
8369aa228fdSmrg	pentium4)
8379aa228fdSmrg		basic_machine=i786-pc
8389aa228fdSmrg		;;
8399aa228fdSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
8409aa228fdSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
8419aa228fdSmrg		;;
8429aa228fdSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
8439aa228fdSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
8449aa228fdSmrg		;;
8459aa228fdSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
8469aa228fdSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
8479aa228fdSmrg		;;
8489aa228fdSmrg	pentium4-*)
8499aa228fdSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
8509aa228fdSmrg		;;
8519aa228fdSmrg	pn)
8529aa228fdSmrg		basic_machine=pn-gould
8539aa228fdSmrg		;;
8549aa228fdSmrg	power)	basic_machine=power-ibm
8559aa228fdSmrg		;;
8569aa228fdSmrg	ppc)	basic_machine=powerpc-unknown
8579aa228fdSmrg		;;
8589aa228fdSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
8599aa228fdSmrg		;;
8609aa228fdSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
8619aa228fdSmrg		basic_machine=powerpcle-unknown
8629aa228fdSmrg		;;
8639aa228fdSmrg	ppcle-* | powerpclittle-*)
8649aa228fdSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
8659aa228fdSmrg		;;
8669aa228fdSmrg	ppc64)	basic_machine=powerpc64-unknown
8679aa228fdSmrg		;;
8689aa228fdSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
8699aa228fdSmrg		;;
8709aa228fdSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
8719aa228fdSmrg		basic_machine=powerpc64le-unknown
8729aa228fdSmrg		;;
8739aa228fdSmrg	ppc64le-* | powerpc64little-*)
8749aa228fdSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
8759aa228fdSmrg		;;
8769aa228fdSmrg	ps2)
8779aa228fdSmrg		basic_machine=i386-ibm
8789aa228fdSmrg		;;
8799aa228fdSmrg	pw32)
8809aa228fdSmrg		basic_machine=i586-unknown
8819aa228fdSmrg		os=-pw32
8829aa228fdSmrg		;;
8839aa228fdSmrg	rdos)
8849aa228fdSmrg		basic_machine=i386-pc
8859aa228fdSmrg		os=-rdos
8869aa228fdSmrg		;;
8879aa228fdSmrg	rom68k)
8889aa228fdSmrg		basic_machine=m68k-rom68k
8899aa228fdSmrg		os=-coff
8909aa228fdSmrg		;;
8919aa228fdSmrg	rm[46]00)
8929aa228fdSmrg		basic_machine=mips-siemens
8939aa228fdSmrg		;;
8949aa228fdSmrg	rtpc | rtpc-*)
8959aa228fdSmrg		basic_machine=romp-ibm
8969aa228fdSmrg		;;
8979aa228fdSmrg	s390 | s390-*)
8989aa228fdSmrg		basic_machine=s390-ibm
8999aa228fdSmrg		;;
9009aa228fdSmrg	s390x | s390x-*)
9019aa228fdSmrg		basic_machine=s390x-ibm
9029aa228fdSmrg		;;
9039aa228fdSmrg	sa29200)
9049aa228fdSmrg		basic_machine=a29k-amd
9059aa228fdSmrg		os=-udi
9069aa228fdSmrg		;;
9079aa228fdSmrg	sb1)
9089aa228fdSmrg		basic_machine=mipsisa64sb1-unknown
9099aa228fdSmrg		;;
9109aa228fdSmrg	sb1el)
9119aa228fdSmrg		basic_machine=mipsisa64sb1el-unknown
9129aa228fdSmrg		;;
9139aa228fdSmrg	sde)
9149aa228fdSmrg		basic_machine=mipsisa32-sde
9159aa228fdSmrg		os=-elf
9169aa228fdSmrg		;;
9179aa228fdSmrg	sei)
9189aa228fdSmrg		basic_machine=mips-sei
9199aa228fdSmrg		os=-seiux
9209aa228fdSmrg		;;
9219aa228fdSmrg	sequent)
9229aa228fdSmrg		basic_machine=i386-sequent
9239aa228fdSmrg		;;
9249aa228fdSmrg	sh)
9259aa228fdSmrg		basic_machine=sh-hitachi
9269aa228fdSmrg		os=-hms
9279aa228fdSmrg		;;
9289aa228fdSmrg	sh64)
9299aa228fdSmrg		basic_machine=sh64-unknown
9309aa228fdSmrg		;;
9319aa228fdSmrg	sparclite-wrs | simso-wrs)
9329aa228fdSmrg		basic_machine=sparclite-wrs
9339aa228fdSmrg		os=-vxworks
9349aa228fdSmrg		;;
9359aa228fdSmrg	sps7)
9369aa228fdSmrg		basic_machine=m68k-bull
9379aa228fdSmrg		os=-sysv2
9389aa228fdSmrg		;;
9399aa228fdSmrg	spur)
9409aa228fdSmrg		basic_machine=spur-unknown
9419aa228fdSmrg		;;
9429aa228fdSmrg	st2000)
9439aa228fdSmrg		basic_machine=m68k-tandem
9449aa228fdSmrg		;;
9459aa228fdSmrg	stratus)
9469aa228fdSmrg		basic_machine=i860-stratus
9479aa228fdSmrg		os=-sysv4
9489aa228fdSmrg		;;
9499aa228fdSmrg	sun2)
9509aa228fdSmrg		basic_machine=m68000-sun
9519aa228fdSmrg		;;
9529aa228fdSmrg	sun2os3)
9539aa228fdSmrg		basic_machine=m68000-sun
9549aa228fdSmrg		os=-sunos3
9559aa228fdSmrg		;;
9569aa228fdSmrg	sun2os4)
9579aa228fdSmrg		basic_machine=m68000-sun
9589aa228fdSmrg		os=-sunos4
9599aa228fdSmrg		;;
9609aa228fdSmrg	sun3os3)
9619aa228fdSmrg		basic_machine=m68k-sun
9629aa228fdSmrg		os=-sunos3
9639aa228fdSmrg		;;
9649aa228fdSmrg	sun3os4)
9659aa228fdSmrg		basic_machine=m68k-sun
9669aa228fdSmrg		os=-sunos4
9679aa228fdSmrg		;;
9689aa228fdSmrg	sun4os3)
9699aa228fdSmrg		basic_machine=sparc-sun
9709aa228fdSmrg		os=-sunos3
9719aa228fdSmrg		;;
9729aa228fdSmrg	sun4os4)
9739aa228fdSmrg		basic_machine=sparc-sun
9749aa228fdSmrg		os=-sunos4
9759aa228fdSmrg		;;
9769aa228fdSmrg	sun4sol2)
9779aa228fdSmrg		basic_machine=sparc-sun
9789aa228fdSmrg		os=-solaris2
9799aa228fdSmrg		;;
9809aa228fdSmrg	sun3 | sun3-*)
9819aa228fdSmrg		basic_machine=m68k-sun
9829aa228fdSmrg		;;
9839aa228fdSmrg	sun4)
9849aa228fdSmrg		basic_machine=sparc-sun
9859aa228fdSmrg		;;
9869aa228fdSmrg	sun386 | sun386i | roadrunner)
9879aa228fdSmrg		basic_machine=i386-sun
9889aa228fdSmrg		;;
9899aa228fdSmrg	sv1)
9909aa228fdSmrg		basic_machine=sv1-cray
9919aa228fdSmrg		os=-unicos
9929aa228fdSmrg		;;
9939aa228fdSmrg	symmetry)
9949aa228fdSmrg		basic_machine=i386-sequent
9959aa228fdSmrg		os=-dynix
9969aa228fdSmrg		;;
9979aa228fdSmrg	t3e)
9989aa228fdSmrg		basic_machine=alphaev5-cray
9999aa228fdSmrg		os=-unicos
10009aa228fdSmrg		;;
10019aa228fdSmrg	t90)
10029aa228fdSmrg		basic_machine=t90-cray
10039aa228fdSmrg		os=-unicos
10049aa228fdSmrg		;;
10059aa228fdSmrg	tic54x | c54x*)
10069aa228fdSmrg		basic_machine=tic54x-unknown
10079aa228fdSmrg		os=-coff
10089aa228fdSmrg		;;
10099aa228fdSmrg	tic55x | c55x*)
10109aa228fdSmrg		basic_machine=tic55x-unknown
10119aa228fdSmrg		os=-coff
10129aa228fdSmrg		;;
10139aa228fdSmrg	tic6x | c6x*)
10149aa228fdSmrg		basic_machine=tic6x-unknown
10159aa228fdSmrg		os=-coff
10169aa228fdSmrg		;;
10179aa228fdSmrg	tx39)
10189aa228fdSmrg		basic_machine=mipstx39-unknown
10199aa228fdSmrg		;;
10209aa228fdSmrg	tx39el)
10219aa228fdSmrg		basic_machine=mipstx39el-unknown
10229aa228fdSmrg		;;
10239aa228fdSmrg	toad1)
10249aa228fdSmrg		basic_machine=pdp10-xkl
10259aa228fdSmrg		os=-tops20
10269aa228fdSmrg		;;
10279aa228fdSmrg	tower | tower-32)
10289aa228fdSmrg		basic_machine=m68k-ncr
10299aa228fdSmrg		;;
10309aa228fdSmrg	tpf)
10319aa228fdSmrg		basic_machine=s390x-ibm
10329aa228fdSmrg		os=-tpf
10339aa228fdSmrg		;;
10349aa228fdSmrg	udi29k)
10359aa228fdSmrg		basic_machine=a29k-amd
10369aa228fdSmrg		os=-udi
10379aa228fdSmrg		;;
10389aa228fdSmrg	ultra3)
10399aa228fdSmrg		basic_machine=a29k-nyu
10409aa228fdSmrg		os=-sym1
10419aa228fdSmrg		;;
10429aa228fdSmrg	v810 | necv810)
10439aa228fdSmrg		basic_machine=v810-nec
10449aa228fdSmrg		os=-none
10459aa228fdSmrg		;;
10469aa228fdSmrg	vaxv)
10479aa228fdSmrg		basic_machine=vax-dec
10489aa228fdSmrg		os=-sysv
10499aa228fdSmrg		;;
10509aa228fdSmrg	vms)
10519aa228fdSmrg		basic_machine=vax-dec
10529aa228fdSmrg		os=-vms
10539aa228fdSmrg		;;
10549aa228fdSmrg	vpp*|vx|vx-*)
10559aa228fdSmrg		basic_machine=f301-fujitsu
10569aa228fdSmrg		;;
10579aa228fdSmrg	vxworks960)
10589aa228fdSmrg		basic_machine=i960-wrs
10599aa228fdSmrg		os=-vxworks
10609aa228fdSmrg		;;
10619aa228fdSmrg	vxworks68)
10629aa228fdSmrg		basic_machine=m68k-wrs
10639aa228fdSmrg		os=-vxworks
10649aa228fdSmrg		;;
10659aa228fdSmrg	vxworks29k)
10669aa228fdSmrg		basic_machine=a29k-wrs
10679aa228fdSmrg		os=-vxworks
10689aa228fdSmrg		;;
10699aa228fdSmrg	w65*)
10709aa228fdSmrg		basic_machine=w65-wdc
10719aa228fdSmrg		os=-none
10729aa228fdSmrg		;;
10739aa228fdSmrg	w89k-*)
10749aa228fdSmrg		basic_machine=hppa1.1-winbond
10759aa228fdSmrg		os=-proelf
10769aa228fdSmrg		;;
10779aa228fdSmrg	xbox)
10789aa228fdSmrg		basic_machine=i686-pc
10799aa228fdSmrg		os=-mingw32
10809aa228fdSmrg		;;
10819aa228fdSmrg	xps | xps100)
10829aa228fdSmrg		basic_machine=xps100-honeywell
10839aa228fdSmrg		;;
10849aa228fdSmrg	ymp)
10859aa228fdSmrg		basic_machine=ymp-cray
10869aa228fdSmrg		os=-unicos
10879aa228fdSmrg		;;
10889aa228fdSmrg	z8k-*-coff)
10899aa228fdSmrg		basic_machine=z8k-unknown
10909aa228fdSmrg		os=-sim
10919aa228fdSmrg		;;
10929aa228fdSmrg	none)
10939aa228fdSmrg		basic_machine=none-none
10949aa228fdSmrg		os=-none
10959aa228fdSmrg		;;
10969aa228fdSmrg
10979aa228fdSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
10989aa228fdSmrg# some cases the only manufacturer, in others, it is the most popular.
10999aa228fdSmrg	w89k)
11009aa228fdSmrg		basic_machine=hppa1.1-winbond
11019aa228fdSmrg		;;
11029aa228fdSmrg	op50n)
11039aa228fdSmrg		basic_machine=hppa1.1-oki
11049aa228fdSmrg		;;
11059aa228fdSmrg	op60c)
11069aa228fdSmrg		basic_machine=hppa1.1-oki
11079aa228fdSmrg		;;
11089aa228fdSmrg	romp)
11099aa228fdSmrg		basic_machine=romp-ibm
11109aa228fdSmrg		;;
11119aa228fdSmrg	mmix)
11129aa228fdSmrg		basic_machine=mmix-knuth
11139aa228fdSmrg		;;
11149aa228fdSmrg	rs6000)
11159aa228fdSmrg		basic_machine=rs6000-ibm
11169aa228fdSmrg		;;
11179aa228fdSmrg	vax)
11189aa228fdSmrg		basic_machine=vax-dec
11199aa228fdSmrg		;;
11209aa228fdSmrg	pdp10)
11219aa228fdSmrg		# there are many clones, so DEC is not a safe bet
11229aa228fdSmrg		basic_machine=pdp10-unknown
11239aa228fdSmrg		;;
11249aa228fdSmrg	pdp11)
11259aa228fdSmrg		basic_machine=pdp11-dec
11269aa228fdSmrg		;;
11279aa228fdSmrg	we32k)
11289aa228fdSmrg		basic_machine=we32k-att
11299aa228fdSmrg		;;
11309aa228fdSmrg	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
11319aa228fdSmrg		basic_machine=sh-unknown
11329aa228fdSmrg		;;
11339aa228fdSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
11349aa228fdSmrg		basic_machine=sparc-sun
11359aa228fdSmrg		;;
11369aa228fdSmrg	cydra)
11379aa228fdSmrg		basic_machine=cydra-cydrome
11389aa228fdSmrg		;;
11399aa228fdSmrg	orion)
11409aa228fdSmrg		basic_machine=orion-highlevel
11419aa228fdSmrg		;;
11429aa228fdSmrg	orion105)
11439aa228fdSmrg		basic_machine=clipper-highlevel
11449aa228fdSmrg		;;
11459aa228fdSmrg	mac | mpw | mac-mpw)
11469aa228fdSmrg		basic_machine=m68k-apple
11479aa228fdSmrg		;;
11489aa228fdSmrg	pmac | pmac-mpw)
11499aa228fdSmrg		basic_machine=powerpc-apple
11509aa228fdSmrg		;;
11519aa228fdSmrg	*-unknown)
11529aa228fdSmrg		# Make sure to match an already-canonicalized machine name.
11539aa228fdSmrg		;;
11549aa228fdSmrg	*)
11559aa228fdSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
11569aa228fdSmrg		exit 1
11579aa228fdSmrg		;;
11589aa228fdSmrgesac
11599aa228fdSmrg
11609aa228fdSmrg# Here we canonicalize certain aliases for manufacturers.
11619aa228fdSmrgcase $basic_machine in
11629aa228fdSmrg	*-digital*)
11639aa228fdSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
11649aa228fdSmrg		;;
11659aa228fdSmrg	*-commodore*)
11669aa228fdSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
11679aa228fdSmrg		;;
11689aa228fdSmrg	*)
11699aa228fdSmrg		;;
11709aa228fdSmrgesac
11719aa228fdSmrg
11729aa228fdSmrg# Decode manufacturer-specific aliases for certain operating systems.
11739aa228fdSmrg
11749aa228fdSmrgif [ x"$os" != x"" ]
11759aa228fdSmrgthen
11769aa228fdSmrgcase $os in
11779aa228fdSmrg        # First match some system type aliases
11789aa228fdSmrg        # that might get confused with valid system types.
11799aa228fdSmrg	# -solaris* is a basic system type, with this one exception.
11809aa228fdSmrg	-solaris1 | -solaris1.*)
11819aa228fdSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
11829aa228fdSmrg		;;
11839aa228fdSmrg	-solaris)
11849aa228fdSmrg		os=-solaris2
11859aa228fdSmrg		;;
11869aa228fdSmrg	-svr4*)
11879aa228fdSmrg		os=-sysv4
11889aa228fdSmrg		;;
11899aa228fdSmrg	-unixware*)
11909aa228fdSmrg		os=-sysv4.2uw
11919aa228fdSmrg		;;
11929aa228fdSmrg	-gnu/linux*)
11939aa228fdSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
11949aa228fdSmrg		;;
11959aa228fdSmrg	# First accept the basic system types.
11969aa228fdSmrg	# The portable systems comes first.
11979aa228fdSmrg	# Each alternative MUST END IN A *, to match a version number.
11989aa228fdSmrg	# -sysv* is not here because it comes later, after sysvr4.
11999aa228fdSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
12009aa228fdSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
12019aa228fdSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
12029aa228fdSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
12039aa228fdSmrg	      | -aos* \
12049aa228fdSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
12059aa228fdSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
12069aa228fdSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
12079aa228fdSmrg	      | -openbsd* | -solidbsd* \
12089aa228fdSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
12099aa228fdSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
12109aa228fdSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
12119aa228fdSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
12129aa228fdSmrg	      | -chorusos* | -chorusrdb* \
12139aa228fdSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
12149aa228fdSmrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
12159aa228fdSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
12169aa228fdSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
12179aa228fdSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
12189aa228fdSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
12199aa228fdSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
12209aa228fdSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
12219aa228fdSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
12229aa228fdSmrg	      | -skyos* | -haiku* | -rdos* | -toppers*)
12239aa228fdSmrg	# Remember, each alternative MUST END IN *, to match a version number.
12249aa228fdSmrg		;;
12259aa228fdSmrg	-qnx*)
12269aa228fdSmrg		case $basic_machine in
12279aa228fdSmrg		    x86-* | i*86-*)
12289aa228fdSmrg			;;
12299aa228fdSmrg		    *)
12309aa228fdSmrg			os=-nto$os
12319aa228fdSmrg			;;
12329aa228fdSmrg		esac
12339aa228fdSmrg		;;
12349aa228fdSmrg	-nto-qnx*)
12359aa228fdSmrg		;;
12369aa228fdSmrg	-nto*)
12379aa228fdSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
12389aa228fdSmrg		;;
12399aa228fdSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
12409aa228fdSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
12419aa228fdSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
12429aa228fdSmrg		;;
12439aa228fdSmrg	-mac*)
12449aa228fdSmrg		os=`echo $os | sed -e 's|mac|macos|'`
12459aa228fdSmrg		;;
12469aa228fdSmrg	-linux-dietlibc)
12479aa228fdSmrg		os=-linux-dietlibc
12489aa228fdSmrg		;;
12499aa228fdSmrg	-linux*)
12509aa228fdSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
12519aa228fdSmrg		;;
12529aa228fdSmrg	-sunos5*)
12539aa228fdSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
12549aa228fdSmrg		;;
12559aa228fdSmrg	-sunos6*)
12569aa228fdSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
12579aa228fdSmrg		;;
12589aa228fdSmrg	-opened*)
12599aa228fdSmrg		os=-openedition
12609aa228fdSmrg		;;
12619aa228fdSmrg        -os400*)
12629aa228fdSmrg		os=-os400
12639aa228fdSmrg		;;
12649aa228fdSmrg	-wince*)
12659aa228fdSmrg		os=-wince
12669aa228fdSmrg		;;
12679aa228fdSmrg	-osfrose*)
12689aa228fdSmrg		os=-osfrose
12699aa228fdSmrg		;;
12709aa228fdSmrg	-osf*)
12719aa228fdSmrg		os=-osf
12729aa228fdSmrg		;;
12739aa228fdSmrg	-utek*)
12749aa228fdSmrg		os=-bsd
12759aa228fdSmrg		;;
12769aa228fdSmrg	-dynix*)
12779aa228fdSmrg		os=-bsd
12789aa228fdSmrg		;;
12799aa228fdSmrg	-acis*)
12809aa228fdSmrg		os=-aos
12819aa228fdSmrg		;;
12829aa228fdSmrg	-atheos*)
12839aa228fdSmrg		os=-atheos
12849aa228fdSmrg		;;
12859aa228fdSmrg	-syllable*)
12869aa228fdSmrg		os=-syllable
12879aa228fdSmrg		;;
12889aa228fdSmrg	-386bsd)
12899aa228fdSmrg		os=-bsd
12909aa228fdSmrg		;;
12919aa228fdSmrg	-ctix* | -uts*)
12929aa228fdSmrg		os=-sysv
12939aa228fdSmrg		;;
12949aa228fdSmrg	-nova*)
12959aa228fdSmrg		os=-rtmk-nova
12969aa228fdSmrg		;;
12979aa228fdSmrg	-ns2 )
12989aa228fdSmrg		os=-nextstep2
12999aa228fdSmrg		;;
13009aa228fdSmrg	-nsk*)
13019aa228fdSmrg		os=-nsk
13029aa228fdSmrg		;;
13039aa228fdSmrg	# Preserve the version number of sinix5.
13049aa228fdSmrg	-sinix5.*)
13059aa228fdSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
13069aa228fdSmrg		;;
13079aa228fdSmrg	-sinix*)
13089aa228fdSmrg		os=-sysv4
13099aa228fdSmrg		;;
13109aa228fdSmrg        -tpf*)
13119aa228fdSmrg		os=-tpf
13129aa228fdSmrg		;;
13139aa228fdSmrg	-triton*)
13149aa228fdSmrg		os=-sysv3
13159aa228fdSmrg		;;
13169aa228fdSmrg	-oss*)
13179aa228fdSmrg		os=-sysv3
13189aa228fdSmrg		;;
13199aa228fdSmrg	-svr4)
13209aa228fdSmrg		os=-sysv4
13219aa228fdSmrg		;;
13229aa228fdSmrg	-svr3)
13239aa228fdSmrg		os=-sysv3
13249aa228fdSmrg		;;
13259aa228fdSmrg	-sysvr4)
13269aa228fdSmrg		os=-sysv4
13279aa228fdSmrg		;;
13289aa228fdSmrg	# This must come after -sysvr4.
13299aa228fdSmrg	-sysv*)
13309aa228fdSmrg		;;
13319aa228fdSmrg	-ose*)
13329aa228fdSmrg		os=-ose
13339aa228fdSmrg		;;
13349aa228fdSmrg	-es1800*)
13359aa228fdSmrg		os=-ose
13369aa228fdSmrg		;;
13379aa228fdSmrg	-xenix)
13389aa228fdSmrg		os=-xenix
13399aa228fdSmrg		;;
13409aa228fdSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
13419aa228fdSmrg		os=-mint
13429aa228fdSmrg		;;
13439aa228fdSmrg	-aros*)
13449aa228fdSmrg		os=-aros
13459aa228fdSmrg		;;
13469aa228fdSmrg	-kaos*)
13479aa228fdSmrg		os=-kaos
13489aa228fdSmrg		;;
13499aa228fdSmrg	-zvmoe)
13509aa228fdSmrg		os=-zvmoe
13519aa228fdSmrg		;;
13529aa228fdSmrg	-none)
13539aa228fdSmrg		;;
13549aa228fdSmrg	*)
13559aa228fdSmrg		# Get rid of the `-' at the beginning of $os.
13569aa228fdSmrg		os=`echo $os | sed 's/[^-]*-//'`
13579aa228fdSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
13589aa228fdSmrg		exit 1
13599aa228fdSmrg		;;
13609aa228fdSmrgesac
13619aa228fdSmrgelse
13629aa228fdSmrg
13639aa228fdSmrg# Here we handle the default operating systems that come with various machines.
13649aa228fdSmrg# The value should be what the vendor currently ships out the door with their
13659aa228fdSmrg# machine or put another way, the most popular os provided with the machine.
13669aa228fdSmrg
13679aa228fdSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
13689aa228fdSmrg# "-sun"), then you have to tell the case statement up towards the top
13699aa228fdSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
13709aa228fdSmrg# will signal an error saying that MANUFACTURER isn't an operating
13719aa228fdSmrg# system, and we'll never get to this point.
13729aa228fdSmrg
13739aa228fdSmrgcase $basic_machine in
13749aa228fdSmrg        score-*)
13759aa228fdSmrg		os=-elf
13769aa228fdSmrg		;;
13779aa228fdSmrg        spu-*)
13789aa228fdSmrg		os=-elf
13799aa228fdSmrg		;;
13809aa228fdSmrg	*-acorn)
13819aa228fdSmrg		os=-riscix1.2
13829aa228fdSmrg		;;
13839aa228fdSmrg	arm*-rebel)
13849aa228fdSmrg		os=-linux
13859aa228fdSmrg		;;
13869aa228fdSmrg	arm*-semi)
13879aa228fdSmrg		os=-aout
13889aa228fdSmrg		;;
13899aa228fdSmrg        c4x-* | tic4x-*)
13909aa228fdSmrg        	os=-coff
13919aa228fdSmrg		;;
13929aa228fdSmrg	# This must come before the *-dec entry.
13939aa228fdSmrg	pdp10-*)
13949aa228fdSmrg		os=-tops20
13959aa228fdSmrg		;;
13969aa228fdSmrg	pdp11-*)
13979aa228fdSmrg		os=-none
13989aa228fdSmrg		;;
13999aa228fdSmrg	*-dec | vax-*)
14009aa228fdSmrg		os=-ultrix4.2
14019aa228fdSmrg		;;
14029aa228fdSmrg	m68*-apollo)
14039aa228fdSmrg		os=-domain
14049aa228fdSmrg		;;
14059aa228fdSmrg	i386-sun)
14069aa228fdSmrg		os=-sunos4.0.2
14079aa228fdSmrg		;;
14089aa228fdSmrg	m68000-sun)
14099aa228fdSmrg		os=-sunos3
14109aa228fdSmrg		# This also exists in the configure program, but was not the
14119aa228fdSmrg		# default.
14129aa228fdSmrg		# os=-sunos4
14139aa228fdSmrg		;;
14149aa228fdSmrg	m68*-cisco)
14159aa228fdSmrg		os=-aout
14169aa228fdSmrg		;;
14179aa228fdSmrg	mips*-cisco)
14189aa228fdSmrg		os=-elf
14199aa228fdSmrg		;;
14209aa228fdSmrg	mips*-*)
14219aa228fdSmrg		os=-elf
14229aa228fdSmrg		;;
14239aa228fdSmrg	or32-*)
14249aa228fdSmrg		os=-coff
14259aa228fdSmrg		;;
14269aa228fdSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
14279aa228fdSmrg		os=-sysv3
14289aa228fdSmrg		;;
14299aa228fdSmrg	sparc-* | *-sun)
14309aa228fdSmrg		os=-sunos4.1.1
14319aa228fdSmrg		;;
14329aa228fdSmrg	*-be)
14339aa228fdSmrg		os=-beos
14349aa228fdSmrg		;;
14359aa228fdSmrg	*-haiku)
14369aa228fdSmrg		os=-haiku
14379aa228fdSmrg		;;
14389aa228fdSmrg	*-ibm)
14399aa228fdSmrg		os=-aix
14409aa228fdSmrg		;;
14419aa228fdSmrg    	*-knuth)
14429aa228fdSmrg		os=-mmixware
14439aa228fdSmrg		;;
14449aa228fdSmrg	*-wec)
14459aa228fdSmrg		os=-proelf
14469aa228fdSmrg		;;
14479aa228fdSmrg	*-winbond)
14489aa228fdSmrg		os=-proelf
14499aa228fdSmrg		;;
14509aa228fdSmrg	*-oki)
14519aa228fdSmrg		os=-proelf
14529aa228fdSmrg		;;
14539aa228fdSmrg	*-hp)
14549aa228fdSmrg		os=-hpux
14559aa228fdSmrg		;;
14569aa228fdSmrg	*-hitachi)
14579aa228fdSmrg		os=-hiux
14589aa228fdSmrg		;;
14599aa228fdSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
14609aa228fdSmrg		os=-sysv
14619aa228fdSmrg		;;
14629aa228fdSmrg	*-cbm)
14639aa228fdSmrg		os=-amigaos
14649aa228fdSmrg		;;
14659aa228fdSmrg	*-dg)
14669aa228fdSmrg		os=-dgux
14679aa228fdSmrg		;;
14689aa228fdSmrg	*-dolphin)
14699aa228fdSmrg		os=-sysv3
14709aa228fdSmrg		;;
14719aa228fdSmrg	m68k-ccur)
14729aa228fdSmrg		os=-rtu
14739aa228fdSmrg		;;
14749aa228fdSmrg	m88k-omron*)
14759aa228fdSmrg		os=-luna
14769aa228fdSmrg		;;
14779aa228fdSmrg	*-next )
14789aa228fdSmrg		os=-nextstep
14799aa228fdSmrg		;;
14809aa228fdSmrg	*-sequent)
14819aa228fdSmrg		os=-ptx
14829aa228fdSmrg		;;
14839aa228fdSmrg	*-crds)
14849aa228fdSmrg		os=-unos
14859aa228fdSmrg		;;
14869aa228fdSmrg	*-ns)
14879aa228fdSmrg		os=-genix
14889aa228fdSmrg		;;
14899aa228fdSmrg	i370-*)
14909aa228fdSmrg		os=-mvs
14919aa228fdSmrg		;;
14929aa228fdSmrg	*-next)
14939aa228fdSmrg		os=-nextstep3
14949aa228fdSmrg		;;
14959aa228fdSmrg	*-gould)
14969aa228fdSmrg		os=-sysv
14979aa228fdSmrg		;;
14989aa228fdSmrg	*-highlevel)
14999aa228fdSmrg		os=-bsd
15009aa228fdSmrg		;;
15019aa228fdSmrg	*-encore)
15029aa228fdSmrg		os=-bsd
15039aa228fdSmrg		;;
15049aa228fdSmrg	*-sgi)
15059aa228fdSmrg		os=-irix
15069aa228fdSmrg		;;
15079aa228fdSmrg	*-siemens)
15089aa228fdSmrg		os=-sysv4
15099aa228fdSmrg		;;
15109aa228fdSmrg	*-masscomp)
15119aa228fdSmrg		os=-rtu
15129aa228fdSmrg		;;
15139aa228fdSmrg	f30[01]-fujitsu | f700-fujitsu)
15149aa228fdSmrg		os=-uxpv
15159aa228fdSmrg		;;
15169aa228fdSmrg	*-rom68k)
15179aa228fdSmrg		os=-coff
15189aa228fdSmrg		;;
15199aa228fdSmrg	*-*bug)
15209aa228fdSmrg		os=-coff
15219aa228fdSmrg		;;
15229aa228fdSmrg	*-apple)
15239aa228fdSmrg		os=-macos
15249aa228fdSmrg		;;
15259aa228fdSmrg	*-atari*)
15269aa228fdSmrg		os=-mint
15279aa228fdSmrg		;;
15289aa228fdSmrg	*)
15299aa228fdSmrg		os=-none
15309aa228fdSmrg		;;
15319aa228fdSmrgesac
15329aa228fdSmrgfi
15339aa228fdSmrg
15349aa228fdSmrg# Here we handle the case where we know the os, and the CPU type, but not the
15359aa228fdSmrg# manufacturer.  We pick the logical manufacturer.
15369aa228fdSmrgvendor=unknown
15379aa228fdSmrgcase $basic_machine in
15389aa228fdSmrg	*-unknown)
15399aa228fdSmrg		case $os in
15409aa228fdSmrg			-riscix*)
15419aa228fdSmrg				vendor=acorn
15429aa228fdSmrg				;;
15439aa228fdSmrg			-sunos*)
15449aa228fdSmrg				vendor=sun
15459aa228fdSmrg				;;
15469aa228fdSmrg			-aix*)
15479aa228fdSmrg				vendor=ibm
15489aa228fdSmrg				;;
15499aa228fdSmrg			-beos*)
15509aa228fdSmrg				vendor=be
15519aa228fdSmrg				;;
15529aa228fdSmrg			-hpux*)
15539aa228fdSmrg				vendor=hp
15549aa228fdSmrg				;;
15559aa228fdSmrg			-mpeix*)
15569aa228fdSmrg				vendor=hp
15579aa228fdSmrg				;;
15589aa228fdSmrg			-hiux*)
15599aa228fdSmrg				vendor=hitachi
15609aa228fdSmrg				;;
15619aa228fdSmrg			-unos*)
15629aa228fdSmrg				vendor=crds
15639aa228fdSmrg				;;
15649aa228fdSmrg			-dgux*)
15659aa228fdSmrg				vendor=dg
15669aa228fdSmrg				;;
15679aa228fdSmrg			-luna*)
15689aa228fdSmrg				vendor=omron
15699aa228fdSmrg				;;
15709aa228fdSmrg			-genix*)
15719aa228fdSmrg				vendor=ns
15729aa228fdSmrg				;;
15739aa228fdSmrg			-mvs* | -opened*)
15749aa228fdSmrg				vendor=ibm
15759aa228fdSmrg				;;
15769aa228fdSmrg			-os400*)
15779aa228fdSmrg				vendor=ibm
15789aa228fdSmrg				;;
15799aa228fdSmrg			-ptx*)
15809aa228fdSmrg				vendor=sequent
15819aa228fdSmrg				;;
15829aa228fdSmrg			-tpf*)
15839aa228fdSmrg				vendor=ibm
15849aa228fdSmrg				;;
15859aa228fdSmrg			-vxsim* | -vxworks* | -windiss*)
15869aa228fdSmrg				vendor=wrs
15879aa228fdSmrg				;;
15889aa228fdSmrg			-aux*)
15899aa228fdSmrg				vendor=apple
15909aa228fdSmrg				;;
15919aa228fdSmrg			-hms*)
15929aa228fdSmrg				vendor=hitachi
15939aa228fdSmrg				;;
15949aa228fdSmrg			-mpw* | -macos*)
15959aa228fdSmrg				vendor=apple
15969aa228fdSmrg				;;
15979aa228fdSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
15989aa228fdSmrg				vendor=atari
15999aa228fdSmrg				;;
16009aa228fdSmrg			-vos*)
16019aa228fdSmrg				vendor=stratus
16029aa228fdSmrg				;;
16039aa228fdSmrg		esac
16049aa228fdSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
16059aa228fdSmrg		;;
16069aa228fdSmrgesac
16079aa228fdSmrg
16089aa228fdSmrgecho $basic_machine$os
16099aa228fdSmrgexit
16109aa228fdSmrg
16119aa228fdSmrg# Local variables:
16129aa228fdSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
16139aa228fdSmrg# time-stamp-start: "timestamp='"
16149aa228fdSmrg# time-stamp-format: "%:y-%02m-%02d"
16159aa228fdSmrg# time-stamp-end: "'"
16169aa228fdSmrg# End:
1617