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