|
|
1.1 ! root 1: #! /bin/sh ! 2: # Attempt to guess a canonical system name. ! 3: # Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc. ! 4: # ! 5: # This file is free software; you can redistribute it and/or modify it ! 6: # under the terms of the GNU General Public License as published by ! 7: # the Free Software Foundation; either version 2 of the License, or ! 8: # (at your option) any later version. ! 9: # ! 10: # This program is distributed in the hope that it will be useful, but ! 11: # WITHOUT ANY WARRANTY; without even the implied warranty of ! 12: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 13: # General Public License for more details. ! 14: # ! 15: # You should have received a copy of the GNU General Public License ! 16: # along with this program; if not, write to the Free Software ! 17: # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! 18: # ! 19: # As a special exception to the GNU General Public License, if you ! 20: # distribute this file as part of a program that contains a ! 21: # configuration script generated by Autoconf, you may include it under ! 22: # the same distribution terms that you use for the rest of that program. ! 23: ! 24: # Written by Per Bothner <[email protected]>. ! 25: # The master version of this file is at the FSF in /home/gd/gnu/lib. ! 26: # ! 27: # This script attempts to guess a canonical system name similar to ! 28: # config.sub. If it succeeds, it prints the system name on stdout, and ! 29: # exits with 0. Otherwise, it exits with 1. ! 30: # ! 31: # The plan is that this can be called by configure scripts if you ! 32: # don't specify an explicit system type (host/target name). ! 33: # ! 34: # Only a few systems have been added to this list; please add others ! 35: # (but try to keep the structure clean). ! 36: # ! 37: ! 38: # This is needed to find uname on a Pyramid OSx when run in the BSD universe. ! 39: # ([email protected] 8/24/94.) ! 40: if (test -f /.attbin/uname) >/dev/null 2>&1 ; then ! 41: PATH=$PATH:/.attbin ; export PATH ! 42: fi ! 43: ! 44: UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown ! 45: UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown ! 46: UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown ! 47: UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown ! 48: ! 49: trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15 ! 50: ! 51: # Note: order is significant - the case branches are not exclusive. ! 52: ! 53: case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ! 54: alpha:OSF1:*:*) ! 55: # A Vn.n version is a released version. ! 56: # A Tn.n version is a released field test version. ! 57: # A Xn.n version is an unreleased experimental baselevel. ! 58: # 1.2 uses "1.2" for uname -r. ! 59: echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'` ! 60: exit 0 ;; ! 61: 21064:Windows_NT:50:3) ! 62: echo alpha-dec-winnt3.5 ! 63: exit 0 ;; ! 64: Amiga*:UNIX_System_V:4.0:*) ! 65: echo m68k-cbm-sysv4 ! 66: exit 0;; ! 67: amiga:NetBSD:*:*) ! 68: echo m68k-cbm-netbsd${UNAME_RELEASE} ! 69: exit 0 ;; ! 70: amiga:OpenBSD:*:*) ! 71: echo m68k-unknown-openbsd${UNAME_RELEASE} ! 72: exit 0 ;; ! 73: arc:OpenBSD:*:*) ! 74: echo mips64el-unknown-openbsd${UNAME_RELEASE} ! 75: exit 0 ;; ! 76: laguna:OpenBSD:*:*) ! 77: echo mips64-unknown-openbsd${UNAME_RELEASE} ! 78: exit 0 ;; ! 79: pmax:OpenBSD:*:*) ! 80: echo mips64el-unknown-openbsd${UNAME_RELEASE} ! 81: exit 0 ;; ! 82: wgrisc:OpenBSD:*:*) ! 83: echo mips64el-unknown-openbsd${UNAME_RELEASE} ! 84: exit 0 ;; ! 85: arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) ! 86: echo arm-acorn-riscix${UNAME_RELEASE} ! 87: exit 0;; ! 88: SR2?01:HI-UX/MPP:*:*) ! 89: echo hppa1.1-hitachi-hiuxmpp ! 90: exit 0;; ! 91: Pyramid*:OSx*:*:*|MIS*:OSx*:*:*) ! 92: # [email protected] (Earle F. Ake) contributed MIS and NILE. ! 93: if test "`(/bin/universe) 2>/dev/null`" = att ; then ! 94: echo pyramid-pyramid-sysv3 ! 95: else ! 96: echo pyramid-pyramid-bsd ! 97: fi ! 98: exit 0 ;; ! 99: NILE:*:*:dcosx) ! 100: echo pyramid-pyramid-svr4 ! 101: exit 0 ;; ! 102: sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) ! 103: echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ! 104: exit 0 ;; ! 105: i86pc:SunOS:5.*:*) ! 106: echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ! 107: exit 0 ;; ! 108: sun4*:SunOS:6*:*) ! 109: # According to config.sub, this is the proper way to canonicalize ! 110: # SunOS6. Hard to guess exactly what SunOS6 will be like, but ! 111: # it's likely to be more like Solaris than SunOS4. ! 112: echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ! 113: exit 0 ;; ! 114: sun4*:SunOS:*:*) ! 115: case "`/usr/bin/arch -k`" in ! 116: Series*|S4*) ! 117: UNAME_RELEASE=`uname -v` ! 118: ;; ! 119: esac ! 120: # Japanese Language versions have a version number like `4.1.3-JL'. ! 121: echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` ! 122: exit 0 ;; ! 123: sun3*:SunOS:*:*) ! 124: echo m68k-sun-sunos${UNAME_RELEASE} ! 125: exit 0 ;; ! 126: aushp:SunOS:*:*) ! 127: echo sparc-auspex-sunos${UNAME_RELEASE} ! 128: exit 0 ;; ! 129: atari*:NetBSD:*:*) ! 130: echo m68k-atari-netbsd${UNAME_RELEASE} ! 131: exit 0 ;; ! 132: atari*:OpenBSD:*:*) ! 133: echo m68k-unknown-openbsd${UNAME_RELEASE} ! 134: exit 0 ;; ! 135: sun3*:NetBSD:*:*) ! 136: echo m68k-sun-netbsd${UNAME_RELEASE} ! 137: exit 0 ;; ! 138: sun3*:OpenBSD:*:*) ! 139: echo m68k-unknown-openbsd${UNAME_RELEASE} ! 140: exit 0 ;; ! 141: mac68k:NetBSD:*:*) ! 142: echo m68k-apple-netbsd${UNAME_RELEASE} ! 143: exit 0 ;; ! 144: mac68k:OpenBSD:*:*) ! 145: echo m68k-unknown-openbsd${UNAME_RELEASE} ! 146: exit 0 ;; ! 147: mvme68k:OpenBSD:*:*) ! 148: echo m68k-unknown-openbsd${UNAME_RELEASE} ! 149: exit 0 ;; ! 150: mvme88k:OpenBSD:*:*) ! 151: echo m88k-unknown-openbsd${UNAME_RELEASE} ! 152: exit 0 ;; ! 153: powerpc:machten:*:*) ! 154: echo powerpc-apple-machten${UNAME_RELEASE} ! 155: exit 0 ;; ! 156: RISC*:Mach:*:*) ! 157: echo mips-dec-mach_bsd4.3 ! 158: exit 0 ;; ! 159: RISC*:ULTRIX:*:*) ! 160: echo mips-dec-ultrix${UNAME_RELEASE} ! 161: exit 0 ;; ! 162: VAX*:ULTRIX*:*:*) ! 163: echo vax-dec-ultrix${UNAME_RELEASE} ! 164: exit 0 ;; ! 165: mips:*:*:UMIPS | mips:*:*:RISCos) ! 166: sed 's/^ //' << EOF >dummy.c ! 167: int main (argc, argv) int argc; char **argv; { ! 168: #if defined (host_mips) && defined (MIPSEB) ! 169: #if defined (SYSTYPE_SYSV) ! 170: printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); ! 171: #endif ! 172: #if defined (SYSTYPE_SVR4) ! 173: printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); ! 174: #endif ! 175: #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) ! 176: printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); ! 177: #endif ! 178: #endif ! 179: exit (-1); ! 180: } ! 181: EOF ! 182: ${CC-cc} dummy.c -o dummy \ ! 183: && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ ! 184: && rm dummy.c dummy && exit 0 ! 185: rm -f dummy.c dummy ! 186: echo mips-mips-riscos${UNAME_RELEASE} ! 187: exit 0 ;; ! 188: Night_Hawk:Power_UNIX:*:*) ! 189: echo powerpc-harris-powerunix ! 190: exit 0 ;; ! 191: m88k:CX/UX:7*:*) ! 192: echo m88k-harris-cxux7 ! 193: exit 0 ;; ! 194: m88k:*:4*:R4*) ! 195: echo m88k-motorola-sysv4 ! 196: exit 0 ;; ! 197: m88k:*:3*:R3*) ! 198: echo m88k-motorola-sysv3 ! 199: exit 0 ;; ! 200: AViiON:dgux:*:*) ! 201: # DG/UX returns AViiON for all architectures ! 202: UNAME_PROCESSOR=`/usr/bin/uname -p` ! 203: if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then ! 204: if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \ ! 205: -o ${TARGET_BINARY_INTERFACE}x = x ] ; then ! 206: echo m88k-dg-dgux${UNAME_RELEASE} ! 207: else ! 208: echo m88k-dg-dguxbcs${UNAME_RELEASE} ! 209: fi ! 210: else echo i586-dg-dgux${UNAME_RELEASE} ! 211: fi ! 212: exit 0 ;; ! 213: M88*:DolphinOS:*:*) # DolphinOS (SVR3) ! 214: echo m88k-dolphin-sysv3 ! 215: exit 0 ;; ! 216: M88*:*:R3*:*) ! 217: # Delta 88k system running SVR3 ! 218: echo m88k-motorola-sysv3 ! 219: exit 0 ;; ! 220: XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) ! 221: echo m88k-tektronix-sysv3 ! 222: exit 0 ;; ! 223: Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) ! 224: echo m68k-tektronix-bsd ! 225: exit 0 ;; ! 226: *:IRIX*:*:*) ! 227: echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` ! 228: exit 0 ;; ! 229: ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. ! 230: echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id ! 231: exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' ! 232: i?86:AIX:*:*) ! 233: echo i386-ibm-aix ! 234: exit 0 ;; ! 235: *:AIX:2:3) ! 236: if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then ! 237: sed 's/^ //' << EOF >dummy.c ! 238: #include <sys/systemcfg.h> ! 239: ! 240: main() ! 241: { ! 242: if (!__power_pc()) ! 243: exit(1); ! 244: puts("powerpc-ibm-aix3.2.5"); ! 245: exit(0); ! 246: } ! 247: EOF ! 248: ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 ! 249: rm -f dummy.c dummy ! 250: echo rs6000-ibm-aix3.2.5 ! 251: elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then ! 252: echo rs6000-ibm-aix3.2.4 ! 253: else ! 254: echo rs6000-ibm-aix3.2 ! 255: fi ! 256: exit 0 ;; ! 257: *:AIX:*:4) ! 258: if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then ! 259: IBM_ARCH=rs6000 ! 260: else ! 261: IBM_ARCH=powerpc ! 262: fi ! 263: if [ -x /usr/bin/oslevel ] ; then ! 264: IBM_REV=`/usr/bin/oslevel` ! 265: else ! 266: IBM_REV=4.${UNAME_RELEASE} ! 267: fi ! 268: echo ${IBM_ARCH}-ibm-aix${IBM_REV} ! 269: exit 0 ;; ! 270: *:AIX:*:*) ! 271: echo rs6000-ibm-aix ! 272: exit 0 ;; ! 273: ibmrt:4.4BSD:*|romp-ibm:BSD:*) ! 274: echo romp-ibm-bsd4.4 ! 275: exit 0 ;; ! 276: ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and ! 277: echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to ! 278: exit 0 ;; # report: romp-ibm BSD 4.3 ! 279: *:BOSX:*:*) ! 280: echo rs6000-bull-bosx ! 281: exit 0 ;; ! 282: DPX/2?00:B.O.S.:*:*) ! 283: echo m68k-bull-sysv3 ! 284: exit 0 ;; ! 285: 9000/[34]??:4.3bsd:1.*:*) ! 286: echo m68k-hp-bsd ! 287: exit 0 ;; ! 288: hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) ! 289: echo m68k-hp-bsd4.4 ! 290: exit 0 ;; ! 291: 9000/[3478]??:HP-UX:*:*) ! 292: case "${UNAME_MACHINE}" in ! 293: 9000/31? ) HP_ARCH=m68000 ;; ! 294: 9000/[34]?? ) HP_ARCH=m68k ;; ! 295: 9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;; ! 296: 9000/8?? ) HP_ARCH=hppa1.0 ;; ! 297: esac ! 298: HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` ! 299: echo ${HP_ARCH}-hp-hpux${HPUX_REV} ! 300: exit 0 ;; ! 301: 3050*:HI-UX:*:*) ! 302: sed 's/^ //' << EOF >dummy.c ! 303: #include <unistd.h> ! 304: int ! 305: main () ! 306: { ! 307: long cpu = sysconf (_SC_CPU_VERSION); ! 308: /* The order matters, because CPU_IS_HP_MC68K erroneously returns ! 309: true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct ! 310: results, however. */ ! 311: if (CPU_IS_PA_RISC (cpu)) ! 312: { ! 313: switch (cpu) ! 314: { ! 315: case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; ! 316: case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; ! 317: case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; ! 318: default: puts ("hppa-hitachi-hiuxwe2"); break; ! 319: } ! 320: } ! 321: else if (CPU_IS_HP_MC68K (cpu)) ! 322: puts ("m68k-hitachi-hiuxwe2"); ! 323: else puts ("unknown-hitachi-hiuxwe2"); ! 324: exit (0); ! 325: } ! 326: EOF ! 327: ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 ! 328: rm -f dummy.c dummy ! 329: echo unknown-hitachi-hiuxwe2 ! 330: exit 0 ;; ! 331: 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) ! 332: echo hppa1.1-hp-bsd ! 333: exit 0 ;; ! 334: 9000/8??:4.3bsd:*:*) ! 335: echo hppa1.0-hp-bsd ! 336: exit 0 ;; ! 337: hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) ! 338: echo hppa1.1-hp-osf ! 339: exit 0 ;; ! 340: hp8??:OSF1:*:*) ! 341: echo hppa1.0-hp-osf ! 342: exit 0 ;; ! 343: i?86:OSF1:*:*) ! 344: if [ -x /usr/sbin/sysversion ] ; then ! 345: echo ${UNAME_MACHINE}-unknown-osf1mk ! 346: else ! 347: echo ${UNAME_MACHINE}-unknown-osf1 ! 348: fi ! 349: exit 0 ;; ! 350: parisc*:Lites*:*:*) ! 351: echo hppa1.1-hp-lites ! 352: exit 0 ;; ! 353: C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) ! 354: echo c1-convex-bsd ! 355: exit 0 ;; ! 356: C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) ! 357: if getsysinfo -f scalar_acc ! 358: then echo c32-convex-bsd ! 359: else echo c2-convex-bsd ! 360: fi ! 361: exit 0 ;; ! 362: C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) ! 363: echo c34-convex-bsd ! 364: exit 0 ;; ! 365: C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) ! 366: echo c38-convex-bsd ! 367: exit 0 ;; ! 368: C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) ! 369: echo c4-convex-bsd ! 370: exit 0 ;; ! 371: CRAY*X-MP:*:*:*) ! 372: echo xmp-cray-unicos ! 373: exit 0 ;; ! 374: CRAY*Y-MP:*:*:*) ! 375: echo ymp-cray-unicos${UNAME_RELEASE} ! 376: exit 0 ;; ! 377: CRAY*[A-Z]90:*:*:*) ! 378: echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ ! 379: | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ ! 380: -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ ! 381: exit 0 ;; ! 382: CRAY*TS:*:*:*) ! 383: echo t90-cray-unicos${UNAME_RELEASE} ! 384: exit 0 ;; ! 385: CRAY-2:*:*:*) ! 386: echo cray2-cray-unicos ! 387: exit 0 ;; ! 388: F300:UNIX_System_V:*:*) ! 389: FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'` ! 390: FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` ! 391: echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ! 392: exit 0 ;; ! 393: F301:UNIX_System_V:*:*) ! 394: echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'` ! 395: exit 0 ;; ! 396: hp3[0-9][05]:NetBSD:*:*) ! 397: echo m68k-hp-netbsd${UNAME_RELEASE} ! 398: exit 0 ;; ! 399: hp300:OpenBSD:*:*) ! 400: echo m68k-unknown-openbsd${UNAME_RELEASE} ! 401: exit 0 ;; ! 402: i?86:BSD/386:*:* | *:BSD/OS:*:*) ! 403: echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} ! 404: exit 0 ;; ! 405: *:FreeBSD:*:*) ! 406: echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ! 407: exit 0 ;; ! 408: *:NetBSD:*:*) ! 409: echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ! 410: exit 0 ;; ! 411: *:OpenBSD:*:*) ! 412: echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ! 413: exit 0 ;; ! 414: i*:CYGWIN*:*) ! 415: echo i386-pc-cygwin32 ! 416: exit 0 ;; ! 417: p*:CYGWIN*:*) ! 418: echo powerpcle-unknown-cygwin32 ! 419: exit 0 ;; ! 420: prep*:SunOS:5.*:*) ! 421: echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ! 422: exit 0 ;; ! 423: *:GNU:*:*) ! 424: echo `echo ${UNAME_MACHINE}|sed -e 's,-.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` ! 425: exit 0 ;; ! 426: *:Linux:*:*) ! 427: # The BFD linker knows what the default object file format is, so ! 428: # first see if it will tell us. ! 429: ld_help_string=`ld --help 2>&1` ! 430: if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i.86"; then ! 431: echo "${UNAME_MACHINE}-pc-linux-gnu" ; exit 0 ! 432: elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86linux"; then ! 433: echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ! 434: elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86coff"; then ! 435: echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ! 436: elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then ! 437: echo "${UNAME_MACHINE}-unknown-linux-gnu" ; exit 0 ! 438: elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then ! 439: echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ! 440: elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then ! 441: echo "powerpc-unknown-linux-gnu" ; exit 0 ! 442: elif test "${UNAME_MACHINE}" = "alpha" ; then ! 443: echo alpha-unknown-linux-gnu ; exit 0 ! 444: elif test "${UNAME_MACHINE}" = "sparc" ; then ! 445: echo sparc-unknown-linux-gnu ; exit 0 ! 446: elif test "${UNAME_MACHINE}" = "mips" ; then ! 447: cat >dummy.c <<EOF ! 448: main(argc, argv) ! 449: int argc; ! 450: char *argv[]; ! 451: { ! 452: #ifdef __MIPSEB__ ! 453: printf ("%s-unknown-linux-gnu\n", argv[1]); ! 454: #endif ! 455: #ifdef __MIPSEL__ ! 456: printf ("%sel-unknown-linux-gnu\n", argv[1]); ! 457: #endif ! 458: return 0; ! 459: } ! 460: EOF ! 461: ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 ! 462: rm -f dummy.c dummy ! 463: else ! 464: # Either a pre-BFD a.out linker (linux-gnuoldld) or one that does not give us ! 465: # useful --help. Gcc wants to distinguish between linux-gnuoldld and linux-gnuaout. ! 466: test ! -d /usr/lib/ldscripts/. \ ! 467: && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 ! 468: # Determine whether the default compiler is a.out or elf ! 469: cat >dummy.c <<EOF ! 470: main(argc, argv) ! 471: int argc; ! 472: char *argv[]; ! 473: { ! 474: #ifdef __ELF__ ! 475: printf ("%s-pc-linux-gnu\n", argv[1]); ! 476: #else ! 477: printf ("%s-pc-linux-gnuaout\n", argv[1]); ! 478: #endif ! 479: return 0; ! 480: } ! 481: EOF ! 482: ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 ! 483: rm -f dummy.c dummy ! 484: fi ;; ! 485: # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions ! 486: # are messed up and put the nodename in both sysname and nodename. ! 487: i?86:DYNIX/ptx:4*:*) ! 488: echo i386-sequent-sysv4 ! 489: exit 0 ;; ! 490: i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*) ! 491: if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then ! 492: echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} ! 493: else ! 494: echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} ! 495: fi ! 496: exit 0 ;; ! 497: i?86:*:3.2:*) ! 498: if test -f /usr/options/cb.name; then ! 499: UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` ! 500: echo ${UNAME_MACHINE}-pc-isc$UNAME_REL ! 501: elif /bin/uname -X 2>/dev/null >/dev/null ; then ! 502: UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` ! 503: (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 ! 504: (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ ! 505: && UNAME_MACHINE=i586 ! 506: echo ${UNAME_MACHINE}-pc-sco$UNAME_REL ! 507: else ! 508: echo ${UNAME_MACHINE}-pc-sysv32 ! 509: fi ! 510: exit 0 ;; ! 511: Intel:Mach:3*:*) ! 512: echo i386-pc-mach3 ! 513: exit 0 ;; ! 514: paragon:*:*:*) ! 515: echo i860-intel-osf1 ! 516: exit 0 ;; ! 517: i860:*:4.*:*) # i860-SVR4 ! 518: if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then ! 519: echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 ! 520: else # Add other i860-SVR4 vendors below as they are discovered. ! 521: echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 ! 522: fi ! 523: exit 0 ;; ! 524: mini*:CTIX:SYS*5:*) ! 525: # "miniframe" ! 526: echo m68010-convergent-sysv ! 527: exit 0 ;; ! 528: M68*:*:R3V[567]*:*) ! 529: test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; ! 530: 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) ! 531: OS_REL='' ! 532: test -r /etc/.relid \ ! 533: && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` ! 534: /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ! 535: && echo i486-ncr-sysv4.3${OS_REL} && exit 0 ! 536: /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ ! 537: && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; ! 538: 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) ! 539: /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ! 540: && echo i486-ncr-sysv4 && exit 0 ;; ! 541: m68*:LynxOS:2.*:*) ! 542: echo m68k-unknown-lynxos${UNAME_RELEASE} ! 543: exit 0 ;; ! 544: mc68030:UNIX_System_V:4.*:*) ! 545: echo m68k-atari-sysv4 ! 546: exit 0 ;; ! 547: i?86:LynxOS:2.*:*) ! 548: echo i386-unknown-lynxos${UNAME_RELEASE} ! 549: exit 0 ;; ! 550: TSUNAMI:LynxOS:2.*:*) ! 551: echo sparc-unknown-lynxos${UNAME_RELEASE} ! 552: exit 0 ;; ! 553: rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*) ! 554: echo rs6000-unknown-lynxos${UNAME_RELEASE} ! 555: exit 0 ;; ! 556: SM[BE]S:UNIX_SV:*:*) ! 557: echo mips-dde-sysv${UNAME_RELEASE} ! 558: exit 0 ;; ! 559: RM*:SINIX-*:*:*) ! 560: echo mips-sni-sysv4 ! 561: exit 0 ;; ! 562: *:SINIX-*:*:*) ! 563: if uname -p 2>/dev/null >/dev/null ; then ! 564: UNAME_MACHINE=`(uname -p) 2>/dev/null` ! 565: echo ${UNAME_MACHINE}-sni-sysv4 ! 566: else ! 567: echo ns32k-sni-sysv ! 568: fi ! 569: exit 0 ;; ! 570: PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ! 571: # says <[email protected]> ! 572: echo i586-unisys-sysv4 ! 573: exit 0 ;; ! 574: *:UNIX_System_V:4*:FTX*) ! 575: # From Gerald Hewes <[email protected]>. ! 576: # How about differentiating between stratus architectures? -djm ! 577: echo hppa1.1-stratus-sysv4 ! 578: exit 0 ;; ! 579: *:*:*:FTX*) ! 580: # From [email protected]. ! 581: echo i860-stratus-sysv4 ! 582: exit 0 ;; ! 583: mc68*:A/UX:*:*) ! 584: echo m68k-apple-aux${UNAME_RELEASE} ! 585: exit 0 ;; ! 586: R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*) ! 587: if [ -d /usr/nec ]; then ! 588: echo mips-nec-sysv${UNAME_RELEASE} ! 589: else ! 590: echo mips-unknown-sysv${UNAME_RELEASE} ! 591: fi ! 592: exit 0 ;; ! 593: esac ! 594: ! 595: #echo '(No uname command or uname output not recognized.)' 1>&2 ! 596: #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 ! 597: ! 598: cat >dummy.c <<EOF ! 599: #ifdef _SEQUENT_ ! 600: # include <sys/types.h> ! 601: # include <sys/utsname.h> ! 602: #endif ! 603: main () ! 604: { ! 605: #if defined (sony) ! 606: #if defined (MIPSEB) ! 607: /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, ! 608: I don't know.... */ ! 609: printf ("mips-sony-bsd\n"); exit (0); ! 610: #else ! 611: #include <sys/param.h> ! 612: printf ("m68k-sony-newsos%s\n", ! 613: #ifdef NEWSOS4 ! 614: "4" ! 615: #else ! 616: "" ! 617: #endif ! 618: ); exit (0); ! 619: #endif ! 620: #endif ! 621: ! 622: #if defined (__arm) && defined (__acorn) && defined (__unix) ! 623: printf ("arm-acorn-riscix"); exit (0); ! 624: #endif ! 625: ! 626: #if defined (hp300) && !defined (hpux) ! 627: printf ("m68k-hp-bsd\n"); exit (0); ! 628: #endif ! 629: ! 630: #if defined (NeXT) ! 631: #if !defined (__ARCHITECTURE__) ! 632: #define __ARCHITECTURE__ "m68k" ! 633: #endif ! 634: int version; ! 635: version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; ! 636: printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); ! 637: exit (0); ! 638: #endif ! 639: ! 640: #if defined (MULTIMAX) || defined (n16) ! 641: #if defined (UMAXV) ! 642: printf ("ns32k-encore-sysv\n"); exit (0); ! 643: #else ! 644: #if defined (CMU) ! 645: printf ("ns32k-encore-mach\n"); exit (0); ! 646: #else ! 647: printf ("ns32k-encore-bsd\n"); exit (0); ! 648: #endif ! 649: #endif ! 650: #endif ! 651: ! 652: #if defined (__386BSD__) ! 653: printf ("i386-pc-bsd\n"); exit (0); ! 654: #endif ! 655: ! 656: #if defined (sequent) ! 657: #if defined (i386) ! 658: printf ("i386-sequent-dynix\n"); exit (0); ! 659: #endif ! 660: #if defined (ns32000) ! 661: printf ("ns32k-sequent-dynix\n"); exit (0); ! 662: #endif ! 663: #endif ! 664: ! 665: #if defined (_SEQUENT_) ! 666: struct utsname un; ! 667: ! 668: uname(&un); ! 669: ! 670: if (strncmp(un.version, "V2", 2) == 0) { ! 671: printf ("i386-sequent-ptx2\n"); exit (0); ! 672: } ! 673: if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ ! 674: printf ("i386-sequent-ptx1\n"); exit (0); ! 675: } ! 676: printf ("i386-sequent-ptx\n"); exit (0); ! 677: ! 678: #endif ! 679: ! 680: #if defined (vax) ! 681: #if !defined (ultrix) ! 682: printf ("vax-dec-bsd\n"); exit (0); ! 683: #else ! 684: printf ("vax-dec-ultrix\n"); exit (0); ! 685: #endif ! 686: #endif ! 687: ! 688: #if defined (alliant) && defined (i860) ! 689: printf ("i860-alliant-bsd\n"); exit (0); ! 690: #endif ! 691: ! 692: exit (1); ! 693: } ! 694: EOF ! 695: ! 696: ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0 ! 697: rm -f dummy.c dummy ! 698: ! 699: # Apollos put the system type in the environment. ! 700: ! 701: test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } ! 702: ! 703: # Convex versions that predate uname can use getsysinfo(1) ! 704: ! 705: if [ -x /usr/convex/getsysinfo ] ! 706: then ! 707: case `getsysinfo -f cpu_type` in ! 708: c1*) ! 709: echo c1-convex-bsd ! 710: exit 0 ;; ! 711: c2*) ! 712: if getsysinfo -f scalar_acc ! 713: then echo c32-convex-bsd ! 714: else echo c2-convex-bsd ! 715: fi ! 716: exit 0 ;; ! 717: c34*) ! 718: echo c34-convex-bsd ! 719: exit 0 ;; ! 720: c38*) ! 721: echo c38-convex-bsd ! 722: exit 0 ;; ! 723: c4*) ! 724: echo c4-convex-bsd ! 725: exit 0 ;; ! 726: esac ! 727: fi ! 728: ! 729: #echo '(Unable to guess system type)' 1>&2 ! 730: ! 731: exit 1
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.