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