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