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