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