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