|
|
1.1 ! root 1: #!/bin/sh ! 2: # This script attempts to guess a canonical system name. ! 3: # Copyright (C) 1992, 1993 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 18: ! 19: # ! 20: # This script attempts to guess a canonical system name similar to ! 21: # config.sub. If it succeeds, it prints the system name on stdout, and ! 22: # exits with 0. Otherwise, it exits with 1. ! 23: # ! 24: # The plan is that this can be called by configure scripts if you ! 25: # don't specify an explicit system type (host/target name). ! 26: # ! 27: # Only a few systems have been added to this list; please add others ! 28: # (but try to keep the structure clean). ! 29: # ! 30: ! 31: UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown ! 32: UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown ! 33: UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown ! 34: UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown ! 35: ! 36: # Note: order is significant - the case branches are not exclusive. ! 37: ! 38: case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ! 39: alpha:OSF1:1.*:*) ! 40: # 1.2 uses "1.2" for uname -r. ! 41: echo alpha-dec-osf${UNAME_RELEASE} ! 42: exit 0 ;; ! 43: alpha:OSF1:V1.*:*) ! 44: # 1.3 uses "V1.3" for uname -r. ! 45: echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^V//'` ! 46: exit 0 ;; ! 47: arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) ! 48: echo arm-acorn-riscix${UNAME_RELEASE} ! 49: exit 0;; ! 50: sun4*:SunOS:5.*:*) ! 51: echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ! 52: exit 0 ;; ! 53: sun4*:SunOS:6*:*) ! 54: # According to config.sub, this is the proper way to canonicalize ! 55: # SunOS6. Hard to guess exactly what SunOS6 will be like, but ! 56: # it's likely to be more like Solaris than SunOS4. ! 57: echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ! 58: exit 0 ;; ! 59: sun4*:SunOS:*:*) ! 60: echo sparc-sun-sunos${UNAME_RELEASE} ! 61: exit 0 ;; ! 62: sun3*:SunOS:*:*) ! 63: echo m68k-sun-sunos${UNAME_RELEASE} ! 64: exit 0 ;; ! 65: RISC*:ULTRIX:*:*) ! 66: echo mips-dec-ultrix${UNAME_RELEASE} ! 67: exit 0 ;; ! 68: VAX*:ULTRIX*:*:*) ! 69: echo vax-dec-ultrix${UNAME_RELEASE} ! 70: exit 0 ;; ! 71: mips:*:5*:RISCos) ! 72: echo mips-mips-riscos${UNAME_RELEASE} ! 73: exit 0 ;; ! 74: m88k:*:4*:R4*) ! 75: echo m88k-motorola-sysv4 ! 76: exit 0 ;; ! 77: m88k:*:3*:R3*) ! 78: echo m88k-motorola-sysv3 ! 79: exit 0 ;; ! 80: AViiON:dgux:*:*) ! 81: echo m88k-dg-dgux${UNAME_RELEASE} ! 82: exit 0 ;; ! 83: M88*:*:R3*:*) ! 84: # Delta 88k system running SVR3 ! 85: echo m88k-motorola-sysv3 ! 86: exit 0 ;; ! 87: XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) ! 88: echo m88k-tektronix-sysv3 ! 89: exit 0 ;; ! 90: Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) ! 91: echo m68k-tektronix-bsd ! 92: exit 0 ;; ! 93: *:IRIX:*:*) ! 94: echo mips-sgi-irix${UNAME_RELEASE} ! 95: exit 0 ;; ! 96: i[34]86:AIX:*:*) ! 97: echo i386-ibm-aix ! 98: exit 0 ;; ! 99: *:AIX:2:3) ! 100: echo rs6000-ibm-aix3.2 ! 101: exit 0 ;; ! 102: *:AIX:*:*) ! 103: echo rs6000-ibm-aix ! 104: exit 0 ;; ! 105: *:BOSX:*:*) ! 106: echo rs6000-bull-bosx ! 107: exit 0 ;; ! 108: DPX/2?00:B.O.S.:*:*) ! 109: echo m68k-bull-sysv3 ! 110: exit 0 ;; ! 111: 9000/31?:HP-UX:*:*) ! 112: echo m68000-hp-hpux ! 113: exit 0 ;; ! 114: 9000/[34]??:HP-UX:*:*) ! 115: echo m68k-hp-hpux ! 116: exit 0 ;; ! 117: 9000/[34]??:4.3bsd:1.*:*) ! 118: echo m68k-hp-bsd ! 119: exit 0 ;; ! 120: hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) ! 121: echo m68k-hp-bsd4.4 ! 122: exit 0 ;; ! 123: 9000/7??:HP-UX:*:* | 9000/8?7:HP-UX:*:* ) ! 124: echo hppa1.1-hp-hpux ! 125: exit 0 ;; ! 126: 9000/8??:HP-UX:*:*) ! 127: echo hppa1.0-hp-hpux ! 128: exit 0 ;; ! 129: 3050*:HI-UX:*:*) ! 130: sed 's/^ //' << EOF >dummy.c ! 131: #include <unistd.h> ! 132: int ! 133: main () ! 134: { ! 135: long cpu = sysconf (_SC_CPU_VERSION); ! 136: if (CPU_IS_HP_MC68K (cpu)) ! 137: puts ("m68k-hitachi-hiuxwe2"); ! 138: else if (CPU_IS_PA_RISC (cpu)) ! 139: { ! 140: switch (cpu) ! 141: { ! 142: case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; ! 143: case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; ! 144: case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; ! 145: default: puts ("hppa-hitachi-hiuxwe2"); break; ! 146: } ! 147: } ! 148: else puts ("unknown-hitachi-hiuxwe2"); ! 149: exit (0); ! 150: } ! 151: EOF ! 152: ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 ! 153: rm -f dummy.c dummy ! 154: echo unknown-hitachi-hiuxwe2 ! 155: exit 0 ;; ! 156: 9000/7??:4.3bsd:*:* | 9000/8?7:4.3bsd:*:* ) ! 157: echo hppa1.1-hp-bsd ! 158: exit 0 ;; ! 159: 9000/8??:4.3bsd:*:*) ! 160: echo hppa1.0-hp-bsd ! 161: exit 0 ;; ! 162: C1*:ConvexOS:*:*) ! 163: echo c1-convex-bsd ! 164: exit 0 ;; ! 165: C2*:ConvexOS:*:*) ! 166: echo c2-convex-bsd ! 167: exit 0 ;; ! 168: CRAY*X-MP:UNICOS:*:*) ! 169: echo xmp-cray-unicos ! 170: exit 0 ;; ! 171: CRAY*Y-MP:UNICOS:*:*) ! 172: echo ymp-cray-unicos ! 173: exit 0 ;; ! 174: CRAY-2:UNICOS:*:*) ! 175: echo cray2-cray-unicos ! 176: exit 0 ;; ! 177: hp3[0-9][05]:NetBSD:*:*) ! 178: echo m68k-hp-netbsd${UNAME_RELEASE} ! 179: exit 0 ;; ! 180: i[34]86:NetBSD:*:*) ! 181: echo ${UNAME_MACHINE}-unknown-netbsd${UNAME_RELEASE} ! 182: exit 0 ;; ! 183: i[34]86:Linux:*:*) ! 184: echo ${UNAME_MACHINE}-unknown-linux ! 185: exit 0 ;; ! 186: i[34]86:UNIX_SV:4.*:*) ! 187: if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then ! 188: echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} ! 189: else ! 190: echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE} ! 191: fi ! 192: exit 0 ;; ! 193: i[34]86:*:3.2:*) ! 194: if /bin/uname -X 2>/dev/null >/dev/null ; then ! 195: UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` ! 196: (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 ! 197: echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL ! 198: else ! 199: echo ${UNAME_MACHINE}-unknown-sysv32 ! 200: fi ! 201: exit 0 ;; ! 202: mini*:CTIX:SYS*5:*) ! 203: # "miniframe" ! 204: echo m68010-convergent-sysv ! 205: exit 0 ;; ! 206: M680[234]0:*:R3V[567]*:*) ! 207: test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; ! 208: 3[34]??:*:4.0:*) ! 209: uname -p 2>/dev/null | grep 86 >/dev/null \ ! 210: && echo i486-ncr-sysv4 && exit 0 ;; ! 211: m680[234]0:LynxOS:2.2*:*) ! 212: echo m68k-lynx-lynxos${UNAME_RELEASE} ! 213: exit 0 ;; ! 214: i[34]86:LynxOS:2.2*:*) ! 215: echo i386-lynx-lynxos${UNAME_RELEASE} ! 216: exit 0 ;; ! 217: TSUNAMI:LynxOS:2.2*:*) ! 218: echo sparc-lynx-lynxos${UNAME_RELEASE} ! 219: exit 0 ;; ! 220: esac ! 221: ! 222: #echo '(No uname command or uname output not recognized.)' 1>&2 ! 223: #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 ! 224: ! 225: cat >dummy.c <<EOF ! 226: main() ! 227: { ! 228: #if defined (sony) ! 229: #if defined (MIPSEB) ! 230: /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, ! 231: I don't know.... */ ! 232: printf ("mips-sony-bsd\n"); exit (0); ! 233: #else ! 234: printf("m68k-sony-newsos\n"); exit(0); ! 235: #endif ! 236: #endif ! 237: ! 238: #if defined (__arm) && defined (__acorn) && defined (__unix) ! 239: printf("arm-acorn-riscix"); exit (0); ! 240: #endif ! 241: ! 242: #if defined(hp300) && !defined(hpux) ! 243: printf("m68k-hp-bsd\n"); exit(0); ! 244: #endif ! 245: ! 246: #if defined(NeXT) ! 247: printf("m68k-next-bsd\n"); exit(0); ! 248: #endif ! 249: ! 250: #if defined (MULTIMAX) || defined (n16) ! 251: #if defined (UMAXV) ! 252: printf("ns32k-encore-sysv\n"); exit(0); ! 253: #else ! 254: #if defined (CMU) ! 255: printf("ns32k-encore-mach\n"); exit(0); ! 256: #else ! 257: printf("ns32k-encore-bsd\n"); exit(0); ! 258: #endif ! 259: #endif ! 260: #endif ! 261: ! 262: #if defined(__386BSD__) || (defined(__bsdi__) && defined(__i386__)) ! 263: printf("i386-unknown-bsd\n"); exit(0); ! 264: #endif ! 265: ! 266: #if defined(sequent) ! 267: #if defined(i386) ! 268: printf("i386-sequent-dynix\n"); exit(0); ! 269: #endif ! 270: #if defined (ns32000) ! 271: printf("ns32k-sequent-dynix\n"); exit(0); ! 272: #endif ! 273: #endif ! 274: ! 275: #if defined(_SEQUENT_) ! 276: printf("i386-sequent-ptx\n"); exit(0); ! 277: #endif ! 278: ! 279: exit (1); ! 280: } ! 281: EOF ! 282: ! 283: ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 ! 284: rm -f dummy.c dummy ! 285: ! 286: # Apollos put the system type in the environment. ! 287: ! 288: test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } ! 289: ! 290: #echo '(Unable to guess system type)' 1>&2 ! 291: ! 292: exit 1
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.