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