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