version 1.3, 1997/02/16 20:51:06
|
version 1.4, 1998/12/22 23:28:44
|
Line 1
|
Line 1
|
#! /bin/sh |
#! /bin/sh |
# Configuration validation subroutine script, version 1.1. |
# Configuration validation subroutine script, version 1.1. |
# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. |
# Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc. |
# This file is (in principle) common to ALL GNU software. |
# This file is (in principle) common to ALL GNU software. |
# The presence of a machine in this file suggests that SOME GNU software |
# The presence of a machine in this file suggests that SOME GNU software |
# can handle that machine. It does not imply ALL GNU software can. |
# can handle that machine. It does not imply ALL GNU software can. |
# |
# |
# This file is free software; you can redistribute it and/or modify |
# This file is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# it under the terms of the GNU General Public License as published by |
Line 41
|
Line 41
|
# The goal of this file is to map all the various variations of a given |
# The goal of this file is to map all the various variations of a given |
# machine specification into a single specification in the form: |
# machine specification into a single specification in the form: |
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM |
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM |
|
# or in some cases, the newer four-part form: |
|
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM |
# It is wrong to echo any other type of specification. |
# It is wrong to echo any other type of specification. |
|
|
if [ x$1 = x ] |
if [ x$1 = x ] |
Line 62 case $1 in
|
Line 64 case $1 in
|
;; |
;; |
esac |
esac |
|
|
# Separate what the user gave into CPU-COMPANY and OS (if any). |
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). |
basic_machine=`echo $1 | sed 's/-[^-]*$//'` |
# Here we must recognize all the valid KERNEL-OS combinations. |
if [ $basic_machine != $1 ] |
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` |
then os=`echo $1 | sed 's/.*-/-/'` |
case $maybe_os in |
else os=; fi |
linux-gnu*) |
|
os=-$maybe_os |
|
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` |
|
;; |
|
*) |
|
basic_machine=`echo $1 | sed 's/-[^-]*$//'` |
|
if [ $basic_machine != $1 ] |
|
then os=`echo $1 | sed 's/.*-/-/'` |
|
else os=; fi |
|
;; |
|
esac |
|
|
### Let's recognize common machines as not being operating systems so |
### Let's recognize common machines as not being operating systems so |
### that things like config.sub decstation-3100 work. We also |
### that things like config.sub decstation-3100 work. We also |
Line 81 case $os in
|
Line 93 case $os in
|
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ |
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ |
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ |
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ |
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ |
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ |
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp ) |
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ |
|
-apple) |
os= |
os= |
basic_machine=$1 |
basic_machine=$1 |
;; |
;; |
-hiux*) |
-hiux*) |
os=-hiuxwe2 |
os=-hiuxwe2 |
;; |
;; |
|
-sco5) |
|
os=sco3.2v5 |
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
|
;; |
-sco4) |
-sco4) |
os=-sco3.2v4 |
os=-sco3.2v4 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
;; |
;; |
-sco3.2.[4-9]*) |
-sco3.2.[4-9]*) |
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` |
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` |
basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
;; |
;; |
-sco3.2v[4-9]*) |
-sco3.2v[4-9]*) |
# Don't forget version if it is 3.2v4 or newer. |
# Don't forget version if it is 3.2v4 or newer. |
basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
;; |
;; |
-sco*) |
-sco*) |
os=-sco3.2v2 |
os=-sco3.2v2 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
;; |
;; |
-isc) |
-isc) |
os=-isc2.2 |
os=-isc2.2 |
basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
;; |
;; |
-clix*) |
-clix*) |
basic_machine=clipper-intergraph |
basic_machine=clipper-intergraph |
;; |
;; |
-isc*) |
-isc*) |
basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'` |
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
;; |
;; |
-lynx*) |
-lynx*) |
os=-lynxos |
os=-lynxos |
Line 123 case $os in
|
Line 140 case $os in
|
-windowsnt*) |
-windowsnt*) |
os=`echo $os | sed -e 's/windowsnt/winnt/'` |
os=`echo $os | sed -e 's/windowsnt/winnt/'` |
;; |
;; |
|
-psos*) |
|
os=-psos |
|
;; |
esac |
esac |
|
|
# Decode aliases for certain CPU-COMPANY combinations. |
# Decode aliases for certain CPU-COMPANY combinations. |
case $basic_machine in |
case $basic_machine in |
# Recognize the basic CPU types without company name. |
# Recognize the basic CPU types without company name. |
# Some are omitted here because they have special meanings below. |
# Some are omitted here because they have special meanings below. |
tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm \ |
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ |
| arme[lb] | pyramid \ |
| arme[lb] | pyramid | mn10200 | mn10300 \ |
| tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \ |
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \ |
| alpha | we32k | ns16k | clipper | sparclite | i370 | sh \ |
| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \ |
| powerpc | powerpcle | sparc64 | 1750a | dsp16xx | mips64 | mipsel \ |
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \ |
| pdp11 | mips64el | mips64orion | mips64orionel \ |
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \ |
| sparc) |
| mipstx39 | mipstx39el \ |
|
| sparc | sparclet | sparclite | sparc64 | v850) |
basic_machine=$basic_machine-unknown |
basic_machine=$basic_machine-unknown |
;; |
;; |
|
# We use `pc' rather than `unknown' |
|
# because (1) that's what they normally are, and |
|
# (2) the word "unknown" tends to confuse beginning users. |
|
i[3456]86) |
|
basic_machine=$basic_machine-pc |
|
;; |
# Object if more than one company name word. |
# Object if more than one company name word. |
*-*-*) |
*-*-*) |
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 |
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 |
exit 1 |
exit 1 |
;; |
;; |
# Recognize the basic CPU types with company name. |
# Recognize the basic CPU types with company name. |
vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \ |
vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \ |
| sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \ |
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ |
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \ |
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ |
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ |
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \ |
| hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \ |
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \ |
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \ |
| alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \ |
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \ |
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \ |
| mips64el-* | mips64orion-* | mips64orionel-*) |
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ |
|
| sparc64-* | mips64-* | mipsel-* \ |
|
| mips64el-* | mips64orion-* | mips64orionel-* \ |
|
| mipstx39-* | mipstx39el-* \ |
|
| f301-*) |
;; |
;; |
# Recognize the various machine names and aliases which stand |
# Recognize the various machine names and aliases which stand |
# for a CPU type and a company and sometimes even an OS. |
# for a CPU type and a company and sometimes even an OS. |
Line 178 case $basic_machine in
|
Line 209 case $basic_machine in
|
amiga | amiga-*) |
amiga | amiga-*) |
basic_machine=m68k-cbm |
basic_machine=m68k-cbm |
;; |
;; |
amigados) |
amigaos | amigados) |
basic_machine=m68k-cbm |
basic_machine=m68k-cbm |
os=-amigados |
os=-amigaos |
;; |
;; |
amigaunix | amix) |
amigaunix | amix) |
basic_machine=m68k-cbm |
basic_machine=m68k-cbm |
Line 190 case $basic_machine in
|
Line 221 case $basic_machine in
|
basic_machine=m68k-apollo |
basic_machine=m68k-apollo |
os=-sysv |
os=-sysv |
;; |
;; |
|
aux) |
|
basic_machine=m68k-apple |
|
os=-aux |
|
;; |
balance) |
balance) |
basic_machine=ns32k-sequent |
basic_machine=ns32k-sequent |
os=-dynix |
os=-dynix |
Line 222 case $basic_machine in
|
Line 257 case $basic_machine in
|
basic_machine=cray2-cray |
basic_machine=cray2-cray |
os=-unicos |
os=-unicos |
;; |
;; |
|
[ctj]90-cray) |
|
basic_machine=c90-cray |
|
os=-unicos |
|
;; |
crds | unos) |
crds | unos) |
basic_machine=m68k-crds |
basic_machine=m68k-crds |
;; |
;; |
Line 303 case $basic_machine in
|
Line 342 case $basic_machine in
|
hp9k8[0-9][0-9] | hp8[0-9][0-9]) |
hp9k8[0-9][0-9] | hp8[0-9][0-9]) |
basic_machine=hppa1.0-hp |
basic_machine=hppa1.0-hp |
;; |
;; |
|
hppa-next) |
|
os=-nextstep3 |
|
;; |
i370-ibm* | ibm*) |
i370-ibm* | ibm*) |
basic_machine=i370-ibm |
basic_machine=i370-ibm |
os=-mvs |
os=-mvs |
;; |
;; |
# I'm not sure what "Sysv32" means. Should this be sysv3.2? |
# I'm not sure what "Sysv32" means. Should this be sysv3.2? |
i[345]86v32) |
i[3456]86v32) |
basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
os=-sysv32 |
os=-sysv32 |
;; |
;; |
i[345]86v4*) |
i[3456]86v4*) |
basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
os=-sysv4 |
os=-sysv4 |
;; |
;; |
i[345]86v) |
i[3456]86v) |
basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
os=-sysv |
os=-sysv |
;; |
;; |
i[345]86sol2) |
i[3456]86sol2) |
basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'` |
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
os=-solaris2 |
os=-solaris2 |
;; |
;; |
iris | iris4d) |
iris | iris4d) |
Line 352 case $basic_machine in
|
Line 394 case $basic_machine in
|
miniframe) |
miniframe) |
basic_machine=m68000-convergent |
basic_machine=m68000-convergent |
;; |
;; |
|
mipsel*-linux*) |
|
basic_machine=mipsel-unknown |
|
os=-linux-gnu |
|
;; |
|
mips*-linux*) |
|
basic_machine=mips-unknown |
|
os=-linux-gnu |
|
;; |
mips3*-*) |
mips3*-*) |
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` |
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` |
;; |
;; |
Line 419 case $basic_machine in
|
Line 469 case $basic_machine in
|
pc532 | pc532-*) |
pc532 | pc532-*) |
basic_machine=ns32k-pc532 |
basic_machine=ns32k-pc532 |
;; |
;; |
pentium | p5 | p6) |
pentium | p5) |
# We don't have specific support for the Intel Pentium (p6) followon yet, so just call it a Pentium |
|
basic_machine=i586-intel |
basic_machine=i586-intel |
;; |
;; |
pentium-* | p5-* | p6-*) |
pentiumpro | p6) |
# We don't have specific support for the Intel Pentium (p6) followon yet, so just call it a Pentium |
basic_machine=i686-intel |
|
;; |
|
pentium-* | p5-*) |
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` |
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` |
;; |
;; |
|
pentiumpro-* | p6-*) |
|
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` |
|
;; |
k5) |
k5) |
# We don't have specific support for AMD's K5 yet, so just call it a Pentium |
# We don't have specific support for AMD's K5 yet, so just call it a Pentium |
basic_machine=i586-amd |
basic_machine=i586-amd |
Line 517 case $basic_machine in
|
Line 571 case $basic_machine in
|
basic_machine=i386-sequent |
basic_machine=i386-sequent |
os=-dynix |
os=-dynix |
;; |
;; |
|
tx39) |
|
basic_machine=mipstx39-unknown |
|
;; |
|
tx39el) |
|
basic_machine=mipstx39el-unknown |
|
;; |
tower | tower-32) |
tower | tower-32) |
basic_machine=m68k-ncr |
basic_machine=m68k-ncr |
;; |
;; |
Line 536 case $basic_machine in
|
Line 596 case $basic_machine in
|
basic_machine=vax-dec |
basic_machine=vax-dec |
os=-vms |
os=-vms |
;; |
;; |
|
vpp*|vx|vx-*) |
|
basic_machine=f301-fujitsu |
|
;; |
vxworks960) |
vxworks960) |
basic_machine=i960-wrs |
basic_machine=i960-wrs |
os=-vxworks |
os=-vxworks |
Line 563 case $basic_machine in
|
Line 626 case $basic_machine in
|
# Here we handle the default manufacturer of certain CPU types. It is in |
# Here we handle the default manufacturer of certain CPU types. It is in |
# some cases the only manufacturer, in others, it is the most popular. |
# some cases the only manufacturer, in others, it is the most popular. |
mips) |
mips) |
basic_machine=mips-mips |
if [ x$os = x-linux-gnu ]; then |
|
basic_machine=mips-unknown |
|
else |
|
basic_machine=mips-mips |
|
fi |
;; |
;; |
romp) |
romp) |
basic_machine=romp-ibm |
basic_machine=romp-ibm |
Line 615 esac
|
Line 682 esac
|
if [ x"$os" != x"" ] |
if [ x"$os" != x"" ] |
then |
then |
case $os in |
case $os in |
|
# First match some system type aliases |
|
# that might get confused with valid system types. |
# -solaris* is a basic system type, with this one exception. |
# -solaris* is a basic system type, with this one exception. |
-solaris1 | -solaris1.*) |
-solaris1 | -solaris1.*) |
os=`echo $os | sed -e 's|solaris1|sunos4|'` |
os=`echo $os | sed -e 's|solaris1|sunos4|'` |
Line 622 case $os in
|
Line 691 case $os in
|
-solaris) |
-solaris) |
os=-solaris2 |
os=-solaris2 |
;; |
;; |
-unixware* | svr4*) |
-svr4*) |
os=-sysv4 |
os=-sysv4 |
;; |
;; |
|
-unixware*) |
|
os=-sysv4.2uw |
|
;; |
-gnu/linux*) |
-gnu/linux*) |
os=`echo $os | sed -e 's|gnu/linux|linux|'` |
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` |
;; |
;; |
# First accept the basic system types. |
# First accept the basic system types. |
# The portable systems comes first. |
# The portable systems comes first. |
# Each alternative MUST END IN A *, to match a version number. |
# Each alternative MUST END IN A *, to match a version number. |
# -sysv* is not here because it comes later, after sysvr4. |
# -sysv* is not here because it comes later, after sysvr4. |
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ |
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ |
| -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[345]* \ |
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ |
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ |
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ |
| -amigados* | -msdos* | -newsos* | -unicos* | -aos* \ |
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ |
| -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \ |
| -aos* \ |
| -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \ |
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ |
| -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \ |
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ |
|
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ |
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ |
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ |
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ |
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ |
| -udi* | -eabi* | -lites* | -cygwin* ) |
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ |
|
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ |
|
| -mingw32* | -linux-gnu* | -uxpv*) |
# Remember, each alternative MUST END IN *, to match a version number. |
# Remember, each alternative MUST END IN *, to match a version number. |
;; |
;; |
|
-linux*) |
|
os=`echo $os | sed -e 's|linux|linux-gnu|'` |
|
;; |
-sunos5*) |
-sunos5*) |
os=`echo $os | sed -e 's|sunos5|solaris2|'` |
os=`echo $os | sed -e 's|sunos5|solaris2|'` |
;; |
;; |
Line 668 case $os in
|
Line 746 case $os in
|
-ctix* | -uts*) |
-ctix* | -uts*) |
os=-sysv |
os=-sysv |
;; |
;; |
|
-ns2 ) |
|
os=-nextstep2 |
|
;; |
# Preserve the version number of sinix5. |
# Preserve the version number of sinix5. |
-sinix5.*) |
-sinix5.*) |
os=`echo $os | sed -e 's|sinix|sysv|'` |
os=`echo $os | sed -e 's|sinix|sysv|'` |
Line 684 case $os in
|
Line 765 case $os in
|
-svr4) |
-svr4) |
os=-sysv4 |
os=-sysv4 |
;; |
;; |
|
# For sys5.3 apollo |
|
-sys5.3) |
|
os=-sysv3 |
|
;; |
-svr3) |
-svr3) |
os=-sysv3 |
os=-sysv3 |
;; |
;; |
Line 761 case $basic_machine in
|
Line 846 case $basic_machine in
|
os=-sysv |
os=-sysv |
;; |
;; |
*-cbm) |
*-cbm) |
os=-amigados |
os=-amigaos |
;; |
;; |
*-dg) |
*-dg) |
os=-dgux |
os=-dgux |
Line 775 case $basic_machine in
|
Line 860 case $basic_machine in
|
m88k-omron*) |
m88k-omron*) |
os=-luna |
os=-luna |
;; |
;; |
|
*-next ) |
|
os=-nextstep |
|
;; |
*-sequent) |
*-sequent) |
os=-ptx |
os=-ptx |
;; |
;; |
Line 808 case $basic_machine in
|
Line 896 case $basic_machine in
|
*-masscomp) |
*-masscomp) |
os=-rtu |
os=-rtu |
;; |
;; |
|
f301-fujitsu) |
|
os=-uxpv |
|
;; |
*) |
*) |
os=-none |
os=-none |
;; |
;; |
Line 826 case $basic_machine in
|
Line 917 case $basic_machine in
|
-sunos*) |
-sunos*) |
vendor=sun |
vendor=sun |
;; |
;; |
-lynxos*) |
|
vendor=lynx |
|
;; |
|
-aix*) |
-aix*) |
vendor=ibm |
vendor=ibm |
;; |
;; |
Line 856 case $basic_machine in
|
Line 944 case $basic_machine in
|
-ptx*) |
-ptx*) |
vendor=sequent |
vendor=sequent |
;; |
;; |
-vxworks*) |
-vxsim* | -vxworks*) |
vendor=wrs |
vendor=wrs |
;; |
;; |
|
-aux*) |
|
vendor=apple |
|
;; |
esac |
esac |
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` |
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` |
;; |
;; |