source: trunk/src/binutils/config.sub@ 606

Last change on this file since 606 was 606, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r605,
which included commits to RCS files with non-trunk default branches.

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