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