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