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