root/main/trunk/gs2build/config.sub @ 21686

Revision 16591, 27.2 KB (checked in by oranfry, 11 years ago)

Further files needed for gs2build

  • Property svn:executable set to *
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.