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