source: trunk/third/gettext2/config/config.sub @ 22167

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