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