source: automake/config.sub @ d56cc219

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumwith_gc
Last change on this file since d56cc219 was 59310bf, checked in by Peter A. Buhr <pabuhr@…>, 7 years ago

automake directory must copy files, use --copy

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