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