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