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