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