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