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