]> git.ipfire.org Git - thirdparty/glibc.git/blame - scripts/config.sub
Unlock mutex before going back to waiting for PI mutexes
[thirdparty/glibc.git] / scripts / config.sub
CommitLineData
28f540f4 1#! /bin/sh
98f8cdf0 2# Configuration validation subroutine script.
13895d1d 3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
607998af
CM
4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5# 2011, 2012 Free Software Foundation, Inc.
3bc88c40 6
607998af 7timestamp='2012-01-28'
3bc88c40 8
28f540f4
RM
9# This file is (in principle) common to ALL GNU software.
10# The presence of a machine in this file suggests that SOME GNU software
01fec49c 11# can handle that machine. It does not imply ALL GNU software can.
28f540f4
RM
12#
13# This file is free software; you can redistribute it and/or modify
14# it under the terms of the GNU General Public License as published by
15# the Free Software Foundation; either version 2 of the License, or
16# (at your option) any later version.
17#
18# This program is distributed in the hope that it will be useful,
19# but WITHOUT ANY WARRANTY; without even the implied warranty of
20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21# GNU General Public License for more details.
22#
23# You should have received a copy of the GNU General Public License
24# along with this program; if not, write to the Free Software
62f6b9b2
RM
25# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26# 02110-1301, USA.
27#
28f540f4
RM
28# As a special exception to the GNU General Public License, if you
29# distribute this file as part of a program that contains a
30# configuration script generated by Autoconf, you may include it under
31# the same distribution terms that you use for the rest of that program.
32
62f6b9b2 33
13895d1d 34# Please send patches to <config-patches@gnu.org>. Submit a context
c84cfef4 35# diff and a properly formatted GNU ChangeLog entry.
7626e16c 36#
28f540f4
RM
37# Configuration subroutine to validate and canonicalize a configuration type.
38# Supply the specified configuration type as an argument.
39# If it is invalid, we print an error message on stderr and exit with code 1.
40# Otherwise, we print the canonical config type on stdout and succeed.
41
c84cfef4
UD
42# You can get the latest version of this script from:
43# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44
28f540f4
RM
45# This file is supposed to be the same for all GNU packages
46# and recognize all the CPU types, system types and aliases
47# that are meaningful with *any* GNU software.
48# Each package is responsible for reporting which valid configurations
49# it does not support. The user should be able to distinguish
50# a failure to support a valid configuration from a meaningless
51# configuration.
52
53# The goal of this file is to map all the various variations of a given
54# machine specification into a single specification in the form:
55# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
cd136c56
RK
56# or in some cases, the newer four-part form:
57# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
28f540f4
RM
58# It is wrong to echo any other type of specification.
59
3bc88c40 60me=`echo "$0" | sed -e 's,.*/,,'`
28f540f4 61
3bc88c40
AJ
62usage="\
63Usage: $0 [OPTION] CPU-MFR-OPSYS
64 $0 [OPTION] ALIAS
65
66Canonicalize a configuration name.
67
68Operation modes:
98f8cdf0
AJ
69 -h, --help print this help, then exit
70 -t, --time-stamp print date of last modification, then exit
71 -v, --version print version number, then exit
72
73Report bugs and patches to <config-patches@gnu.org>."
74
75version="\
76GNU config.sub ($timestamp)
77
c84cfef4 78Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
607998af
CM
792001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
80Free Software Foundation, Inc.
98f8cdf0
AJ
81
82This is free software; see the source for copying conditions. There is NO
83warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
3bc88c40
AJ
84
85help="
86Try \`$me --help' for more information."
87
88# Parse command line
89while test $# -gt 0 ; do
98f8cdf0
AJ
90 case $1 in
91 --time-stamp | --time* | -t )
62f6b9b2 92 echo "$timestamp" ; exit ;;
98f8cdf0 93 --version | -v )
62f6b9b2 94 echo "$version" ; exit ;;
3bc88c40 95 --help | --h* | -h )
62f6b9b2 96 echo "$usage"; exit ;;
3bc88c40
AJ
97 -- ) # Stop option processing
98 shift; break ;;
99 - ) # Use stdin as input.
100 break ;;
101 -* )
98f8cdf0 102 echo "$me: invalid option $1$help"
3bc88c40
AJ
103 exit 1 ;;
104
105 *local*)
106 # First pass through any local machine types.
107 echo $1
62f6b9b2 108 exit ;;
3bc88c40
AJ
109
110 * )
111 break ;;
112 esac
113done
114
115case $# in
116 0) echo "$me: missing argument$help" >&2
117 exit 1;;
118 1) ;;
119 *) echo "$me: too many arguments$help" >&2
120 exit 1;;
28f540f4
RM
121esac
122
cd136c56
RK
123# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124# Here we must recognize all the valid KERNEL-OS combinations.
125maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126case $maybe_os in
c84cfef4
UD
127 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128 linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129 knetbsd*-gnu* | netbsd*-gnu* | \
130 kopensolaris*-gnu* | \
62f6b9b2 131 storm-chaos* | os2-emx* | rtmk-nova*)
cd136c56
RK
132 os=-$maybe_os
133 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134 ;;
607998af
CM
135 android-linux)
136 os=-linux-android
137 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
138 ;;
cd136c56
RK
139 *)
140 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
141 if [ $basic_machine != $1 ]
142 then os=`echo $1 | sed 's/.*-/-/'`
143 else os=; fi
144 ;;
145esac
28f540f4
RM
146
147### Let's recognize common machines as not being operating systems so
148### that things like config.sub decstation-3100 work. We also
149### recognize some manufacturers as not being operating systems, so we
150### can provide default operating systems below.
151case $os in
152 -sun*os*)
153 # Prevent following clause from handling this invalid input.
154 ;;
155 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
156 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
157 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
158 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
159 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
b49d86bd 160 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
c84cfef4 161 -apple | -axis | -knuth | -cray | -microblaze)
28f540f4
RM
162 os=
163 basic_machine=$1
164 ;;
bac102db
UD
165 -bluegene*)
166 os=-cnk
c84cfef4 167 ;;
19b6575a
UD
168 -sim | -cisco | -oki | -wec | -winbond)
169 os=
170 basic_machine=$1
171 ;;
172 -scout)
173 ;;
174 -wrs)
4d3a563f 175 os=-vxworks
19b6575a
UD
176 basic_machine=$1
177 ;;
13895d1d
AJ
178 -chorusos*)
179 os=-chorusos
180 basic_machine=$1
181 ;;
bac102db
UD
182 -chorusrdb)
183 os=-chorusrdb
13895d1d 184 basic_machine=$1
bac102db 185 ;;
28f540f4
RM
186 -hiux*)
187 os=-hiuxwe2
188 ;;
62f6b9b2
RM
189 -sco6)
190 os=-sco5v6
191 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192 ;;
d008bcf3 193 -sco5)
19b6575a 194 os=-sco3.2v5
cd136c56 195 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
d008bcf3 196 ;;
28f540f4
RM
197 -sco4)
198 os=-sco3.2v4
cd136c56 199 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
28f540f4
RM
200 ;;
201 -sco3.2.[4-9]*)
202 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
cd136c56 203 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
28f540f4
RM
204 ;;
205 -sco3.2v[4-9]*)
206 # Don't forget version if it is 3.2v4 or newer.
cd136c56 207 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
28f540f4 208 ;;
62f6b9b2
RM
209 -sco5v6*)
210 # Don't forget version if it is 3.2v4 or newer.
211 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212 ;;
28f540f4
RM
213 -sco*)
214 os=-sco3.2v2
cd136c56 215 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
28f540f4 216 ;;
19b6575a
UD
217 -udk*)
218 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219 ;;
28f540f4
RM
220 -isc)
221 os=-isc2.2
cd136c56 222 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
28f540f4
RM
223 ;;
224 -clix*)
225 basic_machine=clipper-intergraph
226 ;;
227 -isc*)
cd136c56 228 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
28f540f4 229 ;;
a06b1633 230 -lynx*)
28f540f4
RM
231 os=-lynxos
232 ;;
233 -ptx*)
234 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
235 ;;
236 -windowsnt*)
237 os=`echo $os | sed -e 's/windowsnt/winnt/'`
238 ;;
3038e601
RK
239 -psos*)
240 os=-psos
241 ;;
4d3a563f
UD
242 -mint | -mint[0-9]*)
243 basic_machine=m68k-atari
244 os=-mint
245 ;;
28f540f4
RM
246esac
247
248# Decode aliases for certain CPU-COMPANY combinations.
249case $basic_machine in
250 # Recognize the basic CPU types without company name.
251 # Some are omitted here because they have special meanings below.
13895d1d
AJ
252 1750a | 580 \
253 | a29k \
254 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
255 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
ecc26467 256 | am33_2.0 \
c84cfef4 257 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
607998af 258 | be32 | be64 \
572028fa 259 | bfin \
ecc26467 260 | c4x | clipper \
13895d1d 261 | d10v | d30v | dlx | dsp16xx \
607998af 262 | epiphany \
c84cfef4 263 | fido | fr30 | frv \
13895d1d 264 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
607998af 265 | hexagon \
13895d1d 266 | i370 | i860 | i960 | ia64 \
ecc26467 267 | ip2k | iq2000 \
607998af 268 | le32 | le64 \
c84cfef4
UD
269 | lm32 \
270 | m32c | m32r | m32rle | m68000 | m68k | m88k \
271 | maxq | mb | microblaze | mcore | mep | metag \
13895d1d
AJ
272 | mips | mipsbe | mipseb | mipsel | mipsle \
273 | mips16 \
274 | mips64 | mips64el \
c84cfef4 275 | mips64octeon | mips64octeonel \
13895d1d 276 | mips64orion | mips64orionel \
c84cfef4
UD
277 | mips64r5900 | mips64r5900el \
278 | mips64vr | mips64vrel \
13895d1d
AJ
279 | mips64vr4100 | mips64vr4100el \
280 | mips64vr4300 | mips64vr4300el \
281 | mips64vr5000 | mips64vr5000el \
62f6b9b2 282 | mips64vr5900 | mips64vr5900el \
13895d1d 283 | mipsisa32 | mipsisa32el \
5d4f57bd 284 | mipsisa32r2 | mipsisa32r2el \
13895d1d 285 | mipsisa64 | mipsisa64el \
ecc26467 286 | mipsisa64r2 | mipsisa64r2el \
13895d1d 287 | mipsisa64sb1 | mipsisa64sb1el \
5d4f57bd 288 | mipsisa64sr71k | mipsisa64sr71kel \
13895d1d
AJ
289 | mipstx39 | mipstx39el \
290 | mn10200 | mn10300 \
c84cfef4 291 | moxie \
62f6b9b2 292 | mt \
5d4f57bd 293 | msp430 \
c84cfef4 294 | nds32 | nds32le | nds32be \
62f6b9b2 295 | nios | nios2 \
13895d1d 296 | ns16k | ns32k \
607998af 297 | open8 \
62f6b9b2 298 | or32 \
13895d1d 299 | pdp10 | pdp11 | pj | pjl \
607998af 300 | powerpc | powerpc64 | powerpc64le | powerpcle \
13895d1d 301 | pyramid \
607998af 302 | rl78 | rx \
c84cfef4
UD
303 | score \
304 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
13895d1d 305 | sh64 | sh64le \
c84cfef4
UD
306 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
307 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
607998af
CM
308 | spu \
309 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
c84cfef4 310 | ubicom32 \
607998af 311 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
13895d1d 312 | we32k \
607998af 313 | x86 | xc16x | xstormy16 | xtensa \
c84cfef4 314 | z8k | z80)
3bc88c40
AJ
315 basic_machine=$basic_machine-unknown
316 ;;
c84cfef4
UD
317 c54x)
318 basic_machine=tic54x-unknown
319 ;;
320 c55x)
321 basic_machine=tic55x-unknown
62f6b9b2 322 ;;
c84cfef4
UD
323 c6x)
324 basic_machine=tic6x-unknown
325 ;;
607998af 326 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
28f540f4 327 basic_machine=$basic_machine-unknown
3bc88c40 328 os=-none
28f540f4 329 ;;
13895d1d 330 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
4d3a563f 331 ;;
62f6b9b2
RM
332 ms1)
333 basic_machine=mt-unknown
334 ;;
4d3a563f 335
607998af
CM
336 strongarm | thumb | xscale)
337 basic_machine=arm-unknown
338 ;;
339 xgate)
340 basic_machine=$basic_machine-unknown
341 os=-none
342 ;;
343 xscaleeb)
344 basic_machine=armeb-unknown
345 ;;
346
347 xscaleel)
348 basic_machine=armel-unknown
349 ;;
350
cd136c56
RK
351 # We use `pc' rather than `unknown'
352 # because (1) that's what they normally are, and
353 # (2) the word "unknown" tends to confuse beginning users.
98f8cdf0 354 i*86 | x86_64)
cd136c56
RK
355 basic_machine=$basic_machine-pc
356 ;;
28f540f4
RM
357 # Object if more than one company name word.
358 *-*-*)
359 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
360 exit 1
361 ;;
362 # Recognize the basic CPU types with company name.
13895d1d
AJ
363 580-* \
364 | a29k-* \
365 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
366 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
367 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
368 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
c84cfef4 369 | avr-* | avr32-* \
607998af 370 | be32-* | be64-* \
572028fa 371 | bfin-* | bs2000-* \
c84cfef4 372 | c[123]* | c30-* | [cjt]90-* | c4x-* \
613d8d52 373 | clipper-* | craynv-* | cydra-* \
13895d1d
AJ
374 | d10v-* | d30v-* | dlx-* \
375 | elxsi-* \
c84cfef4 376 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
13895d1d
AJ
377 | h8300-* | h8500-* \
378 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
607998af 379 | hexagon-* \
13895d1d 380 | i*86-* | i860-* | i960-* | ia64-* \
ecc26467 381 | ip2k-* | iq2000-* \
607998af 382 | le32-* | le64-* \
c84cfef4
UD
383 | lm32-* \
384 | m32c-* | m32r-* | m32rle-* \
13895d1d 385 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
c84cfef4 386 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
13895d1d
AJ
387 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
388 | mips16-* \
389 | mips64-* | mips64el-* \
c84cfef4 390 | mips64octeon-* | mips64octeonel-* \
13895d1d 391 | mips64orion-* | mips64orionel-* \
c84cfef4
UD
392 | mips64r5900-* | mips64r5900el-* \
393 | mips64vr-* | mips64vrel-* \
13895d1d
AJ
394 | mips64vr4100-* | mips64vr4100el-* \
395 | mips64vr4300-* | mips64vr4300el-* \
396 | mips64vr5000-* | mips64vr5000el-* \
62f6b9b2 397 | mips64vr5900-* | mips64vr5900el-* \
13895d1d 398 | mipsisa32-* | mipsisa32el-* \
5d4f57bd 399 | mipsisa32r2-* | mipsisa32r2el-* \
13895d1d 400 | mipsisa64-* | mipsisa64el-* \
ecc26467 401 | mipsisa64r2-* | mipsisa64r2el-* \
13895d1d 402 | mipsisa64sb1-* | mipsisa64sb1el-* \
5d4f57bd
UD
403 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
404 | mipstx39-* | mipstx39el-* \
613d8d52 405 | mmix-* \
62f6b9b2 406 | mt-* \
5d4f57bd 407 | msp430-* \
c84cfef4 408 | nds32-* | nds32le-* | nds32be-* \
62f6b9b2 409 | nios-* | nios2-* \
613d8d52 410 | none-* | np1-* | ns16k-* | ns32k-* \
607998af 411 | open8-* \
13895d1d
AJ
412 | orion-* \
413 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
607998af 414 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
13895d1d 415 | pyramid-* \
607998af 416 | rl78-* | romp-* | rs6000-* | rx-* \
c84cfef4 417 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
13895d1d 418 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
c84cfef4 419 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
572028fa 420 | sparclite-* \
607998af
CM
421 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
422 | tahoe-* \
5d4f57bd 423 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
607998af 424 | tile*-* \
5d4f57bd 425 | tron-* \
c84cfef4 426 | ubicom32-* \
607998af
CM
427 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
428 | vax-* \
13895d1d 429 | we32k-* \
607998af 430 | x86-* | x86_64-* | xc16x-* | xps100-* \
c84cfef4 431 | xstormy16-* | xtensa*-* \
13895d1d 432 | ymp-* \
c84cfef4 433 | z8k-* | z80-*)
28f540f4 434 ;;
c84cfef4
UD
435 # Recognize the basic CPU types without company name, with glob match.
436 xtensa*)
437 basic_machine=$basic_machine-unknown
62f6b9b2 438 ;;
28f540f4
RM
439 # Recognize the various machine names and aliases which stand
440 # for a CPU type and a company and sometimes even an OS.
19b6575a
UD
441 386bsd)
442 basic_machine=i386-unknown
443 os=-bsd
444 ;;
28f540f4
RM
445 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
446 basic_machine=m68000-att
447 ;;
448 3b*)
449 basic_machine=we32k-att
450 ;;
19b6575a
UD
451 a29khif)
452 basic_machine=a29k-amd
453 os=-udi
454 ;;
bac102db 455 abacus)
613d8d52
RM
456 basic_machine=abacus-unknown
457 ;;
19b6575a
UD
458 adobe68k)
459 basic_machine=m68010-adobe
460 os=-scout
461 ;;
28f540f4
RM
462 alliant | fx80)
463 basic_machine=fx80-alliant
464 ;;
465 altos | altos3068)
466 basic_machine=m68k-altos
467 ;;
468 am29k)
469 basic_machine=a29k-none
470 os=-bsd
471 ;;
5d4f57bd
UD
472 amd64)
473 basic_machine=x86_64-pc
474 ;;
613d8d52
RM
475 amd64-*)
476 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
477 ;;
28f540f4
RM
478 amdahl)
479 basic_machine=580-amdahl
480 os=-sysv
481 ;;
482 amiga | amiga-*)
3bc88c40 483 basic_machine=m68k-unknown
28f540f4 484 ;;
9a0a462c 485 amigaos | amigados)
3bc88c40 486 basic_machine=m68k-unknown
9a0a462c 487 os=-amigaos
28f540f4
RM
488 ;;
489 amigaunix | amix)
3bc88c40 490 basic_machine=m68k-unknown
28f540f4
RM
491 os=-sysv4
492 ;;
493 apollo68)
494 basic_machine=m68k-apollo
495 os=-sysv
496 ;;
19b6575a
UD
497 apollo68bsd)
498 basic_machine=m68k-apollo
499 os=-bsd
500 ;;
c84cfef4
UD
501 aros)
502 basic_machine=i386-pc
503 os=-aros
504 ;;
635a5405
I
505 aux)
506 basic_machine=m68k-apple
507 os=-aux
508 ;;
28f540f4
RM
509 balance)
510 basic_machine=ns32k-sequent
511 os=-dynix
512 ;;
c84cfef4
UD
513 blackfin)
514 basic_machine=bfin-unknown
515 os=-linux
516 ;;
517 blackfin-*)
518 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
519 os=-linux
520 ;;
521 bluegene*)
522 basic_machine=powerpc-ibm
523 os=-cnk
524 ;;
525 c54x-*)
526 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
527 ;;
528 c55x-*)
529 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
530 ;;
531 c6x-*)
532 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
533 ;;
13895d1d
AJ
534 c90)
535 basic_machine=c90-cray
536 os=-unicos
537 ;;
bac102db 538 cegcc)
c84cfef4
UD
539 basic_machine=arm-unknown
540 os=-cegcc
541 ;;
28f540f4
RM
542 convex-c1)
543 basic_machine=c1-convex
544 os=-bsd
545 ;;
546 convex-c2)
547 basic_machine=c2-convex
548 os=-bsd
549 ;;
550 convex-c32)
551 basic_machine=c32-convex
552 os=-bsd
553 ;;
554 convex-c34)
555 basic_machine=c34-convex
556 os=-bsd
557 ;;
558 convex-c38)
559 basic_machine=c38-convex
560 os=-bsd
561 ;;
13895d1d
AJ
562 cray | j90)
563 basic_machine=j90-cray
01fec49c
RM
564 os=-unicos
565 ;;
613d8d52
RM
566 craynv)
567 basic_machine=craynv-cray
568 os=-unicosmp
569 ;;
607998af 570 cr16 | cr16-*)
c84cfef4 571 basic_machine=cr16-unknown
613d8d52
RM
572 os=-elf
573 ;;
28f540f4
RM
574 crds | unos)
575 basic_machine=m68k-crds
576 ;;
613d8d52
RM
577 crisv32 | crisv32-* | etraxfs*)
578 basic_machine=crisv32-axis
579 ;;
3bc88c40
AJ
580 cris | cris-* | etrax*)
581 basic_machine=cris-axis
582 ;;
613d8d52
RM
583 crx)
584 basic_machine=crx-unknown
585 os=-elf
586 ;;
28f540f4
RM
587 da30 | da30-*)
588 basic_machine=m68k-da30
589 ;;
590 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
591 basic_machine=mips-dec
592 ;;
13895d1d
AJ
593 decsystem10* | dec10*)
594 basic_machine=pdp10-dec
595 os=-tops10
596 ;;
597 decsystem20* | dec20*)
598 basic_machine=pdp10-dec
599 os=-tops20
600 ;;
28f540f4
RM
601 delta | 3300 | motorola-3300 | motorola-delta \
602 | 3300-motorola | delta-motorola)
603 basic_machine=m68k-motorola
604 ;;
605 delta88)
606 basic_machine=m88k-motorola
607 os=-sysv3
608 ;;
c84cfef4
UD
609 dicos)
610 basic_machine=i686-pc
611 os=-dicos
612 ;;
613d8d52
RM
613 djgpp)
614 basic_machine=i586-pc
615 os=-msdosdjgpp
616 ;;
28f540f4
RM
617 dpx20 | dpx20-*)
618 basic_machine=rs6000-bull
619 os=-bosx
620 ;;
621 dpx2* | dpx2*-bull)
622 basic_machine=m68k-bull
623 os=-sysv3
624 ;;
625 ebmon29k)
626 basic_machine=a29k-amd
627 os=-ebmon
628 ;;
629 elxsi)
630 basic_machine=elxsi-elxsi
631 os=-bsd
632 ;;
633 encore | umax | mmax)
634 basic_machine=ns32k-encore
635 ;;
19b6575a
UD
636 es1800 | OSE68k | ose68k | ose | OSE)
637 basic_machine=m68k-ericsson
638 os=-ose
639 ;;
28f540f4
RM
640 fx2800)
641 basic_machine=i860-alliant
642 ;;
643 genix)
644 basic_machine=ns32k-ns
645 ;;
646 gmicro)
647 basic_machine=tron-gmicro
648 os=-sysv
649 ;;
98f8cdf0
AJ
650 go32)
651 basic_machine=i386-pc
652 os=-go32
653 ;;
28f540f4
RM
654 h3050r* | hiux*)
655 basic_machine=hppa1.1-hitachi
656 os=-hiuxwe2
657 ;;
658 h8300hms)
659 basic_machine=h8300-hitachi
660 os=-hms
661 ;;
19b6575a
UD
662 h8300xray)
663 basic_machine=h8300-hitachi
664 os=-xray
665 ;;
666 h8500hms)
667 basic_machine=h8500-hitachi
668 os=-hms
669 ;;
28f540f4
RM
670 harris)
671 basic_machine=m88k-harris
672 os=-sysv3
673 ;;
674 hp300-*)
675 basic_machine=m68k-hp
676 ;;
677 hp300bsd)
678 basic_machine=m68k-hp
679 os=-bsd
680 ;;
681 hp300hpux)
682 basic_machine=m68k-hp
683 os=-hpux
684 ;;
19b6575a
UD
685 hp3k9[0-9][0-9] | hp9[0-9][0-9])
686 basic_machine=hppa1.0-hp
687 ;;
b8fe19fa 688 hp9k2[0-9][0-9] | hp9k31[0-9])
28f540f4
RM
689 basic_machine=m68000-hp
690 ;;
691 hp9k3[2-9][0-9])
692 basic_machine=m68k-hp
693 ;;
19b6575a
UD
694 hp9k6[0-9][0-9] | hp6[0-9][0-9])
695 basic_machine=hppa1.0-hp
696 ;;
697 hp9k7[0-79][0-9] | hp7[0-79][0-9])
698 basic_machine=hppa1.1-hp
699 ;;
700 hp9k78[0-9] | hp78[0-9])
701 # FIXME: really hppa2.0-hp
702 basic_machine=hppa1.1-hp
703 ;;
704 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
705 # FIXME: really hppa2.0-hp
706 basic_machine=hppa1.1-hp
707 ;;
708 hp9k8[0-9][13679] | hp8[0-9][13679])
28f540f4
RM
709 basic_machine=hppa1.1-hp
710 ;;
711 hp9k8[0-9][0-9] | hp8[0-9][0-9])
712 basic_machine=hppa1.0-hp
713 ;;
f0f4432f
RS
714 hppa-next)
715 os=-nextstep3
716 ;;
19b6575a
UD
717 hppaosf)
718 basic_machine=hppa1.1-hp
719 os=-osf
720 ;;
721 hppro)
722 basic_machine=hppa1.1-hp
723 os=-proelf
724 ;;
28f540f4
RM
725 i370-ibm* | ibm*)
726 basic_machine=i370-ibm
28f540f4 727 ;;
98f8cdf0 728 i*86v32)
cd136c56 729 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
28f540f4
RM
730 os=-sysv32
731 ;;
98f8cdf0 732 i*86v4*)
cd136c56 733 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
28f540f4
RM
734 os=-sysv4
735 ;;
98f8cdf0 736 i*86v)
cd136c56 737 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
28f540f4
RM
738 os=-sysv
739 ;;
98f8cdf0 740 i*86sol2)
cd136c56 741 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
28f540f4
RM
742 os=-solaris2
743 ;;
19b6575a
UD
744 i386mach)
745 basic_machine=i386-mach
746 os=-mach
747 ;;
748 i386-vsta | vsta)
749 basic_machine=i386-unknown
750 os=-vsta
751 ;;
28f540f4
RM
752 iris | iris4d)
753 basic_machine=mips-sgi
754 case $os in
755 -irix*)
756 ;;
757 *)
758 os=-irix4
759 ;;
760 esac
761 ;;
762 isi68 | isi)
763 basic_machine=m68k-isi
764 os=-sysv
765 ;;
c84cfef4
UD
766 m68knommu)
767 basic_machine=m68k-unknown
768 os=-linux
769 ;;
770 m68knommu-*)
771 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
772 os=-linux
773 ;;
28f540f4
RM
774 m88k-omron*)
775 basic_machine=m88k-omron
776 ;;
777 magnum | m3230)
778 basic_machine=mips-mips
779 os=-sysv
780 ;;
781 merlin)
782 basic_machine=ns32k-utek
783 os=-sysv
784 ;;
bac102db 785 microblaze)
c84cfef4
UD
786 basic_machine=microblaze-xilinx
787 ;;
98f8cdf0
AJ
788 mingw32)
789 basic_machine=i386-pc
790 os=-mingw32
791 ;;
c84cfef4
UD
792 mingw32ce)
793 basic_machine=arm-unknown
794 os=-mingw32ce
795 ;;
28f540f4
RM
796 miniframe)
797 basic_machine=m68000-convergent
798 ;;
4d3a563f 799 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
19b6575a
UD
800 basic_machine=m68k-atari
801 os=-mint
802 ;;
28f540f4
RM
803 mips3*-*)
804 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
805 ;;
806 mips3*)
807 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
808 ;;
19b6575a
UD
809 monitor)
810 basic_machine=m68k-rom68k
811 os=-coff
812 ;;
13895d1d
AJ
813 morphos)
814 basic_machine=powerpc-unknown
815 os=-morphos
816 ;;
19b6575a 817 msdos)
98f8cdf0 818 basic_machine=i386-pc
19b6575a
UD
819 os=-msdos
820 ;;
62f6b9b2
RM
821 ms1-*)
822 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
823 ;;
607998af
CM
824 msys)
825 basic_machine=i386-pc
826 os=-msys
827 ;;
4d3a563f
UD
828 mvs)
829 basic_machine=i370-ibm
830 os=-mvs
831 ;;
607998af
CM
832 nacl)
833 basic_machine=le32-unknown
834 os=-nacl
835 ;;
28f540f4
RM
836 ncr3000)
837 basic_machine=i486-ncr
838 os=-sysv4
839 ;;
19b6575a
UD
840 netbsd386)
841 basic_machine=i386-unknown
842 os=-netbsd
843 ;;
0dbd5567 844 netwinder)
4d3a563f 845 basic_machine=armv4l-rebel
0dbd5567
UD
846 os=-linux
847 ;;
28f540f4
RM
848 news | news700 | news800 | news900)
849 basic_machine=m68k-sony
850 os=-newsos
851 ;;
852 news1000)
853 basic_machine=m68030-sony
854 os=-newsos
855 ;;
856 news-3600 | risc-news)
857 basic_machine=mips-sony
858 os=-newsos
859 ;;
19b6575a
UD
860 necv70)
861 basic_machine=v70-nec
862 os=-sysv
863 ;;
28f540f4
RM
864 next | m*-next )
865 basic_machine=m68k-next
866 case $os in
867 -nextstep* )
868 ;;
869 -ns2*)
870 os=-nextstep2
871 ;;
872 *)
873 os=-nextstep3
874 ;;
875 esac
876 ;;
877 nh3000)
878 basic_machine=m68k-harris
879 os=-cxux
880 ;;
881 nh[45]000)
882 basic_machine=m88k-harris
883 os=-cxux
884 ;;
885 nindy960)
886 basic_machine=i960-intel
887 os=-nindy
888 ;;
19b6575a
UD
889 mon960)
890 basic_machine=i960-intel
891 os=-mon960
892 ;;
bda5433d
UD
893 nonstopux)
894 basic_machine=mips-compaq
895 os=-nonstopux
896 ;;
28f540f4
RM
897 np1)
898 basic_machine=np1-gould
899 ;;
bac102db 900 neo-tandem)
c84cfef4
UD
901 basic_machine=neo-tandem
902 ;;
bac102db 903 nse-tandem)
c84cfef4
UD
904 basic_machine=nse-tandem
905 ;;
7626e16c
AJ
906 nsr-tandem)
907 basic_machine=nsr-tandem
908 ;;
19b6575a
UD
909 op50n-* | op60c-*)
910 basic_machine=hppa1.1-oki
911 os=-proelf
912 ;;
62f6b9b2 913 openrisc | openrisc-*)
13895d1d 914 basic_machine=or32-unknown
13895d1d 915 ;;
ecc26467
RM
916 os400)
917 basic_machine=powerpc-ibm
918 os=-os400
919 ;;
19b6575a
UD
920 OSE68000 | ose68000)
921 basic_machine=m68000-ericsson
922 os=-ose
923 ;;
924 os68k)
925 basic_machine=m68k-none
926 os=-os68k
927 ;;
28f540f4
RM
928 pa-hitachi)
929 basic_machine=hppa1.1-hitachi
930 os=-hiuxwe2
931 ;;
932 paragon)
933 basic_machine=i860-intel
934 os=-osf
935 ;;
c84cfef4
UD
936 parisc)
937 basic_machine=hppa-unknown
938 os=-linux
939 ;;
940 parisc-*)
941 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
942 os=-linux
943 ;;
28f540f4
RM
944 pbd)
945 basic_machine=sparc-tti
946 ;;
947 pbb)
948 basic_machine=m68k-tti
949 ;;
5d4f57bd 950 pc532 | pc532-*)
28f540f4
RM
951 basic_machine=ns32k-pc532
952 ;;
62f6b9b2
RM
953 pc98)
954 basic_machine=i386-pc
955 ;;
956 pc98-*)
957 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
958 ;;
13895d1d 959 pentium | p5 | k5 | k6 | nexgen | viac3)
47c130e3
UD
960 basic_machine=i586-pc
961 ;;
5d4f57bd 962 pentiumpro | p6 | 6x86 | athlon | athlon_*)
47c130e3 963 basic_machine=i686-pc
8b7e7ff3 964 ;;
ad316adf 965 pentiumii | pentium2 | pentiumiii | pentium3)
bda5433d 966 basic_machine=i686-pc
2cb7465b 967 ;;
ad316adf
UD
968 pentium4)
969 basic_machine=i786-pc
970 ;;
13895d1d 971 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
8b7e7ff3
MM
972 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
973 ;;
3bc88c40 974 pentiumpro-* | p6-* | 6x86-* | athlon-*)
2cb7465b
SC
975 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
976 ;;
ad316adf 977 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
bda5433d 978 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
28f540f4 979 ;;
ad316adf
UD
980 pentium4-*)
981 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
982 ;;
28f540f4
RM
983 pn)
984 basic_machine=pn-gould
985 ;;
bda5433d 986 power) basic_machine=power-ibm
8b7e7ff3 987 ;;
607998af 988 ppc | ppcbe) basic_machine=powerpc-unknown
5d4f57bd 989 ;;
607998af
CM
990 ppc-* | ppcbe-*)
991 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
8b7e7ff3
MM
992 ;;
993 ppcle | powerpclittle | ppc-le | powerpc-little)
994 basic_machine=powerpcle-unknown
5d4f57bd 995 ;;
8b7e7ff3
MM
996 ppcle-* | powerpclittle-*)
997 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
998 ;;
13895d1d 999 ppc64) basic_machine=powerpc64-unknown
5d4f57bd 1000 ;;
13895d1d
AJ
1001 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1002 ;;
1003 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1004 basic_machine=powerpc64le-unknown
5d4f57bd 1005 ;;
13895d1d
AJ
1006 ppc64le-* | powerpc64little-*)
1007 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1008 ;;
28f540f4
RM
1009 ps2)
1010 basic_machine=i386-ibm
1011 ;;
98f8cdf0
AJ
1012 pw32)
1013 basic_machine=i586-unknown
1014 os=-pw32
1015 ;;
62f6b9b2
RM
1016 rdos)
1017 basic_machine=i386-pc
1018 os=-rdos
1019 ;;
19b6575a
UD
1020 rom68k)
1021 basic_machine=m68k-rom68k
1022 os=-coff
1023 ;;
1b814584
RS
1024 rm[46]00)
1025 basic_machine=mips-siemens
1026 ;;
28f540f4
RM
1027 rtpc | rtpc-*)
1028 basic_machine=romp-ibm
1029 ;;
13895d1d
AJ
1030 s390 | s390-*)
1031 basic_machine=s390-ibm
1032 ;;
1033 s390x | s390x-*)
1034 basic_machine=s390x-ibm
1035 ;;
19b6575a
UD
1036 sa29200)
1037 basic_machine=a29k-amd
1038 os=-udi
1039 ;;
5d4f57bd
UD
1040 sb1)
1041 basic_machine=mipsisa64sb1-unknown
1042 ;;
1043 sb1el)
1044 basic_machine=mipsisa64sb1el-unknown
1045 ;;
c84cfef4
UD
1046 sde)
1047 basic_machine=mipsisa32-sde
1048 os=-elf
1049 ;;
ecc26467
RM
1050 sei)
1051 basic_machine=mips-sei
1052 os=-seiux
1053 ;;
28f540f4
RM
1054 sequent)
1055 basic_machine=i386-sequent
1056 ;;
1057 sh)
1058 basic_machine=sh-hitachi
1059 os=-hms
1060 ;;
c84cfef4
UD
1061 sh5el)
1062 basic_machine=sh5le-unknown
1063 ;;
ecc26467
RM
1064 sh64)
1065 basic_machine=sh64-unknown
1066 ;;
13895d1d 1067 sparclite-wrs | simso-wrs)
19b6575a
UD
1068 basic_machine=sparclite-wrs
1069 os=-vxworks
1070 ;;
28f540f4
RM
1071 sps7)
1072 basic_machine=m68k-bull
1073 os=-sysv2
1074 ;;
1075 spur)
1076 basic_machine=spur-unknown
1077 ;;
19b6575a
UD
1078 st2000)
1079 basic_machine=m68k-tandem
1080 ;;
1081 stratus)
1082 basic_machine=i860-stratus
1083 os=-sysv4
1084 ;;
607998af
CM
1085 strongarm-* | thumb-*)
1086 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1087 ;;
28f540f4
RM
1088 sun2)
1089 basic_machine=m68000-sun
1090 ;;
1091 sun2os3)
1092 basic_machine=m68000-sun
1093 os=-sunos3
1094 ;;
1095 sun2os4)
1096 basic_machine=m68000-sun
1097 os=-sunos4
1098 ;;
1099 sun3os3)
1100 basic_machine=m68k-sun
1101 os=-sunos3
1102 ;;
1103 sun3os4)
1104 basic_machine=m68k-sun
1105 os=-sunos4
1106 ;;
1107 sun4os3)
1108 basic_machine=sparc-sun
1109 os=-sunos3
1110 ;;
1111 sun4os4)
1112 basic_machine=sparc-sun
1113 os=-sunos4
1114 ;;
0c3aeaf4
DE
1115 sun4sol2)
1116 basic_machine=sparc-sun
1117 os=-solaris2
1118 ;;
28f540f4
RM
1119 sun3 | sun3-*)
1120 basic_machine=m68k-sun
1121 ;;
1122 sun4)
1123 basic_machine=sparc-sun
1124 ;;
1125 sun386 | sun386i | roadrunner)
1126 basic_machine=i386-sun
1127 ;;
5d4f57bd 1128 sv1)
7626e16c
AJ
1129 basic_machine=sv1-cray
1130 os=-unicos
1131 ;;
28f540f4
RM
1132 symmetry)
1133 basic_machine=i386-sequent
1134 os=-dynix
1135 ;;
19b6575a 1136 t3e)
13895d1d
AJ
1137 basic_machine=alphaev5-cray
1138 os=-unicos
1139 ;;
1140 t90)
1141 basic_machine=t90-cray
19b6575a
UD
1142 os=-unicos
1143 ;;
c84cfef4 1144 tile*)
607998af 1145 basic_machine=$basic_machine-unknown
c84cfef4 1146 os=-linux-gnu
5d4f57bd 1147 ;;
f41c8091
UD
1148 tx39)
1149 basic_machine=mipstx39-unknown
1150 ;;
1151 tx39el)
1152 basic_machine=mipstx39el-unknown
1153 ;;
13895d1d
AJ
1154 toad1)
1155 basic_machine=pdp10-xkl
1156 os=-tops20
1157 ;;
28f540f4
RM
1158 tower | tower-32)
1159 basic_machine=m68k-ncr
1160 ;;
ecc26467
RM
1161 tpf)
1162 basic_machine=s390x-ibm
1163 os=-tpf
1164 ;;
28f540f4
RM
1165 udi29k)
1166 basic_machine=a29k-amd
1167 os=-udi
1168 ;;
1169 ultra3)
1170 basic_machine=a29k-nyu
1171 os=-sym1
1172 ;;
19b6575a
UD
1173 v810 | necv810)
1174 basic_machine=v810-nec
1175 os=-none
1176 ;;
28f540f4
RM
1177 vaxv)
1178 basic_machine=vax-dec
1179 os=-sysv
1180 ;;
1181 vms)
1182 basic_machine=vax-dec
1183 os=-vms
1184 ;;
714a562f 1185 vpp*|vx|vx-*)
5d4f57bd
UD
1186 basic_machine=f301-fujitsu
1187 ;;
28f540f4
RM
1188 vxworks960)
1189 basic_machine=i960-wrs
1190 os=-vxworks
1191 ;;
1192 vxworks68)
1193 basic_machine=m68k-wrs
1194 os=-vxworks
1195 ;;
2a504a34
DE
1196 vxworks29k)
1197 basic_machine=a29k-wrs
1198 os=-vxworks
1199 ;;
19b6575a
UD
1200 w65*)
1201 basic_machine=w65-wdc
1202 os=-none
1203 ;;
1204 w89k-*)
1205 basic_machine=hppa1.1-winbond
1206 os=-proelf
1207 ;;
613d8d52
RM
1208 xbox)
1209 basic_machine=i686-pc
1210 os=-mingw32
1211 ;;
5d4f57bd 1212 xps | xps100)
28f540f4
RM
1213 basic_machine=xps100-honeywell
1214 ;;
607998af
CM
1215 xscale-* | xscalee[bl]-*)
1216 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1217 ;;
13895d1d
AJ
1218 ymp)
1219 basic_machine=ymp-cray
1220 os=-unicos
1221 ;;
19b6575a
UD
1222 z8k-*-coff)
1223 basic_machine=z8k-unknown
1224 os=-sim
1225 ;;
c84cfef4
UD
1226 z80-*-coff)
1227 basic_machine=z80-unknown
1228 os=-sim
1229 ;;
28f540f4
RM
1230 none)
1231 basic_machine=none-none
1232 os=-none
1233 ;;
1234
1235# Here we handle the default manufacturer of certain CPU types. It is in
1236# some cases the only manufacturer, in others, it is the most popular.
19b6575a
UD
1237 w89k)
1238 basic_machine=hppa1.1-winbond
1239 ;;
1240 op50n)
1241 basic_machine=hppa1.1-oki
1242 ;;
1243 op60c)
1244 basic_machine=hppa1.1-oki
1245 ;;
28f540f4
RM
1246 romp)
1247 basic_machine=romp-ibm
1248 ;;
613d8d52
RM
1249 mmix)
1250 basic_machine=mmix-knuth
1251 ;;
28f540f4
RM
1252 rs6000)
1253 basic_machine=rs6000-ibm
1254 ;;
1255 vax)
1256 basic_machine=vax-dec
1257 ;;
98f8cdf0
AJ
1258 pdp10)
1259 # there are many clones, so DEC is not a safe bet
1260 basic_machine=pdp10-unknown
1261 ;;
28f540f4
RM
1262 pdp11)
1263 basic_machine=pdp11-dec
1264 ;;
1265 we32k)
1266 basic_machine=we32k-att
1267 ;;
c84cfef4 1268 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
bda5433d 1269 basic_machine=sh-unknown
3bc88c40 1270 ;;
c84cfef4 1271 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
28f540f4
RM
1272 basic_machine=sparc-sun
1273 ;;
5d4f57bd 1274 cydra)
28f540f4
RM
1275 basic_machine=cydra-cydrome
1276 ;;
1277 orion)
1278 basic_machine=orion-highlevel
1279 ;;
1280 orion105)
1281 basic_machine=clipper-highlevel
1282 ;;
19b6575a
UD
1283 mac | mpw | mac-mpw)
1284 basic_machine=m68k-apple
1285 ;;
1286 pmac | pmac-mpw)
1287 basic_machine=powerpc-apple
1288 ;;
98f8cdf0
AJ
1289 *-unknown)
1290 # Make sure to match an already-canonicalized machine name.
1291 ;;
28f540f4
RM
1292 *)
1293 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1294 exit 1
1295 ;;
1296esac
1297
1298# Here we canonicalize certain aliases for manufacturers.
1299case $basic_machine in
1300 *-digital*)
1301 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1302 ;;
1303 *-commodore*)
1304 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1305 ;;
1306 *)
1307 ;;
1308esac
1309
1310# Decode manufacturer-specific aliases for certain operating systems.
1311
1312if [ x"$os" != x"" ]
1313then
1314case $os in
bac102db
UD
1315 # First match some system type aliases
1316 # that might get confused with valid system types.
28f540f4 1317 # -solaris* is a basic system type, with this one exception.
bac102db
UD
1318 -auroraux)
1319 os=-auroraux
c84cfef4 1320 ;;
28f540f4
RM
1321 -solaris1 | -solaris1.*)
1322 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1323 ;;
1324 -solaris)
1325 os=-solaris2
1326 ;;
8f2ece69 1327 -svr4*)
28f540f4
RM
1328 os=-sysv4
1329 ;;
8f2ece69
UD
1330 -unixware*)
1331 os=-sysv4.2uw
1332 ;;
28f540f4 1333 -gnu/linux*)
cd136c56 1334 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
28f540f4
RM
1335 ;;
1336 # First accept the basic system types.
1337 # The portable systems comes first.
f799c39b 1338 # Each alternative MUST END IN A *, to match a version number.
28f540f4
RM
1339 # -sysv* is not here because it comes later, after sysvr4.
1340 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
c84cfef4
UD
1341 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1342 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1343 | -sym* | -kopensolaris* \
9a0a462c 1344 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
c84cfef4 1345 | -aos* | -aros* \
56865572
RK
1346 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1347 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
62f6b9b2
RM
1348 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1349 | -openbsd* | -solidbsd* \
613d8d52
RM
1350 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1351 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
f799c39b 1352 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
c09ebb85 1353 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
c84cfef4 1354 | -chorusos* | -chorusrdb* | -cegcc* \
607998af 1355 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
c84cfef4
UD
1356 | -mingw32* | -linux-gnu* | -linux-android* \
1357 | -linux-newlib* | -linux-uclibc* \
62f6b9b2 1358 | -uxpv* | -beos* | -mpeix* | -udk* \
5d4f57bd 1359 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
98f8cdf0 1360 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13895d1d
AJ
1361 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1362 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
5d4f57bd 1363 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
62f6b9b2 1364 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
c84cfef4 1365 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
f799c39b 1366 # Remember, each alternative MUST END IN *, to match a version number.
28f540f4 1367 ;;
7626e16c
AJ
1368 -qnx*)
1369 case $basic_machine in
98f8cdf0 1370 x86-* | i*86-*)
7626e16c
AJ
1371 ;;
1372 *)
1373 os=-nto$os
1374 ;;
1375 esac
1376 ;;
5d4f57bd
UD
1377 -nto-qnx*)
1378 ;;
7626e16c 1379 -nto*)
5d4f57bd 1380 os=`echo $os | sed -e 's|nto|nto-qnx|'`
7626e16c 1381 ;;
19b6575a 1382 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
62f6b9b2 1383 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
7626e16c 1384 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
19b6575a
UD
1385 ;;
1386 -mac*)
1387 os=`echo $os | sed -e 's|mac|macos|'`
1388 ;;
ecc26467
RM
1389 -linux-dietlibc)
1390 os=-linux-dietlibc
1391 ;;
cd136c56
RK
1392 -linux*)
1393 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1394 ;;
28f540f4
RM
1395 -sunos5*)
1396 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1397 ;;
1398 -sunos6*)
1399 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1400 ;;
4d3a563f
UD
1401 -opened*)
1402 os=-openedition
1403 ;;
bac102db 1404 -os400*)
ecc26467
RM
1405 os=-os400
1406 ;;
7626e16c
AJ
1407 -wince*)
1408 os=-wince
1409 ;;
28f540f4
RM
1410 -osfrose*)
1411 os=-osfrose
1412 ;;
1413 -osf*)
1414 os=-osf
1415 ;;
1416 -utek*)
1417 os=-bsd
1418 ;;
1419 -dynix*)
1420 os=-bsd
1421 ;;
1422 -acis*)
1423 os=-aos
1424 ;;
13895d1d
AJ
1425 -atheos*)
1426 os=-atheos
1427 ;;
ecc26467
RM
1428 -syllable*)
1429 os=-syllable
1430 ;;
19b6575a
UD
1431 -386bsd)
1432 os=-bsd
1433 ;;
28f540f4
RM
1434 -ctix* | -uts*)
1435 os=-sysv
1436 ;;
13895d1d
AJ
1437 -nova*)
1438 os=-rtmk-nova
1439 ;;
bc8789b9 1440 -ns2 )
5d4f57bd 1441 os=-nextstep2
bc8789b9 1442 ;;
1d3f0563 1443 -nsk*)
7626e16c
AJ
1444 os=-nsk
1445 ;;
1b814584
RS
1446 # Preserve the version number of sinix5.
1447 -sinix5.*)
1448 os=`echo $os | sed -e 's|sinix|sysv|'`
1449 ;;
1450 -sinix*)
1451 os=-sysv4
1452 ;;
bac102db 1453 -tpf*)
ecc26467
RM
1454 os=-tpf
1455 ;;
28f540f4
RM
1456 -triton*)
1457 os=-sysv3
1458 ;;
1459 -oss*)
1460 os=-sysv3
1461 ;;
1462 -svr4)
1463 os=-sysv4
1464 ;;
1465 -svr3)
1466 os=-sysv3
1467 ;;
1468 -sysvr4)
1469 os=-sysv4
1470 ;;
1471 # This must come after -sysvr4.
1472 -sysv*)
1473 ;;
19b6575a
UD
1474 -ose*)
1475 os=-ose
1476 ;;
1477 -es1800*)
1478 os=-ose
1479 ;;
28f540f4
RM
1480 -xenix)
1481 os=-xenix
1482 ;;
5d4f57bd
UD
1483 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1484 os=-mint
1485 ;;
1486 -aros*)
1487 os=-aros
1488 ;;
1489 -kaos*)
1490 os=-kaos
19b6575a 1491 ;;
613d8d52
RM
1492 -zvmoe)
1493 os=-zvmoe
1494 ;;
c84cfef4
UD
1495 -dicos*)
1496 os=-dicos
1497 ;;
bac102db
UD
1498 -nacl*)
1499 ;;
28f540f4
RM
1500 -none)
1501 ;;
1502 *)
1503 # Get rid of the `-' at the beginning of $os.
1504 os=`echo $os | sed 's/[^-]*-//'`
1505 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1506 exit 1
1507 ;;
1508esac
1509else
1510
1511# Here we handle the default operating systems that come with various machines.
1512# The value should be what the vendor currently ships out the door with their
1513# machine or put another way, the most popular os provided with the machine.
1514
1515# Note that if you're going to try to match "-MANUFACTURER" here (say,
1516# "-sun"), then you have to tell the case statement up towards the top
1517# that MANUFACTURER isn't an operating system. Otherwise, code above
1518# will signal an error saying that MANUFACTURER isn't an operating
1519# system, and we'll never get to this point.
1520
1521case $basic_machine in
bac102db 1522 score-*)
c84cfef4
UD
1523 os=-elf
1524 ;;
bac102db 1525 spu-*)
c84cfef4
UD
1526 os=-elf
1527 ;;
28f540f4
RM
1528 *-acorn)
1529 os=-riscix1.2
1530 ;;
4d3a563f 1531 arm*-rebel)
0dbd5567
UD
1532 os=-linux
1533 ;;
af92ce7e 1534 arm*-semi)
1535 os=-aout
1536 ;;
bac102db
UD
1537 c4x-* | tic4x-*)
1538 os=-coff
c84cfef4
UD
1539 ;;
1540 tic54x-*)
1541 os=-coff
1542 ;;
1543 tic55x-*)
1544 os=-coff
1545 ;;
1546 tic6x-*)
1547 os=-coff
1548 ;;
13895d1d 1549 # This must come before the *-dec entry.
98f8cdf0
AJ
1550 pdp10-*)
1551 os=-tops20
1552 ;;
5d4f57bd 1553 pdp11-*)
28f540f4
RM
1554 os=-none
1555 ;;
1556 *-dec | vax-*)
1557 os=-ultrix4.2
1558 ;;
1559 m68*-apollo)
1560 os=-domain
1561 ;;
1562 i386-sun)
1563 os=-sunos4.0.2
1564 ;;
1565 m68000-sun)
1566 os=-sunos3
28f540f4 1567 ;;
19b6575a
UD
1568 m68*-cisco)
1569 os=-aout
1570 ;;
bac102db 1571 mep-*)
c84cfef4
UD
1572 os=-elf
1573 ;;
19b6575a
UD
1574 mips*-cisco)
1575 os=-elf
1576 ;;
1577 mips*-*)
1578 os=-elf
1579 ;;
13895d1d
AJ
1580 or32-*)
1581 os=-coff
1582 ;;
28f540f4
RM
1583 *-tti) # must be before sparc entry or we get the wrong os.
1584 os=-sysv3
1585 ;;
1586 sparc-* | *-sun)
1587 os=-sunos4.1.1
1588 ;;
47c130e3
UD
1589 *-be)
1590 os=-beos
1591 ;;
62f6b9b2
RM
1592 *-haiku)
1593 os=-haiku
1594 ;;
28f540f4
RM
1595 *-ibm)
1596 os=-aix
1597 ;;
bac102db 1598 *-knuth)
613d8d52
RM
1599 os=-mmixware
1600 ;;
19b6575a
UD
1601 *-wec)
1602 os=-proelf
1603 ;;
1604 *-winbond)
1605 os=-proelf
1606 ;;
1607 *-oki)
1608 os=-proelf
1609 ;;
28f540f4
RM
1610 *-hp)
1611 os=-hpux
1612 ;;
1613 *-hitachi)
1614 os=-hiux
1615 ;;
1616 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1617 os=-sysv
1618 ;;
1619 *-cbm)
9a0a462c 1620 os=-amigaos
28f540f4
RM
1621 ;;
1622 *-dg)
1623 os=-dgux
1624 ;;
1625 *-dolphin)
1626 os=-sysv3
1627 ;;
1628 m68k-ccur)
1629 os=-rtu
1630 ;;
1631 m88k-omron*)
1632 os=-luna
1633 ;;
bc8789b9
RS
1634 *-next )
1635 os=-nextstep
1636 ;;
28f540f4
RM
1637 *-sequent)
1638 os=-ptx
1639 ;;
1640 *-crds)
1641 os=-unos
1642 ;;
1643 *-ns)
1644 os=-genix
1645 ;;
1646 i370-*)
1647 os=-mvs
1648 ;;
1649 *-next)
1650 os=-nextstep3
1651 ;;
5d4f57bd 1652 *-gould)
28f540f4
RM
1653 os=-sysv
1654 ;;
5d4f57bd 1655 *-highlevel)
28f540f4
RM
1656 os=-bsd
1657 ;;
1658 *-encore)
1659 os=-bsd
1660 ;;
5d4f57bd 1661 *-sgi)
28f540f4
RM
1662 os=-irix
1663 ;;
5d4f57bd 1664 *-siemens)
1b814584
RS
1665 os=-sysv4
1666 ;;
28f540f4
RM
1667 *-masscomp)
1668 os=-rtu
1669 ;;
98f8cdf0 1670 f30[01]-fujitsu | f700-fujitsu)
2c6d7e67
DM
1671 os=-uxpv
1672 ;;
19b6575a
UD
1673 *-rom68k)
1674 os=-coff
1675 ;;
1676 *-*bug)
1677 os=-coff
1678 ;;
1679 *-apple)
1680 os=-macos
1681 ;;
1682 *-atari*)
1683 os=-mint
1684 ;;
28f540f4
RM
1685 *)
1686 os=-none
1687 ;;
1688esac
1689fi
1690
1691# Here we handle the case where we know the os, and the CPU type, but not the
1692# manufacturer. We pick the logical manufacturer.
1693vendor=unknown
1694case $basic_machine in
1695 *-unknown)
1696 case $os in
1697 -riscix*)
1698 vendor=acorn
1699 ;;
1700 -sunos*)
1701 vendor=sun
1702 ;;
c84cfef4 1703 -cnk*|-aix*)
28f540f4
RM
1704 vendor=ibm
1705 ;;
19b6575a
UD
1706 -beos*)
1707 vendor=be
1708 ;;
28f540f4
RM
1709 -hpux*)
1710 vendor=hp
1711 ;;
19b6575a
UD
1712 -mpeix*)
1713 vendor=hp
1714 ;;
28f540f4
RM
1715 -hiux*)
1716 vendor=hitachi
1717 ;;
1718 -unos*)
1719 vendor=crds
1720 ;;
1721 -dgux*)
1722 vendor=dg
1723 ;;
1724 -luna*)
1725 vendor=omron
1726 ;;
1727 -genix*)
1728 vendor=ns
1729 ;;
4d3a563f 1730 -mvs* | -opened*)
28f540f4
RM
1731 vendor=ibm
1732 ;;
ecc26467
RM
1733 -os400*)
1734 vendor=ibm
1735 ;;
28f540f4
RM
1736 -ptx*)
1737 vendor=sequent
1738 ;;
ecc26467
RM
1739 -tpf*)
1740 vendor=ibm
1741 ;;
13895d1d 1742 -vxsim* | -vxworks* | -windiss*)
28f540f4
RM
1743 vendor=wrs
1744 ;;
635a5405
I
1745 -aux*)
1746 vendor=apple
b49d86bd 1747 ;;
19b6575a
UD
1748 -hms*)
1749 vendor=hitachi
1750 ;;
1751 -mpw* | -macos*)
1752 vendor=apple
1753 ;;
98f8cdf0 1754 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
19b6575a
UD
1755 vendor=atari
1756 ;;
13895d1d
AJ
1757 -vos*)
1758 vendor=stratus
1759 ;;
28f540f4
RM
1760 esac
1761 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1762 ;;
1763esac
1764
1765echo $basic_machine$os
62f6b9b2 1766exit
3bc88c40
AJ
1767
1768# Local variables:
1769# eval: (add-hook 'write-file-hooks 'time-stamp)
98f8cdf0 1770# time-stamp-start: "timestamp='"
3bc88c40
AJ
1771# time-stamp-format: "%:y-%02m-%02d"
1772# time-stamp-end: "'"
1773# End: