source: trunk/third/libole2/config.sub @ 17442

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