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