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