source: git/ppcc/autosetup/autosetup-config.sub @ 2b7db4b

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