- djm@cvs.openbsd.org 2010/12/03 23:55:27
[openssh-git.git] / config.sub
blobc2d125724c0ed2d2c6da5308c54567649554e5f3
1 #! /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 # Free Software Foundation, Inc.
7 timestamp='2010-01-22'
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.
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.
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.
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.
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.
34 # Please send patches to <config-patches@gnu.org>. Submit a context
35 # diff and a properly formatted GNU ChangeLog entry.
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.
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
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.
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.
60 me=`echo "$0" | sed -e 's,.*/,,'`
62 usage="\
63 Usage: $0 [OPTION] CPU-MFR-OPSYS
64 $0 [OPTION] ALIAS
66 Canonicalize a configuration name.
68 Operation 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
73 Report bugs and patches to <config-patches@gnu.org>."
75 version="\
76 GNU config.sub ($timestamp)
78 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80 Software Foundation, Inc.
82 This is free software; see the source for copying conditions. There is NO
83 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
85 help="
86 Try \`$me --help' for more information."
88 # Parse command line
89 while 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 ;;
105 *local*)
106 # First pass through any local machine types.
107 echo $1
108 exit ;;
111 break ;;
112 esac
113 done
115 case $# 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;;
121 esac
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.
125 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126 case $maybe_os in
127 nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
128 uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
129 kopensolaris*-gnu* | \
130 storm-chaos* | os2-emx* | rtmk-nova*)
131 os=-$maybe_os
132 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
135 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
136 if [ $basic_machine != $1 ]
137 then os=`echo $1 | sed 's/.*-/-/'`
138 else os=; fi
140 esac
142 ### Let's recognize common machines as not being operating systems so
143 ### that things like config.sub decstation-3100 work. We also
144 ### recognize some manufacturers as not being operating systems, so we
145 ### can provide default operating systems below.
146 case $os in
147 -sun*os*)
148 # Prevent following clause from handling this invalid input.
150 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
151 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
152 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
153 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
154 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
155 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
156 -apple | -axis | -knuth | -cray | -microblaze)
158 basic_machine=$1
160 -bluegene*)
161 os=-cnk
163 -sim | -cisco | -oki | -wec | -winbond)
165 basic_machine=$1
167 -scout)
169 -wrs)
170 os=-vxworks
171 basic_machine=$1
173 -chorusos*)
174 os=-chorusos
175 basic_machine=$1
177 -chorusrdb)
178 os=-chorusrdb
179 basic_machine=$1
181 -hiux*)
182 os=-hiuxwe2
184 -sco6)
185 os=-sco5v6
186 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188 -sco5)
189 os=-sco3.2v5
190 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192 -sco4)
193 os=-sco3.2v4
194 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196 -sco3.2.[4-9]*)
197 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
198 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200 -sco3.2v[4-9]*)
201 # Don't forget version if it is 3.2v4 or newer.
202 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204 -sco5v6*)
205 # Don't forget version if it is 3.2v4 or newer.
206 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208 -sco*)
209 os=-sco3.2v2
210 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212 -udk*)
213 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215 -isc)
216 os=-isc2.2
217 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219 -clix*)
220 basic_machine=clipper-intergraph
222 -isc*)
223 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225 -lynx*)
226 os=-lynxos
228 -ptx*)
229 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231 -windowsnt*)
232 os=`echo $os | sed -e 's/windowsnt/winnt/'`
234 -psos*)
235 os=-psos
237 -mint | -mint[0-9]*)
238 basic_machine=m68k-atari
239 os=-mint
241 esac
243 # Decode aliases for certain CPU-COMPANY combinations.
244 case $basic_machine in
245 # Recognize the basic CPU types without company name.
246 # Some are omitted here because they have special meanings below.
247 1750a | 580 \
248 | a29k \
249 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
250 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
251 | am33_2.0 \
252 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
253 | bfin \
254 | c4x | clipper \
255 | d10v | d30v | dlx | dsp16xx \
256 | fido | fr30 | frv \
257 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
258 | i370 | i860 | i960 | ia64 \
259 | ip2k | iq2000 \
260 | lm32 \
261 | m32c | m32r | m32rle | m68000 | m68k | m88k \
262 | maxq | mb | microblaze | mcore | mep | metag \
263 | mips | mipsbe | mipseb | mipsel | mipsle \
264 | mips16 \
265 | mips64 | mips64el \
266 | mips64octeon | mips64octeonel \
267 | mips64orion | mips64orionel \
268 | mips64r5900 | mips64r5900el \
269 | mips64vr | mips64vrel \
270 | mips64vr4100 | mips64vr4100el \
271 | mips64vr4300 | mips64vr4300el \
272 | mips64vr5000 | mips64vr5000el \
273 | mips64vr5900 | mips64vr5900el \
274 | mipsisa32 | mipsisa32el \
275 | mipsisa32r2 | mipsisa32r2el \
276 | mipsisa64 | mipsisa64el \
277 | mipsisa64r2 | mipsisa64r2el \
278 | mipsisa64sb1 | mipsisa64sb1el \
279 | mipsisa64sr71k | mipsisa64sr71kel \
280 | mipstx39 | mipstx39el \
281 | mn10200 | mn10300 \
282 | moxie \
283 | mt \
284 | msp430 \
285 | nios | nios2 \
286 | ns16k | ns32k \
287 | or32 \
288 | pdp10 | pdp11 | pj | pjl \
289 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
290 | pyramid \
291 | rx \
292 | score \
293 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
294 | sh64 | sh64le \
295 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
296 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
297 | spu | strongarm \
298 | tahoe | thumb | tic4x | tic80 | tron \
299 | ubicom32 \
300 | v850 | v850e \
301 | we32k \
302 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
303 | z8k | z80)
304 basic_machine=$basic_machine-unknown
306 m6811 | m68hc11 | m6812 | m68hc12 | picochip)
307 # Motorola 68HC11/12.
308 basic_machine=$basic_machine-unknown
309 os=-none
311 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
313 ms1)
314 basic_machine=mt-unknown
317 # We use `pc' rather than `unknown'
318 # because (1) that's what they normally are, and
319 # (2) the word "unknown" tends to confuse beginning users.
320 i*86 | x86_64)
321 basic_machine=$basic_machine-pc
323 # Object if more than one company name word.
324 *-*-*)
325 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
326 exit 1
328 # Recognize the basic CPU types with company name.
329 580-* \
330 | a29k-* \
331 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
332 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
333 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
334 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
335 | avr-* | avr32-* \
336 | bfin-* | bs2000-* \
337 | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
338 | clipper-* | craynv-* | cydra-* \
339 | d10v-* | d30v-* | dlx-* \
340 | elxsi-* \
341 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
342 | h8300-* | h8500-* \
343 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
344 | i*86-* | i860-* | i960-* | ia64-* \
345 | ip2k-* | iq2000-* \
346 | lm32-* \
347 | m32c-* | m32r-* | m32rle-* \
348 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
349 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
350 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
351 | mips16-* \
352 | mips64-* | mips64el-* \
353 | mips64octeon-* | mips64octeonel-* \
354 | mips64orion-* | mips64orionel-* \
355 | mips64r5900-* | mips64r5900el-* \
356 | mips64vr-* | mips64vrel-* \
357 | mips64vr4100-* | mips64vr4100el-* \
358 | mips64vr4300-* | mips64vr4300el-* \
359 | mips64vr5000-* | mips64vr5000el-* \
360 | mips64vr5900-* | mips64vr5900el-* \
361 | mipsisa32-* | mipsisa32el-* \
362 | mipsisa32r2-* | mipsisa32r2el-* \
363 | mipsisa64-* | mipsisa64el-* \
364 | mipsisa64r2-* | mipsisa64r2el-* \
365 | mipsisa64sb1-* | mipsisa64sb1el-* \
366 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
367 | mipstx39-* | mipstx39el-* \
368 | mmix-* \
369 | mt-* \
370 | msp430-* \
371 | nios-* | nios2-* \
372 | none-* | np1-* | ns16k-* | ns32k-* \
373 | orion-* \
374 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
375 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
376 | pyramid-* \
377 | romp-* | rs6000-* | rx-* \
378 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
379 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
380 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
381 | sparclite-* \
382 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
383 | tahoe-* | thumb-* \
384 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
385 | tile-* | tilegx-* \
386 | tron-* \
387 | ubicom32-* \
388 | v850-* | v850e-* | vax-* \
389 | we32k-* \
390 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
391 | xstormy16-* | xtensa*-* \
392 | ymp-* \
393 | z8k-* | z80-*)
395 # Recognize the basic CPU types without company name, with glob match.
396 xtensa*)
397 basic_machine=$basic_machine-unknown
399 # Recognize the various machine names and aliases which stand
400 # for a CPU type and a company and sometimes even an OS.
401 386bsd)
402 basic_machine=i386-unknown
403 os=-bsd
405 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
406 basic_machine=m68000-att
408 3b*)
409 basic_machine=we32k-att
411 a29khif)
412 basic_machine=a29k-amd
413 os=-udi
415 abacus)
416 basic_machine=abacus-unknown
418 adobe68k)
419 basic_machine=m68010-adobe
420 os=-scout
422 alliant | fx80)
423 basic_machine=fx80-alliant
425 altos | altos3068)
426 basic_machine=m68k-altos
428 am29k)
429 basic_machine=a29k-none
430 os=-bsd
432 amd64)
433 basic_machine=x86_64-pc
435 amd64-*)
436 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
438 amdahl)
439 basic_machine=580-amdahl
440 os=-sysv
442 amiga | amiga-*)
443 basic_machine=m68k-unknown
445 amigaos | amigados)
446 basic_machine=m68k-unknown
447 os=-amigaos
449 amigaunix | amix)
450 basic_machine=m68k-unknown
451 os=-sysv4
453 apollo68)
454 basic_machine=m68k-apollo
455 os=-sysv
457 apollo68bsd)
458 basic_machine=m68k-apollo
459 os=-bsd
461 aros)
462 basic_machine=i386-pc
463 os=-aros
465 aux)
466 basic_machine=m68k-apple
467 os=-aux
469 balance)
470 basic_machine=ns32k-sequent
471 os=-dynix
473 blackfin)
474 basic_machine=bfin-unknown
475 os=-linux
477 blackfin-*)
478 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
479 os=-linux
481 bluegene*)
482 basic_machine=powerpc-ibm
483 os=-cnk
485 c90)
486 basic_machine=c90-cray
487 os=-unicos
489 cegcc)
490 basic_machine=arm-unknown
491 os=-cegcc
493 convex-c1)
494 basic_machine=c1-convex
495 os=-bsd
497 convex-c2)
498 basic_machine=c2-convex
499 os=-bsd
501 convex-c32)
502 basic_machine=c32-convex
503 os=-bsd
505 convex-c34)
506 basic_machine=c34-convex
507 os=-bsd
509 convex-c38)
510 basic_machine=c38-convex
511 os=-bsd
513 cray | j90)
514 basic_machine=j90-cray
515 os=-unicos
517 craynv)
518 basic_machine=craynv-cray
519 os=-unicosmp
521 cr16)
522 basic_machine=cr16-unknown
523 os=-elf
525 crds | unos)
526 basic_machine=m68k-crds
528 crisv32 | crisv32-* | etraxfs*)
529 basic_machine=crisv32-axis
531 cris | cris-* | etrax*)
532 basic_machine=cris-axis
534 crx)
535 basic_machine=crx-unknown
536 os=-elf
538 da30 | da30-*)
539 basic_machine=m68k-da30
541 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
542 basic_machine=mips-dec
544 decsystem10* | dec10*)
545 basic_machine=pdp10-dec
546 os=-tops10
548 decsystem20* | dec20*)
549 basic_machine=pdp10-dec
550 os=-tops20
552 delta | 3300 | motorola-3300 | motorola-delta \
553 | 3300-motorola | delta-motorola)
554 basic_machine=m68k-motorola
556 delta88)
557 basic_machine=m88k-motorola
558 os=-sysv3
560 dicos)
561 basic_machine=i686-pc
562 os=-dicos
564 djgpp)
565 basic_machine=i586-pc
566 os=-msdosdjgpp
568 dpx20 | dpx20-*)
569 basic_machine=rs6000-bull
570 os=-bosx
572 dpx2* | dpx2*-bull)
573 basic_machine=m68k-bull
574 os=-sysv3
576 ebmon29k)
577 basic_machine=a29k-amd
578 os=-ebmon
580 elxsi)
581 basic_machine=elxsi-elxsi
582 os=-bsd
584 encore | umax | mmax)
585 basic_machine=ns32k-encore
587 es1800 | OSE68k | ose68k | ose | OSE)
588 basic_machine=m68k-ericsson
589 os=-ose
591 fx2800)
592 basic_machine=i860-alliant
594 genix)
595 basic_machine=ns32k-ns
597 gmicro)
598 basic_machine=tron-gmicro
599 os=-sysv
601 go32)
602 basic_machine=i386-pc
603 os=-go32
605 h3050r* | hiux*)
606 basic_machine=hppa1.1-hitachi
607 os=-hiuxwe2
609 h8300hms)
610 basic_machine=h8300-hitachi
611 os=-hms
613 h8300xray)
614 basic_machine=h8300-hitachi
615 os=-xray
617 h8500hms)
618 basic_machine=h8500-hitachi
619 os=-hms
621 harris)
622 basic_machine=m88k-harris
623 os=-sysv3
625 hp300-*)
626 basic_machine=m68k-hp
628 hp300bsd)
629 basic_machine=m68k-hp
630 os=-bsd
632 hp300hpux)
633 basic_machine=m68k-hp
634 os=-hpux
636 hp3k9[0-9][0-9] | hp9[0-9][0-9])
637 basic_machine=hppa1.0-hp
639 hp9k2[0-9][0-9] | hp9k31[0-9])
640 basic_machine=m68000-hp
642 hp9k3[2-9][0-9])
643 basic_machine=m68k-hp
645 hp9k6[0-9][0-9] | hp6[0-9][0-9])
646 basic_machine=hppa1.0-hp
648 hp9k7[0-79][0-9] | hp7[0-79][0-9])
649 basic_machine=hppa1.1-hp
651 hp9k78[0-9] | hp78[0-9])
652 # FIXME: really hppa2.0-hp
653 basic_machine=hppa1.1-hp
655 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
656 # FIXME: really hppa2.0-hp
657 basic_machine=hppa1.1-hp
659 hp9k8[0-9][13679] | hp8[0-9][13679])
660 basic_machine=hppa1.1-hp
662 hp9k8[0-9][0-9] | hp8[0-9][0-9])
663 basic_machine=hppa1.0-hp
665 hppa-next)
666 os=-nextstep3
668 hppaosf)
669 basic_machine=hppa1.1-hp
670 os=-osf
672 hppro)
673 basic_machine=hppa1.1-hp
674 os=-proelf
676 i370-ibm* | ibm*)
677 basic_machine=i370-ibm
679 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
680 i*86v32)
681 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
682 os=-sysv32
684 i*86v4*)
685 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
686 os=-sysv4
688 i*86v)
689 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
690 os=-sysv
692 i*86sol2)
693 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
694 os=-solaris2
696 i386mach)
697 basic_machine=i386-mach
698 os=-mach
700 i386-vsta | vsta)
701 basic_machine=i386-unknown
702 os=-vsta
704 iris | iris4d)
705 basic_machine=mips-sgi
706 case $os in
707 -irix*)
710 os=-irix4
712 esac
714 isi68 | isi)
715 basic_machine=m68k-isi
716 os=-sysv
718 m68knommu)
719 basic_machine=m68k-unknown
720 os=-linux
722 m68knommu-*)
723 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
724 os=-linux
726 m88k-omron*)
727 basic_machine=m88k-omron
729 magnum | m3230)
730 basic_machine=mips-mips
731 os=-sysv
733 merlin)
734 basic_machine=ns32k-utek
735 os=-sysv
737 microblaze)
738 basic_machine=microblaze-xilinx
740 mingw32)
741 basic_machine=i386-pc
742 os=-mingw32
744 mingw32ce)
745 basic_machine=arm-unknown
746 os=-mingw32ce
748 miniframe)
749 basic_machine=m68000-convergent
751 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
752 basic_machine=m68k-atari
753 os=-mint
755 mips3*-*)
756 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
758 mips3*)
759 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
761 monitor)
762 basic_machine=m68k-rom68k
763 os=-coff
765 morphos)
766 basic_machine=powerpc-unknown
767 os=-morphos
769 msdos)
770 basic_machine=i386-pc
771 os=-msdos
773 ms1-*)
774 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
776 mvs)
777 basic_machine=i370-ibm
778 os=-mvs
780 ncr3000)
781 basic_machine=i486-ncr
782 os=-sysv4
784 netbsd386)
785 basic_machine=i386-unknown
786 os=-netbsd
788 netwinder)
789 basic_machine=armv4l-rebel
790 os=-linux
792 news | news700 | news800 | news900)
793 basic_machine=m68k-sony
794 os=-newsos
796 news1000)
797 basic_machine=m68030-sony
798 os=-newsos
800 news-3600 | risc-news)
801 basic_machine=mips-sony
802 os=-newsos
804 necv70)
805 basic_machine=v70-nec
806 os=-sysv
808 next | m*-next )
809 basic_machine=m68k-next
810 case $os in
811 -nextstep* )
813 -ns2*)
814 os=-nextstep2
817 os=-nextstep3
819 esac
821 nh3000)
822 basic_machine=m68k-harris
823 os=-cxux
825 nh[45]000)
826 basic_machine=m88k-harris
827 os=-cxux
829 nindy960)
830 basic_machine=i960-intel
831 os=-nindy
833 mon960)
834 basic_machine=i960-intel
835 os=-mon960
837 nonstopux)
838 basic_machine=mips-compaq
839 os=-nonstopux
841 np1)
842 basic_machine=np1-gould
844 nsr-tandem)
845 basic_machine=nsr-tandem
847 op50n-* | op60c-*)
848 basic_machine=hppa1.1-oki
849 os=-proelf
851 openrisc | openrisc-*)
852 basic_machine=or32-unknown
854 os400)
855 basic_machine=powerpc-ibm
856 os=-os400
858 OSE68000 | ose68000)
859 basic_machine=m68000-ericsson
860 os=-ose
862 os68k)
863 basic_machine=m68k-none
864 os=-os68k
866 pa-hitachi)
867 basic_machine=hppa1.1-hitachi
868 os=-hiuxwe2
870 paragon)
871 basic_machine=i860-intel
872 os=-osf
874 parisc)
875 basic_machine=hppa-unknown
876 os=-linux
878 parisc-*)
879 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
880 os=-linux
882 pbd)
883 basic_machine=sparc-tti
885 pbb)
886 basic_machine=m68k-tti
888 pc532 | pc532-*)
889 basic_machine=ns32k-pc532
891 pc98)
892 basic_machine=i386-pc
894 pc98-*)
895 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
897 pentium | p5 | k5 | k6 | nexgen | viac3)
898 basic_machine=i586-pc
900 pentiumpro | p6 | 6x86 | athlon | athlon_*)
901 basic_machine=i686-pc
903 pentiumii | pentium2 | pentiumiii | pentium3)
904 basic_machine=i686-pc
906 pentium4)
907 basic_machine=i786-pc
909 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
910 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
912 pentiumpro-* | p6-* | 6x86-* | athlon-*)
913 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
915 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
916 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
918 pentium4-*)
919 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
922 basic_machine=pn-gould
924 power) basic_machine=power-ibm
926 ppc) basic_machine=powerpc-unknown
928 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
930 ppcle | powerpclittle | ppc-le | powerpc-little)
931 basic_machine=powerpcle-unknown
933 ppcle-* | powerpclittle-*)
934 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
936 ppc64) basic_machine=powerpc64-unknown
938 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
940 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
941 basic_machine=powerpc64le-unknown
943 ppc64le-* | powerpc64little-*)
944 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
946 ps2)
947 basic_machine=i386-ibm
949 pw32)
950 basic_machine=i586-unknown
951 os=-pw32
953 rdos)
954 basic_machine=i386-pc
955 os=-rdos
957 rom68k)
958 basic_machine=m68k-rom68k
959 os=-coff
961 rm[46]00)
962 basic_machine=mips-siemens
964 rtpc | rtpc-*)
965 basic_machine=romp-ibm
967 s390 | s390-*)
968 basic_machine=s390-ibm
970 s390x | s390x-*)
971 basic_machine=s390x-ibm
973 sa29200)
974 basic_machine=a29k-amd
975 os=-udi
977 sb1)
978 basic_machine=mipsisa64sb1-unknown
980 sb1el)
981 basic_machine=mipsisa64sb1el-unknown
983 sde)
984 basic_machine=mipsisa32-sde
985 os=-elf
987 sei)
988 basic_machine=mips-sei
989 os=-seiux
991 sequent)
992 basic_machine=i386-sequent
995 basic_machine=sh-hitachi
996 os=-hms
998 sh5el)
999 basic_machine=sh5le-unknown
1001 sh64)
1002 basic_machine=sh64-unknown
1004 sparclite-wrs | simso-wrs)
1005 basic_machine=sparclite-wrs
1006 os=-vxworks
1008 sps7)
1009 basic_machine=m68k-bull
1010 os=-sysv2
1012 spur)
1013 basic_machine=spur-unknown
1015 st2000)
1016 basic_machine=m68k-tandem
1018 stratus)
1019 basic_machine=i860-stratus
1020 os=-sysv4
1022 sun2)
1023 basic_machine=m68000-sun
1025 sun2os3)
1026 basic_machine=m68000-sun
1027 os=-sunos3
1029 sun2os4)
1030 basic_machine=m68000-sun
1031 os=-sunos4
1033 sun3os3)
1034 basic_machine=m68k-sun
1035 os=-sunos3
1037 sun3os4)
1038 basic_machine=m68k-sun
1039 os=-sunos4
1041 sun4os3)
1042 basic_machine=sparc-sun
1043 os=-sunos3
1045 sun4os4)
1046 basic_machine=sparc-sun
1047 os=-sunos4
1049 sun4sol2)
1050 basic_machine=sparc-sun
1051 os=-solaris2
1053 sun3 | sun3-*)
1054 basic_machine=m68k-sun
1056 sun4)
1057 basic_machine=sparc-sun
1059 sun386 | sun386i | roadrunner)
1060 basic_machine=i386-sun
1062 sv1)
1063 basic_machine=sv1-cray
1064 os=-unicos
1066 symmetry)
1067 basic_machine=i386-sequent
1068 os=-dynix
1070 t3e)
1071 basic_machine=alphaev5-cray
1072 os=-unicos
1074 t90)
1075 basic_machine=t90-cray
1076 os=-unicos
1078 tic54x | c54x*)
1079 basic_machine=tic54x-unknown
1080 os=-coff
1082 tic55x | c55x*)
1083 basic_machine=tic55x-unknown
1084 os=-coff
1086 tic6x | c6x*)
1087 basic_machine=tic6x-unknown
1088 os=-coff
1090 # This must be matched before tile*.
1091 tilegx*)
1092 basic_machine=tilegx-unknown
1093 os=-linux-gnu
1095 tile*)
1096 basic_machine=tile-unknown
1097 os=-linux-gnu
1099 tx39)
1100 basic_machine=mipstx39-unknown
1102 tx39el)
1103 basic_machine=mipstx39el-unknown
1105 toad1)
1106 basic_machine=pdp10-xkl
1107 os=-tops20
1109 tower | tower-32)
1110 basic_machine=m68k-ncr
1112 tpf)
1113 basic_machine=s390x-ibm
1114 os=-tpf
1116 udi29k)
1117 basic_machine=a29k-amd
1118 os=-udi
1120 ultra3)
1121 basic_machine=a29k-nyu
1122 os=-sym1
1124 v810 | necv810)
1125 basic_machine=v810-nec
1126 os=-none
1128 vaxv)
1129 basic_machine=vax-dec
1130 os=-sysv
1132 vms)
1133 basic_machine=vax-dec
1134 os=-vms
1136 vpp*|vx|vx-*)
1137 basic_machine=f301-fujitsu
1139 vxworks960)
1140 basic_machine=i960-wrs
1141 os=-vxworks
1143 vxworks68)
1144 basic_machine=m68k-wrs
1145 os=-vxworks
1147 vxworks29k)
1148 basic_machine=a29k-wrs
1149 os=-vxworks
1151 w65*)
1152 basic_machine=w65-wdc
1153 os=-none
1155 w89k-*)
1156 basic_machine=hppa1.1-winbond
1157 os=-proelf
1159 xbox)
1160 basic_machine=i686-pc
1161 os=-mingw32
1163 xps | xps100)
1164 basic_machine=xps100-honeywell
1166 ymp)
1167 basic_machine=ymp-cray
1168 os=-unicos
1170 z8k-*-coff)
1171 basic_machine=z8k-unknown
1172 os=-sim
1174 z80-*-coff)
1175 basic_machine=z80-unknown
1176 os=-sim
1178 none)
1179 basic_machine=none-none
1180 os=-none
1183 # Here we handle the default manufacturer of certain CPU types. It is in
1184 # some cases the only manufacturer, in others, it is the most popular.
1185 w89k)
1186 basic_machine=hppa1.1-winbond
1188 op50n)
1189 basic_machine=hppa1.1-oki
1191 op60c)
1192 basic_machine=hppa1.1-oki
1194 romp)
1195 basic_machine=romp-ibm
1197 mmix)
1198 basic_machine=mmix-knuth
1200 rs6000)
1201 basic_machine=rs6000-ibm
1203 vax)
1204 basic_machine=vax-dec
1206 pdp10)
1207 # there are many clones, so DEC is not a safe bet
1208 basic_machine=pdp10-unknown
1210 pdp11)
1211 basic_machine=pdp11-dec
1213 we32k)
1214 basic_machine=we32k-att
1216 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1217 basic_machine=sh-unknown
1219 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1220 basic_machine=sparc-sun
1222 cydra)
1223 basic_machine=cydra-cydrome
1225 orion)
1226 basic_machine=orion-highlevel
1228 orion105)
1229 basic_machine=clipper-highlevel
1231 mac | mpw | mac-mpw)
1232 basic_machine=m68k-apple
1234 pmac | pmac-mpw)
1235 basic_machine=powerpc-apple
1237 *-unknown)
1238 # Make sure to match an already-canonicalized machine name.
1241 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1242 exit 1
1244 esac
1246 # Here we canonicalize certain aliases for manufacturers.
1247 case $basic_machine in
1248 *-digital*)
1249 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1251 *-commodore*)
1252 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1256 esac
1258 # Decode manufacturer-specific aliases for certain operating systems.
1260 if [ x"$os" != x"" ]
1261 then
1262 case $os in
1263 # First match some system type aliases
1264 # that might get confused with valid system types.
1265 # -solaris* is a basic system type, with this one exception.
1266 -auroraux)
1267 os=-auroraux
1269 -solaris1 | -solaris1.*)
1270 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1272 -solaris)
1273 os=-solaris2
1275 -svr4*)
1276 os=-sysv4
1278 -unixware*)
1279 os=-sysv4.2uw
1281 -gnu/linux*)
1282 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1284 # First accept the basic system types.
1285 # The portable systems comes first.
1286 # Each alternative MUST END IN A *, to match a version number.
1287 # -sysv* is not here because it comes later, after sysvr4.
1288 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1289 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1290 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1291 | -sym* | -kopensolaris* \
1292 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1293 | -aos* | -aros* \
1294 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1295 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1296 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1297 | -openbsd* | -solidbsd* \
1298 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1299 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1300 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1301 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1302 | -chorusos* | -chorusrdb* | -cegcc* \
1303 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1304 | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1305 | -uxpv* | -beos* | -mpeix* | -udk* \
1306 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1307 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1308 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1309 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1310 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1311 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1312 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1313 # Remember, each alternative MUST END IN *, to match a version number.
1315 -qnx*)
1316 case $basic_machine in
1317 x86-* | i*86-*)
1320 os=-nto$os
1322 esac
1324 -nto-qnx*)
1326 -nto*)
1327 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1329 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1330 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1331 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1333 -mac*)
1334 os=`echo $os | sed -e 's|mac|macos|'`
1336 -linux-dietlibc)
1337 os=-linux-dietlibc
1339 -linux*)
1340 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1342 -sunos5*)
1343 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1345 -sunos6*)
1346 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1348 -opened*)
1349 os=-openedition
1351 -os400*)
1352 os=-os400
1354 -wince*)
1355 os=-wince
1357 -osfrose*)
1358 os=-osfrose
1360 -osf*)
1361 os=-osf
1363 -utek*)
1364 os=-bsd
1366 -dynix*)
1367 os=-bsd
1369 -acis*)
1370 os=-aos
1372 -atheos*)
1373 os=-atheos
1375 -syllable*)
1376 os=-syllable
1378 -386bsd)
1379 os=-bsd
1381 -ctix* | -uts*)
1382 os=-sysv
1384 -nova*)
1385 os=-rtmk-nova
1387 -ns2 )
1388 os=-nextstep2
1390 -nsk*)
1391 os=-nsk
1393 # Preserve the version number of sinix5.
1394 -sinix5.*)
1395 os=`echo $os | sed -e 's|sinix|sysv|'`
1397 -sinix*)
1398 os=-sysv4
1400 -tpf*)
1401 os=-tpf
1403 -triton*)
1404 os=-sysv3
1406 -oss*)
1407 os=-sysv3
1409 -svr4)
1410 os=-sysv4
1412 -svr3)
1413 os=-sysv3
1415 -sysvr4)
1416 os=-sysv4
1418 # This must come after -sysvr4.
1419 -sysv*)
1421 -ose*)
1422 os=-ose
1424 -es1800*)
1425 os=-ose
1427 -xenix)
1428 os=-xenix
1430 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1431 os=-mint
1433 -aros*)
1434 os=-aros
1436 -kaos*)
1437 os=-kaos
1439 -zvmoe)
1440 os=-zvmoe
1442 -dicos*)
1443 os=-dicos
1445 -nacl*)
1447 -none)
1450 # Get rid of the `-' at the beginning of $os.
1451 os=`echo $os | sed 's/[^-]*-//'`
1452 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1453 exit 1
1455 esac
1456 else
1458 # Here we handle the default operating systems that come with various machines.
1459 # The value should be what the vendor currently ships out the door with their
1460 # machine or put another way, the most popular os provided with the machine.
1462 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1463 # "-sun"), then you have to tell the case statement up towards the top
1464 # that MANUFACTURER isn't an operating system. Otherwise, code above
1465 # will signal an error saying that MANUFACTURER isn't an operating
1466 # system, and we'll never get to this point.
1468 case $basic_machine in
1469 score-*)
1470 os=-elf
1472 spu-*)
1473 os=-elf
1475 *-acorn)
1476 os=-riscix1.2
1478 arm*-rebel)
1479 os=-linux
1481 arm*-semi)
1482 os=-aout
1484 c4x-* | tic4x-*)
1485 os=-coff
1487 # This must come before the *-dec entry.
1488 pdp10-*)
1489 os=-tops20
1491 pdp11-*)
1492 os=-none
1494 *-dec | vax-*)
1495 os=-ultrix4.2
1497 m68*-apollo)
1498 os=-domain
1500 i386-sun)
1501 os=-sunos4.0.2
1503 m68000-sun)
1504 os=-sunos3
1505 # This also exists in the configure program, but was not the
1506 # default.
1507 # os=-sunos4
1509 m68*-cisco)
1510 os=-aout
1512 mep-*)
1513 os=-elf
1515 mips*-cisco)
1516 os=-elf
1518 mips*-*)
1519 os=-elf
1521 or32-*)
1522 os=-coff
1524 *-tti) # must be before sparc entry or we get the wrong os.
1525 os=-sysv3
1527 sparc-* | *-sun)
1528 os=-sunos4.1.1
1530 *-be)
1531 os=-beos
1533 *-haiku)
1534 os=-haiku
1536 *-ibm)
1537 os=-aix
1539 *-knuth)
1540 os=-mmixware
1542 *-wec)
1543 os=-proelf
1545 *-winbond)
1546 os=-proelf
1548 *-oki)
1549 os=-proelf
1551 *-hp)
1552 os=-hpux
1554 *-hitachi)
1555 os=-hiux
1557 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1558 os=-sysv
1560 *-cbm)
1561 os=-amigaos
1563 *-dg)
1564 os=-dgux
1566 *-dolphin)
1567 os=-sysv3
1569 m68k-ccur)
1570 os=-rtu
1572 m88k-omron*)
1573 os=-luna
1575 *-next )
1576 os=-nextstep
1578 *-sequent)
1579 os=-ptx
1581 *-crds)
1582 os=-unos
1584 *-ns)
1585 os=-genix
1587 i370-*)
1588 os=-mvs
1590 *-next)
1591 os=-nextstep3
1593 *-gould)
1594 os=-sysv
1596 *-highlevel)
1597 os=-bsd
1599 *-encore)
1600 os=-bsd
1602 *-sgi)
1603 os=-irix
1605 *-siemens)
1606 os=-sysv4
1608 *-masscomp)
1609 os=-rtu
1611 f30[01]-fujitsu | f700-fujitsu)
1612 os=-uxpv
1614 *-rom68k)
1615 os=-coff
1617 *-*bug)
1618 os=-coff
1620 *-apple)
1621 os=-macos
1623 *-atari*)
1624 os=-mint
1627 os=-none
1629 esac
1632 # Here we handle the case where we know the os, and the CPU type, but not the
1633 # manufacturer. We pick the logical manufacturer.
1634 vendor=unknown
1635 case $basic_machine in
1636 *-unknown)
1637 case $os in
1638 -riscix*)
1639 vendor=acorn
1641 -sunos*)
1642 vendor=sun
1644 -cnk*|-aix*)
1645 vendor=ibm
1647 -beos*)
1648 vendor=be
1650 -hpux*)
1651 vendor=hp
1653 -mpeix*)
1654 vendor=hp
1656 -hiux*)
1657 vendor=hitachi
1659 -unos*)
1660 vendor=crds
1662 -dgux*)
1663 vendor=dg
1665 -luna*)
1666 vendor=omron
1668 -genix*)
1669 vendor=ns
1671 -mvs* | -opened*)
1672 vendor=ibm
1674 -os400*)
1675 vendor=ibm
1677 -ptx*)
1678 vendor=sequent
1680 -tpf*)
1681 vendor=ibm
1683 -vxsim* | -vxworks* | -windiss*)
1684 vendor=wrs
1686 -aux*)
1687 vendor=apple
1689 -hms*)
1690 vendor=hitachi
1692 -mpw* | -macos*)
1693 vendor=apple
1695 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1696 vendor=atari
1698 -vos*)
1699 vendor=stratus
1701 esac
1702 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1704 esac
1706 echo $basic_machine$os
1707 exit
1709 # Local variables:
1710 # eval: (add-hook 'write-file-hooks 'time-stamp)
1711 # time-stamp-start: "timestamp='"
1712 # time-stamp-format: "%:y-%02m-%02d"
1713 # time-stamp-end: "'"
1714 # End: