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