14edb46e9SPaul Traina#! /bin/sh 24edb46e9SPaul Traina# Attempt to guess a canonical system name. 3a90e161bSBill Fenner# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 4685295f4SBill Fenner# Free Software Foundation, Inc. 5685295f4SBill Fenner 6a90e161bSBill Fennertimestamp='2001-04-20' 7685295f4SBill Fenner 84edb46e9SPaul Traina# This file is free software; you can redistribute it and/or modify it 94edb46e9SPaul Traina# under the terms of the GNU General Public License as published by 104edb46e9SPaul Traina# the Free Software Foundation; either version 2 of the License, or 114edb46e9SPaul Traina# (at your option) any later version. 124edb46e9SPaul Traina# 134edb46e9SPaul Traina# This program is distributed in the hope that it will be useful, but 144edb46e9SPaul Traina# WITHOUT ANY WARRANTY; without even the implied warranty of 154edb46e9SPaul Traina# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 164edb46e9SPaul Traina# General Public License for more details. 174edb46e9SPaul Traina# 184edb46e9SPaul Traina# You should have received a copy of the GNU General Public License 194edb46e9SPaul Traina# along with this program; if not, write to the Free Software 204edb46e9SPaul Traina# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 214edb46e9SPaul Traina# 224edb46e9SPaul Traina# As a special exception to the GNU General Public License, if you 234edb46e9SPaul Traina# distribute this file as part of a program that contains a 244edb46e9SPaul Traina# configuration script generated by Autoconf, you may include it under 254edb46e9SPaul Traina# the same distribution terms that you use for the rest of that program. 264edb46e9SPaul Traina 274edb46e9SPaul Traina# Written by Per Bothner <bothner@cygnus.com>. 28685295f4SBill Fenner# Please send patches to <config-patches@gnu.org>. 294edb46e9SPaul Traina# 304edb46e9SPaul Traina# This script attempts to guess a canonical system name similar to 314edb46e9SPaul Traina# config.sub. If it succeeds, it prints the system name on stdout, and 324edb46e9SPaul Traina# exits with 0. Otherwise, it exits with 1. 334edb46e9SPaul Traina# 344edb46e9SPaul Traina# The plan is that this can be called by configure scripts if you 35685295f4SBill Fenner# don't specify an explicit build system type. 364edb46e9SPaul Traina 37685295f4SBill Fennerme=`echo "$0" | sed -e 's,.*/,,'` 38685295f4SBill Fenner 39685295f4SBill Fennerusage="\ 40685295f4SBill FennerUsage: $0 [OPTION] 41685295f4SBill Fenner 42685295f4SBill FennerOutput the configuration name of the system \`$me' is run on. 43685295f4SBill Fenner 44685295f4SBill FennerOperation modes: 45685295f4SBill Fenner -h, --help print this help, then exit 46685295f4SBill Fenner -t, --time-stamp print date of last modification, then exit 47685295f4SBill Fenner -v, --version print version number, then exit 48685295f4SBill Fenner 49685295f4SBill FennerReport bugs and patches to <config-patches@gnu.org>." 50685295f4SBill Fenner 51685295f4SBill Fennerversion="\ 52685295f4SBill FennerGNU config.guess ($timestamp) 53685295f4SBill Fenner 54685295f4SBill FennerOriginally written by Per Bothner. 55685295f4SBill FennerCopyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000 56685295f4SBill FennerFree Software Foundation, Inc. 57685295f4SBill Fenner 58685295f4SBill FennerThis is free software; see the source for copying conditions. There is NO 59685295f4SBill Fennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 60685295f4SBill Fenner 61685295f4SBill Fennerhelp=" 62685295f4SBill FennerTry \`$me --help' for more information." 63685295f4SBill Fenner 64685295f4SBill Fenner# Parse command line 65685295f4SBill Fennerwhile test $# -gt 0 ; do 66685295f4SBill Fenner case $1 in 67685295f4SBill Fenner --time-stamp | --time* | -t ) 68685295f4SBill Fenner echo "$timestamp" ; exit 0 ;; 69685295f4SBill Fenner --version | -v ) 70685295f4SBill Fenner echo "$version" ; exit 0 ;; 71685295f4SBill Fenner --help | --h* | -h ) 72685295f4SBill Fenner echo "$usage"; exit 0 ;; 73685295f4SBill Fenner -- ) # Stop option processing 74685295f4SBill Fenner shift; break ;; 75685295f4SBill Fenner - ) # Use stdin as input. 76685295f4SBill Fenner break ;; 77685295f4SBill Fenner -* ) 78685295f4SBill Fenner echo "$me: invalid option $1$help" >&2 79685295f4SBill Fenner exit 1 ;; 80685295f4SBill Fenner * ) 81685295f4SBill Fenner break ;; 82685295f4SBill Fenner esac 83685295f4SBill Fennerdone 84685295f4SBill Fenner 85685295f4SBill Fennerif test $# != 0; then 86685295f4SBill Fenner echo "$me: too many arguments$help" >&2 87685295f4SBill Fenner exit 1 88685295f4SBill Fennerfi 89685295f4SBill Fenner 90685295f4SBill Fenner 91685295f4SBill Fennerdummy=dummy-$$ 92a90e161bSBill Fennertrap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 93685295f4SBill Fenner 94685295f4SBill Fenner# CC_FOR_BUILD -- compiler used by this script. 95685295f4SBill Fenner# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 96685295f4SBill Fenner# use `HOST_CC' if defined, but it is deprecated. 97685295f4SBill Fenner 98685295f4SBill Fennercase $CC_FOR_BUILD,$HOST_CC,$CC in 99685295f4SBill Fenner ,,) echo "int dummy(){}" > $dummy.c 100685295f4SBill Fenner for c in cc gcc c89 ; do 101685295f4SBill Fenner ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 102685295f4SBill Fenner if test $? = 0 ; then 103685295f4SBill Fenner CC_FOR_BUILD="$c"; break 104685295f4SBill Fenner fi 105685295f4SBill Fenner done 106a90e161bSBill Fenner rm -f $dummy.c $dummy.o $dummy.rel 107685295f4SBill Fenner if test x"$CC_FOR_BUILD" = x ; then 108685295f4SBill Fenner CC_FOR_BUILD=no_compiler_found 109685295f4SBill Fenner fi 110685295f4SBill Fenner ;; 111685295f4SBill Fenner ,,*) CC_FOR_BUILD=$CC ;; 112685295f4SBill Fenner ,*,*) CC_FOR_BUILD=$HOST_CC ;; 113685295f4SBill Fenneresac 114685295f4SBill Fenner 1154edb46e9SPaul Traina# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 1164edb46e9SPaul Traina# (ghazi@noc.rutgers.edu 8/24/94.) 1174edb46e9SPaul Trainaif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 1184edb46e9SPaul Traina PATH=$PATH:/.attbin ; export PATH 1194edb46e9SPaul Trainafi 1204edb46e9SPaul Traina 1214edb46e9SPaul TrainaUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 1224edb46e9SPaul TrainaUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 1234edb46e9SPaul TrainaUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 1244edb46e9SPaul TrainaUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 1254edb46e9SPaul Traina 1264edb46e9SPaul Traina# Note: order is significant - the case branches are not exclusive. 1274edb46e9SPaul Traina 1284edb46e9SPaul Trainacase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 129685295f4SBill Fenner *:NetBSD:*:*) 130685295f4SBill Fenner # Netbsd (nbsd) targets should (where applicable) match one or 131685295f4SBill Fenner # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 132685295f4SBill Fenner # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 133685295f4SBill Fenner # switched to ELF, *-*-netbsd* would select the old 134685295f4SBill Fenner # object file format. This provides both forward 135685295f4SBill Fenner # compatibility and a consistent mechanism for selecting the 136685295f4SBill Fenner # object file format. 137685295f4SBill Fenner # Determine the machine/vendor (is the vendor relevant). 138685295f4SBill Fenner case "${UNAME_MACHINE}" in 139685295f4SBill Fenner amiga) machine=m68k-unknown ;; 140685295f4SBill Fenner arm32) machine=arm-unknown ;; 141685295f4SBill Fenner atari*) machine=m68k-atari ;; 142685295f4SBill Fenner sun3*) machine=m68k-sun ;; 143685295f4SBill Fenner mac68k) machine=m68k-apple ;; 144685295f4SBill Fenner macppc) machine=powerpc-apple ;; 145685295f4SBill Fenner hp3[0-9][05]) machine=m68k-hp ;; 146685295f4SBill Fenner ibmrt|romp-ibm) machine=romp-ibm ;; 147685295f4SBill Fenner *) machine=${UNAME_MACHINE}-unknown ;; 148685295f4SBill Fenner esac 149685295f4SBill Fenner # The Operating System including object format, if it has switched 150685295f4SBill Fenner # to ELF recently, or will in the future. 151685295f4SBill Fenner case "${UNAME_MACHINE}" in 152685295f4SBill Fenner i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) 153685295f4SBill Fenner if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 154685295f4SBill Fenner | grep __ELF__ >/dev/null 155685295f4SBill Fenner then 156685295f4SBill Fenner # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 157685295f4SBill Fenner # Return netbsd for either. FIX? 158685295f4SBill Fenner os=netbsd 159685295f4SBill Fenner else 160685295f4SBill Fenner os=netbsdelf 161685295f4SBill Fenner fi 162685295f4SBill Fenner ;; 163685295f4SBill Fenner *) 164685295f4SBill Fenner os=netbsd 165685295f4SBill Fenner ;; 166685295f4SBill Fenner esac 167685295f4SBill Fenner # The OS release 168685295f4SBill Fenner release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 169685295f4SBill Fenner # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 170685295f4SBill Fenner # contains redundant information, the shorter form: 171685295f4SBill Fenner # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 172685295f4SBill Fenner echo "${machine}-${os}${release}" 173685295f4SBill Fenner exit 0 ;; 1744edb46e9SPaul Traina alpha:OSF1:*:*) 175685295f4SBill Fenner if test $UNAME_RELEASE = "V4.0"; then 176685295f4SBill Fenner UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 177685295f4SBill Fenner fi 1784edb46e9SPaul Traina # A Vn.n version is a released version. 1794edb46e9SPaul Traina # A Tn.n version is a released field test version. 1804edb46e9SPaul Traina # A Xn.n version is an unreleased experimental baselevel. 1814edb46e9SPaul Traina # 1.2 uses "1.2" for uname -r. 182685295f4SBill Fenner cat <<EOF >$dummy.s 183685295f4SBill Fenner .data 184685295f4SBill Fenner\$Lformat: 185685295f4SBill Fenner .byte 37,100,45,37,120,10,0 # "%d-%x\n" 186685295f4SBill Fenner 187685295f4SBill Fenner .text 188685295f4SBill Fenner .globl main 189685295f4SBill Fenner .align 4 190685295f4SBill Fenner .ent main 191685295f4SBill Fennermain: 192685295f4SBill Fenner .frame \$30,16,\$26,0 193685295f4SBill Fenner ldgp \$29,0(\$27) 194685295f4SBill Fenner .prologue 1 195685295f4SBill Fenner .long 0x47e03d80 # implver \$0 196685295f4SBill Fenner lda \$2,-1 197685295f4SBill Fenner .long 0x47e20c21 # amask \$2,\$1 198685295f4SBill Fenner lda \$16,\$Lformat 199685295f4SBill Fenner mov \$0,\$17 200685295f4SBill Fenner not \$1,\$18 201685295f4SBill Fenner jsr \$26,printf 202685295f4SBill Fenner ldgp \$29,0(\$26) 203685295f4SBill Fenner mov 0,\$16 204685295f4SBill Fenner jsr \$26,exit 205685295f4SBill Fenner .end main 206685295f4SBill FennerEOF 207685295f4SBill Fenner $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null 208685295f4SBill Fenner if test "$?" = 0 ; then 209685295f4SBill Fenner case `./$dummy` in 210685295f4SBill Fenner 0-0) 211685295f4SBill Fenner UNAME_MACHINE="alpha" 212685295f4SBill Fenner ;; 213685295f4SBill Fenner 1-0) 214685295f4SBill Fenner UNAME_MACHINE="alphaev5" 215685295f4SBill Fenner ;; 216685295f4SBill Fenner 1-1) 217685295f4SBill Fenner UNAME_MACHINE="alphaev56" 218685295f4SBill Fenner ;; 219685295f4SBill Fenner 1-101) 220685295f4SBill Fenner UNAME_MACHINE="alphapca56" 221685295f4SBill Fenner ;; 222685295f4SBill Fenner 2-303) 223685295f4SBill Fenner UNAME_MACHINE="alphaev6" 224685295f4SBill Fenner ;; 225685295f4SBill Fenner 2-307) 226685295f4SBill Fenner UNAME_MACHINE="alphaev67" 227685295f4SBill Fenner ;; 228685295f4SBill Fenner esac 229685295f4SBill Fenner fi 230685295f4SBill Fenner rm -f $dummy.s $dummy 231685295f4SBill Fenner echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 232685295f4SBill Fenner exit 0 ;; 233685295f4SBill Fenner Alpha\ *:Windows_NT*:*) 234685295f4SBill Fenner # How do we know it's Interix rather than the generic POSIX subsystem? 235685295f4SBill Fenner # Should we change UNAME_MACHINE based on the output of uname instead 236685295f4SBill Fenner # of the specific Alpha model? 237685295f4SBill Fenner echo alpha-pc-interix 2384edb46e9SPaul Traina exit 0 ;; 2394edb46e9SPaul Traina 21064:Windows_NT:50:3) 2404edb46e9SPaul Traina echo alpha-dec-winnt3.5 2414edb46e9SPaul Traina exit 0 ;; 2424edb46e9SPaul Traina Amiga*:UNIX_System_V:4.0:*) 243685295f4SBill Fenner echo m68k-unknown-sysv4 2444edb46e9SPaul Traina exit 0;; 2454de76e31SBill Fenner amiga:OpenBSD:*:*) 246685295f4SBill Fenner echo m68k-unknown-openbsd${UNAME_RELEASE} 247685295f4SBill Fenner exit 0 ;; 248685295f4SBill Fenner *:[Aa]miga[Oo][Ss]:*:*) 249685295f4SBill Fenner echo ${UNAME_MACHINE}-unknown-amigaos 250685295f4SBill Fenner exit 0 ;; 251685295f4SBill Fenner arc64:OpenBSD:*:*) 252685295f4SBill Fenner echo mips64el-unknown-openbsd${UNAME_RELEASE} 253685295f4SBill Fenner exit 0 ;; 254685295f4SBill Fenner arc:OpenBSD:*:*) 255685295f4SBill Fenner echo mipsel-unknown-openbsd${UNAME_RELEASE} 256685295f4SBill Fenner exit 0 ;; 257685295f4SBill Fenner hkmips:OpenBSD:*:*) 258685295f4SBill Fenner echo mips-unknown-openbsd${UNAME_RELEASE} 259685295f4SBill Fenner exit 0 ;; 260685295f4SBill Fenner pmax:OpenBSD:*:*) 261685295f4SBill Fenner echo mipsel-unknown-openbsd${UNAME_RELEASE} 262685295f4SBill Fenner exit 0 ;; 263685295f4SBill Fenner sgi:OpenBSD:*:*) 264685295f4SBill Fenner echo mips-unknown-openbsd${UNAME_RELEASE} 265685295f4SBill Fenner exit 0 ;; 266685295f4SBill Fenner wgrisc:OpenBSD:*:*) 267685295f4SBill Fenner echo mipsel-unknown-openbsd${UNAME_RELEASE} 268685295f4SBill Fenner exit 0 ;; 269685295f4SBill Fenner *:OS/390:*:*) 270685295f4SBill Fenner echo i370-ibm-openedition 2714de76e31SBill Fenner exit 0 ;; 2724edb46e9SPaul Traina arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 2734edb46e9SPaul Traina echo arm-acorn-riscix${UNAME_RELEASE} 2744edb46e9SPaul Traina exit 0;; 275a90e161bSBill Fenner SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 276685295f4SBill Fenner echo hppa1.1-hitachi-hiuxmpp 277685295f4SBill Fenner exit 0;; 278685295f4SBill Fenner Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 2794de76e31SBill Fenner # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 2804edb46e9SPaul Traina if test "`(/bin/universe) 2>/dev/null`" = att ; then 2814edb46e9SPaul Traina echo pyramid-pyramid-sysv3 2824edb46e9SPaul Traina else 2834edb46e9SPaul Traina echo pyramid-pyramid-bsd 2844edb46e9SPaul Traina fi 2854edb46e9SPaul Traina exit 0 ;; 286685295f4SBill Fenner NILE*:*:*:dcosx) 2874de76e31SBill Fenner echo pyramid-pyramid-svr4 2884de76e31SBill Fenner exit 0 ;; 289685295f4SBill Fenner sun4H:SunOS:5.*:*) 290685295f4SBill Fenner echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 291685295f4SBill Fenner exit 0 ;; 2924de76e31SBill Fenner sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 2934edb46e9SPaul Traina echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 2944edb46e9SPaul Traina exit 0 ;; 2954edb46e9SPaul Traina i86pc:SunOS:5.*:*) 2964de76e31SBill Fenner echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 2974edb46e9SPaul Traina exit 0 ;; 2984edb46e9SPaul Traina sun4*:SunOS:6*:*) 2994edb46e9SPaul Traina # According to config.sub, this is the proper way to canonicalize 3004edb46e9SPaul Traina # SunOS6. Hard to guess exactly what SunOS6 will be like, but 3014edb46e9SPaul Traina # it's likely to be more like Solaris than SunOS4. 3024edb46e9SPaul Traina echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3034edb46e9SPaul Traina exit 0 ;; 3044edb46e9SPaul Traina sun4*:SunOS:*:*) 3054edb46e9SPaul Traina case "`/usr/bin/arch -k`" in 3064edb46e9SPaul Traina Series*|S4*) 3074edb46e9SPaul Traina UNAME_RELEASE=`uname -v` 3084edb46e9SPaul Traina ;; 3094edb46e9SPaul Traina esac 3104edb46e9SPaul Traina # Japanese Language versions have a version number like `4.1.3-JL'. 3114edb46e9SPaul Traina echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 3124edb46e9SPaul Traina exit 0 ;; 3134edb46e9SPaul Traina sun3*:SunOS:*:*) 3144edb46e9SPaul Traina echo m68k-sun-sunos${UNAME_RELEASE} 3154edb46e9SPaul Traina exit 0 ;; 316685295f4SBill Fenner sun*:*:4.2BSD:*) 317685295f4SBill Fenner UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 318685295f4SBill Fenner test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 319685295f4SBill Fenner case "`/bin/arch`" in 320685295f4SBill Fenner sun3) 321685295f4SBill Fenner echo m68k-sun-sunos${UNAME_RELEASE} 322685295f4SBill Fenner ;; 323685295f4SBill Fenner sun4) 324685295f4SBill Fenner echo sparc-sun-sunos${UNAME_RELEASE} 325685295f4SBill Fenner ;; 326685295f4SBill Fenner esac 327685295f4SBill Fenner exit 0 ;; 3284de76e31SBill Fenner aushp:SunOS:*:*) 3294de76e31SBill Fenner echo sparc-auspex-sunos${UNAME_RELEASE} 3304de76e31SBill Fenner exit 0 ;; 3314de76e31SBill Fenner atari*:OpenBSD:*:*) 332685295f4SBill Fenner echo m68k-unknown-openbsd${UNAME_RELEASE} 3334de76e31SBill Fenner exit 0 ;; 334685295f4SBill Fenner # The situation for MiNT is a little confusing. The machine name 335685295f4SBill Fenner # can be virtually everything (everything which is not 336685295f4SBill Fenner # "atarist" or "atariste" at least should have a processor 337685295f4SBill Fenner # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 338685295f4SBill Fenner # to the lowercase version "mint" (or "freemint"). Finally 339685295f4SBill Fenner # the system name "TOS" denotes a system which is actually not 340685295f4SBill Fenner # MiNT. But MiNT is downward compatible to TOS, so this should 341685295f4SBill Fenner # be no problem. 342685295f4SBill Fenner atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 343685295f4SBill Fenner echo m68k-atari-mint${UNAME_RELEASE} 344685295f4SBill Fenner exit 0 ;; 345685295f4SBill Fenner atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 346685295f4SBill Fenner echo m68k-atari-mint${UNAME_RELEASE} 347685295f4SBill Fenner exit 0 ;; 348685295f4SBill Fenner *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 349685295f4SBill Fenner echo m68k-atari-mint${UNAME_RELEASE} 350685295f4SBill Fenner exit 0 ;; 351685295f4SBill Fenner milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 352685295f4SBill Fenner echo m68k-milan-mint${UNAME_RELEASE} 353685295f4SBill Fenner exit 0 ;; 354685295f4SBill Fenner hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 355685295f4SBill Fenner echo m68k-hades-mint${UNAME_RELEASE} 356685295f4SBill Fenner exit 0 ;; 357685295f4SBill Fenner *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 358685295f4SBill Fenner echo m68k-unknown-mint${UNAME_RELEASE} 3594edb46e9SPaul Traina exit 0 ;; 3604de76e31SBill Fenner sun3*:OpenBSD:*:*) 361685295f4SBill Fenner echo m68k-unknown-openbsd${UNAME_RELEASE} 3624edb46e9SPaul Traina exit 0 ;; 3634de76e31SBill Fenner mac68k:OpenBSD:*:*) 364685295f4SBill Fenner echo m68k-unknown-openbsd${UNAME_RELEASE} 365685295f4SBill Fenner exit 0 ;; 366685295f4SBill Fenner mvme68k:OpenBSD:*:*) 367685295f4SBill Fenner echo m68k-unknown-openbsd${UNAME_RELEASE} 368685295f4SBill Fenner exit 0 ;; 369685295f4SBill Fenner mvme88k:OpenBSD:*:*) 370685295f4SBill Fenner echo m88k-unknown-openbsd${UNAME_RELEASE} 3714de76e31SBill Fenner exit 0 ;; 3724de76e31SBill Fenner powerpc:machten:*:*) 3734de76e31SBill Fenner echo powerpc-apple-machten${UNAME_RELEASE} 3744de76e31SBill Fenner exit 0 ;; 3754de76e31SBill Fenner RISC*:Mach:*:*) 3764de76e31SBill Fenner echo mips-dec-mach_bsd4.3 3774de76e31SBill Fenner exit 0 ;; 3784edb46e9SPaul Traina RISC*:ULTRIX:*:*) 3794edb46e9SPaul Traina echo mips-dec-ultrix${UNAME_RELEASE} 3804edb46e9SPaul Traina exit 0 ;; 3814edb46e9SPaul Traina VAX*:ULTRIX*:*:*) 3824edb46e9SPaul Traina echo vax-dec-ultrix${UNAME_RELEASE} 3834edb46e9SPaul Traina exit 0 ;; 384685295f4SBill Fenner 2020:CLIX:*:* | 2430:CLIX:*:*) 385685295f4SBill Fenner echo clipper-intergraph-clix${UNAME_RELEASE} 386685295f4SBill Fenner exit 0 ;; 3874de76e31SBill Fenner mips:*:*:UMIPS | mips:*:*:RISCos) 388685295f4SBill Fenner sed 's/^ //' << EOF >$dummy.c 389685295f4SBill Fenner#ifdef __cplusplus 390685295f4SBill Fenner#include <stdio.h> /* for printf() prototype */ 391685295f4SBill Fenner int main (int argc, char *argv[]) { 392685295f4SBill Fenner#else 393685295f4SBill Fenner int main (argc, argv) int argc; char *argv[]; { 394685295f4SBill Fenner#endif 3954de76e31SBill Fenner #if defined (host_mips) && defined (MIPSEB) 3964de76e31SBill Fenner #if defined (SYSTYPE_SYSV) 3974de76e31SBill Fenner printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 3984de76e31SBill Fenner #endif 3994de76e31SBill Fenner #if defined (SYSTYPE_SVR4) 4004de76e31SBill Fenner printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 4014de76e31SBill Fenner #endif 4024de76e31SBill Fenner #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 4034de76e31SBill Fenner printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 4044de76e31SBill Fenner #endif 4054de76e31SBill Fenner #endif 4064de76e31SBill Fenner exit (-1); 4074de76e31SBill Fenner } 4084de76e31SBill FennerEOF 409685295f4SBill Fenner $CC_FOR_BUILD $dummy.c -o $dummy \ 410685295f4SBill Fenner && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ 411a90e161bSBill Fenner && rm -f $dummy.c $dummy && exit 0 412685295f4SBill Fenner rm -f $dummy.c $dummy 4134edb46e9SPaul Traina echo mips-mips-riscos${UNAME_RELEASE} 4144edb46e9SPaul Traina exit 0 ;; 415a90e161bSBill Fenner Motorola:PowerMAX_OS:*:*) 416a90e161bSBill Fenner echo powerpc-motorola-powermax 417a90e161bSBill Fenner exit 0 ;; 4184edb46e9SPaul Traina Night_Hawk:Power_UNIX:*:*) 4194edb46e9SPaul Traina echo powerpc-harris-powerunix 4204edb46e9SPaul Traina exit 0 ;; 4214edb46e9SPaul Traina m88k:CX/UX:7*:*) 4224edb46e9SPaul Traina echo m88k-harris-cxux7 4234edb46e9SPaul Traina exit 0 ;; 4244edb46e9SPaul Traina m88k:*:4*:R4*) 4254edb46e9SPaul Traina echo m88k-motorola-sysv4 4264edb46e9SPaul Traina exit 0 ;; 4274edb46e9SPaul Traina m88k:*:3*:R3*) 4284edb46e9SPaul Traina echo m88k-motorola-sysv3 4294edb46e9SPaul Traina exit 0 ;; 4304edb46e9SPaul Traina AViiON:dgux:*:*) 4314edb46e9SPaul Traina # DG/UX returns AViiON for all architectures 4324edb46e9SPaul Traina UNAME_PROCESSOR=`/usr/bin/uname -p` 433685295f4SBill Fenner if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 434685295f4SBill Fenner then 435685295f4SBill Fenner if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 436685295f4SBill Fenner [ ${TARGET_BINARY_INTERFACE}x = x ] 437685295f4SBill Fenner then 4384edb46e9SPaul Traina echo m88k-dg-dgux${UNAME_RELEASE} 4394edb46e9SPaul Traina else 4404edb46e9SPaul Traina echo m88k-dg-dguxbcs${UNAME_RELEASE} 4414edb46e9SPaul Traina fi 442685295f4SBill Fenner else 443685295f4SBill Fenner echo i586-dg-dgux${UNAME_RELEASE} 4444edb46e9SPaul Traina fi 4454edb46e9SPaul Traina exit 0 ;; 4464edb46e9SPaul Traina M88*:DolphinOS:*:*) # DolphinOS (SVR3) 4474edb46e9SPaul Traina echo m88k-dolphin-sysv3 4484edb46e9SPaul Traina exit 0 ;; 4494edb46e9SPaul Traina M88*:*:R3*:*) 4504edb46e9SPaul Traina # Delta 88k system running SVR3 4514edb46e9SPaul Traina echo m88k-motorola-sysv3 4524edb46e9SPaul Traina exit 0 ;; 4534edb46e9SPaul Traina XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 4544edb46e9SPaul Traina echo m88k-tektronix-sysv3 4554edb46e9SPaul Traina exit 0 ;; 4564edb46e9SPaul Traina Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 4574edb46e9SPaul Traina echo m68k-tektronix-bsd 4584edb46e9SPaul Traina exit 0 ;; 4594edb46e9SPaul Traina *:IRIX*:*:*) 4604edb46e9SPaul Traina echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 4614edb46e9SPaul Traina exit 0 ;; 4624edb46e9SPaul Traina ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 4634edb46e9SPaul Traina echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 4644edb46e9SPaul Traina exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 465a90e161bSBill Fenner i*86:AIX:*:*) 4664edb46e9SPaul Traina echo i386-ibm-aix 4674edb46e9SPaul Traina exit 0 ;; 468a90e161bSBill Fenner ia64:AIX:*:*) 469a90e161bSBill Fenner if [ -x /usr/bin/oslevel ] ; then 470a90e161bSBill Fenner IBM_REV=`/usr/bin/oslevel` 471a90e161bSBill Fenner else 472a90e161bSBill Fenner IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 473a90e161bSBill Fenner fi 474a90e161bSBill Fenner echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 475a90e161bSBill Fenner exit 0 ;; 4764edb46e9SPaul Traina *:AIX:2:3) 4774edb46e9SPaul Traina if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 478685295f4SBill Fenner sed 's/^ //' << EOF >$dummy.c 4794edb46e9SPaul Traina #include <sys/systemcfg.h> 4804edb46e9SPaul Traina 4814edb46e9SPaul Traina main() 4824edb46e9SPaul Traina { 4834edb46e9SPaul Traina if (!__power_pc()) 4844edb46e9SPaul Traina exit(1); 4854edb46e9SPaul Traina puts("powerpc-ibm-aix3.2.5"); 4864edb46e9SPaul Traina exit(0); 4874edb46e9SPaul Traina } 4884edb46e9SPaul TrainaEOF 489a90e161bSBill Fenner $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 490685295f4SBill Fenner rm -f $dummy.c $dummy 4914edb46e9SPaul Traina echo rs6000-ibm-aix3.2.5 4924edb46e9SPaul Traina elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 4934edb46e9SPaul Traina echo rs6000-ibm-aix3.2.4 4944edb46e9SPaul Traina else 4954edb46e9SPaul Traina echo rs6000-ibm-aix3.2 4964edb46e9SPaul Traina fi 4974edb46e9SPaul Traina exit 0 ;; 498a90e161bSBill Fenner *:AIX:*:[45]) 499685295f4SBill Fenner IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` 500a90e161bSBill Fenner if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 5014edb46e9SPaul Traina IBM_ARCH=rs6000 5024edb46e9SPaul Traina else 5034edb46e9SPaul Traina IBM_ARCH=powerpc 5044edb46e9SPaul Traina fi 5054edb46e9SPaul Traina if [ -x /usr/bin/oslevel ] ; then 5064edb46e9SPaul Traina IBM_REV=`/usr/bin/oslevel` 5074edb46e9SPaul Traina else 508a90e161bSBill Fenner IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5094edb46e9SPaul Traina fi 5104edb46e9SPaul Traina echo ${IBM_ARCH}-ibm-aix${IBM_REV} 5114edb46e9SPaul Traina exit 0 ;; 5124edb46e9SPaul Traina *:AIX:*:*) 5134edb46e9SPaul Traina echo rs6000-ibm-aix 5144edb46e9SPaul Traina exit 0 ;; 5154edb46e9SPaul Traina ibmrt:4.4BSD:*|romp-ibm:BSD:*) 5164edb46e9SPaul Traina echo romp-ibm-bsd4.4 5174edb46e9SPaul Traina exit 0 ;; 518685295f4SBill Fenner ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 5194edb46e9SPaul Traina echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 5204edb46e9SPaul Traina exit 0 ;; # report: romp-ibm BSD 4.3 5214edb46e9SPaul Traina *:BOSX:*:*) 5224edb46e9SPaul Traina echo rs6000-bull-bosx 5234edb46e9SPaul Traina exit 0 ;; 5244edb46e9SPaul Traina DPX/2?00:B.O.S.:*:*) 5254edb46e9SPaul Traina echo m68k-bull-sysv3 5264edb46e9SPaul Traina exit 0 ;; 5274edb46e9SPaul Traina 9000/[34]??:4.3bsd:1.*:*) 5284edb46e9SPaul Traina echo m68k-hp-bsd 5294edb46e9SPaul Traina exit 0 ;; 5304edb46e9SPaul Traina hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 5314edb46e9SPaul Traina echo m68k-hp-bsd4.4 5324edb46e9SPaul Traina exit 0 ;; 533685295f4SBill Fenner 9000/[34678]??:HP-UX:*:*) 534685295f4SBill Fenner HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 5354edb46e9SPaul Traina case "${UNAME_MACHINE}" in 5364edb46e9SPaul Traina 9000/31? ) HP_ARCH=m68000 ;; 5374edb46e9SPaul Traina 9000/[34]?? ) HP_ARCH=m68k ;; 538685295f4SBill Fenner 9000/[678][0-9][0-9]) 539685295f4SBill Fenner case "${HPUX_REV}" in 540685295f4SBill Fenner 11.[0-9][0-9]) 541685295f4SBill Fenner if [ -x /usr/bin/getconf ]; then 542685295f4SBill Fenner sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 543685295f4SBill Fenner sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 544685295f4SBill Fenner case "${sc_cpu_version}" in 545685295f4SBill Fenner 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 546685295f4SBill Fenner 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 547685295f4SBill Fenner 532) # CPU_PA_RISC2_0 548685295f4SBill Fenner case "${sc_kernel_bits}" in 549685295f4SBill Fenner 32) HP_ARCH="hppa2.0n" ;; 550685295f4SBill Fenner 64) HP_ARCH="hppa2.0w" ;; 551685295f4SBill Fenner esac ;; 5524edb46e9SPaul Traina esac 553685295f4SBill Fenner fi ;; 554685295f4SBill Fenner esac 555685295f4SBill Fenner if [ "${HP_ARCH}" = "" ]; then 556685295f4SBill Fenner sed 's/^ //' << EOF >$dummy.c 557685295f4SBill Fenner 558685295f4SBill Fenner #define _HPUX_SOURCE 559685295f4SBill Fenner #include <stdlib.h> 560685295f4SBill Fenner #include <unistd.h> 561685295f4SBill Fenner 562685295f4SBill Fenner int main () 563685295f4SBill Fenner { 564685295f4SBill Fenner #if defined(_SC_KERNEL_BITS) 565685295f4SBill Fenner long bits = sysconf(_SC_KERNEL_BITS); 566685295f4SBill Fenner #endif 567685295f4SBill Fenner long cpu = sysconf (_SC_CPU_VERSION); 568685295f4SBill Fenner 569685295f4SBill Fenner switch (cpu) 570685295f4SBill Fenner { 571685295f4SBill Fenner case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 572685295f4SBill Fenner case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 573685295f4SBill Fenner case CPU_PA_RISC2_0: 574685295f4SBill Fenner #if defined(_SC_KERNEL_BITS) 575685295f4SBill Fenner switch (bits) 576685295f4SBill Fenner { 577685295f4SBill Fenner case 64: puts ("hppa2.0w"); break; 578685295f4SBill Fenner case 32: puts ("hppa2.0n"); break; 579685295f4SBill Fenner default: puts ("hppa2.0"); break; 580685295f4SBill Fenner } break; 581685295f4SBill Fenner #else /* !defined(_SC_KERNEL_BITS) */ 582685295f4SBill Fenner puts ("hppa2.0"); break; 583685295f4SBill Fenner #endif 584685295f4SBill Fenner default: puts ("hppa1.0"); break; 585685295f4SBill Fenner } 586685295f4SBill Fenner exit (0); 587685295f4SBill Fenner } 588685295f4SBill FennerEOF 589685295f4SBill Fenner (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` 590685295f4SBill Fenner if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi 591685295f4SBill Fenner rm -f $dummy.c $dummy 592685295f4SBill Fenner fi ;; 593685295f4SBill Fenner esac 5944edb46e9SPaul Traina echo ${HP_ARCH}-hp-hpux${HPUX_REV} 5954edb46e9SPaul Traina exit 0 ;; 596a90e161bSBill Fenner ia64:HP-UX:*:*) 597a90e161bSBill Fenner HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 598a90e161bSBill Fenner echo ia64-hp-hpux${HPUX_REV} 599a90e161bSBill Fenner exit 0 ;; 6004edb46e9SPaul Traina 3050*:HI-UX:*:*) 601685295f4SBill Fenner sed 's/^ //' << EOF >$dummy.c 6024edb46e9SPaul Traina #include <unistd.h> 6034edb46e9SPaul Traina int 6044edb46e9SPaul Traina main () 6054edb46e9SPaul Traina { 6064edb46e9SPaul Traina long cpu = sysconf (_SC_CPU_VERSION); 6074edb46e9SPaul Traina /* The order matters, because CPU_IS_HP_MC68K erroneously returns 6084edb46e9SPaul Traina true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 6094edb46e9SPaul Traina results, however. */ 6104edb46e9SPaul Traina if (CPU_IS_PA_RISC (cpu)) 6114edb46e9SPaul Traina { 6124edb46e9SPaul Traina switch (cpu) 6134edb46e9SPaul Traina { 6144edb46e9SPaul Traina case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 6154edb46e9SPaul Traina case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 6164edb46e9SPaul Traina case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 6174edb46e9SPaul Traina default: puts ("hppa-hitachi-hiuxwe2"); break; 6184edb46e9SPaul Traina } 6194edb46e9SPaul Traina } 6204edb46e9SPaul Traina else if (CPU_IS_HP_MC68K (cpu)) 6214edb46e9SPaul Traina puts ("m68k-hitachi-hiuxwe2"); 6224edb46e9SPaul Traina else puts ("unknown-hitachi-hiuxwe2"); 6234edb46e9SPaul Traina exit (0); 6244edb46e9SPaul Traina } 6254edb46e9SPaul TrainaEOF 626a90e161bSBill Fenner $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 627685295f4SBill Fenner rm -f $dummy.c $dummy 6284edb46e9SPaul Traina echo unknown-hitachi-hiuxwe2 6294edb46e9SPaul Traina exit 0 ;; 6304edb46e9SPaul Traina 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 6314edb46e9SPaul Traina echo hppa1.1-hp-bsd 6324edb46e9SPaul Traina exit 0 ;; 6334edb46e9SPaul Traina 9000/8??:4.3bsd:*:*) 6344edb46e9SPaul Traina echo hppa1.0-hp-bsd 6354edb46e9SPaul Traina exit 0 ;; 636685295f4SBill Fenner *9??*:MPE/iX:*:*) 637685295f4SBill Fenner echo hppa1.0-hp-mpeix 638685295f4SBill Fenner exit 0 ;; 6394edb46e9SPaul Traina hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 6404edb46e9SPaul Traina echo hppa1.1-hp-osf 6414edb46e9SPaul Traina exit 0 ;; 6424edb46e9SPaul Traina hp8??:OSF1:*:*) 6434edb46e9SPaul Traina echo hppa1.0-hp-osf 6444edb46e9SPaul Traina exit 0 ;; 645a90e161bSBill Fenner i*86:OSF1:*:*) 6464de76e31SBill Fenner if [ -x /usr/sbin/sysversion ] ; then 6474de76e31SBill Fenner echo ${UNAME_MACHINE}-unknown-osf1mk 6484de76e31SBill Fenner else 6494de76e31SBill Fenner echo ${UNAME_MACHINE}-unknown-osf1 6504de76e31SBill Fenner fi 6514de76e31SBill Fenner exit 0 ;; 6524edb46e9SPaul Traina parisc*:Lites*:*:*) 6534edb46e9SPaul Traina echo hppa1.1-hp-lites 6544edb46e9SPaul Traina exit 0 ;; 655685295f4SBill Fenner hppa*:OpenBSD:*:*) 656685295f4SBill Fenner echo hppa-unknown-openbsd 657685295f4SBill Fenner exit 0 ;; 6584edb46e9SPaul Traina C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 6594edb46e9SPaul Traina echo c1-convex-bsd 6604edb46e9SPaul Traina exit 0 ;; 6614edb46e9SPaul Traina C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 6624edb46e9SPaul Traina if getsysinfo -f scalar_acc 6634edb46e9SPaul Traina then echo c32-convex-bsd 6644edb46e9SPaul Traina else echo c2-convex-bsd 6654edb46e9SPaul Traina fi 6664edb46e9SPaul Traina exit 0 ;; 6674edb46e9SPaul Traina C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 6684edb46e9SPaul Traina echo c34-convex-bsd 6694edb46e9SPaul Traina exit 0 ;; 6704edb46e9SPaul Traina C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 6714edb46e9SPaul Traina echo c38-convex-bsd 6724edb46e9SPaul Traina exit 0 ;; 6734edb46e9SPaul Traina C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 6744edb46e9SPaul Traina echo c4-convex-bsd 6754edb46e9SPaul Traina exit 0 ;; 6764edb46e9SPaul Traina CRAY*X-MP:*:*:*) 6774edb46e9SPaul Traina echo xmp-cray-unicos 6784edb46e9SPaul Traina exit 0 ;; 6794edb46e9SPaul Traina CRAY*Y-MP:*:*:*) 6804edb46e9SPaul Traina echo ymp-cray-unicos${UNAME_RELEASE} 6814edb46e9SPaul Traina exit 0 ;; 6824de76e31SBill Fenner CRAY*[A-Z]90:*:*:*) 6834de76e31SBill Fenner echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 6844de76e31SBill Fenner | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 6854de76e31SBill Fenner -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ 6864de76e31SBill Fenner exit 0 ;; 6874de76e31SBill Fenner CRAY*TS:*:*:*) 688685295f4SBill Fenner echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 689685295f4SBill Fenner exit 0 ;; 690685295f4SBill Fenner CRAY*T3D:*:*:*) 691685295f4SBill Fenner echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 692685295f4SBill Fenner exit 0 ;; 693685295f4SBill Fenner CRAY*T3E:*:*:*) 694685295f4SBill Fenner echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 695685295f4SBill Fenner exit 0 ;; 696685295f4SBill Fenner CRAY*SV1:*:*:*) 697685295f4SBill Fenner echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 6984edb46e9SPaul Traina exit 0 ;; 6994edb46e9SPaul Traina CRAY-2:*:*:*) 7004edb46e9SPaul Traina echo cray2-cray-unicos 7014edb46e9SPaul Traina exit 0 ;; 702a90e161bSBill Fenner F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 703a90e161bSBill Fenner FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 704685295f4SBill Fenner FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 7054de76e31SBill Fenner FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 706a90e161bSBill Fenner echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 7074de76e31SBill Fenner exit 0 ;; 708685295f4SBill Fenner hp300:OpenBSD:*:*) 709685295f4SBill Fenner echo m68k-unknown-openbsd${UNAME_RELEASE} 7104edb46e9SPaul Traina exit 0 ;; 711a90e161bSBill Fenner i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 7124de76e31SBill Fenner echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 7134edb46e9SPaul Traina exit 0 ;; 714685295f4SBill Fenner sparc*:BSD/OS:*:*) 715685295f4SBill Fenner echo sparc-unknown-bsdi${UNAME_RELEASE} 716685295f4SBill Fenner exit 0 ;; 717685295f4SBill Fenner *:BSD/OS:*:*) 718685295f4SBill Fenner echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 719685295f4SBill Fenner exit 0 ;; 7204edb46e9SPaul Traina *:FreeBSD:*:*) 7214edb46e9SPaul Traina echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 7224edb46e9SPaul Traina exit 0 ;; 7234de76e31SBill Fenner *:OpenBSD:*:*) 7244de76e31SBill Fenner echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 7254de76e31SBill Fenner exit 0 ;; 7264edb46e9SPaul Traina i*:CYGWIN*:*) 727685295f4SBill Fenner echo ${UNAME_MACHINE}-pc-cygwin 728685295f4SBill Fenner exit 0 ;; 729685295f4SBill Fenner i*:MINGW*:*) 730685295f4SBill Fenner echo ${UNAME_MACHINE}-pc-mingw32 731685295f4SBill Fenner exit 0 ;; 732685295f4SBill Fenner i*:PW*:*) 733685295f4SBill Fenner echo ${UNAME_MACHINE}-pc-pw32 734685295f4SBill Fenner exit 0 ;; 735685295f4SBill Fenner i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 736685295f4SBill Fenner # How do we know it's Interix rather than the generic POSIX subsystem? 737685295f4SBill Fenner # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 738685295f4SBill Fenner # UNAME_MACHINE based on the output of uname instead of i386? 739685295f4SBill Fenner echo i386-pc-interix 740685295f4SBill Fenner exit 0 ;; 741685295f4SBill Fenner i*:UWIN*:*) 742685295f4SBill Fenner echo ${UNAME_MACHINE}-pc-uwin 7434edb46e9SPaul Traina exit 0 ;; 7444edb46e9SPaul Traina p*:CYGWIN*:*) 745685295f4SBill Fenner echo powerpcle-unknown-cygwin 7464edb46e9SPaul Traina exit 0 ;; 7474edb46e9SPaul Traina prep*:SunOS:5.*:*) 7484edb46e9SPaul Traina echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 7494edb46e9SPaul Traina exit 0 ;; 7504edb46e9SPaul Traina *:GNU:*:*) 751685295f4SBill Fenner echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 752685295f4SBill Fenner exit 0 ;; 753685295f4SBill Fenner i*86:Minix:*:*) 754685295f4SBill Fenner echo ${UNAME_MACHINE}-pc-minix 7554edb46e9SPaul Traina exit 0 ;; 756a90e161bSBill Fenner arm*:Linux:*:*) 757a90e161bSBill Fenner echo ${UNAME_MACHINE}-unknown-linux-gnu 758a90e161bSBill Fenner exit 0 ;; 759a90e161bSBill Fenner ia64:Linux:*:*) 760a90e161bSBill Fenner echo ${UNAME_MACHINE}-unknown-linux 761a90e161bSBill Fenner exit 0 ;; 762a90e161bSBill Fenner m68*:Linux:*:*) 763a90e161bSBill Fenner echo ${UNAME_MACHINE}-unknown-linux-gnu 764a90e161bSBill Fenner exit 0 ;; 765a90e161bSBill Fenner mips:Linux:*:*) 766a90e161bSBill Fenner cat >$dummy.c <<EOF 767a90e161bSBill Fenner#ifdef __cplusplus 768a90e161bSBill Fenner#include <stdio.h> /* for printf() prototype */ 769a90e161bSBill Fennerint main (int argc, char *argv[]) { 770a90e161bSBill Fenner#else 771a90e161bSBill Fennerint main (argc, argv) int argc; char *argv[]; { 772a90e161bSBill Fenner#endif 773a90e161bSBill Fenner#ifdef __MIPSEB__ 774a90e161bSBill Fenner printf ("%s-unknown-linux-gnu\n", argv[1]); 775a90e161bSBill Fenner#endif 776a90e161bSBill Fenner#ifdef __MIPSEL__ 777a90e161bSBill Fenner printf ("%sel-unknown-linux-gnu\n", argv[1]); 778a90e161bSBill Fenner#endif 779a90e161bSBill Fenner return 0; 780a90e161bSBill Fenner} 781a90e161bSBill FennerEOF 782a90e161bSBill Fenner $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 783a90e161bSBill Fenner rm -f $dummy.c $dummy 784685295f4SBill Fenner ;; 785a90e161bSBill Fenner ppc:Linux:*:*) 786685295f4SBill Fenner # Determine Lib Version 787685295f4SBill Fenner cat >$dummy.c <<EOF 788685295f4SBill Fenner#include <features.h> 789685295f4SBill Fenner#if defined(__GLIBC__) 790685295f4SBill Fennerextern char __libc_version[]; 791685295f4SBill Fennerextern char __libc_release[]; 792685295f4SBill Fenner#endif 7934edb46e9SPaul Trainamain(argc, argv) 7944edb46e9SPaul Traina int argc; 7954edb46e9SPaul Traina char *argv[]; 7964edb46e9SPaul Traina{ 797685295f4SBill Fenner#if defined(__GLIBC__) 798685295f4SBill Fenner printf("%s %s\n", __libc_version, __libc_release); 7994edb46e9SPaul Traina#else 800a90e161bSBill Fenner printf("unknown\n"); 8014edb46e9SPaul Traina#endif 8024edb46e9SPaul Traina return 0; 8034edb46e9SPaul Traina} 8044edb46e9SPaul TrainaEOF 805685295f4SBill Fenner LIBC="" 806685295f4SBill Fenner $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null 807685295f4SBill Fenner if test "$?" = 0 ; then 808685295f4SBill Fenner ./$dummy | grep 1\.99 > /dev/null 809a90e161bSBill Fenner if test "$?" = 0 ; then LIBC="libc1" ; fi 810685295f4SBill Fenner fi 811685295f4SBill Fenner rm -f $dummy.c $dummy 812685295f4SBill Fenner echo powerpc-unknown-linux-gnu${LIBC} 813a90e161bSBill Fenner exit 0 ;; 814a90e161bSBill Fenner alpha:Linux:*:*) 815685295f4SBill Fenner cat <<EOF >$dummy.s 816685295f4SBill Fenner .data 817685295f4SBill Fenner \$Lformat: 818685295f4SBill Fenner .byte 37,100,45,37,120,10,0 # "%d-%x\n" 819685295f4SBill Fenner .text 820685295f4SBill Fenner .globl main 821685295f4SBill Fenner .align 4 822685295f4SBill Fenner .ent main 823685295f4SBill Fenner main: 824685295f4SBill Fenner .frame \$30,16,\$26,0 825685295f4SBill Fenner ldgp \$29,0(\$27) 826685295f4SBill Fenner .prologue 1 827685295f4SBill Fenner .long 0x47e03d80 # implver \$0 828685295f4SBill Fenner lda \$2,-1 829685295f4SBill Fenner .long 0x47e20c21 # amask \$2,\$1 830685295f4SBill Fenner lda \$16,\$Lformat 831685295f4SBill Fenner mov \$0,\$17 832685295f4SBill Fenner not \$1,\$18 833685295f4SBill Fenner jsr \$26,printf 834685295f4SBill Fenner ldgp \$29,0(\$26) 835685295f4SBill Fenner mov 0,\$16 836685295f4SBill Fenner jsr \$26,exit 837685295f4SBill Fenner .end main 838685295f4SBill FennerEOF 839685295f4SBill Fenner LIBC="" 840685295f4SBill Fenner $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null 841685295f4SBill Fenner if test "$?" = 0 ; then 842685295f4SBill Fenner case `./$dummy` in 843a90e161bSBill Fenner 0-0) UNAME_MACHINE="alpha" ;; 844a90e161bSBill Fenner 1-0) UNAME_MACHINE="alphaev5" ;; 845a90e161bSBill Fenner 1-1) UNAME_MACHINE="alphaev56" ;; 846a90e161bSBill Fenner 1-101) UNAME_MACHINE="alphapca56" ;; 847a90e161bSBill Fenner 2-303) UNAME_MACHINE="alphaev6" ;; 848a90e161bSBill Fenner 2-307) UNAME_MACHINE="alphaev67" ;; 849685295f4SBill Fenner esac 850685295f4SBill Fenner objdump --private-headers $dummy | \ 851685295f4SBill Fenner grep ld.so.1 > /dev/null 852685295f4SBill Fenner if test "$?" = 0 ; then 853685295f4SBill Fenner LIBC="libc1" 854685295f4SBill Fenner fi 855685295f4SBill Fenner fi 856685295f4SBill Fenner rm -f $dummy.s $dummy 857a90e161bSBill Fenner echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 858a90e161bSBill Fenner exit 0 ;; 859a90e161bSBill Fenner parisc:Linux:*:* | hppa:Linux:*:*) 860685295f4SBill Fenner # Look for CPU level 861685295f4SBill Fenner case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 862a90e161bSBill Fenner PA7*) echo hppa1.1-unknown-linux-gnu ;; 863a90e161bSBill Fenner PA8*) echo hppa2.0-unknown-linux-gnu ;; 864a90e161bSBill Fenner *) echo hppa-unknown-linux-gnu ;; 865a90e161bSBill Fenner esac 866a90e161bSBill Fenner exit 0 ;; 867a90e161bSBill Fenner parisc64:Linux:*:* | hppa64:Linux:*:*) 868a90e161bSBill Fenner echo hppa64-unknown-linux-gnu 869a90e161bSBill Fenner exit 0 ;; 870a90e161bSBill Fenner s390:Linux:*:* | s390x:Linux:*:*) 871a90e161bSBill Fenner echo ${UNAME_MACHINE}-ibm-linux 872a90e161bSBill Fenner exit 0 ;; 873a90e161bSBill Fenner sh*:Linux:*:*) 874a90e161bSBill Fenner echo ${UNAME_MACHINE}-unknown-linux-gnu 875a90e161bSBill Fenner exit 0 ;; 876a90e161bSBill Fenner sparc:Linux:*:* | sparc64:Linux:*:*) 877a90e161bSBill Fenner echo ${UNAME_MACHINE}-unknown-linux-gnu 878a90e161bSBill Fenner exit 0 ;; 879a90e161bSBill Fenner x86_64:Linux:*:*) 880a90e161bSBill Fenner echo x86_64-unknown-linux-gnu 881a90e161bSBill Fenner exit 0 ;; 882a90e161bSBill Fenner i*86:Linux:*:*) 883a90e161bSBill Fenner # The BFD linker knows what the default object file format is, so 884a90e161bSBill Fenner # first see if it will tell us. cd to the root directory to prevent 885a90e161bSBill Fenner # problems with other programs or directories called `ld' in the path. 886a90e161bSBill Fenner ld_supported_emulations=`cd /; ld --help 2>&1 \ 887a90e161bSBill Fenner | sed -ne '/supported emulations:/!d 888a90e161bSBill Fenner s/[ ][ ]*/ /g 889a90e161bSBill Fenner s/.*supported emulations: *// 890a90e161bSBill Fenner s/ .*// 891a90e161bSBill Fenner p'` 892a90e161bSBill Fenner case "$ld_supported_emulations" in 893a90e161bSBill Fenner i*86linux) 894a90e161bSBill Fenner echo "${UNAME_MACHINE}-pc-linux-gnuaout" 895a90e161bSBill Fenner exit 0 896685295f4SBill Fenner ;; 897a90e161bSBill Fenner elf_i*86) 898a90e161bSBill Fenner TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 899685295f4SBill Fenner ;; 900a90e161bSBill Fenner i*86coff) 901a90e161bSBill Fenner echo "${UNAME_MACHINE}-pc-linux-gnucoff" 902a90e161bSBill Fenner exit 0 903685295f4SBill Fenner ;; 904685295f4SBill Fenner esac 905685295f4SBill Fenner # Either a pre-BFD a.out linker (linux-gnuoldld) 906685295f4SBill Fenner # or one that does not give us useful --help. 907685295f4SBill Fenner # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout. 908685295f4SBill Fenner # If ld does not provide *any* "supported emulations:" 909685295f4SBill Fenner # that means it is gnuoldld. 910a90e161bSBill Fenner test -z "$ld_supported_emulations" && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 911685295f4SBill Fenner case "${UNAME_MACHINE}" in 912a90e161bSBill Fenner i*86) 913685295f4SBill Fenner VENDOR=pc; 914685295f4SBill Fenner ;; 915685295f4SBill Fenner *) 916685295f4SBill Fenner VENDOR=unknown; 917685295f4SBill Fenner ;; 918685295f4SBill Fenner esac 919685295f4SBill Fenner # Determine whether the default compiler is a.out or elf 920685295f4SBill Fenner cat >$dummy.c <<EOF 921685295f4SBill Fenner#include <features.h> 922685295f4SBill Fenner#ifdef __cplusplus 923685295f4SBill Fenner#include <stdio.h> /* for printf() prototype */ 924685295f4SBill Fenner int main (int argc, char *argv[]) { 925685295f4SBill Fenner#else 926685295f4SBill Fenner int main (argc, argv) int argc; char *argv[]; { 927685295f4SBill Fenner#endif 928685295f4SBill Fenner#ifdef __ELF__ 929685295f4SBill Fenner# ifdef __GLIBC__ 930685295f4SBill Fenner# if __GLIBC__ >= 2 931685295f4SBill Fenner printf ("%s-${VENDOR}-linux-gnu\n", argv[1]); 932685295f4SBill Fenner# else 933685295f4SBill Fenner printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); 934685295f4SBill Fenner# endif 935685295f4SBill Fenner# else 936685295f4SBill Fenner printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); 937685295f4SBill Fenner# endif 938685295f4SBill Fenner#else 939685295f4SBill Fenner printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]); 940685295f4SBill Fenner#endif 941685295f4SBill Fenner return 0; 942685295f4SBill Fenner} 943685295f4SBill FennerEOF 944a90e161bSBill Fenner $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 945685295f4SBill Fenner rm -f $dummy.c $dummy 946685295f4SBill Fenner test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 947a90e161bSBill Fenner ;; 9484edb46e9SPaul Traina# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions 9494edb46e9SPaul Traina# are messed up and put the nodename in both sysname and nodename. 950a90e161bSBill Fenner i*86:DYNIX/ptx:4*:*) 9514edb46e9SPaul Traina echo i386-sequent-sysv4 9524edb46e9SPaul Traina exit 0 ;; 953a90e161bSBill Fenner i*86:UNIX_SV:4.2MP:2.*) 954685295f4SBill Fenner # Unixware is an offshoot of SVR4, but it has its own version 955685295f4SBill Fenner # number series starting with 2... 956685295f4SBill Fenner # I am not positive that other SVR4 systems won't match this, 957685295f4SBill Fenner # I just have to hope. -- rms. 958685295f4SBill Fenner # Use sysv4.2uw... so that sysv4* matches it. 959685295f4SBill Fenner echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 960685295f4SBill Fenner exit 0 ;; 961a90e161bSBill Fenner i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 962685295f4SBill Fenner UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 9634edb46e9SPaul Traina if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 964685295f4SBill Fenner echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 965685295f4SBill Fenner else 966685295f4SBill Fenner echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 967685295f4SBill Fenner fi 968685295f4SBill Fenner exit 0 ;; 969a90e161bSBill Fenner i*86:*:5:7*) 970685295f4SBill Fenner # Fixed at (any) Pentium or better 971685295f4SBill Fenner UNAME_MACHINE=i586 972685295f4SBill Fenner if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then 973685295f4SBill Fenner echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION} 9744edb46e9SPaul Traina else 9754de76e31SBill Fenner echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} 9764edb46e9SPaul Traina fi 9774edb46e9SPaul Traina exit 0 ;; 978a90e161bSBill Fenner i*86:*:3.2:*) 9794edb46e9SPaul Traina if test -f /usr/options/cb.name; then 9804edb46e9SPaul Traina UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 9814de76e31SBill Fenner echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 9824edb46e9SPaul Traina elif /bin/uname -X 2>/dev/null >/dev/null ; then 9834edb46e9SPaul Traina UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` 9844edb46e9SPaul Traina (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 9854edb46e9SPaul Traina (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ 9864edb46e9SPaul Traina && UNAME_MACHINE=i586 987685295f4SBill Fenner (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ 988685295f4SBill Fenner && UNAME_MACHINE=i686 989685295f4SBill Fenner (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ 990685295f4SBill Fenner && UNAME_MACHINE=i686 9914de76e31SBill Fenner echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 9924edb46e9SPaul Traina else 9934de76e31SBill Fenner echo ${UNAME_MACHINE}-pc-sysv32 9944edb46e9SPaul Traina fi 9954edb46e9SPaul Traina exit 0 ;; 996a90e161bSBill Fenner i*86:*DOS:*:*) 997685295f4SBill Fenner echo ${UNAME_MACHINE}-pc-msdosdjgpp 998685295f4SBill Fenner exit 0 ;; 999685295f4SBill Fenner pc:*:*:*) 1000685295f4SBill Fenner # Left here for compatibility: 1001685295f4SBill Fenner # uname -m prints for DJGPP always 'pc', but it prints nothing about 1002685295f4SBill Fenner # the processor, so we play safe by assuming i386. 1003685295f4SBill Fenner echo i386-pc-msdosdjgpp 1004685295f4SBill Fenner exit 0 ;; 10054edb46e9SPaul Traina Intel:Mach:3*:*) 10064de76e31SBill Fenner echo i386-pc-mach3 10074edb46e9SPaul Traina exit 0 ;; 10084edb46e9SPaul Traina paragon:*:*:*) 10094edb46e9SPaul Traina echo i860-intel-osf1 10104edb46e9SPaul Traina exit 0 ;; 10114edb46e9SPaul Traina i860:*:4.*:*) # i860-SVR4 10124edb46e9SPaul Traina if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 10134edb46e9SPaul Traina echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 10144edb46e9SPaul Traina else # Add other i860-SVR4 vendors below as they are discovered. 10154edb46e9SPaul Traina echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 10164edb46e9SPaul Traina fi 10174edb46e9SPaul Traina exit 0 ;; 10184edb46e9SPaul Traina mini*:CTIX:SYS*5:*) 10194edb46e9SPaul Traina # "miniframe" 10204edb46e9SPaul Traina echo m68010-convergent-sysv 10214edb46e9SPaul Traina exit 0 ;; 10224de76e31SBill Fenner M68*:*:R3V[567]*:*) 10234edb46e9SPaul Traina test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 1024685295f4SBill Fenner 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) 10254de76e31SBill Fenner OS_REL='' 10264de76e31SBill Fenner test -r /etc/.relid \ 10274de76e31SBill Fenner && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 10284de76e31SBill Fenner /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 10294de76e31SBill Fenner && echo i486-ncr-sysv4.3${OS_REL} && exit 0 10304de76e31SBill Fenner /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 10314de76e31SBill Fenner && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 10324edb46e9SPaul Traina 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 10334de76e31SBill Fenner /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 10344edb46e9SPaul Traina && echo i486-ncr-sysv4 && exit 0 ;; 1035a90e161bSBill Fenner m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 10364de76e31SBill Fenner echo m68k-unknown-lynxos${UNAME_RELEASE} 10374edb46e9SPaul Traina exit 0 ;; 10384edb46e9SPaul Traina mc68030:UNIX_System_V:4.*:*) 10394edb46e9SPaul Traina echo m68k-atari-sysv4 10404edb46e9SPaul Traina exit 0 ;; 1041a90e161bSBill Fenner i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 10424de76e31SBill Fenner echo i386-unknown-lynxos${UNAME_RELEASE} 10434edb46e9SPaul Traina exit 0 ;; 10444de76e31SBill Fenner TSUNAMI:LynxOS:2.*:*) 10454de76e31SBill Fenner echo sparc-unknown-lynxos${UNAME_RELEASE} 10464edb46e9SPaul Traina exit 0 ;; 1047a90e161bSBill Fenner rs6000:LynxOS:2.*:*) 10484de76e31SBill Fenner echo rs6000-unknown-lynxos${UNAME_RELEASE} 10494de76e31SBill Fenner exit 0 ;; 1050a90e161bSBill Fenner PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 1051a90e161bSBill Fenner echo powerpc-unknown-lynxos${UNAME_RELEASE} 1052a90e161bSBill Fenner exit 0 ;; 10534de76e31SBill Fenner SM[BE]S:UNIX_SV:*:*) 10544de76e31SBill Fenner echo mips-dde-sysv${UNAME_RELEASE} 10554edb46e9SPaul Traina exit 0 ;; 1056685295f4SBill Fenner RM*:ReliantUNIX-*:*:*) 1057685295f4SBill Fenner echo mips-sni-sysv4 1058685295f4SBill Fenner exit 0 ;; 10594edb46e9SPaul Traina RM*:SINIX-*:*:*) 10604edb46e9SPaul Traina echo mips-sni-sysv4 10614edb46e9SPaul Traina exit 0 ;; 10624edb46e9SPaul Traina *:SINIX-*:*:*) 10634edb46e9SPaul Traina if uname -p 2>/dev/null >/dev/null ; then 10644edb46e9SPaul Traina UNAME_MACHINE=`(uname -p) 2>/dev/null` 10654edb46e9SPaul Traina echo ${UNAME_MACHINE}-sni-sysv4 10664edb46e9SPaul Traina else 10674edb46e9SPaul Traina echo ns32k-sni-sysv 10684edb46e9SPaul Traina fi 10694edb46e9SPaul Traina exit 0 ;; 1070685295f4SBill Fenner PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1071685295f4SBill Fenner # says <Richard.M.Bartel@ccMail.Census.GOV> 1072685295f4SBill Fenner echo i586-unisys-sysv4 1073685295f4SBill Fenner exit 0 ;; 10744de76e31SBill Fenner *:UNIX_System_V:4*:FTX*) 10754de76e31SBill Fenner # From Gerald Hewes <hewes@openmarket.com>. 10764de76e31SBill Fenner # How about differentiating between stratus architectures? -djm 10774de76e31SBill Fenner echo hppa1.1-stratus-sysv4 10784de76e31SBill Fenner exit 0 ;; 10794de76e31SBill Fenner *:*:*:FTX*) 10804de76e31SBill Fenner # From seanf@swdc.stratus.com. 10814de76e31SBill Fenner echo i860-stratus-sysv4 10824de76e31SBill Fenner exit 0 ;; 10834edb46e9SPaul Traina mc68*:A/UX:*:*) 10844edb46e9SPaul Traina echo m68k-apple-aux${UNAME_RELEASE} 10854edb46e9SPaul Traina exit 0 ;; 1086685295f4SBill Fenner news*:NEWS-OS:6*:*) 1087685295f4SBill Fenner echo mips-sony-newsos6 1088685295f4SBill Fenner exit 0 ;; 1089685295f4SBill Fenner R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 10904edb46e9SPaul Traina if [ -d /usr/nec ]; then 10914edb46e9SPaul Traina echo mips-nec-sysv${UNAME_RELEASE} 10924edb46e9SPaul Traina else 10934edb46e9SPaul Traina echo mips-unknown-sysv${UNAME_RELEASE} 10944edb46e9SPaul Traina fi 10954edb46e9SPaul Traina exit 0 ;; 1096685295f4SBill Fenner BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1097685295f4SBill Fenner echo powerpc-be-beos 1098685295f4SBill Fenner exit 0 ;; 1099685295f4SBill Fenner BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1100685295f4SBill Fenner echo powerpc-apple-beos 1101685295f4SBill Fenner exit 0 ;; 1102685295f4SBill Fenner BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1103685295f4SBill Fenner echo i586-pc-beos 1104685295f4SBill Fenner exit 0 ;; 1105685295f4SBill Fenner SX-4:SUPER-UX:*:*) 1106685295f4SBill Fenner echo sx4-nec-superux${UNAME_RELEASE} 1107685295f4SBill Fenner exit 0 ;; 1108685295f4SBill Fenner SX-5:SUPER-UX:*:*) 1109685295f4SBill Fenner echo sx5-nec-superux${UNAME_RELEASE} 1110685295f4SBill Fenner exit 0 ;; 1111685295f4SBill Fenner Power*:Rhapsody:*:*) 1112685295f4SBill Fenner echo powerpc-apple-rhapsody${UNAME_RELEASE} 1113685295f4SBill Fenner exit 0 ;; 1114685295f4SBill Fenner *:Rhapsody:*:*) 1115685295f4SBill Fenner echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1116685295f4SBill Fenner exit 0 ;; 1117685295f4SBill Fenner *:Darwin:*:*) 1118685295f4SBill Fenner echo `uname -p`-apple-darwin${UNAME_RELEASE} 1119685295f4SBill Fenner exit 0 ;; 1120685295f4SBill Fenner *:procnto*:*:* | *:QNX:[0123456789]*:*) 1121685295f4SBill Fenner if test "${UNAME_MACHINE}" = "x86pc"; then 1122685295f4SBill Fenner UNAME_MACHINE=pc 1123685295f4SBill Fenner fi 1124685295f4SBill Fenner echo `uname -p`-${UNAME_MACHINE}-nto-qnx 1125685295f4SBill Fenner exit 0 ;; 1126685295f4SBill Fenner *:QNX:*:4*) 1127685295f4SBill Fenner echo i386-pc-qnx 1128685295f4SBill Fenner exit 0 ;; 1129685295f4SBill Fenner NSR-[KW]:NONSTOP_KERNEL:*:*) 1130685295f4SBill Fenner echo nsr-tandem-nsk${UNAME_RELEASE} 1131685295f4SBill Fenner exit 0 ;; 1132685295f4SBill Fenner *:NonStop-UX:*:*) 1133685295f4SBill Fenner echo mips-compaq-nonstopux 1134685295f4SBill Fenner exit 0 ;; 1135685295f4SBill Fenner BS2000:POSIX*:*:*) 1136685295f4SBill Fenner echo bs2000-siemens-sysv 1137685295f4SBill Fenner exit 0 ;; 1138685295f4SBill Fenner DS/*:UNIX_System_V:*:*) 1139685295f4SBill Fenner echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1140685295f4SBill Fenner exit 0 ;; 1141685295f4SBill Fenner *:Plan9:*:*) 1142685295f4SBill Fenner # "uname -m" is not consistent, so use $cputype instead. 386 1143685295f4SBill Fenner # is converted to i386 for consistency with other x86 1144685295f4SBill Fenner # operating systems. 1145685295f4SBill Fenner if test "$cputype" = "386"; then 1146685295f4SBill Fenner UNAME_MACHINE=i386 1147685295f4SBill Fenner else 1148685295f4SBill Fenner UNAME_MACHINE="$cputype" 1149685295f4SBill Fenner fi 1150685295f4SBill Fenner echo ${UNAME_MACHINE}-unknown-plan9 1151685295f4SBill Fenner exit 0 ;; 1152a90e161bSBill Fenner i*86:OS/2:*:*) 1153685295f4SBill Fenner # If we were able to find `uname', then EMX Unix compatibility 1154685295f4SBill Fenner # is probably installed. 1155685295f4SBill Fenner echo ${UNAME_MACHINE}-pc-os2-emx 11564de76e31SBill Fenner exit 0 ;; 1157a90e161bSBill Fenner *:TOPS-10:*:*) 1158a90e161bSBill Fenner echo pdp10-unknown-tops10 1159a90e161bSBill Fenner exit 0 ;; 1160a90e161bSBill Fenner *:TENEX:*:*) 1161a90e161bSBill Fenner echo pdp10-unknown-tenex 1162a90e161bSBill Fenner exit 0 ;; 1163a90e161bSBill Fenner KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1164a90e161bSBill Fenner echo pdp10-dec-tops20 1165a90e161bSBill Fenner exit 0 ;; 1166a90e161bSBill Fenner XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1167a90e161bSBill Fenner echo pdp10-xkl-tops20 1168a90e161bSBill Fenner exit 0 ;; 1169a90e161bSBill Fenner *:TOPS-20:*:*) 1170a90e161bSBill Fenner echo pdp10-unknown-tops20 1171a90e161bSBill Fenner exit 0 ;; 1172a90e161bSBill Fenner *:ITS:*:*) 1173a90e161bSBill Fenner echo pdp10-unknown-its 1174a90e161bSBill Fenner exit 0 ;; 11754edb46e9SPaul Trainaesac 11764edb46e9SPaul Traina 11774edb46e9SPaul Traina#echo '(No uname command or uname output not recognized.)' 1>&2 11784edb46e9SPaul Traina#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 11794edb46e9SPaul Traina 1180685295f4SBill Fennercat >$dummy.c <<EOF 11814edb46e9SPaul Traina#ifdef _SEQUENT_ 11824edb46e9SPaul Traina# include <sys/types.h> 11834edb46e9SPaul Traina# include <sys/utsname.h> 11844edb46e9SPaul Traina#endif 11854edb46e9SPaul Trainamain () 11864edb46e9SPaul Traina{ 11874edb46e9SPaul Traina#if defined (sony) 11884edb46e9SPaul Traina#if defined (MIPSEB) 11894edb46e9SPaul Traina /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 11904edb46e9SPaul Traina I don't know.... */ 11914edb46e9SPaul Traina printf ("mips-sony-bsd\n"); exit (0); 11924edb46e9SPaul Traina#else 11934edb46e9SPaul Traina#include <sys/param.h> 11944edb46e9SPaul Traina printf ("m68k-sony-newsos%s\n", 11954edb46e9SPaul Traina#ifdef NEWSOS4 11964edb46e9SPaul Traina "4" 11974edb46e9SPaul Traina#else 11984edb46e9SPaul Traina "" 11994edb46e9SPaul Traina#endif 12004edb46e9SPaul Traina ); exit (0); 12014edb46e9SPaul Traina#endif 12024edb46e9SPaul Traina#endif 12034edb46e9SPaul Traina 12044edb46e9SPaul Traina#if defined (__arm) && defined (__acorn) && defined (__unix) 12054edb46e9SPaul Traina printf ("arm-acorn-riscix"); exit (0); 12064edb46e9SPaul Traina#endif 12074edb46e9SPaul Traina 12084edb46e9SPaul Traina#if defined (hp300) && !defined (hpux) 12094edb46e9SPaul Traina printf ("m68k-hp-bsd\n"); exit (0); 12104edb46e9SPaul Traina#endif 12114edb46e9SPaul Traina 12124edb46e9SPaul Traina#if defined (NeXT) 12134edb46e9SPaul Traina#if !defined (__ARCHITECTURE__) 12144edb46e9SPaul Traina#define __ARCHITECTURE__ "m68k" 12154edb46e9SPaul Traina#endif 12164edb46e9SPaul Traina int version; 12174edb46e9SPaul Traina version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1218685295f4SBill Fenner if (version < 4) 12194de76e31SBill Fenner printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1220685295f4SBill Fenner else 1221685295f4SBill Fenner printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 12224edb46e9SPaul Traina exit (0); 12234edb46e9SPaul Traina#endif 12244edb46e9SPaul Traina 12254edb46e9SPaul Traina#if defined (MULTIMAX) || defined (n16) 12264edb46e9SPaul Traina#if defined (UMAXV) 12274edb46e9SPaul Traina printf ("ns32k-encore-sysv\n"); exit (0); 12284edb46e9SPaul Traina#else 12294edb46e9SPaul Traina#if defined (CMU) 12304edb46e9SPaul Traina printf ("ns32k-encore-mach\n"); exit (0); 12314edb46e9SPaul Traina#else 12324edb46e9SPaul Traina printf ("ns32k-encore-bsd\n"); exit (0); 12334edb46e9SPaul Traina#endif 12344edb46e9SPaul Traina#endif 12354edb46e9SPaul Traina#endif 12364edb46e9SPaul Traina 12374edb46e9SPaul Traina#if defined (__386BSD__) 12384de76e31SBill Fenner printf ("i386-pc-bsd\n"); exit (0); 12394edb46e9SPaul Traina#endif 12404edb46e9SPaul Traina 12414edb46e9SPaul Traina#if defined (sequent) 12424edb46e9SPaul Traina#if defined (i386) 12434edb46e9SPaul Traina printf ("i386-sequent-dynix\n"); exit (0); 12444edb46e9SPaul Traina#endif 12454edb46e9SPaul Traina#if defined (ns32000) 12464edb46e9SPaul Traina printf ("ns32k-sequent-dynix\n"); exit (0); 12474edb46e9SPaul Traina#endif 12484edb46e9SPaul Traina#endif 12494edb46e9SPaul Traina 12504edb46e9SPaul Traina#if defined (_SEQUENT_) 12514edb46e9SPaul Traina struct utsname un; 12524edb46e9SPaul Traina 12534edb46e9SPaul Traina uname(&un); 12544edb46e9SPaul Traina 12554edb46e9SPaul Traina if (strncmp(un.version, "V2", 2) == 0) { 12564edb46e9SPaul Traina printf ("i386-sequent-ptx2\n"); exit (0); 12574edb46e9SPaul Traina } 12584edb46e9SPaul Traina if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 12594edb46e9SPaul Traina printf ("i386-sequent-ptx1\n"); exit (0); 12604edb46e9SPaul Traina } 12614edb46e9SPaul Traina printf ("i386-sequent-ptx\n"); exit (0); 12624edb46e9SPaul Traina 12634edb46e9SPaul Traina#endif 12644edb46e9SPaul Traina 12654edb46e9SPaul Traina#if defined (vax) 12664edb46e9SPaul Traina# if !defined (ultrix) 1267a90e161bSBill Fenner# include <sys/param.h> 1268a90e161bSBill Fenner# if defined (BSD) 1269a90e161bSBill Fenner# if BSD == 43 1270a90e161bSBill Fenner printf ("vax-dec-bsd4.3\n"); exit (0); 1271a90e161bSBill Fenner# else 1272a90e161bSBill Fenner# if BSD == 199006 1273a90e161bSBill Fenner printf ("vax-dec-bsd4.3reno\n"); exit (0); 1274a90e161bSBill Fenner# else 12754edb46e9SPaul Traina printf ("vax-dec-bsd\n"); exit (0); 1276a90e161bSBill Fenner# endif 1277a90e161bSBill Fenner# endif 1278a90e161bSBill Fenner# else 1279a90e161bSBill Fenner printf ("vax-dec-bsd\n"); exit (0); 1280a90e161bSBill Fenner# endif 12814edb46e9SPaul Traina# else 12824edb46e9SPaul Traina printf ("vax-dec-ultrix\n"); exit (0); 12834edb46e9SPaul Traina# endif 12844edb46e9SPaul Traina#endif 12854edb46e9SPaul Traina 12864edb46e9SPaul Traina#if defined (alliant) && defined (i860) 12874edb46e9SPaul Traina printf ("i860-alliant-bsd\n"); exit (0); 12884edb46e9SPaul Traina#endif 12894edb46e9SPaul Traina 12904edb46e9SPaul Traina exit (1); 12914edb46e9SPaul Traina} 12924edb46e9SPaul TrainaEOF 12934edb46e9SPaul Traina 1294a90e161bSBill Fenner$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 1295685295f4SBill Fennerrm -f $dummy.c $dummy 12964edb46e9SPaul Traina 12974edb46e9SPaul Traina# Apollos put the system type in the environment. 12984edb46e9SPaul Traina 12994edb46e9SPaul Trainatest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } 13004edb46e9SPaul Traina 13014edb46e9SPaul Traina# Convex versions that predate uname can use getsysinfo(1) 13024edb46e9SPaul Traina 13034edb46e9SPaul Trainaif [ -x /usr/convex/getsysinfo ] 13044edb46e9SPaul Trainathen 13054edb46e9SPaul Traina case `getsysinfo -f cpu_type` in 13064edb46e9SPaul Traina c1*) 13074edb46e9SPaul Traina echo c1-convex-bsd 13084edb46e9SPaul Traina exit 0 ;; 13094edb46e9SPaul Traina c2*) 13104edb46e9SPaul Traina if getsysinfo -f scalar_acc 13114edb46e9SPaul Traina then echo c32-convex-bsd 13124edb46e9SPaul Traina else echo c2-convex-bsd 13134edb46e9SPaul Traina fi 13144edb46e9SPaul Traina exit 0 ;; 13154edb46e9SPaul Traina c34*) 13164edb46e9SPaul Traina echo c34-convex-bsd 13174edb46e9SPaul Traina exit 0 ;; 13184edb46e9SPaul Traina c38*) 13194edb46e9SPaul Traina echo c38-convex-bsd 13204edb46e9SPaul Traina exit 0 ;; 13214edb46e9SPaul Traina c4*) 13224edb46e9SPaul Traina echo c4-convex-bsd 13234edb46e9SPaul Traina exit 0 ;; 13244edb46e9SPaul Traina esac 13254edb46e9SPaul Trainafi 13264edb46e9SPaul Traina 1327685295f4SBill Fennercat >&2 <<EOF 1328685295f4SBill Fenner$0: unable to guess system type 1329685295f4SBill Fenner 1330a90e161bSBill FennerThis script, last modified $timestamp, has failed to recognize 1331a90e161bSBill Fennerthe operating system you are using. It is advised that you 1332a90e161bSBill Fennerdownload the most up to date version of the config scripts from 1333685295f4SBill Fenner 1334685295f4SBill Fenner ftp://ftp.gnu.org/pub/gnu/config/ 1335685295f4SBill Fenner 1336685295f4SBill FennerIf the version you run ($0) is already up to date, please 1337685295f4SBill Fennersend the following data and any information you think might be 1338685295f4SBill Fennerpertinent to <config-patches@gnu.org> in order to provide the needed 1339685295f4SBill Fennerinformation to handle your system. 1340685295f4SBill Fenner 1341a90e161bSBill Fennerconfig.guess timestamp = $timestamp 1342685295f4SBill Fenner 1343685295f4SBill Fenneruname -m = `(uname -m) 2>/dev/null || echo unknown` 1344685295f4SBill Fenneruname -r = `(uname -r) 2>/dev/null || echo unknown` 1345685295f4SBill Fenneruname -s = `(uname -s) 2>/dev/null || echo unknown` 1346685295f4SBill Fenneruname -v = `(uname -v) 2>/dev/null || echo unknown` 1347685295f4SBill Fenner 1348685295f4SBill Fenner/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1349685295f4SBill Fenner/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1350685295f4SBill Fenner 1351685295f4SBill Fennerhostinfo = `(hostinfo) 2>/dev/null` 1352685295f4SBill Fenner/bin/universe = `(/bin/universe) 2>/dev/null` 1353685295f4SBill Fenner/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1354685295f4SBill Fenner/bin/arch = `(/bin/arch) 2>/dev/null` 1355685295f4SBill Fenner/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1356685295f4SBill Fenner/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1357685295f4SBill Fenner 1358685295f4SBill FennerUNAME_MACHINE = ${UNAME_MACHINE} 1359685295f4SBill FennerUNAME_RELEASE = ${UNAME_RELEASE} 1360685295f4SBill FennerUNAME_SYSTEM = ${UNAME_SYSTEM} 1361685295f4SBill FennerUNAME_VERSION = ${UNAME_VERSION} 1362685295f4SBill FennerEOF 13634edb46e9SPaul Traina 13644edb46e9SPaul Trainaexit 1 1365685295f4SBill Fenner 1366685295f4SBill Fenner# Local variables: 1367685295f4SBill Fenner# eval: (add-hook 'write-file-hooks 'time-stamp) 1368685295f4SBill Fenner# time-stamp-start: "timestamp='" 1369685295f4SBill Fenner# time-stamp-format: "%:y-%02m-%02d" 1370685295f4SBill Fenner# time-stamp-end: "'" 1371685295f4SBill Fenner# End: 1372