source: trunk/libs/newlib/src/config.sub @ 547

Last change on this file since 547 was 444, checked in by satin@…, 7 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 35.4 KB
RevLine 
[444]1#! /bin/sh
2# Configuration validation subroutine script.
3#   Copyright 1992-2016 Free Software Foundation, Inc.
4
5timestamp='2016-05-10'
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 <http://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# http://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
60Operation modes:
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-2016 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* | *-almosmkh | \
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        -windowsnt*)
233                os=`echo $os | sed -e 's/windowsnt/winnt/'`
234                ;;
235        -psos*)
236                os=-psos
237                ;;
238        -mint | -mint[0-9]*)
239                basic_machine=m68k-atari
240                os=-mint
241                ;;
242esac
243
244# Decode aliases for certain CPU-COMPANY combinations.
245case $basic_machine in
246        # Recognize the basic CPU types without company name.
247        # Some are omitted here because they have special meanings below.
248        1750a | 580 \
249        | a29k \
250        | aarch64 | aarch64_be \
251        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
252        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
253        | am33_2.0 \
254        | arc | arceb \
255        | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
256        | avr | avr32 \
257        | ba \
258        | be32 | be64 \
259        | bfin \
260        | c4x | c8051 | clipper \
261        | d10v | d30v | dlx | dsp16xx \
262        | e2k | epiphany \
263        | fido | fr30 | frv | ft32 \
264        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265        | hexagon \
266        | i370 | i860 | i960 | ia64 \
267        | ip2k | iq2000 \
268        | k1om \
269        | le32 | le64 \
270        | lm32 \
271        | m32c | m32r | m32rle | m68000 | m68k | m88k \
272        | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
273        | mips | mipsbe | mipseb | mipsel | mipsle \
274        | mips16 \
275        | mips64 | mips64el \
276        | mips64octeon | mips64octeonel \
277        | mips64orion | mips64orionel \
278        | mips64r5900 | mips64r5900el \
279        | mips64vr | mips64vrel \
280        | mips64vr4100 | mips64vr4100el \
281        | mips64vr4300 | mips64vr4300el \
282        | mips64vr5000 | mips64vr5000el \
283        | mips64vr5900 | mips64vr5900el \
284        | mipsisa32 | mipsisa32el \
285        | mipsisa32r2 | mipsisa32r2el \
286        | mipsisa32r6 | mipsisa32r6el \
287        | mipsisa64 | mipsisa64el \
288        | mipsisa64r2 | mipsisa64r2el \
289        | mipsisa64r6 | mipsisa64r6el \
290        | mipsisa64sb1 | mipsisa64sb1el \
291        | mipsisa64sr71k | mipsisa64sr71kel \
292        | mipsr5900 | mipsr5900el \
293        | mipstx39 | mipstx39el \
294        | mn10200 | mn10300 \
295        | moxie \
296        | mt \
297        | msp430 \
298        | nds32 | nds32le | nds32be \
299        | nios | nios2 | nios2eb | nios2el \
300        | ns16k | ns32k \
301        | open8 | or1k | or1knd | or32 \
302        | pdp10 | pdp11 | pj | pjl \
303        | powerpc | powerpc64 | powerpc64le | powerpcle \
304        | pyramid \
305        | riscv32 | riscv64 \
306        | rl78 | rx \
307        | score \
308        | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
309        | sh64 | sh64le \
310        | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
311        | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
312        | spu \
313        | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
314        | ubicom32 \
315        | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
316        | visium \
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        leon|leon[3-9])
332                basic_machine=sparc-$basic_machine
333                ;;
334        m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
335                basic_machine=$basic_machine-unknown
336                os=-none
337                ;;
338        m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
339                ;;
340        ms1)
341                basic_machine=mt-unknown
342                ;;
343
344        strongarm | thumb | xscale)
345                basic_machine=arm-unknown
346                ;;
347        xgate)
348                basic_machine=$basic_machine-unknown
349                os=-none
350                ;;
351        xscaleeb)
352                basic_machine=armeb-unknown
353                ;;
354
355        xscaleel)
356                basic_machine=armel-unknown
357                ;;
358
359        # We use `pc' rather than `unknown'
360        # because (1) that's what they normally are, and
361        # (2) the word "unknown" tends to confuse beginning users.
362        i*86 | x86_64)
363          basic_machine=$basic_machine-pc
364          ;;
365        # Object if more than one company name word.
366        *-*-*)
367                echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
368                exit 1
369                ;;
370        # Recognize the basic CPU types with company name.
371        580-* \
372        | a29k-* \
373        | aarch64-* | aarch64_be-* \
374        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
375        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
376        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
377        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
378        | avr-* | avr32-* \
379        | ba-* \
380        | be32-* | be64-* \
381        | bfin-* | bs2000-* \
382        | c[123]* | c30-* | [cjt]90-* | c4x-* \
383        | c8051-* | clipper-* | craynv-* | cydra-* \
384        | d10v-* | d30v-* | dlx-* \
385        | e2k-* | elxsi-* \
386        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
387        | h8300-* | h8500-* \
388        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
389        | hexagon-* \
390        | i*86-* | i860-* | i960-* | ia64-* \
391        | ip2k-* | iq2000-* \
392        | k1om-* \
393        | le32-* | le64-* \
394        | lm32-* \
395        | m32c-* | m32r-* | m32rle-* \
396        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
397        | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
398        | microblaze-* | microblazeel-* \
399        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
400        | mips16-* \
401        | mips64-* | mips64el-* \
402        | mips64octeon-* | mips64octeonel-* \
403        | mips64orion-* | mips64orionel-* \
404        | mips64r5900-* | mips64r5900el-* \
405        | mips64vr-* | mips64vrel-* \
406        | mips64vr4100-* | mips64vr4100el-* \
407        | mips64vr4300-* | mips64vr4300el-* \
408        | mips64vr5000-* | mips64vr5000el-* \
409        | mips64vr5900-* | mips64vr5900el-* \
410        | mipsisa32-* | mipsisa32el-* \
411        | mipsisa32r2-* | mipsisa32r2el-* \
412        | mipsisa32r6-* | mipsisa32r6el-* \
413        | mipsisa64-* | mipsisa64el-* \
414        | mipsisa64r2-* | mipsisa64r2el-* \
415        | mipsisa64r6-* | mipsisa64r6el-* \
416        | mipsisa64sb1-* | mipsisa64sb1el-* \
417        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
418        | mipsr5900-* | mipsr5900el-* \
419        | mipstx39-* | mipstx39el-* \
420        | mmix-* \
421        | mt-* \
422        | msp430-* \
423        | nds32-* | nds32le-* | nds32be-* \
424        | nios-* | nios2-* | nios2eb-* | nios2el-* \
425        | none-* | np1-* | ns16k-* | ns32k-* \
426        | open8-* \
427        | or1k*-* \
428        | orion-* \
429        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
430        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
431        | pyramid-* \
432        | riscv32-* | riscv64-* \
433        | rl78-* | romp-* | rs6000-* | rx-* \
434        | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
435        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
436        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
437        | sparclite-* \
438        | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
439        | tahoe-* \
440        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
441        | tile*-* \
442        | tron-* \
443        | ubicom32-* \
444        | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
445        | vax-* \
446        | visium-* \
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-unknown
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* | dpx2*-bull)
643                basic_machine=m68k-bull
644                os=-sysv3
645                ;;
646        ebmon29k)
647                basic_machine=a29k-amd
648                os=-ebmon
649                ;;
650        elxsi)
651                basic_machine=elxsi-elxsi
652                os=-bsd
653                ;;
654        encore | umax | mmax)
655                basic_machine=ns32k-encore
656                ;;
657        es1800 | OSE68k | ose68k | ose | OSE)
658                basic_machine=m68k-ericsson
659                os=-ose
660                ;;
661        fx2800)
662                basic_machine=i860-alliant
663                ;;
664        genix)
665                basic_machine=ns32k-ns
666                ;;
667        gmicro)
668                basic_machine=tron-gmicro
669                os=-sysv
670                ;;
671        go32)
672                basic_machine=i386-pc
673                os=-go32
674                ;;
675        h3050r* | hiux*)
676                basic_machine=hppa1.1-hitachi
677                os=-hiuxwe2
678                ;;
679        h8300hms)
680                basic_machine=h8300-hitachi
681                os=-hms
682                ;;
683        h8300xray)
684                basic_machine=h8300-hitachi
685                os=-xray
686                ;;
687        h8500hms)
688                basic_machine=h8500-hitachi
689                os=-hms
690                ;;
691        harris)
692                basic_machine=m88k-harris
693                os=-sysv3
694                ;;
695        hp300-*)
696                basic_machine=m68k-hp
697                ;;
698        hp300bsd)
699                basic_machine=m68k-hp
700                os=-bsd
701                ;;
702        hp300hpux)
703                basic_machine=m68k-hp
704                os=-hpux
705                ;;
706        hp3k9[0-9][0-9] | hp9[0-9][0-9])
707                basic_machine=hppa1.0-hp
708                ;;
709        hp9k2[0-9][0-9] | hp9k31[0-9])
710                basic_machine=m68000-hp
711                ;;
712        hp9k3[2-9][0-9])
713                basic_machine=m68k-hp
714                ;;
715        hp9k6[0-9][0-9] | hp6[0-9][0-9])
716                basic_machine=hppa1.0-hp
717                ;;
718        hp9k7[0-79][0-9] | hp7[0-79][0-9])
719                basic_machine=hppa1.1-hp
720                ;;
721        hp9k78[0-9] | hp78[0-9])
722                # FIXME: really hppa2.0-hp
723                basic_machine=hppa1.1-hp
724                ;;
725        hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
726                # FIXME: really hppa2.0-hp
727                basic_machine=hppa1.1-hp
728                ;;
729        hp9k8[0-9][13679] | hp8[0-9][13679])
730                basic_machine=hppa1.1-hp
731                ;;
732        hp9k8[0-9][0-9] | hp8[0-9][0-9])
733                basic_machine=hppa1.0-hp
734                ;;
735        hppa-next)
736                os=-nextstep3
737                ;;
738        hppaosf)
739                basic_machine=hppa1.1-hp
740                os=-osf
741                ;;
742        hppro)
743                basic_machine=hppa1.1-hp
744                os=-proelf
745                ;;
746        i370-ibm* | ibm*)
747                basic_machine=i370-ibm
748                ;;
749        i*86v32)
750                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
751                os=-sysv32
752                ;;
753        i*86v4*)
754                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
755                os=-sysv4
756                ;;
757        i*86v)
758                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
759                os=-sysv
760                ;;
761        i*86sol2)
762                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
763                os=-solaris2
764                ;;
765        i386mach)
766                basic_machine=i386-mach
767                os=-mach
768                ;;
769        i386-vsta | vsta)
770                basic_machine=i386-unknown
771                os=-vsta
772                ;;
773        iris | iris4d)
774                basic_machine=mips-sgi
775                case $os in
776                    -irix*)
777                        ;;
778                    *)
779                        os=-irix4
780                        ;;
781                esac
782                ;;
783        isi68 | isi)
784                basic_machine=m68k-isi
785                os=-sysv
786                ;;
787        leon-*|leon[3-9]-*)
788                basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
789                ;;
790        m68knommu)
791                basic_machine=m68k-unknown
792                os=-linux
793                ;;
794        m68knommu-*)
795                basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
796                os=-linux
797                ;;
798        m88k-omron*)
799                basic_machine=m88k-omron
800                ;;
801        magnum | m3230)
802                basic_machine=mips-mips
803                os=-sysv
804                ;;
805        merlin)
806                basic_machine=ns32k-utek
807                os=-sysv
808                ;;
809        microblaze*)
810                basic_machine=microblaze-xilinx
811                ;;
812        mingw64)
813                basic_machine=x86_64-pc
814                os=-mingw64
815                ;;
816        mingw32)
817                basic_machine=i686-pc
818                os=-mingw32
819                ;;
820        mingw32ce)
821                basic_machine=arm-unknown
822                os=-mingw32ce
823                ;;
824        miniframe)
825                basic_machine=m68000-convergent
826                ;;
827        *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
828                basic_machine=m68k-atari
829                os=-mint
830                ;;
831        mips3*-*)
832                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
833                ;;
834        mips3*)
835                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
836                ;;
837        monitor)
838                basic_machine=m68k-rom68k
839                os=-coff
840                ;;
841        morphos)
842                basic_machine=powerpc-unknown
843                os=-morphos
844                ;;
845        moxiebox)
846                basic_machine=moxie-unknown
847                os=-moxiebox
848                ;;
849        msdos)
850                basic_machine=i386-pc
851                os=-msdos
852                ;;
853        ms1-*)
854                basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
855                ;;
856        msys)
857                basic_machine=i686-pc
858                os=-msys
859                ;;
860        mvs)
861                basic_machine=i370-ibm
862                os=-mvs
863                ;;
864        nacl)
865                basic_machine=le32-unknown
866                os=-nacl
867                ;;
868        ncr3000)
869                basic_machine=i486-ncr
870                os=-sysv4
871                ;;
872        netbsd386)
873                basic_machine=i386-unknown
874                os=-netbsd
875                ;;
876        netwinder)
877                basic_machine=armv4l-rebel
878                os=-linux
879                ;;
880        news | news700 | news800 | news900)
881                basic_machine=m68k-sony
882                os=-newsos
883                ;;
884        news1000)
885                basic_machine=m68030-sony
886                os=-newsos
887                ;;
888        news-3600 | risc-news)
889                basic_machine=mips-sony
890                os=-newsos
891                ;;
892        necv70)
893                basic_machine=v70-nec
894                os=-sysv
895                ;;
896        next | m*-next )
897                basic_machine=m68k-next
898                case $os in
899                    -nextstep* )
900                        ;;
901                    -ns2*)
902                      os=-nextstep2
903                        ;;
904                    *)
905                      os=-nextstep3
906                        ;;
907                esac
908                ;;
909        nh3000)
910                basic_machine=m68k-harris
911                os=-cxux
912                ;;
913        nh[45]000)
914                basic_machine=m88k-harris
915                os=-cxux
916                ;;
917        nindy960)
918                basic_machine=i960-intel
919                os=-nindy
920                ;;
921        mon960)
922                basic_machine=i960-intel
923                os=-mon960
924                ;;
925        nonstopux)
926                basic_machine=mips-compaq
927                os=-nonstopux
928                ;;
929        np1)
930                basic_machine=np1-gould
931                ;;
932        neo-tandem)
933                basic_machine=neo-tandem
934                ;;
935        nse-tandem)
936                basic_machine=nse-tandem
937                ;;
938        nsr-tandem)
939                basic_machine=nsr-tandem
940                ;;
941        op50n-* | op60c-*)
942                basic_machine=hppa1.1-oki
943                os=-proelf
944                ;;
945        openrisc | openrisc-*)
946                basic_machine=or32-unknown
947                ;;
948        os400)
949                basic_machine=powerpc-ibm
950                os=-os400
951                ;;
952        OSE68000 | ose68000)
953                basic_machine=m68000-ericsson
954                os=-ose
955                ;;
956        os68k)
957                basic_machine=m68k-none
958                os=-os68k
959                ;;
960        pa-hitachi)
961                basic_machine=hppa1.1-hitachi
962                os=-hiuxwe2
963                ;;
964        paragon)
965                basic_machine=i860-intel
966                os=-osf
967                ;;
968        parisc)
969                basic_machine=hppa-unknown
970                os=-linux
971                ;;
972        parisc-*)
973                basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
974                os=-linux
975                ;;
976        pbd)
977                basic_machine=sparc-tti
978                ;;
979        pbb)
980                basic_machine=m68k-tti
981                ;;
982        pc532 | pc532-*)
983                basic_machine=ns32k-pc532
984                ;;
985        pc98)
986                basic_machine=i386-pc
987                ;;
988        pc98-*)
989                basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
990                ;;
991        pentium | p5 | k5 | k6 | nexgen | viac3)
992                basic_machine=i586-pc
993                ;;
994        pentiumpro | p6 | 6x86 | athlon | athlon_*)
995                basic_machine=i686-pc
996                ;;
997        pentiumii | pentium2 | pentiumiii | pentium3)
998                basic_machine=i686-pc
999                ;;
1000        pentium4)
1001                basic_machine=i786-pc
1002                ;;
1003        pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1004                basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1005                ;;
1006        pentiumpro-* | p6-* | 6x86-* | athlon-*)
1007                basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1008                ;;
1009        pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1010                basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1011                ;;
1012        pentium4-*)
1013                basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1014                ;;
1015        pn)
1016                basic_machine=pn-gould
1017                ;;
1018        power)  basic_machine=power-ibm
1019                ;;
1020        ppc | ppcbe)    basic_machine=powerpc-unknown
1021                ;;
1022        ppc-* | ppcbe-*)
1023                basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1024                ;;
1025        ppcle | powerpclittle | ppc-le | powerpc-little)
1026                basic_machine=powerpcle-unknown
1027                ;;
1028        ppcle-* | powerpclittle-*)
1029                basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1030                ;;
1031        ppc64)  basic_machine=powerpc64-unknown
1032                ;;
1033        ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1034                ;;
1035        ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1036                basic_machine=powerpc64le-unknown
1037                ;;
1038        ppc64le-* | powerpc64little-*)
1039                basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1040                ;;
1041        ps2)
1042                basic_machine=i386-ibm
1043                ;;
1044        pw32)
1045                basic_machine=i586-unknown
1046                os=-pw32
1047                ;;
1048        rdos | rdos64)
1049                basic_machine=x86_64-pc
1050                os=-rdos
1051                ;;
1052        rdos32)
1053                basic_machine=i386-pc
1054                os=-rdos
1055                ;;
1056        rom68k)
1057                basic_machine=m68k-rom68k
1058                os=-coff
1059                ;;
1060        rm[46]00)
1061                basic_machine=mips-siemens
1062                ;;
1063        rtpc | rtpc-*)
1064                basic_machine=romp-ibm
1065                ;;
1066        s390 | s390-*)
1067                basic_machine=s390-ibm
1068                ;;
1069        s390x | s390x-*)
1070                basic_machine=s390x-ibm
1071                ;;
1072        sa29200)
1073                basic_machine=a29k-amd
1074                os=-udi
1075                ;;
1076        sb1)
1077                basic_machine=mipsisa64sb1-unknown
1078                ;;
1079        sb1el)
1080                basic_machine=mipsisa64sb1el-unknown
1081                ;;
1082        sde)
1083                basic_machine=mipsisa32-sde
1084                os=-elf
1085                ;;
1086        sei)
1087                basic_machine=mips-sei
1088                os=-seiux
1089                ;;
1090        sequent)
1091                basic_machine=i386-sequent
1092                ;;
1093        sh)
1094                basic_machine=sh-hitachi
1095                os=-hms
1096                ;;
1097        sh5el)
1098                basic_machine=sh5le-unknown
1099                ;;
1100        sh64)
1101                basic_machine=sh64-unknown
1102                ;;
1103        sparclite-wrs | simso-wrs)
1104                basic_machine=sparclite-wrs
1105                os=-vxworks
1106                ;;
1107        sps7)
1108                basic_machine=m68k-bull
1109                os=-sysv2
1110                ;;
1111        spur)
1112                basic_machine=spur-unknown
1113                ;;
1114        st2000)
1115                basic_machine=m68k-tandem
1116                ;;
1117        stratus)
1118                basic_machine=i860-stratus
1119                os=-sysv4
1120                ;;
1121        strongarm-* | thumb-*)
1122                basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1123                ;;
1124        sun2)
1125                basic_machine=m68000-sun
1126                ;;
1127        sun2os3)
1128                basic_machine=m68000-sun
1129                os=-sunos3
1130                ;;
1131        sun2os4)
1132                basic_machine=m68000-sun
1133                os=-sunos4
1134                ;;
1135        sun3os3)
1136                basic_machine=m68k-sun
1137                os=-sunos3
1138                ;;
1139        sun3os4)
1140                basic_machine=m68k-sun
1141                os=-sunos4
1142                ;;
1143        sun4os3)
1144                basic_machine=sparc-sun
1145                os=-sunos3
1146                ;;
1147        sun4os4)
1148                basic_machine=sparc-sun
1149                os=-sunos4
1150                ;;
1151        sun4sol2)
1152                basic_machine=sparc-sun
1153                os=-solaris2
1154                ;;
1155        sun3 | sun3-*)
1156                basic_machine=m68k-sun
1157                ;;
1158        sun4)
1159                basic_machine=sparc-sun
1160                ;;
1161        sun386 | sun386i | roadrunner)
1162                basic_machine=i386-sun
1163                ;;
1164        sv1)
1165                basic_machine=sv1-cray
1166                os=-unicos
1167                ;;
1168        symmetry)
1169                basic_machine=i386-sequent
1170                os=-dynix
1171                ;;
1172        t3e)
1173                basic_machine=alphaev5-cray
1174                os=-unicos
1175                ;;
1176        t90)
1177                basic_machine=t90-cray
1178                os=-unicos
1179                ;;
1180        tile*)
1181                basic_machine=$basic_machine-unknown
1182                os=-linux-gnu
1183                ;;
1184        tx39)
1185                basic_machine=mipstx39-unknown
1186                ;;
1187        tx39el)
1188                basic_machine=mipstx39el-unknown
1189                ;;
1190        toad1)
1191                basic_machine=pdp10-xkl
1192                os=-tops20
1193                ;;
1194        tower | tower-32)
1195                basic_machine=m68k-ncr
1196                ;;
1197        tpf)
1198                basic_machine=s390x-ibm
1199                os=-tpf
1200                ;;
1201        udi29k)
1202                basic_machine=a29k-amd
1203                os=-udi
1204                ;;
1205        ultra3)
1206                basic_machine=a29k-nyu
1207                os=-sym1
1208                ;;
1209        v810 | necv810)
1210                basic_machine=v810-nec
1211                os=-none
1212                ;;
1213        vaxv)
1214                basic_machine=vax-dec
1215                os=-sysv
1216                ;;
1217        vms)
1218                basic_machine=vax-dec
1219                os=-vms
1220                ;;
1221        vpp*|vx|vx-*)
1222                basic_machine=f301-fujitsu
1223                ;;
1224        vxworks960)
1225                basic_machine=i960-wrs
1226                os=-vxworks
1227                ;;
1228        vxworks68)
1229                basic_machine=m68k-wrs
1230                os=-vxworks
1231                ;;
1232        vxworks29k)
1233                basic_machine=a29k-wrs
1234                os=-vxworks
1235                ;;
1236        w65*)
1237                basic_machine=w65-wdc
1238                os=-none
1239                ;;
1240        w89k-*)
1241                basic_machine=hppa1.1-winbond
1242                os=-proelf
1243                ;;
1244        xbox)
1245                basic_machine=i686-pc
1246                os=-mingw32
1247                ;;
1248        xps | xps100)
1249                basic_machine=xps100-honeywell
1250                ;;
1251        xscale-* | xscalee[bl]-*)
1252                basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1253                ;;
1254        ymp)
1255                basic_machine=ymp-cray
1256                os=-unicos
1257                ;;
1258        z8k-*-coff)
1259                basic_machine=z8k-unknown
1260                os=-sim
1261                ;;
1262        z80-*-coff)
1263                basic_machine=z80-unknown
1264                os=-sim
1265                ;;
1266        none)
1267                basic_machine=none-none
1268                os=-none
1269                ;;
1270
1271# Here we handle the default manufacturer of certain CPU types.  It is in
1272# some cases the only manufacturer, in others, it is the most popular.
1273        w89k)
1274                basic_machine=hppa1.1-winbond
1275                ;;
1276        op50n)
1277                basic_machine=hppa1.1-oki
1278                ;;
1279        op60c)
1280                basic_machine=hppa1.1-oki
1281                ;;
1282        romp)
1283                basic_machine=romp-ibm
1284                ;;
1285        mmix)
1286                basic_machine=mmix-knuth
1287                ;;
1288        rs6000)
1289                basic_machine=rs6000-ibm
1290                ;;
1291        vax)
1292                basic_machine=vax-dec
1293                ;;
1294        pdp10)
1295                # there are many clones, so DEC is not a safe bet
1296                basic_machine=pdp10-unknown
1297                ;;
1298        pdp11)
1299                basic_machine=pdp11-dec
1300                ;;
1301        we32k)
1302                basic_machine=we32k-att
1303                ;;
1304        sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1305                basic_machine=sh-unknown
1306                ;;
1307        sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1308                basic_machine=sparc-sun
1309                ;;
1310        cydra)
1311                basic_machine=cydra-cydrome
1312                ;;
1313        orion)
1314                basic_machine=orion-highlevel
1315                ;;
1316        orion105)
1317                basic_machine=clipper-highlevel
1318                ;;
1319        mac | mpw | mac-mpw)
1320                basic_machine=m68k-apple
1321                ;;
1322        pmac | pmac-mpw)
1323                basic_machine=powerpc-apple
1324                ;;
1325        *-unknown)
1326                # Make sure to match an already-canonicalized machine name.
1327                ;;
1328        *)
1329                echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1330                exit 1
1331                ;;
1332esac
1333
1334# Here we canonicalize certain aliases for manufacturers.
1335case $basic_machine in
1336        *-digital*)
1337                basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1338                ;;
1339        *-commodore*)
1340                basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1341                ;;
1342        *)
1343                ;;
1344esac
1345
1346# Decode manufacturer-specific aliases for certain operating systems.
1347
1348if [ x"$os" != x"" ]
1349then
1350case $os in
1351        # First match some system type aliases
1352        # that might get confused with valid system types.
1353        # -solaris* is a basic system type, with this one exception.
1354        -auroraux)
1355                os=-auroraux
1356                ;;
1357        -solaris1 | -solaris1.*)
1358                os=`echo $os | sed -e 's|solaris1|sunos4|'`
1359                ;;
1360        -solaris)
1361                os=-solaris2
1362                ;;
1363        -svr4*)
1364                os=-sysv4
1365                ;;
1366        -unixware*)
1367                os=-sysv4.2uw
1368                ;;
1369        -gnu/linux*)
1370                os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1371                ;;
1372        # First accept the basic system types.
1373        # The portable systems comes first.
1374        # Each alternative MUST END IN A *, to match a version number.
1375        # -sysv* is not here because it comes later, after sysvr4.
1376        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1377              | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1378              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1379              | -sym* | -kopensolaris* | -plan9* \
1380              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1381              | -aos* | -aros* | -cloudabi* | -sortix* \
1382              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1383              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1384              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1385              | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
1386              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1387              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1388              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1389              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1390              | -chorusos* | -chorusrdb* | -cegcc* \
1391              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1392              | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1393              | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1394              | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
1395              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1396              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1397              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1398              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1399              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1400              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1401              | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
1402              | -onefs* | -tirtos* | -phoenix*)
1403        # Remember, each alternative MUST END IN *, to match a version number.
1404                ;;
1405        -qnx*)
1406                case $basic_machine in
1407                    x86-* | i*86-*)
1408                        ;;
1409                    *)
1410                        os=-nto$os
1411                        ;;
1412                esac
1413                ;;
1414        -nto-qnx*)
1415                ;;
1416        -nto*)
1417                os=`echo $os | sed -e 's|nto|nto-qnx|'`
1418                ;;
1419        -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1420              | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1421              | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1422                ;;
1423        -mac*)
1424                os=`echo $os | sed -e 's|mac|macos|'`
1425                ;;
1426        -linux-dietlibc)
1427                os=-linux-dietlibc
1428                ;;
1429        -linux*)
1430                os=`echo $os | sed -e 's|linux|linux-gnu|'`
1431                ;;
1432        -sunos5*)
1433                os=`echo $os | sed -e 's|sunos5|solaris2|'`
1434                ;;
1435        -sunos6*)
1436                os=`echo $os | sed -e 's|sunos6|solaris3|'`
1437                ;;
1438        -opened*)
1439                os=-openedition
1440                ;;
1441        -os400*)
1442                os=-os400
1443                ;;
1444        -wince*)
1445                os=-wince
1446                ;;
1447        -osfrose*)
1448                os=-osfrose
1449                ;;
1450        -osf*)
1451                os=-osf
1452                ;;
1453        -utek*)
1454                os=-bsd
1455                ;;
1456        -dynix*)
1457                os=-bsd
1458                ;;
1459        -acis*)
1460                os=-aos
1461                ;;
1462        -atheos*)
1463                os=-atheos
1464                ;;
1465        -syllable*)
1466                os=-syllable
1467                ;;
1468        -386bsd)
1469                os=-bsd
1470                ;;
1471        -ctix* | -uts*)
1472                os=-sysv
1473                ;;
1474        -nova*)
1475                os=-rtmk-nova
1476                ;;
1477        -ns2 )
1478                os=-nextstep2
1479                ;;
1480        -nsk*)
1481                os=-nsk
1482                ;;
1483        # Preserve the version number of sinix5.
1484        -sinix5.*)
1485                os=`echo $os | sed -e 's|sinix|sysv|'`
1486                ;;
1487        -sinix*)
1488                os=-sysv4
1489                ;;
1490        -tpf*)
1491                os=-tpf
1492                ;;
1493        -triton*)
1494                os=-sysv3
1495                ;;
1496        -oss*)
1497                os=-sysv3
1498                ;;
1499        -svr4)
1500                os=-sysv4
1501                ;;
1502        -svr3)
1503                os=-sysv3
1504                ;;
1505        -sysvr4)
1506                os=-sysv4
1507                ;;
1508        # This must come after -sysvr4.
1509        -sysv*)
1510                ;;
1511        -ose*)
1512                os=-ose
1513                ;;
1514        -es1800*)
1515                os=-ose
1516                ;;
1517        -xenix)
1518                os=-xenix
1519                ;;
1520        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1521                os=-mint
1522                ;;
1523        -aros*)
1524                os=-aros
1525                ;;
1526        -zvmoe)
1527                os=-zvmoe
1528                ;;
1529        -dicos*)
1530                os=-dicos
1531                ;;
1532        -nacl*)
1533                ;;
1534        -ios)
1535                ;;
1536        -none)
1537                ;;
1538  -almosmkh)
1539    os=-almosmkh
1540    ;;
1541        *)
1542                # Get rid of the `-' at the beginning of $os.
1543                os=`echo $os | sed 's/[^-]*-//'`
1544                echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1545                exit 1
1546                ;;
1547esac
1548else
1549
1550# Here we handle the default operating systems that come with various machines.
1551# The value should be what the vendor currently ships out the door with their
1552# machine or put another way, the most popular os provided with the machine.
1553
1554# Note that if you're going to try to match "-MANUFACTURER" here (say,
1555# "-sun"), then you have to tell the case statement up towards the top
1556# that MANUFACTURER isn't an operating system.  Otherwise, code above
1557# will signal an error saying that MANUFACTURER isn't an operating
1558# system, and we'll never get to this point.
1559
1560case $basic_machine in
1561        score-*)
1562                os=-elf
1563                ;;
1564        spu-*)
1565                os=-elf
1566                ;;
1567        *-acorn)
1568                os=-riscix1.2
1569                ;;
1570        arm*-rebel)
1571                os=-linux
1572                ;;
1573        arm*-semi)
1574                os=-aout
1575                ;;
1576        c4x-* | tic4x-*)
1577                os=-coff
1578                ;;
1579        c8051-*)
1580                os=-elf
1581                ;;
1582        hexagon-*)
1583                os=-elf
1584                ;;
1585        tic54x-*)
1586                os=-coff
1587                ;;
1588        tic55x-*)
1589                os=-coff
1590                ;;
1591        tic6x-*)
1592                os=-coff
1593                ;;
1594        # This must come before the *-dec entry.
1595        pdp10-*)
1596                os=-tops20
1597                ;;
1598        pdp11-*)
1599                os=-none
1600                ;;
1601        *-dec | vax-*)
1602                os=-ultrix4.2
1603                ;;
1604        m68*-apollo)
1605                os=-domain
1606                ;;
1607        i386-sun)
1608                os=-sunos4.0.2
1609                ;;
1610        m68000-sun)
1611                os=-sunos3
1612                ;;
1613        m68*-cisco)
1614                os=-aout
1615                ;;
1616        mep-*)
1617                os=-elf
1618                ;;
1619        mips*-cisco)
1620                os=-elf
1621                ;;
1622        mips*-*)
1623                os=-elf
1624                ;;
1625        or32-*)
1626                os=-coff
1627                ;;
1628        *-tti)  # must be before sparc entry or we get the wrong os.
1629                os=-sysv3
1630                ;;
1631        sparc-* | *-sun)
1632                os=-sunos4.1.1
1633                ;;
1634        *-be)
1635                os=-beos
1636                ;;
1637        *-haiku)
1638                os=-haiku
1639                ;;
1640        *-ibm)
1641                os=-aix
1642                ;;
1643        *-knuth)
1644                os=-mmixware
1645                ;;
1646        *-wec)
1647                os=-proelf
1648                ;;
1649        *-winbond)
1650                os=-proelf
1651                ;;
1652        *-oki)
1653                os=-proelf
1654                ;;
1655        *-hp)
1656                os=-hpux
1657                ;;
1658        *-hitachi)
1659                os=-hiux
1660                ;;
1661        i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1662                os=-sysv
1663                ;;
1664        *-cbm)
1665                os=-amigaos
1666                ;;
1667        *-dg)
1668                os=-dgux
1669                ;;
1670        *-dolphin)
1671                os=-sysv3
1672                ;;
1673        m68k-ccur)
1674                os=-rtu
1675                ;;
1676        m88k-omron*)
1677                os=-luna
1678                ;;
1679        *-next )
1680                os=-nextstep
1681                ;;
1682        *-sequent)
1683                os=-ptx
1684                ;;
1685        *-crds)
1686                os=-unos
1687                ;;
1688        *-ns)
1689                os=-genix
1690                ;;
1691        i370-*)
1692                os=-mvs
1693                ;;
1694        *-next)
1695                os=-nextstep3
1696                ;;
1697        *-gould)
1698                os=-sysv
1699                ;;
1700        *-highlevel)
1701                os=-bsd
1702                ;;
1703        *-encore)
1704                os=-bsd
1705                ;;
1706        *-sgi)
1707                os=-irix
1708                ;;
1709        *-siemens)
1710                os=-sysv4
1711                ;;
1712        *-masscomp)
1713                os=-rtu
1714                ;;
1715        f30[01]-fujitsu | f700-fujitsu)
1716                os=-uxpv
1717                ;;
1718        *-rom68k)
1719                os=-coff
1720                ;;
1721        *-*bug)
1722                os=-coff
1723                ;;
1724        *-apple)
1725                os=-macos
1726                ;;
1727        *-atari*)
1728                os=-mint
1729                ;;
1730        *)
1731                os=-none
1732                ;;
1733esac
1734fi
1735
1736# Here we handle the case where we know the os, and the CPU type, but not the
1737# manufacturer.  We pick the logical manufacturer.
1738vendor=unknown
1739case $basic_machine in
1740        *-unknown)
1741                case $os in
1742                        -riscix*)
1743                                vendor=acorn
1744                                ;;
1745                        -sunos*)
1746                                vendor=sun
1747                                ;;
1748                        -cnk*|-aix*)
1749                                vendor=ibm
1750                                ;;
1751                        -beos*)
1752                                vendor=be
1753                                ;;
1754                        -hpux*)
1755                                vendor=hp
1756                                ;;
1757                        -mpeix*)
1758                                vendor=hp
1759                                ;;
1760                        -hiux*)
1761                                vendor=hitachi
1762                                ;;
1763                        -unos*)
1764                                vendor=crds
1765                                ;;
1766                        -dgux*)
1767                                vendor=dg
1768                                ;;
1769                        -luna*)
1770                                vendor=omron
1771                                ;;
1772                        -genix*)
1773                                vendor=ns
1774                                ;;
1775                        -mvs* | -opened*)
1776                                vendor=ibm
1777                                ;;
1778                        -os400*)
1779                                vendor=ibm
1780                                ;;
1781                        -ptx*)
1782                                vendor=sequent
1783                                ;;
1784                        -tpf*)
1785                                vendor=ibm
1786                                ;;
1787                        -vxsim* | -vxworks* | -windiss*)
1788                                vendor=wrs
1789                                ;;
1790                        -aux*)
1791                                vendor=apple
1792                                ;;
1793                        -hms*)
1794                                vendor=hitachi
1795                                ;;
1796                        -mpw* | -macos*)
1797                                vendor=apple
1798                                ;;
1799                        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1800                                vendor=atari
1801                                ;;
1802                        -vos*)
1803                                vendor=stratus
1804                                ;;
1805                esac
1806                basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1807                ;;
1808esac
1809
1810echo $basic_machine$os
1811exit
1812
1813# Local variables:
1814# eval: (add-hook 'write-file-hooks 'time-stamp)
1815# time-stamp-start: "timestamp='"
1816# time-stamp-format: "%:y-%02m-%02d"
1817# time-stamp-end: "'"
1818# End:
Note: See TracBrowser for help on using the repository browser.