source: rtems/config.sub @ dd8df59

4.115
Last change on this file since dd8df59 was 06e1086, checked in by Ralf Corsépius <ralf.corsepius@…>, on 10/09/12 at 12:38:43

Import from automake-1.12.4.

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