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