Root/scripts/config.sub

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

Archive Download this file



interactive