root/NEWT0/trunk/config.sub

Revision 14, 29.3 kB (checked in by gnue, 3 years ago)

support autoconf

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