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