root/trunk/indexers/mg/config.sub @ 3745

Revision 3745, 15.9 KB (checked in by mdewsnip, 17 years ago)

Addition of MG package for search and retrieval

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
Line 
1#!/bin/sh
2# Configuration validation subroutine script, version 1.1.
3#   Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
4# This file is (in principle) common to ALL GNU software.
5# The presence of a machine in this file suggests that SOME GNU software
6# can handle that machine.  It does not imply ALL GNU software can.
7#
8# This file is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program; if not, write to the Free Software
20# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21
22# As a special exception to the GNU General Public License, if you
23# distribute this file as part of a program that contains a
24# configuration script generated by Autoconf, you may include it under
25# the same distribution terms that you use for the rest of that program.
26
27# Configuration subroutine to validate and canonicalize a configuration type.
28# Supply the specified configuration type as an argument.
29# If it is invalid, we print an error message on stderr and exit with code 1.
30# Otherwise, we print the canonical config type on stdout and succeed.
31
32# This file is supposed to be the same for all GNU packages
33# and recognize all the CPU types, system types and aliases
34# that are meaningful with *any* GNU software.
35# Each package is responsible for reporting which valid configurations
36# it does not support.  The user should be able to distinguish
37# a failure to support a valid configuration from a meaningless
38# configuration.
39
40# The goal of this file is to map all the various variations of a given
41# machine specification into a single specification in the form:
42#   CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
43# It is wrong to echo any other type of specification.
44
45# First pass through any local machine types.
46case $1 in
47    *local*)
48        echo $1
49        exit 0
50        ;;
51    *)
52    ;;
53esac
54
55# Separate what the user gave into CPU-COMPANY and OS (if any).
56basic_machine=`echo $1 | sed 's/-[^-]*$//'`
57if [ $basic_machine != $1 ]
58then os=`echo $1 | sed 's/.*-/-/'`
59else os=; fi
60
61### Let's recognize common machines as not being operating systems so
62### that things like config.sub decstation-3100 work.  We also
63### recognize some manufacturers as not being operating systems, so we
64### can provide default operating systems below.
65case $os in
66    -sun*os*)
67        # Prevent following clause from handling this invalid input.
68        ;;
69    -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
70    -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
71    -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
72    -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
73    -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
74    -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp )
75        os=
76        basic_machine=$1
77        ;;
78    -hiux*)
79        os=-hiuxwe2
80        ;;
81    -sco4)
82        os=-sco3.2v4
83        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
84        ;;
85    -sco3.2.[4-9]*)
86        os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
87        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
88        ;;
89    -sco3.2v[4-9]*)
90        # Don't forget version if it is 3.2v4 or newer.
91        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
92        ;;
93    -sco*)
94        os=-sco3.2v2
95        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
96        ;;
97    -isc)
98        os=-isc2.2
99        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
100        ;;
101    -clix*)
102        basic_machine=clipper-intergraph
103        ;;
104    -isc*)
105        basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
106        ;;
107    -lynx)
108        os=-lynxos
109        ;;
110    -ptx*)
111        basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
112        ;;
113    -windowsnt*)
114        os=`echo $os | sed -e 's/windowsnt/winnt/'`
115        ;;
116esac
117
118# Decode aliases for certain CPU-COMPANY combinations.
119case $basic_machine in
120    # Recognize the basic CPU types without company name.
121    # Some are omitted here because they have special meanings below.
122    tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \
123        | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
124        | alpha | we32k | ns16k | clipper | sparclite | i370 | sh \
125        | powerpc | sparc64 | 1750a | dsp16xx | mips64 | mipsel \
126        | pdp11 | mips64el | mips64orion | mips64orionel )
127        basic_machine=$basic_machine-unknown
128        ;;
129    # Object if more than one company name word.
130    *-*-*)
131        echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
132        exit 1
133        ;;
134    # Recognize the basic CPU types with company name.
135    vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \
136          | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
137          | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
138          | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
139          | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
140          | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
141          | pdp11-* | sh-* | powerpc-* | sparc64-* | mips64-* | mipsel-* \
142          | mips64el-* | mips64orion-* | mips64orionel-* )
143        ;;
144    # Recognize the various machine names and aliases which stand
145    # for a CPU type and a company and sometimes even an OS.
146    3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
147        basic_machine=m68000-att
148        ;;
149    3b*)
150        basic_machine=we32k-att
151        ;;
152    alliant | fx80)
153        basic_machine=fx80-alliant
154        ;;
155    altos | altos3068)
156        basic_machine=m68k-altos
157        ;;
158    am29k)
159        basic_machine=a29k-none
160        os=-bsd
161        ;;
162    amdahl)
163        basic_machine=580-amdahl
164        os=-sysv
165        ;;
166    amiga | amiga-*)
167        basic_machine=m68k-cbm
168        ;;
169    amigados)
170        basic_machine=m68k-cbm
171        os=-amigados
172        ;;
173    amigaunix | amix)
174        basic_machine=m68k-cbm
175        os=-sysv4
176        ;;
177    apollo68)
178        basic_machine=m68k-apollo
179        os=-sysv
180        ;;
181    balance)
182        basic_machine=ns32k-sequent
183        os=-dynix
184        ;;
185    convex-c1)
186        basic_machine=c1-convex
187        os=-bsd
188        ;;
189    convex-c2)
190        basic_machine=c2-convex
191        os=-bsd
192        ;;
193    convex-c32)
194        basic_machine=c32-convex
195        os=-bsd
196        ;;
197    convex-c34)
198        basic_machine=c34-convex
199        os=-bsd
200        ;;
201    convex-c38)
202        basic_machine=c38-convex
203        os=-bsd
204        ;;
205    cray | ymp)
206        basic_machine=ymp-cray
207        os=-unicos
208        ;;
209    cray2)
210        basic_machine=cray2-cray
211        os=-unicos
212        ;;
213    crds | unos)
214        basic_machine=m68k-crds
215        ;;
216    da30 | da30-*)
217        basic_machine=m68k-da30
218        ;;
219    decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
220        basic_machine=mips-dec
221        ;;
222    delta | 3300 | motorola-3300 | motorola-delta \
223          | 3300-motorola | delta-motorola)
224        basic_machine=m68k-motorola
225        ;;
226    delta88)
227        basic_machine=m88k-motorola
228        os=-sysv3
229        ;;
230    dpx20 | dpx20-*)
231        basic_machine=rs6000-bull
232        os=-bosx
233        ;;
234    dpx2* | dpx2*-bull)
235        basic_machine=m68k-bull
236        os=-sysv3
237        ;;
238    ebmon29k)
239        basic_machine=a29k-amd
240        os=-ebmon
241        ;;
242    elxsi)
243        basic_machine=elxsi-elxsi
244        os=-bsd
245        ;;
246    encore | umax | mmax)
247        basic_machine=ns32k-encore
248        ;;
249    fx2800)
250        basic_machine=i860-alliant
251        ;;
252    genix)
253        basic_machine=ns32k-ns
254        ;;
255    gmicro)
256        basic_machine=tron-gmicro
257        os=-sysv
258        ;;
259    h3050r* | hiux*)
260        basic_machine=hppa1.1-hitachi
261        os=-hiuxwe2
262        ;;
263    h8300hms)
264        basic_machine=h8300-hitachi
265        os=-hms
266        ;;
267    harris)
268        basic_machine=m88k-harris
269        os=-sysv3
270        ;;
271    hp300-*)
272        basic_machine=m68k-hp
273        ;;
274    hp300bsd)
275        basic_machine=m68k-hp
276        os=-bsd
277        ;;
278    hp300hpux)
279        basic_machine=m68k-hp
280        os=-hpux
281        ;;
282    hp9k2[0-9][0-9] | hp9k31[0-9])
283        basic_machine=m68000-hp
284        ;;
285    hp9k3[2-9][0-9])
286        basic_machine=m68k-hp
287        ;;
288    hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
289        basic_machine=hppa1.1-hp
290        ;;
291    hp9k8[0-9][0-9] | hp8[0-9][0-9])
292        basic_machine=hppa1.0-hp
293        ;;
294    i370-ibm* | ibm*)
295        basic_machine=i370-ibm
296        os=-mvs
297        ;;
298# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
299    i[345]86v32)
300        basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
301        os=-sysv32
302        ;;
303    i[345]86v4*)
304        basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
305        os=-sysv4
306        ;;
307    i[345]86v)
308        basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
309        os=-sysv
310        ;;
311    i[345]86sol2)
312        basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
313        os=-solaris2
314        ;;
315    iris | iris4d)
316        basic_machine=mips-sgi
317        case $os in
318            -irix*)
319            ;;
320            *)
321            os=-irix4
322            ;;
323        esac
324        ;;
325    isi68 | isi)
326        basic_machine=m68k-isi
327        os=-sysv
328        ;;
329    m88k-omron*)
330        basic_machine=m88k-omron
331        ;;
332    magnum | m3230)
333        basic_machine=mips-mips
334        os=-sysv
335        ;;
336    merlin)
337        basic_machine=ns32k-utek
338        os=-sysv
339        ;;
340    miniframe)
341        basic_machine=m68000-convergent
342        ;;
343    mips3*-*)
344        basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
345        ;;
346    mips3*)
347        basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
348        ;;
349    ncr3000)
350        basic_machine=i486-ncr
351        os=-sysv4
352        ;;
353    news | news700 | news800 | news900)
354        basic_machine=m68k-sony
355        os=-newsos
356        ;;
357    news1000)
358        basic_machine=m68030-sony
359        os=-newsos
360        ;;
361    news-3600 | risc-news)
362        basic_machine=mips-sony
363        os=-newsos
364        ;;
365    next | m*-next )
366        basic_machine=m68k-next
367        case $os in
368            -nextstep* )
369            ;;
370            -ns2*)
371              os=-nextstep2
372            ;;
373            *)
374              os=-nextstep3
375            ;;
376        esac
377        ;;
378    nh3000)
379        basic_machine=m68k-harris
380        os=-cxux
381        ;;
382    nh[45]000)
383        basic_machine=m88k-harris
384        os=-cxux
385        ;;
386    nindy960)
387        basic_machine=i960-intel
388        os=-nindy
389        ;;
390    np1)
391        basic_machine=np1-gould
392        ;;
393    pa-hitachi)
394        basic_machine=hppa1.1-hitachi
395        os=-hiuxwe2
396        ;;
397    paragon)
398        basic_machine=i860-intel
399        os=-osf
400        ;;
401    pbd)
402        basic_machine=sparc-tti
403        ;;
404    pbb)
405        basic_machine=m68k-tti
406        ;;
407        pc532 | pc532-*)
408        basic_machine=ns32k-pc532
409        ;;
410    pentium-*)
411        # We will change tis to say i586 once there has been
412        # time for various packages to start to recognize that.
413        basic_machine=i486-`echo $basic_machine | sed 's/^[^-]*-//'`
414        ;;
415    pn)
416        basic_machine=pn-gould
417        ;;
418    ps2)
419        basic_machine=i386-ibm
420        ;;
421    rtpc | rtpc-*)
422        basic_machine=romp-ibm
423        ;;
424    sequent)
425        basic_machine=i386-sequent
426        ;;
427    sh)
428        basic_machine=sh-hitachi
429        os=-hms
430        ;;
431    sps7)
432        basic_machine=m68k-bull
433        os=-sysv2
434        ;;
435    spur)
436        basic_machine=spur-unknown
437        ;;
438    sun2)
439        basic_machine=m68000-sun
440        ;;
441    sun2os3)
442        basic_machine=m68000-sun
443        os=-sunos3
444        ;;
445    sun2os4)
446        basic_machine=m68000-sun
447        os=-sunos4
448        ;;
449    sun3os3)
450        basic_machine=m68k-sun
451        os=-sunos3
452        ;;
453    sun3os4)
454        basic_machine=m68k-sun
455        os=-sunos4
456        ;;
457    sun4os3)
458        basic_machine=sparc-sun
459        os=-sunos3
460        ;;
461    sun4os4)
462        basic_machine=sparc-sun
463        os=-sunos4
464        ;;
465    sun3 | sun3-*)
466        basic_machine=m68k-sun
467        ;;
468    sun4)
469        basic_machine=sparc-sun
470        ;;
471    sun386 | sun386i | roadrunner)
472        basic_machine=i386-sun
473        ;;
474    symmetry)
475        basic_machine=i386-sequent
476        os=-dynix
477        ;;
478    tower | tower-32)
479        basic_machine=m68k-ncr
480        ;;
481    ultra3)
482        basic_machine=a29k-nyu
483        os=-sym1
484        ;;
485    vaxv)
486        basic_machine=vax-dec
487        os=-sysv
488        ;;
489    vms)
490        basic_machine=vax-dec
491        os=-vms
492        ;;
493    vxworks960)
494        basic_machine=i960-wrs
495        os=-vxworks
496        ;;
497    vxworks68)
498        basic_machine=m68k-wrs
499        os=-vxworks
500        ;;
501    xmp)
502        basic_machine=xmp-cray
503        os=-unicos
504        ;;
505        xps | xps100)
506        basic_machine=xps100-honeywell
507        ;;
508    none)
509        basic_machine=none-none
510        os=-none
511        ;;
512
513# Here we handle the default manufacturer of certain CPU types.  It is in
514# some cases the only manufacturer, in others, it is the most popular.
515    mips)
516        basic_machine=mips-mips
517        ;;
518    romp)
519        basic_machine=romp-ibm
520        ;;
521    rs6000)
522        basic_machine=rs6000-ibm
523        ;;
524    vax)
525        basic_machine=vax-dec
526        ;;
527    pdp11)
528        basic_machine=pdp11-dec
529        ;;
530    we32k)
531        basic_machine=we32k-att
532        ;;
533    sparc)
534        basic_machine=sparc-sun
535        ;;
536        cydra)
537        basic_machine=cydra-cydrome
538        ;;
539    orion)
540        basic_machine=orion-highlevel
541        ;;
542    orion105)
543        basic_machine=clipper-highlevel
544        ;;
545    *)
546        echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
547        exit 1
548        ;;
549esac
550
551# Here we canonicalize certain aliases for manufacturers.
552case $basic_machine in
553    *-digital*)
554        basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
555        ;;
556    *-commodore*)
557        basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
558        ;;
559    *)
560        ;;
561esac
562
563# Decode manufacturer-specific aliases for certain operating systems.
564
565if [ x"$os" != x"" ]
566then
567case $os in
568    # -solaris* is a basic system type, with this one exception.
569    -solaris1 | -solaris1.*)
570        os=`echo $os | sed -e 's|solaris1|sunos4|'`
571        ;;
572    -solaris)
573        os=-solaris2
574        ;;
575    -gnu/linux*)
576        os=`echo $os | sed -e 's|gnu/linux|linux|'`
577        ;;
578    # First accept the basic system types.
579    # The portable systems comes first.
580    # Each alternative must end in a *, to match a version number.
581    # -sysv* is not here because it comes later, after sysvr4.
582    -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
583          | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[345]* \
584          | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
585          | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
586          | -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
587          | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
588          | -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \
589          | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
590          | -ptx* | -coff* | -winnt*)
591        ;;
592    -sunos5*)
593        os=`echo $os | sed -e 's|sunos5|solaris2|'`
594        ;;
595    -sunos6*)
596        os=`echo $os | sed -e 's|sunos6|solaris3|'`
597        ;;
598    -osfrose*)
599        os=-osfrose
600        ;;
601    -osf*)
602        os=-osf
603        ;;
604    -utek*)
605        os=-bsd
606        ;;
607    -dynix*)
608        os=-bsd
609        ;;
610    -acis*)
611        os=-aos
612        ;;
613    -ctix* | -uts*)
614        os=-sysv
615        ;;
616    -triton*)
617        os=-sysv3
618        ;;
619    -oss*)
620        os=-sysv3
621        ;;
622    -svr4)
623        os=-sysv4
624        ;;
625    -svr3)
626        os=-sysv3
627        ;;
628    -sysvr4)
629        os=-sysv4
630        ;;
631    # This must come after -sysvr4.
632    -sysv*)
633        ;;
634    -xenix)
635        os=-xenix
636        ;;
637    -none)
638        ;;
639    *)
640        # Get rid of the `-' at the beginning of $os.
641        os=`echo $os | sed 's/[^-]*-//'`
642        echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
643        exit 1
644        ;;
645esac
646else
647
648# Here we handle the default operating systems that come with various machines.
649# The value should be what the vendor currently ships out the door with their
650# machine or put another way, the most popular os provided with the machine.
651
652# Note that if you're going to try to match "-MANUFACTURER" here (say,
653# "-sun"), then you have to tell the case statement up towards the top
654# that MANUFACTURER isn't an operating system.  Otherwise, code above
655# will signal an error saying that MANUFACTURER isn't an operating
656# system, and we'll never get to this point.
657
658case $basic_machine in
659    *-acorn)
660        os=-riscix1.2
661        ;;
662        pdp11-*)
663        os=-none
664        ;;
665    *-dec | vax-*)
666        os=-ultrix4.2
667        ;;
668    i386-sun)
669        os=-sunos4.0.2
670        ;;
671    m68000-sun)
672        os=-sunos3
673        # This also exists in the configure program, but was not the
674        # default.
675        # os=-sunos4
676        ;;
677    *-tti)  # must be before sparc entry or we get the wrong os.
678        os=-sysv3
679        ;;
680    sparc-* | *-sun)
681        os=-sunos4.1.1
682        ;;
683    *-ibm)
684        os=-aix
685        ;;
686    *-hp)
687        os=-hpux
688        ;;
689    *-hitachi)
690        os=-hiux
691        ;;
692    i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
693        os=-sysv
694        ;;
695    *-cbm)
696        os=-amigados
697        ;;
698    *-dg)
699        os=-dgux
700        ;;
701    *-dolphin)
702        os=-sysv3
703        ;;
704    m68k-ccur)
705        os=-rtu
706        ;;
707    m88k-omron*)
708        os=-luna
709        ;;
710    *-sequent)
711        os=-ptx
712        ;;
713    *-crds)
714        os=-unos
715        ;;
716    *-ns)
717        os=-genix
718        ;;
719    i370-*)
720        os=-mvs
721        ;;
722    *-next)
723        os=-nextstep3
724        ;;
725        *-gould)
726        os=-sysv
727        ;;
728        *-highlevel)
729        os=-bsd
730        ;;
731    *-encore)
732        os=-bsd
733        ;;
734        *-sgi)
735        os=-irix
736        ;;
737    *-masscomp)
738        os=-rtu
739        ;;
740    *)
741        os=-none
742        ;;
743esac
744fi
745
746# Here we handle the case where we know the os, and the CPU type, but not the
747# manufacturer.  We pick the logical manufacturer.
748vendor=unknown
749case $basic_machine in
750    *-unknown)
751        case $os in
752            -riscix*)
753                vendor=acorn
754                ;;
755            -sunos*)
756                vendor=sun
757                ;;
758            -lynxos*)
759                vendor=lynx
760                ;;
761            -aix*)
762                vendor=ibm
763                ;;
764            -hpux*)
765                vendor=hp
766                ;;
767            -hiux*)
768                vendor=hitachi
769                ;;
770            -unos*)
771                vendor=crds
772                ;;
773            -dgux*)
774                vendor=dg
775                ;;
776            -luna*)
777                vendor=omron
778                ;;
779            -genix*)
780                vendor=ns
781                ;;
782            -mvs*)
783                vendor=ibm
784                ;;
785            -ptx*)
786                vendor=sequent
787                ;;
788        esac
789        basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
790        ;;
791esac
792
793echo $basic_machine$os
Note: See TracBrowser for help on using the browser.