hex2bin, bin2hex: move declarations to header.
[platform/upstream/binutils.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 \
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         mips3*-*)
816                 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
817                 ;;
818         mips3*)
819                 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
820                 ;;
821         monitor)
822                 basic_machine=m68k-rom68k
823                 os=-coff
824                 ;;
825         morphos)
826                 basic_machine=powerpc-unknown
827                 os=-morphos
828                 ;;
829         msdos)
830                 basic_machine=i386-pc
831                 os=-msdos
832                 ;;
833         ms1-*)
834                 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
835                 ;;
836         msys)
837                 basic_machine=i386-pc
838                 os=-msys
839                 ;;
840         mvs)
841                 basic_machine=i370-ibm
842                 os=-mvs
843                 ;;
844         nacl)
845                 basic_machine=le32-unknown
846                 os=-nacl
847                 ;;
848         ncr3000)
849                 basic_machine=i486-ncr
850                 os=-sysv4
851                 ;;
852         netbsd386)
853                 basic_machine=i386-unknown
854                 os=-netbsd
855                 ;;
856         netwinder)
857                 basic_machine=armv4l-rebel
858                 os=-linux
859                 ;;
860         news | news700 | news800 | news900)
861                 basic_machine=m68k-sony
862                 os=-newsos
863                 ;;
864         news1000)
865                 basic_machine=m68030-sony
866                 os=-newsos
867                 ;;
868         news-3600 | risc-news)
869                 basic_machine=mips-sony
870                 os=-newsos
871                 ;;
872         necv70)
873                 basic_machine=v70-nec
874                 os=-sysv
875                 ;;
876         next | m*-next )
877                 basic_machine=m68k-next
878                 case $os in
879                     -nextstep* )
880                         ;;
881                     -ns2*)
882                       os=-nextstep2
883                         ;;
884                     *)
885                       os=-nextstep3
886                         ;;
887                 esac
888                 ;;
889         nh3000)
890                 basic_machine=m68k-harris
891                 os=-cxux
892                 ;;
893         nh[45]000)
894                 basic_machine=m88k-harris
895                 os=-cxux
896                 ;;
897         nindy960)
898                 basic_machine=i960-intel
899                 os=-nindy
900                 ;;
901         mon960)
902                 basic_machine=i960-intel
903                 os=-mon960
904                 ;;
905         nonstopux)
906                 basic_machine=mips-compaq
907                 os=-nonstopux
908                 ;;
909         np1)
910                 basic_machine=np1-gould
911                 ;;
912         neo-tandem)
913                 basic_machine=neo-tandem
914                 ;;
915         nse-tandem)
916                 basic_machine=nse-tandem
917                 ;;
918         nsr-tandem)
919                 basic_machine=nsr-tandem
920                 ;;
921         op50n-* | op60c-*)
922                 basic_machine=hppa1.1-oki
923                 os=-proelf
924                 ;;
925         openrisc | openrisc-*)
926                 basic_machine=or32-unknown
927                 ;;
928         os400)
929                 basic_machine=powerpc-ibm
930                 os=-os400
931                 ;;
932         OSE68000 | ose68000)
933                 basic_machine=m68000-ericsson
934                 os=-ose
935                 ;;
936         os68k)
937                 basic_machine=m68k-none
938                 os=-os68k
939                 ;;
940         pa-hitachi)
941                 basic_machine=hppa1.1-hitachi
942                 os=-hiuxwe2
943                 ;;
944         paragon)
945                 basic_machine=i860-intel
946                 os=-osf
947                 ;;
948         parisc)
949                 basic_machine=hppa-unknown
950                 os=-linux
951                 ;;
952         parisc-*)
953                 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
954                 os=-linux
955                 ;;
956         pbd)
957                 basic_machine=sparc-tti
958                 ;;
959         pbb)
960                 basic_machine=m68k-tti
961                 ;;
962         pc532 | pc532-*)
963                 basic_machine=ns32k-pc532
964                 ;;
965         pc98)
966                 basic_machine=i386-pc
967                 ;;
968         pc98-*)
969                 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
970                 ;;
971         pentium | p5 | k5 | k6 | nexgen | viac3)
972                 basic_machine=i586-pc
973                 ;;
974         pentiumpro | p6 | 6x86 | athlon | athlon_*)
975                 basic_machine=i686-pc
976                 ;;
977         pentiumii | pentium2 | pentiumiii | pentium3)
978                 basic_machine=i686-pc
979                 ;;
980         pentium4)
981                 basic_machine=i786-pc
982                 ;;
983         pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
984                 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
985                 ;;
986         pentiumpro-* | p6-* | 6x86-* | athlon-*)
987                 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
988                 ;;
989         pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
990                 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
991                 ;;
992         pentium4-*)
993                 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
994                 ;;
995         pn)
996                 basic_machine=pn-gould
997                 ;;
998         power)  basic_machine=power-ibm
999                 ;;
1000         ppc | ppcbe)    basic_machine=powerpc-unknown
1001                 ;;
1002         ppc-* | ppcbe-*)
1003                 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1004                 ;;
1005         ppcle | powerpclittle | ppc-le | powerpc-little)
1006                 basic_machine=powerpcle-unknown
1007                 ;;
1008         ppcle-* | powerpclittle-*)
1009                 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1010                 ;;
1011         ppc64)  basic_machine=powerpc64-unknown
1012                 ;;
1013         ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1014                 ;;
1015         ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1016                 basic_machine=powerpc64le-unknown
1017                 ;;
1018         ppc64le-* | powerpc64little-*)
1019                 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1020                 ;;
1021         ps2)
1022                 basic_machine=i386-ibm
1023                 ;;
1024         pw32)
1025                 basic_machine=i586-unknown
1026                 os=-pw32
1027                 ;;
1028         rdos | rdos64)
1029                 basic_machine=x86_64-pc
1030                 os=-rdos
1031                 ;;
1032         rdos32)
1033                 basic_machine=i386-pc
1034                 os=-rdos
1035                 ;;
1036         rom68k)
1037                 basic_machine=m68k-rom68k
1038                 os=-coff
1039                 ;;
1040         rm[46]00)
1041                 basic_machine=mips-siemens
1042                 ;;
1043         rtpc | rtpc-*)
1044                 basic_machine=romp-ibm
1045                 ;;
1046         s390 | s390-*)
1047                 basic_machine=s390-ibm
1048                 ;;
1049         s390x | s390x-*)
1050                 basic_machine=s390x-ibm
1051                 ;;
1052         sa29200)
1053                 basic_machine=a29k-amd
1054                 os=-udi
1055                 ;;
1056         sb1)
1057                 basic_machine=mipsisa64sb1-unknown
1058                 ;;
1059         sb1el)
1060                 basic_machine=mipsisa64sb1el-unknown
1061                 ;;
1062         sde)
1063                 basic_machine=mipsisa32-sde
1064                 os=-elf
1065                 ;;
1066         sei)
1067                 basic_machine=mips-sei
1068                 os=-seiux
1069                 ;;
1070         sequent)
1071                 basic_machine=i386-sequent
1072                 ;;
1073         sh)
1074                 basic_machine=sh-hitachi
1075                 os=-hms
1076                 ;;
1077         sh5el)
1078                 basic_machine=sh5le-unknown
1079                 ;;
1080         sh64)
1081                 basic_machine=sh64-unknown
1082                 ;;
1083         sparclite-wrs | simso-wrs)
1084                 basic_machine=sparclite-wrs
1085                 os=-vxworks
1086                 ;;
1087         sps7)
1088                 basic_machine=m68k-bull
1089                 os=-sysv2
1090                 ;;
1091         spur)
1092                 basic_machine=spur-unknown
1093                 ;;
1094         st2000)
1095                 basic_machine=m68k-tandem
1096                 ;;
1097         stratus)
1098                 basic_machine=i860-stratus
1099                 os=-sysv4
1100                 ;;
1101         strongarm-* | thumb-*)
1102                 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1103                 ;;
1104         sun2)
1105                 basic_machine=m68000-sun
1106                 ;;
1107         sun2os3)
1108                 basic_machine=m68000-sun
1109                 os=-sunos3
1110                 ;;
1111         sun2os4)
1112                 basic_machine=m68000-sun
1113                 os=-sunos4
1114                 ;;
1115         sun3os3)
1116                 basic_machine=m68k-sun
1117                 os=-sunos3
1118                 ;;
1119         sun3os4)
1120                 basic_machine=m68k-sun
1121                 os=-sunos4
1122                 ;;
1123         sun4os3)
1124                 basic_machine=sparc-sun
1125                 os=-sunos3
1126                 ;;
1127         sun4os4)
1128                 basic_machine=sparc-sun
1129                 os=-sunos4
1130                 ;;
1131         sun4sol2)
1132                 basic_machine=sparc-sun
1133                 os=-solaris2
1134                 ;;
1135         sun3 | sun3-*)
1136                 basic_machine=m68k-sun
1137                 ;;
1138         sun4)
1139                 basic_machine=sparc-sun
1140                 ;;
1141         sun386 | sun386i | roadrunner)
1142                 basic_machine=i386-sun
1143                 ;;
1144         sv1)
1145                 basic_machine=sv1-cray
1146                 os=-unicos
1147                 ;;
1148         symmetry)
1149                 basic_machine=i386-sequent
1150                 os=-dynix
1151                 ;;
1152         t3e)
1153                 basic_machine=alphaev5-cray
1154                 os=-unicos
1155                 ;;
1156         t90)
1157                 basic_machine=t90-cray
1158                 os=-unicos
1159                 ;;
1160         tile*)
1161                 basic_machine=$basic_machine-unknown
1162                 os=-linux-gnu
1163                 ;;
1164         tx39)
1165                 basic_machine=mipstx39-unknown
1166                 ;;
1167         tx39el)
1168                 basic_machine=mipstx39el-unknown
1169                 ;;
1170         toad1)
1171                 basic_machine=pdp10-xkl
1172                 os=-tops20
1173                 ;;
1174         tower | tower-32)
1175                 basic_machine=m68k-ncr
1176                 ;;
1177         tpf)
1178                 basic_machine=s390x-ibm
1179                 os=-tpf
1180                 ;;
1181         udi29k)
1182                 basic_machine=a29k-amd
1183                 os=-udi
1184                 ;;
1185         ultra3)
1186                 basic_machine=a29k-nyu
1187                 os=-sym1
1188                 ;;
1189         v810 | necv810)
1190                 basic_machine=v810-nec
1191                 os=-none
1192                 ;;
1193         vaxv)
1194                 basic_machine=vax-dec
1195                 os=-sysv
1196                 ;;
1197         vms)
1198                 basic_machine=vax-dec
1199                 os=-vms
1200                 ;;
1201         vpp*|vx|vx-*)
1202                 basic_machine=f301-fujitsu
1203                 ;;
1204         vxworks960)
1205                 basic_machine=i960-wrs
1206                 os=-vxworks
1207                 ;;
1208         vxworks68)
1209                 basic_machine=m68k-wrs
1210                 os=-vxworks
1211                 ;;
1212         vxworks29k)
1213                 basic_machine=a29k-wrs
1214                 os=-vxworks
1215                 ;;
1216         w65*)
1217                 basic_machine=w65-wdc
1218                 os=-none
1219                 ;;
1220         w89k-*)
1221                 basic_machine=hppa1.1-winbond
1222                 os=-proelf
1223                 ;;
1224         xbox)
1225                 basic_machine=i686-pc
1226                 os=-mingw32
1227                 ;;
1228         xps | xps100)
1229                 basic_machine=xps100-honeywell
1230                 ;;
1231         xscale-* | xscalee[bl]-*)
1232                 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1233                 ;;
1234         ymp)
1235                 basic_machine=ymp-cray
1236                 os=-unicos
1237                 ;;
1238         z8k-*-coff)
1239                 basic_machine=z8k-unknown
1240                 os=-sim
1241                 ;;
1242         z80-*-coff)
1243                 basic_machine=z80-unknown
1244                 os=-sim
1245                 ;;
1246         none)
1247                 basic_machine=none-none
1248                 os=-none
1249                 ;;
1250
1251 # Here we handle the default manufacturer of certain CPU types.  It is in
1252 # some cases the only manufacturer, in others, it is the most popular.
1253         w89k)
1254                 basic_machine=hppa1.1-winbond
1255                 ;;
1256         op50n)
1257                 basic_machine=hppa1.1-oki
1258                 ;;
1259         op60c)
1260                 basic_machine=hppa1.1-oki
1261                 ;;
1262         romp)
1263                 basic_machine=romp-ibm
1264                 ;;
1265         mmix)
1266                 basic_machine=mmix-knuth
1267                 ;;
1268         rs6000)
1269                 basic_machine=rs6000-ibm
1270                 ;;
1271         vax)
1272                 basic_machine=vax-dec
1273                 ;;
1274         pdp10)
1275                 # there are many clones, so DEC is not a safe bet
1276                 basic_machine=pdp10-unknown
1277                 ;;
1278         pdp11)
1279                 basic_machine=pdp11-dec
1280                 ;;
1281         we32k)
1282                 basic_machine=we32k-att
1283                 ;;
1284         sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1285                 basic_machine=sh-unknown
1286                 ;;
1287         sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1288                 basic_machine=sparc-sun
1289                 ;;
1290         cydra)
1291                 basic_machine=cydra-cydrome
1292                 ;;
1293         orion)
1294                 basic_machine=orion-highlevel
1295                 ;;
1296         orion105)
1297                 basic_machine=clipper-highlevel
1298                 ;;
1299         mac | mpw | mac-mpw)
1300                 basic_machine=m68k-apple
1301                 ;;
1302         pmac | pmac-mpw)
1303                 basic_machine=powerpc-apple
1304                 ;;
1305         *-unknown)
1306                 # Make sure to match an already-canonicalized machine name.
1307                 ;;
1308         *)
1309                 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1310                 exit 1
1311                 ;;
1312 esac
1313
1314 # Here we canonicalize certain aliases for manufacturers.
1315 case $basic_machine in
1316         *-digital*)
1317                 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1318                 ;;
1319         *-commodore*)
1320                 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1321                 ;;
1322         *)
1323                 ;;
1324 esac
1325
1326 # Decode manufacturer-specific aliases for certain operating systems.
1327
1328 if [ x"$os" != x"" ]
1329 then
1330 case $os in
1331         # First match some system type aliases
1332         # that might get confused with valid system types.
1333         # -solaris* is a basic system type, with this one exception.
1334         -auroraux)
1335                 os=-auroraux
1336                 ;;
1337         -solaris1 | -solaris1.*)
1338                 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1339                 ;;
1340         -solaris)
1341                 os=-solaris2
1342                 ;;
1343         -svr4*)
1344                 os=-sysv4
1345                 ;;
1346         -unixware*)
1347                 os=-sysv4.2uw
1348                 ;;
1349         -gnu/linux*)
1350                 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1351                 ;;
1352         # First accept the basic system types.
1353         # The portable systems comes first.
1354         # Each alternative MUST END IN A *, to match a version number.
1355         # -sysv* is not here because it comes later, after sysvr4.
1356         -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1357               | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1358               | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1359               | -sym* | -kopensolaris* | -plan9* \
1360               | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1361               | -aos* | -aros* \
1362               | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1363               | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1364               | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1365               | -bitrig* | -openbsd* | -solidbsd* \
1366               | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1367               | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1368               | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1369               | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1370               | -chorusos* | -chorusrdb* | -cegcc* \
1371               | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1372               | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1373               | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1374               | -uxpv* | -beos* | -mpeix* | -udk* \
1375               | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1376               | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1377               | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1378               | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1379               | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1380               | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1381               | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1382         # Remember, each alternative MUST END IN *, to match a version number.
1383                 ;;
1384         -qnx*)
1385                 case $basic_machine in
1386                     x86-* | i*86-*)
1387                         ;;
1388                     *)
1389                         os=-nto$os
1390                         ;;
1391                 esac
1392                 ;;
1393         -nto-qnx*)
1394                 ;;
1395         -nto*)
1396                 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1397                 ;;
1398         -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1399               | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1400               | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1401                 ;;
1402         -mac*)
1403                 os=`echo $os | sed -e 's|mac|macos|'`
1404                 ;;
1405         -linux-dietlibc)
1406                 os=-linux-dietlibc
1407                 ;;
1408         -linux*)
1409                 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1410                 ;;
1411         -sunos5*)
1412                 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1413                 ;;
1414         -sunos6*)
1415                 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1416                 ;;
1417         -opened*)
1418                 os=-openedition
1419                 ;;
1420         -os400*)
1421                 os=-os400
1422                 ;;
1423         -wince*)
1424                 os=-wince
1425                 ;;
1426         -osfrose*)
1427                 os=-osfrose
1428                 ;;
1429         -osf*)
1430                 os=-osf
1431                 ;;
1432         -utek*)
1433                 os=-bsd
1434                 ;;
1435         -dynix*)
1436                 os=-bsd
1437                 ;;
1438         -acis*)
1439                 os=-aos
1440                 ;;
1441         -atheos*)
1442                 os=-atheos
1443                 ;;
1444         -syllable*)
1445                 os=-syllable
1446                 ;;
1447         -386bsd)
1448                 os=-bsd
1449                 ;;
1450         -ctix* | -uts*)
1451                 os=-sysv
1452                 ;;
1453         -nova*)
1454                 os=-rtmk-nova
1455                 ;;
1456         -ns2 )
1457                 os=-nextstep2
1458                 ;;
1459         -nsk*)
1460                 os=-nsk
1461                 ;;
1462         # Preserve the version number of sinix5.
1463         -sinix5.*)
1464                 os=`echo $os | sed -e 's|sinix|sysv|'`
1465                 ;;
1466         -sinix*)
1467                 os=-sysv4
1468                 ;;
1469         -tpf*)
1470                 os=-tpf
1471                 ;;
1472         -triton*)
1473                 os=-sysv3
1474                 ;;
1475         -oss*)
1476                 os=-sysv3
1477                 ;;
1478         -svr4)
1479                 os=-sysv4
1480                 ;;
1481         -svr3)
1482                 os=-sysv3
1483                 ;;
1484         -sysvr4)
1485                 os=-sysv4
1486                 ;;
1487         # This must come after -sysvr4.
1488         -sysv*)
1489                 ;;
1490         -ose*)
1491                 os=-ose
1492                 ;;
1493         -es1800*)
1494                 os=-ose
1495                 ;;
1496         -xenix)
1497                 os=-xenix
1498                 ;;
1499         -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1500                 os=-mint
1501                 ;;
1502         -aros*)
1503                 os=-aros
1504                 ;;
1505         -zvmoe)
1506                 os=-zvmoe
1507                 ;;
1508         -dicos*)
1509                 os=-dicos
1510                 ;;
1511         -nacl*)
1512                 ;;
1513         -none)
1514                 ;;
1515         *)
1516                 # Get rid of the `-' at the beginning of $os.
1517                 os=`echo $os | sed 's/[^-]*-//'`
1518                 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1519                 exit 1
1520                 ;;
1521 esac
1522 else
1523
1524 # Here we handle the default operating systems that come with various machines.
1525 # The value should be what the vendor currently ships out the door with their
1526 # machine or put another way, the most popular os provided with the machine.
1527
1528 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1529 # "-sun"), then you have to tell the case statement up towards the top
1530 # that MANUFACTURER isn't an operating system.  Otherwise, code above
1531 # will signal an error saying that MANUFACTURER isn't an operating
1532 # system, and we'll never get to this point.
1533
1534 case $basic_machine in
1535         score-*)
1536                 os=-elf
1537                 ;;
1538         spu-*)
1539                 os=-elf
1540                 ;;
1541         *-acorn)
1542                 os=-riscix1.2
1543                 ;;
1544         arm*-rebel)
1545                 os=-linux
1546                 ;;
1547         arm*-semi)
1548                 os=-aout
1549                 ;;
1550         c4x-* | tic4x-*)
1551                 os=-coff
1552                 ;;
1553         hexagon-*)
1554                 os=-elf
1555                 ;;
1556         tic54x-*)
1557                 os=-coff
1558                 ;;
1559         tic55x-*)
1560                 os=-coff
1561                 ;;
1562         tic6x-*)
1563                 os=-coff
1564                 ;;
1565         # This must come before the *-dec entry.
1566         pdp10-*)
1567                 os=-tops20
1568                 ;;
1569         pdp11-*)
1570                 os=-none
1571                 ;;
1572         *-dec | vax-*)
1573                 os=-ultrix4.2
1574                 ;;
1575         m68*-apollo)
1576                 os=-domain
1577                 ;;
1578         i386-sun)
1579                 os=-sunos4.0.2
1580                 ;;
1581         m68000-sun)
1582                 os=-sunos3
1583                 ;;
1584         m68*-cisco)
1585                 os=-aout
1586                 ;;
1587         mep-*)
1588                 os=-elf
1589                 ;;
1590         mips*-cisco)
1591                 os=-elf
1592                 ;;
1593         mips*-*)
1594                 os=-elf
1595                 ;;
1596         or32-*)
1597                 os=-coff
1598                 ;;
1599         *-tti)  # must be before sparc entry or we get the wrong os.
1600                 os=-sysv3
1601                 ;;
1602         sparc-* | *-sun)
1603                 os=-sunos4.1.1
1604                 ;;
1605         *-be)
1606                 os=-beos
1607                 ;;
1608         *-haiku)
1609                 os=-haiku
1610                 ;;
1611         *-ibm)
1612                 os=-aix
1613                 ;;
1614         *-knuth)
1615                 os=-mmixware
1616                 ;;
1617         *-wec)
1618                 os=-proelf
1619                 ;;
1620         *-winbond)
1621                 os=-proelf
1622                 ;;
1623         *-oki)
1624                 os=-proelf
1625                 ;;
1626         *-hp)
1627                 os=-hpux
1628                 ;;
1629         *-hitachi)
1630                 os=-hiux
1631                 ;;
1632         i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1633                 os=-sysv
1634                 ;;
1635         *-cbm)
1636                 os=-amigaos
1637                 ;;
1638         *-dg)
1639                 os=-dgux
1640                 ;;
1641         *-dolphin)
1642                 os=-sysv3
1643                 ;;
1644         m68k-ccur)
1645                 os=-rtu
1646                 ;;
1647         m88k-omron*)
1648                 os=-luna
1649                 ;;
1650         *-next )
1651                 os=-nextstep
1652                 ;;
1653         *-sequent)
1654                 os=-ptx
1655                 ;;
1656         *-crds)
1657                 os=-unos
1658                 ;;
1659         *-ns)
1660                 os=-genix
1661                 ;;
1662         i370-*)
1663                 os=-mvs
1664                 ;;
1665         *-next)
1666                 os=-nextstep3
1667                 ;;
1668         *-gould)
1669                 os=-sysv
1670                 ;;
1671         *-highlevel)
1672                 os=-bsd
1673                 ;;
1674         *-encore)
1675                 os=-bsd
1676                 ;;
1677         *-sgi)
1678                 os=-irix
1679                 ;;
1680         *-siemens)
1681                 os=-sysv4
1682                 ;;
1683         *-masscomp)
1684                 os=-rtu
1685                 ;;
1686         f30[01]-fujitsu | f700-fujitsu)
1687                 os=-uxpv
1688                 ;;
1689         *-rom68k)
1690                 os=-coff
1691                 ;;
1692         *-*bug)
1693                 os=-coff
1694                 ;;
1695         *-apple)
1696                 os=-macos
1697                 ;;
1698         *-atari*)
1699                 os=-mint
1700                 ;;
1701         *)
1702                 os=-none
1703                 ;;
1704 esac
1705 fi
1706
1707 # Here we handle the case where we know the os, and the CPU type, but not the
1708 # manufacturer.  We pick the logical manufacturer.
1709 vendor=unknown
1710 case $basic_machine in
1711         *-unknown)
1712                 case $os in
1713                         -riscix*)
1714                                 vendor=acorn
1715                                 ;;
1716                         -sunos*)
1717                                 vendor=sun
1718                                 ;;
1719                         -cnk*|-aix*)
1720                                 vendor=ibm
1721                                 ;;
1722                         -beos*)
1723                                 vendor=be
1724                                 ;;
1725                         -hpux*)
1726                                 vendor=hp
1727                                 ;;
1728                         -mpeix*)
1729                                 vendor=hp
1730                                 ;;
1731                         -hiux*)
1732                                 vendor=hitachi
1733                                 ;;
1734                         -unos*)
1735                                 vendor=crds
1736                                 ;;
1737                         -dgux*)
1738                                 vendor=dg
1739                                 ;;
1740                         -luna*)
1741                                 vendor=omron
1742                                 ;;
1743                         -genix*)
1744                                 vendor=ns
1745                                 ;;
1746                         -mvs* | -opened*)
1747                                 vendor=ibm
1748                                 ;;
1749                         -os400*)
1750                                 vendor=ibm
1751                                 ;;
1752                         -ptx*)
1753                                 vendor=sequent
1754                                 ;;
1755                         -tpf*)
1756                                 vendor=ibm
1757                                 ;;
1758                         -vxsim* | -vxworks* | -windiss*)
1759                                 vendor=wrs
1760                                 ;;
1761                         -aux*)
1762                                 vendor=apple
1763                                 ;;
1764                         -hms*)
1765                                 vendor=hitachi
1766                                 ;;
1767                         -mpw* | -macos*)
1768                                 vendor=apple
1769                                 ;;
1770                         -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1771                                 vendor=atari
1772                                 ;;
1773                         -vos*)
1774                                 vendor=stratus
1775                                 ;;
1776                 esac
1777                 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1778                 ;;
1779 esac
1780
1781 echo $basic_machine$os
1782 exit
1783
1784 # Local variables:
1785 # eval: (add-hook 'write-file-hooks 'time-stamp)
1786 # time-stamp-start: "timestamp='"
1787 # time-stamp-format: "%:y-%02m-%02d"
1788 # time-stamp-end: "'"
1789 # End: