config.guess revision 4901b09e
1145b7b3cSmrg#! /bin/sh 2145b7b3cSmrg# Attempt to guess a canonical system name. 34901b09eSmrg# Copyright 1992-2023 Free Software Foundation, Inc. 4145b7b3cSmrg 5da2e2ef6Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale 6da2e2ef6Smrg 74901b09eSmrgtimestamp='2023-01-01' 8145b7b3cSmrg 9145b7b3cSmrg# This file is free software; you can redistribute it and/or modify it 10145b7b3cSmrg# under the terms of the GNU General Public License as published by 114901b09eSmrg# the Free Software Foundation, either version 3 of the License, or 12145b7b3cSmrg# (at your option) any later version. 13145b7b3cSmrg# 14145b7b3cSmrg# This program is distributed in the hope that it will be useful, but 15145b7b3cSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16145b7b3cSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17145b7b3cSmrg# General Public License for more details. 18145b7b3cSmrg# 19145b7b3cSmrg# You should have received a copy of the GNU General Public License 20b7d26471Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 21145b7b3cSmrg# 22145b7b3cSmrg# As a special exception to the GNU General Public License, if you 23145b7b3cSmrg# distribute this file as part of a program that contains a 24145b7b3cSmrg# configuration script generated by Autoconf, you may include it under 25b7d26471Smrg# the same distribution terms that you use for the rest of that 26b7d26471Smrg# program. This Exception is an additional permission under section 7 27b7d26471Smrg# of the GNU General Public License, version 3 ("GPLv3"). 28145b7b3cSmrg# 29b7d26471Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 30145b7b3cSmrg# 315ffd6003Smrg# You can get the latest version of this script from: 32da2e2ef6Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 33b7d26471Smrg# 34b7d26471Smrg# Please send patches to <config-patches@gnu.org>. 35b7d26471Smrg 36145b7b3cSmrg 37da2e2ef6Smrg# The "shellcheck disable" line above the timestamp inhibits complaints 38da2e2ef6Smrg# about features and limitations of the classic Bourne shell that were 39da2e2ef6Smrg# superseded or lifted in POSIX. However, this script identifies a wide 40da2e2ef6Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 41da2e2ef6Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still 42da2e2ef6Smrg# have a pre-POSIX /bin/sh. 43da2e2ef6Smrg 44da2e2ef6Smrg 45145b7b3cSmrgme=`echo "$0" | sed -e 's,.*/,,'` 46145b7b3cSmrg 47145b7b3cSmrgusage="\ 48145b7b3cSmrgUsage: $0 [OPTION] 49145b7b3cSmrg 50145b7b3cSmrgOutput the configuration name of the system \`$me' is run on. 51145b7b3cSmrg 52b7d26471SmrgOptions: 53145b7b3cSmrg -h, --help print this help, then exit 54145b7b3cSmrg -t, --time-stamp print date of last modification, then exit 55145b7b3cSmrg -v, --version print version number, then exit 56145b7b3cSmrg 57145b7b3cSmrgReport bugs and patches to <config-patches@gnu.org>." 58145b7b3cSmrg 59145b7b3cSmrgversion="\ 60145b7b3cSmrgGNU config.guess ($timestamp) 61145b7b3cSmrg 62145b7b3cSmrgOriginally written by Per Bothner. 634901b09eSmrgCopyright 1992-2023 Free Software Foundation, Inc. 64145b7b3cSmrg 65145b7b3cSmrgThis is free software; see the source for copying conditions. There is NO 66145b7b3cSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 67145b7b3cSmrg 68145b7b3cSmrghelp=" 69145b7b3cSmrgTry \`$me --help' for more information." 70145b7b3cSmrg 71145b7b3cSmrg# Parse command line 72145b7b3cSmrgwhile test $# -gt 0 ; do 73145b7b3cSmrg case $1 in 74145b7b3cSmrg --time-stamp | --time* | -t ) 75145b7b3cSmrg echo "$timestamp" ; exit ;; 76145b7b3cSmrg --version | -v ) 77145b7b3cSmrg echo "$version" ; exit ;; 78145b7b3cSmrg --help | --h* | -h ) 79145b7b3cSmrg echo "$usage"; exit ;; 80145b7b3cSmrg -- ) # Stop option processing 81145b7b3cSmrg shift; break ;; 82145b7b3cSmrg - ) # Use stdin as input. 83145b7b3cSmrg break ;; 84145b7b3cSmrg -* ) 85145b7b3cSmrg echo "$me: invalid option $1$help" >&2 86145b7b3cSmrg exit 1 ;; 87145b7b3cSmrg * ) 88145b7b3cSmrg break ;; 89145b7b3cSmrg esac 90145b7b3cSmrgdone 91145b7b3cSmrg 92145b7b3cSmrgif test $# != 0; then 93145b7b3cSmrg echo "$me: too many arguments$help" >&2 94145b7b3cSmrg exit 1 95145b7b3cSmrgfi 96145b7b3cSmrg 97da2e2ef6Smrg# Just in case it came from the environment. 98da2e2ef6SmrgGUESS= 99145b7b3cSmrg 100145b7b3cSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 101145b7b3cSmrg# compiler to aid in system detection is discouraged as it requires 102145b7b3cSmrg# temporary files to be created and, as you can see below, it is a 103145b7b3cSmrg# headache to deal with in a portable fashion. 104145b7b3cSmrg 105145b7b3cSmrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 106145b7b3cSmrg# use `HOST_CC' if defined, but it is deprecated. 107145b7b3cSmrg 108145b7b3cSmrg# Portable tmp directory creation inspired by the Autoconf team. 109145b7b3cSmrg 110da2e2ef6Smrgtmp= 111da2e2ef6Smrg# shellcheck disable=SC2172 112da2e2ef6Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 113da2e2ef6Smrg 114da2e2ef6Smrgset_cc_for_build() { 115da2e2ef6Smrg # prevent multiple calls if $tmp is already set 116da2e2ef6Smrg test "$tmp" && return 0 117da2e2ef6Smrg : "${TMPDIR=/tmp}" 118da2e2ef6Smrg # shellcheck disable=SC2039,SC3028 119da2e2ef6Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 120da2e2ef6Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 121da2e2ef6Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 122da2e2ef6Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 123da2e2ef6Smrg dummy=$tmp/dummy 124da2e2ef6Smrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 125da2e2ef6Smrg ,,) echo "int x;" > "$dummy.c" 126da2e2ef6Smrg for driver in cc gcc c89 c99 ; do 127da2e2ef6Smrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 128da2e2ef6Smrg CC_FOR_BUILD=$driver 129da2e2ef6Smrg break 130da2e2ef6Smrg fi 131da2e2ef6Smrg done 132da2e2ef6Smrg if test x"$CC_FOR_BUILD" = x ; then 133da2e2ef6Smrg CC_FOR_BUILD=no_compiler_found 134da2e2ef6Smrg fi 135da2e2ef6Smrg ;; 136da2e2ef6Smrg ,,*) CC_FOR_BUILD=$CC ;; 137da2e2ef6Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 138da2e2ef6Smrg esac 139da2e2ef6Smrg} 140145b7b3cSmrg 141145b7b3cSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 142145b7b3cSmrg# (ghazi@noc.rutgers.edu 1994-08-24) 143da2e2ef6Smrgif test -f /.attbin/uname ; then 144145b7b3cSmrg PATH=$PATH:/.attbin ; export PATH 145145b7b3cSmrgfi 146145b7b3cSmrg 147145b7b3cSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 148145b7b3cSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 149da2e2ef6SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 150145b7b3cSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 151145b7b3cSmrg 152da2e2ef6Smrgcase $UNAME_SYSTEM in 153b7d26471SmrgLinux|GNU|GNU/*) 154da2e2ef6Smrg LIBC=unknown 155b7d26471Smrg 156da2e2ef6Smrg set_cc_for_build 157b7d26471Smrg cat <<-EOF > "$dummy.c" 158b7d26471Smrg #include <features.h> 159b7d26471Smrg #if defined(__UCLIBC__) 160b7d26471Smrg LIBC=uclibc 161b7d26471Smrg #elif defined(__dietlibc__) 162b7d26471Smrg LIBC=dietlibc 163da2e2ef6Smrg #elif defined(__GLIBC__) 164b7d26471Smrg LIBC=gnu 165da2e2ef6Smrg #else 166da2e2ef6Smrg #include <stdarg.h> 167da2e2ef6Smrg /* First heuristic to detect musl libc. */ 168da2e2ef6Smrg #ifdef __DEFINED_va_list 169da2e2ef6Smrg LIBC=musl 170da2e2ef6Smrg #endif 171b7d26471Smrg #endif 172b7d26471Smrg EOF 173da2e2ef6Smrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 174da2e2ef6Smrg eval "$cc_set_libc" 175b7d26471Smrg 176da2e2ef6Smrg # Second heuristic to detect musl libc. 177da2e2ef6Smrg if [ "$LIBC" = unknown ] && 178da2e2ef6Smrg command -v ldd >/dev/null && 179da2e2ef6Smrg ldd --version 2>&1 | grep -q ^musl; then 180da2e2ef6Smrg LIBC=musl 181da2e2ef6Smrg fi 182da2e2ef6Smrg 183da2e2ef6Smrg # If the system lacks a compiler, then just pick glibc. 184da2e2ef6Smrg # We could probably try harder. 185da2e2ef6Smrg if [ "$LIBC" = unknown ]; then 186da2e2ef6Smrg LIBC=gnu 187b7d26471Smrg fi 188b7d26471Smrg ;; 189b7d26471Smrgesac 190b7d26471Smrg 191145b7b3cSmrg# Note: order is significant - the case branches are not exclusive. 192145b7b3cSmrg 193da2e2ef6Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 194145b7b3cSmrg *:NetBSD:*:*) 195145b7b3cSmrg # NetBSD (nbsd) targets should (where applicable) match one or 196b7d26471Smrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 197145b7b3cSmrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 198145b7b3cSmrg # switched to ELF, *-*-netbsd* would select the old 199145b7b3cSmrg # object file format. This provides both forward 200145b7b3cSmrg # compatibility and a consistent mechanism for selecting the 201145b7b3cSmrg # object file format. 202145b7b3cSmrg # 203145b7b3cSmrg # Note: NetBSD doesn't particularly care about the vendor 204145b7b3cSmrg # portion of the name. We always set it to "unknown". 205b7d26471Smrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 206da2e2ef6Smrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 207da2e2ef6Smrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 208b7d26471Smrg echo unknown)` 209da2e2ef6Smrg case $UNAME_MACHINE_ARCH in 210da2e2ef6Smrg aarch64eb) machine=aarch64_be-unknown ;; 211145b7b3cSmrg armeb) machine=armeb-unknown ;; 212145b7b3cSmrg arm*) machine=arm-unknown ;; 213145b7b3cSmrg sh3el) machine=shl-unknown ;; 214145b7b3cSmrg sh3eb) machine=sh-unknown ;; 215578741aaSmrg sh5el) machine=sh5le-unknown ;; 216b7d26471Smrg earmv*) 217b7d26471Smrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 218b7d26471Smrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 219da2e2ef6Smrg machine=${arch}${endian}-unknown 220b7d26471Smrg ;; 221da2e2ef6Smrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 222145b7b3cSmrg esac 223145b7b3cSmrg # The Operating System including object format, if it has switched 224b7d26471Smrg # to ELF recently (or will in the future) and ABI. 225da2e2ef6Smrg case $UNAME_MACHINE_ARCH in 226b7d26471Smrg earm*) 227b7d26471Smrg os=netbsdelf 228b7d26471Smrg ;; 229145b7b3cSmrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 230da2e2ef6Smrg set_cc_for_build 231145b7b3cSmrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 2325ffd6003Smrg | grep -q __ELF__ 233145b7b3cSmrg then 234145b7b3cSmrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 235145b7b3cSmrg # Return netbsd for either. FIX? 236145b7b3cSmrg os=netbsd 237145b7b3cSmrg else 238145b7b3cSmrg os=netbsdelf 239145b7b3cSmrg fi 240145b7b3cSmrg ;; 241145b7b3cSmrg *) 242b7d26471Smrg os=netbsd 243b7d26471Smrg ;; 244b7d26471Smrg esac 245b7d26471Smrg # Determine ABI tags. 246da2e2ef6Smrg case $UNAME_MACHINE_ARCH in 247b7d26471Smrg earm*) 248b7d26471Smrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 249b7d26471Smrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 250145b7b3cSmrg ;; 251145b7b3cSmrg esac 252145b7b3cSmrg # The OS release 253145b7b3cSmrg # Debian GNU/NetBSD machines have a different userland, and 254145b7b3cSmrg # thus, need a distinct triplet. However, they do not need 255145b7b3cSmrg # kernel version information, so it can be replaced with a 256145b7b3cSmrg # suitable tag, in the style of linux-gnu. 257da2e2ef6Smrg case $UNAME_VERSION in 258145b7b3cSmrg Debian*) 259145b7b3cSmrg release='-gnu' 260145b7b3cSmrg ;; 261145b7b3cSmrg *) 262b7d26471Smrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 263145b7b3cSmrg ;; 264145b7b3cSmrg esac 265145b7b3cSmrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 266145b7b3cSmrg # contains redundant information, the shorter form: 267145b7b3cSmrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 268da2e2ef6Smrg GUESS=$machine-${os}${release}${abi-} 269da2e2ef6Smrg ;; 270b7d26471Smrg *:Bitrig:*:*) 271b7d26471Smrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 272da2e2ef6Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 273da2e2ef6Smrg ;; 274145b7b3cSmrg *:OpenBSD:*:*) 275145b7b3cSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 276da2e2ef6Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 277da2e2ef6Smrg ;; 278da2e2ef6Smrg *:SecBSD:*:*) 279da2e2ef6Smrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 280da2e2ef6Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 281da2e2ef6Smrg ;; 282b7d26471Smrg *:LibertyBSD:*:*) 283b7d26471Smrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 284da2e2ef6Smrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 285da2e2ef6Smrg ;; 286b7d26471Smrg *:MidnightBSD:*:*) 287da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 288da2e2ef6Smrg ;; 289145b7b3cSmrg *:ekkoBSD:*:*) 290da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 291da2e2ef6Smrg ;; 292578741aaSmrg *:SolidBSD:*:*) 293da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 294da2e2ef6Smrg ;; 295da2e2ef6Smrg *:OS108:*:*) 296da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 297da2e2ef6Smrg ;; 298145b7b3cSmrg macppc:MirBSD:*:*) 299da2e2ef6Smrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 300da2e2ef6Smrg ;; 301145b7b3cSmrg *:MirBSD:*:*) 302da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 303da2e2ef6Smrg ;; 304b7d26471Smrg *:Sortix:*:*) 305da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-sortix 306da2e2ef6Smrg ;; 307da2e2ef6Smrg *:Twizzler:*:*) 308da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-twizzler 309da2e2ef6Smrg ;; 310b7d26471Smrg *:Redox:*:*) 311da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-redox 312da2e2ef6Smrg ;; 313b7d26471Smrg mips:OSF1:*.*) 314da2e2ef6Smrg GUESS=mips-dec-osf1 315da2e2ef6Smrg ;; 316145b7b3cSmrg alpha:OSF1:*:*) 317da2e2ef6Smrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 318da2e2ef6Smrg trap '' 0 319145b7b3cSmrg case $UNAME_RELEASE in 320145b7b3cSmrg *4.0) 321145b7b3cSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 322145b7b3cSmrg ;; 323145b7b3cSmrg *5.*) 324b7d26471Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 325145b7b3cSmrg ;; 326145b7b3cSmrg esac 327145b7b3cSmrg # According to Compaq, /usr/sbin/psrinfo has been available on 328145b7b3cSmrg # OSF/1 and Tru64 systems produced since 1995. I hope that 329145b7b3cSmrg # covers most systems running today. This code pipes the CPU 330145b7b3cSmrg # types through head -n 1, so we only detect the type of CPU 0. 331145b7b3cSmrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 332da2e2ef6Smrg case $ALPHA_CPU_TYPE in 333145b7b3cSmrg "EV4 (21064)") 334b7d26471Smrg UNAME_MACHINE=alpha ;; 335145b7b3cSmrg "EV4.5 (21064)") 336b7d26471Smrg UNAME_MACHINE=alpha ;; 337145b7b3cSmrg "LCA4 (21066/21068)") 338b7d26471Smrg UNAME_MACHINE=alpha ;; 339145b7b3cSmrg "EV5 (21164)") 340b7d26471Smrg UNAME_MACHINE=alphaev5 ;; 341145b7b3cSmrg "EV5.6 (21164A)") 342b7d26471Smrg UNAME_MACHINE=alphaev56 ;; 343145b7b3cSmrg "EV5.6 (21164PC)") 344b7d26471Smrg UNAME_MACHINE=alphapca56 ;; 345145b7b3cSmrg "EV5.7 (21164PC)") 346b7d26471Smrg UNAME_MACHINE=alphapca57 ;; 347145b7b3cSmrg "EV6 (21264)") 348b7d26471Smrg UNAME_MACHINE=alphaev6 ;; 349145b7b3cSmrg "EV6.7 (21264A)") 350b7d26471Smrg UNAME_MACHINE=alphaev67 ;; 351145b7b3cSmrg "EV6.8CB (21264C)") 352b7d26471Smrg UNAME_MACHINE=alphaev68 ;; 353145b7b3cSmrg "EV6.8AL (21264B)") 354b7d26471Smrg UNAME_MACHINE=alphaev68 ;; 355145b7b3cSmrg "EV6.8CX (21264D)") 356b7d26471Smrg UNAME_MACHINE=alphaev68 ;; 357145b7b3cSmrg "EV6.9A (21264/EV69A)") 358b7d26471Smrg UNAME_MACHINE=alphaev69 ;; 359145b7b3cSmrg "EV7 (21364)") 360b7d26471Smrg UNAME_MACHINE=alphaev7 ;; 361145b7b3cSmrg "EV7.9 (21364A)") 362b7d26471Smrg UNAME_MACHINE=alphaev79 ;; 363145b7b3cSmrg esac 364145b7b3cSmrg # A Pn.n version is a patched version. 365145b7b3cSmrg # A Vn.n version is a released version. 366145b7b3cSmrg # A Tn.n version is a released field test version. 367145b7b3cSmrg # A Xn.n version is an unreleased experimental baselevel. 368145b7b3cSmrg # 1.2 uses "1.2" for uname -r. 369da2e2ef6Smrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 370da2e2ef6Smrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 371da2e2ef6Smrg ;; 372145b7b3cSmrg Amiga*:UNIX_System_V:4.0:*) 373da2e2ef6Smrg GUESS=m68k-unknown-sysv4 374da2e2ef6Smrg ;; 375145b7b3cSmrg *:[Aa]miga[Oo][Ss]:*:*) 376da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-amigaos 377da2e2ef6Smrg ;; 378145b7b3cSmrg *:[Mm]orph[Oo][Ss]:*:*) 379da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-morphos 380da2e2ef6Smrg ;; 381145b7b3cSmrg *:OS/390:*:*) 382da2e2ef6Smrg GUESS=i370-ibm-openedition 383da2e2ef6Smrg ;; 384145b7b3cSmrg *:z/VM:*:*) 385da2e2ef6Smrg GUESS=s390-ibm-zvmoe 386da2e2ef6Smrg ;; 387145b7b3cSmrg *:OS400:*:*) 388da2e2ef6Smrg GUESS=powerpc-ibm-os400 389da2e2ef6Smrg ;; 390145b7b3cSmrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 391da2e2ef6Smrg GUESS=arm-acorn-riscix$UNAME_RELEASE 392da2e2ef6Smrg ;; 393b7d26471Smrg arm*:riscos:*:*|arm*:RISCOS:*:*) 394da2e2ef6Smrg GUESS=arm-unknown-riscos 395da2e2ef6Smrg ;; 396145b7b3cSmrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 397da2e2ef6Smrg GUESS=hppa1.1-hitachi-hiuxmpp 398da2e2ef6Smrg ;; 399145b7b3cSmrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 400145b7b3cSmrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 401da2e2ef6Smrg case `(/bin/universe) 2>/dev/null` in 402da2e2ef6Smrg att) GUESS=pyramid-pyramid-sysv3 ;; 403da2e2ef6Smrg *) GUESS=pyramid-pyramid-bsd ;; 404da2e2ef6Smrg esac 405da2e2ef6Smrg ;; 406145b7b3cSmrg NILE*:*:*:dcosx) 407da2e2ef6Smrg GUESS=pyramid-pyramid-svr4 408da2e2ef6Smrg ;; 409145b7b3cSmrg DRS?6000:unix:4.0:6*) 410da2e2ef6Smrg GUESS=sparc-icl-nx6 411da2e2ef6Smrg ;; 412145b7b3cSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 413145b7b3cSmrg case `/usr/bin/uname -p` in 414da2e2ef6Smrg sparc) GUESS=sparc-icl-nx7 ;; 415da2e2ef6Smrg esac 416da2e2ef6Smrg ;; 4175ffd6003Smrg s390x:SunOS:*:*) 418da2e2ef6Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 419da2e2ef6Smrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 420da2e2ef6Smrg ;; 421145b7b3cSmrg sun4H:SunOS:5.*:*) 422da2e2ef6Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 423da2e2ef6Smrg GUESS=sparc-hal-solaris2$SUN_REL 424da2e2ef6Smrg ;; 425145b7b3cSmrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 426da2e2ef6Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 427da2e2ef6Smrg GUESS=sparc-sun-solaris2$SUN_REL 428da2e2ef6Smrg ;; 4295ffd6003Smrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 430da2e2ef6Smrg GUESS=i386-pc-auroraux$UNAME_RELEASE 431da2e2ef6Smrg ;; 432578741aaSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 433da2e2ef6Smrg set_cc_for_build 434b7d26471Smrg SUN_ARCH=i386 4355ffd6003Smrg # If there is a compiler, see if it is configured for 64-bit objects. 4365ffd6003Smrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 4375ffd6003Smrg # This test works for both compilers. 438da2e2ef6Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 4395ffd6003Smrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 4404901b09eSmrg (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 4415ffd6003Smrg grep IS_64BIT_ARCH >/dev/null 4425ffd6003Smrg then 443b7d26471Smrg SUN_ARCH=x86_64 4445ffd6003Smrg fi 4455ffd6003Smrg fi 446da2e2ef6Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 447da2e2ef6Smrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 448da2e2ef6Smrg ;; 449145b7b3cSmrg sun4*:SunOS:6*:*) 450145b7b3cSmrg # According to config.sub, this is the proper way to canonicalize 451145b7b3cSmrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 452145b7b3cSmrg # it's likely to be more like Solaris than SunOS4. 453da2e2ef6Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 454da2e2ef6Smrg GUESS=sparc-sun-solaris3$SUN_REL 455da2e2ef6Smrg ;; 456145b7b3cSmrg sun4*:SunOS:*:*) 457da2e2ef6Smrg case `/usr/bin/arch -k` in 458145b7b3cSmrg Series*|S4*) 459145b7b3cSmrg UNAME_RELEASE=`uname -v` 460145b7b3cSmrg ;; 461145b7b3cSmrg esac 462145b7b3cSmrg # Japanese Language versions have a version number like `4.1.3-JL'. 463da2e2ef6Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 464da2e2ef6Smrg GUESS=sparc-sun-sunos$SUN_REL 465da2e2ef6Smrg ;; 466145b7b3cSmrg sun3*:SunOS:*:*) 467da2e2ef6Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 468da2e2ef6Smrg ;; 469145b7b3cSmrg sun*:*:4.2BSD:*) 470145b7b3cSmrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 471b7d26471Smrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 472da2e2ef6Smrg case `/bin/arch` in 473145b7b3cSmrg sun3) 474da2e2ef6Smrg GUESS=m68k-sun-sunos$UNAME_RELEASE 475145b7b3cSmrg ;; 476145b7b3cSmrg sun4) 477da2e2ef6Smrg GUESS=sparc-sun-sunos$UNAME_RELEASE 478145b7b3cSmrg ;; 479145b7b3cSmrg esac 480da2e2ef6Smrg ;; 481145b7b3cSmrg aushp:SunOS:*:*) 482da2e2ef6Smrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 483da2e2ef6Smrg ;; 484145b7b3cSmrg # The situation for MiNT is a little confusing. The machine name 485145b7b3cSmrg # can be virtually everything (everything which is not 486145b7b3cSmrg # "atarist" or "atariste" at least should have a processor 487145b7b3cSmrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 488145b7b3cSmrg # to the lowercase version "mint" (or "freemint"). Finally 489145b7b3cSmrg # the system name "TOS" denotes a system which is actually not 490145b7b3cSmrg # MiNT. But MiNT is downward compatible to TOS, so this should 491145b7b3cSmrg # be no problem. 492145b7b3cSmrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 493da2e2ef6Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 494da2e2ef6Smrg ;; 495145b7b3cSmrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 496da2e2ef6Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 497da2e2ef6Smrg ;; 498145b7b3cSmrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 499da2e2ef6Smrg GUESS=m68k-atari-mint$UNAME_RELEASE 500da2e2ef6Smrg ;; 501145b7b3cSmrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 502da2e2ef6Smrg GUESS=m68k-milan-mint$UNAME_RELEASE 503da2e2ef6Smrg ;; 504145b7b3cSmrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 505da2e2ef6Smrg GUESS=m68k-hades-mint$UNAME_RELEASE 506da2e2ef6Smrg ;; 507145b7b3cSmrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 508da2e2ef6Smrg GUESS=m68k-unknown-mint$UNAME_RELEASE 509da2e2ef6Smrg ;; 510145b7b3cSmrg m68k:machten:*:*) 511da2e2ef6Smrg GUESS=m68k-apple-machten$UNAME_RELEASE 512da2e2ef6Smrg ;; 513145b7b3cSmrg powerpc:machten:*:*) 514da2e2ef6Smrg GUESS=powerpc-apple-machten$UNAME_RELEASE 515da2e2ef6Smrg ;; 516145b7b3cSmrg RISC*:Mach:*:*) 517da2e2ef6Smrg GUESS=mips-dec-mach_bsd4.3 518da2e2ef6Smrg ;; 519145b7b3cSmrg RISC*:ULTRIX:*:*) 520da2e2ef6Smrg GUESS=mips-dec-ultrix$UNAME_RELEASE 521da2e2ef6Smrg ;; 522145b7b3cSmrg VAX*:ULTRIX*:*:*) 523da2e2ef6Smrg GUESS=vax-dec-ultrix$UNAME_RELEASE 524da2e2ef6Smrg ;; 525145b7b3cSmrg 2020:CLIX:*:* | 2430:CLIX:*:*) 526da2e2ef6Smrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 527da2e2ef6Smrg ;; 528145b7b3cSmrg mips:*:*:UMIPS | mips:*:*:RISCos) 529da2e2ef6Smrg set_cc_for_build 530b7d26471Smrg sed 's/^ //' << EOF > "$dummy.c" 531145b7b3cSmrg#ifdef __cplusplus 532145b7b3cSmrg#include <stdio.h> /* for printf() prototype */ 533145b7b3cSmrg int main (int argc, char *argv[]) { 534145b7b3cSmrg#else 535145b7b3cSmrg int main (argc, argv) int argc; char *argv[]; { 536145b7b3cSmrg#endif 537145b7b3cSmrg #if defined (host_mips) && defined (MIPSEB) 538145b7b3cSmrg #if defined (SYSTYPE_SYSV) 539b7d26471Smrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 540145b7b3cSmrg #endif 541145b7b3cSmrg #if defined (SYSTYPE_SVR4) 542b7d26471Smrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 543145b7b3cSmrg #endif 544145b7b3cSmrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 545b7d26471Smrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 546145b7b3cSmrg #endif 547145b7b3cSmrg #endif 548145b7b3cSmrg exit (-1); 549145b7b3cSmrg } 550145b7b3cSmrgEOF 551b7d26471Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 552b7d26471Smrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 553b7d26471Smrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 554145b7b3cSmrg { echo "$SYSTEM_NAME"; exit; } 555da2e2ef6Smrg GUESS=mips-mips-riscos$UNAME_RELEASE 556da2e2ef6Smrg ;; 557145b7b3cSmrg Motorola:PowerMAX_OS:*:*) 558da2e2ef6Smrg GUESS=powerpc-motorola-powermax 559da2e2ef6Smrg ;; 560145b7b3cSmrg Motorola:*:4.3:PL8-*) 561da2e2ef6Smrg GUESS=powerpc-harris-powermax 562da2e2ef6Smrg ;; 563145b7b3cSmrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 564da2e2ef6Smrg GUESS=powerpc-harris-powermax 565da2e2ef6Smrg ;; 566145b7b3cSmrg Night_Hawk:Power_UNIX:*:*) 567da2e2ef6Smrg GUESS=powerpc-harris-powerunix 568da2e2ef6Smrg ;; 569145b7b3cSmrg m88k:CX/UX:7*:*) 570da2e2ef6Smrg GUESS=m88k-harris-cxux7 571da2e2ef6Smrg ;; 572145b7b3cSmrg m88k:*:4*:R4*) 573da2e2ef6Smrg GUESS=m88k-motorola-sysv4 574da2e2ef6Smrg ;; 575145b7b3cSmrg m88k:*:3*:R3*) 576da2e2ef6Smrg GUESS=m88k-motorola-sysv3 577da2e2ef6Smrg ;; 578145b7b3cSmrg AViiON:dgux:*:*) 579b7d26471Smrg # DG/UX returns AViiON for all architectures 580b7d26471Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 581da2e2ef6Smrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 582145b7b3cSmrg then 583da2e2ef6Smrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 584da2e2ef6Smrg test "$TARGET_BINARY_INTERFACE"x = x 585145b7b3cSmrg then 586da2e2ef6Smrg GUESS=m88k-dg-dgux$UNAME_RELEASE 587145b7b3cSmrg else 588da2e2ef6Smrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 589145b7b3cSmrg fi 590145b7b3cSmrg else 591da2e2ef6Smrg GUESS=i586-dg-dgux$UNAME_RELEASE 592145b7b3cSmrg fi 593da2e2ef6Smrg ;; 594145b7b3cSmrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 595da2e2ef6Smrg GUESS=m88k-dolphin-sysv3 596da2e2ef6Smrg ;; 597145b7b3cSmrg M88*:*:R3*:*) 598145b7b3cSmrg # Delta 88k system running SVR3 599da2e2ef6Smrg GUESS=m88k-motorola-sysv3 600da2e2ef6Smrg ;; 601145b7b3cSmrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 602da2e2ef6Smrg GUESS=m88k-tektronix-sysv3 603da2e2ef6Smrg ;; 604145b7b3cSmrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 605da2e2ef6Smrg GUESS=m68k-tektronix-bsd 606da2e2ef6Smrg ;; 607145b7b3cSmrg *:IRIX*:*:*) 608da2e2ef6Smrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 609da2e2ef6Smrg GUESS=mips-sgi-irix$IRIX_REL 610da2e2ef6Smrg ;; 611145b7b3cSmrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 612da2e2ef6Smrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 613da2e2ef6Smrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 614145b7b3cSmrg i*86:AIX:*:*) 615da2e2ef6Smrg GUESS=i386-ibm-aix 616da2e2ef6Smrg ;; 617145b7b3cSmrg ia64:AIX:*:*) 618da2e2ef6Smrg if test -x /usr/bin/oslevel ; then 619145b7b3cSmrg IBM_REV=`/usr/bin/oslevel` 620145b7b3cSmrg else 621da2e2ef6Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 622145b7b3cSmrg fi 623da2e2ef6Smrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 624da2e2ef6Smrg ;; 625145b7b3cSmrg *:AIX:2:3) 626145b7b3cSmrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 627da2e2ef6Smrg set_cc_for_build 628b7d26471Smrg sed 's/^ //' << EOF > "$dummy.c" 629145b7b3cSmrg #include <sys/systemcfg.h> 630145b7b3cSmrg 631145b7b3cSmrg main() 632145b7b3cSmrg { 633145b7b3cSmrg if (!__power_pc()) 634145b7b3cSmrg exit(1); 635145b7b3cSmrg puts("powerpc-ibm-aix3.2.5"); 636145b7b3cSmrg exit(0); 637145b7b3cSmrg } 638145b7b3cSmrgEOF 639b7d26471Smrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 640145b7b3cSmrg then 641da2e2ef6Smrg GUESS=$SYSTEM_NAME 642145b7b3cSmrg else 643da2e2ef6Smrg GUESS=rs6000-ibm-aix3.2.5 644145b7b3cSmrg fi 645145b7b3cSmrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 646da2e2ef6Smrg GUESS=rs6000-ibm-aix3.2.4 647145b7b3cSmrg else 648da2e2ef6Smrg GUESS=rs6000-ibm-aix3.2 649145b7b3cSmrg fi 650da2e2ef6Smrg ;; 651b7d26471Smrg *:AIX:*:[4567]) 652145b7b3cSmrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 653b7d26471Smrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 654145b7b3cSmrg IBM_ARCH=rs6000 655145b7b3cSmrg else 656145b7b3cSmrg IBM_ARCH=powerpc 657145b7b3cSmrg fi 658da2e2ef6Smrg if test -x /usr/bin/lslpp ; then 659da2e2ef6Smrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 660b7d26471Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 661145b7b3cSmrg else 662da2e2ef6Smrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 663145b7b3cSmrg fi 664da2e2ef6Smrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 665da2e2ef6Smrg ;; 666145b7b3cSmrg *:AIX:*:*) 667da2e2ef6Smrg GUESS=rs6000-ibm-aix 668da2e2ef6Smrg ;; 669b7d26471Smrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 670da2e2ef6Smrg GUESS=romp-ibm-bsd4.4 671da2e2ef6Smrg ;; 672145b7b3cSmrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 673da2e2ef6Smrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 674da2e2ef6Smrg ;; # report: romp-ibm BSD 4.3 675145b7b3cSmrg *:BOSX:*:*) 676da2e2ef6Smrg GUESS=rs6000-bull-bosx 677da2e2ef6Smrg ;; 678145b7b3cSmrg DPX/2?00:B.O.S.:*:*) 679da2e2ef6Smrg GUESS=m68k-bull-sysv3 680da2e2ef6Smrg ;; 681145b7b3cSmrg 9000/[34]??:4.3bsd:1.*:*) 682da2e2ef6Smrg GUESS=m68k-hp-bsd 683da2e2ef6Smrg ;; 684145b7b3cSmrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 685da2e2ef6Smrg GUESS=m68k-hp-bsd4.4 686da2e2ef6Smrg ;; 687145b7b3cSmrg 9000/[34678]??:HP-UX:*:*) 688da2e2ef6Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 689da2e2ef6Smrg case $UNAME_MACHINE in 690b7d26471Smrg 9000/31?) HP_ARCH=m68000 ;; 691b7d26471Smrg 9000/[34]??) HP_ARCH=m68k ;; 692145b7b3cSmrg 9000/[678][0-9][0-9]) 693da2e2ef6Smrg if test -x /usr/bin/getconf; then 694145b7b3cSmrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 695b7d26471Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 696da2e2ef6Smrg case $sc_cpu_version in 697b7d26471Smrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 698b7d26471Smrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 699b7d26471Smrg 532) # CPU_PA_RISC2_0 700da2e2ef6Smrg case $sc_kernel_bits in 701b7d26471Smrg 32) HP_ARCH=hppa2.0n ;; 702b7d26471Smrg 64) HP_ARCH=hppa2.0w ;; 703b7d26471Smrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 704b7d26471Smrg esac ;; 705b7d26471Smrg esac 706145b7b3cSmrg fi 707da2e2ef6Smrg if test "$HP_ARCH" = ""; then 708da2e2ef6Smrg set_cc_for_build 709b7d26471Smrg sed 's/^ //' << EOF > "$dummy.c" 710145b7b3cSmrg 711b7d26471Smrg #define _HPUX_SOURCE 712b7d26471Smrg #include <stdlib.h> 713b7d26471Smrg #include <unistd.h> 714145b7b3cSmrg 715b7d26471Smrg int main () 716b7d26471Smrg { 717b7d26471Smrg #if defined(_SC_KERNEL_BITS) 718b7d26471Smrg long bits = sysconf(_SC_KERNEL_BITS); 719b7d26471Smrg #endif 720b7d26471Smrg long cpu = sysconf (_SC_CPU_VERSION); 721145b7b3cSmrg 722b7d26471Smrg switch (cpu) 723b7d26471Smrg { 724b7d26471Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 725b7d26471Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 726b7d26471Smrg case CPU_PA_RISC2_0: 727b7d26471Smrg #if defined(_SC_KERNEL_BITS) 728b7d26471Smrg switch (bits) 729b7d26471Smrg { 730b7d26471Smrg case 64: puts ("hppa2.0w"); break; 731b7d26471Smrg case 32: puts ("hppa2.0n"); break; 732b7d26471Smrg default: puts ("hppa2.0"); break; 733b7d26471Smrg } break; 734b7d26471Smrg #else /* !defined(_SC_KERNEL_BITS) */ 735b7d26471Smrg puts ("hppa2.0"); break; 736b7d26471Smrg #endif 737b7d26471Smrg default: puts ("hppa1.0"); break; 738b7d26471Smrg } 739b7d26471Smrg exit (0); 740b7d26471Smrg } 741145b7b3cSmrgEOF 742b7d26471Smrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 743145b7b3cSmrg test -z "$HP_ARCH" && HP_ARCH=hppa 744145b7b3cSmrg fi ;; 745145b7b3cSmrg esac 746da2e2ef6Smrg if test "$HP_ARCH" = hppa2.0w 747145b7b3cSmrg then 748da2e2ef6Smrg set_cc_for_build 749145b7b3cSmrg 750145b7b3cSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 751145b7b3cSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 752145b7b3cSmrg # generating 64-bit code. GNU and HP use different nomenclature: 753145b7b3cSmrg # 754145b7b3cSmrg # $ CC_FOR_BUILD=cc ./config.guess 755145b7b3cSmrg # => hppa2.0w-hp-hpux11.23 756145b7b3cSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 757145b7b3cSmrg # => hppa64-hp-hpux11.23 758145b7b3cSmrg 759b7d26471Smrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 7605ffd6003Smrg grep -q __LP64__ 761145b7b3cSmrg then 762b7d26471Smrg HP_ARCH=hppa2.0w 763145b7b3cSmrg else 764b7d26471Smrg HP_ARCH=hppa64 765145b7b3cSmrg fi 766145b7b3cSmrg fi 767da2e2ef6Smrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 768da2e2ef6Smrg ;; 769145b7b3cSmrg ia64:HP-UX:*:*) 770da2e2ef6Smrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 771da2e2ef6Smrg GUESS=ia64-hp-hpux$HPUX_REV 772da2e2ef6Smrg ;; 773145b7b3cSmrg 3050*:HI-UX:*:*) 774da2e2ef6Smrg set_cc_for_build 775b7d26471Smrg sed 's/^ //' << EOF > "$dummy.c" 776145b7b3cSmrg #include <unistd.h> 777145b7b3cSmrg int 778145b7b3cSmrg main () 779145b7b3cSmrg { 780145b7b3cSmrg long cpu = sysconf (_SC_CPU_VERSION); 781145b7b3cSmrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 782145b7b3cSmrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 783145b7b3cSmrg results, however. */ 784145b7b3cSmrg if (CPU_IS_PA_RISC (cpu)) 785145b7b3cSmrg { 786145b7b3cSmrg switch (cpu) 787145b7b3cSmrg { 788145b7b3cSmrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 789145b7b3cSmrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 790145b7b3cSmrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 791145b7b3cSmrg default: puts ("hppa-hitachi-hiuxwe2"); break; 792145b7b3cSmrg } 793145b7b3cSmrg } 794145b7b3cSmrg else if (CPU_IS_HP_MC68K (cpu)) 795145b7b3cSmrg puts ("m68k-hitachi-hiuxwe2"); 796145b7b3cSmrg else puts ("unknown-hitachi-hiuxwe2"); 797145b7b3cSmrg exit (0); 798145b7b3cSmrg } 799145b7b3cSmrgEOF 800b7d26471Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 801145b7b3cSmrg { echo "$SYSTEM_NAME"; exit; } 802da2e2ef6Smrg GUESS=unknown-hitachi-hiuxwe2 803da2e2ef6Smrg ;; 804b7d26471Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 805da2e2ef6Smrg GUESS=hppa1.1-hp-bsd 806da2e2ef6Smrg ;; 807145b7b3cSmrg 9000/8??:4.3bsd:*:*) 808da2e2ef6Smrg GUESS=hppa1.0-hp-bsd 809da2e2ef6Smrg ;; 810145b7b3cSmrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 811da2e2ef6Smrg GUESS=hppa1.0-hp-mpeix 812da2e2ef6Smrg ;; 813b7d26471Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 814da2e2ef6Smrg GUESS=hppa1.1-hp-osf 815da2e2ef6Smrg ;; 816145b7b3cSmrg hp8??:OSF1:*:*) 817da2e2ef6Smrg GUESS=hppa1.0-hp-osf 818da2e2ef6Smrg ;; 819145b7b3cSmrg i*86:OSF1:*:*) 820da2e2ef6Smrg if test -x /usr/sbin/sysversion ; then 821da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-osf1mk 822145b7b3cSmrg else 823da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-osf1 824145b7b3cSmrg fi 825da2e2ef6Smrg ;; 826145b7b3cSmrg parisc*:Lites*:*:*) 827da2e2ef6Smrg GUESS=hppa1.1-hp-lites 828da2e2ef6Smrg ;; 829145b7b3cSmrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 830da2e2ef6Smrg GUESS=c1-convex-bsd 831da2e2ef6Smrg ;; 832145b7b3cSmrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 833145b7b3cSmrg if getsysinfo -f scalar_acc 834145b7b3cSmrg then echo c32-convex-bsd 835145b7b3cSmrg else echo c2-convex-bsd 836145b7b3cSmrg fi 837b7d26471Smrg exit ;; 838145b7b3cSmrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 839da2e2ef6Smrg GUESS=c34-convex-bsd 840da2e2ef6Smrg ;; 841145b7b3cSmrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 842da2e2ef6Smrg GUESS=c38-convex-bsd 843da2e2ef6Smrg ;; 844145b7b3cSmrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 845da2e2ef6Smrg GUESS=c4-convex-bsd 846da2e2ef6Smrg ;; 847145b7b3cSmrg CRAY*Y-MP:*:*:*) 848da2e2ef6Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 849da2e2ef6Smrg GUESS=ymp-cray-unicos$CRAY_REL 850da2e2ef6Smrg ;; 851145b7b3cSmrg CRAY*[A-Z]90:*:*:*) 852b7d26471Smrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 853145b7b3cSmrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 854145b7b3cSmrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 855145b7b3cSmrg -e 's/\.[^.]*$/.X/' 856145b7b3cSmrg exit ;; 857145b7b3cSmrg CRAY*TS:*:*:*) 858da2e2ef6Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 859da2e2ef6Smrg GUESS=t90-cray-unicos$CRAY_REL 860da2e2ef6Smrg ;; 861145b7b3cSmrg CRAY*T3E:*:*:*) 862da2e2ef6Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 863da2e2ef6Smrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 864da2e2ef6Smrg ;; 865145b7b3cSmrg CRAY*SV1:*:*:*) 866da2e2ef6Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 867da2e2ef6Smrg GUESS=sv1-cray-unicos$CRAY_REL 868da2e2ef6Smrg ;; 869145b7b3cSmrg *:UNICOS/mp:*:*) 870da2e2ef6Smrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 871da2e2ef6Smrg GUESS=craynv-cray-unicosmp$CRAY_REL 872da2e2ef6Smrg ;; 873145b7b3cSmrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 874b7d26471Smrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 875b7d26471Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 876b7d26471Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 877da2e2ef6Smrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 878da2e2ef6Smrg ;; 879145b7b3cSmrg 5000:UNIX_System_V:4.*:*) 880b7d26471Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 881b7d26471Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 882da2e2ef6Smrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 883da2e2ef6Smrg ;; 884145b7b3cSmrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 885da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 886da2e2ef6Smrg ;; 887145b7b3cSmrg sparc*:BSD/OS:*:*) 888da2e2ef6Smrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 889da2e2ef6Smrg ;; 890145b7b3cSmrg *:BSD/OS:*:*) 891da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 892da2e2ef6Smrg ;; 893da2e2ef6Smrg arm:FreeBSD:*:*) 894da2e2ef6Smrg UNAME_PROCESSOR=`uname -p` 895da2e2ef6Smrg set_cc_for_build 896da2e2ef6Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 897da2e2ef6Smrg | grep -q __ARM_PCS_VFP 898da2e2ef6Smrg then 899da2e2ef6Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 900da2e2ef6Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 901da2e2ef6Smrg else 902da2e2ef6Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 903da2e2ef6Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 904da2e2ef6Smrg fi 905da2e2ef6Smrg ;; 906145b7b3cSmrg *:FreeBSD:*:*) 907b7d26471Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 908da2e2ef6Smrg case $UNAME_PROCESSOR in 909578741aaSmrg amd64) 910b7d26471Smrg UNAME_PROCESSOR=x86_64 ;; 911b7d26471Smrg i386) 912b7d26471Smrg UNAME_PROCESSOR=i586 ;; 913578741aaSmrg esac 914da2e2ef6Smrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 915da2e2ef6Smrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 916da2e2ef6Smrg ;; 917145b7b3cSmrg i*:CYGWIN*:*) 918da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-cygwin 919da2e2ef6Smrg ;; 920b7d26471Smrg *:MINGW64*:*) 921da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-mingw64 922da2e2ef6Smrg ;; 923578741aaSmrg *:MINGW*:*) 924da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-mingw32 925da2e2ef6Smrg ;; 926b7d26471Smrg *:MSYS*:*) 927da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-msys 928da2e2ef6Smrg ;; 929145b7b3cSmrg i*:PW*:*) 930da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-pw32 931da2e2ef6Smrg ;; 9324901b09eSmrg *:SerenityOS:*:*) 9334901b09eSmrg GUESS=$UNAME_MACHINE-pc-serenity 9344901b09eSmrg ;; 9355ffd6003Smrg *:Interix*:*) 936da2e2ef6Smrg case $UNAME_MACHINE in 937578741aaSmrg x86) 938da2e2ef6Smrg GUESS=i586-pc-interix$UNAME_RELEASE 939da2e2ef6Smrg ;; 9405ffd6003Smrg authenticamd | genuineintel | EM64T) 941da2e2ef6Smrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 942da2e2ef6Smrg ;; 943578741aaSmrg IA64) 944da2e2ef6Smrg GUESS=ia64-unknown-interix$UNAME_RELEASE 945da2e2ef6Smrg ;; 946578741aaSmrg esac ;; 947145b7b3cSmrg i*:UWIN*:*) 948da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-uwin 949da2e2ef6Smrg ;; 950145b7b3cSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 951da2e2ef6Smrg GUESS=x86_64-pc-cygwin 952da2e2ef6Smrg ;; 953145b7b3cSmrg prep*:SunOS:5.*:*) 954da2e2ef6Smrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 955da2e2ef6Smrg GUESS=powerpcle-unknown-solaris2$SUN_REL 956da2e2ef6Smrg ;; 957145b7b3cSmrg *:GNU:*:*) 958145b7b3cSmrg # the GNU system 959da2e2ef6Smrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 960da2e2ef6Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 961da2e2ef6Smrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 962da2e2ef6Smrg ;; 963145b7b3cSmrg *:GNU/*:*:*) 964145b7b3cSmrg # other systems with GNU libc and userland 965da2e2ef6Smrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 966da2e2ef6Smrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 967da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 968da2e2ef6Smrg ;; 9694901b09eSmrg x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) 9704901b09eSmrg GUESS="$UNAME_MACHINE-pc-managarm-mlibc" 9714901b09eSmrg ;; 9724901b09eSmrg *:[Mm]anagarm:*:*) 9734901b09eSmrg GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" 9744901b09eSmrg ;; 975da2e2ef6Smrg *:Minix:*:*) 976da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-minix 977da2e2ef6Smrg ;; 978b7d26471Smrg aarch64:Linux:*:*) 979da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 980da2e2ef6Smrg ;; 981b7d26471Smrg aarch64_be:Linux:*:*) 982b7d26471Smrg UNAME_MACHINE=aarch64_be 983da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 984da2e2ef6Smrg ;; 9855ffd6003Smrg alpha:Linux:*:*) 986da2e2ef6Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 9875ffd6003Smrg EV5) UNAME_MACHINE=alphaev5 ;; 9885ffd6003Smrg EV56) UNAME_MACHINE=alphaev56 ;; 9895ffd6003Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 9905ffd6003Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 9915ffd6003Smrg EV6) UNAME_MACHINE=alphaev6 ;; 9925ffd6003Smrg EV67) UNAME_MACHINE=alphaev67 ;; 9935ffd6003Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 994b7d26471Smrg esac 9955ffd6003Smrg objdump --private-headers /bin/sh | grep -q ld.so.1 996b7d26471Smrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 997da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 998da2e2ef6Smrg ;; 999da2e2ef6Smrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 1000da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1001da2e2ef6Smrg ;; 1002145b7b3cSmrg arm*:Linux:*:*) 1003da2e2ef6Smrg set_cc_for_build 1004578741aaSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1005578741aaSmrg | grep -q __ARM_EABI__ 1006578741aaSmrg then 1007da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1008578741aaSmrg else 1009b7d26471Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 1010b7d26471Smrg | grep -q __ARM_PCS_VFP 1011b7d26471Smrg then 1012da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 1013b7d26471Smrg else 1014da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 1015b7d26471Smrg fi 1016578741aaSmrg fi 1017da2e2ef6Smrg ;; 1018578741aaSmrg avr32*:Linux:*:*) 1019da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1020da2e2ef6Smrg ;; 1021145b7b3cSmrg cris:Linux:*:*) 1022da2e2ef6Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 1023da2e2ef6Smrg ;; 1024145b7b3cSmrg crisv32:Linux:*:*) 1025da2e2ef6Smrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 1026da2e2ef6Smrg ;; 1027b7d26471Smrg e2k:Linux:*:*) 1028da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1029da2e2ef6Smrg ;; 1030145b7b3cSmrg frv:Linux:*:*) 1031da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1032da2e2ef6Smrg ;; 1033b7d26471Smrg hexagon:Linux:*:*) 1034da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1035da2e2ef6Smrg ;; 10365ffd6003Smrg i*86:Linux:*:*) 1037da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 1038da2e2ef6Smrg ;; 1039145b7b3cSmrg ia64:Linux:*:*) 1040da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1041da2e2ef6Smrg ;; 1042b7d26471Smrg k1om:Linux:*:*) 1043da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1044da2e2ef6Smrg ;; 10454901b09eSmrg loongarch32:Linux:*:* | loongarch64:Linux:*:*) 1046da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1047da2e2ef6Smrg ;; 1048145b7b3cSmrg m32r*:Linux:*:*) 1049da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1050da2e2ef6Smrg ;; 1051145b7b3cSmrg m68*:Linux:*:*) 1052da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1053da2e2ef6Smrg ;; 10545ffd6003Smrg mips:Linux:*:* | mips64:Linux:*:*) 1055da2e2ef6Smrg set_cc_for_build 1056da2e2ef6Smrg IS_GLIBC=0 1057da2e2ef6Smrg test x"${LIBC}" = xgnu && IS_GLIBC=1 1058b7d26471Smrg sed 's/^ //' << EOF > "$dummy.c" 1059145b7b3cSmrg #undef CPU 1060da2e2ef6Smrg #undef mips 1061da2e2ef6Smrg #undef mipsel 1062da2e2ef6Smrg #undef mips64 1063da2e2ef6Smrg #undef mips64el 1064da2e2ef6Smrg #if ${IS_GLIBC} && defined(_ABI64) 1065da2e2ef6Smrg LIBCABI=gnuabi64 1066da2e2ef6Smrg #else 1067da2e2ef6Smrg #if ${IS_GLIBC} && defined(_ABIN32) 1068da2e2ef6Smrg LIBCABI=gnuabin32 1069da2e2ef6Smrg #else 1070da2e2ef6Smrg LIBCABI=${LIBC} 1071da2e2ef6Smrg #endif 1072da2e2ef6Smrg #endif 1073da2e2ef6Smrg 1074da2e2ef6Smrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1075da2e2ef6Smrg CPU=mipsisa64r6 1076da2e2ef6Smrg #else 1077da2e2ef6Smrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1078da2e2ef6Smrg CPU=mipsisa32r6 1079da2e2ef6Smrg #else 1080da2e2ef6Smrg #if defined(__mips64) 1081da2e2ef6Smrg CPU=mips64 1082da2e2ef6Smrg #else 1083da2e2ef6Smrg CPU=mips 1084da2e2ef6Smrg #endif 1085da2e2ef6Smrg #endif 1086da2e2ef6Smrg #endif 1087da2e2ef6Smrg 1088145b7b3cSmrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 1089da2e2ef6Smrg MIPS_ENDIAN=el 1090145b7b3cSmrg #else 1091145b7b3cSmrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 1092da2e2ef6Smrg MIPS_ENDIAN= 1093145b7b3cSmrg #else 1094da2e2ef6Smrg MIPS_ENDIAN= 1095145b7b3cSmrg #endif 1096145b7b3cSmrg #endif 1097145b7b3cSmrgEOF 1098da2e2ef6Smrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 1099da2e2ef6Smrg eval "$cc_set_vars" 1100da2e2ef6Smrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1101145b7b3cSmrg ;; 1102b7d26471Smrg mips64el:Linux:*:*) 1103da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1104da2e2ef6Smrg ;; 1105b7d26471Smrg openrisc*:Linux:*:*) 1106da2e2ef6Smrg GUESS=or1k-unknown-linux-$LIBC 1107da2e2ef6Smrg ;; 1108b7d26471Smrg or32:Linux:*:* | or1k*:Linux:*:*) 1109da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1110da2e2ef6Smrg ;; 11115ffd6003Smrg padre:Linux:*:*) 1112da2e2ef6Smrg GUESS=sparc-unknown-linux-$LIBC 1113da2e2ef6Smrg ;; 11145ffd6003Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 1115da2e2ef6Smrg GUESS=hppa64-unknown-linux-$LIBC 1116da2e2ef6Smrg ;; 1117145b7b3cSmrg parisc:Linux:*:* | hppa:Linux:*:*) 1118145b7b3cSmrg # Look for CPU level 1119145b7b3cSmrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 1120da2e2ef6Smrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 1121da2e2ef6Smrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 1122da2e2ef6Smrg *) GUESS=hppa-unknown-linux-$LIBC ;; 1123145b7b3cSmrg esac 1124da2e2ef6Smrg ;; 11255ffd6003Smrg ppc64:Linux:*:*) 1126da2e2ef6Smrg GUESS=powerpc64-unknown-linux-$LIBC 1127da2e2ef6Smrg ;; 11285ffd6003Smrg ppc:Linux:*:*) 1129da2e2ef6Smrg GUESS=powerpc-unknown-linux-$LIBC 1130da2e2ef6Smrg ;; 1131b7d26471Smrg ppc64le:Linux:*:*) 1132da2e2ef6Smrg GUESS=powerpc64le-unknown-linux-$LIBC 1133da2e2ef6Smrg ;; 1134b7d26471Smrg ppcle:Linux:*:*) 1135da2e2ef6Smrg GUESS=powerpcle-unknown-linux-$LIBC 1136da2e2ef6Smrg ;; 1137da2e2ef6Smrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 1138da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1139da2e2ef6Smrg ;; 1140145b7b3cSmrg s390:Linux:*:* | s390x:Linux:*:*) 1141da2e2ef6Smrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 1142da2e2ef6Smrg ;; 1143145b7b3cSmrg sh64*:Linux:*:*) 1144da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1145da2e2ef6Smrg ;; 1146145b7b3cSmrg sh*:Linux:*:*) 1147da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1148da2e2ef6Smrg ;; 1149145b7b3cSmrg sparc:Linux:*:* | sparc64:Linux:*:*) 1150da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1151da2e2ef6Smrg ;; 1152b7d26471Smrg tile*:Linux:*:*) 1153da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1154da2e2ef6Smrg ;; 1155145b7b3cSmrg vax:Linux:*:*) 1156da2e2ef6Smrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 1157da2e2ef6Smrg ;; 1158145b7b3cSmrg x86_64:Linux:*:*) 1159da2e2ef6Smrg set_cc_for_build 11604901b09eSmrg CPU=$UNAME_MACHINE 1161da2e2ef6Smrg LIBCABI=$LIBC 1162da2e2ef6Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 11634901b09eSmrg ABI=64 11644901b09eSmrg sed 's/^ //' << EOF > "$dummy.c" 11654901b09eSmrg #ifdef __i386__ 11664901b09eSmrg ABI=x86 11674901b09eSmrg #else 11684901b09eSmrg #ifdef __ILP32__ 11694901b09eSmrg ABI=x32 11704901b09eSmrg #endif 11714901b09eSmrg #endif 11724901b09eSmrgEOF 11734901b09eSmrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 11744901b09eSmrg eval "$cc_set_abi" 11754901b09eSmrg case $ABI in 11764901b09eSmrg x86) CPU=i686 ;; 11774901b09eSmrg x32) LIBCABI=${LIBC}x32 ;; 11784901b09eSmrg esac 1179da2e2ef6Smrg fi 11804901b09eSmrg GUESS=$CPU-pc-linux-$LIBCABI 1181da2e2ef6Smrg ;; 1182578741aaSmrg xtensa*:Linux:*:*) 1183da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1184da2e2ef6Smrg ;; 1185145b7b3cSmrg i*86:DYNIX/ptx:4*:*) 1186145b7b3cSmrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1187145b7b3cSmrg # earlier versions are messed up and put the nodename in both 1188145b7b3cSmrg # sysname and nodename. 1189da2e2ef6Smrg GUESS=i386-sequent-sysv4 1190da2e2ef6Smrg ;; 1191145b7b3cSmrg i*86:UNIX_SV:4.2MP:2.*) 1192b7d26471Smrg # Unixware is an offshoot of SVR4, but it has its own version 1193b7d26471Smrg # number series starting with 2... 1194b7d26471Smrg # I am not positive that other SVR4 systems won't match this, 1195145b7b3cSmrg # I just have to hope. -- rms. 1196b7d26471Smrg # Use sysv4.2uw... so that sysv4* matches it. 1197da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 1198da2e2ef6Smrg ;; 1199145b7b3cSmrg i*86:OS/2:*:*) 1200145b7b3cSmrg # If we were able to find `uname', then EMX Unix compatibility 1201145b7b3cSmrg # is probably installed. 1202da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-os2-emx 1203da2e2ef6Smrg ;; 1204145b7b3cSmrg i*86:XTS-300:*:STOP) 1205da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-stop 1206da2e2ef6Smrg ;; 1207145b7b3cSmrg i*86:atheos:*:*) 1208da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-atheos 1209da2e2ef6Smrg ;; 1210145b7b3cSmrg i*86:syllable:*:*) 1211da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-syllable 1212da2e2ef6Smrg ;; 12135ffd6003Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1214da2e2ef6Smrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 1215da2e2ef6Smrg ;; 1216145b7b3cSmrg i*86:*DOS:*:*) 1217da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 1218da2e2ef6Smrg ;; 1219b7d26471Smrg i*86:*:4.*:*) 1220b7d26471Smrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 1221145b7b3cSmrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1222da2e2ef6Smrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 1223145b7b3cSmrg else 1224da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 1225145b7b3cSmrg fi 1226da2e2ef6Smrg ;; 1227145b7b3cSmrg i*86:*:5:[678]*) 1228b7d26471Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1229145b7b3cSmrg case `/bin/uname -X | grep "^Machine"` in 1230145b7b3cSmrg *486*) UNAME_MACHINE=i486 ;; 1231145b7b3cSmrg *Pentium) UNAME_MACHINE=i586 ;; 1232145b7b3cSmrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1233145b7b3cSmrg esac 1234da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1235da2e2ef6Smrg ;; 1236145b7b3cSmrg i*86:*:3.2:*) 1237145b7b3cSmrg if test -f /usr/options/cb.name; then 1238145b7b3cSmrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1239da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 1240145b7b3cSmrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1241145b7b3cSmrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1242145b7b3cSmrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1243145b7b3cSmrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1244145b7b3cSmrg && UNAME_MACHINE=i586 1245145b7b3cSmrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1246145b7b3cSmrg && UNAME_MACHINE=i686 1247145b7b3cSmrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1248145b7b3cSmrg && UNAME_MACHINE=i686 1249da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 1250145b7b3cSmrg else 1251da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-sysv32 1252145b7b3cSmrg fi 1253da2e2ef6Smrg ;; 1254145b7b3cSmrg pc:*:*:*) 1255145b7b3cSmrg # Left here for compatibility: 1256b7d26471Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1257b7d26471Smrg # the processor, so we play safe by assuming i586. 12585ffd6003Smrg # Note: whatever this is, it MUST be the same as what config.sub 1259b7d26471Smrg # prints for the "djgpp" host, or else GDB configure will decide that 12605ffd6003Smrg # this is a cross-build. 1261da2e2ef6Smrg GUESS=i586-pc-msdosdjgpp 1262da2e2ef6Smrg ;; 1263145b7b3cSmrg Intel:Mach:3*:*) 1264da2e2ef6Smrg GUESS=i386-pc-mach3 1265da2e2ef6Smrg ;; 1266145b7b3cSmrg paragon:*:*:*) 1267da2e2ef6Smrg GUESS=i860-intel-osf1 1268da2e2ef6Smrg ;; 1269145b7b3cSmrg i860:*:4.*:*) # i860-SVR4 1270145b7b3cSmrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1271da2e2ef6Smrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 1272145b7b3cSmrg else # Add other i860-SVR4 vendors below as they are discovered. 1273da2e2ef6Smrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 1274145b7b3cSmrg fi 1275da2e2ef6Smrg ;; 1276145b7b3cSmrg mini*:CTIX:SYS*5:*) 1277145b7b3cSmrg # "miniframe" 1278da2e2ef6Smrg GUESS=m68010-convergent-sysv 1279da2e2ef6Smrg ;; 1280145b7b3cSmrg mc68k:UNIX:SYSTEM5:3.51m) 1281da2e2ef6Smrg GUESS=m68k-convergent-sysv 1282da2e2ef6Smrg ;; 1283145b7b3cSmrg M680?0:D-NIX:5.3:*) 1284da2e2ef6Smrg GUESS=m68k-diab-dnix 1285da2e2ef6Smrg ;; 1286145b7b3cSmrg M68*:*:R3V[5678]*:*) 1287145b7b3cSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1288145b7b3cSmrg 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) 1289145b7b3cSmrg OS_REL='' 1290145b7b3cSmrg test -r /etc/.relid \ 1291145b7b3cSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1292145b7b3cSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1293b7d26471Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1294145b7b3cSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1295b7d26471Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1296145b7b3cSmrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1297b7d26471Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1298b7d26471Smrg && { echo i486-ncr-sysv4; exit; } ;; 12995ffd6003Smrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 13005ffd6003Smrg OS_REL='.3' 13015ffd6003Smrg test -r /etc/.relid \ 13025ffd6003Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 13035ffd6003Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1304b7d26471Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 13055ffd6003Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1306b7d26471Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 13075ffd6003Smrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1308b7d26471Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1309145b7b3cSmrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1310da2e2ef6Smrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 1311da2e2ef6Smrg ;; 1312145b7b3cSmrg mc68030:UNIX_System_V:4.*:*) 1313da2e2ef6Smrg GUESS=m68k-atari-sysv4 1314da2e2ef6Smrg ;; 1315145b7b3cSmrg TSUNAMI:LynxOS:2.*:*) 1316da2e2ef6Smrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 1317da2e2ef6Smrg ;; 1318145b7b3cSmrg rs6000:LynxOS:2.*:*) 1319da2e2ef6Smrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 1320da2e2ef6Smrg ;; 13215ffd6003Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1322da2e2ef6Smrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 1323da2e2ef6Smrg ;; 1324145b7b3cSmrg SM[BE]S:UNIX_SV:*:*) 1325da2e2ef6Smrg GUESS=mips-dde-sysv$UNAME_RELEASE 1326da2e2ef6Smrg ;; 1327145b7b3cSmrg RM*:ReliantUNIX-*:*:*) 1328da2e2ef6Smrg GUESS=mips-sni-sysv4 1329da2e2ef6Smrg ;; 1330145b7b3cSmrg RM*:SINIX-*:*:*) 1331da2e2ef6Smrg GUESS=mips-sni-sysv4 1332da2e2ef6Smrg ;; 1333145b7b3cSmrg *:SINIX-*:*:*) 1334145b7b3cSmrg if uname -p 2>/dev/null >/dev/null ; then 1335145b7b3cSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1336da2e2ef6Smrg GUESS=$UNAME_MACHINE-sni-sysv4 1337145b7b3cSmrg else 1338da2e2ef6Smrg GUESS=ns32k-sni-sysv 1339145b7b3cSmrg fi 1340da2e2ef6Smrg ;; 1341b7d26471Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1342b7d26471Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1343da2e2ef6Smrg GUESS=i586-unisys-sysv4 1344da2e2ef6Smrg ;; 1345145b7b3cSmrg *:UNIX_System_V:4*:FTX*) 1346145b7b3cSmrg # From Gerald Hewes <hewes@openmarket.com>. 1347145b7b3cSmrg # How about differentiating between stratus architectures? -djm 1348da2e2ef6Smrg GUESS=hppa1.1-stratus-sysv4 1349da2e2ef6Smrg ;; 1350145b7b3cSmrg *:*:*:FTX*) 1351145b7b3cSmrg # From seanf@swdc.stratus.com. 1352da2e2ef6Smrg GUESS=i860-stratus-sysv4 1353da2e2ef6Smrg ;; 1354145b7b3cSmrg i*86:VOS:*:*) 1355145b7b3cSmrg # From Paul.Green@stratus.com. 1356da2e2ef6Smrg GUESS=$UNAME_MACHINE-stratus-vos 1357da2e2ef6Smrg ;; 1358145b7b3cSmrg *:VOS:*:*) 1359145b7b3cSmrg # From Paul.Green@stratus.com. 1360da2e2ef6Smrg GUESS=hppa1.1-stratus-vos 1361da2e2ef6Smrg ;; 1362145b7b3cSmrg mc68*:A/UX:*:*) 1363da2e2ef6Smrg GUESS=m68k-apple-aux$UNAME_RELEASE 1364da2e2ef6Smrg ;; 1365145b7b3cSmrg news*:NEWS-OS:6*:*) 1366da2e2ef6Smrg GUESS=mips-sony-newsos6 1367da2e2ef6Smrg ;; 1368145b7b3cSmrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1369da2e2ef6Smrg if test -d /usr/nec; then 1370da2e2ef6Smrg GUESS=mips-nec-sysv$UNAME_RELEASE 1371145b7b3cSmrg else 1372da2e2ef6Smrg GUESS=mips-unknown-sysv$UNAME_RELEASE 1373145b7b3cSmrg fi 1374da2e2ef6Smrg ;; 1375145b7b3cSmrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1376da2e2ef6Smrg GUESS=powerpc-be-beos 1377da2e2ef6Smrg ;; 1378145b7b3cSmrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1379da2e2ef6Smrg GUESS=powerpc-apple-beos 1380da2e2ef6Smrg ;; 1381145b7b3cSmrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1382da2e2ef6Smrg GUESS=i586-pc-beos 1383da2e2ef6Smrg ;; 13845ffd6003Smrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1385da2e2ef6Smrg GUESS=i586-pc-haiku 1386da2e2ef6Smrg ;; 13874901b09eSmrg ppc:Haiku:*:*) # Haiku running on Apple PowerPC 13884901b09eSmrg GUESS=powerpc-apple-haiku 13894901b09eSmrg ;; 13904901b09eSmrg *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 13914901b09eSmrg GUESS=$UNAME_MACHINE-unknown-haiku 1392da2e2ef6Smrg ;; 1393145b7b3cSmrg SX-4:SUPER-UX:*:*) 1394da2e2ef6Smrg GUESS=sx4-nec-superux$UNAME_RELEASE 1395da2e2ef6Smrg ;; 1396145b7b3cSmrg SX-5:SUPER-UX:*:*) 1397da2e2ef6Smrg GUESS=sx5-nec-superux$UNAME_RELEASE 1398da2e2ef6Smrg ;; 1399145b7b3cSmrg SX-6:SUPER-UX:*:*) 1400da2e2ef6Smrg GUESS=sx6-nec-superux$UNAME_RELEASE 1401da2e2ef6Smrg ;; 1402578741aaSmrg SX-7:SUPER-UX:*:*) 1403da2e2ef6Smrg GUESS=sx7-nec-superux$UNAME_RELEASE 1404da2e2ef6Smrg ;; 1405578741aaSmrg SX-8:SUPER-UX:*:*) 1406da2e2ef6Smrg GUESS=sx8-nec-superux$UNAME_RELEASE 1407da2e2ef6Smrg ;; 1408578741aaSmrg SX-8R:SUPER-UX:*:*) 1409da2e2ef6Smrg GUESS=sx8r-nec-superux$UNAME_RELEASE 1410da2e2ef6Smrg ;; 1411b7d26471Smrg SX-ACE:SUPER-UX:*:*) 1412da2e2ef6Smrg GUESS=sxace-nec-superux$UNAME_RELEASE 1413da2e2ef6Smrg ;; 1414145b7b3cSmrg Power*:Rhapsody:*:*) 1415da2e2ef6Smrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 1416da2e2ef6Smrg ;; 1417145b7b3cSmrg *:Rhapsody:*:*) 1418da2e2ef6Smrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 1419da2e2ef6Smrg ;; 1420da2e2ef6Smrg arm64:Darwin:*:*) 1421da2e2ef6Smrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 1422da2e2ef6Smrg ;; 1423145b7b3cSmrg *:Darwin:*:*) 1424da2e2ef6Smrg UNAME_PROCESSOR=`uname -p` 1425da2e2ef6Smrg case $UNAME_PROCESSOR in 1426da2e2ef6Smrg unknown) UNAME_PROCESSOR=powerpc ;; 1427da2e2ef6Smrg esac 1428da2e2ef6Smrg if command -v xcode-select > /dev/null 2> /dev/null && \ 1429da2e2ef6Smrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 1430da2e2ef6Smrg # Avoid executing cc if there is no toolchain installed as 1431da2e2ef6Smrg # cc will be a stub that puts up a graphical alert 1432da2e2ef6Smrg # prompting the user to install developer tools. 1433da2e2ef6Smrg CC_FOR_BUILD=no_compiler_found 1434da2e2ef6Smrg else 1435da2e2ef6Smrg set_cc_for_build 1436b7d26471Smrg fi 1437da2e2ef6Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 1438da2e2ef6Smrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1439da2e2ef6Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1440da2e2ef6Smrg grep IS_64BIT_ARCH >/dev/null 1441da2e2ef6Smrg then 1442da2e2ef6Smrg case $UNAME_PROCESSOR in 1443da2e2ef6Smrg i386) UNAME_PROCESSOR=x86_64 ;; 1444da2e2ef6Smrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 1445da2e2ef6Smrg esac 1446da2e2ef6Smrg fi 1447da2e2ef6Smrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 1448da2e2ef6Smrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 1449da2e2ef6Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1450da2e2ef6Smrg grep IS_PPC >/dev/null 1451da2e2ef6Smrg then 1452da2e2ef6Smrg UNAME_PROCESSOR=powerpc 1453b7d26471Smrg fi 1454b7d26471Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 1455da2e2ef6Smrg # uname -m returns i386 or x86_64 1456da2e2ef6Smrg UNAME_PROCESSOR=$UNAME_MACHINE 1457b7d26471Smrg fi 1458da2e2ef6Smrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 1459da2e2ef6Smrg ;; 1460145b7b3cSmrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1461145b7b3cSmrg UNAME_PROCESSOR=`uname -p` 1462b7d26471Smrg if test "$UNAME_PROCESSOR" = x86; then 1463145b7b3cSmrg UNAME_PROCESSOR=i386 1464145b7b3cSmrg UNAME_MACHINE=pc 1465145b7b3cSmrg fi 1466da2e2ef6Smrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 1467da2e2ef6Smrg ;; 1468145b7b3cSmrg *:QNX:*:4*) 1469da2e2ef6Smrg GUESS=i386-pc-qnx 1470da2e2ef6Smrg ;; 1471b7d26471Smrg NEO-*:NONSTOP_KERNEL:*:*) 1472da2e2ef6Smrg GUESS=neo-tandem-nsk$UNAME_RELEASE 1473da2e2ef6Smrg ;; 1474b7d26471Smrg NSE-*:NONSTOP_KERNEL:*:*) 1475da2e2ef6Smrg GUESS=nse-tandem-nsk$UNAME_RELEASE 1476da2e2ef6Smrg ;; 1477b7d26471Smrg NSR-*:NONSTOP_KERNEL:*:*) 1478da2e2ef6Smrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 1479da2e2ef6Smrg ;; 1480b7d26471Smrg NSV-*:NONSTOP_KERNEL:*:*) 1481da2e2ef6Smrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 1482da2e2ef6Smrg ;; 1483b7d26471Smrg NSX-*:NONSTOP_KERNEL:*:*) 1484da2e2ef6Smrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 1485da2e2ef6Smrg ;; 1486145b7b3cSmrg *:NonStop-UX:*:*) 1487da2e2ef6Smrg GUESS=mips-compaq-nonstopux 1488da2e2ef6Smrg ;; 1489145b7b3cSmrg BS2000:POSIX*:*:*) 1490da2e2ef6Smrg GUESS=bs2000-siemens-sysv 1491da2e2ef6Smrg ;; 1492145b7b3cSmrg DS/*:UNIX_System_V:*:*) 1493da2e2ef6Smrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 1494da2e2ef6Smrg ;; 1495145b7b3cSmrg *:Plan9:*:*) 1496145b7b3cSmrg # "uname -m" is not consistent, so use $cputype instead. 386 1497145b7b3cSmrg # is converted to i386 for consistency with other x86 1498145b7b3cSmrg # operating systems. 1499da2e2ef6Smrg if test "${cputype-}" = 386; then 1500145b7b3cSmrg UNAME_MACHINE=i386 1501da2e2ef6Smrg elif test "x${cputype-}" != x; then 1502da2e2ef6Smrg UNAME_MACHINE=$cputype 1503145b7b3cSmrg fi 1504da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-plan9 1505da2e2ef6Smrg ;; 1506145b7b3cSmrg *:TOPS-10:*:*) 1507da2e2ef6Smrg GUESS=pdp10-unknown-tops10 1508da2e2ef6Smrg ;; 1509145b7b3cSmrg *:TENEX:*:*) 1510da2e2ef6Smrg GUESS=pdp10-unknown-tenex 1511da2e2ef6Smrg ;; 1512145b7b3cSmrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1513da2e2ef6Smrg GUESS=pdp10-dec-tops20 1514da2e2ef6Smrg ;; 1515145b7b3cSmrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1516da2e2ef6Smrg GUESS=pdp10-xkl-tops20 1517da2e2ef6Smrg ;; 1518145b7b3cSmrg *:TOPS-20:*:*) 1519da2e2ef6Smrg GUESS=pdp10-unknown-tops20 1520da2e2ef6Smrg ;; 1521145b7b3cSmrg *:ITS:*:*) 1522da2e2ef6Smrg GUESS=pdp10-unknown-its 1523da2e2ef6Smrg ;; 1524145b7b3cSmrg SEI:*:*:SEIUX) 1525da2e2ef6Smrg GUESS=mips-sei-seiux$UNAME_RELEASE 1526da2e2ef6Smrg ;; 1527145b7b3cSmrg *:DragonFly:*:*) 1528da2e2ef6Smrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 1529da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 1530da2e2ef6Smrg ;; 1531145b7b3cSmrg *:*VMS:*:*) 1532b7d26471Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1533da2e2ef6Smrg case $UNAME_MACHINE in 1534da2e2ef6Smrg A*) GUESS=alpha-dec-vms ;; 1535da2e2ef6Smrg I*) GUESS=ia64-dec-vms ;; 1536da2e2ef6Smrg V*) GUESS=vax-dec-vms ;; 1537145b7b3cSmrg esac ;; 1538145b7b3cSmrg *:XENIX:*:SysV) 1539da2e2ef6Smrg GUESS=i386-pc-xenix 1540da2e2ef6Smrg ;; 1541145b7b3cSmrg i*86:skyos:*:*) 1542da2e2ef6Smrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 1543da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 1544da2e2ef6Smrg ;; 1545145b7b3cSmrg i*86:rdos:*:*) 1546da2e2ef6Smrg GUESS=$UNAME_MACHINE-pc-rdos 1547da2e2ef6Smrg ;; 15484901b09eSmrg i*86:Fiwix:*:*) 15494901b09eSmrg GUESS=$UNAME_MACHINE-pc-fiwix 15504901b09eSmrg ;; 1551da2e2ef6Smrg *:AROS:*:*) 1552da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-aros 1553da2e2ef6Smrg ;; 1554b7d26471Smrg x86_64:VMkernel:*:*) 1555da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-esx 1556da2e2ef6Smrg ;; 1557b7d26471Smrg amd64:Isilon\ OneFS:*:*) 1558da2e2ef6Smrg GUESS=x86_64-unknown-onefs 1559da2e2ef6Smrg ;; 1560da2e2ef6Smrg *:Unleashed:*:*) 1561da2e2ef6Smrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 1562da2e2ef6Smrg ;; 1563145b7b3cSmrgesac 1564145b7b3cSmrg 1565da2e2ef6Smrg# Do we have a guess based on uname results? 1566da2e2ef6Smrgif test "x$GUESS" != x; then 1567da2e2ef6Smrg echo "$GUESS" 1568da2e2ef6Smrg exit 1569da2e2ef6Smrgfi 1570da2e2ef6Smrg 1571da2e2ef6Smrg# No uname command or uname output not recognized. 1572da2e2ef6Smrgset_cc_for_build 1573da2e2ef6Smrgcat > "$dummy.c" <<EOF 1574da2e2ef6Smrg#ifdef _SEQUENT_ 1575da2e2ef6Smrg#include <sys/types.h> 1576da2e2ef6Smrg#include <sys/utsname.h> 1577da2e2ef6Smrg#endif 1578da2e2ef6Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1579da2e2ef6Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1580da2e2ef6Smrg#include <signal.h> 1581da2e2ef6Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1582da2e2ef6Smrg#include <sys/utsname.h> 1583da2e2ef6Smrg#endif 1584da2e2ef6Smrg#endif 1585da2e2ef6Smrg#endif 1586da2e2ef6Smrgmain () 1587da2e2ef6Smrg{ 1588da2e2ef6Smrg#if defined (sony) 1589da2e2ef6Smrg#if defined (MIPSEB) 1590da2e2ef6Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1591da2e2ef6Smrg I don't know.... */ 1592da2e2ef6Smrg printf ("mips-sony-bsd\n"); exit (0); 1593da2e2ef6Smrg#else 1594da2e2ef6Smrg#include <sys/param.h> 1595da2e2ef6Smrg printf ("m68k-sony-newsos%s\n", 1596da2e2ef6Smrg#ifdef NEWSOS4 1597da2e2ef6Smrg "4" 1598da2e2ef6Smrg#else 1599da2e2ef6Smrg "" 1600da2e2ef6Smrg#endif 1601da2e2ef6Smrg ); exit (0); 1602da2e2ef6Smrg#endif 1603da2e2ef6Smrg#endif 1604da2e2ef6Smrg 1605da2e2ef6Smrg#if defined (NeXT) 1606da2e2ef6Smrg#if !defined (__ARCHITECTURE__) 1607da2e2ef6Smrg#define __ARCHITECTURE__ "m68k" 1608da2e2ef6Smrg#endif 1609da2e2ef6Smrg int version; 1610da2e2ef6Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1611da2e2ef6Smrg if (version < 4) 1612da2e2ef6Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1613da2e2ef6Smrg else 1614da2e2ef6Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1615da2e2ef6Smrg exit (0); 1616da2e2ef6Smrg#endif 1617da2e2ef6Smrg 1618da2e2ef6Smrg#if defined (MULTIMAX) || defined (n16) 1619da2e2ef6Smrg#if defined (UMAXV) 1620da2e2ef6Smrg printf ("ns32k-encore-sysv\n"); exit (0); 1621da2e2ef6Smrg#else 1622da2e2ef6Smrg#if defined (CMU) 1623da2e2ef6Smrg printf ("ns32k-encore-mach\n"); exit (0); 1624da2e2ef6Smrg#else 1625da2e2ef6Smrg printf ("ns32k-encore-bsd\n"); exit (0); 1626da2e2ef6Smrg#endif 1627da2e2ef6Smrg#endif 1628da2e2ef6Smrg#endif 1629da2e2ef6Smrg 1630da2e2ef6Smrg#if defined (__386BSD__) 1631da2e2ef6Smrg printf ("i386-pc-bsd\n"); exit (0); 1632da2e2ef6Smrg#endif 1633da2e2ef6Smrg 1634da2e2ef6Smrg#if defined (sequent) 1635da2e2ef6Smrg#if defined (i386) 1636da2e2ef6Smrg printf ("i386-sequent-dynix\n"); exit (0); 1637da2e2ef6Smrg#endif 1638da2e2ef6Smrg#if defined (ns32000) 1639da2e2ef6Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 1640da2e2ef6Smrg#endif 1641da2e2ef6Smrg#endif 1642da2e2ef6Smrg 1643da2e2ef6Smrg#if defined (_SEQUENT_) 1644da2e2ef6Smrg struct utsname un; 1645da2e2ef6Smrg 1646da2e2ef6Smrg uname(&un); 1647da2e2ef6Smrg if (strncmp(un.version, "V2", 2) == 0) { 1648da2e2ef6Smrg printf ("i386-sequent-ptx2\n"); exit (0); 1649da2e2ef6Smrg } 1650da2e2ef6Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1651da2e2ef6Smrg printf ("i386-sequent-ptx1\n"); exit (0); 1652da2e2ef6Smrg } 1653da2e2ef6Smrg printf ("i386-sequent-ptx\n"); exit (0); 1654da2e2ef6Smrg#endif 1655da2e2ef6Smrg 1656da2e2ef6Smrg#if defined (vax) 1657da2e2ef6Smrg#if !defined (ultrix) 1658da2e2ef6Smrg#include <sys/param.h> 1659da2e2ef6Smrg#if defined (BSD) 1660da2e2ef6Smrg#if BSD == 43 1661da2e2ef6Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 1662da2e2ef6Smrg#else 1663da2e2ef6Smrg#if BSD == 199006 1664da2e2ef6Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 1665da2e2ef6Smrg#else 1666da2e2ef6Smrg printf ("vax-dec-bsd\n"); exit (0); 1667da2e2ef6Smrg#endif 1668da2e2ef6Smrg#endif 1669da2e2ef6Smrg#else 1670da2e2ef6Smrg printf ("vax-dec-bsd\n"); exit (0); 1671da2e2ef6Smrg#endif 1672da2e2ef6Smrg#else 1673da2e2ef6Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1674da2e2ef6Smrg struct utsname un; 1675da2e2ef6Smrg uname (&un); 1676da2e2ef6Smrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 1677da2e2ef6Smrg#else 1678da2e2ef6Smrg printf ("vax-dec-ultrix\n"); exit (0); 1679da2e2ef6Smrg#endif 1680da2e2ef6Smrg#endif 1681da2e2ef6Smrg#endif 1682da2e2ef6Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1683da2e2ef6Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1684da2e2ef6Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1685da2e2ef6Smrg struct utsname *un; 1686da2e2ef6Smrg uname (&un); 1687da2e2ef6Smrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 1688da2e2ef6Smrg#else 1689da2e2ef6Smrg printf ("mips-dec-ultrix\n"); exit (0); 1690da2e2ef6Smrg#endif 1691da2e2ef6Smrg#endif 1692da2e2ef6Smrg#endif 1693da2e2ef6Smrg 1694da2e2ef6Smrg#if defined (alliant) && defined (i860) 1695da2e2ef6Smrg printf ("i860-alliant-bsd\n"); exit (0); 1696da2e2ef6Smrg#endif 1697da2e2ef6Smrg 1698da2e2ef6Smrg exit (1); 1699da2e2ef6Smrg} 1700da2e2ef6SmrgEOF 1701da2e2ef6Smrg 1702da2e2ef6Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 1703da2e2ef6Smrg { echo "$SYSTEM_NAME"; exit; } 1704da2e2ef6Smrg 1705da2e2ef6Smrg# Apollos put the system type in the environment. 1706da2e2ef6Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 1707da2e2ef6Smrg 1708b7d26471Smrgecho "$0: unable to guess system type" >&2 1709145b7b3cSmrg 1710da2e2ef6Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 1711b7d26471Smrg mips:Linux | mips64:Linux) 1712b7d26471Smrg # If we got here on MIPS GNU/Linux, output extra information. 1713b7d26471Smrg cat >&2 <<EOF 1714145b7b3cSmrg 1715b7d26471SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 1716b7d26471Smrgthe system type. Please install a C compiler and try again. 1717145b7b3cSmrgEOF 1718b7d26471Smrg ;; 1719b7d26471Smrgesac 1720145b7b3cSmrg 1721145b7b3cSmrgcat >&2 <<EOF 1722145b7b3cSmrg 1723b7d26471SmrgThis script (version $timestamp), has failed to recognize the 1724b7d26471Smrgoperating system you are using. If your script is old, overwrite *all* 1725b7d26471Smrgcopies of config.guess and config.sub with the latest versions from: 1726145b7b3cSmrg 1727da2e2ef6Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 1728145b7b3cSmrgand 1729da2e2ef6Smrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 1730da2e2ef6SmrgEOF 1731da2e2ef6Smrg 1732da2e2ef6Smrgour_year=`echo $timestamp | sed 's,-.*,,'` 1733da2e2ef6Smrgthisyear=`date +%Y` 1734da2e2ef6Smrg# shellcheck disable=SC2003 1735da2e2ef6Smrgscript_age=`expr "$thisyear" - "$our_year"` 1736da2e2ef6Smrgif test "$script_age" -lt 3 ; then 1737da2e2ef6Smrg cat >&2 <<EOF 1738145b7b3cSmrg 1739b7d26471SmrgIf $0 has already been updated, send the following data and any 1740b7d26471Smrginformation you think might be pertinent to config-patches@gnu.org to 1741b7d26471Smrgprovide the necessary information to handle your system. 1742145b7b3cSmrg 1743145b7b3cSmrgconfig.guess timestamp = $timestamp 1744145b7b3cSmrg 1745145b7b3cSmrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1746145b7b3cSmrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1747145b7b3cSmrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1748145b7b3cSmrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1749145b7b3cSmrg 1750145b7b3cSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1751145b7b3cSmrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1752145b7b3cSmrg 1753145b7b3cSmrghostinfo = `(hostinfo) 2>/dev/null` 1754145b7b3cSmrg/bin/universe = `(/bin/universe) 2>/dev/null` 1755145b7b3cSmrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1756145b7b3cSmrg/bin/arch = `(/bin/arch) 2>/dev/null` 1757145b7b3cSmrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1758145b7b3cSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1759145b7b3cSmrg 1760b7d26471SmrgUNAME_MACHINE = "$UNAME_MACHINE" 1761b7d26471SmrgUNAME_RELEASE = "$UNAME_RELEASE" 1762b7d26471SmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 1763b7d26471SmrgUNAME_VERSION = "$UNAME_VERSION" 1764145b7b3cSmrgEOF 1765da2e2ef6Smrgfi 1766145b7b3cSmrg 1767145b7b3cSmrgexit 1 1768145b7b3cSmrg 1769145b7b3cSmrg# Local variables: 1770da2e2ef6Smrg# eval: (add-hook 'before-save-hook 'time-stamp) 1771145b7b3cSmrg# time-stamp-start: "timestamp='" 1772145b7b3cSmrg# time-stamp-format: "%:y-%02m-%02d" 1773145b7b3cSmrg# time-stamp-end: "'" 1774145b7b3cSmrg# End: 1775