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