OSDN Git Service

* config.sub (basic_machine): Recognize hppa64 as a valid cpu type.
[pf3gnuchains/gcc-fork.git] / config.sub
1 #! /bin/sh
2 # Configuration validation subroutine script, version 1.1.
3 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
4 #   Free Software Foundation, Inc.
5 #
6 # This file is (in principle) common to ALL GNU software.
7 # The presence of a machine in this file suggests that SOME GNU software
8 # can handle that machine.  It does not imply ALL GNU software can.
9 #
10 # This file is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 2 of the License, or
13 # (at your option) any later version.
14 #
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 59 Temple Place - Suite 330,
23 # Boston, MA 02111-1307, USA.
24
25 # As a special exception to the GNU General Public License, if you
26 # distribute this file as part of a program that contains a
27 # configuration script generated by Autoconf, you may include it under
28 # the same distribution terms that you use for the rest of that program.
29
30 # Written by Per Bothner <bothner@cygnus.com>.
31 # Please send patches to <config-patches@gnu.org>.
32 #
33 # Configuration subroutine to validate and canonicalize a configuration type.
34 # Supply the specified configuration type as an argument.
35 # If it is invalid, we print an error message on stderr and exit with code 1.
36 # Otherwise, we print the canonical config type on stdout and succeed.
37
38 # This file is supposed to be the same for all GNU packages
39 # and recognize all the CPU types, system types and aliases
40 # that are meaningful with *any* GNU software.
41 # Each package is responsible for reporting which valid configurations
42 # it does not support.  The user should be able to distinguish
43 # a failure to support a valid configuration from a meaningless
44 # configuration.
45
46 # The goal of this file is to map all the various variations of a given
47 # machine specification into a single specification in the form:
48 #       CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
49 # or in some cases, the newer four-part form:
50 #       CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
51 # It is wrong to echo any other type of specification.
52
53 if [ x$1 = x ]
54 then
55         echo Configuration name missing. 1>&2
56         echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
57         echo "or     $0 ALIAS" 1>&2
58         echo where ALIAS is a recognized configuration type. 1>&2
59         exit 1
60 fi
61
62 # First pass through any local machine types.
63 case $1 in
64         *local*)
65                 echo $1
66                 exit 0
67                 ;;
68         *)
69         ;;
70 esac
71
72 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
73 # Here we must recognize all the valid KERNEL-OS combinations.
74 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
75 case $maybe_os in
76   linux-gnu*)
77     os=-$maybe_os
78     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
79     ;;
80   *)
81     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
82     if [ $basic_machine != $1 ]
83     then os=`echo $1 | sed 's/.*-/-/'`
84     else os=; fi
85     ;;
86 esac
87
88 ### Let's recognize common machines as not being operating systems so
89 ### that things like config.sub decstation-3100 work.  We also
90 ### recognize some manufacturers as not being operating systems, so we
91 ### can provide default operating systems below.
92 case $os in
93         -sun*os*)
94                 # Prevent following clause from handling this invalid input.
95                 ;;
96         -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
97         -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
98         -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
99         -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
100         -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
101         -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
102         -apple)
103                 os=
104                 basic_machine=$1
105                 ;;
106         -sim | -cisco | -oki | -wec | -winbond)
107                 os=
108                 basic_machine=$1
109                 ;;
110         -scout)
111                 ;;
112         -wrs)
113                 os=-vxworks
114                 basic_machine=$1
115                 ;;
116         -hiux*)
117                 os=-hiuxwe2
118                 ;;
119         -sco5)
120                 os=-sco3.2v5
121                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
122                 ;;
123         -sco4)
124                 os=-sco3.2v4
125                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
126                 ;;
127         -sco3.2.[4-9]*)
128                 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
129                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
130                 ;;
131         -sco3.2v[4-9]*)
132                 # Don't forget version if it is 3.2v4 or newer.
133                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
134                 ;;
135         -sco*)
136                 os=-sco3.2v2
137                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
138                 ;;
139         -udk*)
140                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
141                 ;;
142         -isc)
143                 os=-isc2.2
144                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
145                 ;;
146         -clix*)
147                 basic_machine=clipper-intergraph
148                 ;;
149         -isc*)
150                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
151                 ;;
152         -lynx*)
153                 os=-lynxos
154                 ;;
155         -ptx*)
156                 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
157                 ;;
158         -windowsnt*)
159                 os=`echo $os | sed -e 's/windowsnt/winnt/'`
160                 ;;
161         -psos*)
162                 os=-psos
163                 ;;
164         -mint | -mint[0-9]*)
165                 basic_machine=m68k-atari
166                 os=-mint
167                 ;;
168 esac
169
170 # Decode aliases for certain CPU-COMPANY combinations.
171 case $basic_machine in
172         # Recognize the basic CPU types without company name.
173         # Some are omitted here because they have special meanings below.
174         tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
175                 | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
176                 | 580 | i960 | h8300 \
177                 | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
178                 | hppa64 \
179                 | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
180                 | alphaev6[78] \
181                 | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
182                 | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
183                 | mips64orion | mips64orionel | mipstx39 | mipstx39el \
184                 | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
185                 | mips64vr5000 | miprs64vr5000el | mcore \
186                 | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
187                 | thumb | d10v | d30v | fr30 | avr)
188                 basic_machine=$basic_machine-unknown
189                 ;;
190         m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
191                 ;;
192
193         # We use `pc' rather than `unknown'
194         # because (1) that's what they normally are, and
195         # (2) the word "unknown" tends to confuse beginning users.
196         i[34567]86)
197           basic_machine=$basic_machine-pc
198           ;;
199         # Object if more than one company name word.
200         *-*-*)
201                 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
202                 exit 1
203                 ;;
204         # Recognize the basic CPU types with company name.
205         # FIXME: clean up the formatting here.
206         vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
207               | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
208               | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
209               | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
210               | xmp-* | ymp-* \
211               | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
212               | hppa2.0n-* | hppa64-* \
213               | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
214               | alphaev6[78]-* \
215               | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
216               | clipper-* | orion-* \
217               | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
218               | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
219               | mips64el-* | mips64orion-* | mips64orionel-* \
220               | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
221               | mipstx39-* | mipstx39el-* | mcore-* \
222               | f301-* | armv*-* | s390-* | sv1-* | t3e-* \
223               | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
224               | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* )
225                 ;;
226         # Recognize the various machine names and aliases which stand
227         # for a CPU type and a company and sometimes even an OS.
228         386bsd)
229                 basic_machine=i386-unknown
230                 os=-bsd
231                 ;;
232         3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
233                 basic_machine=m68000-att
234                 ;;
235         3b*)
236                 basic_machine=we32k-att
237                 ;;
238         a29khif)
239                 basic_machine=a29k-amd
240                 os=-udi
241                 ;;
242         adobe68k)
243                 basic_machine=m68010-adobe
244                 os=-scout
245                 ;;
246         alliant | fx80)
247                 basic_machine=fx80-alliant
248                 ;;
249         altos | altos3068)
250                 basic_machine=m68k-altos
251                 ;;
252         am29k)
253                 basic_machine=a29k-none
254                 os=-bsd
255                 ;;
256         amdahl)
257                 basic_machine=580-amdahl
258                 os=-sysv
259                 ;;
260         amiga | amiga-*)
261                 basic_machine=m68k-cbm
262                 ;;
263         amigaos | amigados)
264                 basic_machine=m68k-cbm
265                 os=-amigaos
266                 ;;
267         amigaunix | amix)
268                 basic_machine=m68k-cbm
269                 os=-sysv4
270                 ;;
271         apollo68)
272                 basic_machine=m68k-apollo
273                 os=-sysv
274                 ;;
275         apollo68bsd)
276                 basic_machine=m68k-apollo
277                 os=-bsd
278                 ;;
279         aux)
280                 basic_machine=m68k-apple
281                 os=-aux
282                 ;;
283         balance)
284                 basic_machine=ns32k-sequent
285                 os=-dynix
286                 ;;
287         convex-c1)
288                 basic_machine=c1-convex
289                 os=-bsd
290                 ;;
291         convex-c2)
292                 basic_machine=c2-convex
293                 os=-bsd
294                 ;;
295         convex-c32)
296                 basic_machine=c32-convex
297                 os=-bsd
298                 ;;
299         convex-c34)
300                 basic_machine=c34-convex
301                 os=-bsd
302                 ;;
303         convex-c38)
304                 basic_machine=c38-convex
305                 os=-bsd
306                 ;;
307         cray | ymp)
308                 basic_machine=ymp-cray
309                 os=-unicos
310                 ;;
311         cray2)
312                 basic_machine=cray2-cray
313                 os=-unicos
314                 ;;
315         [ctj]90-cray)
316                 basic_machine=c90-cray
317                 os=-unicos
318                 ;;
319         crds | unos)
320                 basic_machine=m68k-crds
321                 ;;
322         da30 | da30-*)
323                 basic_machine=m68k-da30
324                 ;;
325         decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
326                 basic_machine=mips-dec
327                 ;;
328         delta | 3300 | motorola-3300 | motorola-delta \
329               | 3300-motorola | delta-motorola)
330                 basic_machine=m68k-motorola
331                 ;;
332         delta88)
333                 basic_machine=m88k-motorola
334                 os=-sysv3
335                 ;;
336         dpx20 | dpx20-*)
337                 basic_machine=rs6000-bull
338                 os=-bosx
339                 ;;
340         dpx2* | dpx2*-bull)
341                 basic_machine=m68k-bull
342                 os=-sysv3
343                 ;;
344         ebmon29k)
345                 basic_machine=a29k-amd
346                 os=-ebmon
347                 ;;
348         elxsi)
349                 basic_machine=elxsi-elxsi
350                 os=-bsd
351                 ;;
352         encore | umax | mmax)
353                 basic_machine=ns32k-encore
354                 ;;
355         es1800 | OSE68k | ose68k | ose | OSE)
356                 basic_machine=m68k-ericsson
357                 os=-ose
358                 ;;
359         fx2800)
360                 basic_machine=i860-alliant
361                 ;;
362         genix)
363                 basic_machine=ns32k-ns
364                 ;;
365         gmicro)
366                 basic_machine=tron-gmicro
367                 os=-sysv
368                 ;;
369         h3050r* | hiux*)
370                 basic_machine=hppa1.1-hitachi
371                 os=-hiuxwe2
372                 ;;
373         h8300hms)
374                 basic_machine=h8300-hitachi
375                 os=-hms
376                 ;;
377         h8300xray)
378                 basic_machine=h8300-hitachi
379                 os=-xray
380                 ;;
381         h8500hms)
382                 basic_machine=h8500-hitachi
383                 os=-hms
384                 ;;
385         harris)
386                 basic_machine=m88k-harris
387                 os=-sysv3
388                 ;;
389         hp300-*)
390                 basic_machine=m68k-hp
391                 ;;
392         hp300bsd)
393                 basic_machine=m68k-hp
394                 os=-bsd
395                 ;;
396         hp300hpux)
397                 basic_machine=m68k-hp
398                 os=-hpux
399                 ;;
400         hp3k9[0-9][0-9] | hp9[0-9][0-9])
401                 basic_machine=hppa1.0-hp
402                 ;;
403         hp9k2[0-9][0-9] | hp9k31[0-9])
404                 basic_machine=m68000-hp
405                 ;;
406         hp9k3[2-9][0-9])
407                 basic_machine=m68k-hp
408                 ;;
409         hp9k6[0-9][0-9] | hp6[0-9][0-9])
410                 basic_machine=hppa1.0-hp
411                 ;;
412         hp9k7[0-79][0-9] | hp7[0-79][0-9])
413                 basic_machine=hppa1.1-hp
414                 ;;
415         hp9k78[0-9] | hp78[0-9])
416                 # FIXME: really hppa2.0-hp
417                 basic_machine=hppa1.1-hp
418                 ;;
419         hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
420                 # FIXME: really hppa2.0-hp
421                 basic_machine=hppa1.1-hp
422                 ;;
423         hp9k8[0-9][13679] | hp8[0-9][13679])
424                 basic_machine=hppa1.1-hp
425                 ;;
426         hp9k8[0-9][0-9] | hp8[0-9][0-9])
427                 basic_machine=hppa1.0-hp
428                 ;;
429         hppa-next)
430                 os=-nextstep3
431                 ;;
432         hppaosf)
433                 basic_machine=hppa1.1-hp
434                 os=-osf
435                 ;;
436         hppro)
437                 basic_machine=hppa1.1-hp
438                 os=-proelf
439                 ;;
440         i370-ibm* | ibm*)
441                 basic_machine=i370-ibm
442                 ;;
443 # I'm not sure what "Sysv32" means.  Should this be sysv3.2?
444         i[34567]86v32)
445                 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
446                 os=-sysv32
447                 ;;
448         i[34567]86v4*)
449                 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
450                 os=-sysv4
451                 ;;
452         i[34567]86v)
453                 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
454                 os=-sysv
455                 ;;
456         i[34567]86sol2)
457                 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
458                 os=-solaris2
459                 ;;
460         i386mach)
461                 basic_machine=i386-mach
462                 os=-mach
463                 ;;
464         i386-vsta | vsta)
465                 basic_machine=i386-unknown
466                 os=-vsta
467                 ;;
468         i386-go32 | go32)
469                 basic_machine=i386-unknown
470                 os=-go32
471                 ;;
472         i386-mingw32 | mingw32)
473                 basic_machine=i386-unknown
474                 os=-mingw32
475                 ;;
476         i386-qnx | qnx)
477                 basic_machine=i386-qnx
478                 ;;
479         iris | iris4d)
480                 basic_machine=mips-sgi
481                 case $os in
482                     -irix*)
483                         ;;
484                     *)
485                         os=-irix4
486                         ;;
487                 esac
488                 ;;
489         isi68 | isi)
490                 basic_machine=m68k-isi
491                 os=-sysv
492                 ;;
493         m88k-omron*)
494                 basic_machine=m88k-omron
495                 ;;
496         magnum | m3230)
497                 basic_machine=mips-mips
498                 os=-sysv
499                 ;;
500         merlin)
501                 basic_machine=ns32k-utek
502                 os=-sysv
503                 ;;
504         miniframe)
505                 basic_machine=m68000-convergent
506                 ;;
507         *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
508                 basic_machine=m68k-atari
509                 os=-mint
510                 ;;
511         mipsel*-linux*)
512                 basic_machine=mipsel-unknown
513                 os=-linux-gnu
514                 ;;
515         mips*-linux*)
516                 basic_machine=mips-unknown
517                 os=-linux-gnu
518                 ;;
519         mips3*-*)
520                 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
521                 ;;
522         mips3*)
523                 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
524                 ;;
525         mmix*)
526                 basic_machine=mmix-knuth
527                 os=-mmixware
528                 ;;
529         monitor)
530                 basic_machine=m68k-rom68k
531                 os=-coff
532                 ;;
533         msdos)
534                 basic_machine=i386-unknown
535                 os=-msdos
536                 ;;
537         mvs)
538                 basic_machine=i370-ibm
539                 os=-mvs
540                 ;;
541         ncr3000)
542                 basic_machine=i486-ncr
543                 os=-sysv4
544                 ;;
545         netbsd386)
546                 basic_machine=i386-unknown
547                 os=-netbsd
548                 ;;
549         netwinder)
550                 basic_machine=armv4l-rebel
551                 os=-linux
552                 ;;
553         news | news700 | news800 | news900)
554                 basic_machine=m68k-sony
555                 os=-newsos
556                 ;;
557         news1000)
558                 basic_machine=m68030-sony
559                 os=-newsos
560                 ;;
561         news-3600 | risc-news)
562                 basic_machine=mips-sony
563                 os=-newsos
564                 ;;
565         necv70)
566                 basic_machine=v70-nec
567                 os=-sysv
568                 ;;
569         next | m*-next )
570                 basic_machine=m68k-next
571                 case $os in
572                     -nextstep* )
573                         ;;
574                     -ns2*)
575                       os=-nextstep2
576                         ;;
577                     *)
578                       os=-nextstep3
579                         ;;
580                 esac
581                 ;;
582         nh3000)
583                 basic_machine=m68k-harris
584                 os=-cxux
585                 ;;
586         nh[45]000)
587                 basic_machine=m88k-harris
588                 os=-cxux
589                 ;;
590         nindy960)
591                 basic_machine=i960-intel
592                 os=-nindy
593                 ;;
594         mon960)
595                 basic_machine=i960-intel
596                 os=-mon960
597                 ;;
598         np1)
599                 basic_machine=np1-gould
600                 ;;
601         op50n-* | op60c-*)
602                 basic_machine=hppa1.1-oki
603                 os=-proelf
604                 ;;
605         OSE68000 | ose68000)
606                 basic_machine=m68000-ericsson
607                 os=-ose
608                 ;;
609         os68k)
610                 basic_machine=m68k-none
611                 os=-os68k
612                 ;;
613         pa-hitachi)
614                 basic_machine=hppa1.1-hitachi
615                 os=-hiuxwe2
616                 ;;
617         paragon)
618                 basic_machine=i860-intel
619                 os=-osf
620                 ;;
621         pbd)
622                 basic_machine=sparc-tti
623                 ;;
624         pbb)
625                 basic_machine=m68k-tti
626                 ;;
627         pc532 | pc532-*)
628                 basic_machine=ns32k-pc532
629                 ;;
630         pentium | p5 | k5 | k6 | nexen)
631                 basic_machine=i586-pc
632                 ;;
633         pentiumpro | p6 | 6x86)
634                 basic_machine=i686-pc
635                 ;;
636         pentiumii | pentium2)
637                 basic_machine=i786-pc
638                 ;;
639         pentium-* | p5-* | k5-* | k6-* | nexen-*)
640                 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
641                 ;;
642         pentiumpro-* | p6-* | 6x86-*)
643                 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
644                 ;;
645         pentiumii-* | pentium2-*)
646                 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
647                 ;;
648         pn)
649                 basic_machine=pn-gould
650                 ;;
651         power)  basic_machine=rs6000-ibm
652                 ;;
653         ppc)    basic_machine=powerpc-unknown
654                 ;;
655         ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
656                 ;;
657         ppcle | powerpclittle | ppc-le | powerpc-little)
658                 basic_machine=powerpcle-unknown
659                 ;;
660         ppcle-* | powerpclittle-*)
661                 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
662                 ;;
663         ps2)
664                 basic_machine=i386-ibm
665                 ;;
666         rom68k)
667                 basic_machine=m68k-rom68k
668                 os=-coff
669                 ;;
670         rm[46]00)
671                 basic_machine=mips-siemens
672                 ;;
673         rtpc | rtpc-*)
674                 basic_machine=romp-ibm
675                 ;;
676         sa29200)
677                 basic_machine=a29k-amd
678                 os=-udi
679                 ;;
680         sequent)
681                 basic_machine=i386-sequent
682                 ;;
683         sh)
684                 basic_machine=sh-hitachi
685                 os=-hms
686                 ;;
687         sparclite-wrs)
688                 basic_machine=sparclite-wrs
689                 os=-vxworks
690                 ;;
691         sps7)
692                 basic_machine=m68k-bull
693                 os=-sysv2
694                 ;;
695         spur)
696                 basic_machine=spur-unknown
697                 ;;
698         st2000)
699                 basic_machine=m68k-tandem
700                 ;;
701         stratus)
702                 basic_machine=i860-stratus
703                 os=-sysv4
704                 ;;
705         sun2)
706                 basic_machine=m68000-sun
707                 ;;
708         sun2os3)
709                 basic_machine=m68000-sun
710                 os=-sunos3
711                 ;;
712         sun2os4)
713                 basic_machine=m68000-sun
714                 os=-sunos4
715                 ;;
716         sun3os3)
717                 basic_machine=m68k-sun
718                 os=-sunos3
719                 ;;
720         sun3os4)
721                 basic_machine=m68k-sun
722                 os=-sunos4
723                 ;;
724         sun4os3)
725                 basic_machine=sparc-sun
726                 os=-sunos3
727                 ;;
728         sun4os4)
729                 basic_machine=sparc-sun
730                 os=-sunos4
731                 ;;
732         sun4sol2)
733                 basic_machine=sparc-sun
734                 os=-solaris2
735                 ;;
736         sun3 | sun3-*)
737                 basic_machine=m68k-sun
738                 ;;
739         sun4)
740                 basic_machine=sparc-sun
741                 ;;
742         sun386 | sun386i | roadrunner)
743                 basic_machine=i386-sun
744                 ;;
745         sv1)
746                 basic_machine=sv1-cray
747                 os=-unicos
748                 ;;
749         symmetry)
750                 basic_machine=i386-sequent
751                 os=-dynix
752                 ;;
753         t3e)
754                 basic_machine=t3e-cray
755                 os=-unicos
756                 ;;
757         tx39)
758                 basic_machine=mipstx39-unknown
759                 ;;
760         tx39el)
761                 basic_machine=mipstx39el-unknown
762                 ;;
763         tower | tower-32)
764                 basic_machine=m68k-ncr
765                 ;;
766         udi29k)
767                 basic_machine=a29k-amd
768                 os=-udi
769                 ;;
770         ultra3)
771                 basic_machine=a29k-nyu
772                 os=-sym1
773                 ;;
774         v810 | necv810)
775                 basic_machine=v810-nec
776                 os=-none
777                 ;;
778         vaxv)
779                 basic_machine=vax-dec
780                 os=-sysv
781                 ;;
782         vms)
783                 basic_machine=vax-dec
784                 os=-vms
785                 ;;
786         vpp*|vx|vx-*)
787                basic_machine=f301-fujitsu
788                ;;
789         vxworks960)
790                 basic_machine=i960-wrs
791                 os=-vxworks
792                 ;;
793         vxworks68)
794                 basic_machine=m68k-wrs
795                 os=-vxworks
796                 ;;
797         vxworks29k)
798                 basic_machine=a29k-wrs
799                 os=-vxworks
800                 ;;
801         w65*)
802                 basic_machine=w65-wdc
803                 os=-none
804                 ;;
805         w89k-*)
806                 basic_machine=hppa1.1-winbond
807                 os=-proelf
808                 ;;
809         xmp)
810                 basic_machine=xmp-cray
811                 os=-unicos
812                 ;;
813         xps | xps100)
814                 basic_machine=xps100-honeywell
815                 ;;
816         z8k-*-coff)
817                 basic_machine=z8k-unknown
818                 os=-sim
819                 ;;
820         none)
821                 basic_machine=none-none
822                 os=-none
823                 ;;
824
825 # Here we handle the default manufacturer of certain CPU types.  It is in
826 # some cases the only manufacturer, in others, it is the most popular.
827         w89k)
828                 basic_machine=hppa1.1-winbond
829                 ;;
830         op50n)
831                 basic_machine=hppa1.1-oki
832                 ;;
833         op60c)
834                 basic_machine=hppa1.1-oki
835                 ;;
836         mips)
837                 if [ x$os = x-linux-gnu ]; then
838                         basic_machine=mips-unknown
839                 else
840                         basic_machine=mips-mips
841                 fi
842                 ;;
843         romp)
844                 basic_machine=romp-ibm
845                 ;;
846         rs6000)
847                 basic_machine=rs6000-ibm
848                 ;;
849         vax)
850                 basic_machine=vax-dec
851                 ;;
852         pdp11)
853                 basic_machine=pdp11-dec
854                 ;;
855         we32k)
856                 basic_machine=we32k-att
857                 ;;
858         sparc | sparcv9)
859                 basic_machine=sparc-sun
860                 ;;
861         cydra)
862                 basic_machine=cydra-cydrome
863                 ;;
864         orion)
865                 basic_machine=orion-highlevel
866                 ;;
867         orion105)
868                 basic_machine=clipper-highlevel
869                 ;;
870         mac | mpw | mac-mpw)
871                 basic_machine=m68k-apple
872                 ;;
873         pmac | pmac-mpw)
874                 basic_machine=powerpc-apple
875                 ;;
876         c4x*)
877                 basic_machine=c4x-none
878                 os=-coff
879                 ;;
880         *)
881                 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
882                 exit 1
883                 ;;
884 esac
885
886 # Here we canonicalize certain aliases for manufacturers.
887 case $basic_machine in
888         *-digital*)
889                 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
890                 ;;
891         *-commodore*)
892                 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
893                 ;;
894         *)
895                 ;;
896 esac
897
898 # Decode manufacturer-specific aliases for certain operating systems.
899
900 if [ x"$os" != x"" ]
901 then
902 case $os in
903         # First match some system type aliases
904         # that might get confused with valid system types.
905         # -solaris* is a basic system type, with this one exception.
906         -solaris1 | -solaris1.*)
907                 os=`echo $os | sed -e 's|solaris1|sunos4|'`
908                 ;;
909         -solaris)
910                 os=-solaris2
911                 ;;
912         -svr4*)
913                 os=-sysv4
914                 ;;
915         -unixware*)
916                 os=-sysv4.2uw
917                 ;;
918         -gnu/linux*)
919                 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
920                 ;;
921         # First accept the basic system types.
922         # The portable systems comes first.
923         # Each alternative MUST END IN A *, to match a version number.
924         # -sysv* is not here because it comes later, after sysvr4.
925         -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
926               | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
927               | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
928               | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
929               | -aos* \
930               | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
931               | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
932               | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
933               | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
934               | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
935               | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
936               | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
937               | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
938               | -interix* | -uwin* | -rhapsody* | -opened* | -openstep* | -oskit*)
939         # Remember, each alternative MUST END IN *, to match a version number.
940                 ;;
941         -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
942               | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
943               | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
944                 ;;
945         -mac*)
946                 os=`echo $os | sed -e 's|mac|macos|'`
947                 ;;
948         -linux*)
949                 os=`echo $os | sed -e 's|linux|linux-gnu|'`
950                 ;;
951         -sunos5*)
952                 os=`echo $os | sed -e 's|sunos5|solaris2|'`
953                 ;;
954         -sunos6*)
955                 os=`echo $os | sed -e 's|sunos6|solaris3|'`
956                 ;;
957         -opened*)
958                 os=-openedition
959                 ;;
960         -wince*)
961                 os=-wince
962                 ;;
963         -osfrose*)
964                 os=-osfrose
965                 ;;
966         -osf*)
967                 os=-osf
968                 ;;
969         -utek*)
970                 os=-bsd
971                 ;;
972         -dynix*)
973                 os=-bsd
974                 ;;
975         -acis*)
976                 os=-aos
977                 ;;
978         -386bsd)
979                 os=-bsd
980                 ;;
981         -ctix* | -uts*)
982                 os=-sysv
983                 ;;
984         -ns2 )
985                 os=-nextstep2
986                 ;;
987         # Preserve the version number of sinix5.
988         -sinix5.*)
989                 os=`echo $os | sed -e 's|sinix|sysv|'`
990                 ;;
991         -sinix*)
992                 os=-sysv4
993                 ;;
994         -triton*)
995                 os=-sysv3
996                 ;;
997         -oss*)
998                 os=-sysv3
999                 ;;
1000         -qnx)
1001                 os=-qnx4
1002                 ;;
1003         -svr4)
1004                 os=-sysv4
1005                 ;;
1006         -svr3)
1007                 os=-sysv3
1008                 ;;
1009         -sysvr4)
1010                 os=-sysv4
1011                 ;;
1012         # This must come after -sysvr4.
1013         -sysv*)
1014                 ;;
1015         -ose*)
1016                 os=-ose
1017                 ;;
1018         -es1800*)
1019                 os=-ose
1020                 ;;
1021         -xenix)
1022                 os=-xenix
1023                 ;;
1024         -*mint | -*MiNT)
1025                 os=-mint
1026                 ;;
1027         -none)
1028                 ;;
1029         *)
1030                 # Get rid of the `-' at the beginning of $os.
1031                 os=`echo $os | sed 's/[^-]*-//'`
1032                 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1033                 exit 1
1034                 ;;
1035 esac
1036 else
1037
1038 # Here we handle the default operating systems that come with various machines.
1039 # The value should be what the vendor currently ships out the door with their
1040 # machine or put another way, the most popular os provided with the machine.
1041
1042 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1043 # "-sun"), then you have to tell the case statement up towards the top
1044 # that MANUFACTURER isn't an operating system.  Otherwise, code above
1045 # will signal an error saying that MANUFACTURER isn't an operating
1046 # system, and we'll never get to this point.
1047
1048 case $basic_machine in
1049         *-acorn)
1050                 os=-riscix1.2
1051                 ;;
1052         arm*-rebel)
1053                 os=-linux
1054                 ;;
1055         arm*-semi)
1056                 os=-aout
1057                 ;;
1058         pdp11-*)
1059                 os=-none
1060                 ;;
1061         *-dec | vax-*)
1062                 os=-ultrix4.2
1063                 ;;
1064         m68*-apollo)
1065                 os=-domain
1066                 ;;
1067         i386-sun)
1068                 os=-sunos4.0.2
1069                 ;;
1070         m68000-sun)
1071                 os=-sunos3
1072                 # This also exists in the configure program, but was not the
1073                 # default.
1074                 # os=-sunos4
1075                 ;;
1076         m68*-cisco)
1077                 os=-aout
1078                 ;;
1079         mips*-cisco)
1080                 os=-elf
1081                 ;;
1082         mips*-*)
1083                 os=-elf
1084                 ;;
1085         *-tti)  # must be before sparc entry or we get the wrong os.
1086                 os=-sysv3
1087                 ;;
1088         sparc-* | *-sun)
1089                 os=-sunos4.1.1
1090                 ;;
1091         *-be)
1092                 os=-beos
1093                 ;;
1094         i370-*)
1095                 os=-openedition
1096                 ;;
1097         *-ibm)
1098                 os=-aix
1099                 ;;
1100         *-wec)
1101                 os=-proelf
1102                 ;;
1103         *-winbond)
1104                 os=-proelf
1105                 ;;
1106         *-oki)
1107                 os=-proelf
1108                 ;;
1109         *-hp)
1110                 os=-hpux
1111                 ;;
1112         *-hitachi)
1113                 os=-hiux
1114                 ;;
1115         i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1116                 os=-sysv
1117                 ;;
1118         *-cbm)
1119                 os=-amigaos
1120                 ;;
1121         *-dg)
1122                 os=-dgux
1123                 ;;
1124         *-dolphin)
1125                 os=-sysv3
1126                 ;;
1127         m68k-ccur)
1128                 os=-rtu
1129                 ;;
1130         m88k-omron*)
1131                 os=-luna
1132                 ;;
1133         *-next )
1134                 os=-nextstep
1135                 ;;
1136         *-sequent)
1137                 os=-ptx
1138                 ;;
1139         *-crds)
1140                 os=-unos
1141                 ;;
1142         *-ns)
1143                 os=-genix
1144                 ;;
1145         i370-*)
1146                 os=-mvs
1147                 ;;
1148         *-next)
1149                 os=-nextstep3
1150                 ;;
1151         *-gould)
1152                 os=-sysv
1153                 ;;
1154         *-highlevel)
1155                 os=-bsd
1156                 ;;
1157         *-encore)
1158                 os=-bsd
1159                 ;;
1160         *-sgi)
1161                 os=-irix
1162                 ;;
1163         *-siemens)
1164                 os=-sysv4
1165                 ;;
1166         *-masscomp)
1167                 os=-rtu
1168                 ;;
1169         f301-fujitsu)
1170                 os=-uxpv
1171                 ;;
1172         *-rom68k)
1173                 os=-coff
1174                 ;;
1175         *-*bug)
1176                 os=-coff
1177                 ;;
1178         *-apple)
1179                 os=-macos
1180                 ;;
1181         *-atari*)
1182                 os=-mint
1183                 ;;
1184         *)
1185                 os=-none
1186                 ;;
1187 esac
1188 fi
1189
1190 # Here we handle the case where we know the os, and the CPU type, but not the
1191 # manufacturer.  We pick the logical manufacturer.
1192 vendor=unknown
1193 case $basic_machine in
1194         *-unknown)
1195                 case $os in
1196                         -riscix*)
1197                                 vendor=acorn
1198                                 ;;
1199                         -sunos*)
1200                                 vendor=sun
1201                                 ;;
1202                         -aix*)
1203                                 vendor=ibm
1204                                 ;;
1205                         -beos*)
1206                                 vendor=be
1207                                 ;;
1208                         -hpux*)
1209                                 vendor=hp
1210                                 ;;
1211                         -mpeix*)
1212                                 vendor=hp
1213                                 ;;
1214                         -hiux*)
1215                                 vendor=hitachi
1216                                 ;;
1217                         -unos*)
1218                                 vendor=crds
1219                                 ;;
1220                         -dgux*)
1221                                 vendor=dg
1222                                 ;;
1223                         -luna*)
1224                                 vendor=omron
1225                                 ;;
1226                         -genix*)
1227                                 vendor=ns
1228                                 ;;
1229                         -mvs* | -opened*)
1230                                 vendor=ibm
1231                                 ;;
1232                         -ptx*)
1233                                 vendor=sequent
1234                                 ;;
1235                         -vxsim* | -vxworks*)
1236                                 vendor=wrs
1237                                 ;;
1238                         -aux*)
1239                                 vendor=apple
1240                                 ;;
1241                         -hms*)
1242                                 vendor=hitachi
1243                                 ;;
1244                         -mpw* | -macos*)
1245                                 vendor=apple
1246                                 ;;
1247                         -*mint | -*MiNT)
1248                                 vendor=atari
1249                                 ;;
1250                 esac
1251                 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1252                 ;;
1253 esac
1254
1255 echo $basic_machine$os