Home | History | Annotate | Download | only in aux
      1 #! /bin/sh
      2 # Attempt to guess a canonical system name.
      3 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
      4 #   2000, 2001, 2002 Free Software Foundation, Inc.
      5 
      6 timestamp='2002-03-20'
      7 
      8 # This file is free software; you can redistribute it and/or modify it
      9 # 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, but
     14 # WITHOUT ANY WARRANTY; without even the implied warranty of
     15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     16 # 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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 # Originally written by Per Bothner <per (at] bothner.com>.
     28 # Please send patches to <config-patches (at] gnu.org>.  Submit a context
     29 # diff and a properly formatted ChangeLog entry.
     30 #
     31 # This script attempts to guess a canonical system name similar to
     32 # config.sub.  If it succeeds, it prints the system name on stdout, and
     33 # exits with 0.  Otherwise, it exits with 1.
     34 #
     35 # The plan is that this can be called by configure scripts if you
     36 # don't specify an explicit build system type.
     37 
     38 me=`echo "$0" | sed -e 's,.*/,,'`
     39 
     40 usage="\
     41 Usage: $0 [OPTION]
     42 
     43 Output the configuration name of the system \`$me' is run on.
     44 
     45 Operation modes:
     46   -h, --help         print this help, then exit
     47   -t, --time-stamp   print date of last modification, then exit
     48   -v, --version      print version number, then exit
     49 
     50 Report bugs and patches to <config-patches (at] gnu.org>."
     51 
     52 version="\
     53 GNU config.guess ($timestamp)
     54 
     55 Originally written by Per Bothner.
     56 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
     57 Free Software Foundation, Inc.
     58 
     59 This is free software; see the source for copying conditions.  There is NO
     60 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
     61 
     62 help="
     63 Try \`$me --help' for more information."
     64 
     65 # Parse command line
     66 while test $# -gt 0 ; do
     67   case $1 in
     68     --time-stamp | --time* | -t )
     69        echo "$timestamp" ; exit 0 ;;
     70     --version | -v )
     71        echo "$version" ; exit 0 ;;
     72     --help | --h* | -h )
     73        echo "$usage"; exit 0 ;;
     74     -- )     # Stop option processing
     75        shift; break ;;
     76     - )	# Use stdin as input.
     77        break ;;
     78     -* )
     79        echo "$me: invalid option $1$help" >&2
     80        exit 1 ;;
     81     * )
     82        break ;;
     83   esac
     84 done
     85 
     86 if test $# != 0; then
     87   echo "$me: too many arguments$help" >&2
     88   exit 1
     89 fi
     90 
     91 
     92 dummy=dummy-$$
     93 trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
     94 
     95 # CC_FOR_BUILD -- compiler used by this script.
     96 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
     97 # use `HOST_CC' if defined, but it is deprecated.
     98 
     99 set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
    100  ,,)    echo "int dummy(){}" > $dummy.c ;
    101 	for c in cc gcc c89 c99 ; do
    102 	  ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
    103 	  if test $? = 0 ; then
    104 	     CC_FOR_BUILD="$c"; break ;
    105 	  fi ;
    106 	done ;
    107 	rm -f $dummy.c $dummy.o $dummy.rel ;
    108 	if test x"$CC_FOR_BUILD" = x ; then
    109 	  CC_FOR_BUILD=no_compiler_found ;
    110 	fi
    111 	;;
    112  ,,*)   CC_FOR_BUILD=$CC ;;
    113  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
    114 esac'
    115 
    116 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
    117 # (ghazi (at] noc.rutgers.edu 1994-08-24)
    118 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
    119 	PATH=$PATH:/.attbin ; export PATH
    120 fi
    121 
    122 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
    123 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
    124 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
    125 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
    126 
    127 # Note: order is significant - the case branches are not exclusive.
    128 
    129 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    130     *:NetBSD:*:*)
    131 	# NetBSD (nbsd) targets should (where applicable) match one or
    132 	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
    133 	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
    134 	# switched to ELF, *-*-netbsd* would select the old
    135 	# object file format.  This provides both forward
    136 	# compatibility and a consistent mechanism for selecting the
    137 	# object file format.
    138 	#
    139 	# Note: NetBSD doesn't particularly care about the vendor
    140 	# portion of the name.  We always set it to "unknown".
    141 	sysctl="sysctl -n hw.machine_arch"
    142 	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
    143 	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
    144 	case "${UNAME_MACHINE_ARCH}" in
    145 	    arm*) machine=arm-unknown ;;
    146 	    sh3el) machine=shl-unknown ;;
    147 	    sh3eb) machine=sh-unknown ;;
    148 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
    149 	esac
    150 	# The Operating System including object format, if it has switched
    151 	# to ELF recently, or will in the future.
    152 	case "${UNAME_MACHINE_ARCH}" in
    153 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
    154 		eval $set_cc_for_build
    155 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
    156 			| grep __ELF__ >/dev/null
    157 		then
    158 		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
    159 		    # Return netbsd for either.  FIX?
    160 		    os=netbsd
    161 		else
    162 		    os=netbsdelf
    163 		fi
    164 		;;
    165 	    *)
    166 	        os=netbsd
    167 		;;
    168 	esac
    169 	# The OS release
    170 	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
    171 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
    172 	# contains redundant information, the shorter form:
    173 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
    174 	echo "${machine}-${os}${release}"
    175 	exit 0 ;;
    176     amiga:OpenBSD:*:*)
    177 	echo m68k-unknown-openbsd${UNAME_RELEASE}
    178 	exit 0 ;;
    179     arc:OpenBSD:*:*)
    180 	echo mipsel-unknown-openbsd${UNAME_RELEASE}
    181 	exit 0 ;;
    182     hp300:OpenBSD:*:*)
    183 	echo m68k-unknown-openbsd${UNAME_RELEASE}
    184 	exit 0 ;;
    185     mac68k:OpenBSD:*:*)
    186 	echo m68k-unknown-openbsd${UNAME_RELEASE}
    187 	exit 0 ;;
    188     macppc:OpenBSD:*:*)
    189 	echo powerpc-unknown-openbsd${UNAME_RELEASE}
    190 	exit 0 ;;
    191     mvme68k:OpenBSD:*:*)
    192 	echo m68k-unknown-openbsd${UNAME_RELEASE}
    193 	exit 0 ;;
    194     mvme88k:OpenBSD:*:*)
    195 	echo m88k-unknown-openbsd${UNAME_RELEASE}
    196 	exit 0 ;;
    197     mvmeppc:OpenBSD:*:*)
    198 	echo powerpc-unknown-openbsd${UNAME_RELEASE}
    199 	exit 0 ;;
    200     pmax:OpenBSD:*:*)
    201 	echo mipsel-unknown-openbsd${UNAME_RELEASE}
    202 	exit 0 ;;
    203     sgi:OpenBSD:*:*)
    204 	echo mipseb-unknown-openbsd${UNAME_RELEASE}
    205 	exit 0 ;;
    206     sun3:OpenBSD:*:*)
    207 	echo m68k-unknown-openbsd${UNAME_RELEASE}
    208 	exit 0 ;;
    209     wgrisc:OpenBSD:*:*)
    210 	echo mipsel-unknown-openbsd${UNAME_RELEASE}
    211 	exit 0 ;;
    212     *:OpenBSD:*:*)
    213 	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
    214 	exit 0 ;;
    215     alpha:OSF1:*:*)
    216 	if test $UNAME_RELEASE = "V4.0"; then
    217 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
    218 	fi
    219 	# A Vn.n version is a released version.
    220 	# A Tn.n version is a released field test version.
    221 	# A Xn.n version is an unreleased experimental baselevel.
    222 	# 1.2 uses "1.2" for uname -r.
    223 	cat <<EOF >$dummy.s
    224 	.data
    225 \$Lformat:
    226 	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
    227 
    228 	.text
    229 	.globl main
    230 	.align 4
    231 	.ent main
    232 main:
    233 	.frame \$30,16,\$26,0
    234 	ldgp \$29,0(\$27)
    235 	.prologue 1
    236 	.long 0x47e03d80 # implver \$0
    237 	lda \$2,-1
    238 	.long 0x47e20c21 # amask \$2,\$1
    239 	lda \$16,\$Lformat
    240 	mov \$0,\$17
    241 	not \$1,\$18
    242 	jsr \$26,printf
    243 	ldgp \$29,0(\$26)
    244 	mov 0,\$16
    245 	jsr \$26,exit
    246 	.end main
    247 EOF
    248 	eval $set_cc_for_build
    249 	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
    250 	if test "$?" = 0 ; then
    251 		case `./$dummy` in
    252 			0-0)
    253 				UNAME_MACHINE="alpha"
    254 				;;
    255 			1-0)
    256 				UNAME_MACHINE="alphaev5"
    257 				;;
    258 			1-1)
    259 				UNAME_MACHINE="alphaev56"
    260 				;;
    261 			1-101)
    262 				UNAME_MACHINE="alphapca56"
    263 				;;
    264 			2-303)
    265 				UNAME_MACHINE="alphaev6"
    266 				;;
    267 			2-307)
    268 				UNAME_MACHINE="alphaev67"
    269 				;;
    270 			2-1307)
    271 				UNAME_MACHINE="alphaev68"
    272 				;;
    273 		esac
    274 	fi
    275 	rm -f $dummy.s $dummy
    276 	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
    277 	exit 0 ;;
    278     Alpha\ *:Windows_NT*:*)
    279 	# How do we know it's Interix rather than the generic POSIX subsystem?
    280 	# Should we change UNAME_MACHINE based on the output of uname instead
    281 	# of the specific Alpha model?
    282 	echo alpha-pc-interix
    283 	exit 0 ;;
    284     21064:Windows_NT:50:3)
    285 	echo alpha-dec-winnt3.5
    286 	exit 0 ;;
    287     Amiga*:UNIX_System_V:4.0:*)
    288 	echo m68k-unknown-sysv4
    289 	exit 0;;
    290     *:[Aa]miga[Oo][Ss]:*:*)
    291 	echo ${UNAME_MACHINE}-unknown-amigaos
    292 	exit 0 ;;
    293     *:[Mm]orph[Oo][Ss]:*:*)
    294 	echo ${UNAME_MACHINE}-unknown-morphos
    295 	exit 0 ;;
    296     *:OS/390:*:*)
    297 	echo i370-ibm-openedition
    298 	exit 0 ;;
    299     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
    300 	echo arm-acorn-riscix${UNAME_RELEASE}
    301 	exit 0;;
    302     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
    303 	echo hppa1.1-hitachi-hiuxmpp
    304 	exit 0;;
    305     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
    306 	# akee (at] wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
    307 	if test "`(/bin/universe) 2>/dev/null`" = att ; then
    308 		echo pyramid-pyramid-sysv3
    309 	else
    310 		echo pyramid-pyramid-bsd
    311 	fi
    312 	exit 0 ;;
    313     NILE*:*:*:dcosx)
    314 	echo pyramid-pyramid-svr4
    315 	exit 0 ;;
    316     sun4H:SunOS:5.*:*)
    317 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    318 	exit 0 ;;
    319     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
    320 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    321 	exit 0 ;;
    322     i86pc:SunOS:5.*:*)
    323 	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    324 	exit 0 ;;
    325     sun4*:SunOS:6*:*)
    326 	# According to config.sub, this is the proper way to canonicalize
    327 	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
    328 	# it's likely to be more like Solaris than SunOS4.
    329 	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    330 	exit 0 ;;
    331     sun4*:SunOS:*:*)
    332 	case "`/usr/bin/arch -k`" in
    333 	    Series*|S4*)
    334 		UNAME_RELEASE=`uname -v`
    335 		;;
    336 	esac
    337 	# Japanese Language versions have a version number like `4.1.3-JL'.
    338 	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
    339 	exit 0 ;;
    340     sun3*:SunOS:*:*)
    341 	echo m68k-sun-sunos${UNAME_RELEASE}
    342 	exit 0 ;;
    343     sun*:*:4.2BSD:*)
    344 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
    345 	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
    346 	case "`/bin/arch`" in
    347 	    sun3)
    348 		echo m68k-sun-sunos${UNAME_RELEASE}
    349 		;;
    350 	    sun4)
    351 		echo sparc-sun-sunos${UNAME_RELEASE}
    352 		;;
    353 	esac
    354 	exit 0 ;;
    355     aushp:SunOS:*:*)
    356 	echo sparc-auspex-sunos${UNAME_RELEASE}
    357 	exit 0 ;;
    358     # The situation for MiNT is a little confusing.  The machine name
    359     # can be virtually everything (everything which is not
    360     # "atarist" or "atariste" at least should have a processor
    361     # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
    362     # to the lowercase version "mint" (or "freemint").  Finally
    363     # the system name "TOS" denotes a system which is actually not
    364     # MiNT.  But MiNT is downward compatible to TOS, so this should
    365     # be no problem.
    366     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
    367         echo m68k-atari-mint${UNAME_RELEASE}
    368 	exit 0 ;;
    369     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
    370 	echo m68k-atari-mint${UNAME_RELEASE}
    371         exit 0 ;;
    372     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
    373         echo m68k-atari-mint${UNAME_RELEASE}
    374 	exit 0 ;;
    375     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
    376         echo m68k-milan-mint${UNAME_RELEASE}
    377         exit 0 ;;
    378     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
    379         echo m68k-hades-mint${UNAME_RELEASE}
    380         exit 0 ;;
    381     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
    382         echo m68k-unknown-mint${UNAME_RELEASE}
    383         exit 0 ;;
    384     powerpc:machten:*:*)
    385 	echo powerpc-apple-machten${UNAME_RELEASE}
    386 	exit 0 ;;
    387     RISC*:Mach:*:*)
    388 	echo mips-dec-mach_bsd4.3
    389 	exit 0 ;;
    390     RISC*:ULTRIX:*:*)
    391 	echo mips-dec-ultrix${UNAME_RELEASE}
    392 	exit 0 ;;
    393     VAX*:ULTRIX*:*:*)
    394 	echo vax-dec-ultrix${UNAME_RELEASE}
    395 	exit 0 ;;
    396     2020:CLIX:*:* | 2430:CLIX:*:*)
    397 	echo clipper-intergraph-clix${UNAME_RELEASE}
    398 	exit 0 ;;
    399     mips:*:*:UMIPS | mips:*:*:RISCos)
    400 	eval $set_cc_for_build
    401 	sed 's/^	//' << EOF >$dummy.c
    402 #ifdef __cplusplus
    403 #include <stdio.h>  /* for printf() prototype */
    404 	int main (int argc, char *argv[]) {
    405 #else
    406 	int main (argc, argv) int argc; char *argv[]; {
    407 #endif
    408 	#if defined (host_mips) && defined (MIPSEB)
    409 	#if defined (SYSTYPE_SYSV)
    410 	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
    411 	#endif
    412 	#if defined (SYSTYPE_SVR4)
    413 	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
    414 	#endif
    415 	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
    416 	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
    417 	#endif
    418 	#endif
    419 	  exit (-1);
    420 	}
    421 EOF
    422 	$CC_FOR_BUILD $dummy.c -o $dummy \
    423 	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
    424 	  && rm -f $dummy.c $dummy && exit 0
    425 	rm -f $dummy.c $dummy
    426 	echo mips-mips-riscos${UNAME_RELEASE}
    427 	exit 0 ;;
    428     Motorola:PowerMAX_OS:*:*)
    429 	echo powerpc-motorola-powermax
    430 	exit 0 ;;
    431     Night_Hawk:Power_UNIX:*:*)
    432 	echo powerpc-harris-powerunix
    433 	exit 0 ;;
    434     m88k:CX/UX:7*:*)
    435 	echo m88k-harris-cxux7
    436 	exit 0 ;;
    437     m88k:*:4*:R4*)
    438 	echo m88k-motorola-sysv4
    439 	exit 0 ;;
    440     m88k:*:3*:R3*)
    441 	echo m88k-motorola-sysv3
    442 	exit 0 ;;
    443     AViiON:dgux:*:*)
    444         # DG/UX returns AViiON for all architectures
    445         UNAME_PROCESSOR=`/usr/bin/uname -p`
    446 	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
    447 	then
    448 	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
    449 	       [ ${TARGET_BINARY_INTERFACE}x = x ]
    450 	    then
    451 		echo m88k-dg-dgux${UNAME_RELEASE}
    452 	    else
    453 		echo m88k-dg-dguxbcs${UNAME_RELEASE}
    454 	    fi
    455 	else
    456 	    echo i586-dg-dgux${UNAME_RELEASE}
    457 	fi
    458  	exit 0 ;;
    459     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
    460 	echo m88k-dolphin-sysv3
    461 	exit 0 ;;
    462     M88*:*:R3*:*)
    463 	# Delta 88k system running SVR3
    464 	echo m88k-motorola-sysv3
    465 	exit 0 ;;
    466     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
    467 	echo m88k-tektronix-sysv3
    468 	exit 0 ;;
    469     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
    470 	echo m68k-tektronix-bsd
    471 	exit 0 ;;
    472     *:IRIX*:*:*)
    473 	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
    474 	exit 0 ;;
    475     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
    476 	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
    477 	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
    478     i*86:AIX:*:*)
    479 	echo i386-ibm-aix
    480 	exit 0 ;;
    481     ia64:AIX:*:*)
    482 	if [ -x /usr/bin/oslevel ] ; then
    483 		IBM_REV=`/usr/bin/oslevel`
    484 	else
    485 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
    486 	fi
    487 	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
    488 	exit 0 ;;
    489     *:AIX:2:3)
    490 	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
    491 		eval $set_cc_for_build
    492 		sed 's/^		//' << EOF >$dummy.c
    493 		#include <sys/systemcfg.h>
    494 
    495 		main()
    496 			{
    497 			if (!__power_pc())
    498 				exit(1);
    499 			puts("powerpc-ibm-aix3.2.5");
    500 			exit(0);
    501 			}
    502 EOF
    503 		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
    504 		rm -f $dummy.c $dummy
    505 		echo rs6000-ibm-aix3.2.5
    506 	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
    507 		echo rs6000-ibm-aix3.2.4
    508 	else
    509 		echo rs6000-ibm-aix3.2
    510 	fi
    511 	exit 0 ;;
    512     *:AIX:*:[45])
    513 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
    514 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
    515 		IBM_ARCH=rs6000
    516 	else
    517 		IBM_ARCH=powerpc
    518 	fi
    519 	if [ -x /usr/bin/oslevel ] ; then
    520 		IBM_REV=`/usr/bin/oslevel`
    521 	else
    522 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
    523 	fi
    524 	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
    525 	exit 0 ;;
    526     *:AIX:*:*)
    527 	echo rs6000-ibm-aix
    528 	exit 0 ;;
    529     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
    530 	echo romp-ibm-bsd4.4
    531 	exit 0 ;;
    532     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
    533 	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
    534 	exit 0 ;;                           # report: romp-ibm BSD 4.3
    535     *:BOSX:*:*)
    536 	echo rs6000-bull-bosx
    537 	exit 0 ;;
    538     DPX/2?00:B.O.S.:*:*)
    539 	echo m68k-bull-sysv3
    540 	exit 0 ;;
    541     9000/[34]??:4.3bsd:1.*:*)
    542 	echo m68k-hp-bsd
    543 	exit 0 ;;
    544     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
    545 	echo m68k-hp-bsd4.4
    546 	exit 0 ;;
    547     9000/[34678]??:HP-UX:*:*)
    548 	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
    549 	case "${UNAME_MACHINE}" in
    550 	    9000/31? )            HP_ARCH=m68000 ;;
    551 	    9000/[34]?? )         HP_ARCH=m68k ;;
    552 	    9000/[678][0-9][0-9])
    553 		if [ -x /usr/bin/getconf ]; then
    554 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
    555                     sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
    556                     case "${sc_cpu_version}" in
    557                       523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
    558                       528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
    559                       532)                      # CPU_PA_RISC2_0
    560                         case "${sc_kernel_bits}" in
    561                           32) HP_ARCH="hppa2.0n" ;;
    562                           64) HP_ARCH="hppa2.0w" ;;
    563 			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
    564                         esac ;;
    565                     esac
    566 		fi
    567 		if [ "${HP_ARCH}" = "" ]; then
    568 		    eval $set_cc_for_build
    569 		    sed 's/^              //' << EOF >$dummy.c
    570 
    571               #define _HPUX_SOURCE
    572               #include <stdlib.h>
    573               #include <unistd.h>
    574 
    575               int main ()
    576               {
    577               #if defined(_SC_KERNEL_BITS)
    578                   long bits = sysconf(_SC_KERNEL_BITS);
    579               #endif
    580                   long cpu  = sysconf (_SC_CPU_VERSION);
    581 
    582                   switch (cpu)
    583               	{
    584               	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
    585               	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
    586               	case CPU_PA_RISC2_0:
    587               #if defined(_SC_KERNEL_BITS)
    588               	    switch (bits)
    589               		{
    590               		case 64: puts ("hppa2.0w"); break;
    591               		case 32: puts ("hppa2.0n"); break;
    592               		default: puts ("hppa2.0"); break;
    593               		} break;
    594               #else  /* !defined(_SC_KERNEL_BITS) */
    595               	    puts ("hppa2.0"); break;
    596               #endif
    597               	default: puts ("hppa1.0"); break;
    598               	}
    599                   exit (0);
    600               }
    601 EOF
    602 		    (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
    603 		    if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
    604 		    rm -f $dummy.c $dummy
    605 		fi ;;
    606 	esac
    607 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
    608 	exit 0 ;;
    609     ia64:HP-UX:*:*)
    610 	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
    611 	echo ia64-hp-hpux${HPUX_REV}
    612 	exit 0 ;;
    613     3050*:HI-UX:*:*)
    614 	eval $set_cc_for_build
    615 	sed 's/^	//' << EOF >$dummy.c
    616 	#include <unistd.h>
    617 	int
    618 	main ()
    619 	{
    620 	  long cpu = sysconf (_SC_CPU_VERSION);
    621 	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
    622 	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
    623 	     results, however.  */
    624 	  if (CPU_IS_PA_RISC (cpu))
    625 	    {
    626 	      switch (cpu)
    627 		{
    628 		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
    629 		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
    630 		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
    631 		  default: puts ("hppa-hitachi-hiuxwe2"); break;
    632 		}
    633 	    }
    634 	  else if (CPU_IS_HP_MC68K (cpu))
    635 	    puts ("m68k-hitachi-hiuxwe2");
    636 	  else puts ("unknown-hitachi-hiuxwe2");
    637 	  exit (0);
    638 	}
    639 EOF
    640 	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
    641 	rm -f $dummy.c $dummy
    642 	echo unknown-hitachi-hiuxwe2
    643 	exit 0 ;;
    644     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
    645 	echo hppa1.1-hp-bsd
    646 	exit 0 ;;
    647     9000/8??:4.3bsd:*:*)
    648 	echo hppa1.0-hp-bsd
    649 	exit 0 ;;
    650     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
    651 	echo hppa1.0-hp-mpeix
    652 	exit 0 ;;
    653     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
    654 	echo hppa1.1-hp-osf
    655 	exit 0 ;;
    656     hp8??:OSF1:*:*)
    657 	echo hppa1.0-hp-osf
    658 	exit 0 ;;
    659     i*86:OSF1:*:*)
    660 	if [ -x /usr/sbin/sysversion ] ; then
    661 	    echo ${UNAME_MACHINE}-unknown-osf1mk
    662 	else
    663 	    echo ${UNAME_MACHINE}-unknown-osf1
    664 	fi
    665 	exit 0 ;;
    666     parisc*:Lites*:*:*)
    667 	echo hppa1.1-hp-lites
    668 	exit 0 ;;
    669     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
    670 	echo c1-convex-bsd
    671         exit 0 ;;
    672     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
    673 	if getsysinfo -f scalar_acc
    674 	then echo c32-convex-bsd
    675 	else echo c2-convex-bsd
    676 	fi
    677         exit 0 ;;
    678     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
    679 	echo c34-convex-bsd
    680         exit 0 ;;
    681     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
    682 	echo c38-convex-bsd
    683         exit 0 ;;
    684     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
    685 	echo c4-convex-bsd
    686         exit 0 ;;
    687     CRAY*Y-MP:*:*:*)
    688 	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    689 	exit 0 ;;
    690     CRAY*[A-Z]90:*:*:*)
    691 	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
    692 	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
    693 	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
    694 	      -e 's/\.[^.]*$/.X/'
    695 	exit 0 ;;
    696     CRAY*TS:*:*:*)
    697 	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    698 	exit 0 ;;
    699     CRAY*T3D:*:*:*)
    700 	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    701 	exit 0 ;;
    702     CRAY*T3E:*:*:*)
    703 	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    704 	exit 0 ;;
    705     CRAY*SV1:*:*:*)
    706 	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    707 	exit 0 ;;
    708     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
    709 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
    710         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
    711         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
    712         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
    713         exit 0 ;;
    714     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
    715 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
    716 	exit 0 ;;
    717     sparc*:BSD/OS:*:*)
    718 	echo sparc-unknown-bsdi${UNAME_RELEASE}
    719 	exit 0 ;;
    720     *:BSD/OS:*:*)
    721 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
    722 	exit 0 ;;
    723     *:FreeBSD:*:*)
    724 	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
    725 	exit 0 ;;
    726     i*:CYGWIN*:*)
    727 	echo ${UNAME_MACHINE}-pc-cygwin
    728 	exit 0 ;;
    729     i*:MINGW*:*)
    730 	echo ${UNAME_MACHINE}-pc-mingw32
    731 	exit 0 ;;
    732     i*:PW*:*)
    733 	echo ${UNAME_MACHINE}-pc-pw32
    734 	exit 0 ;;
    735     x86:Interix*:3*)
    736 	echo i386-pc-interix3
    737 	exit 0 ;;
    738     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
    739 	# How do we know it's Interix rather than the generic POSIX subsystem?
    740 	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
    741 	# UNAME_MACHINE based on the output of uname instead of i386?
    742 	echo i386-pc-interix
    743 	exit 0 ;;
    744     i*:UWIN*:*)
    745 	echo ${UNAME_MACHINE}-pc-uwin
    746 	exit 0 ;;
    747     p*:CYGWIN*:*)
    748 	echo powerpcle-unknown-cygwin
    749 	exit 0 ;;
    750     prep*:SunOS:5.*:*)
    751 	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    752 	exit 0 ;;
    753     *:GNU:*:*)
    754 	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
    755 	exit 0 ;;
    756     i*86:Minix:*:*)
    757 	echo ${UNAME_MACHINE}-pc-minix
    758 	exit 0 ;;
    759     arm*:Linux:*:*)
    760 	echo ${UNAME_MACHINE}-unknown-linux-gnu
    761 	exit 0 ;;
    762     ia64:Linux:*:*)
    763 	echo ${UNAME_MACHINE}-unknown-linux-gnu
    764 	exit 0 ;;
    765     m68*:Linux:*:*)
    766 	echo ${UNAME_MACHINE}-unknown-linux-gnu
    767 	exit 0 ;;
    768     mips:Linux:*:*)
    769 	eval $set_cc_for_build
    770 	sed 's/^	//' << EOF >$dummy.c
    771 	#undef CPU
    772 	#undef mips
    773 	#undef mipsel
    774 	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
    775 	CPU=mipsel
    776 	#else
    777 	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
    778 	CPU=mips
    779 	#else
    780 	CPU=
    781 	#endif
    782 	#endif
    783 EOF
    784 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
    785 	rm -f $dummy.c
    786 	test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
    787 	;;
    788     ppc:Linux:*:*)
    789 	echo powerpc-unknown-linux-gnu
    790 	exit 0 ;;
    791     ppc64:Linux:*:*)
    792 	echo powerpc64-unknown-linux-gnu
    793 	exit 0 ;;
    794     alpha:Linux:*:*)
    795 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
    796 	  EV5)   UNAME_MACHINE=alphaev5 ;;
    797 	  EV56)  UNAME_MACHINE=alphaev56 ;;
    798 	  PCA56) UNAME_MACHINE=alphapca56 ;;
    799 	  PCA57) UNAME_MACHINE=alphapca56 ;;
    800 	  EV6)   UNAME_MACHINE=alphaev6 ;;
    801 	  EV67)  UNAME_MACHINE=alphaev67 ;;
    802 	  EV68*) UNAME_MACHINE=alphaev68 ;;
    803         esac
    804 	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
    805 	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
    806 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
    807 	exit 0 ;;
    808     parisc:Linux:*:* | hppa:Linux:*:*)
    809 	# Look for CPU level
    810 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
    811 	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
    812 	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
    813 	  *)    echo hppa-unknown-linux-gnu ;;
    814 	esac
    815 	exit 0 ;;
    816     parisc64:Linux:*:* | hppa64:Linux:*:*)
    817 	echo hppa64-unknown-linux-gnu
    818 	exit 0 ;;
    819     s390:Linux:*:* | s390x:Linux:*:*)
    820 	echo ${UNAME_MACHINE}-ibm-linux
    821 	exit 0 ;;
    822     sh*:Linux:*:*)
    823 	echo ${UNAME_MACHINE}-unknown-linux-gnu
    824 	exit 0 ;;
    825     sparc:Linux:*:* | sparc64:Linux:*:*)
    826 	echo ${UNAME_MACHINE}-unknown-linux-gnu
    827 	exit 0 ;;
    828     x86_64:Linux:*:*)
    829 	echo x86_64-unknown-linux-gnu
    830 	exit 0 ;;
    831     i*86:Linux:*:*)
    832 	# The BFD linker knows what the default object file format is, so
    833 	# first see if it will tell us. cd to the root directory to prevent
    834 	# problems with other programs or directories called `ld' in the path.
    835 	# Set LC_ALL=C to ensure ld outputs messages in English.
    836 	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
    837 			 | sed -ne '/supported targets:/!d
    838 				    s/[ 	][ 	]*/ /g
    839 				    s/.*supported targets: *//
    840 				    s/ .*//
    841 				    p'`
    842         case "$ld_supported_targets" in
    843 	  elf32-i386)
    844 		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
    845 		;;
    846 	  a.out-i386-linux)
    847 		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
    848 		exit 0 ;;		
    849 	  coff-i386)
    850 		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
    851 		exit 0 ;;
    852 	  "")
    853 		# Either a pre-BFD a.out linker (linux-gnuoldld) or
    854 		# one that does not give us useful --help.
    855 		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
    856 		exit 0 ;;
    857 	esac
    858 	# Determine whether the default compiler is a.out or elf
    859 	eval $set_cc_for_build
    860 	sed 's/^	//' << EOF >$dummy.c
    861 	#include <features.h>
    862 	#ifdef __ELF__
    863 	# ifdef __GLIBC__
    864 	#  if __GLIBC__ >= 2
    865 	LIBC=gnu
    866 	#  else
    867 	LIBC=gnulibc1
    868 	#  endif
    869 	# else
    870 	LIBC=gnulibc1
    871 	# endif
    872 	#else
    873 	#ifdef __INTEL_COMPILER
    874 	LIBC=gnu
    875 	#else
    876 	LIBC=gnuaout
    877 	#endif
    878 	#endif
    879 EOF
    880 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
    881 	rm -f $dummy.c
    882 	test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
    883 	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
    884 	;;
    885     i*86:DYNIX/ptx:4*:*)
    886 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
    887 	# earlier versions are messed up and put the nodename in both
    888 	# sysname and nodename.
    889 	echo i386-sequent-sysv4
    890 	exit 0 ;;
    891     i*86:UNIX_SV:4.2MP:2.*)
    892         # Unixware is an offshoot of SVR4, but it has its own version
    893         # number series starting with 2...
    894         # I am not positive that other SVR4 systems won't match this,
    895 	# I just have to hope.  -- rms.
    896         # Use sysv4.2uw... so that sysv4* matches it.
    897 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
    898 	exit 0 ;;
    899     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
    900 	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
    901 	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
    902 		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
    903 	else
    904 		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
    905 	fi
    906 	exit 0 ;;
    907     i*86:*:5:[78]*)
    908 	case `/bin/uname -X | grep "^Machine"` in
    909 	    *486*)	     UNAME_MACHINE=i486 ;;
    910 	    *Pentium)	     UNAME_MACHINE=i586 ;;
    911 	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
    912 	esac
    913 	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
    914 	exit 0 ;;
    915     i*86:*:3.2:*)
    916 	if test -f /usr/options/cb.name; then
    917 		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
    918 		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
    919 	elif /bin/uname -X 2>/dev/null >/dev/null ; then
    920 		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
    921 		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
    922 		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
    923 			&& UNAME_MACHINE=i586
    924 		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
    925 			&& UNAME_MACHINE=i686
    926 		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
    927 			&& UNAME_MACHINE=i686
    928 		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
    929 	else
    930 		echo ${UNAME_MACHINE}-pc-sysv32
    931 	fi
    932 	exit 0 ;;
    933     i*86:*DOS:*:*)
    934 	echo ${UNAME_MACHINE}-pc-msdosdjgpp
    935 	exit 0 ;;
    936     pc:*:*:*)
    937 	# Left here for compatibility:
    938         # uname -m prints for DJGPP always 'pc', but it prints nothing about
    939         # the processor, so we play safe by assuming i386.
    940 	echo i386-pc-msdosdjgpp
    941         exit 0 ;;
    942     Intel:Mach:3*:*)
    943 	echo i386-pc-mach3
    944 	exit 0 ;;
    945     paragon:*:*:*)
    946 	echo i860-intel-osf1
    947 	exit 0 ;;
    948     i860:*:4.*:*) # i860-SVR4
    949 	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
    950 	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
    951 	else # Add other i860-SVR4 vendors below as they are discovered.
    952 	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
    953 	fi
    954 	exit 0 ;;
    955     mini*:CTIX:SYS*5:*)
    956 	# "miniframe"
    957 	echo m68010-convergent-sysv
    958 	exit 0 ;;
    959     M68*:*:R3V[567]*:*)
    960 	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
    961     3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
    962 	OS_REL=''
    963 	test -r /etc/.relid \
    964 	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
    965 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
    966 	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
    967 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
    968 	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
    969     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
    970         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
    971           && echo i486-ncr-sysv4 && exit 0 ;;
    972     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
    973 	echo m68k-unknown-lynxos${UNAME_RELEASE}
    974 	exit 0 ;;
    975     mc68030:UNIX_System_V:4.*:*)
    976 	echo m68k-atari-sysv4
    977 	exit 0 ;;
    978     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
    979 	echo i386-unknown-lynxos${UNAME_RELEASE}
    980 	exit 0 ;;
    981     TSUNAMI:LynxOS:2.*:*)
    982 	echo sparc-unknown-lynxos${UNAME_RELEASE}
    983 	exit 0 ;;
    984     rs6000:LynxOS:2.*:*)
    985 	echo rs6000-unknown-lynxos${UNAME_RELEASE}
    986 	exit 0 ;;
    987     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
    988 	echo powerpc-unknown-lynxos${UNAME_RELEASE}
    989 	exit 0 ;;
    990     SM[BE]S:UNIX_SV:*:*)
    991 	echo mips-dde-sysv${UNAME_RELEASE}
    992 	exit 0 ;;
    993     RM*:ReliantUNIX-*:*:*)
    994 	echo mips-sni-sysv4
    995 	exit 0 ;;
    996     RM*:SINIX-*:*:*)
    997 	echo mips-sni-sysv4
    998 	exit 0 ;;
    999     *:SINIX-*:*:*)
   1000 	if uname -p 2>/dev/null >/dev/null ; then
   1001 		UNAME_MACHINE=`(uname -p) 2>/dev/null`
   1002 		echo ${UNAME_MACHINE}-sni-sysv4
   1003 	else
   1004 		echo ns32k-sni-sysv
   1005 	fi
   1006 	exit 0 ;;
   1007     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
   1008                       # says <Richard.M.Bartel (at] ccMail.Census.GOV>
   1009         echo i586-unisys-sysv4
   1010         exit 0 ;;
   1011     *:UNIX_System_V:4*:FTX*)
   1012 	# From Gerald Hewes <hewes (at] openmarket.com>.
   1013 	# How about differentiating between stratus architectures? -djm
   1014 	echo hppa1.1-stratus-sysv4
   1015 	exit 0 ;;
   1016     *:*:*:FTX*)
   1017 	# From seanf (at] swdc.stratus.com.
   1018 	echo i860-stratus-sysv4
   1019 	exit 0 ;;
   1020     *:VOS:*:*)
   1021 	# From Paul.Green (at] stratus.com.
   1022 	echo hppa1.1-stratus-vos
   1023 	exit 0 ;;
   1024     mc68*:A/UX:*:*)
   1025 	echo m68k-apple-aux${UNAME_RELEASE}
   1026 	exit 0 ;;
   1027     news*:NEWS-OS:6*:*)
   1028 	echo mips-sony-newsos6
   1029 	exit 0 ;;
   1030     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
   1031 	if [ -d /usr/nec ]; then
   1032 	        echo mips-nec-sysv${UNAME_RELEASE}
   1033 	else
   1034 	        echo mips-unknown-sysv${UNAME_RELEASE}
   1035 	fi
   1036         exit 0 ;;
   1037     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
   1038 	echo powerpc-be-beos
   1039 	exit 0 ;;
   1040     BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
   1041 	echo powerpc-apple-beos
   1042 	exit 0 ;;
   1043     BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
   1044 	echo i586-pc-beos
   1045 	exit 0 ;;
   1046     SX-4:SUPER-UX:*:*)
   1047 	echo sx4-nec-superux${UNAME_RELEASE}
   1048 	exit 0 ;;
   1049     SX-5:SUPER-UX:*:*)
   1050 	echo sx5-nec-superux${UNAME_RELEASE}
   1051 	exit 0 ;;
   1052     Power*:Rhapsody:*:*)
   1053 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
   1054 	exit 0 ;;
   1055     *:Rhapsody:*:*)
   1056 	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
   1057 	exit 0 ;;
   1058     *:Darwin:*:*)
   1059 	echo `uname -p`-apple-darwin${UNAME_RELEASE}
   1060 	exit 0 ;;
   1061     *:procnto*:*:* | *:QNX:[0123456789]*:*)
   1062 	UNAME_PROCESSOR=`uname -p`
   1063 	if test "$UNAME_PROCESSOR" = "x86"; then
   1064 		UNAME_PROCESSOR=i386
   1065 		UNAME_MACHINE=pc
   1066 	fi
   1067 	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
   1068 	exit 0 ;;
   1069     *:QNX:*:4*)
   1070 	echo i386-pc-qnx
   1071 	exit 0 ;;
   1072     NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
   1073 	echo nsr-tandem-nsk${UNAME_RELEASE}
   1074 	exit 0 ;;
   1075     *:NonStop-UX:*:*)
   1076 	echo mips-compaq-nonstopux
   1077 	exit 0 ;;
   1078     BS2000:POSIX*:*:*)
   1079 	echo bs2000-siemens-sysv
   1080 	exit 0 ;;
   1081     DS/*:UNIX_System_V:*:*)
   1082 	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
   1083 	exit 0 ;;
   1084     *:Plan9:*:*)
   1085 	# "uname -m" is not consistent, so use $cputype instead. 386
   1086 	# is converted to i386 for consistency with other x86
   1087 	# operating systems.
   1088 	if test "$cputype" = "386"; then
   1089 	    UNAME_MACHINE=i386
   1090 	else
   1091 	    UNAME_MACHINE="$cputype"
   1092 	fi
   1093 	echo ${UNAME_MACHINE}-unknown-plan9
   1094 	exit 0 ;;
   1095     i*86:OS/2:*:*)
   1096 	# If we were able to find `uname', then EMX Unix compatibility
   1097 	# is probably installed.
   1098 	echo ${UNAME_MACHINE}-pc-os2-emx
   1099 	exit 0 ;;
   1100     *:TOPS-10:*:*)
   1101 	echo pdp10-unknown-tops10
   1102 	exit 0 ;;
   1103     *:TENEX:*:*)
   1104 	echo pdp10-unknown-tenex
   1105 	exit 0 ;;
   1106     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
   1107 	echo pdp10-dec-tops20
   1108 	exit 0 ;;
   1109     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
   1110 	echo pdp10-xkl-tops20
   1111 	exit 0 ;;
   1112     *:TOPS-20:*:*)
   1113 	echo pdp10-unknown-tops20
   1114 	exit 0 ;;
   1115     *:ITS:*:*)
   1116 	echo pdp10-unknown-its
   1117 	exit 0 ;;
   1118     i*86:XTS-300:*:STOP)
   1119 	echo ${UNAME_MACHINE}-unknown-stop
   1120 	exit 0 ;;
   1121     i*86:atheos:*:*)
   1122 	echo ${UNAME_MACHINE}-unknown-atheos
   1123 	exit 0 ;;
   1124 esac
   1125 
   1126 #echo '(No uname command or uname output not recognized.)' 1>&2
   1127 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
   1128 
   1129 eval $set_cc_for_build
   1130 cat >$dummy.c <<EOF
   1131 #ifdef _SEQUENT_
   1132 # include <sys/types.h>
   1133 # include <sys/utsname.h>
   1134 #endif
   1135 main ()
   1136 {
   1137 #if defined (sony)
   1138 #if defined (MIPSEB)
   1139   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
   1140      I don't know....  */
   1141   printf ("mips-sony-bsd\n"); exit (0);
   1142 #else
   1143 #include <sys/param.h>
   1144   printf ("m68k-sony-newsos%s\n",
   1145 #ifdef NEWSOS4
   1146           "4"
   1147 #else
   1148 	  ""
   1149 #endif
   1150          ); exit (0);
   1151 #endif
   1152 #endif
   1153 
   1154 #if defined (__arm) && defined (__acorn) && defined (__unix)
   1155   printf ("arm-acorn-riscix"); exit (0);
   1156 #endif
   1157 
   1158 #if defined (hp300) && !defined (hpux)
   1159   printf ("m68k-hp-bsd\n"); exit (0);
   1160 #endif
   1161 
   1162 #if defined (NeXT)
   1163 #if !defined (__ARCHITECTURE__)
   1164 #define __ARCHITECTURE__ "m68k"
   1165 #endif
   1166   int version;
   1167   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
   1168   if (version < 4)
   1169     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
   1170   else
   1171     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
   1172   exit (0);
   1173 #endif
   1174 
   1175 #if defined (MULTIMAX) || defined (n16)
   1176 #if defined (UMAXV)
   1177   printf ("ns32k-encore-sysv\n"); exit (0);
   1178 #else
   1179 #if defined (CMU)
   1180   printf ("ns32k-encore-mach\n"); exit (0);
   1181 #else
   1182   printf ("ns32k-encore-bsd\n"); exit (0);
   1183 #endif
   1184 #endif
   1185 #endif
   1186 
   1187 #if defined (__386BSD__)
   1188   printf ("i386-pc-bsd\n"); exit (0);
   1189 #endif
   1190 
   1191 #if defined (sequent)
   1192 #if defined (i386)
   1193   printf ("i386-sequent-dynix\n"); exit (0);
   1194 #endif
   1195 #if defined (ns32000)
   1196   printf ("ns32k-sequent-dynix\n"); exit (0);
   1197 #endif
   1198 #endif
   1199 
   1200 #if defined (_SEQUENT_)
   1201     struct utsname un;
   1202 
   1203     uname(&un);
   1204 
   1205     if (strncmp(un.version, "V2", 2) == 0) {
   1206 	printf ("i386-sequent-ptx2\n"); exit (0);
   1207     }
   1208     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
   1209 	printf ("i386-sequent-ptx1\n"); exit (0);
   1210     }
   1211     printf ("i386-sequent-ptx\n"); exit (0);
   1212 
   1213 #endif
   1214 
   1215 #if defined (vax)
   1216 # if !defined (ultrix)
   1217 #  include <sys/param.h>
   1218 #  if defined (BSD)
   1219 #   if BSD == 43
   1220       printf ("vax-dec-bsd4.3\n"); exit (0);
   1221 #   else
   1222 #    if BSD == 199006
   1223       printf ("vax-dec-bsd4.3reno\n"); exit (0);
   1224 #    else
   1225       printf ("vax-dec-bsd\n"); exit (0);
   1226 #    endif
   1227 #   endif
   1228 #  else
   1229     printf ("vax-dec-bsd\n"); exit (0);
   1230 #  endif
   1231 # else
   1232     printf ("vax-dec-ultrix\n"); exit (0);
   1233 # endif
   1234 #endif
   1235 
   1236 #if defined (alliant) && defined (i860)
   1237   printf ("i860-alliant-bsd\n"); exit (0);
   1238 #endif
   1239 
   1240   exit (1);
   1241 }
   1242 EOF
   1243 
   1244 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
   1245 rm -f $dummy.c $dummy
   1246 
   1247 # Apollos put the system type in the environment.
   1248 
   1249 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
   1250 
   1251 # Convex versions that predate uname can use getsysinfo(1)
   1252 
   1253 if [ -x /usr/convex/getsysinfo ]
   1254 then
   1255     case `getsysinfo -f cpu_type` in
   1256     c1*)
   1257 	echo c1-convex-bsd
   1258 	exit 0 ;;
   1259     c2*)
   1260 	if getsysinfo -f scalar_acc
   1261 	then echo c32-convex-bsd
   1262 	else echo c2-convex-bsd
   1263 	fi
   1264 	exit 0 ;;
   1265     c34*)
   1266 	echo c34-convex-bsd
   1267 	exit 0 ;;
   1268     c38*)
   1269 	echo c38-convex-bsd
   1270 	exit 0 ;;
   1271     c4*)
   1272 	echo c4-convex-bsd
   1273 	exit 0 ;;
   1274     esac
   1275 fi
   1276 
   1277 cat >&2 <<EOF
   1278 $0: unable to guess system type
   1279 
   1280 This script, last modified $timestamp, has failed to recognize
   1281 the operating system you are using. It is advised that you
   1282 download the most up to date version of the config scripts from
   1283 
   1284     ftp://ftp.gnu.org/pub/gnu/config/
   1285 
   1286 If the version you run ($0) is already up to date, please
   1287 send the following data and any information you think might be
   1288 pertinent to <config-patches (at] gnu.org> in order to provide the needed
   1289 information to handle your system.
   1290 
   1291 config.guess timestamp = $timestamp
   1292 
   1293 uname -m = `(uname -m) 2>/dev/null || echo unknown`
   1294 uname -r = `(uname -r) 2>/dev/null || echo unknown`
   1295 uname -s = `(uname -s) 2>/dev/null || echo unknown`
   1296 uname -v = `(uname -v) 2>/dev/null || echo unknown`
   1297 
   1298 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
   1299 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
   1300 
   1301 hostinfo               = `(hostinfo) 2>/dev/null`
   1302 /bin/universe          = `(/bin/universe) 2>/dev/null`
   1303 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
   1304 /bin/arch              = `(/bin/arch) 2>/dev/null`
   1305 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
   1306 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
   1307 
   1308 UNAME_MACHINE = ${UNAME_MACHINE}
   1309 UNAME_RELEASE = ${UNAME_RELEASE}
   1310 UNAME_SYSTEM  = ${UNAME_SYSTEM}
   1311 UNAME_VERSION = ${UNAME_VERSION}
   1312 EOF
   1313 
   1314 exit 1
   1315 
   1316 # Local variables:
   1317 # eval: (add-hook 'write-file-hooks 'time-stamp)
   1318 # time-stamp-start: "timestamp='"
   1319 # time-stamp-format: "%:y-%02m-%02d"
   1320 # time-stamp-end: "'"
   1321 # End:
   1322