176888252Smrg#! /bin/sh 276888252Smrg# Attempt to guess a canonical system name. 30814a2baSmrg# Copyright 1992-2021 Free Software Foundation, Inc. 476888252Smrg 50814a2baSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale 60814a2baSmrg 70814a2baSmrgtimestamp='2021-06-03' 876888252Smrg 976888252Smrg# This file is free software; you can redistribute it and/or modify it 1076888252Smrg# under the terms of the GNU General Public License as published by 119586ba5aSmrg# the Free Software Foundation; either version 3 of the License, or 1276888252Smrg# (at your option) any later version. 1376888252Smrg# 1476888252Smrg# This program is distributed in the hope that it will be useful, but 1576888252Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1676888252Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1776888252Smrg# General Public License for more details. 1876888252Smrg# 1976888252Smrg# You should have received a copy of the GNU General Public License 200814a2baSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 2176888252Smrg# 2276888252Smrg# As a special exception to the GNU General Public License, if you 2376888252Smrg# distribute this file as part of a program that contains a 2476888252Smrg# configuration script generated by Autoconf, you may include it under 259586ba5aSmrg# the same distribution terms that you use for the rest of that 269586ba5aSmrg# program. This Exception is an additional permission under section 7 279586ba5aSmrg# of the GNU General Public License, version 3 ("GPLv3"). 2876888252Smrg# 290814a2baSmrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 3076888252Smrg# 3163847c39Smrg# You can get the latest version of this script from: 320814a2baSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 339586ba5aSmrg# 340814a2baSmrg# Please send patches to <config-patches@gnu.org>. 350814a2baSmrg 360814a2baSmrg 370814a2baSmrg# The "shellcheck disable" line above the timestamp inhibits complaints 380814a2baSmrg# about features and limitations of the classic Bourne shell that were 390814a2baSmrg# superseded or lifted in POSIX. However, this script identifies a wide 400814a2baSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 410814a2baSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still 420814a2baSmrg# have a pre-POSIX /bin/sh. 439586ba5aSmrg 4476888252Smrg 4576888252Smrgme=`echo "$0" | sed -e 's,.*/,,'` 4676888252Smrg 4776888252Smrgusage="\ 4876888252SmrgUsage: $0 [OPTION] 4976888252Smrg 5076888252SmrgOutput the configuration name of the system \`$me' is run on. 5176888252Smrg 520814a2baSmrgOptions: 5376888252Smrg -h, --help print this help, then exit 5476888252Smrg -t, --time-stamp print date of last modification, then exit 5576888252Smrg -v, --version print version number, then exit 5676888252Smrg 5776888252SmrgReport bugs and patches to <config-patches@gnu.org>." 5876888252Smrg 5976888252Smrgversion="\ 6076888252SmrgGNU config.guess ($timestamp) 6176888252Smrg 6276888252SmrgOriginally written by Per Bothner. 630814a2baSmrgCopyright 1992-2021 Free Software Foundation, Inc. 6476888252Smrg 6576888252SmrgThis is free software; see the source for copying conditions. There is NO 6676888252Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 6776888252Smrg 6876888252Smrghelp=" 6976888252SmrgTry \`$me --help' for more information." 7076888252Smrg 7176888252Smrg# Parse command line 7276888252Smrgwhile test $# -gt 0 ; do 7376888252Smrg case $1 in 7476888252Smrg --time-stamp | --time* | -t ) 751ae1b5e8Smrg echo "$timestamp" ; exit ;; 7676888252Smrg --version | -v ) 771ae1b5e8Smrg echo "$version" ; exit ;; 7876888252Smrg --help | --h* | -h ) 791ae1b5e8Smrg echo "$usage"; exit ;; 8076888252Smrg -- ) # Stop option processing 8176888252Smrg shift; break ;; 8276888252Smrg - ) # Use stdin as input. 8376888252Smrg break ;; 8476888252Smrg -* ) 8576888252Smrg echo "$me: invalid option $1$help" >&2 8676888252Smrg exit 1 ;; 8776888252Smrg * ) 8876888252Smrg break ;; 8976888252Smrg esac 9076888252Smrgdone 9176888252Smrg 9276888252Smrgif test $# != 0; then 9376888252Smrg echo "$me: too many arguments$help" >&2 9476888252Smrg exit 1 9576888252Smrgfi 9676888252Smrg 970814a2baSmrg# Just in case it came from the environment. 980814a2baSmrgGUESS= 9976888252Smrg 10076888252Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 10176888252Smrg# compiler to aid in system detection is discouraged as it requires 10276888252Smrg# temporary files to be created and, as you can see below, it is a 10376888252Smrg# headache to deal with in a portable fashion. 10476888252Smrg 10576888252Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 10676888252Smrg# use `HOST_CC' if defined, but it is deprecated. 10776888252Smrg 10876888252Smrg# Portable tmp directory creation inspired by the Autoconf team. 10976888252Smrg 1100814a2baSmrgtmp= 1110814a2baSmrg# shellcheck disable=SC2172 1120814a2baSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 1130814a2baSmrg 1140814a2baSmrgset_cc_for_build() { 1150814a2baSmrg # prevent multiple calls if $tmp is already set 1160814a2baSmrg test "$tmp" && return 0 1170814a2baSmrg : "${TMPDIR=/tmp}" 1180814a2baSmrg # shellcheck disable=SC2039,SC3028 1190814a2baSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 1200814a2baSmrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 1210814a2baSmrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 1220814a2baSmrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 1230814a2baSmrg dummy=$tmp/dummy 1240814a2baSmrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 1250814a2baSmrg ,,) echo "int x;" > "$dummy.c" 1260814a2baSmrg for driver in cc gcc c89 c99 ; do 1270814a2baSmrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 1280814a2baSmrg CC_FOR_BUILD=$driver 1290814a2baSmrg break 1300814a2baSmrg fi 1310814a2baSmrg done 1320814a2baSmrg if test x"$CC_FOR_BUILD" = x ; then 1330814a2baSmrg CC_FOR_BUILD=no_compiler_found 1340814a2baSmrg fi 1350814a2baSmrg ;; 1360814a2baSmrg ,,*) CC_FOR_BUILD=$CC ;; 1370814a2baSmrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 1380814a2baSmrg esac 1390814a2baSmrg} 14076888252Smrg 14176888252Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 14276888252Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 1430814a2baSmrgif test -f /.attbin/uname ; then 14476888252Smrg PATH=$PATH:/.attbin ; export PATH 14576888252Smrgfi 14676888252Smrg 14776888252SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 14876888252SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 1490814a2baSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 15076888252SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 15176888252Smrg 1520814a2baSmrgcase $UNAME_SYSTEM in 1539586ba5aSmrgLinux|GNU|GNU/*) 1540814a2baSmrg LIBC=unknown 1559586ba5aSmrg 1560814a2baSmrg set_cc_for_build 1570814a2baSmrg cat <<-EOF > "$dummy.c" 1589586ba5aSmrg #include <features.h> 1599586ba5aSmrg #if defined(__UCLIBC__) 1609586ba5aSmrg LIBC=uclibc 1619586ba5aSmrg #elif defined(__dietlibc__) 1629586ba5aSmrg LIBC=dietlibc 1630814a2baSmrg #elif defined(__GLIBC__) 1649586ba5aSmrg LIBC=gnu 1650814a2baSmrg #else 1660814a2baSmrg #include <stdarg.h> 1670814a2baSmrg /* First heuristic to detect musl libc. */ 1680814a2baSmrg #ifdef __DEFINED_va_list 1690814a2baSmrg LIBC=musl 1700814a2baSmrg #endif 1719586ba5aSmrg #endif 1729586ba5aSmrg EOF 1730814a2baSmrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 1740814a2baSmrg eval "$cc_set_libc" 1750814a2baSmrg 1760814a2baSmrg # Second heuristic to detect musl libc. 1770814a2baSmrg if [ "$LIBC" = unknown ] && 1780814a2baSmrg command -v ldd >/dev/null && 1790814a2baSmrg ldd --version 2>&1 | grep -q ^musl; then 1800814a2baSmrg LIBC=musl 1810814a2baSmrg fi 1820814a2baSmrg 1830814a2baSmrg # If the system lacks a compiler, then just pick glibc. 1840814a2baSmrg # We could probably try harder. 1850814a2baSmrg if [ "$LIBC" = unknown ]; then 1860814a2baSmrg LIBC=gnu 1870814a2baSmrg fi 1889586ba5aSmrg ;; 1899586ba5aSmrgesac 1909586ba5aSmrg 19176888252Smrg# Note: order is significant - the case branches are not exclusive. 19276888252Smrg 1930814a2baSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 19476888252Smrg *:NetBSD:*:*) 19576888252Smrg # NetBSD (nbsd) targets should (where applicable) match one or 19663847c39Smrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 19776888252Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 19876888252Smrg # switched to ELF, *-*-netbsd* would select the old 19976888252Smrg # object file format. This provides both forward 20076888252Smrg # compatibility and a consistent mechanism for selecting the 20176888252Smrg # object file format. 20276888252Smrg # 20376888252Smrg # Note: NetBSD doesn't particularly care about the vendor 20476888252Smrg # portion of the name. We always set it to "unknown". 2050814a2baSmrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 2060814a2baSmrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 2070814a2baSmrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 2080814a2baSmrg echo unknown)` 2090814a2baSmrg case $UNAME_MACHINE_ARCH in 2100814a2baSmrg aarch64eb) machine=aarch64_be-unknown ;; 21176888252Smrg armeb) machine=armeb-unknown ;; 21276888252Smrg arm*) machine=arm-unknown ;; 21376888252Smrg sh3el) machine=shl-unknown ;; 21476888252Smrg sh3eb) machine=sh-unknown ;; 2151ae1b5e8Smrg sh5el) machine=sh5le-unknown ;; 2160814a2baSmrg earmv*) 2170814a2baSmrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 2180814a2baSmrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 2190814a2baSmrg machine=${arch}${endian}-unknown 2200814a2baSmrg ;; 2210814a2baSmrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 22276888252Smrg esac 22376888252Smrg # The Operating System including object format, if it has switched 2240814a2baSmrg # to ELF recently (or will in the future) and ABI. 2250814a2baSmrg case $UNAME_MACHINE_ARCH in 2260814a2baSmrg earm*) 2270814a2baSmrg os=netbsdelf 2280814a2baSmrg ;; 22976888252Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 2300814a2baSmrg set_cc_for_build 23176888252Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 23263847c39Smrg | grep -q __ELF__ 23376888252Smrg then 23476888252Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 23576888252Smrg # Return netbsd for either. FIX? 23676888252Smrg os=netbsd 23776888252Smrg else 23876888252Smrg os=netbsdelf 23976888252Smrg fi 24076888252Smrg ;; 24176888252Smrg *) 24263847c39Smrg os=netbsd 24376888252Smrg ;; 24476888252Smrg esac 2450814a2baSmrg # Determine ABI tags. 2460814a2baSmrg case $UNAME_MACHINE_ARCH in 2470814a2baSmrg earm*) 2480814a2baSmrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 2490814a2baSmrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 2500814a2baSmrg ;; 2510814a2baSmrg esac 25276888252Smrg # The OS release 25376888252Smrg # Debian GNU/NetBSD machines have a different userland, and 25476888252Smrg # thus, need a distinct triplet. However, they do not need 25576888252Smrg # kernel version information, so it can be replaced with a 25676888252Smrg # suitable tag, in the style of linux-gnu. 2570814a2baSmrg case $UNAME_VERSION in 25876888252Smrg Debian*) 25976888252Smrg release='-gnu' 26076888252Smrg ;; 26176888252Smrg *) 2620814a2baSmrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 26376888252Smrg ;; 26476888252Smrg esac 26576888252Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 26676888252Smrg # contains redundant information, the shorter form: 26776888252Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 2680814a2baSmrg GUESS=$machine-${os}${release}${abi-} 2690814a2baSmrg ;; 2709586ba5aSmrg *:Bitrig:*:*) 2719586ba5aSmrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 2720814a2baSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 2730814a2baSmrg ;; 27476888252Smrg *:OpenBSD:*:*) 2751ae1b5e8Smrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 2760814a2baSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 2770814a2baSmrg ;; 2780814a2baSmrg *:SecBSD:*:*) 2790814a2baSmrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 2800814a2baSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 2810814a2baSmrg ;; 2820814a2baSmrg *:LibertyBSD:*:*) 2830814a2baSmrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 2840814a2baSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 2850814a2baSmrg ;; 2860814a2baSmrg *:MidnightBSD:*:*) 2870814a2baSmrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 2880814a2baSmrg ;; 2891ae1b5e8Smrg *:ekkoBSD:*:*) 2900814a2baSmrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 2910814a2baSmrg ;; 2921ae1b5e8Smrg *:SolidBSD:*:*) 2930814a2baSmrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 2940814a2baSmrg ;; 2950814a2baSmrg *:OS108:*:*) 2960814a2baSmrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 2970814a2baSmrg ;; 2981ae1b5e8Smrg macppc:MirBSD:*:*) 2990814a2baSmrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 3000814a2baSmrg ;; 3011ae1b5e8Smrg *:MirBSD:*:*) 3020814a2baSmrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 3030814a2baSmrg ;; 3040814a2baSmrg *:Sortix:*:*) 3050814a2baSmrg GUESS=$UNAME_MACHINE-unknown-sortix 3060814a2baSmrg ;; 3070814a2baSmrg *:Twizzler:*:*) 3080814a2baSmrg GUESS=$UNAME_MACHINE-unknown-twizzler 3090814a2baSmrg ;; 3100814a2baSmrg *:Redox:*:*) 3110814a2baSmrg GUESS=$UNAME_MACHINE-unknown-redox 3120814a2baSmrg ;; 3130814a2baSmrg mips:OSF1:*.*) 3140814a2baSmrg GUESS=mips-dec-osf1 3150814a2baSmrg ;; 31676888252Smrg alpha:OSF1:*:*) 3170814a2baSmrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 3180814a2baSmrg trap '' 0 3191ae1b5e8Smrg case $UNAME_RELEASE in 3201ae1b5e8Smrg *4.0) 32176888252Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 3221ae1b5e8Smrg ;; 3231ae1b5e8Smrg *5.*) 32463847c39Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 3251ae1b5e8Smrg ;; 3261ae1b5e8Smrg esac 32776888252Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 32876888252Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 32976888252Smrg # covers most systems running today. This code pipes the CPU 33076888252Smrg # types through head -n 1, so we only detect the type of CPU 0. 33176888252Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 3320814a2baSmrg case $ALPHA_CPU_TYPE in 33376888252Smrg "EV4 (21064)") 3340814a2baSmrg UNAME_MACHINE=alpha ;; 33576888252Smrg "EV4.5 (21064)") 3360814a2baSmrg UNAME_MACHINE=alpha ;; 33776888252Smrg "LCA4 (21066/21068)") 3380814a2baSmrg UNAME_MACHINE=alpha ;; 33976888252Smrg "EV5 (21164)") 3400814a2baSmrg UNAME_MACHINE=alphaev5 ;; 34176888252Smrg "EV5.6 (21164A)") 3420814a2baSmrg UNAME_MACHINE=alphaev56 ;; 34376888252Smrg "EV5.6 (21164PC)") 3440814a2baSmrg UNAME_MACHINE=alphapca56 ;; 34576888252Smrg "EV5.7 (21164PC)") 3460814a2baSmrg UNAME_MACHINE=alphapca57 ;; 34776888252Smrg "EV6 (21264)") 3480814a2baSmrg UNAME_MACHINE=alphaev6 ;; 34976888252Smrg "EV6.7 (21264A)") 3500814a2baSmrg UNAME_MACHINE=alphaev67 ;; 35176888252Smrg "EV6.8CB (21264C)") 3520814a2baSmrg UNAME_MACHINE=alphaev68 ;; 35376888252Smrg "EV6.8AL (21264B)") 3540814a2baSmrg UNAME_MACHINE=alphaev68 ;; 35576888252Smrg "EV6.8CX (21264D)") 3560814a2baSmrg UNAME_MACHINE=alphaev68 ;; 35776888252Smrg "EV6.9A (21264/EV69A)") 3580814a2baSmrg UNAME_MACHINE=alphaev69 ;; 35976888252Smrg "EV7 (21364)") 3600814a2baSmrg UNAME_MACHINE=alphaev7 ;; 36176888252Smrg "EV7.9 (21364A)") 3620814a2baSmrg UNAME_MACHINE=alphaev79 ;; 36376888252Smrg esac 3641ae1b5e8Smrg # A Pn.n version is a patched version. 36576888252Smrg # A Vn.n version is a released version. 36676888252Smrg # A Tn.n version is a released field test version. 36776888252Smrg # A Xn.n version is an unreleased experimental baselevel. 36876888252Smrg # 1.2 uses "1.2" for uname -r. 3690814a2baSmrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 3700814a2baSmrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 3710814a2baSmrg ;; 37276888252Smrg Amiga*:UNIX_System_V:4.0:*) 3730814a2baSmrg GUESS=m68k-unknown-sysv4 3740814a2baSmrg ;; 37576888252Smrg *:[Aa]miga[Oo][Ss]:*:*) 3760814a2baSmrg GUESS=$UNAME_MACHINE-unknown-amigaos 3770814a2baSmrg ;; 37876888252Smrg *:[Mm]orph[Oo][Ss]:*:*) 3790814a2baSmrg GUESS=$UNAME_MACHINE-unknown-morphos 3800814a2baSmrg ;; 38176888252Smrg *:OS/390:*:*) 3820814a2baSmrg GUESS=i370-ibm-openedition 3830814a2baSmrg ;; 3841ae1b5e8Smrg *:z/VM:*:*) 3850814a2baSmrg GUESS=s390-ibm-zvmoe 3860814a2baSmrg ;; 3871ae1b5e8Smrg *:OS400:*:*) 3880814a2baSmrg GUESS=powerpc-ibm-os400 3890814a2baSmrg ;; 39076888252Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 3910814a2baSmrg GUESS=arm-acorn-riscix$UNAME_RELEASE 3920814a2baSmrg ;; 3939586ba5aSmrg arm*:riscos:*:*|arm*:RISCOS:*:*) 3940814a2baSmrg GUESS=arm-unknown-riscos 3950814a2baSmrg ;; 39676888252Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 3970814a2baSmrg GUESS=hppa1.1-hitachi-hiuxmpp 3980814a2baSmrg ;; 39976888252Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 40076888252Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 4010814a2baSmrg case `(/bin/universe) 2>/dev/null` in 4020814a2baSmrg att) GUESS=pyramid-pyramid-sysv3 ;; 4030814a2baSmrg *) GUESS=pyramid-pyramid-bsd ;; 4040814a2baSmrg esac 4050814a2baSmrg ;; 40676888252Smrg NILE*:*:*:dcosx) 4070814a2baSmrg GUESS=pyramid-pyramid-svr4 4080814a2baSmrg ;; 40976888252Smrg DRS?6000:unix:4.0:6*) 4100814a2baSmrg GUESS=sparc-icl-nx6 4110814a2baSmrg ;; 4121ae1b5e8Smrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 41376888252Smrg case `/usr/bin/uname -p` in 4140814a2baSmrg sparc) GUESS=sparc-icl-nx7 ;; 4150814a2baSmrg esac 4160814a2baSmrg ;; 41763847c39Smrg s390x:SunOS:*:*) 4180814a2baSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4190814a2baSmrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 4200814a2baSmrg ;; 42176888252Smrg sun4H:SunOS:5.*:*) 4220814a2baSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4230814a2baSmrg GUESS=sparc-hal-solaris2$SUN_REL 4240814a2baSmrg ;; 42576888252Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 4260814a2baSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4270814a2baSmrg GUESS=sparc-sun-solaris2$SUN_REL 4280814a2baSmrg ;; 42963847c39Smrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 4300814a2baSmrg GUESS=i386-pc-auroraux$UNAME_RELEASE 4310814a2baSmrg ;; 4321ae1b5e8Smrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 4330814a2baSmrg set_cc_for_build 4340814a2baSmrg SUN_ARCH=i386 43563847c39Smrg # If there is a compiler, see if it is configured for 64-bit objects. 43663847c39Smrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 43763847c39Smrg # This test works for both compilers. 4380814a2baSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 43963847c39Smrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 4400814a2baSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 44163847c39Smrg grep IS_64BIT_ARCH >/dev/null 44263847c39Smrg then 4430814a2baSmrg SUN_ARCH=x86_64 44463847c39Smrg fi 44563847c39Smrg fi 4460814a2baSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4470814a2baSmrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 4480814a2baSmrg ;; 44976888252Smrg sun4*:SunOS:6*:*) 45076888252Smrg # According to config.sub, this is the proper way to canonicalize 45176888252Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 45276888252Smrg # it's likely to be more like Solaris than SunOS4. 4530814a2baSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 4540814a2baSmrg GUESS=sparc-sun-solaris3$SUN_REL 4550814a2baSmrg ;; 45676888252Smrg sun4*:SunOS:*:*) 4570814a2baSmrg case `/usr/bin/arch -k` in 45876888252Smrg Series*|S4*) 45976888252Smrg UNAME_RELEASE=`uname -v` 46076888252Smrg ;; 46176888252Smrg esac 46276888252Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 4630814a2baSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 4640814a2baSmrg GUESS=sparc-sun-sunos$SUN_REL 4650814a2baSmrg ;; 46676888252Smrg sun3*:SunOS:*:*) 4670814a2baSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 4680814a2baSmrg ;; 46976888252Smrg sun*:*:4.2BSD:*) 47076888252Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 4710814a2baSmrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 4720814a2baSmrg case `/bin/arch` in 47376888252Smrg sun3) 4740814a2baSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 47576888252Smrg ;; 47676888252Smrg sun4) 4770814a2baSmrg GUESS=sparc-sun-sunos$UNAME_RELEASE 47876888252Smrg ;; 47976888252Smrg esac 4800814a2baSmrg ;; 48176888252Smrg aushp:SunOS:*:*) 4820814a2baSmrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 4830814a2baSmrg ;; 48476888252Smrg # The situation for MiNT is a little confusing. The machine name 48576888252Smrg # can be virtually everything (everything which is not 48676888252Smrg # "atarist" or "atariste" at least should have a processor 48776888252Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 48876888252Smrg # to the lowercase version "mint" (or "freemint"). Finally 48976888252Smrg # the system name "TOS" denotes a system which is actually not 49076888252Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 49176888252Smrg # be no problem. 49276888252Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 4930814a2baSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 4940814a2baSmrg ;; 49576888252Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 4960814a2baSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 4970814a2baSmrg ;; 49876888252Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 4990814a2baSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 5000814a2baSmrg ;; 50176888252Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 5020814a2baSmrg GUESS=m68k-milan-mint$UNAME_RELEASE 5030814a2baSmrg ;; 50476888252Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 5050814a2baSmrg GUESS=m68k-hades-mint$UNAME_RELEASE 5060814a2baSmrg ;; 50776888252Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 5080814a2baSmrg GUESS=m68k-unknown-mint$UNAME_RELEASE 5090814a2baSmrg ;; 5101ae1b5e8Smrg m68k:machten:*:*) 5110814a2baSmrg GUESS=m68k-apple-machten$UNAME_RELEASE 5120814a2baSmrg ;; 51376888252Smrg powerpc:machten:*:*) 5140814a2baSmrg GUESS=powerpc-apple-machten$UNAME_RELEASE 5150814a2baSmrg ;; 51676888252Smrg RISC*:Mach:*:*) 5170814a2baSmrg GUESS=mips-dec-mach_bsd4.3 5180814a2baSmrg ;; 51976888252Smrg RISC*:ULTRIX:*:*) 5200814a2baSmrg GUESS=mips-dec-ultrix$UNAME_RELEASE 5210814a2baSmrg ;; 52276888252Smrg VAX*:ULTRIX*:*:*) 5230814a2baSmrg GUESS=vax-dec-ultrix$UNAME_RELEASE 5240814a2baSmrg ;; 52576888252Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 5260814a2baSmrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 5270814a2baSmrg ;; 52876888252Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 5290814a2baSmrg set_cc_for_build 5300814a2baSmrg sed 's/^ //' << EOF > "$dummy.c" 53176888252Smrg#ifdef __cplusplus 53276888252Smrg#include <stdio.h> /* for printf() prototype */ 53376888252Smrg int main (int argc, char *argv[]) { 53476888252Smrg#else 53576888252Smrg int main (argc, argv) int argc; char *argv[]; { 53676888252Smrg#endif 53776888252Smrg #if defined (host_mips) && defined (MIPSEB) 53876888252Smrg #if defined (SYSTYPE_SYSV) 5390814a2baSmrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 54076888252Smrg #endif 54176888252Smrg #if defined (SYSTYPE_SVR4) 5420814a2baSmrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 54376888252Smrg #endif 54476888252Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 5450814a2baSmrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 54676888252Smrg #endif 54776888252Smrg #endif 54876888252Smrg exit (-1); 54976888252Smrg } 55076888252SmrgEOF 5510814a2baSmrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 5520814a2baSmrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 5530814a2baSmrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 5541ae1b5e8Smrg { echo "$SYSTEM_NAME"; exit; } 5550814a2baSmrg GUESS=mips-mips-riscos$UNAME_RELEASE 5560814a2baSmrg ;; 55776888252Smrg Motorola:PowerMAX_OS:*:*) 5580814a2baSmrg GUESS=powerpc-motorola-powermax 5590814a2baSmrg ;; 56076888252Smrg Motorola:*:4.3:PL8-*) 5610814a2baSmrg GUESS=powerpc-harris-powermax 5620814a2baSmrg ;; 56376888252Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 5640814a2baSmrg GUESS=powerpc-harris-powermax 5650814a2baSmrg ;; 56676888252Smrg Night_Hawk:Power_UNIX:*:*) 5670814a2baSmrg GUESS=powerpc-harris-powerunix 5680814a2baSmrg ;; 56976888252Smrg m88k:CX/UX:7*:*) 5700814a2baSmrg GUESS=m88k-harris-cxux7 5710814a2baSmrg ;; 57276888252Smrg m88k:*:4*:R4*) 5730814a2baSmrg GUESS=m88k-motorola-sysv4 5740814a2baSmrg ;; 57576888252Smrg m88k:*:3*:R3*) 5760814a2baSmrg GUESS=m88k-motorola-sysv3 5770814a2baSmrg ;; 57876888252Smrg AViiON:dgux:*:*) 57963847c39Smrg # DG/UX returns AViiON for all architectures 58063847c39Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 5810814a2baSmrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 58276888252Smrg then 5830814a2baSmrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 5840814a2baSmrg test "$TARGET_BINARY_INTERFACE"x = x 58576888252Smrg then 5860814a2baSmrg GUESS=m88k-dg-dgux$UNAME_RELEASE 58776888252Smrg else 5880814a2baSmrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 58976888252Smrg fi 59076888252Smrg else 5910814a2baSmrg GUESS=i586-dg-dgux$UNAME_RELEASE 59276888252Smrg fi 5930814a2baSmrg ;; 59476888252Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 5950814a2baSmrg GUESS=m88k-dolphin-sysv3 5960814a2baSmrg ;; 59776888252Smrg M88*:*:R3*:*) 59876888252Smrg # Delta 88k system running SVR3 5990814a2baSmrg GUESS=m88k-motorola-sysv3 6000814a2baSmrg ;; 60176888252Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 6020814a2baSmrg GUESS=m88k-tektronix-sysv3 6030814a2baSmrg ;; 60476888252Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 6050814a2baSmrg GUESS=m68k-tektronix-bsd 6060814a2baSmrg ;; 60776888252Smrg *:IRIX*:*:*) 6080814a2baSmrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 6090814a2baSmrg GUESS=mips-sgi-irix$IRIX_REL 6100814a2baSmrg ;; 61176888252Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 6120814a2baSmrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 6130814a2baSmrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 61476888252Smrg i*86:AIX:*:*) 6150814a2baSmrg GUESS=i386-ibm-aix 6160814a2baSmrg ;; 61776888252Smrg ia64:AIX:*:*) 6180814a2baSmrg if test -x /usr/bin/oslevel ; then 61976888252Smrg IBM_REV=`/usr/bin/oslevel` 62076888252Smrg else 6210814a2baSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 62276888252Smrg fi 6230814a2baSmrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 6240814a2baSmrg ;; 62576888252Smrg *:AIX:2:3) 62676888252Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 6270814a2baSmrg set_cc_for_build 6280814a2baSmrg sed 's/^ //' << EOF > "$dummy.c" 62976888252Smrg #include <sys/systemcfg.h> 63076888252Smrg 63176888252Smrg main() 63276888252Smrg { 63376888252Smrg if (!__power_pc()) 63476888252Smrg exit(1); 63576888252Smrg puts("powerpc-ibm-aix3.2.5"); 63676888252Smrg exit(0); 63776888252Smrg } 63876888252SmrgEOF 6390814a2baSmrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 6401ae1b5e8Smrg then 6410814a2baSmrg GUESS=$SYSTEM_NAME 6421ae1b5e8Smrg else 6430814a2baSmrg GUESS=rs6000-ibm-aix3.2.5 6441ae1b5e8Smrg fi 64576888252Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 6460814a2baSmrg GUESS=rs6000-ibm-aix3.2.4 64776888252Smrg else 6480814a2baSmrg GUESS=rs6000-ibm-aix3.2 64976888252Smrg fi 6500814a2baSmrg ;; 65163847c39Smrg *:AIX:*:[4567]) 65276888252Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 6530814a2baSmrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 65476888252Smrg IBM_ARCH=rs6000 65576888252Smrg else 65676888252Smrg IBM_ARCH=powerpc 65776888252Smrg fi 6580814a2baSmrg if test -x /usr/bin/lslpp ; then 6590814a2baSmrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 6600814a2baSmrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 66176888252Smrg else 6620814a2baSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 66376888252Smrg fi 6640814a2baSmrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 6650814a2baSmrg ;; 66676888252Smrg *:AIX:*:*) 6670814a2baSmrg GUESS=rs6000-ibm-aix 6680814a2baSmrg ;; 6690814a2baSmrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 6700814a2baSmrg GUESS=romp-ibm-bsd4.4 6710814a2baSmrg ;; 67276888252Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 6730814a2baSmrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 6740814a2baSmrg ;; # report: romp-ibm BSD 4.3 67576888252Smrg *:BOSX:*:*) 6760814a2baSmrg GUESS=rs6000-bull-bosx 6770814a2baSmrg ;; 67876888252Smrg DPX/2?00:B.O.S.:*:*) 6790814a2baSmrg GUESS=m68k-bull-sysv3 6800814a2baSmrg ;; 68176888252Smrg 9000/[34]??:4.3bsd:1.*:*) 6820814a2baSmrg GUESS=m68k-hp-bsd 6830814a2baSmrg ;; 68476888252Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 6850814a2baSmrg GUESS=m68k-hp-bsd4.4 6860814a2baSmrg ;; 68776888252Smrg 9000/[34678]??:HP-UX:*:*) 6880814a2baSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 6890814a2baSmrg case $UNAME_MACHINE in 6900814a2baSmrg 9000/31?) HP_ARCH=m68000 ;; 6910814a2baSmrg 9000/[34]??) HP_ARCH=m68k ;; 69276888252Smrg 9000/[678][0-9][0-9]) 6930814a2baSmrg if test -x /usr/bin/getconf; then 69476888252Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 69563847c39Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 6960814a2baSmrg case $sc_cpu_version in 6970814a2baSmrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 6980814a2baSmrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 69963847c39Smrg 532) # CPU_PA_RISC2_0 7000814a2baSmrg case $sc_kernel_bits in 7010814a2baSmrg 32) HP_ARCH=hppa2.0n ;; 7020814a2baSmrg 64) HP_ARCH=hppa2.0w ;; 7030814a2baSmrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 70463847c39Smrg esac ;; 70563847c39Smrg esac 70676888252Smrg fi 7070814a2baSmrg if test "$HP_ARCH" = ""; then 7080814a2baSmrg set_cc_for_build 7090814a2baSmrg sed 's/^ //' << EOF > "$dummy.c" 71076888252Smrg 71163847c39Smrg #define _HPUX_SOURCE 71263847c39Smrg #include <stdlib.h> 71363847c39Smrg #include <unistd.h> 71476888252Smrg 71563847c39Smrg int main () 71663847c39Smrg { 71763847c39Smrg #if defined(_SC_KERNEL_BITS) 71863847c39Smrg long bits = sysconf(_SC_KERNEL_BITS); 71963847c39Smrg #endif 72063847c39Smrg long cpu = sysconf (_SC_CPU_VERSION); 72176888252Smrg 72263847c39Smrg switch (cpu) 72363847c39Smrg { 72463847c39Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 72563847c39Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 72663847c39Smrg case CPU_PA_RISC2_0: 72763847c39Smrg #if defined(_SC_KERNEL_BITS) 72863847c39Smrg switch (bits) 72963847c39Smrg { 73063847c39Smrg case 64: puts ("hppa2.0w"); break; 73163847c39Smrg case 32: puts ("hppa2.0n"); break; 73263847c39Smrg default: puts ("hppa2.0"); break; 73363847c39Smrg } break; 73463847c39Smrg #else /* !defined(_SC_KERNEL_BITS) */ 73563847c39Smrg puts ("hppa2.0"); break; 73663847c39Smrg #endif 73763847c39Smrg default: puts ("hppa1.0"); break; 73863847c39Smrg } 73963847c39Smrg exit (0); 74063847c39Smrg } 74176888252SmrgEOF 7420814a2baSmrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 74376888252Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 74476888252Smrg fi ;; 74576888252Smrg esac 7460814a2baSmrg if test "$HP_ARCH" = hppa2.0w 74776888252Smrg then 7480814a2baSmrg set_cc_for_build 7491ae1b5e8Smrg 7501ae1b5e8Smrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 7511ae1b5e8Smrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 7521ae1b5e8Smrg # generating 64-bit code. GNU and HP use different nomenclature: 7531ae1b5e8Smrg # 7541ae1b5e8Smrg # $ CC_FOR_BUILD=cc ./config.guess 7551ae1b5e8Smrg # => hppa2.0w-hp-hpux11.23 7561ae1b5e8Smrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 7571ae1b5e8Smrg # => hppa64-hp-hpux11.23 7581ae1b5e8Smrg 7590814a2baSmrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 76063847c39Smrg grep -q __LP64__ 76176888252Smrg then 7620814a2baSmrg HP_ARCH=hppa2.0w 76376888252Smrg else 7640814a2baSmrg HP_ARCH=hppa64 76576888252Smrg fi 76676888252Smrg fi 7670814a2baSmrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 7680814a2baSmrg ;; 76976888252Smrg ia64:HP-UX:*:*) 7700814a2baSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 7710814a2baSmrg GUESS=ia64-hp-hpux$HPUX_REV 7720814a2baSmrg ;; 77376888252Smrg 3050*:HI-UX:*:*) 7740814a2baSmrg set_cc_for_build 7750814a2baSmrg sed 's/^ //' << EOF > "$dummy.c" 77676888252Smrg #include <unistd.h> 77776888252Smrg int 77876888252Smrg main () 77976888252Smrg { 78076888252Smrg long cpu = sysconf (_SC_CPU_VERSION); 78176888252Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 78276888252Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 78376888252Smrg results, however. */ 78476888252Smrg if (CPU_IS_PA_RISC (cpu)) 78576888252Smrg { 78676888252Smrg switch (cpu) 78776888252Smrg { 78876888252Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 78976888252Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 79076888252Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 79176888252Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 79276888252Smrg } 79376888252Smrg } 79476888252Smrg else if (CPU_IS_HP_MC68K (cpu)) 79576888252Smrg puts ("m68k-hitachi-hiuxwe2"); 79676888252Smrg else puts ("unknown-hitachi-hiuxwe2"); 79776888252Smrg exit (0); 79876888252Smrg } 79976888252SmrgEOF 8000814a2baSmrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 8011ae1b5e8Smrg { echo "$SYSTEM_NAME"; exit; } 8020814a2baSmrg GUESS=unknown-hitachi-hiuxwe2 8030814a2baSmrg ;; 8040814a2baSmrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 8050814a2baSmrg GUESS=hppa1.1-hp-bsd 8060814a2baSmrg ;; 80776888252Smrg 9000/8??:4.3bsd:*:*) 8080814a2baSmrg GUESS=hppa1.0-hp-bsd 8090814a2baSmrg ;; 81076888252Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 8110814a2baSmrg GUESS=hppa1.0-hp-mpeix 8120814a2baSmrg ;; 8130814a2baSmrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 8140814a2baSmrg GUESS=hppa1.1-hp-osf 8150814a2baSmrg ;; 81676888252Smrg hp8??:OSF1:*:*) 8170814a2baSmrg GUESS=hppa1.0-hp-osf 8180814a2baSmrg ;; 81976888252Smrg i*86:OSF1:*:*) 8200814a2baSmrg if test -x /usr/sbin/sysversion ; then 8210814a2baSmrg GUESS=$UNAME_MACHINE-unknown-osf1mk 82276888252Smrg else 8230814a2baSmrg GUESS=$UNAME_MACHINE-unknown-osf1 82476888252Smrg fi 8250814a2baSmrg ;; 82676888252Smrg parisc*:Lites*:*:*) 8270814a2baSmrg GUESS=hppa1.1-hp-lites 8280814a2baSmrg ;; 82976888252Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 8300814a2baSmrg GUESS=c1-convex-bsd 8310814a2baSmrg ;; 83276888252Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 83376888252Smrg if getsysinfo -f scalar_acc 83476888252Smrg then echo c32-convex-bsd 83576888252Smrg else echo c2-convex-bsd 83676888252Smrg fi 83763847c39Smrg exit ;; 83876888252Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 8390814a2baSmrg GUESS=c34-convex-bsd 8400814a2baSmrg ;; 84176888252Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 8420814a2baSmrg GUESS=c38-convex-bsd 8430814a2baSmrg ;; 84476888252Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 8450814a2baSmrg GUESS=c4-convex-bsd 8460814a2baSmrg ;; 84776888252Smrg CRAY*Y-MP:*:*:*) 8480814a2baSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8490814a2baSmrg GUESS=ymp-cray-unicos$CRAY_REL 8500814a2baSmrg ;; 85176888252Smrg CRAY*[A-Z]90:*:*:*) 8520814a2baSmrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 85376888252Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 85476888252Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 85576888252Smrg -e 's/\.[^.]*$/.X/' 8561ae1b5e8Smrg exit ;; 85776888252Smrg CRAY*TS:*:*:*) 8580814a2baSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8590814a2baSmrg GUESS=t90-cray-unicos$CRAY_REL 8600814a2baSmrg ;; 86176888252Smrg CRAY*T3E:*:*:*) 8620814a2baSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8630814a2baSmrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 8640814a2baSmrg ;; 86576888252Smrg CRAY*SV1:*:*:*) 8660814a2baSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8670814a2baSmrg GUESS=sv1-cray-unicos$CRAY_REL 8680814a2baSmrg ;; 86976888252Smrg *:UNICOS/mp:*:*) 8700814a2baSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 8710814a2baSmrg GUESS=craynv-cray-unicosmp$CRAY_REL 8720814a2baSmrg ;; 87376888252Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 8740814a2baSmrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 8750814a2baSmrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 8760814a2baSmrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 8770814a2baSmrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 8780814a2baSmrg ;; 8791ae1b5e8Smrg 5000:UNIX_System_V:4.*:*) 8800814a2baSmrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 8810814a2baSmrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 8820814a2baSmrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 8830814a2baSmrg ;; 88476888252Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 8850814a2baSmrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 8860814a2baSmrg ;; 88776888252Smrg sparc*:BSD/OS:*:*) 8880814a2baSmrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 8890814a2baSmrg ;; 89076888252Smrg *:BSD/OS:*:*) 8910814a2baSmrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 8920814a2baSmrg ;; 8930814a2baSmrg arm:FreeBSD:*:*) 8940814a2baSmrg UNAME_PROCESSOR=`uname -p` 8950814a2baSmrg set_cc_for_build 8960814a2baSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 8970814a2baSmrg | grep -q __ARM_PCS_VFP 8980814a2baSmrg then 8990814a2baSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9000814a2baSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 9010814a2baSmrg else 9020814a2baSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9030814a2baSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 9040814a2baSmrg fi 9050814a2baSmrg ;; 9061ae1b5e8Smrg *:FreeBSD:*:*) 90763847c39Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 9080814a2baSmrg case $UNAME_PROCESSOR in 9091ae1b5e8Smrg amd64) 9100814a2baSmrg UNAME_PROCESSOR=x86_64 ;; 9110814a2baSmrg i386) 9120814a2baSmrg UNAME_PROCESSOR=i586 ;; 9131ae1b5e8Smrg esac 9140814a2baSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9150814a2baSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 9160814a2baSmrg ;; 91776888252Smrg i*:CYGWIN*:*) 9180814a2baSmrg GUESS=$UNAME_MACHINE-pc-cygwin 9190814a2baSmrg ;; 9209586ba5aSmrg *:MINGW64*:*) 9210814a2baSmrg GUESS=$UNAME_MACHINE-pc-mingw64 9220814a2baSmrg ;; 9231ae1b5e8Smrg *:MINGW*:*) 9240814a2baSmrg GUESS=$UNAME_MACHINE-pc-mingw32 9250814a2baSmrg ;; 9269586ba5aSmrg *:MSYS*:*) 9270814a2baSmrg GUESS=$UNAME_MACHINE-pc-msys 9280814a2baSmrg ;; 92976888252Smrg i*:PW*:*) 9300814a2baSmrg GUESS=$UNAME_MACHINE-pc-pw32 9310814a2baSmrg ;; 93263847c39Smrg *:Interix*:*) 9330814a2baSmrg case $UNAME_MACHINE in 9341ae1b5e8Smrg x86) 9350814a2baSmrg GUESS=i586-pc-interix$UNAME_RELEASE 9360814a2baSmrg ;; 93763847c39Smrg authenticamd | genuineintel | EM64T) 9380814a2baSmrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 9390814a2baSmrg ;; 9401ae1b5e8Smrg IA64) 9410814a2baSmrg GUESS=ia64-unknown-interix$UNAME_RELEASE 9420814a2baSmrg ;; 9431ae1b5e8Smrg esac ;; 94476888252Smrg i*:UWIN*:*) 9450814a2baSmrg GUESS=$UNAME_MACHINE-pc-uwin 9460814a2baSmrg ;; 9471ae1b5e8Smrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 9480814a2baSmrg GUESS=x86_64-pc-cygwin 9490814a2baSmrg ;; 95076888252Smrg prep*:SunOS:5.*:*) 9510814a2baSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 9520814a2baSmrg GUESS=powerpcle-unknown-solaris2$SUN_REL 9530814a2baSmrg ;; 95476888252Smrg *:GNU:*:*) 9551ae1b5e8Smrg # the GNU system 9560814a2baSmrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 9570814a2baSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 9580814a2baSmrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 9590814a2baSmrg ;; 9601ae1b5e8Smrg *:GNU/*:*:*) 9611ae1b5e8Smrg # other systems with GNU libc and userland 9620814a2baSmrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 9630814a2baSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 9640814a2baSmrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 9650814a2baSmrg ;; 9660814a2baSmrg *:Minix:*:*) 9670814a2baSmrg GUESS=$UNAME_MACHINE-unknown-minix 9680814a2baSmrg ;; 96963847c39Smrg aarch64:Linux:*:*) 9700814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 9710814a2baSmrg ;; 97263847c39Smrg aarch64_be:Linux:*:*) 97363847c39Smrg UNAME_MACHINE=aarch64_be 9740814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 9750814a2baSmrg ;; 97663847c39Smrg alpha:Linux:*:*) 9770814a2baSmrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 97863847c39Smrg EV5) UNAME_MACHINE=alphaev5 ;; 97963847c39Smrg EV56) UNAME_MACHINE=alphaev56 ;; 98063847c39Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 98163847c39Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 98263847c39Smrg EV6) UNAME_MACHINE=alphaev6 ;; 98363847c39Smrg EV67) UNAME_MACHINE=alphaev67 ;; 98463847c39Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 98563847c39Smrg esac 98663847c39Smrg objdump --private-headers /bin/sh | grep -q ld.so.1 9870814a2baSmrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 9880814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 9890814a2baSmrg ;; 9900814a2baSmrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 9910814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 9920814a2baSmrg ;; 99376888252Smrg arm*:Linux:*:*) 9940814a2baSmrg set_cc_for_build 9951ae1b5e8Smrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 9961ae1b5e8Smrg | grep -q __ARM_EABI__ 9971ae1b5e8Smrg then 9980814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 9991ae1b5e8Smrg else 100063847c39Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 100163847c39Smrg | grep -q __ARM_PCS_VFP 100263847c39Smrg then 10030814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 100463847c39Smrg else 10050814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 100663847c39Smrg fi 10071ae1b5e8Smrg fi 10080814a2baSmrg ;; 10091ae1b5e8Smrg avr32*:Linux:*:*) 10100814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10110814a2baSmrg ;; 101276888252Smrg cris:Linux:*:*) 10130814a2baSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 10140814a2baSmrg ;; 10151ae1b5e8Smrg crisv32:Linux:*:*) 10160814a2baSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 10170814a2baSmrg ;; 10180814a2baSmrg e2k:Linux:*:*) 10190814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10200814a2baSmrg ;; 10211ae1b5e8Smrg frv:Linux:*:*) 10220814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10230814a2baSmrg ;; 102463847c39Smrg hexagon:Linux:*:*) 10250814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10260814a2baSmrg ;; 102763847c39Smrg i*86:Linux:*:*) 10280814a2baSmrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 10290814a2baSmrg ;; 103076888252Smrg ia64:Linux:*:*) 10310814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10320814a2baSmrg ;; 10330814a2baSmrg k1om:Linux:*:*) 10340814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10350814a2baSmrg ;; 10360814a2baSmrg loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) 10370814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10380814a2baSmrg ;; 10391ae1b5e8Smrg m32r*:Linux:*:*) 10400814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10410814a2baSmrg ;; 104276888252Smrg m68*:Linux:*:*) 10430814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10440814a2baSmrg ;; 104563847c39Smrg mips:Linux:*:* | mips64:Linux:*:*) 10460814a2baSmrg set_cc_for_build 10470814a2baSmrg IS_GLIBC=0 10480814a2baSmrg test x"${LIBC}" = xgnu && IS_GLIBC=1 10490814a2baSmrg sed 's/^ //' << EOF > "$dummy.c" 105076888252Smrg #undef CPU 10510814a2baSmrg #undef mips 10520814a2baSmrg #undef mipsel 10530814a2baSmrg #undef mips64 10540814a2baSmrg #undef mips64el 10550814a2baSmrg #if ${IS_GLIBC} && defined(_ABI64) 10560814a2baSmrg LIBCABI=gnuabi64 10570814a2baSmrg #else 10580814a2baSmrg #if ${IS_GLIBC} && defined(_ABIN32) 10590814a2baSmrg LIBCABI=gnuabin32 10600814a2baSmrg #else 10610814a2baSmrg LIBCABI=${LIBC} 10620814a2baSmrg #endif 10630814a2baSmrg #endif 10640814a2baSmrg 10650814a2baSmrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 10660814a2baSmrg CPU=mipsisa64r6 10670814a2baSmrg #else 10680814a2baSmrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 10690814a2baSmrg CPU=mipsisa32r6 10700814a2baSmrg #else 10710814a2baSmrg #if defined(__mips64) 10720814a2baSmrg CPU=mips64 10730814a2baSmrg #else 10740814a2baSmrg CPU=mips 10750814a2baSmrg #endif 10760814a2baSmrg #endif 10770814a2baSmrg #endif 10780814a2baSmrg 107976888252Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 10800814a2baSmrg MIPS_ENDIAN=el 108176888252Smrg #else 108276888252Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 10830814a2baSmrg MIPS_ENDIAN= 108476888252Smrg #else 10850814a2baSmrg MIPS_ENDIAN= 108676888252Smrg #endif 108776888252Smrg #endif 108876888252SmrgEOF 10890814a2baSmrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 10900814a2baSmrg eval "$cc_set_vars" 10910814a2baSmrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 10920814a2baSmrg ;; 10930814a2baSmrg mips64el:Linux:*:*) 10940814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 109576888252Smrg ;; 10969586ba5aSmrg openrisc*:Linux:*:*) 10970814a2baSmrg GUESS=or1k-unknown-linux-$LIBC 10980814a2baSmrg ;; 10999586ba5aSmrg or32:Linux:*:* | or1k*:Linux:*:*) 11000814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11010814a2baSmrg ;; 110263847c39Smrg padre:Linux:*:*) 11030814a2baSmrg GUESS=sparc-unknown-linux-$LIBC 11040814a2baSmrg ;; 110563847c39Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 11060814a2baSmrg GUESS=hppa64-unknown-linux-$LIBC 11070814a2baSmrg ;; 110876888252Smrg parisc:Linux:*:* | hppa:Linux:*:*) 110976888252Smrg # Look for CPU level 111076888252Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 11110814a2baSmrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 11120814a2baSmrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 11130814a2baSmrg *) GUESS=hppa-unknown-linux-$LIBC ;; 111476888252Smrg esac 11150814a2baSmrg ;; 111663847c39Smrg ppc64:Linux:*:*) 11170814a2baSmrg GUESS=powerpc64-unknown-linux-$LIBC 11180814a2baSmrg ;; 111963847c39Smrg ppc:Linux:*:*) 11200814a2baSmrg GUESS=powerpc-unknown-linux-$LIBC 11210814a2baSmrg ;; 11229586ba5aSmrg ppc64le:Linux:*:*) 11230814a2baSmrg GUESS=powerpc64le-unknown-linux-$LIBC 11240814a2baSmrg ;; 11259586ba5aSmrg ppcle:Linux:*:*) 11260814a2baSmrg GUESS=powerpcle-unknown-linux-$LIBC 11270814a2baSmrg ;; 11280814a2baSmrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 11290814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11300814a2baSmrg ;; 113176888252Smrg s390:Linux:*:* | s390x:Linux:*:*) 11320814a2baSmrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 11330814a2baSmrg ;; 113476888252Smrg sh64*:Linux:*:*) 11350814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11360814a2baSmrg ;; 113776888252Smrg sh*:Linux:*:*) 11380814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11390814a2baSmrg ;; 114076888252Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 11410814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11420814a2baSmrg ;; 114363847c39Smrg tile*:Linux:*:*) 11440814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11450814a2baSmrg ;; 11461ae1b5e8Smrg vax:Linux:*:*) 11470814a2baSmrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 11480814a2baSmrg ;; 114976888252Smrg x86_64:Linux:*:*) 11500814a2baSmrg set_cc_for_build 11510814a2baSmrg LIBCABI=$LIBC 11520814a2baSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 11530814a2baSmrg if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ 11540814a2baSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 11550814a2baSmrg grep IS_X32 >/dev/null 11560814a2baSmrg then 11570814a2baSmrg LIBCABI=${LIBC}x32 11580814a2baSmrg fi 11590814a2baSmrg fi 11600814a2baSmrg GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI 11610814a2baSmrg ;; 11621ae1b5e8Smrg xtensa*:Linux:*:*) 11630814a2baSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 11640814a2baSmrg ;; 116576888252Smrg i*86:DYNIX/ptx:4*:*) 116676888252Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 116776888252Smrg # earlier versions are messed up and put the nodename in both 116876888252Smrg # sysname and nodename. 11690814a2baSmrg GUESS=i386-sequent-sysv4 11700814a2baSmrg ;; 117176888252Smrg i*86:UNIX_SV:4.2MP:2.*) 117263847c39Smrg # Unixware is an offshoot of SVR4, but it has its own version 117363847c39Smrg # number series starting with 2... 117463847c39Smrg # I am not positive that other SVR4 systems won't match this, 117576888252Smrg # I just have to hope. -- rms. 117663847c39Smrg # Use sysv4.2uw... so that sysv4* matches it. 11770814a2baSmrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 11780814a2baSmrg ;; 117976888252Smrg i*86:OS/2:*:*) 118076888252Smrg # If we were able to find `uname', then EMX Unix compatibility 118176888252Smrg # is probably installed. 11820814a2baSmrg GUESS=$UNAME_MACHINE-pc-os2-emx 11830814a2baSmrg ;; 118476888252Smrg i*86:XTS-300:*:STOP) 11850814a2baSmrg GUESS=$UNAME_MACHINE-unknown-stop 11860814a2baSmrg ;; 118776888252Smrg i*86:atheos:*:*) 11880814a2baSmrg GUESS=$UNAME_MACHINE-unknown-atheos 11890814a2baSmrg ;; 11901ae1b5e8Smrg i*86:syllable:*:*) 11910814a2baSmrg GUESS=$UNAME_MACHINE-pc-syllable 11920814a2baSmrg ;; 119363847c39Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 11940814a2baSmrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 11950814a2baSmrg ;; 119676888252Smrg i*86:*DOS:*:*) 11970814a2baSmrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 11980814a2baSmrg ;; 11990814a2baSmrg i*86:*:4.*:*) 12000814a2baSmrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 120176888252Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 12020814a2baSmrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 120376888252Smrg else 12040814a2baSmrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 120576888252Smrg fi 12060814a2baSmrg ;; 12071ae1b5e8Smrg i*86:*:5:[678]*) 120863847c39Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 120976888252Smrg case `/bin/uname -X | grep "^Machine"` in 121076888252Smrg *486*) UNAME_MACHINE=i486 ;; 121176888252Smrg *Pentium) UNAME_MACHINE=i586 ;; 121276888252Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 121376888252Smrg esac 12140814a2baSmrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 12150814a2baSmrg ;; 121676888252Smrg i*86:*:3.2:*) 121776888252Smrg if test -f /usr/options/cb.name; then 121876888252Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 12190814a2baSmrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 122076888252Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 122176888252Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 122276888252Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 122376888252Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 122476888252Smrg && UNAME_MACHINE=i586 122576888252Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 122676888252Smrg && UNAME_MACHINE=i686 122776888252Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 122876888252Smrg && UNAME_MACHINE=i686 12290814a2baSmrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 123076888252Smrg else 12310814a2baSmrg GUESS=$UNAME_MACHINE-pc-sysv32 123276888252Smrg fi 12330814a2baSmrg ;; 123476888252Smrg pc:*:*:*) 123576888252Smrg # Left here for compatibility: 123663847c39Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 123763847c39Smrg # the processor, so we play safe by assuming i586. 123863847c39Smrg # Note: whatever this is, it MUST be the same as what config.sub 12390814a2baSmrg # prints for the "djgpp" host, or else GDB configure will decide that 124063847c39Smrg # this is a cross-build. 12410814a2baSmrg GUESS=i586-pc-msdosdjgpp 12420814a2baSmrg ;; 124376888252Smrg Intel:Mach:3*:*) 12440814a2baSmrg GUESS=i386-pc-mach3 12450814a2baSmrg ;; 124676888252Smrg paragon:*:*:*) 12470814a2baSmrg GUESS=i860-intel-osf1 12480814a2baSmrg ;; 124976888252Smrg i860:*:4.*:*) # i860-SVR4 125076888252Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 12510814a2baSmrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 125276888252Smrg else # Add other i860-SVR4 vendors below as they are discovered. 12530814a2baSmrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 125476888252Smrg fi 12550814a2baSmrg ;; 125676888252Smrg mini*:CTIX:SYS*5:*) 125776888252Smrg # "miniframe" 12580814a2baSmrg GUESS=m68010-convergent-sysv 12590814a2baSmrg ;; 126076888252Smrg mc68k:UNIX:SYSTEM5:3.51m) 12610814a2baSmrg GUESS=m68k-convergent-sysv 12620814a2baSmrg ;; 126376888252Smrg M680?0:D-NIX:5.3:*) 12640814a2baSmrg GUESS=m68k-diab-dnix 12650814a2baSmrg ;; 12661ae1b5e8Smrg M68*:*:R3V[5678]*:*) 12671ae1b5e8Smrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 12681ae1b5e8Smrg 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) 126976888252Smrg OS_REL='' 127076888252Smrg test -r /etc/.relid \ 127176888252Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 127276888252Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 12730814a2baSmrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 127476888252Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 12750814a2baSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 127676888252Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 127763847c39Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 127863847c39Smrg && { echo i486-ncr-sysv4; exit; } ;; 127963847c39Smrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 128063847c39Smrg OS_REL='.3' 128163847c39Smrg test -r /etc/.relid \ 128263847c39Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 128363847c39Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 12840814a2baSmrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 128563847c39Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 12860814a2baSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 128763847c39Smrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 12880814a2baSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 128976888252Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 12900814a2baSmrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 12910814a2baSmrg ;; 129276888252Smrg mc68030:UNIX_System_V:4.*:*) 12930814a2baSmrg GUESS=m68k-atari-sysv4 12940814a2baSmrg ;; 129576888252Smrg TSUNAMI:LynxOS:2.*:*) 12960814a2baSmrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 12970814a2baSmrg ;; 129876888252Smrg rs6000:LynxOS:2.*:*) 12990814a2baSmrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 13000814a2baSmrg ;; 130163847c39Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 13020814a2baSmrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 13030814a2baSmrg ;; 130476888252Smrg SM[BE]S:UNIX_SV:*:*) 13050814a2baSmrg GUESS=mips-dde-sysv$UNAME_RELEASE 13060814a2baSmrg ;; 130776888252Smrg RM*:ReliantUNIX-*:*:*) 13080814a2baSmrg GUESS=mips-sni-sysv4 13090814a2baSmrg ;; 131076888252Smrg RM*:SINIX-*:*:*) 13110814a2baSmrg GUESS=mips-sni-sysv4 13120814a2baSmrg ;; 131376888252Smrg *:SINIX-*:*:*) 131476888252Smrg if uname -p 2>/dev/null >/dev/null ; then 131576888252Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 13160814a2baSmrg GUESS=$UNAME_MACHINE-sni-sysv4 131776888252Smrg else 13180814a2baSmrg GUESS=ns32k-sni-sysv 131976888252Smrg fi 13200814a2baSmrg ;; 132163847c39Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 132263847c39Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 13230814a2baSmrg GUESS=i586-unisys-sysv4 13240814a2baSmrg ;; 132576888252Smrg *:UNIX_System_V:4*:FTX*) 132676888252Smrg # From Gerald Hewes <hewes@openmarket.com>. 132776888252Smrg # How about differentiating between stratus architectures? -djm 13280814a2baSmrg GUESS=hppa1.1-stratus-sysv4 13290814a2baSmrg ;; 133076888252Smrg *:*:*:FTX*) 133176888252Smrg # From seanf@swdc.stratus.com. 13320814a2baSmrg GUESS=i860-stratus-sysv4 13330814a2baSmrg ;; 13341ae1b5e8Smrg i*86:VOS:*:*) 13351ae1b5e8Smrg # From Paul.Green@stratus.com. 13360814a2baSmrg GUESS=$UNAME_MACHINE-stratus-vos 13370814a2baSmrg ;; 133876888252Smrg *:VOS:*:*) 133976888252Smrg # From Paul.Green@stratus.com. 13400814a2baSmrg GUESS=hppa1.1-stratus-vos 13410814a2baSmrg ;; 134276888252Smrg mc68*:A/UX:*:*) 13430814a2baSmrg GUESS=m68k-apple-aux$UNAME_RELEASE 13440814a2baSmrg ;; 134576888252Smrg news*:NEWS-OS:6*:*) 13460814a2baSmrg GUESS=mips-sony-newsos6 13470814a2baSmrg ;; 134876888252Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 13490814a2baSmrg if test -d /usr/nec; then 13500814a2baSmrg GUESS=mips-nec-sysv$UNAME_RELEASE 135176888252Smrg else 13520814a2baSmrg GUESS=mips-unknown-sysv$UNAME_RELEASE 135376888252Smrg fi 13540814a2baSmrg ;; 135576888252Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 13560814a2baSmrg GUESS=powerpc-be-beos 13570814a2baSmrg ;; 135876888252Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 13590814a2baSmrg GUESS=powerpc-apple-beos 13600814a2baSmrg ;; 136176888252Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 13620814a2baSmrg GUESS=i586-pc-beos 13630814a2baSmrg ;; 136463847c39Smrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 13650814a2baSmrg GUESS=i586-pc-haiku 13660814a2baSmrg ;; 13679586ba5aSmrg x86_64:Haiku:*:*) 13680814a2baSmrg GUESS=x86_64-unknown-haiku 13690814a2baSmrg ;; 137076888252Smrg SX-4:SUPER-UX:*:*) 13710814a2baSmrg GUESS=sx4-nec-superux$UNAME_RELEASE 13720814a2baSmrg ;; 137376888252Smrg SX-5:SUPER-UX:*:*) 13740814a2baSmrg GUESS=sx5-nec-superux$UNAME_RELEASE 13750814a2baSmrg ;; 137676888252Smrg SX-6:SUPER-UX:*:*) 13770814a2baSmrg GUESS=sx6-nec-superux$UNAME_RELEASE 13780814a2baSmrg ;; 13791ae1b5e8Smrg SX-7:SUPER-UX:*:*) 13800814a2baSmrg GUESS=sx7-nec-superux$UNAME_RELEASE 13810814a2baSmrg ;; 13821ae1b5e8Smrg SX-8:SUPER-UX:*:*) 13830814a2baSmrg GUESS=sx8-nec-superux$UNAME_RELEASE 13840814a2baSmrg ;; 13851ae1b5e8Smrg SX-8R:SUPER-UX:*:*) 13860814a2baSmrg GUESS=sx8r-nec-superux$UNAME_RELEASE 13870814a2baSmrg ;; 13880814a2baSmrg SX-ACE:SUPER-UX:*:*) 13890814a2baSmrg GUESS=sxace-nec-superux$UNAME_RELEASE 13900814a2baSmrg ;; 139176888252Smrg Power*:Rhapsody:*:*) 13920814a2baSmrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 13930814a2baSmrg ;; 139476888252Smrg *:Rhapsody:*:*) 13950814a2baSmrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 13960814a2baSmrg ;; 13970814a2baSmrg arm64:Darwin:*:*) 13980814a2baSmrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 13990814a2baSmrg ;; 140076888252Smrg *:Darwin:*:*) 14010814a2baSmrg UNAME_PROCESSOR=`uname -p` 14020814a2baSmrg case $UNAME_PROCESSOR in 14030814a2baSmrg unknown) UNAME_PROCESSOR=powerpc ;; 14040814a2baSmrg esac 14050814a2baSmrg if command -v xcode-select > /dev/null 2> /dev/null && \ 14060814a2baSmrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 14070814a2baSmrg # Avoid executing cc if there is no toolchain installed as 14080814a2baSmrg # cc will be a stub that puts up a graphical alert 14090814a2baSmrg # prompting the user to install developer tools. 14100814a2baSmrg CC_FOR_BUILD=no_compiler_found 14110814a2baSmrg else 14120814a2baSmrg set_cc_for_build 14139586ba5aSmrg fi 14140814a2baSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 14150814a2baSmrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 14160814a2baSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 14170814a2baSmrg grep IS_64BIT_ARCH >/dev/null 14180814a2baSmrg then 14190814a2baSmrg case $UNAME_PROCESSOR in 14200814a2baSmrg i386) UNAME_PROCESSOR=x86_64 ;; 14210814a2baSmrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 14220814a2baSmrg esac 14230814a2baSmrg fi 14240814a2baSmrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 14250814a2baSmrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 14260814a2baSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 14270814a2baSmrg grep IS_PPC >/dev/null 14280814a2baSmrg then 14290814a2baSmrg UNAME_PROCESSOR=powerpc 14309586ba5aSmrg fi 14319586ba5aSmrg elif test "$UNAME_PROCESSOR" = i386 ; then 14320814a2baSmrg # uname -m returns i386 or x86_64 14330814a2baSmrg UNAME_PROCESSOR=$UNAME_MACHINE 14349586ba5aSmrg fi 14350814a2baSmrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 14360814a2baSmrg ;; 143776888252Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 143876888252Smrg UNAME_PROCESSOR=`uname -p` 14390814a2baSmrg if test "$UNAME_PROCESSOR" = x86; then 144076888252Smrg UNAME_PROCESSOR=i386 144176888252Smrg UNAME_MACHINE=pc 144276888252Smrg fi 14430814a2baSmrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 14440814a2baSmrg ;; 144576888252Smrg *:QNX:*:4*) 14460814a2baSmrg GUESS=i386-pc-qnx 14470814a2baSmrg ;; 14480814a2baSmrg NEO-*:NONSTOP_KERNEL:*:*) 14490814a2baSmrg GUESS=neo-tandem-nsk$UNAME_RELEASE 14500814a2baSmrg ;; 14519586ba5aSmrg NSE-*:NONSTOP_KERNEL:*:*) 14520814a2baSmrg GUESS=nse-tandem-nsk$UNAME_RELEASE 14530814a2baSmrg ;; 14540814a2baSmrg NSR-*:NONSTOP_KERNEL:*:*) 14550814a2baSmrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 14560814a2baSmrg ;; 14570814a2baSmrg NSV-*:NONSTOP_KERNEL:*:*) 14580814a2baSmrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 14590814a2baSmrg ;; 14600814a2baSmrg NSX-*:NONSTOP_KERNEL:*:*) 14610814a2baSmrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 14620814a2baSmrg ;; 146376888252Smrg *:NonStop-UX:*:*) 14640814a2baSmrg GUESS=mips-compaq-nonstopux 14650814a2baSmrg ;; 146676888252Smrg BS2000:POSIX*:*:*) 14670814a2baSmrg GUESS=bs2000-siemens-sysv 14680814a2baSmrg ;; 146976888252Smrg DS/*:UNIX_System_V:*:*) 14700814a2baSmrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 14710814a2baSmrg ;; 147276888252Smrg *:Plan9:*:*) 147376888252Smrg # "uname -m" is not consistent, so use $cputype instead. 386 147476888252Smrg # is converted to i386 for consistency with other x86 147576888252Smrg # operating systems. 14760814a2baSmrg if test "${cputype-}" = 386; then 147776888252Smrg UNAME_MACHINE=i386 14780814a2baSmrg elif test "x${cputype-}" != x; then 14790814a2baSmrg UNAME_MACHINE=$cputype 148076888252Smrg fi 14810814a2baSmrg GUESS=$UNAME_MACHINE-unknown-plan9 14820814a2baSmrg ;; 148376888252Smrg *:TOPS-10:*:*) 14840814a2baSmrg GUESS=pdp10-unknown-tops10 14850814a2baSmrg ;; 148676888252Smrg *:TENEX:*:*) 14870814a2baSmrg GUESS=pdp10-unknown-tenex 14880814a2baSmrg ;; 148976888252Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 14900814a2baSmrg GUESS=pdp10-dec-tops20 14910814a2baSmrg ;; 149276888252Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 14930814a2baSmrg GUESS=pdp10-xkl-tops20 14940814a2baSmrg ;; 149576888252Smrg *:TOPS-20:*:*) 14960814a2baSmrg GUESS=pdp10-unknown-tops20 14970814a2baSmrg ;; 149876888252Smrg *:ITS:*:*) 14990814a2baSmrg GUESS=pdp10-unknown-its 15000814a2baSmrg ;; 150176888252Smrg SEI:*:*:SEIUX) 15020814a2baSmrg GUESS=mips-sei-seiux$UNAME_RELEASE 15030814a2baSmrg ;; 15041ae1b5e8Smrg *:DragonFly:*:*) 15050814a2baSmrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 15060814a2baSmrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 15070814a2baSmrg ;; 15081ae1b5e8Smrg *:*VMS:*:*) 150963847c39Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 15100814a2baSmrg case $UNAME_MACHINE in 15110814a2baSmrg A*) GUESS=alpha-dec-vms ;; 15120814a2baSmrg I*) GUESS=ia64-dec-vms ;; 15130814a2baSmrg V*) GUESS=vax-dec-vms ;; 15141ae1b5e8Smrg esac ;; 15151ae1b5e8Smrg *:XENIX:*:SysV) 15160814a2baSmrg GUESS=i386-pc-xenix 15170814a2baSmrg ;; 15181ae1b5e8Smrg i*86:skyos:*:*) 15190814a2baSmrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 15200814a2baSmrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 15210814a2baSmrg ;; 15221ae1b5e8Smrg i*86:rdos:*:*) 15230814a2baSmrg GUESS=$UNAME_MACHINE-pc-rdos 15240814a2baSmrg ;; 15250814a2baSmrg *:AROS:*:*) 15260814a2baSmrg GUESS=$UNAME_MACHINE-unknown-aros 15270814a2baSmrg ;; 152863847c39Smrg x86_64:VMkernel:*:*) 15290814a2baSmrg GUESS=$UNAME_MACHINE-unknown-esx 15300814a2baSmrg ;; 15310814a2baSmrg amd64:Isilon\ OneFS:*:*) 15320814a2baSmrg GUESS=x86_64-unknown-onefs 15330814a2baSmrg ;; 15340814a2baSmrg *:Unleashed:*:*) 15350814a2baSmrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 15360814a2baSmrg ;; 15370814a2baSmrgesac 15380814a2baSmrg 15390814a2baSmrg# Do we have a guess based on uname results? 15400814a2baSmrgif test "x$GUESS" != x; then 15410814a2baSmrg echo "$GUESS" 15420814a2baSmrg exit 15430814a2baSmrgfi 15440814a2baSmrg 15450814a2baSmrg# No uname command or uname output not recognized. 15460814a2baSmrgset_cc_for_build 15470814a2baSmrgcat > "$dummy.c" <<EOF 15480814a2baSmrg#ifdef _SEQUENT_ 15490814a2baSmrg#include <sys/types.h> 15500814a2baSmrg#include <sys/utsname.h> 15510814a2baSmrg#endif 15520814a2baSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 15530814a2baSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 15540814a2baSmrg#include <signal.h> 15550814a2baSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 15560814a2baSmrg#include <sys/utsname.h> 15570814a2baSmrg#endif 15580814a2baSmrg#endif 15590814a2baSmrg#endif 15600814a2baSmrgmain () 15610814a2baSmrg{ 15620814a2baSmrg#if defined (sony) 15630814a2baSmrg#if defined (MIPSEB) 15640814a2baSmrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 15650814a2baSmrg I don't know.... */ 15660814a2baSmrg printf ("mips-sony-bsd\n"); exit (0); 15670814a2baSmrg#else 15680814a2baSmrg#include <sys/param.h> 15690814a2baSmrg printf ("m68k-sony-newsos%s\n", 15700814a2baSmrg#ifdef NEWSOS4 15710814a2baSmrg "4" 15720814a2baSmrg#else 15730814a2baSmrg "" 15740814a2baSmrg#endif 15750814a2baSmrg ); exit (0); 15760814a2baSmrg#endif 15770814a2baSmrg#endif 15780814a2baSmrg 15790814a2baSmrg#if defined (NeXT) 15800814a2baSmrg#if !defined (__ARCHITECTURE__) 15810814a2baSmrg#define __ARCHITECTURE__ "m68k" 15820814a2baSmrg#endif 15830814a2baSmrg int version; 15840814a2baSmrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 15850814a2baSmrg if (version < 4) 15860814a2baSmrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 15870814a2baSmrg else 15880814a2baSmrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 15890814a2baSmrg exit (0); 15900814a2baSmrg#endif 15910814a2baSmrg 15920814a2baSmrg#if defined (MULTIMAX) || defined (n16) 15930814a2baSmrg#if defined (UMAXV) 15940814a2baSmrg printf ("ns32k-encore-sysv\n"); exit (0); 15950814a2baSmrg#else 15960814a2baSmrg#if defined (CMU) 15970814a2baSmrg printf ("ns32k-encore-mach\n"); exit (0); 15980814a2baSmrg#else 15990814a2baSmrg printf ("ns32k-encore-bsd\n"); exit (0); 16000814a2baSmrg#endif 16010814a2baSmrg#endif 16020814a2baSmrg#endif 16030814a2baSmrg 16040814a2baSmrg#if defined (__386BSD__) 16050814a2baSmrg printf ("i386-pc-bsd\n"); exit (0); 16060814a2baSmrg#endif 16070814a2baSmrg 16080814a2baSmrg#if defined (sequent) 16090814a2baSmrg#if defined (i386) 16100814a2baSmrg printf ("i386-sequent-dynix\n"); exit (0); 16110814a2baSmrg#endif 16120814a2baSmrg#if defined (ns32000) 16130814a2baSmrg printf ("ns32k-sequent-dynix\n"); exit (0); 16140814a2baSmrg#endif 16150814a2baSmrg#endif 16160814a2baSmrg 16170814a2baSmrg#if defined (_SEQUENT_) 16180814a2baSmrg struct utsname un; 16190814a2baSmrg 16200814a2baSmrg uname(&un); 16210814a2baSmrg if (strncmp(un.version, "V2", 2) == 0) { 16220814a2baSmrg printf ("i386-sequent-ptx2\n"); exit (0); 16230814a2baSmrg } 16240814a2baSmrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 16250814a2baSmrg printf ("i386-sequent-ptx1\n"); exit (0); 16260814a2baSmrg } 16270814a2baSmrg printf ("i386-sequent-ptx\n"); exit (0); 16280814a2baSmrg#endif 16290814a2baSmrg 16300814a2baSmrg#if defined (vax) 16310814a2baSmrg#if !defined (ultrix) 16320814a2baSmrg#include <sys/param.h> 16330814a2baSmrg#if defined (BSD) 16340814a2baSmrg#if BSD == 43 16350814a2baSmrg printf ("vax-dec-bsd4.3\n"); exit (0); 16360814a2baSmrg#else 16370814a2baSmrg#if BSD == 199006 16380814a2baSmrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 16390814a2baSmrg#else 16400814a2baSmrg printf ("vax-dec-bsd\n"); exit (0); 16410814a2baSmrg#endif 16420814a2baSmrg#endif 16430814a2baSmrg#else 16440814a2baSmrg printf ("vax-dec-bsd\n"); exit (0); 16450814a2baSmrg#endif 16460814a2baSmrg#else 16470814a2baSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 16480814a2baSmrg struct utsname un; 16490814a2baSmrg uname (&un); 16500814a2baSmrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 16510814a2baSmrg#else 16520814a2baSmrg printf ("vax-dec-ultrix\n"); exit (0); 16530814a2baSmrg#endif 16540814a2baSmrg#endif 16550814a2baSmrg#endif 16560814a2baSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 16570814a2baSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 16580814a2baSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 16590814a2baSmrg struct utsname *un; 16600814a2baSmrg uname (&un); 16610814a2baSmrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 16620814a2baSmrg#else 16630814a2baSmrg printf ("mips-dec-ultrix\n"); exit (0); 16640814a2baSmrg#endif 16650814a2baSmrg#endif 16660814a2baSmrg#endif 16670814a2baSmrg 16680814a2baSmrg#if defined (alliant) && defined (i860) 16690814a2baSmrg printf ("i860-alliant-bsd\n"); exit (0); 16700814a2baSmrg#endif 16710814a2baSmrg 16720814a2baSmrg exit (1); 16730814a2baSmrg} 16740814a2baSmrgEOF 16750814a2baSmrg 16760814a2baSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 16770814a2baSmrg { echo "$SYSTEM_NAME"; exit; } 16780814a2baSmrg 16790814a2baSmrg# Apollos put the system type in the environment. 16800814a2baSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 16810814a2baSmrg 16820814a2baSmrgecho "$0: unable to guess system type" >&2 16830814a2baSmrg 16840814a2baSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 16850814a2baSmrg mips:Linux | mips64:Linux) 16860814a2baSmrg # If we got here on MIPS GNU/Linux, output extra information. 16870814a2baSmrg cat >&2 <<EOF 16880814a2baSmrg 16890814a2baSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 16900814a2baSmrgthe system type. Please install a C compiler and try again. 16910814a2baSmrgEOF 16920814a2baSmrg ;; 169376888252Smrgesac 169476888252Smrg 169576888252Smrgcat >&2 <<EOF 169676888252Smrg 16970814a2baSmrgThis script (version $timestamp), has failed to recognize the 16980814a2baSmrgoperating system you are using. If your script is old, overwrite *all* 16990814a2baSmrgcopies of config.guess and config.sub with the latest versions from: 170076888252Smrg 17010814a2baSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 17021ae1b5e8Smrgand 17030814a2baSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 17040814a2baSmrgEOF 170576888252Smrg 17060814a2baSmrgour_year=`echo $timestamp | sed 's,-.*,,'` 17070814a2baSmrgthisyear=`date +%Y` 17080814a2baSmrg# shellcheck disable=SC2003 17090814a2baSmrgscript_age=`expr "$thisyear" - "$our_year"` 17100814a2baSmrgif test "$script_age" -lt 3 ; then 17110814a2baSmrg cat >&2 <<EOF 17120814a2baSmrg 17130814a2baSmrgIf $0 has already been updated, send the following data and any 17140814a2baSmrginformation you think might be pertinent to config-patches@gnu.org to 17150814a2baSmrgprovide the necessary information to handle your system. 171676888252Smrg 171776888252Smrgconfig.guess timestamp = $timestamp 171876888252Smrg 171976888252Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 172076888252Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 172176888252Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 172276888252Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 172376888252Smrg 172476888252Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 172576888252Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 172676888252Smrg 172776888252Smrghostinfo = `(hostinfo) 2>/dev/null` 172876888252Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 172976888252Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 173076888252Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 173176888252Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 173276888252Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 173376888252Smrg 17340814a2baSmrgUNAME_MACHINE = "$UNAME_MACHINE" 17350814a2baSmrgUNAME_RELEASE = "$UNAME_RELEASE" 17360814a2baSmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 17370814a2baSmrgUNAME_VERSION = "$UNAME_VERSION" 173876888252SmrgEOF 17390814a2baSmrgfi 174076888252Smrg 174176888252Smrgexit 1 174276888252Smrg 174376888252Smrg# Local variables: 17440814a2baSmrg# eval: (add-hook 'before-save-hook 'time-stamp) 174576888252Smrg# time-stamp-start: "timestamp='" 174676888252Smrg# time-stamp-format: "%:y-%02m-%02d" 174776888252Smrg# time-stamp-end: "'" 174876888252Smrg# End: 1749