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