home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # Configuration validation subroutine script, version 1.0.
- # Copyright (C) 1991 Free Software Foundation, Inc.
-
- #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
- #the Free Software Foundation; either version 2 of the License, or
- #(at your option) any later version.
-
- #This program is distributed in the hope that it will be useful,
- #but WITHOUT ANY WARRANTY; without even the implied warranty of
- #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- #GNU General Public License for more details.
-
- #You should have received a copy of the GNU General Public License
- #along with this program; if not, write to the Free Software
- #Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
- # Configuration subroutine to validate and canonicalize a configuration type.
- # Supply the specified configuration type as an argument.
- # If it is invalid, we print an error message on stderr and exit with code 1.
- # Otherwise, we print the canonical config type on stdout and succeed.
-
- # This file is supposed to be the same for all GNU packages
- # and recognize all the CPU types, system types and aliases
- # that are meaningful with *any* GNU software.
- # Each package is responsible for reporting which valid configurations
- # it does not support. The user should be able to distinguish
- # a failure to support a valid configuration from a meaningless
- # configuration.
-
- # Separate what the user gave into CPU/company and OS (if any).
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/[^-]*-/-/'`
- else os=; fi
-
- # Decode aliases for certain machine/company combinations.
- case $basic_machine in
- # Recognize the basic CPU types without company name.
- vax | tahoe | i386 | i860 | m68k | m68000 | m88k | sparc | ns32k \
- | alliant | arm | c1 | c2 | mips | pyramid | tron | a29k \
- | rtpc | rs6000)
- ;;
- # Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i386-* | i860-* | m68k-* | m68000-* | m88k-* \
- | sparc-* | ns32k-* | alliant-* | arm-* | c1-* | c2-* \
- | mips-* | pyramid-* | tron-* | a29k-* | rtpc-* | rs6000-*)
- ;;
- # Recognize the machine names
- # which stand for a CPU time and a company.
- iris | iris4d)
- basic_machine=mips-sgi
- ;;
- news | news800)
- basic_machine=m68k-sony
- ;;
- 3b1 | 7300 | 7300-att | att-7300)
- basic_machine=m68k-att
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- vax-dec)
- basic_machine=vax
- ;;
- balance)
- basic_machine=ns32k-sequent
- ;;
- mmax)
- basic_machine=ns32k-encore
- ;;
- pc532)
- basic_machine=ns32k-pc532
- ;;
- symmetry)
- basic_machine=i386-sequent
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun3)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- pbd)
- basic_machine=sparc-unicom
- ;;
- sun386 | sun386i)
- basic_machine=i386-sun
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- next)
- basic_machine=m68k-next
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k31[0-9] | hp9k2[0-9][0-9])
- basic_machine=m68000-hp
- ;;
- isi68)
- basic_machine=m68k-isi
- ;;
- apollo68)
- basic_machine=m68k-apollo
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- ;;
- decstation | decstation-3100 | pmax)
- basic_machine=mips-dec
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- ;;
- gmicro)
- basic_machine=tron
- ;;
- convex-c1)
- basic_machine=c1-convex
- ;;
- convex-c2)
- basic_machine=c2-convex
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- esac
-
- # Decode manufacturer-specific aliases for certain operating systems.
-
- if [ "$os" ]
- then
- case $os in
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative must end in a *, to match a version number.
- -bsd* | -sysv* | -mach* | -minix*\
- | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \
- | -unos* | -osf* | -v88r* | -luna* | -dgux*)
- ;;
- -newsos*)
- os=-bsd
- ;;
- -ultrix*)
- os=-bsd
- ;;
- -osfrose*)
- os=-osf
- ;;
- -osf*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -ctix*)
- os=-sysv
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $1 | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
- esac
- fi
-
- echo $basic_machine$os
-