source: trunk/third/control-center/config.sub @ 18374

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