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