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