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