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