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