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