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