125039b37SCy Schubert#! /bin/sh 2b7579f77SDag-Erling Smørgrav# Attempt to guess a canonical system name. 3b76ef9a7SCy Schubert# Copyright 1992-2024 Free Software Foundation, Inc. 4b7579f77SDag-Erling Smørgrav 55469a995SCy Schubert# shellcheck disable=SC2006,SC2268 # see below for rationale 65469a995SCy Schubert 7*56850988SCy Schuberttimestamp='2024-07-27' 8b7579f77SDag-Erling Smørgrav 9b7579f77SDag-Erling Smørgrav# This file is free software; you can redistribute it and/or modify it 10b7579f77SDag-Erling Smørgrav# under the terms of the GNU General Public License as published by 119cf5bc93SCy Schubert# the Free Software Foundation, either version 3 of the License, or 12b7579f77SDag-Erling Smørgrav# (at your option) any later version. 13b7579f77SDag-Erling Smørgrav# 14b7579f77SDag-Erling Smørgrav# This program is distributed in the hope that it will be useful, but 15b7579f77SDag-Erling Smørgrav# WITHOUT ANY WARRANTY; without even the implied warranty of 16b7579f77SDag-Erling Smørgrav# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17b7579f77SDag-Erling Smørgrav# General Public License for more details. 18b7579f77SDag-Erling Smørgrav# 19b7579f77SDag-Erling Smørgrav# You should have received a copy of the GNU General Public License 2025039b37SCy Schubert# along with this program; if not, see <https://www.gnu.org/licenses/>. 21b7579f77SDag-Erling Smørgrav# 22b7579f77SDag-Erling Smørgrav# As a special exception to the GNU General Public License, if you 23b7579f77SDag-Erling Smørgrav# distribute this file as part of a program that contains a 24b7579f77SDag-Erling Smørgrav# configuration script generated by Autoconf, you may include it under 25ff825849SDag-Erling Smørgrav# the same distribution terms that you use for the rest of that 26ff825849SDag-Erling Smørgrav# program. This Exception is an additional permission under section 7 27ff825849SDag-Erling Smørgrav# of the GNU General Public License, version 3 ("GPLv3"). 28b7579f77SDag-Erling Smørgrav# 298157cbabSDag-Erling Smørgrav# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 30b7579f77SDag-Erling Smørgrav# 31b7579f77SDag-Erling Smørgrav# You can get the latest version of this script from: 32369c6923SCy Schubert# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 33ff825849SDag-Erling Smørgrav# 348157cbabSDag-Erling Smørgrav# Please send patches to <config-patches@gnu.org>. 35ff825849SDag-Erling Smørgrav 36b7579f77SDag-Erling Smørgrav 375469a995SCy Schubert# The "shellcheck disable" line above the timestamp inhibits complaints 385469a995SCy Schubert# about features and limitations of the classic Bourne shell that were 395469a995SCy Schubert# superseded or lifted in POSIX. However, this script identifies a wide 405469a995SCy Schubert# variety of pre-POSIX systems that do not have POSIX shells at all, and 415469a995SCy Schubert# even some reasonably current systems (Solaris 10 as case-in-point) still 425469a995SCy Schubert# have a pre-POSIX /bin/sh. 435469a995SCy Schubert 445469a995SCy Schubert 455469a995SCy Schubertme=`echo "$0" | sed -e 's,.*/,,'` 46b7579f77SDag-Erling Smørgrav 47b7579f77SDag-Erling Smørgravusage="\ 48b7579f77SDag-Erling SmørgravUsage: $0 [OPTION] 49b7579f77SDag-Erling Smørgrav 508f76bb7dSCy SchubertOutput the configuration name of the system '$me' is run on. 51b7579f77SDag-Erling Smørgrav 5225039b37SCy SchubertOptions: 53b7579f77SDag-Erling Smørgrav -h, --help print this help, then exit 54b7579f77SDag-Erling Smørgrav -t, --time-stamp print date of last modification, then exit 55b7579f77SDag-Erling Smørgrav -v, --version print version number, then exit 56b7579f77SDag-Erling Smørgrav 57b7579f77SDag-Erling SmørgravReport bugs and patches to <config-patches@gnu.org>." 58b7579f77SDag-Erling Smørgrav 59b7579f77SDag-Erling Smørgravversion="\ 60b7579f77SDag-Erling SmørgravGNU config.guess ($timestamp) 61b7579f77SDag-Erling Smørgrav 62b7579f77SDag-Erling SmørgravOriginally written by Per Bothner. 63b76ef9a7SCy SchubertCopyright 1992-2024 Free Software Foundation, Inc. 64b7579f77SDag-Erling Smørgrav 65b7579f77SDag-Erling SmørgravThis is free software; see the source for copying conditions. There is NO 66b7579f77SDag-Erling Smørgravwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 67b7579f77SDag-Erling Smørgrav 68b7579f77SDag-Erling Smørgravhelp=" 698f76bb7dSCy SchubertTry '$me --help' for more information." 70b7579f77SDag-Erling Smørgrav 71b7579f77SDag-Erling Smørgrav# Parse command line 72b7579f77SDag-Erling Smørgravwhile test $# -gt 0 ; do 73b7579f77SDag-Erling Smørgrav case $1 in 74b7579f77SDag-Erling Smørgrav --time-stamp | --time* | -t ) 75b7579f77SDag-Erling Smørgrav echo "$timestamp" ; exit ;; 76b7579f77SDag-Erling Smørgrav --version | -v ) 77b7579f77SDag-Erling Smørgrav echo "$version" ; exit ;; 78b7579f77SDag-Erling Smørgrav --help | --h* | -h ) 79b7579f77SDag-Erling Smørgrav echo "$usage"; exit ;; 80b7579f77SDag-Erling Smørgrav -- ) # Stop option processing 81b7579f77SDag-Erling Smørgrav shift; break ;; 82b7579f77SDag-Erling Smørgrav - ) # Use stdin as input. 83b7579f77SDag-Erling Smørgrav break ;; 84b7579f77SDag-Erling Smørgrav -* ) 85b7579f77SDag-Erling Smørgrav echo "$me: invalid option $1$help" >&2 86b7579f77SDag-Erling Smørgrav exit 1 ;; 87b7579f77SDag-Erling Smørgrav * ) 88b7579f77SDag-Erling Smørgrav break ;; 89b7579f77SDag-Erling Smørgrav esac 90b7579f77SDag-Erling Smørgravdone 91b7579f77SDag-Erling Smørgrav 92b7579f77SDag-Erling Smørgravif test $# != 0; then 93b7579f77SDag-Erling Smørgrav echo "$me: too many arguments$help" >&2 94b7579f77SDag-Erling Smørgrav exit 1 95b7579f77SDag-Erling Smørgravfi 96b7579f77SDag-Erling Smørgrav 975469a995SCy Schubert# Just in case it came from the environment. 985469a995SCy SchubertGUESS= 995469a995SCy Schubert 100b7579f77SDag-Erling Smørgrav# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 101b7579f77SDag-Erling Smørgrav# compiler to aid in system detection is discouraged as it requires 102b7579f77SDag-Erling Smørgrav# temporary files to be created and, as you can see below, it is a 103b7579f77SDag-Erling Smørgrav# headache to deal with in a portable fashion. 104b7579f77SDag-Erling Smørgrav 1058f76bb7dSCy Schubert# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still 1068f76bb7dSCy Schubert# use 'HOST_CC' if defined, but it is deprecated. 107b7579f77SDag-Erling Smørgrav 108b7579f77SDag-Erling Smørgrav# Portable tmp directory creation inspired by the Autoconf team. 109b7579f77SDag-Erling Smørgrav 11025039b37SCy Schuberttmp= 11125039b37SCy Schubert# shellcheck disable=SC2172 11225039b37SCy Schuberttrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 11325039b37SCy Schubert 11425039b37SCy Schubertset_cc_for_build() { 11525039b37SCy Schubert # prevent multiple calls if $tmp is already set 11625039b37SCy Schubert test "$tmp" && return 0 11725039b37SCy Schubert : "${TMPDIR=/tmp}" 1185469a995SCy Schubert # shellcheck disable=SC2039,SC3028 1195469a995SCy Schubert { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 12025039b37SCy Schubert { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 12125039b37SCy Schubert { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 12225039b37SCy Schubert { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 12325039b37SCy Schubert dummy=$tmp/dummy 12425039b37SCy Schubert case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 12525039b37SCy Schubert ,,) echo "int x;" > "$dummy.c" 126*56850988SCy Schubert for driver in cc gcc c17 c99 c89 ; do 12725039b37SCy Schubert if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 1285469a995SCy Schubert CC_FOR_BUILD=$driver 12925039b37SCy Schubert break 13025039b37SCy Schubert fi 13125039b37SCy Schubert done 132b7579f77SDag-Erling Smørgrav if test x"$CC_FOR_BUILD" = x ; then 13325039b37SCy Schubert CC_FOR_BUILD=no_compiler_found 134b7579f77SDag-Erling Smørgrav fi 135b7579f77SDag-Erling Smørgrav ;; 136b7579f77SDag-Erling Smørgrav ,,*) CC_FOR_BUILD=$CC ;; 137b7579f77SDag-Erling Smørgrav ,*,*) CC_FOR_BUILD=$HOST_CC ;; 13825039b37SCy Schubert esac 13925039b37SCy Schubert} 140b7579f77SDag-Erling Smørgrav 141b7579f77SDag-Erling Smørgrav# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 142b7579f77SDag-Erling Smørgrav# (ghazi@noc.rutgers.edu 1994-08-24) 14325039b37SCy Schubertif test -f /.attbin/uname ; then 144b7579f77SDag-Erling Smørgrav PATH=$PATH:/.attbin ; export PATH 145b7579f77SDag-Erling Smørgravfi 146b7579f77SDag-Erling Smørgrav 1475469a995SCy SchubertUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 1485469a995SCy SchubertUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 1495469a995SCy SchubertUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 1505469a995SCy SchubertUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 151b7579f77SDag-Erling Smørgrav 1525469a995SCy Schubertcase $UNAME_SYSTEM in 153ff825849SDag-Erling SmørgravLinux|GNU|GNU/*) 154369c6923SCy Schubert LIBC=unknown 155ff825849SDag-Erling Smørgrav 15625039b37SCy Schubert set_cc_for_build 15725039b37SCy Schubert cat <<-EOF > "$dummy.c" 158103ba509SCy Schubert #if defined(__ANDROID__) 159103ba509SCy Schubert LIBC=android 160103ba509SCy Schubert #else 161ff825849SDag-Erling Smørgrav #include <features.h> 162ff825849SDag-Erling Smørgrav #if defined(__UCLIBC__) 163ff825849SDag-Erling Smørgrav LIBC=uclibc 164ff825849SDag-Erling Smørgrav #elif defined(__dietlibc__) 165ff825849SDag-Erling Smørgrav LIBC=dietlibc 166369c6923SCy Schubert #elif defined(__GLIBC__) 167369c6923SCy Schubert LIBC=gnu 168b76ef9a7SCy Schubert #elif defined(__LLVM_LIBC__) 169b76ef9a7SCy Schubert LIBC=llvm 170ff825849SDag-Erling Smørgrav #else 171c0caa2e2SCy Schubert #include <stdarg.h> 172369c6923SCy Schubert /* First heuristic to detect musl libc. */ 173c0caa2e2SCy Schubert #ifdef __DEFINED_va_list 174c0caa2e2SCy Schubert LIBC=musl 175ff825849SDag-Erling Smørgrav #endif 176c0caa2e2SCy Schubert #endif 177103ba509SCy Schubert #endif 178ff825849SDag-Erling Smørgrav EOF 1795469a995SCy Schubert cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 1805469a995SCy Schubert eval "$cc_set_libc" 181369c6923SCy Schubert 182369c6923SCy Schubert # Second heuristic to detect musl libc. 183369c6923SCy Schubert if [ "$LIBC" = unknown ] && 184369c6923SCy Schubert command -v ldd >/dev/null && 185369c6923SCy Schubert ldd --version 2>&1 | grep -q ^musl; then 186369c6923SCy Schubert LIBC=musl 187369c6923SCy Schubert fi 188369c6923SCy Schubert 189369c6923SCy Schubert # If the system lacks a compiler, then just pick glibc. 190369c6923SCy Schubert # We could probably try harder. 191369c6923SCy Schubert if [ "$LIBC" = unknown ]; then 192369c6923SCy Schubert LIBC=gnu 193369c6923SCy Schubert fi 194ff825849SDag-Erling Smørgrav ;; 195ff825849SDag-Erling Smørgravesac 196ff825849SDag-Erling Smørgrav 197b7579f77SDag-Erling Smørgrav# Note: order is significant - the case branches are not exclusive. 198b7579f77SDag-Erling Smørgrav 1995469a995SCy Schubertcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 200b7579f77SDag-Erling Smørgrav *:NetBSD:*:*) 201b7579f77SDag-Erling Smørgrav # NetBSD (nbsd) targets should (where applicable) match one or 2028ed2b524SDag-Erling Smørgrav # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 203b7579f77SDag-Erling Smørgrav # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 204b7579f77SDag-Erling Smørgrav # switched to ELF, *-*-netbsd* would select the old 205b7579f77SDag-Erling Smørgrav # object file format. This provides both forward 206b7579f77SDag-Erling Smørgrav # compatibility and a consistent mechanism for selecting the 207b7579f77SDag-Erling Smørgrav # object file format. 208b7579f77SDag-Erling Smørgrav # 209b7579f77SDag-Erling Smørgrav # Note: NetBSD doesn't particularly care about the vendor 210b7579f77SDag-Erling Smørgrav # portion of the name. We always set it to "unknown". 2115469a995SCy Schubert UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 212f44e67d1SCy Schubert /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 213f44e67d1SCy Schubert /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 2145469a995SCy Schubert echo unknown)` 2155469a995SCy Schubert case $UNAME_MACHINE_ARCH in 216369c6923SCy Schubert aarch64eb) machine=aarch64_be-unknown ;; 217b7579f77SDag-Erling Smørgrav armeb) machine=armeb-unknown ;; 218b7579f77SDag-Erling Smørgrav arm*) machine=arm-unknown ;; 219b7579f77SDag-Erling Smørgrav sh3el) machine=shl-unknown ;; 220b7579f77SDag-Erling Smørgrav sh3eb) machine=sh-unknown ;; 221b7579f77SDag-Erling Smørgrav sh5el) machine=sh5le-unknown ;; 2228157cbabSDag-Erling Smørgrav earmv*) 2235469a995SCy Schubert arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 2245469a995SCy Schubert endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 2255469a995SCy Schubert machine=${arch}${endian}-unknown 2268157cbabSDag-Erling Smørgrav ;; 2275469a995SCy Schubert *) machine=$UNAME_MACHINE_ARCH-unknown ;; 228b7579f77SDag-Erling Smørgrav esac 229b7579f77SDag-Erling Smørgrav # The Operating System including object format, if it has switched 2308157cbabSDag-Erling Smørgrav # to ELF recently (or will in the future) and ABI. 2315469a995SCy Schubert case $UNAME_MACHINE_ARCH in 2328157cbabSDag-Erling Smørgrav earm*) 2338157cbabSDag-Erling Smørgrav os=netbsdelf 2348157cbabSDag-Erling Smørgrav ;; 235b7579f77SDag-Erling Smørgrav arm*|i386|m68k|ns32k|sh3*|sparc|vax) 23625039b37SCy Schubert set_cc_for_build 237b7579f77SDag-Erling Smørgrav if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 238b7579f77SDag-Erling Smørgrav | grep -q __ELF__ 239b7579f77SDag-Erling Smørgrav then 240b7579f77SDag-Erling Smørgrav # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 241b7579f77SDag-Erling Smørgrav # Return netbsd for either. FIX? 242b7579f77SDag-Erling Smørgrav os=netbsd 243b7579f77SDag-Erling Smørgrav else 244b7579f77SDag-Erling Smørgrav os=netbsdelf 245b7579f77SDag-Erling Smørgrav fi 246b7579f77SDag-Erling Smørgrav ;; 247b7579f77SDag-Erling Smørgrav *) 248b7579f77SDag-Erling Smørgrav os=netbsd 249b7579f77SDag-Erling Smørgrav ;; 250b7579f77SDag-Erling Smørgrav esac 2518157cbabSDag-Erling Smørgrav # Determine ABI tags. 2525469a995SCy Schubert case $UNAME_MACHINE_ARCH in 2538157cbabSDag-Erling Smørgrav earm*) 2548157cbabSDag-Erling Smørgrav expr='s/^earmv[0-9]/-eabi/;s/eb$//' 2555469a995SCy Schubert abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 2568157cbabSDag-Erling Smørgrav ;; 2578157cbabSDag-Erling Smørgrav esac 258b7579f77SDag-Erling Smørgrav # The OS release 259b7579f77SDag-Erling Smørgrav # Debian GNU/NetBSD machines have a different userland, and 260b7579f77SDag-Erling Smørgrav # thus, need a distinct triplet. However, they do not need 261b7579f77SDag-Erling Smørgrav # kernel version information, so it can be replaced with a 262b7579f77SDag-Erling Smørgrav # suitable tag, in the style of linux-gnu. 2635469a995SCy Schubert case $UNAME_VERSION in 264b7579f77SDag-Erling Smørgrav Debian*) 265b7579f77SDag-Erling Smørgrav release='-gnu' 266b7579f77SDag-Erling Smørgrav ;; 267b7579f77SDag-Erling Smørgrav *) 2685469a995SCy Schubert release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 269b7579f77SDag-Erling Smørgrav ;; 270b7579f77SDag-Erling Smørgrav esac 271b7579f77SDag-Erling Smørgrav # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 272b7579f77SDag-Erling Smørgrav # contains redundant information, the shorter form: 273b7579f77SDag-Erling Smørgrav # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 2745469a995SCy Schubert GUESS=$machine-${os}${release}${abi-} 2755469a995SCy Schubert ;; 276ff825849SDag-Erling Smørgrav *:Bitrig:*:*) 2775469a995SCy Schubert UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 2785469a995SCy Schubert GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 2795469a995SCy Schubert ;; 280b7579f77SDag-Erling Smørgrav *:OpenBSD:*:*) 2815469a995SCy Schubert UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 2825469a995SCy Schubert GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 2835469a995SCy Schubert ;; 2845469a995SCy Schubert *:SecBSD:*:*) 2855469a995SCy Schubert UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 2865469a995SCy Schubert GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 2875469a995SCy Schubert ;; 2888157cbabSDag-Erling Smørgrav *:LibertyBSD:*:*) 2895469a995SCy Schubert UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 2905469a995SCy Schubert GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 2915469a995SCy Schubert ;; 29225039b37SCy Schubert *:MidnightBSD:*:*) 2935469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 2945469a995SCy Schubert ;; 295b7579f77SDag-Erling Smørgrav *:ekkoBSD:*:*) 2965469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 2975469a995SCy Schubert ;; 298b7579f77SDag-Erling Smørgrav *:SolidBSD:*:*) 2995469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 3005469a995SCy Schubert ;; 30125039b37SCy Schubert *:OS108:*:*) 3025469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 3035469a995SCy Schubert ;; 304b7579f77SDag-Erling Smørgrav macppc:MirBSD:*:*) 3055469a995SCy Schubert GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 3065469a995SCy Schubert ;; 307b7579f77SDag-Erling Smørgrav *:MirBSD:*:*) 3085469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 3095469a995SCy Schubert ;; 3108157cbabSDag-Erling Smørgrav *:Sortix:*:*) 3115469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-sortix 3125469a995SCy Schubert ;; 31325039b37SCy Schubert *:Twizzler:*:*) 3145469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-twizzler 3155469a995SCy Schubert ;; 31625039b37SCy Schubert *:Redox:*:*) 3175469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-redox 3185469a995SCy Schubert ;; 31925039b37SCy Schubert mips:OSF1:*.*) 3205469a995SCy Schubert GUESS=mips-dec-osf1 3215469a995SCy Schubert ;; 322b7579f77SDag-Erling Smørgrav alpha:OSF1:*:*) 3235469a995SCy Schubert # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 3245469a995SCy Schubert trap '' 0 325b7579f77SDag-Erling Smørgrav case $UNAME_RELEASE in 326b7579f77SDag-Erling Smørgrav *4.0) 3275469a995SCy Schubert UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 328b7579f77SDag-Erling Smørgrav ;; 329b7579f77SDag-Erling Smørgrav *5.*) 3305469a995SCy Schubert UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 331b7579f77SDag-Erling Smørgrav ;; 332b7579f77SDag-Erling Smørgrav esac 333b7579f77SDag-Erling Smørgrav # According to Compaq, /usr/sbin/psrinfo has been available on 334b7579f77SDag-Erling Smørgrav # OSF/1 and Tru64 systems produced since 1995. I hope that 335b7579f77SDag-Erling Smørgrav # covers most systems running today. This code pipes the CPU 336b7579f77SDag-Erling Smørgrav # types through head -n 1, so we only detect the type of CPU 0. 3375469a995SCy Schubert ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 3385469a995SCy Schubert case $ALPHA_CPU_TYPE in 339b7579f77SDag-Erling Smørgrav "EV4 (21064)") 3408157cbabSDag-Erling Smørgrav UNAME_MACHINE=alpha ;; 341b7579f77SDag-Erling Smørgrav "EV4.5 (21064)") 3428157cbabSDag-Erling Smørgrav UNAME_MACHINE=alpha ;; 343b7579f77SDag-Erling Smørgrav "LCA4 (21066/21068)") 3448157cbabSDag-Erling Smørgrav UNAME_MACHINE=alpha ;; 345b7579f77SDag-Erling Smørgrav "EV5 (21164)") 3468157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphaev5 ;; 347b7579f77SDag-Erling Smørgrav "EV5.6 (21164A)") 3488157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphaev56 ;; 349b7579f77SDag-Erling Smørgrav "EV5.6 (21164PC)") 3508157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphapca56 ;; 351b7579f77SDag-Erling Smørgrav "EV5.7 (21164PC)") 3528157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphapca57 ;; 353b7579f77SDag-Erling Smørgrav "EV6 (21264)") 3548157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphaev6 ;; 355b7579f77SDag-Erling Smørgrav "EV6.7 (21264A)") 3568157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphaev67 ;; 357b7579f77SDag-Erling Smørgrav "EV6.8CB (21264C)") 3588157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphaev68 ;; 359b7579f77SDag-Erling Smørgrav "EV6.8AL (21264B)") 3608157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphaev68 ;; 361b7579f77SDag-Erling Smørgrav "EV6.8CX (21264D)") 3628157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphaev68 ;; 363b7579f77SDag-Erling Smørgrav "EV6.9A (21264/EV69A)") 3648157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphaev69 ;; 365b7579f77SDag-Erling Smørgrav "EV7 (21364)") 3668157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphaev7 ;; 367b7579f77SDag-Erling Smørgrav "EV7.9 (21364A)") 3688157cbabSDag-Erling Smørgrav UNAME_MACHINE=alphaev79 ;; 369b7579f77SDag-Erling Smørgrav esac 370b7579f77SDag-Erling Smørgrav # A Pn.n version is a patched version. 371b7579f77SDag-Erling Smørgrav # A Vn.n version is a released version. 372b7579f77SDag-Erling Smørgrav # A Tn.n version is a released field test version. 373b7579f77SDag-Erling Smørgrav # A Xn.n version is an unreleased experimental baselevel. 374b7579f77SDag-Erling Smørgrav # 1.2 uses "1.2" for uname -r. 3755469a995SCy Schubert OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 3765469a995SCy Schubert GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 3775469a995SCy Schubert ;; 378b7579f77SDag-Erling Smørgrav Amiga*:UNIX_System_V:4.0:*) 3795469a995SCy Schubert GUESS=m68k-unknown-sysv4 3805469a995SCy Schubert ;; 381b7579f77SDag-Erling Smørgrav *:[Aa]miga[Oo][Ss]:*:*) 3825469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-amigaos 3835469a995SCy Schubert ;; 384b7579f77SDag-Erling Smørgrav *:[Mm]orph[Oo][Ss]:*:*) 3855469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-morphos 3865469a995SCy Schubert ;; 387b7579f77SDag-Erling Smørgrav *:OS/390:*:*) 3885469a995SCy Schubert GUESS=i370-ibm-openedition 3895469a995SCy Schubert ;; 390b7579f77SDag-Erling Smørgrav *:z/VM:*:*) 3915469a995SCy Schubert GUESS=s390-ibm-zvmoe 3925469a995SCy Schubert ;; 393b7579f77SDag-Erling Smørgrav *:OS400:*:*) 3945469a995SCy Schubert GUESS=powerpc-ibm-os400 3955469a995SCy Schubert ;; 396b7579f77SDag-Erling Smørgrav arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 3975469a995SCy Schubert GUESS=arm-acorn-riscix$UNAME_RELEASE 3985469a995SCy Schubert ;; 399ff825849SDag-Erling Smørgrav arm*:riscos:*:*|arm*:RISCOS:*:*) 4005469a995SCy Schubert GUESS=arm-unknown-riscos 4015469a995SCy Schubert ;; 402b7579f77SDag-Erling Smørgrav SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 4035469a995SCy Schubert GUESS=hppa1.1-hitachi-hiuxmpp 4045469a995SCy Schubert ;; 405b7579f77SDag-Erling Smørgrav Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 406b7579f77SDag-Erling Smørgrav # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 4075469a995SCy Schubert case `(/bin/universe) 2>/dev/null` in 4085469a995SCy Schubert att) GUESS=pyramid-pyramid-sysv3 ;; 4095469a995SCy Schubert *) GUESS=pyramid-pyramid-bsd ;; 4105469a995SCy Schubert esac 4115469a995SCy Schubert ;; 412b7579f77SDag-Erling Smørgrav NILE*:*:*:dcosx) 4135469a995SCy Schubert GUESS=pyramid-pyramid-svr4 4145469a995SCy Schubert ;; 415b7579f77SDag-Erling Smørgrav DRS?6000:unix:4.0:6*) 4165469a995SCy Schubert GUESS=sparc-icl-nx6 4175469a995SCy Schubert ;; 418b7579f77SDag-Erling Smørgrav DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 4195469a995SCy Schubert case `/usr/bin/uname -p` in 4205469a995SCy Schubert sparc) GUESS=sparc-icl-nx7 ;; 4215469a995SCy Schubert esac 4225469a995SCy Schubert ;; 423b7579f77SDag-Erling Smørgrav s390x:SunOS:*:*) 4245469a995SCy Schubert SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4255469a995SCy Schubert GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 4265469a995SCy Schubert ;; 427b7579f77SDag-Erling Smørgrav sun4H:SunOS:5.*:*) 4285469a995SCy Schubert SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4295469a995SCy Schubert GUESS=sparc-hal-solaris2$SUN_REL 4305469a995SCy Schubert ;; 431b7579f77SDag-Erling Smørgrav sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 4325469a995SCy Schubert SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4335469a995SCy Schubert GUESS=sparc-sun-solaris2$SUN_REL 4345469a995SCy Schubert ;; 435b7579f77SDag-Erling Smørgrav i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 4365469a995SCy Schubert GUESS=i386-pc-auroraux$UNAME_RELEASE 4375469a995SCy Schubert ;; 438b7579f77SDag-Erling Smørgrav i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 43925039b37SCy Schubert set_cc_for_build 4408157cbabSDag-Erling Smørgrav SUN_ARCH=i386 441b7579f77SDag-Erling Smørgrav # If there is a compiler, see if it is configured for 64-bit objects. 442b7579f77SDag-Erling Smørgrav # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 443b7579f77SDag-Erling Smørgrav # This test works for both compilers. 444c0caa2e2SCy Schubert if test "$CC_FOR_BUILD" != no_compiler_found; then 445b7579f77SDag-Erling Smørgrav if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 4469cf5bc93SCy Schubert (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 447b7579f77SDag-Erling Smørgrav grep IS_64BIT_ARCH >/dev/null 448b7579f77SDag-Erling Smørgrav then 4498157cbabSDag-Erling Smørgrav SUN_ARCH=x86_64 450b7579f77SDag-Erling Smørgrav fi 451b7579f77SDag-Erling Smørgrav fi 4525469a995SCy Schubert SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4535469a995SCy Schubert GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 4545469a995SCy Schubert ;; 455b7579f77SDag-Erling Smørgrav sun4*:SunOS:6*:*) 456b7579f77SDag-Erling Smørgrav # According to config.sub, this is the proper way to canonicalize 457b7579f77SDag-Erling Smørgrav # SunOS6. Hard to guess exactly what SunOS6 will be like, but 458b7579f77SDag-Erling Smørgrav # it's likely to be more like Solaris than SunOS4. 4595469a995SCy Schubert SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4605469a995SCy Schubert GUESS=sparc-sun-solaris3$SUN_REL 4615469a995SCy Schubert ;; 462b7579f77SDag-Erling Smørgrav sun4*:SunOS:*:*) 4635469a995SCy Schubert case `/usr/bin/arch -k` in 464b7579f77SDag-Erling Smørgrav Series*|S4*) 4655469a995SCy Schubert UNAME_RELEASE=`uname -v` 466b7579f77SDag-Erling Smørgrav ;; 467b7579f77SDag-Erling Smørgrav esac 4688f76bb7dSCy Schubert # Japanese Language versions have a version number like '4.1.3-JL'. 4695469a995SCy Schubert SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 4705469a995SCy Schubert GUESS=sparc-sun-sunos$SUN_REL 4715469a995SCy Schubert ;; 472b7579f77SDag-Erling Smørgrav sun3*:SunOS:*:*) 4735469a995SCy Schubert GUESS=m68k-sun-sunos$UNAME_RELEASE 4745469a995SCy Schubert ;; 475b7579f77SDag-Erling Smørgrav sun*:*:4.2BSD:*) 4765469a995SCy Schubert UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 47725039b37SCy Schubert test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 4785469a995SCy Schubert case `/bin/arch` in 479b7579f77SDag-Erling Smørgrav sun3) 4805469a995SCy Schubert GUESS=m68k-sun-sunos$UNAME_RELEASE 481b7579f77SDag-Erling Smørgrav ;; 482b7579f77SDag-Erling Smørgrav sun4) 4835469a995SCy Schubert GUESS=sparc-sun-sunos$UNAME_RELEASE 484b7579f77SDag-Erling Smørgrav ;; 485b7579f77SDag-Erling Smørgrav esac 4865469a995SCy Schubert ;; 487b7579f77SDag-Erling Smørgrav aushp:SunOS:*:*) 4885469a995SCy Schubert GUESS=sparc-auspex-sunos$UNAME_RELEASE 4895469a995SCy Schubert ;; 490b7579f77SDag-Erling Smørgrav # The situation for MiNT is a little confusing. The machine name 491b7579f77SDag-Erling Smørgrav # can be virtually everything (everything which is not 492b7579f77SDag-Erling Smørgrav # "atarist" or "atariste" at least should have a processor 493b7579f77SDag-Erling Smørgrav # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 494b7579f77SDag-Erling Smørgrav # to the lowercase version "mint" (or "freemint"). Finally 495b7579f77SDag-Erling Smørgrav # the system name "TOS" denotes a system which is actually not 496b7579f77SDag-Erling Smørgrav # MiNT. But MiNT is downward compatible to TOS, so this should 497b7579f77SDag-Erling Smørgrav # be no problem. 498b7579f77SDag-Erling Smørgrav atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 4995469a995SCy Schubert GUESS=m68k-atari-mint$UNAME_RELEASE 5005469a995SCy Schubert ;; 501b7579f77SDag-Erling Smørgrav atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 5025469a995SCy Schubert GUESS=m68k-atari-mint$UNAME_RELEASE 5035469a995SCy Schubert ;; 504b7579f77SDag-Erling Smørgrav *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 5055469a995SCy Schubert GUESS=m68k-atari-mint$UNAME_RELEASE 5065469a995SCy Schubert ;; 507b7579f77SDag-Erling Smørgrav milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 5085469a995SCy Schubert GUESS=m68k-milan-mint$UNAME_RELEASE 5095469a995SCy Schubert ;; 510b7579f77SDag-Erling Smørgrav hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 5115469a995SCy Schubert GUESS=m68k-hades-mint$UNAME_RELEASE 5125469a995SCy Schubert ;; 513b7579f77SDag-Erling Smørgrav *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 5145469a995SCy Schubert GUESS=m68k-unknown-mint$UNAME_RELEASE 5155469a995SCy Schubert ;; 516b7579f77SDag-Erling Smørgrav m68k:machten:*:*) 5175469a995SCy Schubert GUESS=m68k-apple-machten$UNAME_RELEASE 5185469a995SCy Schubert ;; 519b7579f77SDag-Erling Smørgrav powerpc:machten:*:*) 5205469a995SCy Schubert GUESS=powerpc-apple-machten$UNAME_RELEASE 5215469a995SCy Schubert ;; 522b7579f77SDag-Erling Smørgrav RISC*:Mach:*:*) 5235469a995SCy Schubert GUESS=mips-dec-mach_bsd4.3 5245469a995SCy Schubert ;; 525b7579f77SDag-Erling Smørgrav RISC*:ULTRIX:*:*) 5265469a995SCy Schubert GUESS=mips-dec-ultrix$UNAME_RELEASE 5275469a995SCy Schubert ;; 528b7579f77SDag-Erling Smørgrav VAX*:ULTRIX*:*:*) 5295469a995SCy Schubert GUESS=vax-dec-ultrix$UNAME_RELEASE 5305469a995SCy Schubert ;; 531b7579f77SDag-Erling Smørgrav 2020:CLIX:*:* | 2430:CLIX:*:*) 5325469a995SCy Schubert GUESS=clipper-intergraph-clix$UNAME_RELEASE 5335469a995SCy Schubert ;; 534b7579f77SDag-Erling Smørgrav mips:*:*:UMIPS | mips:*:*:RISCos) 53525039b37SCy Schubert set_cc_for_build 53625039b37SCy Schubert sed 's/^ //' << EOF > "$dummy.c" 537b7579f77SDag-Erling Smørgrav#ifdef __cplusplus 538b7579f77SDag-Erling Smørgrav#include <stdio.h> /* for printf() prototype */ 539b7579f77SDag-Erling Smørgrav int main (int argc, char *argv[]) { 540b7579f77SDag-Erling Smørgrav#else 541b7579f77SDag-Erling Smørgrav int main (argc, argv) int argc; char *argv[]; { 542b7579f77SDag-Erling Smørgrav#endif 543b7579f77SDag-Erling Smørgrav #if defined (host_mips) && defined (MIPSEB) 544b7579f77SDag-Erling Smørgrav #if defined (SYSTYPE_SYSV) 54525039b37SCy Schubert printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 546b7579f77SDag-Erling Smørgrav #endif 547b7579f77SDag-Erling Smørgrav #if defined (SYSTYPE_SVR4) 54825039b37SCy Schubert printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 549b7579f77SDag-Erling Smørgrav #endif 550b7579f77SDag-Erling Smørgrav #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 55125039b37SCy Schubert printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 552b7579f77SDag-Erling Smørgrav #endif 553b7579f77SDag-Erling Smørgrav #endif 554b7579f77SDag-Erling Smørgrav exit (-1); 555b7579f77SDag-Erling Smørgrav } 556b7579f77SDag-Erling SmørgravEOF 55725039b37SCy Schubert $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 5585469a995SCy Schubert dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 5595469a995SCy Schubert SYSTEM_NAME=`"$dummy" "$dummyarg"` && 560b7579f77SDag-Erling Smørgrav { echo "$SYSTEM_NAME"; exit; } 5615469a995SCy Schubert GUESS=mips-mips-riscos$UNAME_RELEASE 5625469a995SCy Schubert ;; 563b7579f77SDag-Erling Smørgrav Motorola:PowerMAX_OS:*:*) 5645469a995SCy Schubert GUESS=powerpc-motorola-powermax 5655469a995SCy Schubert ;; 566b7579f77SDag-Erling Smørgrav Motorola:*:4.3:PL8-*) 5675469a995SCy Schubert GUESS=powerpc-harris-powermax 5685469a995SCy Schubert ;; 569b7579f77SDag-Erling Smørgrav Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 5705469a995SCy Schubert GUESS=powerpc-harris-powermax 5715469a995SCy Schubert ;; 572b7579f77SDag-Erling Smørgrav Night_Hawk:Power_UNIX:*:*) 5735469a995SCy Schubert GUESS=powerpc-harris-powerunix 5745469a995SCy Schubert ;; 575b7579f77SDag-Erling Smørgrav m88k:CX/UX:7*:*) 5765469a995SCy Schubert GUESS=m88k-harris-cxux7 5775469a995SCy Schubert ;; 578b7579f77SDag-Erling Smørgrav m88k:*:4*:R4*) 5795469a995SCy Schubert GUESS=m88k-motorola-sysv4 5805469a995SCy Schubert ;; 581b7579f77SDag-Erling Smørgrav m88k:*:3*:R3*) 5825469a995SCy Schubert GUESS=m88k-motorola-sysv3 5835469a995SCy Schubert ;; 584b7579f77SDag-Erling Smørgrav AViiON:dgux:*:*) 585b7579f77SDag-Erling Smørgrav # DG/UX returns AViiON for all architectures 5865469a995SCy Schubert UNAME_PROCESSOR=`/usr/bin/uname -p` 587c0caa2e2SCy Schubert if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 588b7579f77SDag-Erling Smørgrav then 589c0caa2e2SCy Schubert if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 590c0caa2e2SCy Schubert test "$TARGET_BINARY_INTERFACE"x = x 591b7579f77SDag-Erling Smørgrav then 5925469a995SCy Schubert GUESS=m88k-dg-dgux$UNAME_RELEASE 593b7579f77SDag-Erling Smørgrav else 5945469a995SCy Schubert GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 595b7579f77SDag-Erling Smørgrav fi 596b7579f77SDag-Erling Smørgrav else 5975469a995SCy Schubert GUESS=i586-dg-dgux$UNAME_RELEASE 598b7579f77SDag-Erling Smørgrav fi 5995469a995SCy Schubert ;; 600b7579f77SDag-Erling Smørgrav M88*:DolphinOS:*:*) # DolphinOS (SVR3) 6015469a995SCy Schubert GUESS=m88k-dolphin-sysv3 6025469a995SCy Schubert ;; 603b7579f77SDag-Erling Smørgrav M88*:*:R3*:*) 604b7579f77SDag-Erling Smørgrav # Delta 88k system running SVR3 6055469a995SCy Schubert GUESS=m88k-motorola-sysv3 6065469a995SCy Schubert ;; 607b7579f77SDag-Erling Smørgrav XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 6085469a995SCy Schubert GUESS=m88k-tektronix-sysv3 6095469a995SCy Schubert ;; 610b7579f77SDag-Erling Smørgrav Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 6115469a995SCy Schubert GUESS=m68k-tektronix-bsd 6125469a995SCy Schubert ;; 613b7579f77SDag-Erling Smørgrav *:IRIX*:*:*) 6145469a995SCy Schubert IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 6155469a995SCy Schubert GUESS=mips-sgi-irix$IRIX_REL 6165469a995SCy Schubert ;; 617b7579f77SDag-Erling Smørgrav ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 6185469a995SCy Schubert GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 6195469a995SCy Schubert ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 620b7579f77SDag-Erling Smørgrav i*86:AIX:*:*) 6215469a995SCy Schubert GUESS=i386-ibm-aix 6225469a995SCy Schubert ;; 623b7579f77SDag-Erling Smørgrav ia64:AIX:*:*) 624c0caa2e2SCy Schubert if test -x /usr/bin/oslevel ; then 6255469a995SCy Schubert IBM_REV=`/usr/bin/oslevel` 626b7579f77SDag-Erling Smørgrav else 6275469a995SCy Schubert IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 628b7579f77SDag-Erling Smørgrav fi 6295469a995SCy Schubert GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 6305469a995SCy Schubert ;; 631b7579f77SDag-Erling Smørgrav *:AIX:2:3) 632b7579f77SDag-Erling Smørgrav if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 63325039b37SCy Schubert set_cc_for_build 63425039b37SCy Schubert sed 's/^ //' << EOF > "$dummy.c" 635b7579f77SDag-Erling Smørgrav #include <sys/systemcfg.h> 636b7579f77SDag-Erling Smørgrav 637*56850988SCy Schubert int 638b7579f77SDag-Erling Smørgrav main () 639b7579f77SDag-Erling Smørgrav { 640b7579f77SDag-Erling Smørgrav if (!__power_pc()) 641b7579f77SDag-Erling Smørgrav exit(1); 642b7579f77SDag-Erling Smørgrav puts("powerpc-ibm-aix3.2.5"); 643b7579f77SDag-Erling Smørgrav exit(0); 644b7579f77SDag-Erling Smørgrav } 645b7579f77SDag-Erling SmørgravEOF 6465469a995SCy Schubert if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 647b7579f77SDag-Erling Smørgrav then 6485469a995SCy Schubert GUESS=$SYSTEM_NAME 649b7579f77SDag-Erling Smørgrav else 6505469a995SCy Schubert GUESS=rs6000-ibm-aix3.2.5 651b7579f77SDag-Erling Smørgrav fi 652b7579f77SDag-Erling Smørgrav elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 6535469a995SCy Schubert GUESS=rs6000-ibm-aix3.2.4 654b7579f77SDag-Erling Smørgrav else 6555469a995SCy Schubert GUESS=rs6000-ibm-aix3.2 656b7579f77SDag-Erling Smørgrav fi 6575469a995SCy Schubert ;; 6588ed2b524SDag-Erling Smørgrav *:AIX:*:[4567]) 6595469a995SCy Schubert IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 66025039b37SCy Schubert if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 661b7579f77SDag-Erling Smørgrav IBM_ARCH=rs6000 662b7579f77SDag-Erling Smørgrav else 663b7579f77SDag-Erling Smørgrav IBM_ARCH=powerpc 664b7579f77SDag-Erling Smørgrav fi 665c0caa2e2SCy Schubert if test -x /usr/bin/lslpp ; then 6665469a995SCy Schubert IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 6675469a995SCy Schubert awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 668b7579f77SDag-Erling Smørgrav else 6695469a995SCy Schubert IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 670b7579f77SDag-Erling Smørgrav fi 6715469a995SCy Schubert GUESS=$IBM_ARCH-ibm-aix$IBM_REV 6725469a995SCy Schubert ;; 673b7579f77SDag-Erling Smørgrav *:AIX:*:*) 6745469a995SCy Schubert GUESS=rs6000-ibm-aix 6755469a995SCy Schubert ;; 67625039b37SCy Schubert ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 6775469a995SCy Schubert GUESS=romp-ibm-bsd4.4 6785469a995SCy Schubert ;; 679b7579f77SDag-Erling Smørgrav ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 6805469a995SCy Schubert GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 6815469a995SCy Schubert ;; # report: romp-ibm BSD 4.3 682b7579f77SDag-Erling Smørgrav *:BOSX:*:*) 6835469a995SCy Schubert GUESS=rs6000-bull-bosx 6845469a995SCy Schubert ;; 685b7579f77SDag-Erling Smørgrav DPX/2?00:B.O.S.:*:*) 6865469a995SCy Schubert GUESS=m68k-bull-sysv3 6875469a995SCy Schubert ;; 688b7579f77SDag-Erling Smørgrav 9000/[34]??:4.3bsd:1.*:*) 6895469a995SCy Schubert GUESS=m68k-hp-bsd 6905469a995SCy Schubert ;; 691b7579f77SDag-Erling Smørgrav hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 6925469a995SCy Schubert GUESS=m68k-hp-bsd4.4 6935469a995SCy Schubert ;; 694b7579f77SDag-Erling Smørgrav 9000/[34678]??:HP-UX:*:*) 6955469a995SCy Schubert HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 6965469a995SCy Schubert case $UNAME_MACHINE in 697b7579f77SDag-Erling Smørgrav 9000/31?) HP_ARCH=m68000 ;; 698b7579f77SDag-Erling Smørgrav 9000/[34]??) HP_ARCH=m68k ;; 699b7579f77SDag-Erling Smørgrav 9000/[678][0-9][0-9]) 700c0caa2e2SCy Schubert if test -x /usr/bin/getconf; then 7015469a995SCy Schubert sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 7025469a995SCy Schubert sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 7035469a995SCy Schubert case $sc_cpu_version in 7048157cbabSDag-Erling Smørgrav 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 7058157cbabSDag-Erling Smørgrav 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 706b7579f77SDag-Erling Smørgrav 532) # CPU_PA_RISC2_0 7075469a995SCy Schubert case $sc_kernel_bits in 7088157cbabSDag-Erling Smørgrav 32) HP_ARCH=hppa2.0n ;; 7098157cbabSDag-Erling Smørgrav 64) HP_ARCH=hppa2.0w ;; 7108157cbabSDag-Erling Smørgrav '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 711b7579f77SDag-Erling Smørgrav esac ;; 712b7579f77SDag-Erling Smørgrav esac 713b7579f77SDag-Erling Smørgrav fi 714c0caa2e2SCy Schubert if test "$HP_ARCH" = ""; then 71525039b37SCy Schubert set_cc_for_build 71625039b37SCy Schubert sed 's/^ //' << EOF > "$dummy.c" 717b7579f77SDag-Erling Smørgrav 718b7579f77SDag-Erling Smørgrav #define _HPUX_SOURCE 719b7579f77SDag-Erling Smørgrav #include <stdlib.h> 720b7579f77SDag-Erling Smørgrav #include <unistd.h> 721b7579f77SDag-Erling Smørgrav 722*56850988SCy Schubert int 723*56850988SCy Schubert main () 724b7579f77SDag-Erling Smørgrav { 725b7579f77SDag-Erling Smørgrav #if defined(_SC_KERNEL_BITS) 726b7579f77SDag-Erling Smørgrav long bits = sysconf(_SC_KERNEL_BITS); 727b7579f77SDag-Erling Smørgrav #endif 728b7579f77SDag-Erling Smørgrav long cpu = sysconf (_SC_CPU_VERSION); 729b7579f77SDag-Erling Smørgrav 730b7579f77SDag-Erling Smørgrav switch (cpu) 731b7579f77SDag-Erling Smørgrav { 732b7579f77SDag-Erling Smørgrav case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 733b7579f77SDag-Erling Smørgrav case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 734b7579f77SDag-Erling Smørgrav case CPU_PA_RISC2_0: 735b7579f77SDag-Erling Smørgrav #if defined(_SC_KERNEL_BITS) 736b7579f77SDag-Erling Smørgrav switch (bits) 737b7579f77SDag-Erling Smørgrav { 738b7579f77SDag-Erling Smørgrav case 64: puts ("hppa2.0w"); break; 739b7579f77SDag-Erling Smørgrav case 32: puts ("hppa2.0n"); break; 740b7579f77SDag-Erling Smørgrav default: puts ("hppa2.0"); break; 741b7579f77SDag-Erling Smørgrav } break; 742b7579f77SDag-Erling Smørgrav #else /* !defined(_SC_KERNEL_BITS) */ 743b7579f77SDag-Erling Smørgrav puts ("hppa2.0"); break; 744b7579f77SDag-Erling Smørgrav #endif 745b7579f77SDag-Erling Smørgrav default: puts ("hppa1.0"); break; 746b7579f77SDag-Erling Smørgrav } 747b7579f77SDag-Erling Smørgrav exit (0); 748b7579f77SDag-Erling Smørgrav } 749b7579f77SDag-Erling SmørgravEOF 7505469a995SCy Schubert (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 751b7579f77SDag-Erling Smørgrav test -z "$HP_ARCH" && HP_ARCH=hppa 752b7579f77SDag-Erling Smørgrav fi ;; 753b7579f77SDag-Erling Smørgrav esac 754c0caa2e2SCy Schubert if test "$HP_ARCH" = hppa2.0w 755b7579f77SDag-Erling Smørgrav then 75625039b37SCy Schubert set_cc_for_build 757b7579f77SDag-Erling Smørgrav 758b7579f77SDag-Erling Smørgrav # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 759b7579f77SDag-Erling Smørgrav # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 760b7579f77SDag-Erling Smørgrav # generating 64-bit code. GNU and HP use different nomenclature: 761b7579f77SDag-Erling Smørgrav # 762b7579f77SDag-Erling Smørgrav # $ CC_FOR_BUILD=cc ./config.guess 763b7579f77SDag-Erling Smørgrav # => hppa2.0w-hp-hpux11.23 764b7579f77SDag-Erling Smørgrav # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 765b7579f77SDag-Erling Smørgrav # => hppa64-hp-hpux11.23 766b7579f77SDag-Erling Smørgrav 7678157cbabSDag-Erling Smørgrav if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 768b7579f77SDag-Erling Smørgrav grep -q __LP64__ 769b7579f77SDag-Erling Smørgrav then 7708157cbabSDag-Erling Smørgrav HP_ARCH=hppa2.0w 771b7579f77SDag-Erling Smørgrav else 7728157cbabSDag-Erling Smørgrav HP_ARCH=hppa64 773b7579f77SDag-Erling Smørgrav fi 774b7579f77SDag-Erling Smørgrav fi 7755469a995SCy Schubert GUESS=$HP_ARCH-hp-hpux$HPUX_REV 7765469a995SCy Schubert ;; 777b7579f77SDag-Erling Smørgrav ia64:HP-UX:*:*) 7785469a995SCy Schubert HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 7795469a995SCy Schubert GUESS=ia64-hp-hpux$HPUX_REV 7805469a995SCy Schubert ;; 781b7579f77SDag-Erling Smørgrav 3050*:HI-UX:*:*) 78225039b37SCy Schubert set_cc_for_build 78325039b37SCy Schubert sed 's/^ //' << EOF > "$dummy.c" 784b7579f77SDag-Erling Smørgrav #include <unistd.h> 785b7579f77SDag-Erling Smørgrav int 786b7579f77SDag-Erling Smørgrav main () 787b7579f77SDag-Erling Smørgrav { 788b7579f77SDag-Erling Smørgrav long cpu = sysconf (_SC_CPU_VERSION); 789b7579f77SDag-Erling Smørgrav /* The order matters, because CPU_IS_HP_MC68K erroneously returns 790b7579f77SDag-Erling Smørgrav true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 791b7579f77SDag-Erling Smørgrav results, however. */ 792b7579f77SDag-Erling Smørgrav if (CPU_IS_PA_RISC (cpu)) 793b7579f77SDag-Erling Smørgrav { 794b7579f77SDag-Erling Smørgrav switch (cpu) 795b7579f77SDag-Erling Smørgrav { 796b7579f77SDag-Erling Smørgrav case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 797b7579f77SDag-Erling Smørgrav case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 798b7579f77SDag-Erling Smørgrav case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 799b7579f77SDag-Erling Smørgrav default: puts ("hppa-hitachi-hiuxwe2"); break; 800b7579f77SDag-Erling Smørgrav } 801b7579f77SDag-Erling Smørgrav } 802b7579f77SDag-Erling Smørgrav else if (CPU_IS_HP_MC68K (cpu)) 803b7579f77SDag-Erling Smørgrav puts ("m68k-hitachi-hiuxwe2"); 804b7579f77SDag-Erling Smørgrav else puts ("unknown-hitachi-hiuxwe2"); 805b7579f77SDag-Erling Smørgrav exit (0); 806b7579f77SDag-Erling Smørgrav } 807b7579f77SDag-Erling SmørgravEOF 8085469a995SCy Schubert $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 809b7579f77SDag-Erling Smørgrav { echo "$SYSTEM_NAME"; exit; } 8105469a995SCy Schubert GUESS=unknown-hitachi-hiuxwe2 8115469a995SCy Schubert ;; 812b7579f77SDag-Erling Smørgrav 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 8135469a995SCy Schubert GUESS=hppa1.1-hp-bsd 8145469a995SCy Schubert ;; 815b7579f77SDag-Erling Smørgrav 9000/8??:4.3bsd:*:*) 8165469a995SCy Schubert GUESS=hppa1.0-hp-bsd 8175469a995SCy Schubert ;; 818b7579f77SDag-Erling Smørgrav *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 8195469a995SCy Schubert GUESS=hppa1.0-hp-mpeix 8205469a995SCy Schubert ;; 821b7579f77SDag-Erling Smørgrav hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 8225469a995SCy Schubert GUESS=hppa1.1-hp-osf 8235469a995SCy Schubert ;; 824b7579f77SDag-Erling Smørgrav hp8??:OSF1:*:*) 8255469a995SCy Schubert GUESS=hppa1.0-hp-osf 8265469a995SCy Schubert ;; 827b7579f77SDag-Erling Smørgrav i*86:OSF1:*:*) 828c0caa2e2SCy Schubert if test -x /usr/sbin/sysversion ; then 8295469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-osf1mk 830b7579f77SDag-Erling Smørgrav else 8315469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-osf1 832b7579f77SDag-Erling Smørgrav fi 8335469a995SCy Schubert ;; 834b7579f77SDag-Erling Smørgrav parisc*:Lites*:*:*) 8355469a995SCy Schubert GUESS=hppa1.1-hp-lites 8365469a995SCy Schubert ;; 837b7579f77SDag-Erling Smørgrav C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 8385469a995SCy Schubert GUESS=c1-convex-bsd 8395469a995SCy Schubert ;; 840b7579f77SDag-Erling Smørgrav C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 841b7579f77SDag-Erling Smørgrav if getsysinfo -f scalar_acc 842b7579f77SDag-Erling Smørgrav then echo c32-convex-bsd 843b7579f77SDag-Erling Smørgrav else echo c2-convex-bsd 844b7579f77SDag-Erling Smørgrav fi 845b7579f77SDag-Erling Smørgrav exit ;; 846b7579f77SDag-Erling Smørgrav C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 8475469a995SCy Schubert GUESS=c34-convex-bsd 8485469a995SCy Schubert ;; 849b7579f77SDag-Erling Smørgrav C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 8505469a995SCy Schubert GUESS=c38-convex-bsd 8515469a995SCy Schubert ;; 852b7579f77SDag-Erling Smørgrav C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 8535469a995SCy Schubert GUESS=c4-convex-bsd 8545469a995SCy Schubert ;; 855b7579f77SDag-Erling Smørgrav CRAY*Y-MP:*:*:*) 8565469a995SCy Schubert CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8575469a995SCy Schubert GUESS=ymp-cray-unicos$CRAY_REL 8585469a995SCy Schubert ;; 859b7579f77SDag-Erling Smørgrav CRAY*[A-Z]90:*:*:*) 86025039b37SCy Schubert echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 861b7579f77SDag-Erling Smørgrav | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 862b7579f77SDag-Erling Smørgrav -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 863b7579f77SDag-Erling Smørgrav -e 's/\.[^.]*$/.X/' 864b7579f77SDag-Erling Smørgrav exit ;; 865b7579f77SDag-Erling Smørgrav CRAY*TS:*:*:*) 8665469a995SCy Schubert CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8675469a995SCy Schubert GUESS=t90-cray-unicos$CRAY_REL 8685469a995SCy Schubert ;; 869b7579f77SDag-Erling Smørgrav CRAY*T3E:*:*:*) 8705469a995SCy Schubert CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8715469a995SCy Schubert GUESS=alphaev5-cray-unicosmk$CRAY_REL 8725469a995SCy Schubert ;; 873b7579f77SDag-Erling Smørgrav CRAY*SV1:*:*:*) 8745469a995SCy Schubert CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8755469a995SCy Schubert GUESS=sv1-cray-unicos$CRAY_REL 8765469a995SCy Schubert ;; 877b7579f77SDag-Erling Smørgrav *:UNICOS/mp:*:*) 8785469a995SCy Schubert CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8795469a995SCy Schubert GUESS=craynv-cray-unicosmp$CRAY_REL 8805469a995SCy Schubert ;; 881b7579f77SDag-Erling Smørgrav F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 8825469a995SCy Schubert FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 8835469a995SCy Schubert FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 8845469a995SCy Schubert FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 8855469a995SCy Schubert GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 8865469a995SCy Schubert ;; 887b7579f77SDag-Erling Smørgrav 5000:UNIX_System_V:4.*:*) 8885469a995SCy Schubert FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 8895469a995SCy Schubert FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 8905469a995SCy Schubert GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 8915469a995SCy Schubert ;; 892b7579f77SDag-Erling Smørgrav i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 8935469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 8945469a995SCy Schubert ;; 895b7579f77SDag-Erling Smørgrav sparc*:BSD/OS:*:*) 8965469a995SCy Schubert GUESS=sparc-unknown-bsdi$UNAME_RELEASE 8975469a995SCy Schubert ;; 898b7579f77SDag-Erling Smørgrav *:BSD/OS:*:*) 8995469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 9005469a995SCy Schubert ;; 90125039b37SCy Schubert arm:FreeBSD:*:*) 9025469a995SCy Schubert UNAME_PROCESSOR=`uname -p` 90325039b37SCy Schubert set_cc_for_build 90425039b37SCy Schubert if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 90525039b37SCy Schubert | grep -q __ARM_PCS_VFP 90625039b37SCy Schubert then 9075469a995SCy Schubert FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9085469a995SCy Schubert GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 90925039b37SCy Schubert else 9105469a995SCy Schubert FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9115469a995SCy Schubert GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 91225039b37SCy Schubert fi 9135469a995SCy Schubert ;; 914b7579f77SDag-Erling Smørgrav *:FreeBSD:*:*) 915103ba509SCy Schubert UNAME_PROCESSOR=`uname -p` 9165469a995SCy Schubert case $UNAME_PROCESSOR in 917b7579f77SDag-Erling Smørgrav amd64) 91825039b37SCy Schubert UNAME_PROCESSOR=x86_64 ;; 91925039b37SCy Schubert i386) 92025039b37SCy Schubert UNAME_PROCESSOR=i586 ;; 921b7579f77SDag-Erling Smørgrav esac 9225469a995SCy Schubert FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9235469a995SCy Schubert GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 9245469a995SCy Schubert ;; 925b7579f77SDag-Erling Smørgrav i*:CYGWIN*:*) 9265469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-cygwin 9275469a995SCy Schubert ;; 928ff825849SDag-Erling Smørgrav *:MINGW64*:*) 9295469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-mingw64 9305469a995SCy Schubert ;; 931b7579f77SDag-Erling Smørgrav *:MINGW*:*) 9325469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-mingw32 9335469a995SCy Schubert ;; 9348157cbabSDag-Erling Smørgrav *:MSYS*:*) 9355469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-msys 9365469a995SCy Schubert ;; 937b7579f77SDag-Erling Smørgrav i*:PW*:*) 9385469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-pw32 9395469a995SCy Schubert ;; 9409cf5bc93SCy Schubert *:SerenityOS:*:*) 9419cf5bc93SCy Schubert GUESS=$UNAME_MACHINE-pc-serenity 9429cf5bc93SCy Schubert ;; 943b7579f77SDag-Erling Smørgrav *:Interix*:*) 9445469a995SCy Schubert case $UNAME_MACHINE in 945b7579f77SDag-Erling Smørgrav x86) 9465469a995SCy Schubert GUESS=i586-pc-interix$UNAME_RELEASE 9475469a995SCy Schubert ;; 948b7579f77SDag-Erling Smørgrav authenticamd | genuineintel | EM64T) 9495469a995SCy Schubert GUESS=x86_64-unknown-interix$UNAME_RELEASE 9505469a995SCy Schubert ;; 951b7579f77SDag-Erling Smørgrav IA64) 9525469a995SCy Schubert GUESS=ia64-unknown-interix$UNAME_RELEASE 9535469a995SCy Schubert ;; 954b7579f77SDag-Erling Smørgrav esac ;; 955b7579f77SDag-Erling Smørgrav i*:UWIN*:*) 9565469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-uwin 9575469a995SCy Schubert ;; 958b7579f77SDag-Erling Smørgrav amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 9595469a995SCy Schubert GUESS=x86_64-pc-cygwin 9605469a995SCy Schubert ;; 961b7579f77SDag-Erling Smørgrav prep*:SunOS:5.*:*) 9625469a995SCy Schubert SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 9635469a995SCy Schubert GUESS=powerpcle-unknown-solaris2$SUN_REL 9645469a995SCy Schubert ;; 965b7579f77SDag-Erling Smørgrav *:GNU:*:*) 966b7579f77SDag-Erling Smørgrav # the GNU system 9675469a995SCy Schubert GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 9685469a995SCy Schubert GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 9695469a995SCy Schubert GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 9705469a995SCy Schubert ;; 971b7579f77SDag-Erling Smørgrav *:GNU/*:*:*) 972b7579f77SDag-Erling Smørgrav # other systems with GNU libc and userland 9735469a995SCy Schubert GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 9745469a995SCy Schubert GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9755469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 9765469a995SCy Schubert ;; 977865f46b2SCy Schubert x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) 978865f46b2SCy Schubert GUESS="$UNAME_MACHINE-pc-managarm-mlibc" 979865f46b2SCy Schubert ;; 980865f46b2SCy Schubert *:[Mm]anagarm:*:*) 981865f46b2SCy Schubert GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" 982865f46b2SCy Schubert ;; 98325039b37SCy Schubert *:Minix:*:*) 9845469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-minix 9855469a995SCy Schubert ;; 9868ed2b524SDag-Erling Smørgrav aarch64:Linux:*:*) 9878f76bb7dSCy Schubert set_cc_for_build 9888f76bb7dSCy Schubert CPU=$UNAME_MACHINE 9898f76bb7dSCy Schubert LIBCABI=$LIBC 9908f76bb7dSCy Schubert if test "$CC_FOR_BUILD" != no_compiler_found; then 9918f76bb7dSCy Schubert ABI=64 9928f76bb7dSCy Schubert sed 's/^ //' << EOF > "$dummy.c" 9938f76bb7dSCy Schubert #ifdef __ARM_EABI__ 9948f76bb7dSCy Schubert #ifdef __ARM_PCS_VFP 9958f76bb7dSCy Schubert ABI=eabihf 9968f76bb7dSCy Schubert #else 9978f76bb7dSCy Schubert ABI=eabi 9988f76bb7dSCy Schubert #endif 9998f76bb7dSCy Schubert #endif 10008f76bb7dSCy SchubertEOF 10018f76bb7dSCy Schubert cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 10028f76bb7dSCy Schubert eval "$cc_set_abi" 10038f76bb7dSCy Schubert case $ABI in 10048f76bb7dSCy Schubert eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; 10058f76bb7dSCy Schubert esac 10068f76bb7dSCy Schubert fi 10078f76bb7dSCy Schubert GUESS=$CPU-unknown-linux-$LIBCABI 10085469a995SCy Schubert ;; 10098ed2b524SDag-Erling Smørgrav aarch64_be:Linux:*:*) 10108ed2b524SDag-Erling Smørgrav UNAME_MACHINE=aarch64_be 10115469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10125469a995SCy Schubert ;; 1013b7579f77SDag-Erling Smørgrav alpha:Linux:*:*) 10145469a995SCy Schubert case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 1015b7579f77SDag-Erling Smørgrav EV5) UNAME_MACHINE=alphaev5 ;; 1016b7579f77SDag-Erling Smørgrav EV56) UNAME_MACHINE=alphaev56 ;; 1017b7579f77SDag-Erling Smørgrav PCA56) UNAME_MACHINE=alphapca56 ;; 1018b7579f77SDag-Erling Smørgrav PCA57) UNAME_MACHINE=alphapca56 ;; 1019b7579f77SDag-Erling Smørgrav EV6) UNAME_MACHINE=alphaev6 ;; 1020b7579f77SDag-Erling Smørgrav EV67) UNAME_MACHINE=alphaev67 ;; 1021b7579f77SDag-Erling Smørgrav EV68*) UNAME_MACHINE=alphaev68 ;; 1022b7579f77SDag-Erling Smørgrav esac 1023b7579f77SDag-Erling Smørgrav objdump --private-headers /bin/sh | grep -q ld.so.1 10248157cbabSDag-Erling Smørgrav if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 10255469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10265469a995SCy Schubert ;; 10275469a995SCy Schubert arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 10285469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10295469a995SCy Schubert ;; 1030b7579f77SDag-Erling Smørgrav arm*:Linux:*:*) 103125039b37SCy Schubert set_cc_for_build 1032b7579f77SDag-Erling Smørgrav if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1033b7579f77SDag-Erling Smørgrav | grep -q __ARM_EABI__ 1034b7579f77SDag-Erling Smørgrav then 10355469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1036b7579f77SDag-Erling Smørgrav else 10378ed2b524SDag-Erling Smørgrav if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 10388ed2b524SDag-Erling Smørgrav | grep -q __ARM_PCS_VFP 10398ed2b524SDag-Erling Smørgrav then 10405469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 10418ed2b524SDag-Erling Smørgrav else 10425469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 10438ed2b524SDag-Erling Smørgrav fi 1044b7579f77SDag-Erling Smørgrav fi 10455469a995SCy Schubert ;; 1046b7579f77SDag-Erling Smørgrav avr32*:Linux:*:*) 10475469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10485469a995SCy Schubert ;; 1049b7579f77SDag-Erling Smørgrav cris:Linux:*:*) 10505469a995SCy Schubert GUESS=$UNAME_MACHINE-axis-linux-$LIBC 10515469a995SCy Schubert ;; 1052b7579f77SDag-Erling Smørgrav crisv32:Linux:*:*) 10535469a995SCy Schubert GUESS=$UNAME_MACHINE-axis-linux-$LIBC 10545469a995SCy Schubert ;; 10558157cbabSDag-Erling Smørgrav e2k:Linux:*:*) 10565469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10575469a995SCy Schubert ;; 1058b7579f77SDag-Erling Smørgrav frv:Linux:*:*) 10595469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10605469a995SCy Schubert ;; 10618ed2b524SDag-Erling Smørgrav hexagon:Linux:*:*) 10625469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10635469a995SCy Schubert ;; 1064b7579f77SDag-Erling Smørgrav i*86:Linux:*:*) 10655469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-linux-$LIBC 10665469a995SCy Schubert ;; 1067b7579f77SDag-Erling Smørgrav ia64:Linux:*:*) 10685469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10695469a995SCy Schubert ;; 10708157cbabSDag-Erling Smørgrav k1om:Linux:*:*) 10715469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10725469a995SCy Schubert ;; 10738f76bb7dSCy Schubert kvx:Linux:*:*) 10748f76bb7dSCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10758f76bb7dSCy Schubert ;; 10768f76bb7dSCy Schubert kvx:cos:*:*) 10778f76bb7dSCy Schubert GUESS=$UNAME_MACHINE-unknown-cos 10788f76bb7dSCy Schubert ;; 10798f76bb7dSCy Schubert kvx:mbr:*:*) 10808f76bb7dSCy Schubert GUESS=$UNAME_MACHINE-unknown-mbr 10818f76bb7dSCy Schubert ;; 10824f5c8956SCy Schubert loongarch32:Linux:*:* | loongarch64:Linux:*:*) 10835469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10845469a995SCy Schubert ;; 1085b7579f77SDag-Erling Smørgrav m32r*:Linux:*:*) 10865469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10875469a995SCy Schubert ;; 1088b7579f77SDag-Erling Smørgrav m68*:Linux:*:*) 10895469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10905469a995SCy Schubert ;; 1091b7579f77SDag-Erling Smørgrav mips:Linux:*:* | mips64:Linux:*:*) 109225039b37SCy Schubert set_cc_for_build 109325039b37SCy Schubert IS_GLIBC=0 109425039b37SCy Schubert test x"${LIBC}" = xgnu && IS_GLIBC=1 109525039b37SCy Schubert sed 's/^ //' << EOF > "$dummy.c" 1096b7579f77SDag-Erling Smørgrav #undef CPU 109725039b37SCy Schubert #undef mips 109825039b37SCy Schubert #undef mipsel 109925039b37SCy Schubert #undef mips64 110025039b37SCy Schubert #undef mips64el 110125039b37SCy Schubert #if ${IS_GLIBC} && defined(_ABI64) 110225039b37SCy Schubert LIBCABI=gnuabi64 110325039b37SCy Schubert #else 110425039b37SCy Schubert #if ${IS_GLIBC} && defined(_ABIN32) 110525039b37SCy Schubert LIBCABI=gnuabin32 110625039b37SCy Schubert #else 110725039b37SCy Schubert LIBCABI=${LIBC} 110825039b37SCy Schubert #endif 110925039b37SCy Schubert #endif 111025039b37SCy Schubert 111125039b37SCy Schubert #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 111225039b37SCy Schubert CPU=mipsisa64r6 111325039b37SCy Schubert #else 111425039b37SCy Schubert #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 111525039b37SCy Schubert CPU=mipsisa32r6 111625039b37SCy Schubert #else 111725039b37SCy Schubert #if defined(__mips64) 111825039b37SCy Schubert CPU=mips64 111925039b37SCy Schubert #else 112025039b37SCy Schubert CPU=mips 112125039b37SCy Schubert #endif 112225039b37SCy Schubert #endif 112325039b37SCy Schubert #endif 112425039b37SCy Schubert 1125b7579f77SDag-Erling Smørgrav #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 112625039b37SCy Schubert MIPS_ENDIAN=el 1127b7579f77SDag-Erling Smørgrav #else 1128b7579f77SDag-Erling Smørgrav #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 112925039b37SCy Schubert MIPS_ENDIAN= 1130b7579f77SDag-Erling Smørgrav #else 113125039b37SCy Schubert MIPS_ENDIAN= 1132b7579f77SDag-Erling Smørgrav #endif 1133b7579f77SDag-Erling Smørgrav #endif 1134b7579f77SDag-Erling SmørgravEOF 11355469a995SCy Schubert cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 11365469a995SCy Schubert eval "$cc_set_vars" 113725039b37SCy Schubert test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1138b7579f77SDag-Erling Smørgrav ;; 11398157cbabSDag-Erling Smørgrav mips64el:Linux:*:*) 11405469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11415469a995SCy Schubert ;; 11428157cbabSDag-Erling Smørgrav openrisc*:Linux:*:*) 11435469a995SCy Schubert GUESS=or1k-unknown-linux-$LIBC 11445469a995SCy Schubert ;; 11458157cbabSDag-Erling Smørgrav or32:Linux:*:* | or1k*:Linux:*:*) 11465469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11475469a995SCy Schubert ;; 1148b7579f77SDag-Erling Smørgrav padre:Linux:*:*) 11495469a995SCy Schubert GUESS=sparc-unknown-linux-$LIBC 11505469a995SCy Schubert ;; 1151b7579f77SDag-Erling Smørgrav parisc64:Linux:*:* | hppa64:Linux:*:*) 11525469a995SCy Schubert GUESS=hppa64-unknown-linux-$LIBC 11535469a995SCy Schubert ;; 1154b7579f77SDag-Erling Smørgrav parisc:Linux:*:* | hppa:Linux:*:*) 1155b7579f77SDag-Erling Smørgrav # Look for CPU level 11565469a995SCy Schubert case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 11575469a995SCy Schubert PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 11585469a995SCy Schubert PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 11595469a995SCy Schubert *) GUESS=hppa-unknown-linux-$LIBC ;; 1160b7579f77SDag-Erling Smørgrav esac 11615469a995SCy Schubert ;; 1162b7579f77SDag-Erling Smørgrav ppc64:Linux:*:*) 11635469a995SCy Schubert GUESS=powerpc64-unknown-linux-$LIBC 11645469a995SCy Schubert ;; 1165b7579f77SDag-Erling Smørgrav ppc:Linux:*:*) 11665469a995SCy Schubert GUESS=powerpc-unknown-linux-$LIBC 11675469a995SCy Schubert ;; 1168ff825849SDag-Erling Smørgrav ppc64le:Linux:*:*) 11695469a995SCy Schubert GUESS=powerpc64le-unknown-linux-$LIBC 11705469a995SCy Schubert ;; 1171ff825849SDag-Erling Smørgrav ppcle:Linux:*:*) 11725469a995SCy Schubert GUESS=powerpcle-unknown-linux-$LIBC 11735469a995SCy Schubert ;; 1174f44e67d1SCy Schubert riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 11755469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11765469a995SCy Schubert ;; 1177b7579f77SDag-Erling Smørgrav s390:Linux:*:* | s390x:Linux:*:*) 11785469a995SCy Schubert GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 11795469a995SCy Schubert ;; 1180b7579f77SDag-Erling Smørgrav sh64*:Linux:*:*) 11815469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11825469a995SCy Schubert ;; 1183b7579f77SDag-Erling Smørgrav sh*:Linux:*:*) 11845469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11855469a995SCy Schubert ;; 1186b7579f77SDag-Erling Smørgrav sparc:Linux:*:* | sparc64:Linux:*:*) 11875469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11885469a995SCy Schubert ;; 11898ed2b524SDag-Erling Smørgrav tile*:Linux:*:*) 11905469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11915469a995SCy Schubert ;; 1192b7579f77SDag-Erling Smørgrav vax:Linux:*:*) 11935469a995SCy Schubert GUESS=$UNAME_MACHINE-dec-linux-$LIBC 11945469a995SCy Schubert ;; 1195b7579f77SDag-Erling Smørgrav x86_64:Linux:*:*) 119625039b37SCy Schubert set_cc_for_build 1197a39a5a69SCy Schubert CPU=$UNAME_MACHINE 119825039b37SCy Schubert LIBCABI=$LIBC 1199c0caa2e2SCy Schubert if test "$CC_FOR_BUILD" != no_compiler_found; then 1200a39a5a69SCy Schubert ABI=64 1201a39a5a69SCy Schubert sed 's/^ //' << EOF > "$dummy.c" 1202a39a5a69SCy Schubert #ifdef __i386__ 1203a39a5a69SCy Schubert ABI=x86 1204a39a5a69SCy Schubert #else 1205a39a5a69SCy Schubert #ifdef __ILP32__ 1206a39a5a69SCy Schubert ABI=x32 1207a39a5a69SCy Schubert #endif 1208a39a5a69SCy Schubert #endif 1209a39a5a69SCy SchubertEOF 1210a39a5a69SCy Schubert cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 1211a39a5a69SCy Schubert eval "$cc_set_abi" 1212a39a5a69SCy Schubert case $ABI in 1213a39a5a69SCy Schubert x86) CPU=i686 ;; 1214a39a5a69SCy Schubert x32) LIBCABI=${LIBC}x32 ;; 1215a39a5a69SCy Schubert esac 121625039b37SCy Schubert fi 1217a39a5a69SCy Schubert GUESS=$CPU-pc-linux-$LIBCABI 12185469a995SCy Schubert ;; 1219b7579f77SDag-Erling Smørgrav xtensa*:Linux:*:*) 12205469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 12215469a995SCy Schubert ;; 1222b7579f77SDag-Erling Smørgrav i*86:DYNIX/ptx:4*:*) 1223b7579f77SDag-Erling Smørgrav # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1224b7579f77SDag-Erling Smørgrav # earlier versions are messed up and put the nodename in both 1225b7579f77SDag-Erling Smørgrav # sysname and nodename. 12265469a995SCy Schubert GUESS=i386-sequent-sysv4 12275469a995SCy Schubert ;; 1228b7579f77SDag-Erling Smørgrav i*86:UNIX_SV:4.2MP:2.*) 1229b7579f77SDag-Erling Smørgrav # Unixware is an offshoot of SVR4, but it has its own version 1230b7579f77SDag-Erling Smørgrav # number series starting with 2... 1231b7579f77SDag-Erling Smørgrav # I am not positive that other SVR4 systems won't match this, 1232b7579f77SDag-Erling Smørgrav # I just have to hope. -- rms. 1233b7579f77SDag-Erling Smørgrav # Use sysv4.2uw... so that sysv4* matches it. 12345469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 12355469a995SCy Schubert ;; 1236b7579f77SDag-Erling Smørgrav i*86:OS/2:*:*) 12378f76bb7dSCy Schubert # If we were able to find 'uname', then EMX Unix compatibility 1238b7579f77SDag-Erling Smørgrav # is probably installed. 12395469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-os2-emx 12405469a995SCy Schubert ;; 1241b7579f77SDag-Erling Smørgrav i*86:XTS-300:*:STOP) 12425469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-stop 12435469a995SCy Schubert ;; 1244b7579f77SDag-Erling Smørgrav i*86:atheos:*:*) 12455469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-atheos 12465469a995SCy Schubert ;; 1247b7579f77SDag-Erling Smørgrav i*86:syllable:*:*) 12485469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-syllable 12495469a995SCy Schubert ;; 1250b7579f77SDag-Erling Smørgrav i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 12515469a995SCy Schubert GUESS=i386-unknown-lynxos$UNAME_RELEASE 12525469a995SCy Schubert ;; 1253b7579f77SDag-Erling Smørgrav i*86:*DOS:*:*) 12545469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-msdosdjgpp 12555469a995SCy Schubert ;; 125625039b37SCy Schubert i*86:*:4.*:*) 12575469a995SCy Schubert UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 1258b7579f77SDag-Erling Smørgrav if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 12595469a995SCy Schubert GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 1260b7579f77SDag-Erling Smørgrav else 12615469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 1262b7579f77SDag-Erling Smørgrav fi 12635469a995SCy Schubert ;; 1264b7579f77SDag-Erling Smørgrav i*86:*:5:[678]*) 1265b7579f77SDag-Erling Smørgrav # UnixWare 7.x, OpenUNIX and OpenServer 6. 12665469a995SCy Schubert case `/bin/uname -X | grep "^Machine"` in 1267b7579f77SDag-Erling Smørgrav *486*) UNAME_MACHINE=i486 ;; 1268b7579f77SDag-Erling Smørgrav *Pentium) UNAME_MACHINE=i586 ;; 1269b7579f77SDag-Erling Smørgrav *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1270b7579f77SDag-Erling Smørgrav esac 12715469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 12725469a995SCy Schubert ;; 1273b7579f77SDag-Erling Smørgrav i*86:*:3.2:*) 1274b7579f77SDag-Erling Smørgrav if test -f /usr/options/cb.name; then 12755469a995SCy Schubert UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 12765469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 1277b7579f77SDag-Erling Smørgrav elif /bin/uname -X 2>/dev/null >/dev/null ; then 12785469a995SCy Schubert UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1279b7579f77SDag-Erling Smørgrav (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1280b7579f77SDag-Erling Smørgrav (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1281b7579f77SDag-Erling Smørgrav && UNAME_MACHINE=i586 1282b7579f77SDag-Erling Smørgrav (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1283b7579f77SDag-Erling Smørgrav && UNAME_MACHINE=i686 1284b7579f77SDag-Erling Smørgrav (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1285b7579f77SDag-Erling Smørgrav && UNAME_MACHINE=i686 12865469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 1287b7579f77SDag-Erling Smørgrav else 12885469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-sysv32 1289b7579f77SDag-Erling Smørgrav fi 12905469a995SCy Schubert ;; 1291b7579f77SDag-Erling Smørgrav pc:*:*:*) 1292b7579f77SDag-Erling Smørgrav # Left here for compatibility: 1293b7579f77SDag-Erling Smørgrav # uname -m prints for DJGPP always 'pc', but it prints nothing about 1294b7579f77SDag-Erling Smørgrav # the processor, so we play safe by assuming i586. 1295b7579f77SDag-Erling Smørgrav # Note: whatever this is, it MUST be the same as what config.sub 12968157cbabSDag-Erling Smørgrav # prints for the "djgpp" host, or else GDB configure will decide that 1297b7579f77SDag-Erling Smørgrav # this is a cross-build. 12985469a995SCy Schubert GUESS=i586-pc-msdosdjgpp 12995469a995SCy Schubert ;; 1300b7579f77SDag-Erling Smørgrav Intel:Mach:3*:*) 13015469a995SCy Schubert GUESS=i386-pc-mach3 13025469a995SCy Schubert ;; 1303b7579f77SDag-Erling Smørgrav paragon:*:*:*) 13045469a995SCy Schubert GUESS=i860-intel-osf1 13055469a995SCy Schubert ;; 1306b7579f77SDag-Erling Smørgrav i860:*:4.*:*) # i860-SVR4 1307b7579f77SDag-Erling Smørgrav if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 13085469a995SCy Schubert GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 1309b7579f77SDag-Erling Smørgrav else # Add other i860-SVR4 vendors below as they are discovered. 13105469a995SCy Schubert GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 1311b7579f77SDag-Erling Smørgrav fi 13125469a995SCy Schubert ;; 1313b7579f77SDag-Erling Smørgrav mini*:CTIX:SYS*5:*) 1314b7579f77SDag-Erling Smørgrav # "miniframe" 13155469a995SCy Schubert GUESS=m68010-convergent-sysv 13165469a995SCy Schubert ;; 1317b7579f77SDag-Erling Smørgrav mc68k:UNIX:SYSTEM5:3.51m) 13185469a995SCy Schubert GUESS=m68k-convergent-sysv 13195469a995SCy Schubert ;; 1320b7579f77SDag-Erling Smørgrav M680?0:D-NIX:5.3:*) 13215469a995SCy Schubert GUESS=m68k-diab-dnix 13225469a995SCy Schubert ;; 1323b7579f77SDag-Erling Smørgrav M68*:*:R3V[5678]*:*) 1324b7579f77SDag-Erling Smørgrav test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1325b7579f77SDag-Erling Smørgrav 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) 1326b7579f77SDag-Erling Smørgrav OS_REL='' 1327b7579f77SDag-Erling Smørgrav test -r /etc/.relid \ 13285469a995SCy Schubert && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1329b7579f77SDag-Erling Smørgrav /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 133025039b37SCy Schubert && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1331b7579f77SDag-Erling Smørgrav /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 133225039b37SCy Schubert && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1333b7579f77SDag-Erling Smørgrav 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1334b7579f77SDag-Erling Smørgrav /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1335b7579f77SDag-Erling Smørgrav && { echo i486-ncr-sysv4; exit; } ;; 1336b7579f77SDag-Erling Smørgrav NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1337b7579f77SDag-Erling Smørgrav OS_REL='.3' 1338b7579f77SDag-Erling Smørgrav test -r /etc/.relid \ 13395469a995SCy Schubert && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1340b7579f77SDag-Erling Smørgrav /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 134125039b37SCy Schubert && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1342b7579f77SDag-Erling Smørgrav /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 134325039b37SCy Schubert && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 1344b7579f77SDag-Erling Smørgrav /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 134525039b37SCy Schubert && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1346b7579f77SDag-Erling Smørgrav m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 13475469a995SCy Schubert GUESS=m68k-unknown-lynxos$UNAME_RELEASE 13485469a995SCy Schubert ;; 1349b7579f77SDag-Erling Smørgrav mc68030:UNIX_System_V:4.*:*) 13505469a995SCy Schubert GUESS=m68k-atari-sysv4 13515469a995SCy Schubert ;; 1352b7579f77SDag-Erling Smørgrav TSUNAMI:LynxOS:2.*:*) 13535469a995SCy Schubert GUESS=sparc-unknown-lynxos$UNAME_RELEASE 13545469a995SCy Schubert ;; 1355b7579f77SDag-Erling Smørgrav rs6000:LynxOS:2.*:*) 13565469a995SCy Schubert GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 13575469a995SCy Schubert ;; 1358b7579f77SDag-Erling Smørgrav PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 13595469a995SCy Schubert GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 13605469a995SCy Schubert ;; 1361b7579f77SDag-Erling Smørgrav SM[BE]S:UNIX_SV:*:*) 13625469a995SCy Schubert GUESS=mips-dde-sysv$UNAME_RELEASE 13635469a995SCy Schubert ;; 1364b7579f77SDag-Erling Smørgrav RM*:ReliantUNIX-*:*:*) 13655469a995SCy Schubert GUESS=mips-sni-sysv4 13665469a995SCy Schubert ;; 1367b7579f77SDag-Erling Smørgrav RM*:SINIX-*:*:*) 13685469a995SCy Schubert GUESS=mips-sni-sysv4 13695469a995SCy Schubert ;; 1370b7579f77SDag-Erling Smørgrav *:SINIX-*:*:*) 1371b7579f77SDag-Erling Smørgrav if uname -p 2>/dev/null >/dev/null ; then 13725469a995SCy Schubert UNAME_MACHINE=`(uname -p) 2>/dev/null` 13735469a995SCy Schubert GUESS=$UNAME_MACHINE-sni-sysv4 1374b7579f77SDag-Erling Smørgrav else 13755469a995SCy Schubert GUESS=ns32k-sni-sysv 1376b7579f77SDag-Erling Smørgrav fi 13775469a995SCy Schubert ;; 13788f76bb7dSCy Schubert PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort 1379b7579f77SDag-Erling Smørgrav # says <Richard.M.Bartel@ccMail.Census.GOV> 13805469a995SCy Schubert GUESS=i586-unisys-sysv4 13815469a995SCy Schubert ;; 1382b7579f77SDag-Erling Smørgrav *:UNIX_System_V:4*:FTX*) 1383b7579f77SDag-Erling Smørgrav # From Gerald Hewes <hewes@openmarket.com>. 1384b7579f77SDag-Erling Smørgrav # How about differentiating between stratus architectures? -djm 13855469a995SCy Schubert GUESS=hppa1.1-stratus-sysv4 13865469a995SCy Schubert ;; 1387b7579f77SDag-Erling Smørgrav *:*:*:FTX*) 1388b7579f77SDag-Erling Smørgrav # From seanf@swdc.stratus.com. 13895469a995SCy Schubert GUESS=i860-stratus-sysv4 13905469a995SCy Schubert ;; 1391b7579f77SDag-Erling Smørgrav i*86:VOS:*:*) 1392b7579f77SDag-Erling Smørgrav # From Paul.Green@stratus.com. 13935469a995SCy Schubert GUESS=$UNAME_MACHINE-stratus-vos 13945469a995SCy Schubert ;; 1395b7579f77SDag-Erling Smørgrav *:VOS:*:*) 1396b7579f77SDag-Erling Smørgrav # From Paul.Green@stratus.com. 13975469a995SCy Schubert GUESS=hppa1.1-stratus-vos 13985469a995SCy Schubert ;; 1399b7579f77SDag-Erling Smørgrav mc68*:A/UX:*:*) 14005469a995SCy Schubert GUESS=m68k-apple-aux$UNAME_RELEASE 14015469a995SCy Schubert ;; 1402b7579f77SDag-Erling Smørgrav news*:NEWS-OS:6*:*) 14035469a995SCy Schubert GUESS=mips-sony-newsos6 14045469a995SCy Schubert ;; 1405b7579f77SDag-Erling Smørgrav R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1406c0caa2e2SCy Schubert if test -d /usr/nec; then 14075469a995SCy Schubert GUESS=mips-nec-sysv$UNAME_RELEASE 1408b7579f77SDag-Erling Smørgrav else 14095469a995SCy Schubert GUESS=mips-unknown-sysv$UNAME_RELEASE 1410b7579f77SDag-Erling Smørgrav fi 14115469a995SCy Schubert ;; 1412b7579f77SDag-Erling Smørgrav BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 14135469a995SCy Schubert GUESS=powerpc-be-beos 14145469a995SCy Schubert ;; 1415b7579f77SDag-Erling Smørgrav BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 14165469a995SCy Schubert GUESS=powerpc-apple-beos 14175469a995SCy Schubert ;; 1418b7579f77SDag-Erling Smørgrav BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 14195469a995SCy Schubert GUESS=i586-pc-beos 14205469a995SCy Schubert ;; 1421b7579f77SDag-Erling Smørgrav BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 14225469a995SCy Schubert GUESS=i586-pc-haiku 14235469a995SCy Schubert ;; 1424a39a5a69SCy Schubert ppc:Haiku:*:*) # Haiku running on Apple PowerPC 1425a39a5a69SCy Schubert GUESS=powerpc-apple-haiku 1426a39a5a69SCy Schubert ;; 1427a39a5a69SCy Schubert *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 1428a39a5a69SCy Schubert GUESS=$UNAME_MACHINE-unknown-haiku 14295469a995SCy Schubert ;; 1430b7579f77SDag-Erling Smørgrav SX-4:SUPER-UX:*:*) 14315469a995SCy Schubert GUESS=sx4-nec-superux$UNAME_RELEASE 14325469a995SCy Schubert ;; 1433b7579f77SDag-Erling Smørgrav SX-5:SUPER-UX:*:*) 14345469a995SCy Schubert GUESS=sx5-nec-superux$UNAME_RELEASE 14355469a995SCy Schubert ;; 1436b7579f77SDag-Erling Smørgrav SX-6:SUPER-UX:*:*) 14375469a995SCy Schubert GUESS=sx6-nec-superux$UNAME_RELEASE 14385469a995SCy Schubert ;; 1439b7579f77SDag-Erling Smørgrav SX-7:SUPER-UX:*:*) 14405469a995SCy Schubert GUESS=sx7-nec-superux$UNAME_RELEASE 14415469a995SCy Schubert ;; 1442b7579f77SDag-Erling Smørgrav SX-8:SUPER-UX:*:*) 14435469a995SCy Schubert GUESS=sx8-nec-superux$UNAME_RELEASE 14445469a995SCy Schubert ;; 1445b7579f77SDag-Erling Smørgrav SX-8R:SUPER-UX:*:*) 14465469a995SCy Schubert GUESS=sx8r-nec-superux$UNAME_RELEASE 14475469a995SCy Schubert ;; 14488157cbabSDag-Erling Smørgrav SX-ACE:SUPER-UX:*:*) 14495469a995SCy Schubert GUESS=sxace-nec-superux$UNAME_RELEASE 14505469a995SCy Schubert ;; 1451b7579f77SDag-Erling Smørgrav Power*:Rhapsody:*:*) 14525469a995SCy Schubert GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 14535469a995SCy Schubert ;; 1454b7579f77SDag-Erling Smørgrav *:Rhapsody:*:*) 14555469a995SCy Schubert GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 14565469a995SCy Schubert ;; 145725039b37SCy Schubert arm64:Darwin:*:*) 14585469a995SCy Schubert GUESS=aarch64-apple-darwin$UNAME_RELEASE 14595469a995SCy Schubert ;; 1460b7579f77SDag-Erling Smørgrav *:Darwin:*:*) 14615469a995SCy Schubert UNAME_PROCESSOR=`uname -p` 146225039b37SCy Schubert case $UNAME_PROCESSOR in 146325039b37SCy Schubert unknown) UNAME_PROCESSOR=powerpc ;; 146425039b37SCy Schubert esac 146525039b37SCy Schubert if command -v xcode-select > /dev/null 2> /dev/null && \ 146625039b37SCy Schubert ! xcode-select --print-path > /dev/null 2> /dev/null ; then 146725039b37SCy Schubert # Avoid executing cc if there is no toolchain installed as 146825039b37SCy Schubert # cc will be a stub that puts up a graphical alert 146925039b37SCy Schubert # prompting the user to install developer tools. 147025039b37SCy Schubert CC_FOR_BUILD=no_compiler_found 147125039b37SCy Schubert else 147225039b37SCy Schubert set_cc_for_build 1473ff825849SDag-Erling Smørgrav fi 1474c0caa2e2SCy Schubert if test "$CC_FOR_BUILD" != no_compiler_found; then 1475b7579f77SDag-Erling Smørgrav if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 14768157cbabSDag-Erling Smørgrav (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1477b7579f77SDag-Erling Smørgrav grep IS_64BIT_ARCH >/dev/null 1478b7579f77SDag-Erling Smørgrav then 1479ff825849SDag-Erling Smørgrav case $UNAME_PROCESSOR in 1480ff825849SDag-Erling Smørgrav i386) UNAME_PROCESSOR=x86_64 ;; 1481ff825849SDag-Erling Smørgrav powerpc) UNAME_PROCESSOR=powerpc64 ;; 1482b7579f77SDag-Erling Smørgrav esac 1483ff825849SDag-Erling Smørgrav fi 148425039b37SCy Schubert # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 148525039b37SCy Schubert if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 148625039b37SCy Schubert (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 148725039b37SCy Schubert grep IS_PPC >/dev/null 148825039b37SCy Schubert then 148925039b37SCy Schubert UNAME_PROCESSOR=powerpc 1490ff825849SDag-Erling Smørgrav fi 14918157cbabSDag-Erling Smørgrav elif test "$UNAME_PROCESSOR" = i386 ; then 149225039b37SCy Schubert # uname -m returns i386 or x86_64 149325039b37SCy Schubert UNAME_PROCESSOR=$UNAME_MACHINE 14948157cbabSDag-Erling Smørgrav fi 14955469a995SCy Schubert GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 14965469a995SCy Schubert ;; 1497b7579f77SDag-Erling Smørgrav *:procnto*:*:* | *:QNX:[0123456789]*:*) 14985469a995SCy Schubert UNAME_PROCESSOR=`uname -p` 14998157cbabSDag-Erling Smørgrav if test "$UNAME_PROCESSOR" = x86; then 1500b7579f77SDag-Erling Smørgrav UNAME_PROCESSOR=i386 1501b7579f77SDag-Erling Smørgrav UNAME_MACHINE=pc 1502b7579f77SDag-Erling Smørgrav fi 15035469a995SCy Schubert GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 15045469a995SCy Schubert ;; 1505b7579f77SDag-Erling Smørgrav *:QNX:*:4*) 15065469a995SCy Schubert GUESS=i386-pc-qnx 15075469a995SCy Schubert ;; 150825039b37SCy Schubert NEO-*:NONSTOP_KERNEL:*:*) 15095469a995SCy Schubert GUESS=neo-tandem-nsk$UNAME_RELEASE 15105469a995SCy Schubert ;; 15118ed2b524SDag-Erling Smørgrav NSE-*:NONSTOP_KERNEL:*:*) 15125469a995SCy Schubert GUESS=nse-tandem-nsk$UNAME_RELEASE 15135469a995SCy Schubert ;; 151425039b37SCy Schubert NSR-*:NONSTOP_KERNEL:*:*) 15155469a995SCy Schubert GUESS=nsr-tandem-nsk$UNAME_RELEASE 15165469a995SCy Schubert ;; 151725039b37SCy Schubert NSV-*:NONSTOP_KERNEL:*:*) 15185469a995SCy Schubert GUESS=nsv-tandem-nsk$UNAME_RELEASE 15195469a995SCy Schubert ;; 152025039b37SCy Schubert NSX-*:NONSTOP_KERNEL:*:*) 15215469a995SCy Schubert GUESS=nsx-tandem-nsk$UNAME_RELEASE 15225469a995SCy Schubert ;; 1523b7579f77SDag-Erling Smørgrav *:NonStop-UX:*:*) 15245469a995SCy Schubert GUESS=mips-compaq-nonstopux 15255469a995SCy Schubert ;; 1526b7579f77SDag-Erling Smørgrav BS2000:POSIX*:*:*) 15275469a995SCy Schubert GUESS=bs2000-siemens-sysv 15285469a995SCy Schubert ;; 1529b7579f77SDag-Erling Smørgrav DS/*:UNIX_System_V:*:*) 15305469a995SCy Schubert GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 15315469a995SCy Schubert ;; 1532b7579f77SDag-Erling Smørgrav *:Plan9:*:*) 1533b7579f77SDag-Erling Smørgrav # "uname -m" is not consistent, so use $cputype instead. 386 1534b7579f77SDag-Erling Smørgrav # is converted to i386 for consistency with other x86 1535b7579f77SDag-Erling Smørgrav # operating systems. 15365469a995SCy Schubert if test "${cputype-}" = 386; then 1537b7579f77SDag-Erling Smørgrav UNAME_MACHINE=i386 15385469a995SCy Schubert elif test "x${cputype-}" != x; then 15395469a995SCy Schubert UNAME_MACHINE=$cputype 1540b7579f77SDag-Erling Smørgrav fi 15415469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-plan9 15425469a995SCy Schubert ;; 1543b7579f77SDag-Erling Smørgrav *:TOPS-10:*:*) 15445469a995SCy Schubert GUESS=pdp10-unknown-tops10 15455469a995SCy Schubert ;; 1546b7579f77SDag-Erling Smørgrav *:TENEX:*:*) 15475469a995SCy Schubert GUESS=pdp10-unknown-tenex 15485469a995SCy Schubert ;; 1549b7579f77SDag-Erling Smørgrav KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 15505469a995SCy Schubert GUESS=pdp10-dec-tops20 15515469a995SCy Schubert ;; 1552b7579f77SDag-Erling Smørgrav XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 15535469a995SCy Schubert GUESS=pdp10-xkl-tops20 15545469a995SCy Schubert ;; 1555b7579f77SDag-Erling Smørgrav *:TOPS-20:*:*) 15565469a995SCy Schubert GUESS=pdp10-unknown-tops20 15575469a995SCy Schubert ;; 1558b7579f77SDag-Erling Smørgrav *:ITS:*:*) 15595469a995SCy Schubert GUESS=pdp10-unknown-its 15605469a995SCy Schubert ;; 1561b7579f77SDag-Erling Smørgrav SEI:*:*:SEIUX) 15625469a995SCy Schubert GUESS=mips-sei-seiux$UNAME_RELEASE 15635469a995SCy Schubert ;; 1564b7579f77SDag-Erling Smørgrav *:DragonFly:*:*) 15655469a995SCy Schubert DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 15665469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 15675469a995SCy Schubert ;; 1568b7579f77SDag-Erling Smørgrav *:*VMS:*:*) 15695469a995SCy Schubert UNAME_MACHINE=`(uname -p) 2>/dev/null` 15705469a995SCy Schubert case $UNAME_MACHINE in 15715469a995SCy Schubert A*) GUESS=alpha-dec-vms ;; 15725469a995SCy Schubert I*) GUESS=ia64-dec-vms ;; 15735469a995SCy Schubert V*) GUESS=vax-dec-vms ;; 1574b7579f77SDag-Erling Smørgrav esac ;; 1575b7579f77SDag-Erling Smørgrav *:XENIX:*:SysV) 15765469a995SCy Schubert GUESS=i386-pc-xenix 15775469a995SCy Schubert ;; 1578b7579f77SDag-Erling Smørgrav i*86:skyos:*:*) 15795469a995SCy Schubert SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 15805469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 15815469a995SCy Schubert ;; 1582b7579f77SDag-Erling Smørgrav i*86:rdos:*:*) 15835469a995SCy Schubert GUESS=$UNAME_MACHINE-pc-rdos 15845469a995SCy Schubert ;; 15859cf5bc93SCy Schubert i*86:Fiwix:*:*) 15869cf5bc93SCy Schubert GUESS=$UNAME_MACHINE-pc-fiwix 15879cf5bc93SCy Schubert ;; 1588f44e67d1SCy Schubert *:AROS:*:*) 15895469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-aros 15905469a995SCy Schubert ;; 15918ed2b524SDag-Erling Smørgrav x86_64:VMkernel:*:*) 15925469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-esx 15935469a995SCy Schubert ;; 15948157cbabSDag-Erling Smørgrav amd64:Isilon\ OneFS:*:*) 15955469a995SCy Schubert GUESS=x86_64-unknown-onefs 15965469a995SCy Schubert ;; 159725039b37SCy Schubert *:Unleashed:*:*) 15985469a995SCy Schubert GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 15995469a995SCy Schubert ;; 1600b76ef9a7SCy Schubert *:Ironclad:*:*) 1601b76ef9a7SCy Schubert GUESS=$UNAME_MACHINE-unknown-ironclad 1602b76ef9a7SCy Schubert ;; 160325039b37SCy Schubertesac 160425039b37SCy Schubert 16055469a995SCy Schubert# Do we have a guess based on uname results? 16065469a995SCy Schubertif test "x$GUESS" != x; then 16075469a995SCy Schubert echo "$GUESS" 16085469a995SCy Schubert exit 16095469a995SCy Schubertfi 16105469a995SCy Schubert 161125039b37SCy Schubert# No uname command or uname output not recognized. 161225039b37SCy Schubertset_cc_for_build 161325039b37SCy Schubertcat > "$dummy.c" <<EOF 161425039b37SCy Schubert#ifdef _SEQUENT_ 161525039b37SCy Schubert#include <sys/types.h> 161625039b37SCy Schubert#include <sys/utsname.h> 161725039b37SCy Schubert#endif 161825039b37SCy Schubert#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 161925039b37SCy Schubert#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 162025039b37SCy Schubert#include <signal.h> 162125039b37SCy Schubert#if defined(_SIZE_T_) || defined(SIGLOST) 162225039b37SCy Schubert#include <sys/utsname.h> 162325039b37SCy Schubert#endif 162425039b37SCy Schubert#endif 162525039b37SCy Schubert#endif 1626*56850988SCy Schubertint 162725039b37SCy Schubertmain () 162825039b37SCy Schubert{ 162925039b37SCy Schubert#if defined (sony) 163025039b37SCy Schubert#if defined (MIPSEB) 163125039b37SCy Schubert /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 163225039b37SCy Schubert I don't know.... */ 163325039b37SCy Schubert printf ("mips-sony-bsd\n"); exit (0); 163425039b37SCy Schubert#else 163525039b37SCy Schubert#include <sys/param.h> 163625039b37SCy Schubert printf ("m68k-sony-newsos%s\n", 163725039b37SCy Schubert#ifdef NEWSOS4 163825039b37SCy Schubert "4" 163925039b37SCy Schubert#else 164025039b37SCy Schubert "" 164125039b37SCy Schubert#endif 164225039b37SCy Schubert ); exit (0); 164325039b37SCy Schubert#endif 164425039b37SCy Schubert#endif 164525039b37SCy Schubert 164625039b37SCy Schubert#if defined (NeXT) 164725039b37SCy Schubert#if !defined (__ARCHITECTURE__) 164825039b37SCy Schubert#define __ARCHITECTURE__ "m68k" 164925039b37SCy Schubert#endif 165025039b37SCy Schubert int version; 16515469a995SCy Schubert version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 165225039b37SCy Schubert if (version < 4) 165325039b37SCy Schubert printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 165425039b37SCy Schubert else 165525039b37SCy Schubert printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 165625039b37SCy Schubert exit (0); 165725039b37SCy Schubert#endif 165825039b37SCy Schubert 165925039b37SCy Schubert#if defined (MULTIMAX) || defined (n16) 166025039b37SCy Schubert#if defined (UMAXV) 166125039b37SCy Schubert printf ("ns32k-encore-sysv\n"); exit (0); 166225039b37SCy Schubert#else 166325039b37SCy Schubert#if defined (CMU) 166425039b37SCy Schubert printf ("ns32k-encore-mach\n"); exit (0); 166525039b37SCy Schubert#else 166625039b37SCy Schubert printf ("ns32k-encore-bsd\n"); exit (0); 166725039b37SCy Schubert#endif 166825039b37SCy Schubert#endif 166925039b37SCy Schubert#endif 167025039b37SCy Schubert 167125039b37SCy Schubert#if defined (__386BSD__) 167225039b37SCy Schubert printf ("i386-pc-bsd\n"); exit (0); 167325039b37SCy Schubert#endif 167425039b37SCy Schubert 167525039b37SCy Schubert#if defined (sequent) 167625039b37SCy Schubert#if defined (i386) 167725039b37SCy Schubert printf ("i386-sequent-dynix\n"); exit (0); 167825039b37SCy Schubert#endif 167925039b37SCy Schubert#if defined (ns32000) 168025039b37SCy Schubert printf ("ns32k-sequent-dynix\n"); exit (0); 168125039b37SCy Schubert#endif 168225039b37SCy Schubert#endif 168325039b37SCy Schubert 168425039b37SCy Schubert#if defined (_SEQUENT_) 168525039b37SCy Schubert struct utsname un; 168625039b37SCy Schubert 168725039b37SCy Schubert uname(&un); 168825039b37SCy Schubert if (strncmp(un.version, "V2", 2) == 0) { 168925039b37SCy Schubert printf ("i386-sequent-ptx2\n"); exit (0); 169025039b37SCy Schubert } 169125039b37SCy Schubert if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 169225039b37SCy Schubert printf ("i386-sequent-ptx1\n"); exit (0); 169325039b37SCy Schubert } 169425039b37SCy Schubert printf ("i386-sequent-ptx\n"); exit (0); 169525039b37SCy Schubert#endif 169625039b37SCy Schubert 169725039b37SCy Schubert#if defined (vax) 169825039b37SCy Schubert#if !defined (ultrix) 169925039b37SCy Schubert#include <sys/param.h> 170025039b37SCy Schubert#if defined (BSD) 170125039b37SCy Schubert#if BSD == 43 170225039b37SCy Schubert printf ("vax-dec-bsd4.3\n"); exit (0); 170325039b37SCy Schubert#else 170425039b37SCy Schubert#if BSD == 199006 170525039b37SCy Schubert printf ("vax-dec-bsd4.3reno\n"); exit (0); 170625039b37SCy Schubert#else 170725039b37SCy Schubert printf ("vax-dec-bsd\n"); exit (0); 170825039b37SCy Schubert#endif 170925039b37SCy Schubert#endif 171025039b37SCy Schubert#else 171125039b37SCy Schubert printf ("vax-dec-bsd\n"); exit (0); 171225039b37SCy Schubert#endif 171325039b37SCy Schubert#else 171425039b37SCy Schubert#if defined(_SIZE_T_) || defined(SIGLOST) 171525039b37SCy Schubert struct utsname un; 171625039b37SCy Schubert uname (&un); 171725039b37SCy Schubert printf ("vax-dec-ultrix%s\n", un.release); exit (0); 171825039b37SCy Schubert#else 171925039b37SCy Schubert printf ("vax-dec-ultrix\n"); exit (0); 172025039b37SCy Schubert#endif 172125039b37SCy Schubert#endif 172225039b37SCy Schubert#endif 172325039b37SCy Schubert#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 172425039b37SCy Schubert#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 172525039b37SCy Schubert#if defined(_SIZE_T_) || defined(SIGLOST) 172625039b37SCy Schubert struct utsname *un; 172725039b37SCy Schubert uname (&un); 172825039b37SCy Schubert printf ("mips-dec-ultrix%s\n", un.release); exit (0); 172925039b37SCy Schubert#else 173025039b37SCy Schubert printf ("mips-dec-ultrix\n"); exit (0); 173125039b37SCy Schubert#endif 173225039b37SCy Schubert#endif 173325039b37SCy Schubert#endif 173425039b37SCy Schubert 173525039b37SCy Schubert#if defined (alliant) && defined (i860) 173625039b37SCy Schubert printf ("i860-alliant-bsd\n"); exit (0); 173725039b37SCy Schubert#endif 173825039b37SCy Schubert 173925039b37SCy Schubert exit (1); 174025039b37SCy Schubert} 174125039b37SCy SchubertEOF 174225039b37SCy Schubert 17435469a995SCy Schubert$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 174425039b37SCy Schubert { echo "$SYSTEM_NAME"; exit; } 174525039b37SCy Schubert 174625039b37SCy Schubert# Apollos put the system type in the environment. 174725039b37SCy Schuberttest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 174825039b37SCy Schubert 174925039b37SCy Schubertecho "$0: unable to guess system type" >&2 175025039b37SCy Schubert 17515469a995SCy Schubertcase $UNAME_MACHINE:$UNAME_SYSTEM in 175225039b37SCy Schubert mips:Linux | mips64:Linux) 175325039b37SCy Schubert # If we got here on MIPS GNU/Linux, output extra information. 175425039b37SCy Schubert cat >&2 <<EOF 175525039b37SCy Schubert 175625039b37SCy SchubertNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 175725039b37SCy Schubertthe system type. Please install a C compiler and try again. 175825039b37SCy SchubertEOF 175925039b37SCy Schubert ;; 1760b7579f77SDag-Erling Smørgravesac 1761b7579f77SDag-Erling Smørgrav 1762b7579f77SDag-Erling Smørgravcat >&2 <<EOF 1763b7579f77SDag-Erling Smørgrav 17648157cbabSDag-Erling SmørgravThis script (version $timestamp), has failed to recognize the 176525039b37SCy Schubertoperating system you are using. If your script is old, overwrite *all* 176625039b37SCy Schubertcopies of config.guess and config.sub with the latest versions from: 1767b7579f77SDag-Erling Smørgrav 1768369c6923SCy Schubert https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 1769b7579f77SDag-Erling Smørgravand 1770369c6923SCy Schubert https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 177125039b37SCy SchubertEOF 177225039b37SCy Schubert 17735469a995SCy Schubertour_year=`echo $timestamp | sed 's,-.*,,'` 17745469a995SCy Schubertthisyear=`date +%Y` 177525039b37SCy Schubert# shellcheck disable=SC2003 17765469a995SCy Schubertscript_age=`expr "$thisyear" - "$our_year"` 17775469a995SCy Schubertif test "$script_age" -lt 3 ; then 177825039b37SCy Schubert cat >&2 <<EOF 1779b7579f77SDag-Erling Smørgrav 17808157cbabSDag-Erling SmørgravIf $0 has already been updated, send the following data and any 17818157cbabSDag-Erling Smørgravinformation you think might be pertinent to config-patches@gnu.org to 17828157cbabSDag-Erling Smørgravprovide the necessary information to handle your system. 1783b7579f77SDag-Erling Smørgrav 1784b7579f77SDag-Erling Smørgravconfig.guess timestamp = $timestamp 1785b7579f77SDag-Erling Smørgrav 17865469a995SCy Schubertuname -m = `(uname -m) 2>/dev/null || echo unknown` 17875469a995SCy Schubertuname -r = `(uname -r) 2>/dev/null || echo unknown` 17885469a995SCy Schubertuname -s = `(uname -s) 2>/dev/null || echo unknown` 17895469a995SCy Schubertuname -v = `(uname -v) 2>/dev/null || echo unknown` 1790b7579f77SDag-Erling Smørgrav 17915469a995SCy Schubert/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 17925469a995SCy Schubert/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1793b7579f77SDag-Erling Smørgrav 17945469a995SCy Schuberthostinfo = `(hostinfo) 2>/dev/null` 17955469a995SCy Schubert/bin/universe = `(/bin/universe) 2>/dev/null` 17965469a995SCy Schubert/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 17975469a995SCy Schubert/bin/arch = `(/bin/arch) 2>/dev/null` 17985469a995SCy Schubert/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 17995469a995SCy Schubert/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1800b7579f77SDag-Erling Smørgrav 180125039b37SCy SchubertUNAME_MACHINE = "$UNAME_MACHINE" 180225039b37SCy SchubertUNAME_RELEASE = "$UNAME_RELEASE" 180325039b37SCy SchubertUNAME_SYSTEM = "$UNAME_SYSTEM" 180425039b37SCy SchubertUNAME_VERSION = "$UNAME_VERSION" 1805b7579f77SDag-Erling SmørgravEOF 180625039b37SCy Schubertfi 1807b7579f77SDag-Erling Smørgrav 1808b7579f77SDag-Erling Smørgravexit 1 1809b7579f77SDag-Erling Smørgrav 1810b7579f77SDag-Erling Smørgrav# Local variables: 181125039b37SCy Schubert# eval: (add-hook 'before-save-hook 'time-stamp) 1812b7579f77SDag-Erling Smørgrav# time-stamp-start: "timestamp='" 1813b7579f77SDag-Erling Smørgrav# time-stamp-format: "%:y-%02m-%02d" 1814b7579f77SDag-Erling Smørgrav# time-stamp-end: "'" 1815b7579f77SDag-Erling Smørgrav# End: 1816