root/indexers/trunk/mg/config.sub @ 15561

Revision 15561, 27.2 KB (checked in by davidb, 12 years ago)

config.guess and config.sub updated to be the same as the ones used in mgpp. Older files didn't know about 64-bit architecture

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