1*9712c20fSFrederick Mayle#! /bin/sh 2*9712c20fSFrederick Mayle# Attempt to guess a canonical system name. 3*9712c20fSFrederick Mayle# Copyright 1992-2021 Free Software Foundation, Inc. 4*9712c20fSFrederick Mayle 5*9712c20fSFrederick Mayletimestamp='2021-01-01' 6*9712c20fSFrederick Mayle 7*9712c20fSFrederick Mayle# This file is free software; you can redistribute it and/or modify it 8*9712c20fSFrederick Mayle# under the terms of the GNU General Public License as published by 9*9712c20fSFrederick Mayle# the Free Software Foundation; either version 3 of the License, or 10*9712c20fSFrederick Mayle# (at your option) any later version. 11*9712c20fSFrederick Mayle# 12*9712c20fSFrederick Mayle# This program is distributed in the hope that it will be useful, but 13*9712c20fSFrederick Mayle# WITHOUT ANY WARRANTY; without even the implied warranty of 14*9712c20fSFrederick Mayle# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15*9712c20fSFrederick Mayle# General Public License for more details. 16*9712c20fSFrederick Mayle# 17*9712c20fSFrederick Mayle# You should have received a copy of the GNU General Public License 18*9712c20fSFrederick Mayle# along with this program; if not, see <https://www.gnu.org/licenses/>. 19*9712c20fSFrederick Mayle# 20*9712c20fSFrederick Mayle# As a special exception to the GNU General Public License, if you 21*9712c20fSFrederick Mayle# distribute this file as part of a program that contains a 22*9712c20fSFrederick Mayle# configuration script generated by Autoconf, you may include it under 23*9712c20fSFrederick Mayle# the same distribution terms that you use for the rest of that 24*9712c20fSFrederick Mayle# program. This Exception is an additional permission under section 7 25*9712c20fSFrederick Mayle# of the GNU General Public License, version 3 ("GPLv3"). 26*9712c20fSFrederick Mayle# 27*9712c20fSFrederick Mayle# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 28*9712c20fSFrederick Mayle# 29*9712c20fSFrederick Mayle# You can get the latest version of this script from: 30*9712c20fSFrederick Mayle# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 31*9712c20fSFrederick Mayle# 32*9712c20fSFrederick Mayle# Please send patches to <[email protected]>. 33*9712c20fSFrederick Mayle 34*9712c20fSFrederick Mayle 35*9712c20fSFrederick Mayleme=$(echo "$0" | sed -e 's,.*/,,') 36*9712c20fSFrederick Mayle 37*9712c20fSFrederick Mayleusage="\ 38*9712c20fSFrederick MayleUsage: $0 [OPTION] 39*9712c20fSFrederick Mayle 40*9712c20fSFrederick MayleOutput the configuration name of the system \`$me' is run on. 41*9712c20fSFrederick Mayle 42*9712c20fSFrederick MayleOptions: 43*9712c20fSFrederick Mayle -h, --help print this help, then exit 44*9712c20fSFrederick Mayle -t, --time-stamp print date of last modification, then exit 45*9712c20fSFrederick Mayle -v, --version print version number, then exit 46*9712c20fSFrederick Mayle 47*9712c20fSFrederick MayleReport bugs and patches to <[email protected]>." 48*9712c20fSFrederick Mayle 49*9712c20fSFrederick Mayleversion="\ 50*9712c20fSFrederick MayleGNU config.guess ($timestamp) 51*9712c20fSFrederick Mayle 52*9712c20fSFrederick MayleOriginally written by Per Bothner. 53*9712c20fSFrederick MayleCopyright 1992-2021 Free Software Foundation, Inc. 54*9712c20fSFrederick Mayle 55*9712c20fSFrederick MayleThis is free software; see the source for copying conditions. There is NO 56*9712c20fSFrederick Maylewarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 57*9712c20fSFrederick Mayle 58*9712c20fSFrederick Maylehelp=" 59*9712c20fSFrederick MayleTry \`$me --help' for more information." 60*9712c20fSFrederick Mayle 61*9712c20fSFrederick Mayle# Parse command line 62*9712c20fSFrederick Maylewhile test $# -gt 0 ; do 63*9712c20fSFrederick Mayle case $1 in 64*9712c20fSFrederick Mayle --time-stamp | --time* | -t ) 65*9712c20fSFrederick Mayle echo "$timestamp" ; exit ;; 66*9712c20fSFrederick Mayle --version | -v ) 67*9712c20fSFrederick Mayle echo "$version" ; exit ;; 68*9712c20fSFrederick Mayle --help | --h* | -h ) 69*9712c20fSFrederick Mayle echo "$usage"; exit ;; 70*9712c20fSFrederick Mayle -- ) # Stop option processing 71*9712c20fSFrederick Mayle shift; break ;; 72*9712c20fSFrederick Mayle - ) # Use stdin as input. 73*9712c20fSFrederick Mayle break ;; 74*9712c20fSFrederick Mayle -* ) 75*9712c20fSFrederick Mayle echo "$me: invalid option $1$help" >&2 76*9712c20fSFrederick Mayle exit 1 ;; 77*9712c20fSFrederick Mayle * ) 78*9712c20fSFrederick Mayle break ;; 79*9712c20fSFrederick Mayle esac 80*9712c20fSFrederick Mayledone 81*9712c20fSFrederick Mayle 82*9712c20fSFrederick Mayleif test $# != 0; then 83*9712c20fSFrederick Mayle echo "$me: too many arguments$help" >&2 84*9712c20fSFrederick Mayle exit 1 85*9712c20fSFrederick Maylefi 86*9712c20fSFrederick Mayle 87*9712c20fSFrederick Mayle# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 88*9712c20fSFrederick Mayle# compiler to aid in system detection is discouraged as it requires 89*9712c20fSFrederick Mayle# temporary files to be created and, as you can see below, it is a 90*9712c20fSFrederick Mayle# headache to deal with in a portable fashion. 91*9712c20fSFrederick Mayle 92*9712c20fSFrederick Mayle# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 93*9712c20fSFrederick Mayle# use `HOST_CC' if defined, but it is deprecated. 94*9712c20fSFrederick Mayle 95*9712c20fSFrederick Mayle# Portable tmp directory creation inspired by the Autoconf team. 96*9712c20fSFrederick Mayle 97*9712c20fSFrederick Mayletmp= 98*9712c20fSFrederick Mayle# shellcheck disable=SC2172 99*9712c20fSFrederick Mayletrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 100*9712c20fSFrederick Mayle 101*9712c20fSFrederick Mayleset_cc_for_build() { 102*9712c20fSFrederick Mayle # prevent multiple calls if $tmp is already set 103*9712c20fSFrederick Mayle test "$tmp" && return 0 104*9712c20fSFrederick Mayle : "${TMPDIR=/tmp}" 105*9712c20fSFrederick Mayle # shellcheck disable=SC2039 106*9712c20fSFrederick Mayle { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } || 107*9712c20fSFrederick Mayle { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 108*9712c20fSFrederick Mayle { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 109*9712c20fSFrederick Mayle { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 110*9712c20fSFrederick Mayle dummy=$tmp/dummy 111*9712c20fSFrederick Mayle case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 112*9712c20fSFrederick Mayle ,,) echo "int x;" > "$dummy.c" 113*9712c20fSFrederick Mayle for driver in cc gcc c89 c99 ; do 114*9712c20fSFrederick Mayle if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 115*9712c20fSFrederick Mayle CC_FOR_BUILD="$driver" 116*9712c20fSFrederick Mayle break 117*9712c20fSFrederick Mayle fi 118*9712c20fSFrederick Mayle done 119*9712c20fSFrederick Mayle if test x"$CC_FOR_BUILD" = x ; then 120*9712c20fSFrederick Mayle CC_FOR_BUILD=no_compiler_found 121*9712c20fSFrederick Mayle fi 122*9712c20fSFrederick Mayle ;; 123*9712c20fSFrederick Mayle ,,*) CC_FOR_BUILD=$CC ;; 124*9712c20fSFrederick Mayle ,*,*) CC_FOR_BUILD=$HOST_CC ;; 125*9712c20fSFrederick Mayle esac 126*9712c20fSFrederick Mayle} 127*9712c20fSFrederick Mayle 128*9712c20fSFrederick Mayle# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 129*9712c20fSFrederick Mayle# ([email protected] 1994-08-24) 130*9712c20fSFrederick Mayleif test -f /.attbin/uname ; then 131*9712c20fSFrederick Mayle PATH=$PATH:/.attbin ; export PATH 132*9712c20fSFrederick Maylefi 133*9712c20fSFrederick Mayle 134*9712c20fSFrederick MayleUNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown 135*9712c20fSFrederick MayleUNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown 136*9712c20fSFrederick MayleUNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown 137*9712c20fSFrederick MayleUNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown 138*9712c20fSFrederick Mayle 139*9712c20fSFrederick Maylecase "$UNAME_SYSTEM" in 140*9712c20fSFrederick MayleLinux|GNU|GNU/*) 141*9712c20fSFrederick Mayle LIBC=unknown 142*9712c20fSFrederick Mayle 143*9712c20fSFrederick Mayle set_cc_for_build 144*9712c20fSFrederick Mayle cat <<-EOF > "$dummy.c" 145*9712c20fSFrederick Mayle #include <features.h> 146*9712c20fSFrederick Mayle #if defined(__UCLIBC__) 147*9712c20fSFrederick Mayle LIBC=uclibc 148*9712c20fSFrederick Mayle #elif defined(__dietlibc__) 149*9712c20fSFrederick Mayle LIBC=dietlibc 150*9712c20fSFrederick Mayle #elif defined(__GLIBC__) 151*9712c20fSFrederick Mayle LIBC=gnu 152*9712c20fSFrederick Mayle #else 153*9712c20fSFrederick Mayle #include <stdarg.h> 154*9712c20fSFrederick Mayle /* First heuristic to detect musl libc. */ 155*9712c20fSFrederick Mayle #ifdef __DEFINED_va_list 156*9712c20fSFrederick Mayle LIBC=musl 157*9712c20fSFrederick Mayle #endif 158*9712c20fSFrederick Mayle #endif 159*9712c20fSFrederick Mayle EOF 160*9712c20fSFrederick Mayle eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')" 161*9712c20fSFrederick Mayle 162*9712c20fSFrederick Mayle # Second heuristic to detect musl libc. 163*9712c20fSFrederick Mayle if [ "$LIBC" = unknown ] && 164*9712c20fSFrederick Mayle command -v ldd >/dev/null && 165*9712c20fSFrederick Mayle ldd --version 2>&1 | grep -q ^musl; then 166*9712c20fSFrederick Mayle LIBC=musl 167*9712c20fSFrederick Mayle fi 168*9712c20fSFrederick Mayle 169*9712c20fSFrederick Mayle # If the system lacks a compiler, then just pick glibc. 170*9712c20fSFrederick Mayle # We could probably try harder. 171*9712c20fSFrederick Mayle if [ "$LIBC" = unknown ]; then 172*9712c20fSFrederick Mayle LIBC=gnu 173*9712c20fSFrederick Mayle fi 174*9712c20fSFrederick Mayle ;; 175*9712c20fSFrederick Mayleesac 176*9712c20fSFrederick Mayle 177*9712c20fSFrederick Mayle# Note: order is significant - the case branches are not exclusive. 178*9712c20fSFrederick Mayle 179*9712c20fSFrederick Maylecase "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in 180*9712c20fSFrederick Mayle *:NetBSD:*:*) 181*9712c20fSFrederick Mayle # NetBSD (nbsd) targets should (where applicable) match one or 182*9712c20fSFrederick Mayle # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 183*9712c20fSFrederick Mayle # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 184*9712c20fSFrederick Mayle # switched to ELF, *-*-netbsd* would select the old 185*9712c20fSFrederick Mayle # object file format. This provides both forward 186*9712c20fSFrederick Mayle # compatibility and a consistent mechanism for selecting the 187*9712c20fSFrederick Mayle # object file format. 188*9712c20fSFrederick Mayle # 189*9712c20fSFrederick Mayle # Note: NetBSD doesn't particularly care about the vendor 190*9712c20fSFrederick Mayle # portion of the name. We always set it to "unknown". 191*9712c20fSFrederick Mayle sysctl="sysctl -n hw.machine_arch" 192*9712c20fSFrederick Mayle UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ 193*9712c20fSFrederick Mayle "/sbin/$sysctl" 2>/dev/null || \ 194*9712c20fSFrederick Mayle "/usr/sbin/$sysctl" 2>/dev/null || \ 195*9712c20fSFrederick Mayle echo unknown)) 196*9712c20fSFrederick Mayle case "$UNAME_MACHINE_ARCH" in 197*9712c20fSFrederick Mayle aarch64eb) machine=aarch64_be-unknown ;; 198*9712c20fSFrederick Mayle armeb) machine=armeb-unknown ;; 199*9712c20fSFrederick Mayle arm*) machine=arm-unknown ;; 200*9712c20fSFrederick Mayle sh3el) machine=shl-unknown ;; 201*9712c20fSFrederick Mayle sh3eb) machine=sh-unknown ;; 202*9712c20fSFrederick Mayle sh5el) machine=sh5le-unknown ;; 203*9712c20fSFrederick Mayle earmv*) 204*9712c20fSFrederick Mayle arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,') 205*9712c20fSFrederick Mayle endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p') 206*9712c20fSFrederick Mayle machine="${arch}${endian}"-unknown 207*9712c20fSFrederick Mayle ;; 208*9712c20fSFrederick Mayle *) machine="$UNAME_MACHINE_ARCH"-unknown ;; 209*9712c20fSFrederick Mayle esac 210*9712c20fSFrederick Mayle # The Operating System including object format, if it has switched 211*9712c20fSFrederick Mayle # to ELF recently (or will in the future) and ABI. 212*9712c20fSFrederick Mayle case "$UNAME_MACHINE_ARCH" in 213*9712c20fSFrederick Mayle earm*) 214*9712c20fSFrederick Mayle os=netbsdelf 215*9712c20fSFrederick Mayle ;; 216*9712c20fSFrederick Mayle arm*|i386|m68k|ns32k|sh3*|sparc|vax) 217*9712c20fSFrederick Mayle set_cc_for_build 218*9712c20fSFrederick Mayle if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 219*9712c20fSFrederick Mayle | grep -q __ELF__ 220*9712c20fSFrederick Mayle then 221*9712c20fSFrederick Mayle # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 222*9712c20fSFrederick Mayle # Return netbsd for either. FIX? 223*9712c20fSFrederick Mayle os=netbsd 224*9712c20fSFrederick Mayle else 225*9712c20fSFrederick Mayle os=netbsdelf 226*9712c20fSFrederick Mayle fi 227*9712c20fSFrederick Mayle ;; 228*9712c20fSFrederick Mayle *) 229*9712c20fSFrederick Mayle os=netbsd 230*9712c20fSFrederick Mayle ;; 231*9712c20fSFrederick Mayle esac 232*9712c20fSFrederick Mayle # Determine ABI tags. 233*9712c20fSFrederick Mayle case "$UNAME_MACHINE_ARCH" in 234*9712c20fSFrederick Mayle earm*) 235*9712c20fSFrederick Mayle expr='s/^earmv[0-9]/-eabi/;s/eb$//' 236*9712c20fSFrederick Mayle abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr") 237*9712c20fSFrederick Mayle ;; 238*9712c20fSFrederick Mayle esac 239*9712c20fSFrederick Mayle # The OS release 240*9712c20fSFrederick Mayle # Debian GNU/NetBSD machines have a different userland, and 241*9712c20fSFrederick Mayle # thus, need a distinct triplet. However, they do not need 242*9712c20fSFrederick Mayle # kernel version information, so it can be replaced with a 243*9712c20fSFrederick Mayle # suitable tag, in the style of linux-gnu. 244*9712c20fSFrederick Mayle case "$UNAME_VERSION" in 245*9712c20fSFrederick Mayle Debian*) 246*9712c20fSFrederick Mayle release='-gnu' 247*9712c20fSFrederick Mayle ;; 248*9712c20fSFrederick Mayle *) 249*9712c20fSFrederick Mayle release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2) 250*9712c20fSFrederick Mayle ;; 251*9712c20fSFrederick Mayle esac 252*9712c20fSFrederick Mayle # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 253*9712c20fSFrederick Mayle # contains redundant information, the shorter form: 254*9712c20fSFrederick Mayle # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 255*9712c20fSFrederick Mayle echo "$machine-${os}${release}${abi-}" 256*9712c20fSFrederick Mayle exit ;; 257*9712c20fSFrederick Mayle *:Bitrig:*:*) 258*9712c20fSFrederick Mayle UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//') 259*9712c20fSFrederick Mayle echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" 260*9712c20fSFrederick Mayle exit ;; 261*9712c20fSFrederick Mayle *:OpenBSD:*:*) 262*9712c20fSFrederick Mayle UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//') 263*9712c20fSFrederick Mayle echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" 264*9712c20fSFrederick Mayle exit ;; 265*9712c20fSFrederick Mayle *:LibertyBSD:*:*) 266*9712c20fSFrederick Mayle UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//') 267*9712c20fSFrederick Mayle echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" 268*9712c20fSFrederick Mayle exit ;; 269*9712c20fSFrederick Mayle *:MidnightBSD:*:*) 270*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" 271*9712c20fSFrederick Mayle exit ;; 272*9712c20fSFrederick Mayle *:ekkoBSD:*:*) 273*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" 274*9712c20fSFrederick Mayle exit ;; 275*9712c20fSFrederick Mayle *:SolidBSD:*:*) 276*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" 277*9712c20fSFrederick Mayle exit ;; 278*9712c20fSFrederick Mayle *:OS108:*:*) 279*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" 280*9712c20fSFrederick Mayle exit ;; 281*9712c20fSFrederick Mayle macppc:MirBSD:*:*) 282*9712c20fSFrederick Mayle echo powerpc-unknown-mirbsd"$UNAME_RELEASE" 283*9712c20fSFrederick Mayle exit ;; 284*9712c20fSFrederick Mayle *:MirBSD:*:*) 285*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" 286*9712c20fSFrederick Mayle exit ;; 287*9712c20fSFrederick Mayle *:Sortix:*:*) 288*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-sortix 289*9712c20fSFrederick Mayle exit ;; 290*9712c20fSFrederick Mayle *:Twizzler:*:*) 291*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-twizzler 292*9712c20fSFrederick Mayle exit ;; 293*9712c20fSFrederick Mayle *:Redox:*:*) 294*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-redox 295*9712c20fSFrederick Mayle exit ;; 296*9712c20fSFrederick Mayle mips:OSF1:*.*) 297*9712c20fSFrederick Mayle echo mips-dec-osf1 298*9712c20fSFrederick Mayle exit ;; 299*9712c20fSFrederick Mayle alpha:OSF1:*:*) 300*9712c20fSFrederick Mayle case $UNAME_RELEASE in 301*9712c20fSFrederick Mayle *4.0) 302*9712c20fSFrederick Mayle UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') 303*9712c20fSFrederick Mayle ;; 304*9712c20fSFrederick Mayle *5.*) 305*9712c20fSFrederick Mayle UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}') 306*9712c20fSFrederick Mayle ;; 307*9712c20fSFrederick Mayle esac 308*9712c20fSFrederick Mayle # According to Compaq, /usr/sbin/psrinfo has been available on 309*9712c20fSFrederick Mayle # OSF/1 and Tru64 systems produced since 1995. I hope that 310*9712c20fSFrederick Mayle # covers most systems running today. This code pipes the CPU 311*9712c20fSFrederick Mayle # types through head -n 1, so we only detect the type of CPU 0. 312*9712c20fSFrederick Mayle ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) 313*9712c20fSFrederick Mayle case "$ALPHA_CPU_TYPE" in 314*9712c20fSFrederick Mayle "EV4 (21064)") 315*9712c20fSFrederick Mayle UNAME_MACHINE=alpha ;; 316*9712c20fSFrederick Mayle "EV4.5 (21064)") 317*9712c20fSFrederick Mayle UNAME_MACHINE=alpha ;; 318*9712c20fSFrederick Mayle "LCA4 (21066/21068)") 319*9712c20fSFrederick Mayle UNAME_MACHINE=alpha ;; 320*9712c20fSFrederick Mayle "EV5 (21164)") 321*9712c20fSFrederick Mayle UNAME_MACHINE=alphaev5 ;; 322*9712c20fSFrederick Mayle "EV5.6 (21164A)") 323*9712c20fSFrederick Mayle UNAME_MACHINE=alphaev56 ;; 324*9712c20fSFrederick Mayle "EV5.6 (21164PC)") 325*9712c20fSFrederick Mayle UNAME_MACHINE=alphapca56 ;; 326*9712c20fSFrederick Mayle "EV5.7 (21164PC)") 327*9712c20fSFrederick Mayle UNAME_MACHINE=alphapca57 ;; 328*9712c20fSFrederick Mayle "EV6 (21264)") 329*9712c20fSFrederick Mayle UNAME_MACHINE=alphaev6 ;; 330*9712c20fSFrederick Mayle "EV6.7 (21264A)") 331*9712c20fSFrederick Mayle UNAME_MACHINE=alphaev67 ;; 332*9712c20fSFrederick Mayle "EV6.8CB (21264C)") 333*9712c20fSFrederick Mayle UNAME_MACHINE=alphaev68 ;; 334*9712c20fSFrederick Mayle "EV6.8AL (21264B)") 335*9712c20fSFrederick Mayle UNAME_MACHINE=alphaev68 ;; 336*9712c20fSFrederick Mayle "EV6.8CX (21264D)") 337*9712c20fSFrederick Mayle UNAME_MACHINE=alphaev68 ;; 338*9712c20fSFrederick Mayle "EV6.9A (21264/EV69A)") 339*9712c20fSFrederick Mayle UNAME_MACHINE=alphaev69 ;; 340*9712c20fSFrederick Mayle "EV7 (21364)") 341*9712c20fSFrederick Mayle UNAME_MACHINE=alphaev7 ;; 342*9712c20fSFrederick Mayle "EV7.9 (21364A)") 343*9712c20fSFrederick Mayle UNAME_MACHINE=alphaev79 ;; 344*9712c20fSFrederick Mayle esac 345*9712c20fSFrederick Mayle # A Pn.n version is a patched version. 346*9712c20fSFrederick Mayle # A Vn.n version is a released version. 347*9712c20fSFrederick Mayle # A Tn.n version is a released field test version. 348*9712c20fSFrederick Mayle # A Xn.n version is an unreleased experimental baselevel. 349*9712c20fSFrederick Mayle # 1.2 uses "1.2" for uname -r. 350*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" 351*9712c20fSFrederick Mayle # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 352*9712c20fSFrederick Mayle exitcode=$? 353*9712c20fSFrederick Mayle trap '' 0 354*9712c20fSFrederick Mayle exit $exitcode ;; 355*9712c20fSFrederick Mayle Amiga*:UNIX_System_V:4.0:*) 356*9712c20fSFrederick Mayle echo m68k-unknown-sysv4 357*9712c20fSFrederick Mayle exit ;; 358*9712c20fSFrederick Mayle *:[Aa]miga[Oo][Ss]:*:*) 359*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-amigaos 360*9712c20fSFrederick Mayle exit ;; 361*9712c20fSFrederick Mayle *:[Mm]orph[Oo][Ss]:*:*) 362*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-morphos 363*9712c20fSFrederick Mayle exit ;; 364*9712c20fSFrederick Mayle *:OS/390:*:*) 365*9712c20fSFrederick Mayle echo i370-ibm-openedition 366*9712c20fSFrederick Mayle exit ;; 367*9712c20fSFrederick Mayle *:z/VM:*:*) 368*9712c20fSFrederick Mayle echo s390-ibm-zvmoe 369*9712c20fSFrederick Mayle exit ;; 370*9712c20fSFrederick Mayle *:OS400:*:*) 371*9712c20fSFrederick Mayle echo powerpc-ibm-os400 372*9712c20fSFrederick Mayle exit ;; 373*9712c20fSFrederick Mayle arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 374*9712c20fSFrederick Mayle echo arm-acorn-riscix"$UNAME_RELEASE" 375*9712c20fSFrederick Mayle exit ;; 376*9712c20fSFrederick Mayle arm*:riscos:*:*|arm*:RISCOS:*:*) 377*9712c20fSFrederick Mayle echo arm-unknown-riscos 378*9712c20fSFrederick Mayle exit ;; 379*9712c20fSFrederick Mayle SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 380*9712c20fSFrederick Mayle echo hppa1.1-hitachi-hiuxmpp 381*9712c20fSFrederick Mayle exit ;; 382*9712c20fSFrederick Mayle Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 383*9712c20fSFrederick Mayle # [email protected] (Earle F. Ake) contributed MIS and NILE. 384*9712c20fSFrederick Mayle if test "$( (/bin/universe) 2>/dev/null)" = att ; then 385*9712c20fSFrederick Mayle echo pyramid-pyramid-sysv3 386*9712c20fSFrederick Mayle else 387*9712c20fSFrederick Mayle echo pyramid-pyramid-bsd 388*9712c20fSFrederick Mayle fi 389*9712c20fSFrederick Mayle exit ;; 390*9712c20fSFrederick Mayle NILE*:*:*:dcosx) 391*9712c20fSFrederick Mayle echo pyramid-pyramid-svr4 392*9712c20fSFrederick Mayle exit ;; 393*9712c20fSFrederick Mayle DRS?6000:unix:4.0:6*) 394*9712c20fSFrederick Mayle echo sparc-icl-nx6 395*9712c20fSFrederick Mayle exit ;; 396*9712c20fSFrederick Mayle DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 397*9712c20fSFrederick Mayle case $(/usr/bin/uname -p) in 398*9712c20fSFrederick Mayle sparc) echo sparc-icl-nx7; exit ;; 399*9712c20fSFrederick Mayle esac ;; 400*9712c20fSFrederick Mayle s390x:SunOS:*:*) 401*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" 402*9712c20fSFrederick Mayle exit ;; 403*9712c20fSFrederick Mayle sun4H:SunOS:5.*:*) 404*9712c20fSFrederick Mayle echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" 405*9712c20fSFrederick Mayle exit ;; 406*9712c20fSFrederick Mayle sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 407*9712c20fSFrederick Mayle echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')" 408*9712c20fSFrederick Mayle exit ;; 409*9712c20fSFrederick Mayle i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 410*9712c20fSFrederick Mayle echo i386-pc-auroraux"$UNAME_RELEASE" 411*9712c20fSFrederick Mayle exit ;; 412*9712c20fSFrederick Mayle i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 413*9712c20fSFrederick Mayle set_cc_for_build 414*9712c20fSFrederick Mayle SUN_ARCH=i386 415*9712c20fSFrederick Mayle # If there is a compiler, see if it is configured for 64-bit objects. 416*9712c20fSFrederick Mayle # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 417*9712c20fSFrederick Mayle # This test works for both compilers. 418*9712c20fSFrederick Mayle if test "$CC_FOR_BUILD" != no_compiler_found; then 419*9712c20fSFrederick Mayle if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 420*9712c20fSFrederick Mayle (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 421*9712c20fSFrederick Mayle grep IS_64BIT_ARCH >/dev/null 422*9712c20fSFrederick Mayle then 423*9712c20fSFrederick Mayle SUN_ARCH=x86_64 424*9712c20fSFrederick Mayle fi 425*9712c20fSFrederick Mayle fi 426*9712c20fSFrederick Mayle echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" 427*9712c20fSFrederick Mayle exit ;; 428*9712c20fSFrederick Mayle sun4*:SunOS:6*:*) 429*9712c20fSFrederick Mayle # According to config.sub, this is the proper way to canonicalize 430*9712c20fSFrederick Mayle # SunOS6. Hard to guess exactly what SunOS6 will be like, but 431*9712c20fSFrederick Mayle # it's likely to be more like Solaris than SunOS4. 432*9712c20fSFrederick Mayle echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" 433*9712c20fSFrederick Mayle exit ;; 434*9712c20fSFrederick Mayle sun4*:SunOS:*:*) 435*9712c20fSFrederick Mayle case "$(/usr/bin/arch -k)" in 436*9712c20fSFrederick Mayle Series*|S4*) 437*9712c20fSFrederick Mayle UNAME_RELEASE=$(uname -v) 438*9712c20fSFrederick Mayle ;; 439*9712c20fSFrederick Mayle esac 440*9712c20fSFrederick Mayle # Japanese Language versions have a version number like `4.1.3-JL'. 441*9712c20fSFrederick Mayle echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')" 442*9712c20fSFrederick Mayle exit ;; 443*9712c20fSFrederick Mayle sun3*:SunOS:*:*) 444*9712c20fSFrederick Mayle echo m68k-sun-sunos"$UNAME_RELEASE" 445*9712c20fSFrederick Mayle exit ;; 446*9712c20fSFrederick Mayle sun*:*:4.2BSD:*) 447*9712c20fSFrederick Mayle UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) 448*9712c20fSFrederick Mayle test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 449*9712c20fSFrederick Mayle case "$(/bin/arch)" in 450*9712c20fSFrederick Mayle sun3) 451*9712c20fSFrederick Mayle echo m68k-sun-sunos"$UNAME_RELEASE" 452*9712c20fSFrederick Mayle ;; 453*9712c20fSFrederick Mayle sun4) 454*9712c20fSFrederick Mayle echo sparc-sun-sunos"$UNAME_RELEASE" 455*9712c20fSFrederick Mayle ;; 456*9712c20fSFrederick Mayle esac 457*9712c20fSFrederick Mayle exit ;; 458*9712c20fSFrederick Mayle aushp:SunOS:*:*) 459*9712c20fSFrederick Mayle echo sparc-auspex-sunos"$UNAME_RELEASE" 460*9712c20fSFrederick Mayle exit ;; 461*9712c20fSFrederick Mayle # The situation for MiNT is a little confusing. The machine name 462*9712c20fSFrederick Mayle # can be virtually everything (everything which is not 463*9712c20fSFrederick Mayle # "atarist" or "atariste" at least should have a processor 464*9712c20fSFrederick Mayle # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 465*9712c20fSFrederick Mayle # to the lowercase version "mint" (or "freemint"). Finally 466*9712c20fSFrederick Mayle # the system name "TOS" denotes a system which is actually not 467*9712c20fSFrederick Mayle # MiNT. But MiNT is downward compatible to TOS, so this should 468*9712c20fSFrederick Mayle # be no problem. 469*9712c20fSFrederick Mayle atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 470*9712c20fSFrederick Mayle echo m68k-atari-mint"$UNAME_RELEASE" 471*9712c20fSFrederick Mayle exit ;; 472*9712c20fSFrederick Mayle atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 473*9712c20fSFrederick Mayle echo m68k-atari-mint"$UNAME_RELEASE" 474*9712c20fSFrederick Mayle exit ;; 475*9712c20fSFrederick Mayle *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 476*9712c20fSFrederick Mayle echo m68k-atari-mint"$UNAME_RELEASE" 477*9712c20fSFrederick Mayle exit ;; 478*9712c20fSFrederick Mayle milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 479*9712c20fSFrederick Mayle echo m68k-milan-mint"$UNAME_RELEASE" 480*9712c20fSFrederick Mayle exit ;; 481*9712c20fSFrederick Mayle hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 482*9712c20fSFrederick Mayle echo m68k-hades-mint"$UNAME_RELEASE" 483*9712c20fSFrederick Mayle exit ;; 484*9712c20fSFrederick Mayle *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 485*9712c20fSFrederick Mayle echo m68k-unknown-mint"$UNAME_RELEASE" 486*9712c20fSFrederick Mayle exit ;; 487*9712c20fSFrederick Mayle m68k:machten:*:*) 488*9712c20fSFrederick Mayle echo m68k-apple-machten"$UNAME_RELEASE" 489*9712c20fSFrederick Mayle exit ;; 490*9712c20fSFrederick Mayle powerpc:machten:*:*) 491*9712c20fSFrederick Mayle echo powerpc-apple-machten"$UNAME_RELEASE" 492*9712c20fSFrederick Mayle exit ;; 493*9712c20fSFrederick Mayle RISC*:Mach:*:*) 494*9712c20fSFrederick Mayle echo mips-dec-mach_bsd4.3 495*9712c20fSFrederick Mayle exit ;; 496*9712c20fSFrederick Mayle RISC*:ULTRIX:*:*) 497*9712c20fSFrederick Mayle echo mips-dec-ultrix"$UNAME_RELEASE" 498*9712c20fSFrederick Mayle exit ;; 499*9712c20fSFrederick Mayle VAX*:ULTRIX*:*:*) 500*9712c20fSFrederick Mayle echo vax-dec-ultrix"$UNAME_RELEASE" 501*9712c20fSFrederick Mayle exit ;; 502*9712c20fSFrederick Mayle 2020:CLIX:*:* | 2430:CLIX:*:*) 503*9712c20fSFrederick Mayle echo clipper-intergraph-clix"$UNAME_RELEASE" 504*9712c20fSFrederick Mayle exit ;; 505*9712c20fSFrederick Mayle mips:*:*:UMIPS | mips:*:*:RISCos) 506*9712c20fSFrederick Mayle set_cc_for_build 507*9712c20fSFrederick Mayle sed 's/^ //' << EOF > "$dummy.c" 508*9712c20fSFrederick Mayle#ifdef __cplusplus 509*9712c20fSFrederick Mayle#include <stdio.h> /* for printf() prototype */ 510*9712c20fSFrederick Mayle int main (int argc, char *argv[]) { 511*9712c20fSFrederick Mayle#else 512*9712c20fSFrederick Mayle int main (argc, argv) int argc; char *argv[]; { 513*9712c20fSFrederick Mayle#endif 514*9712c20fSFrederick Mayle #if defined (host_mips) && defined (MIPSEB) 515*9712c20fSFrederick Mayle #if defined (SYSTYPE_SYSV) 516*9712c20fSFrederick Mayle printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 517*9712c20fSFrederick Mayle #endif 518*9712c20fSFrederick Mayle #if defined (SYSTYPE_SVR4) 519*9712c20fSFrederick Mayle printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 520*9712c20fSFrederick Mayle #endif 521*9712c20fSFrederick Mayle #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 522*9712c20fSFrederick Mayle printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 523*9712c20fSFrederick Mayle #endif 524*9712c20fSFrederick Mayle #endif 525*9712c20fSFrederick Mayle exit (-1); 526*9712c20fSFrederick Mayle } 527*9712c20fSFrederick MayleEOF 528*9712c20fSFrederick Mayle $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 529*9712c20fSFrederick Mayle dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') && 530*9712c20fSFrederick Mayle SYSTEM_NAME=$("$dummy" "$dummyarg") && 531*9712c20fSFrederick Mayle { echo "$SYSTEM_NAME"; exit; } 532*9712c20fSFrederick Mayle echo mips-mips-riscos"$UNAME_RELEASE" 533*9712c20fSFrederick Mayle exit ;; 534*9712c20fSFrederick Mayle Motorola:PowerMAX_OS:*:*) 535*9712c20fSFrederick Mayle echo powerpc-motorola-powermax 536*9712c20fSFrederick Mayle exit ;; 537*9712c20fSFrederick Mayle Motorola:*:4.3:PL8-*) 538*9712c20fSFrederick Mayle echo powerpc-harris-powermax 539*9712c20fSFrederick Mayle exit ;; 540*9712c20fSFrederick Mayle Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 541*9712c20fSFrederick Mayle echo powerpc-harris-powermax 542*9712c20fSFrederick Mayle exit ;; 543*9712c20fSFrederick Mayle Night_Hawk:Power_UNIX:*:*) 544*9712c20fSFrederick Mayle echo powerpc-harris-powerunix 545*9712c20fSFrederick Mayle exit ;; 546*9712c20fSFrederick Mayle m88k:CX/UX:7*:*) 547*9712c20fSFrederick Mayle echo m88k-harris-cxux7 548*9712c20fSFrederick Mayle exit ;; 549*9712c20fSFrederick Mayle m88k:*:4*:R4*) 550*9712c20fSFrederick Mayle echo m88k-motorola-sysv4 551*9712c20fSFrederick Mayle exit ;; 552*9712c20fSFrederick Mayle m88k:*:3*:R3*) 553*9712c20fSFrederick Mayle echo m88k-motorola-sysv3 554*9712c20fSFrederick Mayle exit ;; 555*9712c20fSFrederick Mayle AViiON:dgux:*:*) 556*9712c20fSFrederick Mayle # DG/UX returns AViiON for all architectures 557*9712c20fSFrederick Mayle UNAME_PROCESSOR=$(/usr/bin/uname -p) 558*9712c20fSFrederick Mayle if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 559*9712c20fSFrederick Mayle then 560*9712c20fSFrederick Mayle if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 561*9712c20fSFrederick Mayle test "$TARGET_BINARY_INTERFACE"x = x 562*9712c20fSFrederick Mayle then 563*9712c20fSFrederick Mayle echo m88k-dg-dgux"$UNAME_RELEASE" 564*9712c20fSFrederick Mayle else 565*9712c20fSFrederick Mayle echo m88k-dg-dguxbcs"$UNAME_RELEASE" 566*9712c20fSFrederick Mayle fi 567*9712c20fSFrederick Mayle else 568*9712c20fSFrederick Mayle echo i586-dg-dgux"$UNAME_RELEASE" 569*9712c20fSFrederick Mayle fi 570*9712c20fSFrederick Mayle exit ;; 571*9712c20fSFrederick Mayle M88*:DolphinOS:*:*) # DolphinOS (SVR3) 572*9712c20fSFrederick Mayle echo m88k-dolphin-sysv3 573*9712c20fSFrederick Mayle exit ;; 574*9712c20fSFrederick Mayle M88*:*:R3*:*) 575*9712c20fSFrederick Mayle # Delta 88k system running SVR3 576*9712c20fSFrederick Mayle echo m88k-motorola-sysv3 577*9712c20fSFrederick Mayle exit ;; 578*9712c20fSFrederick Mayle XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 579*9712c20fSFrederick Mayle echo m88k-tektronix-sysv3 580*9712c20fSFrederick Mayle exit ;; 581*9712c20fSFrederick Mayle Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 582*9712c20fSFrederick Mayle echo m68k-tektronix-bsd 583*9712c20fSFrederick Mayle exit ;; 584*9712c20fSFrederick Mayle *:IRIX*:*:*) 585*9712c20fSFrederick Mayle echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')" 586*9712c20fSFrederick Mayle exit ;; 587*9712c20fSFrederick Mayle ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 588*9712c20fSFrederick Mayle echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 589*9712c20fSFrederick Mayle exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX ' 590*9712c20fSFrederick Mayle i*86:AIX:*:*) 591*9712c20fSFrederick Mayle echo i386-ibm-aix 592*9712c20fSFrederick Mayle exit ;; 593*9712c20fSFrederick Mayle ia64:AIX:*:*) 594*9712c20fSFrederick Mayle if test -x /usr/bin/oslevel ; then 595*9712c20fSFrederick Mayle IBM_REV=$(/usr/bin/oslevel) 596*9712c20fSFrederick Mayle else 597*9712c20fSFrederick Mayle IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" 598*9712c20fSFrederick Mayle fi 599*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" 600*9712c20fSFrederick Mayle exit ;; 601*9712c20fSFrederick Mayle *:AIX:2:3) 602*9712c20fSFrederick Mayle if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 603*9712c20fSFrederick Mayle set_cc_for_build 604*9712c20fSFrederick Mayle sed 's/^ //' << EOF > "$dummy.c" 605*9712c20fSFrederick Mayle #include <sys/systemcfg.h> 606*9712c20fSFrederick Mayle 607*9712c20fSFrederick Mayle main() 608*9712c20fSFrederick Mayle { 609*9712c20fSFrederick Mayle if (!__power_pc()) 610*9712c20fSFrederick Mayle exit(1); 611*9712c20fSFrederick Mayle puts("powerpc-ibm-aix3.2.5"); 612*9712c20fSFrederick Mayle exit(0); 613*9712c20fSFrederick Mayle } 614*9712c20fSFrederick MayleEOF 615*9712c20fSFrederick Mayle if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") 616*9712c20fSFrederick Mayle then 617*9712c20fSFrederick Mayle echo "$SYSTEM_NAME" 618*9712c20fSFrederick Mayle else 619*9712c20fSFrederick Mayle echo rs6000-ibm-aix3.2.5 620*9712c20fSFrederick Mayle fi 621*9712c20fSFrederick Mayle elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 622*9712c20fSFrederick Mayle echo rs6000-ibm-aix3.2.4 623*9712c20fSFrederick Mayle else 624*9712c20fSFrederick Mayle echo rs6000-ibm-aix3.2 625*9712c20fSFrederick Mayle fi 626*9712c20fSFrederick Mayle exit ;; 627*9712c20fSFrederick Mayle *:AIX:*:[4567]) 628*9712c20fSFrederick Mayle IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }') 629*9712c20fSFrederick Mayle if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 630*9712c20fSFrederick Mayle IBM_ARCH=rs6000 631*9712c20fSFrederick Mayle else 632*9712c20fSFrederick Mayle IBM_ARCH=powerpc 633*9712c20fSFrederick Mayle fi 634*9712c20fSFrederick Mayle if test -x /usr/bin/lslpp ; then 635*9712c20fSFrederick Mayle IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc | 636*9712c20fSFrederick Mayle awk -F: '{ print $3 }' | sed s/[0-9]*$/0/) 637*9712c20fSFrederick Mayle else 638*9712c20fSFrederick Mayle IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" 639*9712c20fSFrederick Mayle fi 640*9712c20fSFrederick Mayle echo "$IBM_ARCH"-ibm-aix"$IBM_REV" 641*9712c20fSFrederick Mayle exit ;; 642*9712c20fSFrederick Mayle *:AIX:*:*) 643*9712c20fSFrederick Mayle echo rs6000-ibm-aix 644*9712c20fSFrederick Mayle exit ;; 645*9712c20fSFrederick Mayle ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 646*9712c20fSFrederick Mayle echo romp-ibm-bsd4.4 647*9712c20fSFrederick Mayle exit ;; 648*9712c20fSFrederick Mayle ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 649*9712c20fSFrederick Mayle echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to 650*9712c20fSFrederick Mayle exit ;; # report: romp-ibm BSD 4.3 651*9712c20fSFrederick Mayle *:BOSX:*:*) 652*9712c20fSFrederick Mayle echo rs6000-bull-bosx 653*9712c20fSFrederick Mayle exit ;; 654*9712c20fSFrederick Mayle DPX/2?00:B.O.S.:*:*) 655*9712c20fSFrederick Mayle echo m68k-bull-sysv3 656*9712c20fSFrederick Mayle exit ;; 657*9712c20fSFrederick Mayle 9000/[34]??:4.3bsd:1.*:*) 658*9712c20fSFrederick Mayle echo m68k-hp-bsd 659*9712c20fSFrederick Mayle exit ;; 660*9712c20fSFrederick Mayle hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 661*9712c20fSFrederick Mayle echo m68k-hp-bsd4.4 662*9712c20fSFrederick Mayle exit ;; 663*9712c20fSFrederick Mayle 9000/[34678]??:HP-UX:*:*) 664*9712c20fSFrederick Mayle HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') 665*9712c20fSFrederick Mayle case "$UNAME_MACHINE" in 666*9712c20fSFrederick Mayle 9000/31?) HP_ARCH=m68000 ;; 667*9712c20fSFrederick Mayle 9000/[34]??) HP_ARCH=m68k ;; 668*9712c20fSFrederick Mayle 9000/[678][0-9][0-9]) 669*9712c20fSFrederick Mayle if test -x /usr/bin/getconf; then 670*9712c20fSFrederick Mayle sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) 671*9712c20fSFrederick Mayle sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) 672*9712c20fSFrederick Mayle case "$sc_cpu_version" in 673*9712c20fSFrederick Mayle 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 674*9712c20fSFrederick Mayle 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 675*9712c20fSFrederick Mayle 532) # CPU_PA_RISC2_0 676*9712c20fSFrederick Mayle case "$sc_kernel_bits" in 677*9712c20fSFrederick Mayle 32) HP_ARCH=hppa2.0n ;; 678*9712c20fSFrederick Mayle 64) HP_ARCH=hppa2.0w ;; 679*9712c20fSFrederick Mayle '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 680*9712c20fSFrederick Mayle esac ;; 681*9712c20fSFrederick Mayle esac 682*9712c20fSFrederick Mayle fi 683*9712c20fSFrederick Mayle if test "$HP_ARCH" = ""; then 684*9712c20fSFrederick Mayle set_cc_for_build 685*9712c20fSFrederick Mayle sed 's/^ //' << EOF > "$dummy.c" 686*9712c20fSFrederick Mayle 687*9712c20fSFrederick Mayle #define _HPUX_SOURCE 688*9712c20fSFrederick Mayle #include <stdlib.h> 689*9712c20fSFrederick Mayle #include <unistd.h> 690*9712c20fSFrederick Mayle 691*9712c20fSFrederick Mayle int main () 692*9712c20fSFrederick Mayle { 693*9712c20fSFrederick Mayle #if defined(_SC_KERNEL_BITS) 694*9712c20fSFrederick Mayle long bits = sysconf(_SC_KERNEL_BITS); 695*9712c20fSFrederick Mayle #endif 696*9712c20fSFrederick Mayle long cpu = sysconf (_SC_CPU_VERSION); 697*9712c20fSFrederick Mayle 698*9712c20fSFrederick Mayle switch (cpu) 699*9712c20fSFrederick Mayle { 700*9712c20fSFrederick Mayle case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 701*9712c20fSFrederick Mayle case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 702*9712c20fSFrederick Mayle case CPU_PA_RISC2_0: 703*9712c20fSFrederick Mayle #if defined(_SC_KERNEL_BITS) 704*9712c20fSFrederick Mayle switch (bits) 705*9712c20fSFrederick Mayle { 706*9712c20fSFrederick Mayle case 64: puts ("hppa2.0w"); break; 707*9712c20fSFrederick Mayle case 32: puts ("hppa2.0n"); break; 708*9712c20fSFrederick Mayle default: puts ("hppa2.0"); break; 709*9712c20fSFrederick Mayle } break; 710*9712c20fSFrederick Mayle #else /* !defined(_SC_KERNEL_BITS) */ 711*9712c20fSFrederick Mayle puts ("hppa2.0"); break; 712*9712c20fSFrederick Mayle #endif 713*9712c20fSFrederick Mayle default: puts ("hppa1.0"); break; 714*9712c20fSFrederick Mayle } 715*9712c20fSFrederick Mayle exit (0); 716*9712c20fSFrederick Mayle } 717*9712c20fSFrederick MayleEOF 718*9712c20fSFrederick Mayle (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy") 719*9712c20fSFrederick Mayle test -z "$HP_ARCH" && HP_ARCH=hppa 720*9712c20fSFrederick Mayle fi ;; 721*9712c20fSFrederick Mayle esac 722*9712c20fSFrederick Mayle if test "$HP_ARCH" = hppa2.0w 723*9712c20fSFrederick Mayle then 724*9712c20fSFrederick Mayle set_cc_for_build 725*9712c20fSFrederick Mayle 726*9712c20fSFrederick Mayle # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 727*9712c20fSFrederick Mayle # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 728*9712c20fSFrederick Mayle # generating 64-bit code. GNU and HP use different nomenclature: 729*9712c20fSFrederick Mayle # 730*9712c20fSFrederick Mayle # $ CC_FOR_BUILD=cc ./config.guess 731*9712c20fSFrederick Mayle # => hppa2.0w-hp-hpux11.23 732*9712c20fSFrederick Mayle # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 733*9712c20fSFrederick Mayle # => hppa64-hp-hpux11.23 734*9712c20fSFrederick Mayle 735*9712c20fSFrederick Mayle if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 736*9712c20fSFrederick Mayle grep -q __LP64__ 737*9712c20fSFrederick Mayle then 738*9712c20fSFrederick Mayle HP_ARCH=hppa2.0w 739*9712c20fSFrederick Mayle else 740*9712c20fSFrederick Mayle HP_ARCH=hppa64 741*9712c20fSFrederick Mayle fi 742*9712c20fSFrederick Mayle fi 743*9712c20fSFrederick Mayle echo "$HP_ARCH"-hp-hpux"$HPUX_REV" 744*9712c20fSFrederick Mayle exit ;; 745*9712c20fSFrederick Mayle ia64:HP-UX:*:*) 746*9712c20fSFrederick Mayle HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') 747*9712c20fSFrederick Mayle echo ia64-hp-hpux"$HPUX_REV" 748*9712c20fSFrederick Mayle exit ;; 749*9712c20fSFrederick Mayle 3050*:HI-UX:*:*) 750*9712c20fSFrederick Mayle set_cc_for_build 751*9712c20fSFrederick Mayle sed 's/^ //' << EOF > "$dummy.c" 752*9712c20fSFrederick Mayle #include <unistd.h> 753*9712c20fSFrederick Mayle int 754*9712c20fSFrederick Mayle main () 755*9712c20fSFrederick Mayle { 756*9712c20fSFrederick Mayle long cpu = sysconf (_SC_CPU_VERSION); 757*9712c20fSFrederick Mayle /* The order matters, because CPU_IS_HP_MC68K erroneously returns 758*9712c20fSFrederick Mayle true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 759*9712c20fSFrederick Mayle results, however. */ 760*9712c20fSFrederick Mayle if (CPU_IS_PA_RISC (cpu)) 761*9712c20fSFrederick Mayle { 762*9712c20fSFrederick Mayle switch (cpu) 763*9712c20fSFrederick Mayle { 764*9712c20fSFrederick Mayle case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 765*9712c20fSFrederick Mayle case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 766*9712c20fSFrederick Mayle case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 767*9712c20fSFrederick Mayle default: puts ("hppa-hitachi-hiuxwe2"); break; 768*9712c20fSFrederick Mayle } 769*9712c20fSFrederick Mayle } 770*9712c20fSFrederick Mayle else if (CPU_IS_HP_MC68K (cpu)) 771*9712c20fSFrederick Mayle puts ("m68k-hitachi-hiuxwe2"); 772*9712c20fSFrederick Mayle else puts ("unknown-hitachi-hiuxwe2"); 773*9712c20fSFrederick Mayle exit (0); 774*9712c20fSFrederick Mayle } 775*9712c20fSFrederick MayleEOF 776*9712c20fSFrederick Mayle $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") && 777*9712c20fSFrederick Mayle { echo "$SYSTEM_NAME"; exit; } 778*9712c20fSFrederick Mayle echo unknown-hitachi-hiuxwe2 779*9712c20fSFrederick Mayle exit ;; 780*9712c20fSFrederick Mayle 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 781*9712c20fSFrederick Mayle echo hppa1.1-hp-bsd 782*9712c20fSFrederick Mayle exit ;; 783*9712c20fSFrederick Mayle 9000/8??:4.3bsd:*:*) 784*9712c20fSFrederick Mayle echo hppa1.0-hp-bsd 785*9712c20fSFrederick Mayle exit ;; 786*9712c20fSFrederick Mayle *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 787*9712c20fSFrederick Mayle echo hppa1.0-hp-mpeix 788*9712c20fSFrederick Mayle exit ;; 789*9712c20fSFrederick Mayle hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 790*9712c20fSFrederick Mayle echo hppa1.1-hp-osf 791*9712c20fSFrederick Mayle exit ;; 792*9712c20fSFrederick Mayle hp8??:OSF1:*:*) 793*9712c20fSFrederick Mayle echo hppa1.0-hp-osf 794*9712c20fSFrederick Mayle exit ;; 795*9712c20fSFrederick Mayle i*86:OSF1:*:*) 796*9712c20fSFrederick Mayle if test -x /usr/sbin/sysversion ; then 797*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-osf1mk 798*9712c20fSFrederick Mayle else 799*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-osf1 800*9712c20fSFrederick Mayle fi 801*9712c20fSFrederick Mayle exit ;; 802*9712c20fSFrederick Mayle parisc*:Lites*:*:*) 803*9712c20fSFrederick Mayle echo hppa1.1-hp-lites 804*9712c20fSFrederick Mayle exit ;; 805*9712c20fSFrederick Mayle C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 806*9712c20fSFrederick Mayle echo c1-convex-bsd 807*9712c20fSFrederick Mayle exit ;; 808*9712c20fSFrederick Mayle C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 809*9712c20fSFrederick Mayle if getsysinfo -f scalar_acc 810*9712c20fSFrederick Mayle then echo c32-convex-bsd 811*9712c20fSFrederick Mayle else echo c2-convex-bsd 812*9712c20fSFrederick Mayle fi 813*9712c20fSFrederick Mayle exit ;; 814*9712c20fSFrederick Mayle C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 815*9712c20fSFrederick Mayle echo c34-convex-bsd 816*9712c20fSFrederick Mayle exit ;; 817*9712c20fSFrederick Mayle C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 818*9712c20fSFrederick Mayle echo c38-convex-bsd 819*9712c20fSFrederick Mayle exit ;; 820*9712c20fSFrederick Mayle C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 821*9712c20fSFrederick Mayle echo c4-convex-bsd 822*9712c20fSFrederick Mayle exit ;; 823*9712c20fSFrederick Mayle CRAY*Y-MP:*:*:*) 824*9712c20fSFrederick Mayle echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 825*9712c20fSFrederick Mayle exit ;; 826*9712c20fSFrederick Mayle CRAY*[A-Z]90:*:*:*) 827*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 828*9712c20fSFrederick Mayle | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 829*9712c20fSFrederick Mayle -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 830*9712c20fSFrederick Mayle -e 's/\.[^.]*$/.X/' 831*9712c20fSFrederick Mayle exit ;; 832*9712c20fSFrederick Mayle CRAY*TS:*:*:*) 833*9712c20fSFrederick Mayle echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 834*9712c20fSFrederick Mayle exit ;; 835*9712c20fSFrederick Mayle CRAY*T3E:*:*:*) 836*9712c20fSFrederick Mayle echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 837*9712c20fSFrederick Mayle exit ;; 838*9712c20fSFrederick Mayle CRAY*SV1:*:*:*) 839*9712c20fSFrederick Mayle echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 840*9712c20fSFrederick Mayle exit ;; 841*9712c20fSFrederick Mayle *:UNICOS/mp:*:*) 842*9712c20fSFrederick Mayle echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' 843*9712c20fSFrederick Mayle exit ;; 844*9712c20fSFrederick Mayle F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 845*9712c20fSFrederick Mayle FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz) 846*9712c20fSFrederick Mayle FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') 847*9712c20fSFrederick Mayle FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/') 848*9712c20fSFrederick Mayle echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 849*9712c20fSFrederick Mayle exit ;; 850*9712c20fSFrederick Mayle 5000:UNIX_System_V:4.*:*) 851*9712c20fSFrederick Mayle FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///') 852*9712c20fSFrederick Mayle FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/') 853*9712c20fSFrederick Mayle echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 854*9712c20fSFrederick Mayle exit ;; 855*9712c20fSFrederick Mayle i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 856*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" 857*9712c20fSFrederick Mayle exit ;; 858*9712c20fSFrederick Mayle sparc*:BSD/OS:*:*) 859*9712c20fSFrederick Mayle echo sparc-unknown-bsdi"$UNAME_RELEASE" 860*9712c20fSFrederick Mayle exit ;; 861*9712c20fSFrederick Mayle *:BSD/OS:*:*) 862*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" 863*9712c20fSFrederick Mayle exit ;; 864*9712c20fSFrederick Mayle arm:FreeBSD:*:*) 865*9712c20fSFrederick Mayle UNAME_PROCESSOR=$(uname -p) 866*9712c20fSFrederick Mayle set_cc_for_build 867*9712c20fSFrederick Mayle if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 868*9712c20fSFrederick Mayle | grep -q __ARM_PCS_VFP 869*9712c20fSFrederick Mayle then 870*9712c20fSFrederick Mayle echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi 871*9712c20fSFrederick Mayle else 872*9712c20fSFrederick Mayle echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf 873*9712c20fSFrederick Mayle fi 874*9712c20fSFrederick Mayle exit ;; 875*9712c20fSFrederick Mayle *:FreeBSD:*:*) 876*9712c20fSFrederick Mayle UNAME_PROCESSOR=$(/usr/bin/uname -p) 877*9712c20fSFrederick Mayle case "$UNAME_PROCESSOR" in 878*9712c20fSFrederick Mayle amd64) 879*9712c20fSFrederick Mayle UNAME_PROCESSOR=x86_64 ;; 880*9712c20fSFrederick Mayle i386) 881*9712c20fSFrederick Mayle UNAME_PROCESSOR=i586 ;; 882*9712c20fSFrederick Mayle esac 883*9712c20fSFrederick Mayle echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" 884*9712c20fSFrederick Mayle exit ;; 885*9712c20fSFrederick Mayle i*:CYGWIN*:*) 886*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-cygwin 887*9712c20fSFrederick Mayle exit ;; 888*9712c20fSFrederick Mayle *:MINGW64*:*) 889*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-mingw64 890*9712c20fSFrederick Mayle exit ;; 891*9712c20fSFrederick Mayle *:MINGW*:*) 892*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-mingw32 893*9712c20fSFrederick Mayle exit ;; 894*9712c20fSFrederick Mayle *:MSYS*:*) 895*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-msys 896*9712c20fSFrederick Mayle exit ;; 897*9712c20fSFrederick Mayle i*:PW*:*) 898*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-pw32 899*9712c20fSFrederick Mayle exit ;; 900*9712c20fSFrederick Mayle *:Interix*:*) 901*9712c20fSFrederick Mayle case "$UNAME_MACHINE" in 902*9712c20fSFrederick Mayle x86) 903*9712c20fSFrederick Mayle echo i586-pc-interix"$UNAME_RELEASE" 904*9712c20fSFrederick Mayle exit ;; 905*9712c20fSFrederick Mayle authenticamd | genuineintel | EM64T) 906*9712c20fSFrederick Mayle echo x86_64-unknown-interix"$UNAME_RELEASE" 907*9712c20fSFrederick Mayle exit ;; 908*9712c20fSFrederick Mayle IA64) 909*9712c20fSFrederick Mayle echo ia64-unknown-interix"$UNAME_RELEASE" 910*9712c20fSFrederick Mayle exit ;; 911*9712c20fSFrederick Mayle esac ;; 912*9712c20fSFrederick Mayle i*:UWIN*:*) 913*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-uwin 914*9712c20fSFrederick Mayle exit ;; 915*9712c20fSFrederick Mayle amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 916*9712c20fSFrederick Mayle echo x86_64-pc-cygwin 917*9712c20fSFrederick Mayle exit ;; 918*9712c20fSFrederick Mayle prep*:SunOS:5.*:*) 919*9712c20fSFrederick Mayle echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" 920*9712c20fSFrederick Mayle exit ;; 921*9712c20fSFrederick Mayle *:GNU:*:*) 922*9712c20fSFrederick Mayle # the GNU system 923*9712c20fSFrederick Mayle echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')" 924*9712c20fSFrederick Mayle exit ;; 925*9712c20fSFrederick Mayle *:GNU/*:*:*) 926*9712c20fSFrederick Mayle # other systems with GNU libc and userland 927*9712c20fSFrederick Mayle echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC" 928*9712c20fSFrederick Mayle exit ;; 929*9712c20fSFrederick Mayle *:Minix:*:*) 930*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-minix 931*9712c20fSFrederick Mayle exit ;; 932*9712c20fSFrederick Mayle aarch64:Linux:*:*) 933*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 934*9712c20fSFrederick Mayle exit ;; 935*9712c20fSFrederick Mayle aarch64_be:Linux:*:*) 936*9712c20fSFrederick Mayle UNAME_MACHINE=aarch64_be 937*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 938*9712c20fSFrederick Mayle exit ;; 939*9712c20fSFrederick Mayle alpha:Linux:*:*) 940*9712c20fSFrederick Mayle case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in 941*9712c20fSFrederick Mayle EV5) UNAME_MACHINE=alphaev5 ;; 942*9712c20fSFrederick Mayle EV56) UNAME_MACHINE=alphaev56 ;; 943*9712c20fSFrederick Mayle PCA56) UNAME_MACHINE=alphapca56 ;; 944*9712c20fSFrederick Mayle PCA57) UNAME_MACHINE=alphapca56 ;; 945*9712c20fSFrederick Mayle EV6) UNAME_MACHINE=alphaev6 ;; 946*9712c20fSFrederick Mayle EV67) UNAME_MACHINE=alphaev67 ;; 947*9712c20fSFrederick Mayle EV68*) UNAME_MACHINE=alphaev68 ;; 948*9712c20fSFrederick Mayle esac 949*9712c20fSFrederick Mayle objdump --private-headers /bin/sh | grep -q ld.so.1 950*9712c20fSFrederick Mayle if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 951*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 952*9712c20fSFrederick Mayle exit ;; 953*9712c20fSFrederick Mayle arc:Linux:*:* | arceb:Linux:*:*) 954*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 955*9712c20fSFrederick Mayle exit ;; 956*9712c20fSFrederick Mayle arm*:Linux:*:*) 957*9712c20fSFrederick Mayle set_cc_for_build 958*9712c20fSFrederick Mayle if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 959*9712c20fSFrederick Mayle | grep -q __ARM_EABI__ 960*9712c20fSFrederick Mayle then 961*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 962*9712c20fSFrederick Mayle else 963*9712c20fSFrederick Mayle if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 964*9712c20fSFrederick Mayle | grep -q __ARM_PCS_VFP 965*9712c20fSFrederick Mayle then 966*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi 967*9712c20fSFrederick Mayle else 968*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf 969*9712c20fSFrederick Mayle fi 970*9712c20fSFrederick Mayle fi 971*9712c20fSFrederick Mayle exit ;; 972*9712c20fSFrederick Mayle avr32*:Linux:*:*) 973*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 974*9712c20fSFrederick Mayle exit ;; 975*9712c20fSFrederick Mayle cris:Linux:*:*) 976*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-axis-linux-"$LIBC" 977*9712c20fSFrederick Mayle exit ;; 978*9712c20fSFrederick Mayle crisv32:Linux:*:*) 979*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-axis-linux-"$LIBC" 980*9712c20fSFrederick Mayle exit ;; 981*9712c20fSFrederick Mayle e2k:Linux:*:*) 982*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 983*9712c20fSFrederick Mayle exit ;; 984*9712c20fSFrederick Mayle frv:Linux:*:*) 985*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 986*9712c20fSFrederick Mayle exit ;; 987*9712c20fSFrederick Mayle hexagon:Linux:*:*) 988*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 989*9712c20fSFrederick Mayle exit ;; 990*9712c20fSFrederick Mayle i*86:Linux:*:*) 991*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-linux-"$LIBC" 992*9712c20fSFrederick Mayle exit ;; 993*9712c20fSFrederick Mayle ia64:Linux:*:*) 994*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 995*9712c20fSFrederick Mayle exit ;; 996*9712c20fSFrederick Mayle k1om:Linux:*:*) 997*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 998*9712c20fSFrederick Mayle exit ;; 999*9712c20fSFrederick Mayle loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) 1000*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1001*9712c20fSFrederick Mayle exit ;; 1002*9712c20fSFrederick Mayle m32r*:Linux:*:*) 1003*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1004*9712c20fSFrederick Mayle exit ;; 1005*9712c20fSFrederick Mayle m68*:Linux:*:*) 1006*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1007*9712c20fSFrederick Mayle exit ;; 1008*9712c20fSFrederick Mayle mips:Linux:*:* | mips64:Linux:*:*) 1009*9712c20fSFrederick Mayle set_cc_for_build 1010*9712c20fSFrederick Mayle IS_GLIBC=0 1011*9712c20fSFrederick Mayle test x"${LIBC}" = xgnu && IS_GLIBC=1 1012*9712c20fSFrederick Mayle sed 's/^ //' << EOF > "$dummy.c" 1013*9712c20fSFrederick Mayle #undef CPU 1014*9712c20fSFrederick Mayle #undef mips 1015*9712c20fSFrederick Mayle #undef mipsel 1016*9712c20fSFrederick Mayle #undef mips64 1017*9712c20fSFrederick Mayle #undef mips64el 1018*9712c20fSFrederick Mayle #if ${IS_GLIBC} && defined(_ABI64) 1019*9712c20fSFrederick Mayle LIBCABI=gnuabi64 1020*9712c20fSFrederick Mayle #else 1021*9712c20fSFrederick Mayle #if ${IS_GLIBC} && defined(_ABIN32) 1022*9712c20fSFrederick Mayle LIBCABI=gnuabin32 1023*9712c20fSFrederick Mayle #else 1024*9712c20fSFrederick Mayle LIBCABI=${LIBC} 1025*9712c20fSFrederick Mayle #endif 1026*9712c20fSFrederick Mayle #endif 1027*9712c20fSFrederick Mayle 1028*9712c20fSFrederick Mayle #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1029*9712c20fSFrederick Mayle CPU=mipsisa64r6 1030*9712c20fSFrederick Mayle #else 1031*9712c20fSFrederick Mayle #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1032*9712c20fSFrederick Mayle CPU=mipsisa32r6 1033*9712c20fSFrederick Mayle #else 1034*9712c20fSFrederick Mayle #if defined(__mips64) 1035*9712c20fSFrederick Mayle CPU=mips64 1036*9712c20fSFrederick Mayle #else 1037*9712c20fSFrederick Mayle CPU=mips 1038*9712c20fSFrederick Mayle #endif 1039*9712c20fSFrederick Mayle #endif 1040*9712c20fSFrederick Mayle #endif 1041*9712c20fSFrederick Mayle 1042*9712c20fSFrederick Mayle #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 1043*9712c20fSFrederick Mayle MIPS_ENDIAN=el 1044*9712c20fSFrederick Mayle #else 1045*9712c20fSFrederick Mayle #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 1046*9712c20fSFrederick Mayle MIPS_ENDIAN= 1047*9712c20fSFrederick Mayle #else 1048*9712c20fSFrederick Mayle MIPS_ENDIAN= 1049*9712c20fSFrederick Mayle #endif 1050*9712c20fSFrederick Mayle #endif 1051*9712c20fSFrederick MayleEOF 1052*9712c20fSFrederick Mayle eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')" 1053*9712c20fSFrederick Mayle test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1054*9712c20fSFrederick Mayle ;; 1055*9712c20fSFrederick Mayle mips64el:Linux:*:*) 1056*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1057*9712c20fSFrederick Mayle exit ;; 1058*9712c20fSFrederick Mayle openrisc*:Linux:*:*) 1059*9712c20fSFrederick Mayle echo or1k-unknown-linux-"$LIBC" 1060*9712c20fSFrederick Mayle exit ;; 1061*9712c20fSFrederick Mayle or32:Linux:*:* | or1k*:Linux:*:*) 1062*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1063*9712c20fSFrederick Mayle exit ;; 1064*9712c20fSFrederick Mayle padre:Linux:*:*) 1065*9712c20fSFrederick Mayle echo sparc-unknown-linux-"$LIBC" 1066*9712c20fSFrederick Mayle exit ;; 1067*9712c20fSFrederick Mayle parisc64:Linux:*:* | hppa64:Linux:*:*) 1068*9712c20fSFrederick Mayle echo hppa64-unknown-linux-"$LIBC" 1069*9712c20fSFrederick Mayle exit ;; 1070*9712c20fSFrederick Mayle parisc:Linux:*:* | hppa:Linux:*:*) 1071*9712c20fSFrederick Mayle # Look for CPU level 1072*9712c20fSFrederick Mayle case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in 1073*9712c20fSFrederick Mayle PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; 1074*9712c20fSFrederick Mayle PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; 1075*9712c20fSFrederick Mayle *) echo hppa-unknown-linux-"$LIBC" ;; 1076*9712c20fSFrederick Mayle esac 1077*9712c20fSFrederick Mayle exit ;; 1078*9712c20fSFrederick Mayle ppc64:Linux:*:*) 1079*9712c20fSFrederick Mayle echo powerpc64-unknown-linux-"$LIBC" 1080*9712c20fSFrederick Mayle exit ;; 1081*9712c20fSFrederick Mayle ppc:Linux:*:*) 1082*9712c20fSFrederick Mayle echo powerpc-unknown-linux-"$LIBC" 1083*9712c20fSFrederick Mayle exit ;; 1084*9712c20fSFrederick Mayle ppc64le:Linux:*:*) 1085*9712c20fSFrederick Mayle echo powerpc64le-unknown-linux-"$LIBC" 1086*9712c20fSFrederick Mayle exit ;; 1087*9712c20fSFrederick Mayle ppcle:Linux:*:*) 1088*9712c20fSFrederick Mayle echo powerpcle-unknown-linux-"$LIBC" 1089*9712c20fSFrederick Mayle exit ;; 1090*9712c20fSFrederick Mayle riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 1091*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1092*9712c20fSFrederick Mayle exit ;; 1093*9712c20fSFrederick Mayle s390:Linux:*:* | s390x:Linux:*:*) 1094*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" 1095*9712c20fSFrederick Mayle exit ;; 1096*9712c20fSFrederick Mayle sh64*:Linux:*:*) 1097*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1098*9712c20fSFrederick Mayle exit ;; 1099*9712c20fSFrederick Mayle sh*:Linux:*:*) 1100*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1101*9712c20fSFrederick Mayle exit ;; 1102*9712c20fSFrederick Mayle sparc:Linux:*:* | sparc64:Linux:*:*) 1103*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1104*9712c20fSFrederick Mayle exit ;; 1105*9712c20fSFrederick Mayle tile*:Linux:*:*) 1106*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1107*9712c20fSFrederick Mayle exit ;; 1108*9712c20fSFrederick Mayle vax:Linux:*:*) 1109*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-dec-linux-"$LIBC" 1110*9712c20fSFrederick Mayle exit ;; 1111*9712c20fSFrederick Mayle x86_64:Linux:*:*) 1112*9712c20fSFrederick Mayle set_cc_for_build 1113*9712c20fSFrederick Mayle LIBCABI=$LIBC 1114*9712c20fSFrederick Mayle if test "$CC_FOR_BUILD" != no_compiler_found; then 1115*9712c20fSFrederick Mayle if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ 1116*9712c20fSFrederick Mayle (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1117*9712c20fSFrederick Mayle grep IS_X32 >/dev/null 1118*9712c20fSFrederick Mayle then 1119*9712c20fSFrederick Mayle LIBCABI="$LIBC"x32 1120*9712c20fSFrederick Mayle fi 1121*9712c20fSFrederick Mayle fi 1122*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" 1123*9712c20fSFrederick Mayle exit ;; 1124*9712c20fSFrederick Mayle xtensa*:Linux:*:*) 1125*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" 1126*9712c20fSFrederick Mayle exit ;; 1127*9712c20fSFrederick Mayle i*86:DYNIX/ptx:4*:*) 1128*9712c20fSFrederick Mayle # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1129*9712c20fSFrederick Mayle # earlier versions are messed up and put the nodename in both 1130*9712c20fSFrederick Mayle # sysname and nodename. 1131*9712c20fSFrederick Mayle echo i386-sequent-sysv4 1132*9712c20fSFrederick Mayle exit ;; 1133*9712c20fSFrederick Mayle i*86:UNIX_SV:4.2MP:2.*) 1134*9712c20fSFrederick Mayle # Unixware is an offshoot of SVR4, but it has its own version 1135*9712c20fSFrederick Mayle # number series starting with 2... 1136*9712c20fSFrederick Mayle # I am not positive that other SVR4 systems won't match this, 1137*9712c20fSFrederick Mayle # I just have to hope. -- rms. 1138*9712c20fSFrederick Mayle # Use sysv4.2uw... so that sysv4* matches it. 1139*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" 1140*9712c20fSFrederick Mayle exit ;; 1141*9712c20fSFrederick Mayle i*86:OS/2:*:*) 1142*9712c20fSFrederick Mayle # If we were able to find `uname', then EMX Unix compatibility 1143*9712c20fSFrederick Mayle # is probably installed. 1144*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-os2-emx 1145*9712c20fSFrederick Mayle exit ;; 1146*9712c20fSFrederick Mayle i*86:XTS-300:*:STOP) 1147*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-stop 1148*9712c20fSFrederick Mayle exit ;; 1149*9712c20fSFrederick Mayle i*86:atheos:*:*) 1150*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-atheos 1151*9712c20fSFrederick Mayle exit ;; 1152*9712c20fSFrederick Mayle i*86:syllable:*:*) 1153*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-syllable 1154*9712c20fSFrederick Mayle exit ;; 1155*9712c20fSFrederick Mayle i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1156*9712c20fSFrederick Mayle echo i386-unknown-lynxos"$UNAME_RELEASE" 1157*9712c20fSFrederick Mayle exit ;; 1158*9712c20fSFrederick Mayle i*86:*DOS:*:*) 1159*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-msdosdjgpp 1160*9712c20fSFrederick Mayle exit ;; 1161*9712c20fSFrederick Mayle i*86:*:4.*:*) 1162*9712c20fSFrederick Mayle UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//') 1163*9712c20fSFrederick Mayle if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1164*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" 1165*9712c20fSFrederick Mayle else 1166*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" 1167*9712c20fSFrederick Mayle fi 1168*9712c20fSFrederick Mayle exit ;; 1169*9712c20fSFrederick Mayle i*86:*:5:[678]*) 1170*9712c20fSFrederick Mayle # UnixWare 7.x, OpenUNIX and OpenServer 6. 1171*9712c20fSFrederick Mayle case $(/bin/uname -X | grep "^Machine") in 1172*9712c20fSFrederick Mayle *486*) UNAME_MACHINE=i486 ;; 1173*9712c20fSFrederick Mayle *Pentium) UNAME_MACHINE=i586 ;; 1174*9712c20fSFrederick Mayle *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1175*9712c20fSFrederick Mayle esac 1176*9712c20fSFrederick Mayle echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" 1177*9712c20fSFrederick Mayle exit ;; 1178*9712c20fSFrederick Mayle i*86:*:3.2:*) 1179*9712c20fSFrederick Mayle if test -f /usr/options/cb.name; then 1180*9712c20fSFrederick Mayle UNAME_REL=$(sed -n 's/.*Version //p' </usr/options/cb.name) 1181*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL" 1182*9712c20fSFrederick Mayle elif /bin/uname -X 2>/dev/null >/dev/null ; then 1183*9712c20fSFrederick Mayle UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //')) 1184*9712c20fSFrederick Mayle (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1185*9712c20fSFrederick Mayle (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1186*9712c20fSFrederick Mayle && UNAME_MACHINE=i586 1187*9712c20fSFrederick Mayle (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1188*9712c20fSFrederick Mayle && UNAME_MACHINE=i686 1189*9712c20fSFrederick Mayle (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1190*9712c20fSFrederick Mayle && UNAME_MACHINE=i686 1191*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" 1192*9712c20fSFrederick Mayle else 1193*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-sysv32 1194*9712c20fSFrederick Mayle fi 1195*9712c20fSFrederick Mayle exit ;; 1196*9712c20fSFrederick Mayle pc:*:*:*) 1197*9712c20fSFrederick Mayle # Left here for compatibility: 1198*9712c20fSFrederick Mayle # uname -m prints for DJGPP always 'pc', but it prints nothing about 1199*9712c20fSFrederick Mayle # the processor, so we play safe by assuming i586. 1200*9712c20fSFrederick Mayle # Note: whatever this is, it MUST be the same as what config.sub 1201*9712c20fSFrederick Mayle # prints for the "djgpp" host, or else GDB configure will decide that 1202*9712c20fSFrederick Mayle # this is a cross-build. 1203*9712c20fSFrederick Mayle echo i586-pc-msdosdjgpp 1204*9712c20fSFrederick Mayle exit ;; 1205*9712c20fSFrederick Mayle Intel:Mach:3*:*) 1206*9712c20fSFrederick Mayle echo i386-pc-mach3 1207*9712c20fSFrederick Mayle exit ;; 1208*9712c20fSFrederick Mayle paragon:*:*:*) 1209*9712c20fSFrederick Mayle echo i860-intel-osf1 1210*9712c20fSFrederick Mayle exit ;; 1211*9712c20fSFrederick Mayle i860:*:4.*:*) # i860-SVR4 1212*9712c20fSFrederick Mayle if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1213*9712c20fSFrederick Mayle echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 1214*9712c20fSFrederick Mayle else # Add other i860-SVR4 vendors below as they are discovered. 1215*9712c20fSFrederick Mayle echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 1216*9712c20fSFrederick Mayle fi 1217*9712c20fSFrederick Mayle exit ;; 1218*9712c20fSFrederick Mayle mini*:CTIX:SYS*5:*) 1219*9712c20fSFrederick Mayle # "miniframe" 1220*9712c20fSFrederick Mayle echo m68010-convergent-sysv 1221*9712c20fSFrederick Mayle exit ;; 1222*9712c20fSFrederick Mayle mc68k:UNIX:SYSTEM5:3.51m) 1223*9712c20fSFrederick Mayle echo m68k-convergent-sysv 1224*9712c20fSFrederick Mayle exit ;; 1225*9712c20fSFrederick Mayle M680?0:D-NIX:5.3:*) 1226*9712c20fSFrederick Mayle echo m68k-diab-dnix 1227*9712c20fSFrederick Mayle exit ;; 1228*9712c20fSFrederick Mayle M68*:*:R3V[5678]*:*) 1229*9712c20fSFrederick Mayle test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1230*9712c20fSFrederick Mayle 3[345]??:*: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 | S7501*:*:4.0:3.0) 1231*9712c20fSFrederick Mayle OS_REL='' 1232*9712c20fSFrederick Mayle test -r /etc/.relid \ 1233*9712c20fSFrederick Mayle && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) 1234*9712c20fSFrederick Mayle /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1235*9712c20fSFrederick Mayle && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1236*9712c20fSFrederick Mayle /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1237*9712c20fSFrederick Mayle && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1238*9712c20fSFrederick Mayle 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1239*9712c20fSFrederick Mayle /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1240*9712c20fSFrederick Mayle && { echo i486-ncr-sysv4; exit; } ;; 1241*9712c20fSFrederick Mayle NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1242*9712c20fSFrederick Mayle OS_REL='.3' 1243*9712c20fSFrederick Mayle test -r /etc/.relid \ 1244*9712c20fSFrederick Mayle && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid) 1245*9712c20fSFrederick Mayle /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1246*9712c20fSFrederick Mayle && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1247*9712c20fSFrederick Mayle /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1248*9712c20fSFrederick Mayle && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 1249*9712c20fSFrederick Mayle /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1250*9712c20fSFrederick Mayle && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1251*9712c20fSFrederick Mayle m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1252*9712c20fSFrederick Mayle echo m68k-unknown-lynxos"$UNAME_RELEASE" 1253*9712c20fSFrederick Mayle exit ;; 1254*9712c20fSFrederick Mayle mc68030:UNIX_System_V:4.*:*) 1255*9712c20fSFrederick Mayle echo m68k-atari-sysv4 1256*9712c20fSFrederick Mayle exit ;; 1257*9712c20fSFrederick Mayle TSUNAMI:LynxOS:2.*:*) 1258*9712c20fSFrederick Mayle echo sparc-unknown-lynxos"$UNAME_RELEASE" 1259*9712c20fSFrederick Mayle exit ;; 1260*9712c20fSFrederick Mayle rs6000:LynxOS:2.*:*) 1261*9712c20fSFrederick Mayle echo rs6000-unknown-lynxos"$UNAME_RELEASE" 1262*9712c20fSFrederick Mayle exit ;; 1263*9712c20fSFrederick Mayle PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1264*9712c20fSFrederick Mayle echo powerpc-unknown-lynxos"$UNAME_RELEASE" 1265*9712c20fSFrederick Mayle exit ;; 1266*9712c20fSFrederick Mayle SM[BE]S:UNIX_SV:*:*) 1267*9712c20fSFrederick Mayle echo mips-dde-sysv"$UNAME_RELEASE" 1268*9712c20fSFrederick Mayle exit ;; 1269*9712c20fSFrederick Mayle RM*:ReliantUNIX-*:*:*) 1270*9712c20fSFrederick Mayle echo mips-sni-sysv4 1271*9712c20fSFrederick Mayle exit ;; 1272*9712c20fSFrederick Mayle RM*:SINIX-*:*:*) 1273*9712c20fSFrederick Mayle echo mips-sni-sysv4 1274*9712c20fSFrederick Mayle exit ;; 1275*9712c20fSFrederick Mayle *:SINIX-*:*:*) 1276*9712c20fSFrederick Mayle if uname -p 2>/dev/null >/dev/null ; then 1277*9712c20fSFrederick Mayle UNAME_MACHINE=$( (uname -p) 2>/dev/null) 1278*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-sni-sysv4 1279*9712c20fSFrederick Mayle else 1280*9712c20fSFrederick Mayle echo ns32k-sni-sysv 1281*9712c20fSFrederick Mayle fi 1282*9712c20fSFrederick Mayle exit ;; 1283*9712c20fSFrederick Mayle PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1284*9712c20fSFrederick Mayle # says <[email protected]> 1285*9712c20fSFrederick Mayle echo i586-unisys-sysv4 1286*9712c20fSFrederick Mayle exit ;; 1287*9712c20fSFrederick Mayle *:UNIX_System_V:4*:FTX*) 1288*9712c20fSFrederick Mayle # From Gerald Hewes <[email protected]>. 1289*9712c20fSFrederick Mayle # How about differentiating between stratus architectures? -djm 1290*9712c20fSFrederick Mayle echo hppa1.1-stratus-sysv4 1291*9712c20fSFrederick Mayle exit ;; 1292*9712c20fSFrederick Mayle *:*:*:FTX*) 1293*9712c20fSFrederick Mayle # From [email protected]. 1294*9712c20fSFrederick Mayle echo i860-stratus-sysv4 1295*9712c20fSFrederick Mayle exit ;; 1296*9712c20fSFrederick Mayle i*86:VOS:*:*) 1297*9712c20fSFrederick Mayle # From [email protected]. 1298*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-stratus-vos 1299*9712c20fSFrederick Mayle exit ;; 1300*9712c20fSFrederick Mayle *:VOS:*:*) 1301*9712c20fSFrederick Mayle # From [email protected]. 1302*9712c20fSFrederick Mayle echo hppa1.1-stratus-vos 1303*9712c20fSFrederick Mayle exit ;; 1304*9712c20fSFrederick Mayle mc68*:A/UX:*:*) 1305*9712c20fSFrederick Mayle echo m68k-apple-aux"$UNAME_RELEASE" 1306*9712c20fSFrederick Mayle exit ;; 1307*9712c20fSFrederick Mayle news*:NEWS-OS:6*:*) 1308*9712c20fSFrederick Mayle echo mips-sony-newsos6 1309*9712c20fSFrederick Mayle exit ;; 1310*9712c20fSFrederick Mayle R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1311*9712c20fSFrederick Mayle if test -d /usr/nec; then 1312*9712c20fSFrederick Mayle echo mips-nec-sysv"$UNAME_RELEASE" 1313*9712c20fSFrederick Mayle else 1314*9712c20fSFrederick Mayle echo mips-unknown-sysv"$UNAME_RELEASE" 1315*9712c20fSFrederick Mayle fi 1316*9712c20fSFrederick Mayle exit ;; 1317*9712c20fSFrederick Mayle BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1318*9712c20fSFrederick Mayle echo powerpc-be-beos 1319*9712c20fSFrederick Mayle exit ;; 1320*9712c20fSFrederick Mayle BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1321*9712c20fSFrederick Mayle echo powerpc-apple-beos 1322*9712c20fSFrederick Mayle exit ;; 1323*9712c20fSFrederick Mayle BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1324*9712c20fSFrederick Mayle echo i586-pc-beos 1325*9712c20fSFrederick Mayle exit ;; 1326*9712c20fSFrederick Mayle BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1327*9712c20fSFrederick Mayle echo i586-pc-haiku 1328*9712c20fSFrederick Mayle exit ;; 1329*9712c20fSFrederick Mayle x86_64:Haiku:*:*) 1330*9712c20fSFrederick Mayle echo x86_64-unknown-haiku 1331*9712c20fSFrederick Mayle exit ;; 1332*9712c20fSFrederick Mayle SX-4:SUPER-UX:*:*) 1333*9712c20fSFrederick Mayle echo sx4-nec-superux"$UNAME_RELEASE" 1334*9712c20fSFrederick Mayle exit ;; 1335*9712c20fSFrederick Mayle SX-5:SUPER-UX:*:*) 1336*9712c20fSFrederick Mayle echo sx5-nec-superux"$UNAME_RELEASE" 1337*9712c20fSFrederick Mayle exit ;; 1338*9712c20fSFrederick Mayle SX-6:SUPER-UX:*:*) 1339*9712c20fSFrederick Mayle echo sx6-nec-superux"$UNAME_RELEASE" 1340*9712c20fSFrederick Mayle exit ;; 1341*9712c20fSFrederick Mayle SX-7:SUPER-UX:*:*) 1342*9712c20fSFrederick Mayle echo sx7-nec-superux"$UNAME_RELEASE" 1343*9712c20fSFrederick Mayle exit ;; 1344*9712c20fSFrederick Mayle SX-8:SUPER-UX:*:*) 1345*9712c20fSFrederick Mayle echo sx8-nec-superux"$UNAME_RELEASE" 1346*9712c20fSFrederick Mayle exit ;; 1347*9712c20fSFrederick Mayle SX-8R:SUPER-UX:*:*) 1348*9712c20fSFrederick Mayle echo sx8r-nec-superux"$UNAME_RELEASE" 1349*9712c20fSFrederick Mayle exit ;; 1350*9712c20fSFrederick Mayle SX-ACE:SUPER-UX:*:*) 1351*9712c20fSFrederick Mayle echo sxace-nec-superux"$UNAME_RELEASE" 1352*9712c20fSFrederick Mayle exit ;; 1353*9712c20fSFrederick Mayle Power*:Rhapsody:*:*) 1354*9712c20fSFrederick Mayle echo powerpc-apple-rhapsody"$UNAME_RELEASE" 1355*9712c20fSFrederick Mayle exit ;; 1356*9712c20fSFrederick Mayle *:Rhapsody:*:*) 1357*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" 1358*9712c20fSFrederick Mayle exit ;; 1359*9712c20fSFrederick Mayle arm64:Darwin:*:*) 1360*9712c20fSFrederick Mayle echo aarch64-apple-darwin"$UNAME_RELEASE" 1361*9712c20fSFrederick Mayle exit ;; 1362*9712c20fSFrederick Mayle *:Darwin:*:*) 1363*9712c20fSFrederick Mayle UNAME_PROCESSOR=$(uname -p) 1364*9712c20fSFrederick Mayle case $UNAME_PROCESSOR in 1365*9712c20fSFrederick Mayle unknown) UNAME_PROCESSOR=powerpc ;; 1366*9712c20fSFrederick Mayle esac 1367*9712c20fSFrederick Mayle if command -v xcode-select > /dev/null 2> /dev/null && \ 1368*9712c20fSFrederick Mayle ! xcode-select --print-path > /dev/null 2> /dev/null ; then 1369*9712c20fSFrederick Mayle # Avoid executing cc if there is no toolchain installed as 1370*9712c20fSFrederick Mayle # cc will be a stub that puts up a graphical alert 1371*9712c20fSFrederick Mayle # prompting the user to install developer tools. 1372*9712c20fSFrederick Mayle CC_FOR_BUILD=no_compiler_found 1373*9712c20fSFrederick Mayle else 1374*9712c20fSFrederick Mayle set_cc_for_build 1375*9712c20fSFrederick Mayle fi 1376*9712c20fSFrederick Mayle if test "$CC_FOR_BUILD" != no_compiler_found; then 1377*9712c20fSFrederick Mayle if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1378*9712c20fSFrederick Mayle (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1379*9712c20fSFrederick Mayle grep IS_64BIT_ARCH >/dev/null 1380*9712c20fSFrederick Mayle then 1381*9712c20fSFrederick Mayle case $UNAME_PROCESSOR in 1382*9712c20fSFrederick Mayle i386) UNAME_PROCESSOR=x86_64 ;; 1383*9712c20fSFrederick Mayle powerpc) UNAME_PROCESSOR=powerpc64 ;; 1384*9712c20fSFrederick Mayle esac 1385*9712c20fSFrederick Mayle fi 1386*9712c20fSFrederick Mayle # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 1387*9712c20fSFrederick Mayle if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 1388*9712c20fSFrederick Mayle (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1389*9712c20fSFrederick Mayle grep IS_PPC >/dev/null 1390*9712c20fSFrederick Mayle then 1391*9712c20fSFrederick Mayle UNAME_PROCESSOR=powerpc 1392*9712c20fSFrederick Mayle fi 1393*9712c20fSFrederick Mayle elif test "$UNAME_PROCESSOR" = i386 ; then 1394*9712c20fSFrederick Mayle # uname -m returns i386 or x86_64 1395*9712c20fSFrederick Mayle UNAME_PROCESSOR=$UNAME_MACHINE 1396*9712c20fSFrederick Mayle fi 1397*9712c20fSFrederick Mayle echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" 1398*9712c20fSFrederick Mayle exit ;; 1399*9712c20fSFrederick Mayle *:procnto*:*:* | *:QNX:[0123456789]*:*) 1400*9712c20fSFrederick Mayle UNAME_PROCESSOR=$(uname -p) 1401*9712c20fSFrederick Mayle if test "$UNAME_PROCESSOR" = x86; then 1402*9712c20fSFrederick Mayle UNAME_PROCESSOR=i386 1403*9712c20fSFrederick Mayle UNAME_MACHINE=pc 1404*9712c20fSFrederick Mayle fi 1405*9712c20fSFrederick Mayle echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" 1406*9712c20fSFrederick Mayle exit ;; 1407*9712c20fSFrederick Mayle *:QNX:*:4*) 1408*9712c20fSFrederick Mayle echo i386-pc-qnx 1409*9712c20fSFrederick Mayle exit ;; 1410*9712c20fSFrederick Mayle NEO-*:NONSTOP_KERNEL:*:*) 1411*9712c20fSFrederick Mayle echo neo-tandem-nsk"$UNAME_RELEASE" 1412*9712c20fSFrederick Mayle exit ;; 1413*9712c20fSFrederick Mayle NSE-*:NONSTOP_KERNEL:*:*) 1414*9712c20fSFrederick Mayle echo nse-tandem-nsk"$UNAME_RELEASE" 1415*9712c20fSFrederick Mayle exit ;; 1416*9712c20fSFrederick Mayle NSR-*:NONSTOP_KERNEL:*:*) 1417*9712c20fSFrederick Mayle echo nsr-tandem-nsk"$UNAME_RELEASE" 1418*9712c20fSFrederick Mayle exit ;; 1419*9712c20fSFrederick Mayle NSV-*:NONSTOP_KERNEL:*:*) 1420*9712c20fSFrederick Mayle echo nsv-tandem-nsk"$UNAME_RELEASE" 1421*9712c20fSFrederick Mayle exit ;; 1422*9712c20fSFrederick Mayle NSX-*:NONSTOP_KERNEL:*:*) 1423*9712c20fSFrederick Mayle echo nsx-tandem-nsk"$UNAME_RELEASE" 1424*9712c20fSFrederick Mayle exit ;; 1425*9712c20fSFrederick Mayle *:NonStop-UX:*:*) 1426*9712c20fSFrederick Mayle echo mips-compaq-nonstopux 1427*9712c20fSFrederick Mayle exit ;; 1428*9712c20fSFrederick Mayle BS2000:POSIX*:*:*) 1429*9712c20fSFrederick Mayle echo bs2000-siemens-sysv 1430*9712c20fSFrederick Mayle exit ;; 1431*9712c20fSFrederick Mayle DS/*:UNIX_System_V:*:*) 1432*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" 1433*9712c20fSFrederick Mayle exit ;; 1434*9712c20fSFrederick Mayle *:Plan9:*:*) 1435*9712c20fSFrederick Mayle # "uname -m" is not consistent, so use $cputype instead. 386 1436*9712c20fSFrederick Mayle # is converted to i386 for consistency with other x86 1437*9712c20fSFrederick Mayle # operating systems. 1438*9712c20fSFrederick Mayle # shellcheck disable=SC2154 1439*9712c20fSFrederick Mayle if test "$cputype" = 386; then 1440*9712c20fSFrederick Mayle UNAME_MACHINE=i386 1441*9712c20fSFrederick Mayle else 1442*9712c20fSFrederick Mayle UNAME_MACHINE="$cputype" 1443*9712c20fSFrederick Mayle fi 1444*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-plan9 1445*9712c20fSFrederick Mayle exit ;; 1446*9712c20fSFrederick Mayle *:TOPS-10:*:*) 1447*9712c20fSFrederick Mayle echo pdp10-unknown-tops10 1448*9712c20fSFrederick Mayle exit ;; 1449*9712c20fSFrederick Mayle *:TENEX:*:*) 1450*9712c20fSFrederick Mayle echo pdp10-unknown-tenex 1451*9712c20fSFrederick Mayle exit ;; 1452*9712c20fSFrederick Mayle KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1453*9712c20fSFrederick Mayle echo pdp10-dec-tops20 1454*9712c20fSFrederick Mayle exit ;; 1455*9712c20fSFrederick Mayle XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1456*9712c20fSFrederick Mayle echo pdp10-xkl-tops20 1457*9712c20fSFrederick Mayle exit ;; 1458*9712c20fSFrederick Mayle *:TOPS-20:*:*) 1459*9712c20fSFrederick Mayle echo pdp10-unknown-tops20 1460*9712c20fSFrederick Mayle exit ;; 1461*9712c20fSFrederick Mayle *:ITS:*:*) 1462*9712c20fSFrederick Mayle echo pdp10-unknown-its 1463*9712c20fSFrederick Mayle exit ;; 1464*9712c20fSFrederick Mayle SEI:*:*:SEIUX) 1465*9712c20fSFrederick Mayle echo mips-sei-seiux"$UNAME_RELEASE" 1466*9712c20fSFrederick Mayle exit ;; 1467*9712c20fSFrederick Mayle *:DragonFly:*:*) 1468*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')" 1469*9712c20fSFrederick Mayle exit ;; 1470*9712c20fSFrederick Mayle *:*VMS:*:*) 1471*9712c20fSFrederick Mayle UNAME_MACHINE=$( (uname -p) 2>/dev/null) 1472*9712c20fSFrederick Mayle case "$UNAME_MACHINE" in 1473*9712c20fSFrederick Mayle A*) echo alpha-dec-vms ; exit ;; 1474*9712c20fSFrederick Mayle I*) echo ia64-dec-vms ; exit ;; 1475*9712c20fSFrederick Mayle V*) echo vax-dec-vms ; exit ;; 1476*9712c20fSFrederick Mayle esac ;; 1477*9712c20fSFrederick Mayle *:XENIX:*:SysV) 1478*9712c20fSFrederick Mayle echo i386-pc-xenix 1479*9712c20fSFrederick Mayle exit ;; 1480*9712c20fSFrederick Mayle i*86:skyos:*:*) 1481*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')" 1482*9712c20fSFrederick Mayle exit ;; 1483*9712c20fSFrederick Mayle i*86:rdos:*:*) 1484*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-rdos 1485*9712c20fSFrederick Mayle exit ;; 1486*9712c20fSFrederick Mayle i*86:AROS:*:*) 1487*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-pc-aros 1488*9712c20fSFrederick Mayle exit ;; 1489*9712c20fSFrederick Mayle x86_64:VMkernel:*:*) 1490*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-esx 1491*9712c20fSFrederick Mayle exit ;; 1492*9712c20fSFrederick Mayle amd64:Isilon\ OneFS:*:*) 1493*9712c20fSFrederick Mayle echo x86_64-unknown-onefs 1494*9712c20fSFrederick Mayle exit ;; 1495*9712c20fSFrederick Mayle *:Unleashed:*:*) 1496*9712c20fSFrederick Mayle echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" 1497*9712c20fSFrederick Mayle exit ;; 1498*9712c20fSFrederick Mayleesac 1499*9712c20fSFrederick Mayle 1500*9712c20fSFrederick Mayle# No uname command or uname output not recognized. 1501*9712c20fSFrederick Mayleset_cc_for_build 1502*9712c20fSFrederick Maylecat > "$dummy.c" <<EOF 1503*9712c20fSFrederick Mayle#ifdef _SEQUENT_ 1504*9712c20fSFrederick Mayle#include <sys/types.h> 1505*9712c20fSFrederick Mayle#include <sys/utsname.h> 1506*9712c20fSFrederick Mayle#endif 1507*9712c20fSFrederick Mayle#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1508*9712c20fSFrederick Mayle#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1509*9712c20fSFrederick Mayle#include <signal.h> 1510*9712c20fSFrederick Mayle#if defined(_SIZE_T_) || defined(SIGLOST) 1511*9712c20fSFrederick Mayle#include <sys/utsname.h> 1512*9712c20fSFrederick Mayle#endif 1513*9712c20fSFrederick Mayle#endif 1514*9712c20fSFrederick Mayle#endif 1515*9712c20fSFrederick Maylemain () 1516*9712c20fSFrederick Mayle{ 1517*9712c20fSFrederick Mayle#if defined (sony) 1518*9712c20fSFrederick Mayle#if defined (MIPSEB) 1519*9712c20fSFrederick Mayle /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1520*9712c20fSFrederick Mayle I don't know.... */ 1521*9712c20fSFrederick Mayle printf ("mips-sony-bsd\n"); exit (0); 1522*9712c20fSFrederick Mayle#else 1523*9712c20fSFrederick Mayle#include <sys/param.h> 1524*9712c20fSFrederick Mayle printf ("m68k-sony-newsos%s\n", 1525*9712c20fSFrederick Mayle#ifdef NEWSOS4 1526*9712c20fSFrederick Mayle "4" 1527*9712c20fSFrederick Mayle#else 1528*9712c20fSFrederick Mayle "" 1529*9712c20fSFrederick Mayle#endif 1530*9712c20fSFrederick Mayle ); exit (0); 1531*9712c20fSFrederick Mayle#endif 1532*9712c20fSFrederick Mayle#endif 1533*9712c20fSFrederick Mayle 1534*9712c20fSFrederick Mayle#if defined (NeXT) 1535*9712c20fSFrederick Mayle#if !defined (__ARCHITECTURE__) 1536*9712c20fSFrederick Mayle#define __ARCHITECTURE__ "m68k" 1537*9712c20fSFrederick Mayle#endif 1538*9712c20fSFrederick Mayle int version; 1539*9712c20fSFrederick Mayle version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null); 1540*9712c20fSFrederick Mayle if (version < 4) 1541*9712c20fSFrederick Mayle printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1542*9712c20fSFrederick Mayle else 1543*9712c20fSFrederick Mayle printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1544*9712c20fSFrederick Mayle exit (0); 1545*9712c20fSFrederick Mayle#endif 1546*9712c20fSFrederick Mayle 1547*9712c20fSFrederick Mayle#if defined (MULTIMAX) || defined (n16) 1548*9712c20fSFrederick Mayle#if defined (UMAXV) 1549*9712c20fSFrederick Mayle printf ("ns32k-encore-sysv\n"); exit (0); 1550*9712c20fSFrederick Mayle#else 1551*9712c20fSFrederick Mayle#if defined (CMU) 1552*9712c20fSFrederick Mayle printf ("ns32k-encore-mach\n"); exit (0); 1553*9712c20fSFrederick Mayle#else 1554*9712c20fSFrederick Mayle printf ("ns32k-encore-bsd\n"); exit (0); 1555*9712c20fSFrederick Mayle#endif 1556*9712c20fSFrederick Mayle#endif 1557*9712c20fSFrederick Mayle#endif 1558*9712c20fSFrederick Mayle 1559*9712c20fSFrederick Mayle#if defined (__386BSD__) 1560*9712c20fSFrederick Mayle printf ("i386-pc-bsd\n"); exit (0); 1561*9712c20fSFrederick Mayle#endif 1562*9712c20fSFrederick Mayle 1563*9712c20fSFrederick Mayle#if defined (sequent) 1564*9712c20fSFrederick Mayle#if defined (i386) 1565*9712c20fSFrederick Mayle printf ("i386-sequent-dynix\n"); exit (0); 1566*9712c20fSFrederick Mayle#endif 1567*9712c20fSFrederick Mayle#if defined (ns32000) 1568*9712c20fSFrederick Mayle printf ("ns32k-sequent-dynix\n"); exit (0); 1569*9712c20fSFrederick Mayle#endif 1570*9712c20fSFrederick Mayle#endif 1571*9712c20fSFrederick Mayle 1572*9712c20fSFrederick Mayle#if defined (_SEQUENT_) 1573*9712c20fSFrederick Mayle struct utsname un; 1574*9712c20fSFrederick Mayle 1575*9712c20fSFrederick Mayle uname(&un); 1576*9712c20fSFrederick Mayle if (strncmp(un.version, "V2", 2) == 0) { 1577*9712c20fSFrederick Mayle printf ("i386-sequent-ptx2\n"); exit (0); 1578*9712c20fSFrederick Mayle } 1579*9712c20fSFrederick Mayle if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1580*9712c20fSFrederick Mayle printf ("i386-sequent-ptx1\n"); exit (0); 1581*9712c20fSFrederick Mayle } 1582*9712c20fSFrederick Mayle printf ("i386-sequent-ptx\n"); exit (0); 1583*9712c20fSFrederick Mayle#endif 1584*9712c20fSFrederick Mayle 1585*9712c20fSFrederick Mayle#if defined (vax) 1586*9712c20fSFrederick Mayle#if !defined (ultrix) 1587*9712c20fSFrederick Mayle#include <sys/param.h> 1588*9712c20fSFrederick Mayle#if defined (BSD) 1589*9712c20fSFrederick Mayle#if BSD == 43 1590*9712c20fSFrederick Mayle printf ("vax-dec-bsd4.3\n"); exit (0); 1591*9712c20fSFrederick Mayle#else 1592*9712c20fSFrederick Mayle#if BSD == 199006 1593*9712c20fSFrederick Mayle printf ("vax-dec-bsd4.3reno\n"); exit (0); 1594*9712c20fSFrederick Mayle#else 1595*9712c20fSFrederick Mayle printf ("vax-dec-bsd\n"); exit (0); 1596*9712c20fSFrederick Mayle#endif 1597*9712c20fSFrederick Mayle#endif 1598*9712c20fSFrederick Mayle#else 1599*9712c20fSFrederick Mayle printf ("vax-dec-bsd\n"); exit (0); 1600*9712c20fSFrederick Mayle#endif 1601*9712c20fSFrederick Mayle#else 1602*9712c20fSFrederick Mayle#if defined(_SIZE_T_) || defined(SIGLOST) 1603*9712c20fSFrederick Mayle struct utsname un; 1604*9712c20fSFrederick Mayle uname (&un); 1605*9712c20fSFrederick Mayle printf ("vax-dec-ultrix%s\n", un.release); exit (0); 1606*9712c20fSFrederick Mayle#else 1607*9712c20fSFrederick Mayle printf ("vax-dec-ultrix\n"); exit (0); 1608*9712c20fSFrederick Mayle#endif 1609*9712c20fSFrederick Mayle#endif 1610*9712c20fSFrederick Mayle#endif 1611*9712c20fSFrederick Mayle#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1612*9712c20fSFrederick Mayle#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1613*9712c20fSFrederick Mayle#if defined(_SIZE_T_) || defined(SIGLOST) 1614*9712c20fSFrederick Mayle struct utsname *un; 1615*9712c20fSFrederick Mayle uname (&un); 1616*9712c20fSFrederick Mayle printf ("mips-dec-ultrix%s\n", un.release); exit (0); 1617*9712c20fSFrederick Mayle#else 1618*9712c20fSFrederick Mayle printf ("mips-dec-ultrix\n"); exit (0); 1619*9712c20fSFrederick Mayle#endif 1620*9712c20fSFrederick Mayle#endif 1621*9712c20fSFrederick Mayle#endif 1622*9712c20fSFrederick Mayle 1623*9712c20fSFrederick Mayle#if defined (alliant) && defined (i860) 1624*9712c20fSFrederick Mayle printf ("i860-alliant-bsd\n"); exit (0); 1625*9712c20fSFrederick Mayle#endif 1626*9712c20fSFrederick Mayle 1627*9712c20fSFrederick Mayle exit (1); 1628*9712c20fSFrederick Mayle} 1629*9712c20fSFrederick MayleEOF 1630*9712c20fSFrederick Mayle 1631*9712c20fSFrederick Mayle$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) && 1632*9712c20fSFrederick Mayle { echo "$SYSTEM_NAME"; exit; } 1633*9712c20fSFrederick Mayle 1634*9712c20fSFrederick Mayle# Apollos put the system type in the environment. 1635*9712c20fSFrederick Mayletest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 1636*9712c20fSFrederick Mayle 1637*9712c20fSFrederick Mayleecho "$0: unable to guess system type" >&2 1638*9712c20fSFrederick Mayle 1639*9712c20fSFrederick Maylecase "$UNAME_MACHINE:$UNAME_SYSTEM" in 1640*9712c20fSFrederick Mayle mips:Linux | mips64:Linux) 1641*9712c20fSFrederick Mayle # If we got here on MIPS GNU/Linux, output extra information. 1642*9712c20fSFrederick Mayle cat >&2 <<EOF 1643*9712c20fSFrederick Mayle 1644*9712c20fSFrederick MayleNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 1645*9712c20fSFrederick Maylethe system type. Please install a C compiler and try again. 1646*9712c20fSFrederick MayleEOF 1647*9712c20fSFrederick Mayle ;; 1648*9712c20fSFrederick Mayleesac 1649*9712c20fSFrederick Mayle 1650*9712c20fSFrederick Maylecat >&2 <<EOF 1651*9712c20fSFrederick Mayle 1652*9712c20fSFrederick MayleThis script (version $timestamp), has failed to recognize the 1653*9712c20fSFrederick Mayleoperating system you are using. If your script is old, overwrite *all* 1654*9712c20fSFrederick Maylecopies of config.guess and config.sub with the latest versions from: 1655*9712c20fSFrederick Mayle 1656*9712c20fSFrederick Mayle https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 1657*9712c20fSFrederick Mayleand 1658*9712c20fSFrederick Mayle https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 1659*9712c20fSFrederick MayleEOF 1660*9712c20fSFrederick Mayle 1661*9712c20fSFrederick Mayleyear=$(echo $timestamp | sed 's,-.*,,') 1662*9712c20fSFrederick Mayle# shellcheck disable=SC2003 1663*9712c20fSFrederick Mayleif test "$(expr "$(date +%Y)" - "$year")" -lt 3 ; then 1664*9712c20fSFrederick Mayle cat >&2 <<EOF 1665*9712c20fSFrederick Mayle 1666*9712c20fSFrederick MayleIf $0 has already been updated, send the following data and any 1667*9712c20fSFrederick Mayleinformation you think might be pertinent to [email protected] to 1668*9712c20fSFrederick Mayleprovide the necessary information to handle your system. 1669*9712c20fSFrederick Mayle 1670*9712c20fSFrederick Mayleconfig.guess timestamp = $timestamp 1671*9712c20fSFrederick Mayle 1672*9712c20fSFrederick Mayleuname -m = $( (uname -m) 2>/dev/null || echo unknown) 1673*9712c20fSFrederick Mayleuname -r = $( (uname -r) 2>/dev/null || echo unknown) 1674*9712c20fSFrederick Mayleuname -s = $( (uname -s) 2>/dev/null || echo unknown) 1675*9712c20fSFrederick Mayleuname -v = $( (uname -v) 2>/dev/null || echo unknown) 1676*9712c20fSFrederick Mayle 1677*9712c20fSFrederick Mayle/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null) 1678*9712c20fSFrederick Mayle/bin/uname -X = $( (/bin/uname -X) 2>/dev/null) 1679*9712c20fSFrederick Mayle 1680*9712c20fSFrederick Maylehostinfo = $( (hostinfo) 2>/dev/null) 1681*9712c20fSFrederick Mayle/bin/universe = $( (/bin/universe) 2>/dev/null) 1682*9712c20fSFrederick Mayle/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null) 1683*9712c20fSFrederick Mayle/bin/arch = $( (/bin/arch) 2>/dev/null) 1684*9712c20fSFrederick Mayle/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null) 1685*9712c20fSFrederick Mayle/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null) 1686*9712c20fSFrederick Mayle 1687*9712c20fSFrederick MayleUNAME_MACHINE = "$UNAME_MACHINE" 1688*9712c20fSFrederick MayleUNAME_RELEASE = "$UNAME_RELEASE" 1689*9712c20fSFrederick MayleUNAME_SYSTEM = "$UNAME_SYSTEM" 1690*9712c20fSFrederick MayleUNAME_VERSION = "$UNAME_VERSION" 1691*9712c20fSFrederick MayleEOF 1692*9712c20fSFrederick Maylefi 1693*9712c20fSFrederick Mayle 1694*9712c20fSFrederick Mayleexit 1 1695*9712c20fSFrederick Mayle 1696*9712c20fSFrederick Mayle# Local variables: 1697*9712c20fSFrederick Mayle# eval: (add-hook 'before-save-hook 'time-stamp) 1698*9712c20fSFrederick Mayle# time-stamp-start: "timestamp='" 1699*9712c20fSFrederick Mayle# time-stamp-format: "%:y-%02m-%02d" 1700*9712c20fSFrederick Mayle# time-stamp-end: "'" 1701*9712c20fSFrederick Mayle# End: 1702