1cacd992dSmrg#! /bin/sh
2cacd992dSmrg# Configuration validation subroutine script.
3cacd992dSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
46758a055Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
56758a055Smrg#   2011 Free Software Foundation, Inc.
6cacd992dSmrg
76758a055Smrgtimestamp='2011-11-11'
8cacd992dSmrg
9cacd992dSmrg# This file is (in principle) common to ALL GNU software.
10cacd992dSmrg# The presence of a machine in this file suggests that SOME GNU software
11cacd992dSmrg# can handle that machine.  It does not imply ALL GNU software can.
12cacd992dSmrg#
13cacd992dSmrg# This file is free software; you can redistribute it and/or modify
14cacd992dSmrg# it under the terms of the GNU General Public License as published by
15cacd992dSmrg# the Free Software Foundation; either version 2 of the License, or
16cacd992dSmrg# (at your option) any later version.
17cacd992dSmrg#
18cacd992dSmrg# This program is distributed in the hope that it will be useful,
19cacd992dSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20cacd992dSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21cacd992dSmrg# GNU General Public License for more details.
22cacd992dSmrg#
23cacd992dSmrg# You should have received a copy of the GNU General Public License
24cacd992dSmrg# along with this program; if not, write to the Free Software
2514ddf674Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2614ddf674Smrg# 02110-1301, USA.
2714ddf674Smrg#
28cacd992dSmrg# As a special exception to the GNU General Public License, if you
29cacd992dSmrg# distribute this file as part of a program that contains a
30cacd992dSmrg# configuration script generated by Autoconf, you may include it under
31cacd992dSmrg# the same distribution terms that you use for the rest of that program.
32cacd992dSmrg
3314ddf674Smrg
34cacd992dSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3514ddf674Smrg# diff and a properly formatted GNU ChangeLog entry.
36cacd992dSmrg#
37cacd992dSmrg# Configuration subroutine to validate and canonicalize a configuration type.
38cacd992dSmrg# Supply the specified configuration type as an argument.
39cacd992dSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
40cacd992dSmrg# Otherwise, we print the canonical config type on stdout and succeed.
41cacd992dSmrg
4214ddf674Smrg# You can get the latest version of this script from:
4314ddf674Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4414ddf674Smrg
45cacd992dSmrg# This file is supposed to be the same for all GNU packages
46cacd992dSmrg# and recognize all the CPU types, system types and aliases
47cacd992dSmrg# that are meaningful with *any* GNU software.
48cacd992dSmrg# Each package is responsible for reporting which valid configurations
49cacd992dSmrg# it does not support.  The user should be able to distinguish
50cacd992dSmrg# a failure to support a valid configuration from a meaningless
51cacd992dSmrg# configuration.
52cacd992dSmrg
53cacd992dSmrg# The goal of this file is to map all the various variations of a given
54cacd992dSmrg# machine specification into a single specification in the form:
55cacd992dSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56cacd992dSmrg# or in some cases, the newer four-part form:
57cacd992dSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58cacd992dSmrg# It is wrong to echo any other type of specification.
59cacd992dSmrg
60cacd992dSmrgme=`echo "$0" | sed -e 's,.*/,,'`
61cacd992dSmrg
62cacd992dSmrgusage="\
63cacd992dSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64cacd992dSmrg       $0 [OPTION] ALIAS
65cacd992dSmrg
66cacd992dSmrgCanonicalize a configuration name.
67cacd992dSmrg
68cacd992dSmrgOperation modes:
69cacd992dSmrg  -h, --help         print this help, then exit
70cacd992dSmrg  -t, --time-stamp   print date of last modification, then exit
71cacd992dSmrg  -v, --version      print version number, then exit
72cacd992dSmrg
73cacd992dSmrgReport bugs and patches to <config-patches@gnu.org>."
74cacd992dSmrg
75cacd992dSmrgversion="\
76cacd992dSmrgGNU config.sub ($timestamp)
77cacd992dSmrg
786758a055SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
796758a055Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
806758a055SmrgSoftware Foundation, Inc.
81cacd992dSmrg
82cacd992dSmrgThis is free software; see the source for copying conditions.  There is NO
83cacd992dSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84cacd992dSmrg
85cacd992dSmrghelp="
86cacd992dSmrgTry \`$me --help' for more information."
87cacd992dSmrg
88cacd992dSmrg# Parse command line
89cacd992dSmrgwhile test $# -gt 0 ; do
90cacd992dSmrg  case $1 in
91cacd992dSmrg    --time-stamp | --time* | -t )
9214ddf674Smrg       echo "$timestamp" ; exit ;;
93cacd992dSmrg    --version | -v )
9414ddf674Smrg       echo "$version" ; exit ;;
95cacd992dSmrg    --help | --h* | -h )
9614ddf674Smrg       echo "$usage"; exit ;;
97cacd992dSmrg    -- )     # Stop option processing
98cacd992dSmrg       shift; break ;;
99cacd992dSmrg    - )	# Use stdin as input.
100cacd992dSmrg       break ;;
101cacd992dSmrg    -* )
102cacd992dSmrg       echo "$me: invalid option $1$help"
103cacd992dSmrg       exit 1 ;;
104cacd992dSmrg
105cacd992dSmrg    *local*)
106cacd992dSmrg       # First pass through any local machine types.
107cacd992dSmrg       echo $1
10814ddf674Smrg       exit ;;
109cacd992dSmrg
110cacd992dSmrg    * )
111cacd992dSmrg       break ;;
112cacd992dSmrg  esac
113cacd992dSmrgdone
114cacd992dSmrg
115cacd992dSmrgcase $# in
116cacd992dSmrg 0) echo "$me: missing argument$help" >&2
117cacd992dSmrg    exit 1;;
118cacd992dSmrg 1) ;;
119cacd992dSmrg *) echo "$me: too many arguments$help" >&2
120cacd992dSmrg    exit 1;;
121cacd992dSmrgesac
122cacd992dSmrg
123cacd992dSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124cacd992dSmrg# Here we must recognize all the valid KERNEL-OS combinations.
125cacd992dSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126cacd992dSmrgcase $maybe_os in
1276758a055Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1286758a055Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1296758a055Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
13014ddf674Smrg  kopensolaris*-gnu* | \
13114ddf674Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132cacd992dSmrg    os=-$maybe_os
133cacd992dSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134cacd992dSmrg    ;;
135cacd992dSmrg  *)
136cacd992dSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137cacd992dSmrg    if [ $basic_machine != $1 ]
138cacd992dSmrg    then os=`echo $1 | sed 's/.*-/-/'`
139cacd992dSmrg    else os=; fi
140cacd992dSmrg    ;;
141cacd992dSmrgesac
142cacd992dSmrg
143cacd992dSmrg### Let's recognize common machines as not being operating systems so
144cacd992dSmrg### that things like config.sub decstation-3100 work.  We also
145cacd992dSmrg### recognize some manufacturers as not being operating systems, so we
146cacd992dSmrg### can provide default operating systems below.
147cacd992dSmrgcase $os in
148cacd992dSmrg	-sun*os*)
149cacd992dSmrg		# Prevent following clause from handling this invalid input.
150cacd992dSmrg		;;
151cacd992dSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152cacd992dSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153cacd992dSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154cacd992dSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155cacd992dSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156cacd992dSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15714ddf674Smrg	-apple | -axis | -knuth | -cray | -microblaze)
158cacd992dSmrg		os=
159cacd992dSmrg		basic_machine=$1
160cacd992dSmrg		;;
1616758a055Smrg	-bluegene*)
1626758a055Smrg		os=-cnk
16314ddf674Smrg		;;
164cacd992dSmrg	-sim | -cisco | -oki | -wec | -winbond)
165cacd992dSmrg		os=
166cacd992dSmrg		basic_machine=$1
167cacd992dSmrg		;;
168cacd992dSmrg	-scout)
169cacd992dSmrg		;;
170cacd992dSmrg	-wrs)
171cacd992dSmrg		os=-vxworks
172cacd992dSmrg		basic_machine=$1
173cacd992dSmrg		;;
174cacd992dSmrg	-chorusos*)
175cacd992dSmrg		os=-chorusos
176cacd992dSmrg		basic_machine=$1
177cacd992dSmrg		;;
1786758a055Smrg	-chorusrdb)
1796758a055Smrg		os=-chorusrdb
180cacd992dSmrg		basic_machine=$1
1816758a055Smrg		;;
182cacd992dSmrg	-hiux*)
183cacd992dSmrg		os=-hiuxwe2
184cacd992dSmrg		;;
18514ddf674Smrg	-sco6)
18614ddf674Smrg		os=-sco5v6
18714ddf674Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18814ddf674Smrg		;;
189cacd992dSmrg	-sco5)
190cacd992dSmrg		os=-sco3.2v5
191cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192cacd992dSmrg		;;
193cacd992dSmrg	-sco4)
194cacd992dSmrg		os=-sco3.2v4
195cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196cacd992dSmrg		;;
197cacd992dSmrg	-sco3.2.[4-9]*)
198cacd992dSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200cacd992dSmrg		;;
201cacd992dSmrg	-sco3.2v[4-9]*)
202cacd992dSmrg		# Don't forget version if it is 3.2v4 or newer.
203cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204cacd992dSmrg		;;
20514ddf674Smrg	-sco5v6*)
20614ddf674Smrg		# Don't forget version if it is 3.2v4 or newer.
20714ddf674Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20814ddf674Smrg		;;
209cacd992dSmrg	-sco*)
210cacd992dSmrg		os=-sco3.2v2
211cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212cacd992dSmrg		;;
213cacd992dSmrg	-udk*)
214cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215cacd992dSmrg		;;
216cacd992dSmrg	-isc)
217cacd992dSmrg		os=-isc2.2
218cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219cacd992dSmrg		;;
220cacd992dSmrg	-clix*)
221cacd992dSmrg		basic_machine=clipper-intergraph
222cacd992dSmrg		;;
223cacd992dSmrg	-isc*)
224cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225cacd992dSmrg		;;
226cacd992dSmrg	-lynx*)
227cacd992dSmrg		os=-lynxos
228cacd992dSmrg		;;
229cacd992dSmrg	-ptx*)
230cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231cacd992dSmrg		;;
232cacd992dSmrg	-windowsnt*)
233cacd992dSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234cacd992dSmrg		;;
235cacd992dSmrg	-psos*)
236cacd992dSmrg		os=-psos
237cacd992dSmrg		;;
238cacd992dSmrg	-mint | -mint[0-9]*)
239cacd992dSmrg		basic_machine=m68k-atari
240cacd992dSmrg		os=-mint
241cacd992dSmrg		;;
242cacd992dSmrgesac
243cacd992dSmrg
244cacd992dSmrg# Decode aliases for certain CPU-COMPANY combinations.
245cacd992dSmrgcase $basic_machine in
246cacd992dSmrg	# Recognize the basic CPU types without company name.
247cacd992dSmrg	# Some are omitted here because they have special meanings below.
248cacd992dSmrg	1750a | 580 \
249cacd992dSmrg	| a29k \
250cacd992dSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251cacd992dSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25214ddf674Smrg	| am33_2.0 \
25314ddf674Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2546758a055Smrg        | be32 | be64 \
25514ddf674Smrg	| bfin \
256cacd992dSmrg	| c4x | clipper \
257cacd992dSmrg	| d10v | d30v | dlx | dsp16xx \
2586758a055Smrg	| epiphany \
25914ddf674Smrg	| fido | fr30 | frv \
260cacd992dSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2616758a055Smrg	| hexagon \
262cacd992dSmrg	| i370 | i860 | i960 | ia64 \
26314ddf674Smrg	| ip2k | iq2000 \
2646758a055Smrg	| le32 | le64 \
26514ddf674Smrg	| lm32 \
26614ddf674Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26714ddf674Smrg	| maxq | mb | microblaze | mcore | mep | metag \
268cacd992dSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
269cacd992dSmrg	| mips16 \
270cacd992dSmrg	| mips64 | mips64el \
27114ddf674Smrg	| mips64octeon | mips64octeonel \
272cacd992dSmrg	| mips64orion | mips64orionel \
27314ddf674Smrg	| mips64r5900 | mips64r5900el \
27414ddf674Smrg	| mips64vr | mips64vrel \
275cacd992dSmrg	| mips64vr4100 | mips64vr4100el \
276cacd992dSmrg	| mips64vr4300 | mips64vr4300el \
277cacd992dSmrg	| mips64vr5000 | mips64vr5000el \
27814ddf674Smrg	| mips64vr5900 | mips64vr5900el \
279cacd992dSmrg	| mipsisa32 | mipsisa32el \
280cacd992dSmrg	| mipsisa32r2 | mipsisa32r2el \
281cacd992dSmrg	| mipsisa64 | mipsisa64el \
28214ddf674Smrg	| mipsisa64r2 | mipsisa64r2el \
283cacd992dSmrg	| mipsisa64sb1 | mipsisa64sb1el \
284cacd992dSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
285cacd992dSmrg	| mipstx39 | mipstx39el \
286cacd992dSmrg	| mn10200 | mn10300 \
28714ddf674Smrg	| moxie \
28814ddf674Smrg	| mt \
289cacd992dSmrg	| msp430 \
2906758a055Smrg	| nds32 | nds32le | nds32be \
29114ddf674Smrg	| nios | nios2 \
292cacd992dSmrg	| ns16k | ns32k \
2936758a055Smrg	| open8 \
29414ddf674Smrg	| or32 \
295cacd992dSmrg	| pdp10 | pdp11 | pj | pjl \
2966758a055Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
297cacd992dSmrg	| pyramid \
2986758a055Smrg	| rl78 | rx \
29914ddf674Smrg	| score \
30014ddf674Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
301cacd992dSmrg	| sh64 | sh64le \
30214ddf674Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30314ddf674Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3046758a055Smrg	| spu \
3056758a055Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30614ddf674Smrg	| ubicom32 \
3076758a055Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
308cacd992dSmrg	| we32k \
3096758a055Smrg	| x86 | xc16x | xstormy16 | xtensa \
31014ddf674Smrg	| z8k | z80)
311cacd992dSmrg		basic_machine=$basic_machine-unknown
312cacd992dSmrg		;;
3136758a055Smrg	c54x)
3146758a055Smrg		basic_machine=tic54x-unknown
3156758a055Smrg		;;
3166758a055Smrg	c55x)
3176758a055Smrg		basic_machine=tic55x-unknown
3186758a055Smrg		;;
3196758a055Smrg	c6x)
3206758a055Smrg		basic_machine=tic6x-unknown
3216758a055Smrg		;;
32214ddf674Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
323cacd992dSmrg		# Motorola 68HC11/12.
324cacd992dSmrg		basic_machine=$basic_machine-unknown
325cacd992dSmrg		os=-none
326cacd992dSmrg		;;
327cacd992dSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
328cacd992dSmrg		;;
32914ddf674Smrg	ms1)
33014ddf674Smrg		basic_machine=mt-unknown
33114ddf674Smrg		;;
332cacd992dSmrg
3336758a055Smrg	strongarm | thumb | xscale)
3346758a055Smrg		basic_machine=arm-unknown
3356758a055Smrg		;;
3366758a055Smrg
3376758a055Smrg	xscaleeb)
3386758a055Smrg		basic_machine=armeb-unknown
3396758a055Smrg		;;
3406758a055Smrg
3416758a055Smrg	xscaleel)
3426758a055Smrg		basic_machine=armel-unknown
3436758a055Smrg		;;
3446758a055Smrg
345cacd992dSmrg	# We use `pc' rather than `unknown'
346cacd992dSmrg	# because (1) that's what they normally are, and
347cacd992dSmrg	# (2) the word "unknown" tends to confuse beginning users.
348cacd992dSmrg	i*86 | x86_64)
349cacd992dSmrg	  basic_machine=$basic_machine-pc
350cacd992dSmrg	  ;;
351cacd992dSmrg	# Object if more than one company name word.
352cacd992dSmrg	*-*-*)
353cacd992dSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
354cacd992dSmrg		exit 1
355cacd992dSmrg		;;
356cacd992dSmrg	# Recognize the basic CPU types with company name.
357cacd992dSmrg	580-* \
358cacd992dSmrg	| a29k-* \
359cacd992dSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
360cacd992dSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
361cacd992dSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
362cacd992dSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
36314ddf674Smrg	| avr-* | avr32-* \
3646758a055Smrg	| be32-* | be64-* \
36514ddf674Smrg	| bfin-* | bs2000-* \
3666758a055Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
36714ddf674Smrg	| clipper-* | craynv-* | cydra-* \
368cacd992dSmrg	| d10v-* | d30v-* | dlx-* \
369cacd992dSmrg	| elxsi-* \
37014ddf674Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
371cacd992dSmrg	| h8300-* | h8500-* \
372cacd992dSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3736758a055Smrg	| hexagon-* \
374cacd992dSmrg	| i*86-* | i860-* | i960-* | ia64-* \
37514ddf674Smrg	| ip2k-* | iq2000-* \
3766758a055Smrg	| le32-* | le64-* \
37714ddf674Smrg	| lm32-* \
37814ddf674Smrg	| m32c-* | m32r-* | m32rle-* \
379cacd992dSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
38014ddf674Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
381cacd992dSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
382cacd992dSmrg	| mips16-* \
383cacd992dSmrg	| mips64-* | mips64el-* \
38414ddf674Smrg	| mips64octeon-* | mips64octeonel-* \
385cacd992dSmrg	| mips64orion-* | mips64orionel-* \
38614ddf674Smrg	| mips64r5900-* | mips64r5900el-* \
38714ddf674Smrg	| mips64vr-* | mips64vrel-* \
388cacd992dSmrg	| mips64vr4100-* | mips64vr4100el-* \
389cacd992dSmrg	| mips64vr4300-* | mips64vr4300el-* \
390cacd992dSmrg	| mips64vr5000-* | mips64vr5000el-* \
39114ddf674Smrg	| mips64vr5900-* | mips64vr5900el-* \
392cacd992dSmrg	| mipsisa32-* | mipsisa32el-* \
393cacd992dSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
394cacd992dSmrg	| mipsisa64-* | mipsisa64el-* \
39514ddf674Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
396cacd992dSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
397cacd992dSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
398cacd992dSmrg	| mipstx39-* | mipstx39el-* \
39914ddf674Smrg	| mmix-* \
40014ddf674Smrg	| mt-* \
401cacd992dSmrg	| msp430-* \
4026758a055Smrg	| nds32-* | nds32le-* | nds32be-* \
40314ddf674Smrg	| nios-* | nios2-* \
40414ddf674Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4056758a055Smrg	| open8-* \
406cacd992dSmrg	| orion-* \
407cacd992dSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4086758a055Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
409cacd992dSmrg	| pyramid-* \
4106758a055Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
41114ddf674Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
412cacd992dSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
41314ddf674Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
41414ddf674Smrg	| sparclite-* \
4156758a055Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4166758a055Smrg	| tahoe-* \
4176758a055Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4186758a055Smrg	| tile*-* \
419cacd992dSmrg	| tron-* \
42014ddf674Smrg	| ubicom32-* \
4216758a055Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4226758a055Smrg	| vax-* \
423cacd992dSmrg	| we32k-* \
4246758a055Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
42514ddf674Smrg	| xstormy16-* | xtensa*-* \
426cacd992dSmrg	| ymp-* \
42714ddf674Smrg	| z8k-* | z80-*)
42814ddf674Smrg		;;
42914ddf674Smrg	# Recognize the basic CPU types without company name, with glob match.
43014ddf674Smrg	xtensa*)
43114ddf674Smrg		basic_machine=$basic_machine-unknown
432cacd992dSmrg		;;
433cacd992dSmrg	# Recognize the various machine names and aliases which stand
434cacd992dSmrg	# for a CPU type and a company and sometimes even an OS.
435cacd992dSmrg	386bsd)
436cacd992dSmrg		basic_machine=i386-unknown
437cacd992dSmrg		os=-bsd
438cacd992dSmrg		;;
439cacd992dSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
440cacd992dSmrg		basic_machine=m68000-att
441cacd992dSmrg		;;
442cacd992dSmrg	3b*)
443cacd992dSmrg		basic_machine=we32k-att
444cacd992dSmrg		;;
445cacd992dSmrg	a29khif)
446cacd992dSmrg		basic_machine=a29k-amd
447cacd992dSmrg		os=-udi
448cacd992dSmrg		;;
4496758a055Smrg	abacus)
45014ddf674Smrg		basic_machine=abacus-unknown
45114ddf674Smrg		;;
452cacd992dSmrg	adobe68k)
453cacd992dSmrg		basic_machine=m68010-adobe
454cacd992dSmrg		os=-scout
455cacd992dSmrg		;;
456cacd992dSmrg	alliant | fx80)
457cacd992dSmrg		basic_machine=fx80-alliant
458cacd992dSmrg		;;
459cacd992dSmrg	altos | altos3068)
460cacd992dSmrg		basic_machine=m68k-altos
461cacd992dSmrg		;;
462cacd992dSmrg	am29k)
463cacd992dSmrg		basic_machine=a29k-none
464cacd992dSmrg		os=-bsd
465cacd992dSmrg		;;
466cacd992dSmrg	amd64)
467cacd992dSmrg		basic_machine=x86_64-pc
468cacd992dSmrg		;;
46914ddf674Smrg	amd64-*)
47014ddf674Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
47114ddf674Smrg		;;
472cacd992dSmrg	amdahl)
473cacd992dSmrg		basic_machine=580-amdahl
474cacd992dSmrg		os=-sysv
475cacd992dSmrg		;;
476cacd992dSmrg	amiga | amiga-*)
477cacd992dSmrg		basic_machine=m68k-unknown
478cacd992dSmrg		;;
479cacd992dSmrg	amigaos | amigados)
480cacd992dSmrg		basic_machine=m68k-unknown
481cacd992dSmrg		os=-amigaos
482cacd992dSmrg		;;
483cacd992dSmrg	amigaunix | amix)
484cacd992dSmrg		basic_machine=m68k-unknown
485cacd992dSmrg		os=-sysv4
486cacd992dSmrg		;;
487cacd992dSmrg	apollo68)
488cacd992dSmrg		basic_machine=m68k-apollo
489cacd992dSmrg		os=-sysv
490cacd992dSmrg		;;
491cacd992dSmrg	apollo68bsd)
492cacd992dSmrg		basic_machine=m68k-apollo
493cacd992dSmrg		os=-bsd
494cacd992dSmrg		;;
49514ddf674Smrg	aros)
49614ddf674Smrg		basic_machine=i386-pc
49714ddf674Smrg		os=-aros
49814ddf674Smrg		;;
499cacd992dSmrg	aux)
500cacd992dSmrg		basic_machine=m68k-apple
501cacd992dSmrg		os=-aux
502cacd992dSmrg		;;
503cacd992dSmrg	balance)
504cacd992dSmrg		basic_machine=ns32k-sequent
505cacd992dSmrg		os=-dynix
506cacd992dSmrg		;;
50714ddf674Smrg	blackfin)
50814ddf674Smrg		basic_machine=bfin-unknown
50914ddf674Smrg		os=-linux
51014ddf674Smrg		;;
51114ddf674Smrg	blackfin-*)
51214ddf674Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
51314ddf674Smrg		os=-linux
51414ddf674Smrg		;;
51514ddf674Smrg	bluegene*)
51614ddf674Smrg		basic_machine=powerpc-ibm
51714ddf674Smrg		os=-cnk
51814ddf674Smrg		;;
5196758a055Smrg	c54x-*)
5206758a055Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5216758a055Smrg		;;
5226758a055Smrg	c55x-*)
5236758a055Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5246758a055Smrg		;;
5256758a055Smrg	c6x-*)
5266758a055Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5276758a055Smrg		;;
528cacd992dSmrg	c90)
529cacd992dSmrg		basic_machine=c90-cray
530cacd992dSmrg		os=-unicos
531cacd992dSmrg		;;
5326758a055Smrg	cegcc)
53314ddf674Smrg		basic_machine=arm-unknown
53414ddf674Smrg		os=-cegcc
53514ddf674Smrg		;;
536cacd992dSmrg	convex-c1)
537cacd992dSmrg		basic_machine=c1-convex
538cacd992dSmrg		os=-bsd
539cacd992dSmrg		;;
540cacd992dSmrg	convex-c2)
541cacd992dSmrg		basic_machine=c2-convex
542cacd992dSmrg		os=-bsd
543cacd992dSmrg		;;
544cacd992dSmrg	convex-c32)
545cacd992dSmrg		basic_machine=c32-convex
546cacd992dSmrg		os=-bsd
547cacd992dSmrg		;;
548cacd992dSmrg	convex-c34)
549cacd992dSmrg		basic_machine=c34-convex
550cacd992dSmrg		os=-bsd
551cacd992dSmrg		;;
552cacd992dSmrg	convex-c38)
553cacd992dSmrg		basic_machine=c38-convex
554cacd992dSmrg		os=-bsd
555cacd992dSmrg		;;
556cacd992dSmrg	cray | j90)
557cacd992dSmrg		basic_machine=j90-cray
558cacd992dSmrg		os=-unicos
559cacd992dSmrg		;;
56014ddf674Smrg	craynv)
56114ddf674Smrg		basic_machine=craynv-cray
56214ddf674Smrg		os=-unicosmp
56314ddf674Smrg		;;
5646758a055Smrg	cr16 | cr16-*)
56514ddf674Smrg		basic_machine=cr16-unknown
56614ddf674Smrg		os=-elf
56714ddf674Smrg		;;
568cacd992dSmrg	crds | unos)
569cacd992dSmrg		basic_machine=m68k-crds
570cacd992dSmrg		;;
57114ddf674Smrg	crisv32 | crisv32-* | etraxfs*)
57214ddf674Smrg		basic_machine=crisv32-axis
57314ddf674Smrg		;;
574cacd992dSmrg	cris | cris-* | etrax*)
575cacd992dSmrg		basic_machine=cris-axis
576cacd992dSmrg		;;
57714ddf674Smrg	crx)
57814ddf674Smrg		basic_machine=crx-unknown
57914ddf674Smrg		os=-elf
58014ddf674Smrg		;;
581cacd992dSmrg	da30 | da30-*)
582cacd992dSmrg		basic_machine=m68k-da30
583cacd992dSmrg		;;
584cacd992dSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
585cacd992dSmrg		basic_machine=mips-dec
586cacd992dSmrg		;;
587cacd992dSmrg	decsystem10* | dec10*)
588cacd992dSmrg		basic_machine=pdp10-dec
589cacd992dSmrg		os=-tops10
590cacd992dSmrg		;;
591cacd992dSmrg	decsystem20* | dec20*)
592cacd992dSmrg		basic_machine=pdp10-dec
593cacd992dSmrg		os=-tops20
594cacd992dSmrg		;;
595cacd992dSmrg	delta | 3300 | motorola-3300 | motorola-delta \
596cacd992dSmrg	      | 3300-motorola | delta-motorola)
597cacd992dSmrg		basic_machine=m68k-motorola
598cacd992dSmrg		;;
599cacd992dSmrg	delta88)
600cacd992dSmrg		basic_machine=m88k-motorola
601cacd992dSmrg		os=-sysv3
602cacd992dSmrg		;;
60314ddf674Smrg	dicos)
60414ddf674Smrg		basic_machine=i686-pc
60514ddf674Smrg		os=-dicos
60614ddf674Smrg		;;
60714ddf674Smrg	djgpp)
60814ddf674Smrg		basic_machine=i586-pc
60914ddf674Smrg		os=-msdosdjgpp
61014ddf674Smrg		;;
611cacd992dSmrg	dpx20 | dpx20-*)
612cacd992dSmrg		basic_machine=rs6000-bull
613cacd992dSmrg		os=-bosx
614cacd992dSmrg		;;
615cacd992dSmrg	dpx2* | dpx2*-bull)
616cacd992dSmrg		basic_machine=m68k-bull
617cacd992dSmrg		os=-sysv3
618cacd992dSmrg		;;
619cacd992dSmrg	ebmon29k)
620cacd992dSmrg		basic_machine=a29k-amd
621cacd992dSmrg		os=-ebmon
622cacd992dSmrg		;;
623cacd992dSmrg	elxsi)
624cacd992dSmrg		basic_machine=elxsi-elxsi
625cacd992dSmrg		os=-bsd
626cacd992dSmrg		;;
627cacd992dSmrg	encore | umax | mmax)
628cacd992dSmrg		basic_machine=ns32k-encore
629cacd992dSmrg		;;
630cacd992dSmrg	es1800 | OSE68k | ose68k | ose | OSE)
631cacd992dSmrg		basic_machine=m68k-ericsson
632cacd992dSmrg		os=-ose
633cacd992dSmrg		;;
634cacd992dSmrg	fx2800)
635cacd992dSmrg		basic_machine=i860-alliant
636cacd992dSmrg		;;
637cacd992dSmrg	genix)
638cacd992dSmrg		basic_machine=ns32k-ns
639cacd992dSmrg		;;
640cacd992dSmrg	gmicro)
641cacd992dSmrg		basic_machine=tron-gmicro
642cacd992dSmrg		os=-sysv
643cacd992dSmrg		;;
644cacd992dSmrg	go32)
645cacd992dSmrg		basic_machine=i386-pc
646cacd992dSmrg		os=-go32
647cacd992dSmrg		;;
648cacd992dSmrg	h3050r* | hiux*)
649cacd992dSmrg		basic_machine=hppa1.1-hitachi
650cacd992dSmrg		os=-hiuxwe2
651cacd992dSmrg		;;
652cacd992dSmrg	h8300hms)
653cacd992dSmrg		basic_machine=h8300-hitachi
654cacd992dSmrg		os=-hms
655cacd992dSmrg		;;
656cacd992dSmrg	h8300xray)
657cacd992dSmrg		basic_machine=h8300-hitachi
658cacd992dSmrg		os=-xray
659cacd992dSmrg		;;
660cacd992dSmrg	h8500hms)
661cacd992dSmrg		basic_machine=h8500-hitachi
662cacd992dSmrg		os=-hms
663cacd992dSmrg		;;
664cacd992dSmrg	harris)
665cacd992dSmrg		basic_machine=m88k-harris
666cacd992dSmrg		os=-sysv3
667cacd992dSmrg		;;
668cacd992dSmrg	hp300-*)
669cacd992dSmrg		basic_machine=m68k-hp
670cacd992dSmrg		;;
671cacd992dSmrg	hp300bsd)
672cacd992dSmrg		basic_machine=m68k-hp
673cacd992dSmrg		os=-bsd
674cacd992dSmrg		;;
675cacd992dSmrg	hp300hpux)
676cacd992dSmrg		basic_machine=m68k-hp
677cacd992dSmrg		os=-hpux
678cacd992dSmrg		;;
679cacd992dSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
680cacd992dSmrg		basic_machine=hppa1.0-hp
681cacd992dSmrg		;;
682cacd992dSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
683cacd992dSmrg		basic_machine=m68000-hp
684cacd992dSmrg		;;
685cacd992dSmrg	hp9k3[2-9][0-9])
686cacd992dSmrg		basic_machine=m68k-hp
687cacd992dSmrg		;;
688cacd992dSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
689cacd992dSmrg		basic_machine=hppa1.0-hp
690cacd992dSmrg		;;
691cacd992dSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
692cacd992dSmrg		basic_machine=hppa1.1-hp
693cacd992dSmrg		;;
694cacd992dSmrg	hp9k78[0-9] | hp78[0-9])
695cacd992dSmrg		# FIXME: really hppa2.0-hp
696cacd992dSmrg		basic_machine=hppa1.1-hp
697cacd992dSmrg		;;
698cacd992dSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
699cacd992dSmrg		# FIXME: really hppa2.0-hp
700cacd992dSmrg		basic_machine=hppa1.1-hp
701cacd992dSmrg		;;
702cacd992dSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
703cacd992dSmrg		basic_machine=hppa1.1-hp
704cacd992dSmrg		;;
705cacd992dSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
706cacd992dSmrg		basic_machine=hppa1.0-hp
707cacd992dSmrg		;;
708cacd992dSmrg	hppa-next)
709cacd992dSmrg		os=-nextstep3
710cacd992dSmrg		;;
711cacd992dSmrg	hppaosf)
712cacd992dSmrg		basic_machine=hppa1.1-hp
713cacd992dSmrg		os=-osf
714cacd992dSmrg		;;
715cacd992dSmrg	hppro)
716cacd992dSmrg		basic_machine=hppa1.1-hp
717cacd992dSmrg		os=-proelf
718cacd992dSmrg		;;
719cacd992dSmrg	i370-ibm* | ibm*)
720cacd992dSmrg		basic_machine=i370-ibm
721cacd992dSmrg		;;
722cacd992dSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
723cacd992dSmrg	i*86v32)
724cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
725cacd992dSmrg		os=-sysv32
726cacd992dSmrg		;;
727cacd992dSmrg	i*86v4*)
728cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
729cacd992dSmrg		os=-sysv4
730cacd992dSmrg		;;
731cacd992dSmrg	i*86v)
732cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
733cacd992dSmrg		os=-sysv
734cacd992dSmrg		;;
735cacd992dSmrg	i*86sol2)
736cacd992dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
737cacd992dSmrg		os=-solaris2
738cacd992dSmrg		;;
739cacd992dSmrg	i386mach)
740cacd992dSmrg		basic_machine=i386-mach
741cacd992dSmrg		os=-mach
742cacd992dSmrg		;;
743cacd992dSmrg	i386-vsta | vsta)
744cacd992dSmrg		basic_machine=i386-unknown
745cacd992dSmrg		os=-vsta
746cacd992dSmrg		;;
747cacd992dSmrg	iris | iris4d)
748cacd992dSmrg		basic_machine=mips-sgi
749cacd992dSmrg		case $os in
750cacd992dSmrg		    -irix*)
751cacd992dSmrg			;;
752cacd992dSmrg		    *)
753cacd992dSmrg			os=-irix4
754cacd992dSmrg			;;
755cacd992dSmrg		esac
756cacd992dSmrg		;;
757cacd992dSmrg	isi68 | isi)
758cacd992dSmrg		basic_machine=m68k-isi
759cacd992dSmrg		os=-sysv
760cacd992dSmrg		;;
76114ddf674Smrg	m68knommu)
76214ddf674Smrg		basic_machine=m68k-unknown
76314ddf674Smrg		os=-linux
76414ddf674Smrg		;;
76514ddf674Smrg	m68knommu-*)
76614ddf674Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
76714ddf674Smrg		os=-linux
76814ddf674Smrg		;;
769cacd992dSmrg	m88k-omron*)
770cacd992dSmrg		basic_machine=m88k-omron
771cacd992dSmrg		;;
772cacd992dSmrg	magnum | m3230)
773cacd992dSmrg		basic_machine=mips-mips
774cacd992dSmrg		os=-sysv
775cacd992dSmrg		;;
776cacd992dSmrg	merlin)
777cacd992dSmrg		basic_machine=ns32k-utek
778cacd992dSmrg		os=-sysv
779cacd992dSmrg		;;
7806758a055Smrg	microblaze)
78114ddf674Smrg		basic_machine=microblaze-xilinx
78214ddf674Smrg		;;
783cacd992dSmrg	mingw32)
784cacd992dSmrg		basic_machine=i386-pc
785cacd992dSmrg		os=-mingw32
786cacd992dSmrg		;;
78714ddf674Smrg	mingw32ce)
78814ddf674Smrg		basic_machine=arm-unknown
78914ddf674Smrg		os=-mingw32ce
79014ddf674Smrg		;;
791cacd992dSmrg	miniframe)
792cacd992dSmrg		basic_machine=m68000-convergent
793cacd992dSmrg		;;
794cacd992dSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
795cacd992dSmrg		basic_machine=m68k-atari
796cacd992dSmrg		os=-mint
797cacd992dSmrg		;;
798cacd992dSmrg	mips3*-*)
799cacd992dSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
800cacd992dSmrg		;;
801cacd992dSmrg	mips3*)
802cacd992dSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
803cacd992dSmrg		;;
804cacd992dSmrg	monitor)
805cacd992dSmrg		basic_machine=m68k-rom68k
806cacd992dSmrg		os=-coff
807cacd992dSmrg		;;
808cacd992dSmrg	morphos)
809cacd992dSmrg		basic_machine=powerpc-unknown
810cacd992dSmrg		os=-morphos
811cacd992dSmrg		;;
812cacd992dSmrg	msdos)
813cacd992dSmrg		basic_machine=i386-pc
814cacd992dSmrg		os=-msdos
815cacd992dSmrg		;;
81614ddf674Smrg	ms1-*)
81714ddf674Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
81814ddf674Smrg		;;
8196758a055Smrg	msys)
8206758a055Smrg		basic_machine=i386-pc
8216758a055Smrg		os=-msys
8226758a055Smrg		;;
823cacd992dSmrg	mvs)
824cacd992dSmrg		basic_machine=i370-ibm
825cacd992dSmrg		os=-mvs
826cacd992dSmrg		;;
8276758a055Smrg	nacl)
8286758a055Smrg		basic_machine=le32-unknown
8296758a055Smrg		os=-nacl
8306758a055Smrg		;;
831cacd992dSmrg	ncr3000)
832cacd992dSmrg		basic_machine=i486-ncr
833cacd992dSmrg		os=-sysv4
834cacd992dSmrg		;;
835cacd992dSmrg	netbsd386)
836cacd992dSmrg		basic_machine=i386-unknown
837cacd992dSmrg		os=-netbsd
838cacd992dSmrg		;;
839cacd992dSmrg	netwinder)
840cacd992dSmrg		basic_machine=armv4l-rebel
841cacd992dSmrg		os=-linux
842cacd992dSmrg		;;
843cacd992dSmrg	news | news700 | news800 | news900)
844cacd992dSmrg		basic_machine=m68k-sony
845cacd992dSmrg		os=-newsos
846cacd992dSmrg		;;
847cacd992dSmrg	news1000)
848cacd992dSmrg		basic_machine=m68030-sony
849cacd992dSmrg		os=-newsos
850cacd992dSmrg		;;
851cacd992dSmrg	news-3600 | risc-news)
852cacd992dSmrg		basic_machine=mips-sony
853cacd992dSmrg		os=-newsos
854cacd992dSmrg		;;
855cacd992dSmrg	necv70)
856cacd992dSmrg		basic_machine=v70-nec
857cacd992dSmrg		os=-sysv
858cacd992dSmrg		;;
859cacd992dSmrg	next | m*-next )
860cacd992dSmrg		basic_machine=m68k-next
861cacd992dSmrg		case $os in
862cacd992dSmrg		    -nextstep* )
863cacd992dSmrg			;;
864cacd992dSmrg		    -ns2*)
865cacd992dSmrg		      os=-nextstep2
866cacd992dSmrg			;;
867cacd992dSmrg		    *)
868cacd992dSmrg		      os=-nextstep3
869cacd992dSmrg			;;
870cacd992dSmrg		esac
871cacd992dSmrg		;;
872cacd992dSmrg	nh3000)
873cacd992dSmrg		basic_machine=m68k-harris
874cacd992dSmrg		os=-cxux
875cacd992dSmrg		;;
876cacd992dSmrg	nh[45]000)
877cacd992dSmrg		basic_machine=m88k-harris
878cacd992dSmrg		os=-cxux
879cacd992dSmrg		;;
880cacd992dSmrg	nindy960)
881cacd992dSmrg		basic_machine=i960-intel
882cacd992dSmrg		os=-nindy
883cacd992dSmrg		;;
884cacd992dSmrg	mon960)
885cacd992dSmrg		basic_machine=i960-intel
886cacd992dSmrg		os=-mon960
887cacd992dSmrg		;;
888cacd992dSmrg	nonstopux)
889cacd992dSmrg		basic_machine=mips-compaq
890cacd992dSmrg		os=-nonstopux
891cacd992dSmrg		;;
892cacd992dSmrg	np1)
893cacd992dSmrg		basic_machine=np1-gould
894cacd992dSmrg		;;
8956758a055Smrg	neo-tandem)
8966758a055Smrg		basic_machine=neo-tandem
8976758a055Smrg		;;
8986758a055Smrg	nse-tandem)
8996758a055Smrg		basic_machine=nse-tandem
9006758a055Smrg		;;
901cacd992dSmrg	nsr-tandem)
902cacd992dSmrg		basic_machine=nsr-tandem
903cacd992dSmrg		;;
904cacd992dSmrg	op50n-* | op60c-*)
905cacd992dSmrg		basic_machine=hppa1.1-oki
906cacd992dSmrg		os=-proelf
907cacd992dSmrg		;;
90814ddf674Smrg	openrisc | openrisc-*)
909cacd992dSmrg		basic_machine=or32-unknown
91014ddf674Smrg		;;
91114ddf674Smrg	os400)
91214ddf674Smrg		basic_machine=powerpc-ibm
91314ddf674Smrg		os=-os400
914cacd992dSmrg		;;
915cacd992dSmrg	OSE68000 | ose68000)
916cacd992dSmrg		basic_machine=m68000-ericsson
917cacd992dSmrg		os=-ose
918cacd992dSmrg		;;
919cacd992dSmrg	os68k)
920cacd992dSmrg		basic_machine=m68k-none
921cacd992dSmrg		os=-os68k
922cacd992dSmrg		;;
923cacd992dSmrg	pa-hitachi)
924cacd992dSmrg		basic_machine=hppa1.1-hitachi
925cacd992dSmrg		os=-hiuxwe2
926cacd992dSmrg		;;
927cacd992dSmrg	paragon)
928cacd992dSmrg		basic_machine=i860-intel
929cacd992dSmrg		os=-osf
930cacd992dSmrg		;;
93114ddf674Smrg	parisc)
93214ddf674Smrg		basic_machine=hppa-unknown
93314ddf674Smrg		os=-linux
93414ddf674Smrg		;;
93514ddf674Smrg	parisc-*)
93614ddf674Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
93714ddf674Smrg		os=-linux
93814ddf674Smrg		;;
939cacd992dSmrg	pbd)
940cacd992dSmrg		basic_machine=sparc-tti
941cacd992dSmrg		;;
942cacd992dSmrg	pbb)
943cacd992dSmrg		basic_machine=m68k-tti
944cacd992dSmrg		;;
945cacd992dSmrg	pc532 | pc532-*)
946cacd992dSmrg		basic_machine=ns32k-pc532
947cacd992dSmrg		;;
94814ddf674Smrg	pc98)
94914ddf674Smrg		basic_machine=i386-pc
95014ddf674Smrg		;;
95114ddf674Smrg	pc98-*)
95214ddf674Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
95314ddf674Smrg		;;
954cacd992dSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
955cacd992dSmrg		basic_machine=i586-pc
956cacd992dSmrg		;;
957cacd992dSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
958cacd992dSmrg		basic_machine=i686-pc
959cacd992dSmrg		;;
960cacd992dSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
961cacd992dSmrg		basic_machine=i686-pc
962cacd992dSmrg		;;
963cacd992dSmrg	pentium4)
964cacd992dSmrg		basic_machine=i786-pc
965cacd992dSmrg		;;
966cacd992dSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
967cacd992dSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
968cacd992dSmrg		;;
969cacd992dSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
970cacd992dSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
971cacd992dSmrg		;;
972cacd992dSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
973cacd992dSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
974cacd992dSmrg		;;
975cacd992dSmrg	pentium4-*)
976cacd992dSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
977cacd992dSmrg		;;
978cacd992dSmrg	pn)
979cacd992dSmrg		basic_machine=pn-gould
980cacd992dSmrg		;;
981cacd992dSmrg	power)	basic_machine=power-ibm
982cacd992dSmrg		;;
9836758a055Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
984cacd992dSmrg		;;
9856758a055Smrg	ppc-* | ppcbe-*)
9866758a055Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
987cacd992dSmrg		;;
988cacd992dSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
989cacd992dSmrg		basic_machine=powerpcle-unknown
990cacd992dSmrg		;;
991cacd992dSmrg	ppcle-* | powerpclittle-*)
992cacd992dSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
993cacd992dSmrg		;;
994cacd992dSmrg	ppc64)	basic_machine=powerpc64-unknown
995cacd992dSmrg		;;
996cacd992dSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
997cacd992dSmrg		;;
998cacd992dSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
999cacd992dSmrg		basic_machine=powerpc64le-unknown
1000cacd992dSmrg		;;
1001cacd992dSmrg	ppc64le-* | powerpc64little-*)
1002cacd992dSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1003cacd992dSmrg		;;
1004cacd992dSmrg	ps2)
1005cacd992dSmrg		basic_machine=i386-ibm
1006cacd992dSmrg		;;
1007cacd992dSmrg	pw32)
1008cacd992dSmrg		basic_machine=i586-unknown
1009cacd992dSmrg		os=-pw32
1010cacd992dSmrg		;;
101114ddf674Smrg	rdos)
101214ddf674Smrg		basic_machine=i386-pc
101314ddf674Smrg		os=-rdos
101414ddf674Smrg		;;
1015cacd992dSmrg	rom68k)
1016cacd992dSmrg		basic_machine=m68k-rom68k
1017cacd992dSmrg		os=-coff
1018cacd992dSmrg		;;
1019cacd992dSmrg	rm[46]00)
1020cacd992dSmrg		basic_machine=mips-siemens
1021cacd992dSmrg		;;
1022cacd992dSmrg	rtpc | rtpc-*)
1023cacd992dSmrg		basic_machine=romp-ibm
1024cacd992dSmrg		;;
102514ddf674Smrg	s390 | s390-*)
102614ddf674Smrg		basic_machine=s390-ibm
102714ddf674Smrg		;;
102814ddf674Smrg	s390x | s390x-*)
102914ddf674Smrg		basic_machine=s390x-ibm
103014ddf674Smrg		;;
1031cacd992dSmrg	sa29200)
1032cacd992dSmrg		basic_machine=a29k-amd
1033cacd992dSmrg		os=-udi
1034cacd992dSmrg		;;
1035cacd992dSmrg	sb1)
1036cacd992dSmrg		basic_machine=mipsisa64sb1-unknown
1037cacd992dSmrg		;;
1038cacd992dSmrg	sb1el)
1039cacd992dSmrg		basic_machine=mipsisa64sb1el-unknown
1040cacd992dSmrg		;;
104114ddf674Smrg	sde)
104214ddf674Smrg		basic_machine=mipsisa32-sde
104314ddf674Smrg		os=-elf
104414ddf674Smrg		;;
1045cacd992dSmrg	sei)
1046cacd992dSmrg		basic_machine=mips-sei
1047cacd992dSmrg		os=-seiux
1048cacd992dSmrg		;;
1049cacd992dSmrg	sequent)
1050cacd992dSmrg		basic_machine=i386-sequent
1051cacd992dSmrg		;;
1052cacd992dSmrg	sh)
1053cacd992dSmrg		basic_machine=sh-hitachi
1054cacd992dSmrg		os=-hms
1055cacd992dSmrg		;;
105614ddf674Smrg	sh5el)
105714ddf674Smrg		basic_machine=sh5le-unknown
105814ddf674Smrg		;;
1059cacd992dSmrg	sh64)
1060cacd992dSmrg		basic_machine=sh64-unknown
1061cacd992dSmrg		;;
1062cacd992dSmrg	sparclite-wrs | simso-wrs)
1063cacd992dSmrg		basic_machine=sparclite-wrs
1064cacd992dSmrg		os=-vxworks
1065cacd992dSmrg		;;
1066cacd992dSmrg	sps7)
1067cacd992dSmrg		basic_machine=m68k-bull
1068cacd992dSmrg		os=-sysv2
1069cacd992dSmrg		;;
1070cacd992dSmrg	spur)
1071cacd992dSmrg		basic_machine=spur-unknown
1072cacd992dSmrg		;;
1073cacd992dSmrg	st2000)
1074cacd992dSmrg		basic_machine=m68k-tandem
1075cacd992dSmrg		;;
1076cacd992dSmrg	stratus)
1077cacd992dSmrg		basic_machine=i860-stratus
1078cacd992dSmrg		os=-sysv4
1079cacd992dSmrg		;;
10806758a055Smrg	strongarm-* | thumb-*)
10816758a055Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
10826758a055Smrg		;;
1083cacd992dSmrg	sun2)
1084cacd992dSmrg		basic_machine=m68000-sun
1085cacd992dSmrg		;;
1086cacd992dSmrg	sun2os3)
1087cacd992dSmrg		basic_machine=m68000-sun
1088cacd992dSmrg		os=-sunos3
1089cacd992dSmrg		;;
1090cacd992dSmrg	sun2os4)
1091cacd992dSmrg		basic_machine=m68000-sun
1092cacd992dSmrg		os=-sunos4
1093cacd992dSmrg		;;
1094cacd992dSmrg	sun3os3)
1095cacd992dSmrg		basic_machine=m68k-sun
1096cacd992dSmrg		os=-sunos3
1097cacd992dSmrg		;;
1098cacd992dSmrg	sun3os4)
1099cacd992dSmrg		basic_machine=m68k-sun
1100cacd992dSmrg		os=-sunos4
1101cacd992dSmrg		;;
1102cacd992dSmrg	sun4os3)
1103cacd992dSmrg		basic_machine=sparc-sun
1104cacd992dSmrg		os=-sunos3
1105cacd992dSmrg		;;
1106cacd992dSmrg	sun4os4)
1107cacd992dSmrg		basic_machine=sparc-sun
1108cacd992dSmrg		os=-sunos4
1109cacd992dSmrg		;;
1110cacd992dSmrg	sun4sol2)
1111cacd992dSmrg		basic_machine=sparc-sun
1112cacd992dSmrg		os=-solaris2
1113cacd992dSmrg		;;
1114cacd992dSmrg	sun3 | sun3-*)
1115cacd992dSmrg		basic_machine=m68k-sun
1116cacd992dSmrg		;;
1117cacd992dSmrg	sun4)
1118cacd992dSmrg		basic_machine=sparc-sun
1119cacd992dSmrg		;;
1120cacd992dSmrg	sun386 | sun386i | roadrunner)
1121cacd992dSmrg		basic_machine=i386-sun
1122cacd992dSmrg		;;
1123cacd992dSmrg	sv1)
1124cacd992dSmrg		basic_machine=sv1-cray
1125cacd992dSmrg		os=-unicos
1126cacd992dSmrg		;;
1127cacd992dSmrg	symmetry)
1128cacd992dSmrg		basic_machine=i386-sequent
1129cacd992dSmrg		os=-dynix
1130cacd992dSmrg		;;
1131cacd992dSmrg	t3e)
1132cacd992dSmrg		basic_machine=alphaev5-cray
1133cacd992dSmrg		os=-unicos
1134cacd992dSmrg		;;
1135cacd992dSmrg	t90)
1136cacd992dSmrg		basic_machine=t90-cray
1137cacd992dSmrg		os=-unicos
1138cacd992dSmrg		;;
113914ddf674Smrg	tile*)
11406758a055Smrg		basic_machine=$basic_machine-unknown
114114ddf674Smrg		os=-linux-gnu
114214ddf674Smrg		;;
1143cacd992dSmrg	tx39)
1144cacd992dSmrg		basic_machine=mipstx39-unknown
1145cacd992dSmrg		;;
1146cacd992dSmrg	tx39el)
1147cacd992dSmrg		basic_machine=mipstx39el-unknown
1148cacd992dSmrg		;;
1149cacd992dSmrg	toad1)
1150cacd992dSmrg		basic_machine=pdp10-xkl
1151cacd992dSmrg		os=-tops20
1152cacd992dSmrg		;;
1153cacd992dSmrg	tower | tower-32)
1154cacd992dSmrg		basic_machine=m68k-ncr
1155cacd992dSmrg		;;
115614ddf674Smrg	tpf)
115714ddf674Smrg		basic_machine=s390x-ibm
115814ddf674Smrg		os=-tpf
115914ddf674Smrg		;;
1160cacd992dSmrg	udi29k)
1161cacd992dSmrg		basic_machine=a29k-amd
1162cacd992dSmrg		os=-udi
1163cacd992dSmrg		;;
1164cacd992dSmrg	ultra3)
1165cacd992dSmrg		basic_machine=a29k-nyu
1166cacd992dSmrg		os=-sym1
1167cacd992dSmrg		;;
1168cacd992dSmrg	v810 | necv810)
1169cacd992dSmrg		basic_machine=v810-nec
1170cacd992dSmrg		os=-none
1171cacd992dSmrg		;;
1172cacd992dSmrg	vaxv)
1173cacd992dSmrg		basic_machine=vax-dec
1174cacd992dSmrg		os=-sysv
1175cacd992dSmrg		;;
1176cacd992dSmrg	vms)
1177cacd992dSmrg		basic_machine=vax-dec
1178cacd992dSmrg		os=-vms
1179cacd992dSmrg		;;
1180cacd992dSmrg	vpp*|vx|vx-*)
1181cacd992dSmrg		basic_machine=f301-fujitsu
1182cacd992dSmrg		;;
1183cacd992dSmrg	vxworks960)
1184cacd992dSmrg		basic_machine=i960-wrs
1185cacd992dSmrg		os=-vxworks
1186cacd992dSmrg		;;
1187cacd992dSmrg	vxworks68)
1188cacd992dSmrg		basic_machine=m68k-wrs
1189cacd992dSmrg		os=-vxworks
1190cacd992dSmrg		;;
1191cacd992dSmrg	vxworks29k)
1192cacd992dSmrg		basic_machine=a29k-wrs
1193cacd992dSmrg		os=-vxworks
1194cacd992dSmrg		;;
1195cacd992dSmrg	w65*)
1196cacd992dSmrg		basic_machine=w65-wdc
1197cacd992dSmrg		os=-none
1198cacd992dSmrg		;;
1199cacd992dSmrg	w89k-*)
1200cacd992dSmrg		basic_machine=hppa1.1-winbond
1201cacd992dSmrg		os=-proelf
1202cacd992dSmrg		;;
120314ddf674Smrg	xbox)
120414ddf674Smrg		basic_machine=i686-pc
120514ddf674Smrg		os=-mingw32
120614ddf674Smrg		;;
1207cacd992dSmrg	xps | xps100)
1208cacd992dSmrg		basic_machine=xps100-honeywell
1209cacd992dSmrg		;;
12106758a055Smrg	xscale-* | xscalee[bl]-*)
12116758a055Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12126758a055Smrg		;;
1213cacd992dSmrg	ymp)
1214cacd992dSmrg		basic_machine=ymp-cray
1215cacd992dSmrg		os=-unicos
1216cacd992dSmrg		;;
1217cacd992dSmrg	z8k-*-coff)
1218cacd992dSmrg		basic_machine=z8k-unknown
1219cacd992dSmrg		os=-sim
1220cacd992dSmrg		;;
122114ddf674Smrg	z80-*-coff)
122214ddf674Smrg		basic_machine=z80-unknown
122314ddf674Smrg		os=-sim
122414ddf674Smrg		;;
1225cacd992dSmrg	none)
1226cacd992dSmrg		basic_machine=none-none
1227cacd992dSmrg		os=-none
1228cacd992dSmrg		;;
1229cacd992dSmrg
1230cacd992dSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
1231cacd992dSmrg# some cases the only manufacturer, in others, it is the most popular.
1232cacd992dSmrg	w89k)
1233cacd992dSmrg		basic_machine=hppa1.1-winbond
1234cacd992dSmrg		;;
1235cacd992dSmrg	op50n)
1236cacd992dSmrg		basic_machine=hppa1.1-oki
1237cacd992dSmrg		;;
1238cacd992dSmrg	op60c)
1239cacd992dSmrg		basic_machine=hppa1.1-oki
1240cacd992dSmrg		;;
1241cacd992dSmrg	romp)
1242cacd992dSmrg		basic_machine=romp-ibm
1243cacd992dSmrg		;;
124414ddf674Smrg	mmix)
124514ddf674Smrg		basic_machine=mmix-knuth
124614ddf674Smrg		;;
1247cacd992dSmrg	rs6000)
1248cacd992dSmrg		basic_machine=rs6000-ibm
1249cacd992dSmrg		;;
1250cacd992dSmrg	vax)
1251cacd992dSmrg		basic_machine=vax-dec
1252cacd992dSmrg		;;
1253cacd992dSmrg	pdp10)
1254cacd992dSmrg		# there are many clones, so DEC is not a safe bet
1255cacd992dSmrg		basic_machine=pdp10-unknown
1256cacd992dSmrg		;;
1257cacd992dSmrg	pdp11)
1258cacd992dSmrg		basic_machine=pdp11-dec
1259cacd992dSmrg		;;
1260cacd992dSmrg	we32k)
1261cacd992dSmrg		basic_machine=we32k-att
1262cacd992dSmrg		;;
126314ddf674Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1264cacd992dSmrg		basic_machine=sh-unknown
1265cacd992dSmrg		;;
126614ddf674Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1267cacd992dSmrg		basic_machine=sparc-sun
1268cacd992dSmrg		;;
1269cacd992dSmrg	cydra)
1270cacd992dSmrg		basic_machine=cydra-cydrome
1271cacd992dSmrg		;;
1272cacd992dSmrg	orion)
1273cacd992dSmrg		basic_machine=orion-highlevel
1274cacd992dSmrg		;;
1275cacd992dSmrg	orion105)
1276cacd992dSmrg		basic_machine=clipper-highlevel
1277cacd992dSmrg		;;
1278cacd992dSmrg	mac | mpw | mac-mpw)
1279cacd992dSmrg		basic_machine=m68k-apple
1280cacd992dSmrg		;;
1281cacd992dSmrg	pmac | pmac-mpw)
1282cacd992dSmrg		basic_machine=powerpc-apple
1283cacd992dSmrg		;;
1284cacd992dSmrg	*-unknown)
1285cacd992dSmrg		# Make sure to match an already-canonicalized machine name.
1286cacd992dSmrg		;;
1287cacd992dSmrg	*)
1288cacd992dSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1289cacd992dSmrg		exit 1
1290cacd992dSmrg		;;
1291cacd992dSmrgesac
1292cacd992dSmrg
1293cacd992dSmrg# Here we canonicalize certain aliases for manufacturers.
1294cacd992dSmrgcase $basic_machine in
1295cacd992dSmrg	*-digital*)
1296cacd992dSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1297cacd992dSmrg		;;
1298cacd992dSmrg	*-commodore*)
1299cacd992dSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1300cacd992dSmrg		;;
1301cacd992dSmrg	*)
1302cacd992dSmrg		;;
1303cacd992dSmrgesac
1304cacd992dSmrg
1305cacd992dSmrg# Decode manufacturer-specific aliases for certain operating systems.
1306cacd992dSmrg
1307cacd992dSmrgif [ x"$os" != x"" ]
1308cacd992dSmrgthen
1309cacd992dSmrgcase $os in
13106758a055Smrg	# First match some system type aliases
13116758a055Smrg	# that might get confused with valid system types.
1312cacd992dSmrg	# -solaris* is a basic system type, with this one exception.
13136758a055Smrg	-auroraux)
13146758a055Smrg		os=-auroraux
131514ddf674Smrg		;;
1316cacd992dSmrg	-solaris1 | -solaris1.*)
1317cacd992dSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1318cacd992dSmrg		;;
1319cacd992dSmrg	-solaris)
1320cacd992dSmrg		os=-solaris2
1321cacd992dSmrg		;;
1322cacd992dSmrg	-svr4*)
1323cacd992dSmrg		os=-sysv4
1324cacd992dSmrg		;;
1325cacd992dSmrg	-unixware*)
1326cacd992dSmrg		os=-sysv4.2uw
1327cacd992dSmrg		;;
1328cacd992dSmrg	-gnu/linux*)
1329cacd992dSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1330cacd992dSmrg		;;
1331cacd992dSmrg	# First accept the basic system types.
1332cacd992dSmrg	# The portable systems comes first.
1333cacd992dSmrg	# Each alternative MUST END IN A *, to match a version number.
1334cacd992dSmrg	# -sysv* is not here because it comes later, after sysvr4.
1335cacd992dSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
133614ddf674Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
133714ddf674Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
133814ddf674Smrg	      | -sym* | -kopensolaris* \
1339cacd992dSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
134014ddf674Smrg	      | -aos* | -aros* \
1341cacd992dSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1342cacd992dSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
134314ddf674Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
134414ddf674Smrg	      | -openbsd* | -solidbsd* \
134514ddf674Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
134614ddf674Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1347cacd992dSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1348cacd992dSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
134914ddf674Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13506758a055Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13516758a055Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13526758a055Smrg	      | -linux-newlib* | -linux-uclibc* \
135314ddf674Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1354cacd992dSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1355cacd992dSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1356cacd992dSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1357cacd992dSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1358cacd992dSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
135914ddf674Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
136014ddf674Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1361cacd992dSmrg	# Remember, each alternative MUST END IN *, to match a version number.
1362cacd992dSmrg		;;
1363cacd992dSmrg	-qnx*)
1364cacd992dSmrg		case $basic_machine in
1365cacd992dSmrg		    x86-* | i*86-*)
1366cacd992dSmrg			;;
1367cacd992dSmrg		    *)
1368cacd992dSmrg			os=-nto$os
1369cacd992dSmrg			;;
1370cacd992dSmrg		esac
1371cacd992dSmrg		;;
1372cacd992dSmrg	-nto-qnx*)
1373cacd992dSmrg		;;
1374cacd992dSmrg	-nto*)
1375cacd992dSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1376cacd992dSmrg		;;
1377cacd992dSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
137814ddf674Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1379cacd992dSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1380cacd992dSmrg		;;
1381cacd992dSmrg	-mac*)
1382cacd992dSmrg		os=`echo $os | sed -e 's|mac|macos|'`
1383cacd992dSmrg		;;
138414ddf674Smrg	-linux-dietlibc)
138514ddf674Smrg		os=-linux-dietlibc
138614ddf674Smrg		;;
1387cacd992dSmrg	-linux*)
1388cacd992dSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1389cacd992dSmrg		;;
1390cacd992dSmrg	-sunos5*)
1391cacd992dSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1392cacd992dSmrg		;;
1393cacd992dSmrg	-sunos6*)
1394cacd992dSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1395cacd992dSmrg		;;
1396cacd992dSmrg	-opened*)
1397cacd992dSmrg		os=-openedition
1398cacd992dSmrg		;;
13996758a055Smrg	-os400*)
140014ddf674Smrg		os=-os400
140114ddf674Smrg		;;
1402cacd992dSmrg	-wince*)
1403cacd992dSmrg		os=-wince
1404cacd992dSmrg		;;
1405cacd992dSmrg	-osfrose*)
1406cacd992dSmrg		os=-osfrose
1407cacd992dSmrg		;;
1408cacd992dSmrg	-osf*)
1409cacd992dSmrg		os=-osf
1410cacd992dSmrg		;;
1411cacd992dSmrg	-utek*)
1412cacd992dSmrg		os=-bsd
1413cacd992dSmrg		;;
1414cacd992dSmrg	-dynix*)
1415cacd992dSmrg		os=-bsd
1416cacd992dSmrg		;;
1417cacd992dSmrg	-acis*)
1418cacd992dSmrg		os=-aos
1419cacd992dSmrg		;;
1420cacd992dSmrg	-atheos*)
1421cacd992dSmrg		os=-atheos
1422cacd992dSmrg		;;
142314ddf674Smrg	-syllable*)
142414ddf674Smrg		os=-syllable
142514ddf674Smrg		;;
1426cacd992dSmrg	-386bsd)
1427cacd992dSmrg		os=-bsd
1428cacd992dSmrg		;;
1429cacd992dSmrg	-ctix* | -uts*)
1430cacd992dSmrg		os=-sysv
1431cacd992dSmrg		;;
1432cacd992dSmrg	-nova*)
1433cacd992dSmrg		os=-rtmk-nova
1434cacd992dSmrg		;;
1435cacd992dSmrg	-ns2 )
1436cacd992dSmrg		os=-nextstep2
1437cacd992dSmrg		;;
1438cacd992dSmrg	-nsk*)
1439cacd992dSmrg		os=-nsk
1440cacd992dSmrg		;;
1441cacd992dSmrg	# Preserve the version number of sinix5.
1442cacd992dSmrg	-sinix5.*)
1443cacd992dSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1444cacd992dSmrg		;;
1445cacd992dSmrg	-sinix*)
1446cacd992dSmrg		os=-sysv4
1447cacd992dSmrg		;;
14486758a055Smrg	-tpf*)
144914ddf674Smrg		os=-tpf
145014ddf674Smrg		;;
1451cacd992dSmrg	-triton*)
1452cacd992dSmrg		os=-sysv3
1453cacd992dSmrg		;;
1454cacd992dSmrg	-oss*)
1455cacd992dSmrg		os=-sysv3
1456cacd992dSmrg		;;
1457cacd992dSmrg	-svr4)
1458cacd992dSmrg		os=-sysv4
1459cacd992dSmrg		;;
1460cacd992dSmrg	-svr3)
1461cacd992dSmrg		os=-sysv3
1462cacd992dSmrg		;;
1463cacd992dSmrg	-sysvr4)
1464cacd992dSmrg		os=-sysv4
1465cacd992dSmrg		;;
1466cacd992dSmrg	# This must come after -sysvr4.
1467cacd992dSmrg	-sysv*)
1468cacd992dSmrg		;;
1469cacd992dSmrg	-ose*)
1470cacd992dSmrg		os=-ose
1471cacd992dSmrg		;;
1472cacd992dSmrg	-es1800*)
1473cacd992dSmrg		os=-ose
1474cacd992dSmrg		;;
1475cacd992dSmrg	-xenix)
1476cacd992dSmrg		os=-xenix
1477cacd992dSmrg		;;
1478cacd992dSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1479cacd992dSmrg		os=-mint
1480cacd992dSmrg		;;
1481cacd992dSmrg	-aros*)
1482cacd992dSmrg		os=-aros
1483cacd992dSmrg		;;
1484cacd992dSmrg	-kaos*)
1485cacd992dSmrg		os=-kaos
1486cacd992dSmrg		;;
148714ddf674Smrg	-zvmoe)
148814ddf674Smrg		os=-zvmoe
148914ddf674Smrg		;;
149014ddf674Smrg	-dicos*)
149114ddf674Smrg		os=-dicos
149214ddf674Smrg		;;
14936758a055Smrg	-nacl*)
14946758a055Smrg		;;
1495cacd992dSmrg	-none)
1496cacd992dSmrg		;;
1497cacd992dSmrg	*)
1498cacd992dSmrg		# Get rid of the `-' at the beginning of $os.
1499cacd992dSmrg		os=`echo $os | sed 's/[^-]*-//'`
1500cacd992dSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1501cacd992dSmrg		exit 1
1502cacd992dSmrg		;;
1503cacd992dSmrgesac
1504cacd992dSmrgelse
1505cacd992dSmrg
1506cacd992dSmrg# Here we handle the default operating systems that come with various machines.
1507cacd992dSmrg# The value should be what the vendor currently ships out the door with their
1508cacd992dSmrg# machine or put another way, the most popular os provided with the machine.
1509cacd992dSmrg
1510cacd992dSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1511cacd992dSmrg# "-sun"), then you have to tell the case statement up towards the top
1512cacd992dSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1513cacd992dSmrg# will signal an error saying that MANUFACTURER isn't an operating
1514cacd992dSmrg# system, and we'll never get to this point.
1515cacd992dSmrg
1516cacd992dSmrgcase $basic_machine in
15176758a055Smrg	score-*)
151814ddf674Smrg		os=-elf
151914ddf674Smrg		;;
15206758a055Smrg	spu-*)
152114ddf674Smrg		os=-elf
152214ddf674Smrg		;;
1523cacd992dSmrg	*-acorn)
1524cacd992dSmrg		os=-riscix1.2
1525cacd992dSmrg		;;
1526cacd992dSmrg	arm*-rebel)
1527cacd992dSmrg		os=-linux
1528cacd992dSmrg		;;
1529cacd992dSmrg	arm*-semi)
1530cacd992dSmrg		os=-aout
1531cacd992dSmrg		;;
15326758a055Smrg	c4x-* | tic4x-*)
15336758a055Smrg		os=-coff
15346758a055Smrg		;;
15356758a055Smrg	tic54x-*)
15366758a055Smrg		os=-coff
15376758a055Smrg		;;
15386758a055Smrg	tic55x-*)
15396758a055Smrg		os=-coff
15406758a055Smrg		;;
15416758a055Smrg	tic6x-*)
15426758a055Smrg		os=-coff
1543cacd992dSmrg		;;
1544cacd992dSmrg	# This must come before the *-dec entry.
1545cacd992dSmrg	pdp10-*)
1546cacd992dSmrg		os=-tops20
1547cacd992dSmrg		;;
1548cacd992dSmrg	pdp11-*)
1549cacd992dSmrg		os=-none
1550cacd992dSmrg		;;
1551cacd992dSmrg	*-dec | vax-*)
1552cacd992dSmrg		os=-ultrix4.2
1553cacd992dSmrg		;;
1554cacd992dSmrg	m68*-apollo)
1555cacd992dSmrg		os=-domain
1556cacd992dSmrg		;;
1557cacd992dSmrg	i386-sun)
1558cacd992dSmrg		os=-sunos4.0.2
1559cacd992dSmrg		;;
1560cacd992dSmrg	m68000-sun)
1561cacd992dSmrg		os=-sunos3
1562cacd992dSmrg		# This also exists in the configure program, but was not the
1563cacd992dSmrg		# default.
1564cacd992dSmrg		# os=-sunos4
1565cacd992dSmrg		;;
1566cacd992dSmrg	m68*-cisco)
1567cacd992dSmrg		os=-aout
1568cacd992dSmrg		;;
15696758a055Smrg	mep-*)
157014ddf674Smrg		os=-elf
157114ddf674Smrg		;;
1572cacd992dSmrg	mips*-cisco)
1573cacd992dSmrg		os=-elf
1574cacd992dSmrg		;;
1575cacd992dSmrg	mips*-*)
1576cacd992dSmrg		os=-elf
1577cacd992dSmrg		;;
1578cacd992dSmrg	or32-*)
1579cacd992dSmrg		os=-coff
1580cacd992dSmrg		;;
1581cacd992dSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
1582cacd992dSmrg		os=-sysv3
1583cacd992dSmrg		;;
1584cacd992dSmrg	sparc-* | *-sun)
1585cacd992dSmrg		os=-sunos4.1.1
1586cacd992dSmrg		;;
1587cacd992dSmrg	*-be)
1588cacd992dSmrg		os=-beos
1589cacd992dSmrg		;;
159014ddf674Smrg	*-haiku)
159114ddf674Smrg		os=-haiku
159214ddf674Smrg		;;
1593cacd992dSmrg	*-ibm)
1594cacd992dSmrg		os=-aix
1595cacd992dSmrg		;;
15966758a055Smrg	*-knuth)
159714ddf674Smrg		os=-mmixware
159814ddf674Smrg		;;
1599cacd992dSmrg	*-wec)
1600cacd992dSmrg		os=-proelf
1601cacd992dSmrg		;;
1602cacd992dSmrg	*-winbond)
1603cacd992dSmrg		os=-proelf
1604cacd992dSmrg		;;
1605cacd992dSmrg	*-oki)
1606cacd992dSmrg		os=-proelf
1607cacd992dSmrg		;;
1608cacd992dSmrg	*-hp)
1609cacd992dSmrg		os=-hpux
1610cacd992dSmrg		;;
1611cacd992dSmrg	*-hitachi)
1612cacd992dSmrg		os=-hiux
1613cacd992dSmrg		;;
1614cacd992dSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1615cacd992dSmrg		os=-sysv
1616cacd992dSmrg		;;
1617cacd992dSmrg	*-cbm)
1618cacd992dSmrg		os=-amigaos
1619cacd992dSmrg		;;
1620cacd992dSmrg	*-dg)
1621cacd992dSmrg		os=-dgux
1622cacd992dSmrg		;;
1623cacd992dSmrg	*-dolphin)
1624cacd992dSmrg		os=-sysv3
1625cacd992dSmrg		;;
1626cacd992dSmrg	m68k-ccur)
1627cacd992dSmrg		os=-rtu
1628cacd992dSmrg		;;
1629cacd992dSmrg	m88k-omron*)
1630cacd992dSmrg		os=-luna
1631cacd992dSmrg		;;
1632cacd992dSmrg	*-next )
1633cacd992dSmrg		os=-nextstep
1634cacd992dSmrg		;;
1635cacd992dSmrg	*-sequent)
1636cacd992dSmrg		os=-ptx
1637cacd992dSmrg		;;
1638cacd992dSmrg	*-crds)
1639cacd992dSmrg		os=-unos
1640cacd992dSmrg		;;
1641cacd992dSmrg	*-ns)
1642cacd992dSmrg		os=-genix
1643cacd992dSmrg		;;
1644cacd992dSmrg	i370-*)
1645cacd992dSmrg		os=-mvs
1646cacd992dSmrg		;;
1647cacd992dSmrg	*-next)
1648cacd992dSmrg		os=-nextstep3
1649cacd992dSmrg		;;
1650cacd992dSmrg	*-gould)
1651cacd992dSmrg		os=-sysv
1652cacd992dSmrg		;;
1653cacd992dSmrg	*-highlevel)
1654cacd992dSmrg		os=-bsd
1655cacd992dSmrg		;;
1656cacd992dSmrg	*-encore)
1657cacd992dSmrg		os=-bsd
1658cacd992dSmrg		;;
1659cacd992dSmrg	*-sgi)
1660cacd992dSmrg		os=-irix
1661cacd992dSmrg		;;
1662cacd992dSmrg	*-siemens)
1663cacd992dSmrg		os=-sysv4
1664cacd992dSmrg		;;
1665cacd992dSmrg	*-masscomp)
1666cacd992dSmrg		os=-rtu
1667cacd992dSmrg		;;
1668cacd992dSmrg	f30[01]-fujitsu | f700-fujitsu)
1669cacd992dSmrg		os=-uxpv
1670cacd992dSmrg		;;
1671cacd992dSmrg	*-rom68k)
1672cacd992dSmrg		os=-coff
1673cacd992dSmrg		;;
1674cacd992dSmrg	*-*bug)
1675cacd992dSmrg		os=-coff
1676cacd992dSmrg		;;
1677cacd992dSmrg	*-apple)
1678cacd992dSmrg		os=-macos
1679cacd992dSmrg		;;
1680cacd992dSmrg	*-atari*)
1681cacd992dSmrg		os=-mint
1682cacd992dSmrg		;;
1683cacd992dSmrg	*)
1684cacd992dSmrg		os=-none
1685cacd992dSmrg		;;
1686cacd992dSmrgesac
1687cacd992dSmrgfi
1688cacd992dSmrg
1689cacd992dSmrg# Here we handle the case where we know the os, and the CPU type, but not the
1690cacd992dSmrg# manufacturer.  We pick the logical manufacturer.
1691cacd992dSmrgvendor=unknown
1692cacd992dSmrgcase $basic_machine in
1693cacd992dSmrg	*-unknown)
1694cacd992dSmrg		case $os in
1695cacd992dSmrg			-riscix*)
1696cacd992dSmrg				vendor=acorn
1697cacd992dSmrg				;;
1698cacd992dSmrg			-sunos*)
1699cacd992dSmrg				vendor=sun
1700cacd992dSmrg				;;
170114ddf674Smrg			-cnk*|-aix*)
1702cacd992dSmrg				vendor=ibm
1703cacd992dSmrg				;;
1704cacd992dSmrg			-beos*)
1705cacd992dSmrg				vendor=be
1706cacd992dSmrg				;;
1707cacd992dSmrg			-hpux*)
1708cacd992dSmrg				vendor=hp
1709cacd992dSmrg				;;
1710cacd992dSmrg			-mpeix*)
1711cacd992dSmrg				vendor=hp
1712cacd992dSmrg				;;
1713cacd992dSmrg			-hiux*)
1714cacd992dSmrg				vendor=hitachi
1715cacd992dSmrg				;;
1716cacd992dSmrg			-unos*)
1717cacd992dSmrg				vendor=crds
1718cacd992dSmrg				;;
1719cacd992dSmrg			-dgux*)
1720cacd992dSmrg				vendor=dg
1721cacd992dSmrg				;;
1722cacd992dSmrg			-luna*)
1723cacd992dSmrg				vendor=omron
1724cacd992dSmrg				;;
1725cacd992dSmrg			-genix*)
1726cacd992dSmrg				vendor=ns
1727cacd992dSmrg				;;
1728cacd992dSmrg			-mvs* | -opened*)
1729cacd992dSmrg				vendor=ibm
1730cacd992dSmrg				;;
173114ddf674Smrg			-os400*)
173214ddf674Smrg				vendor=ibm
173314ddf674Smrg				;;
1734cacd992dSmrg			-ptx*)
1735cacd992dSmrg				vendor=sequent
1736cacd992dSmrg				;;
173714ddf674Smrg			-tpf*)
173814ddf674Smrg				vendor=ibm
173914ddf674Smrg				;;
1740cacd992dSmrg			-vxsim* | -vxworks* | -windiss*)
1741cacd992dSmrg				vendor=wrs
1742cacd992dSmrg				;;
1743cacd992dSmrg			-aux*)
1744cacd992dSmrg				vendor=apple
1745cacd992dSmrg				;;
1746cacd992dSmrg			-hms*)
1747cacd992dSmrg				vendor=hitachi
1748cacd992dSmrg				;;
1749cacd992dSmrg			-mpw* | -macos*)
1750cacd992dSmrg				vendor=apple
1751cacd992dSmrg				;;
1752cacd992dSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1753cacd992dSmrg				vendor=atari
1754cacd992dSmrg				;;
1755cacd992dSmrg			-vos*)
1756cacd992dSmrg				vendor=stratus
1757cacd992dSmrg				;;
1758cacd992dSmrg		esac
1759cacd992dSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1760cacd992dSmrg		;;
1761cacd992dSmrgesac
1762cacd992dSmrg
1763cacd992dSmrgecho $basic_machine$os
176414ddf674Smrgexit
1765cacd992dSmrg
1766cacd992dSmrg# Local variables:
1767cacd992dSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1768cacd992dSmrg# time-stamp-start: "timestamp='"
1769cacd992dSmrg# time-stamp-format: "%:y-%02m-%02d"
1770cacd992dSmrg# time-stamp-end: "'"
1771cacd992dSmrg# End:
1772