1441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#! /bin/sh 2441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# Attempt to guess a canonical system name. 3441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 5cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng# Free Software Foundation, Inc. 6441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 7cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtimestamp='2008-01-08' 8441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 9441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# This file is free software; you can redistribute it and/or modify it 10441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# under the terms of the GNU General Public License as published by 11441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# the Free Software Foundation; either version 2 of the License, or 12441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# (at your option) any later version. 13441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# 14441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# This program is distributed in the hope that it will be useful, but 15441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# WITHOUT ANY WARRANTY; without even the implied warranty of 16441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# General Public License for more details. 18441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# 19441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# You should have received a copy of the GNU General Public License 20441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# along with this program; if not, write to the Free Software 21cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 22cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng# 02110-1301, USA. 23441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# 24441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# As a special exception to the GNU General Public License, if you 25441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# distribute this file as part of a program that contains a 26441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# configuration script generated by Autoconf, you may include it under 27441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# the same distribution terms that you use for the rest of that program. 28441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 29cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 30441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# Originally written by Per Bothner <per@bothner.com>. 31441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# Please send patches to <config-patches@gnu.org>. Submit a context 32441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# diff and a properly formatted ChangeLog entry. 33441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# 34441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# This script attempts to guess a canonical system name similar to 35441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# config.sub. If it succeeds, it prints the system name on stdout, and 36441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# exits with 0. Otherwise, it exits with 1. 37441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# 38441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# The plan is that this can be called by configure scripts if you 39441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# don't specify an explicit build system type. 40441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 41441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectme=`echo "$0" | sed -e 's,.*/,,'` 42441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 43441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectusage="\ 44441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectUsage: $0 [OPTION] 45441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 46441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectOutput the configuration name of the system \`$me' is run on. 47441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 48441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectOperation modes: 49441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project -h, --help print this help, then exit 50441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project -t, --time-stamp print date of last modification, then exit 51441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project -v, --version print version number, then exit 52441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 53441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectReport bugs and patches to <config-patches@gnu.org>." 54441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 55441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectversion="\ 56441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectGNU config.guess ($timestamp) 57441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 58441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectOriginally written by Per Bothner. 59cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 60cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. 61441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 62441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectThis is free software; see the source for copying conditions. There is NO 63441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 64441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 65441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projecthelp=" 66441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectTry \`$me --help' for more information." 67441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 68441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# Parse command line 69441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectwhile test $# -gt 0 ; do 70441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case $1 in 71441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project --time-stamp | --time* | -t ) 72cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo "$timestamp" ; exit ;; 73441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project --version | -v ) 74cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo "$version" ; exit ;; 75441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project --help | --h* | -h ) 76cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo "$usage"; exit ;; 77441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project -- ) # Stop option processing 78441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project shift; break ;; 79441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project - ) # Use stdin as input. 80441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project break ;; 81441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project -* ) 82441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo "$me: invalid option $1$help" >&2 83441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project exit 1 ;; 84441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project * ) 85441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project break ;; 86441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 87441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectdone 88441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 89441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectif test $# != 0; then 90441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo "$me: too many arguments$help" >&2 91441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project exit 1 92441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectfi 93441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 94441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projecttrap 'exit 1' 1 2 15 95441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 96441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 97441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# compiler to aid in system detection is discouraged as it requires 98441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# temporary files to be created and, as you can see below, it is a 99441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# headache to deal with in a portable fashion. 100441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 101441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 102441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# use `HOST_CC' if defined, but it is deprecated. 103441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 104cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng# Portable tmp directory creation inspired by the Autoconf team. 105441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 106cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengset_cc_for_build=' 107cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 108cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 109cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng: ${TMPDIR=/tmp} ; 110cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 111cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 112cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 113cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 114cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengdummy=$tmp/dummy ; 115cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 116441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase $CC_FOR_BUILD,$HOST_CC,$CC in 117441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ,,) echo "int x;" > $dummy.c ; 118441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project for c in cc gcc c89 c99 ; do 119cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 120441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project CC_FOR_BUILD="$c"; break ; 121441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi ; 122441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project done ; 123441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if test x"$CC_FOR_BUILD" = x ; then 124441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project CC_FOR_BUILD=no_compiler_found ; 125441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 126441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ;; 127441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ,,*) CC_FOR_BUILD=$CC ;; 128441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ,*,*) CC_FOR_BUILD=$HOST_CC ;; 129cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengesac ; set_cc_for_build= ;' 130441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 131441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 132441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# (ghazi@noc.rutgers.edu 1994-08-24) 133441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 134441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project PATH=$PATH:/.attbin ; export PATH 135441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectfi 136441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 137441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 138441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 139441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 140441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 141441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 142441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# Note: order is significant - the case branches are not exclusive. 143441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 144441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 145441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:NetBSD:*:*) 146441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # NetBSD (nbsd) targets should (where applicable) match one or 147441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 148441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 149441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # switched to ELF, *-*-netbsd* would select the old 150441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # object file format. This provides both forward 151441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # compatibility and a consistent mechanism for selecting the 152441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # object file format. 153441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # 154441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Note: NetBSD doesn't particularly care about the vendor 155441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # portion of the name. We always set it to "unknown". 156441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sysctl="sysctl -n hw.machine_arch" 157441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 158441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 159441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case "${UNAME_MACHINE_ARCH}" in 160441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project armeb) machine=armeb-unknown ;; 161441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project arm*) machine=arm-unknown ;; 162441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sh3el) machine=shl-unknown ;; 163441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sh3eb) machine=sh-unknown ;; 164cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng sh5el) machine=sh5le-unknown ;; 165441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 166441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 167441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # The Operating System including object format, if it has switched 168441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # to ELF recently, or will in the future. 169441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case "${UNAME_MACHINE_ARCH}" in 170441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project arm*|i386|m68k|ns32k|sh3*|sparc|vax) 171441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project eval $set_cc_for_build 172441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 173441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project | grep __ELF__ >/dev/null 174441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project then 175441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 176441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Return netbsd for either. FIX? 177441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project os=netbsd 178441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 179441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project os=netbsdelf 180441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 181441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ;; 182441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *) 183441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project os=netbsd 184441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ;; 185441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 186441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # The OS release 187cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # Debian GNU/NetBSD machines have a different userland, and 188cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # thus, need a distinct triplet. However, they do not need 189cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # kernel version information, so it can be replaced with a 190cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # suitable tag, in the style of linux-gnu. 191cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng case "${UNAME_VERSION}" in 192cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Debian*) 193cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng release='-gnu' 194cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng ;; 195cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *) 196cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 197cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng ;; 198cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng esac 199441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 200441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # contains redundant information, the shorter form: 201441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 202441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo "${machine}-${os}${release}" 203cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 204441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:OpenBSD:*:*) 205cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 206cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 207cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 208cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:ekkoBSD:*:*) 209cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 210cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 211cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:SolidBSD:*:*) 212cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 213cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 214cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng macppc:MirBSD:*:*) 215cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo powerpc-unknown-mirbsd${UNAME_RELEASE} 216cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 217cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:MirBSD:*:*) 218cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 219cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 220441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project alpha:OSF1:*:*) 221cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng case $UNAME_RELEASE in 222cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *4.0) 223441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 224cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng ;; 225cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *5.*) 226cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 227cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng ;; 228cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng esac 229cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # According to Compaq, /usr/sbin/psrinfo has been available on 230cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # OSF/1 and Tru64 systems produced since 1995. I hope that 231cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # covers most systems running today. This code pipes the CPU 232cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # types through head -n 1, so we only detect the type of CPU 0. 233cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 234cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng case "$ALPHA_CPU_TYPE" in 235cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV4 (21064)") 236cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alpha" ;; 237cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV4.5 (21064)") 238cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alpha" ;; 239cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "LCA4 (21066/21068)") 240cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alpha" ;; 241cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV5 (21164)") 242cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphaev5" ;; 243cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV5.6 (21164A)") 244cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphaev56" ;; 245cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV5.6 (21164PC)") 246cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphapca56" ;; 247cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV5.7 (21164PC)") 248cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphapca57" ;; 249cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV6 (21264)") 250cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphaev6" ;; 251cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV6.7 (21264A)") 252cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphaev67" ;; 253cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV6.8CB (21264C)") 254cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphaev68" ;; 255cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV6.8AL (21264B)") 256cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphaev68" ;; 257cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV6.8CX (21264D)") 258cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphaev68" ;; 259cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV6.9A (21264/EV69A)") 260cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphaev69" ;; 261cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV7 (21364)") 262cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphaev7" ;; 263cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng "EV7.9 (21364A)") 264cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE="alphaev79" ;; 265cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng esac 266cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # A Pn.n version is a patched version. 267441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # A Vn.n version is a released version. 268441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # A Tn.n version is a released field test version. 269441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # A Xn.n version is an unreleased experimental baselevel. 270441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # 1.2 uses "1.2" for uname -r. 271cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 272cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 273441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project Alpha\ *:Windows_NT*:*) 274441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # How do we know it's Interix rather than the generic POSIX subsystem? 275441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Should we change UNAME_MACHINE based on the output of uname instead 276441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # of the specific Alpha model? 277441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo alpha-pc-interix 278cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 279441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 21064:Windows_NT:50:3) 280441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo alpha-dec-winnt3.5 281cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 282441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project Amiga*:UNIX_System_V:4.0:*) 283441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-unknown-sysv4 284cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 285441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:[Aa]miga[Oo][Ss]:*:*) 286441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-amigaos 287cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 288441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:[Mm]orph[Oo][Ss]:*:*) 289441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-morphos 290cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 291441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:OS/390:*:*) 292441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i370-ibm-openedition 293cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 294cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:z/VM:*:*) 295cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo s390-ibm-zvmoe 296cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 297cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:OS400:*:*) 298cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo powerpc-ibm-os400 299cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 300441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 301441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo arm-acorn-riscix${UNAME_RELEASE} 302cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 303cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng arm:riscos:*:*|arm:RISCOS:*:*) 304cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo arm-unknown-riscos 305cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 306441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 307441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo hppa1.1-hitachi-hiuxmpp 308cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 309441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 310441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 311441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if test "`(/bin/universe) 2>/dev/null`" = att ; then 312441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo pyramid-pyramid-sysv3 313441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 314441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo pyramid-pyramid-bsd 315441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 316cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 317441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project NILE*:*:*:dcosx) 318441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo pyramid-pyramid-svr4 319cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 320cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng DRS?6000:unix:4.0:6*) 321cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo sparc-icl-nx6 322cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 323cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 324441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case `/usr/bin/uname -p` in 325cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng sparc) echo sparc-icl-nx7; exit ;; 326441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac ;; 327441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sun4H:SunOS:5.*:*) 328441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 329cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 330441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 331441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 332cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 333cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 334441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 335cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 336441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sun4*:SunOS:6*:*) 337441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # According to config.sub, this is the proper way to canonicalize 338441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # SunOS6. Hard to guess exactly what SunOS6 will be like, but 339441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # it's likely to be more like Solaris than SunOS4. 340441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 341cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 342441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sun4*:SunOS:*:*) 343441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case "`/usr/bin/arch -k`" in 344441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project Series*|S4*) 345441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_RELEASE=`uname -v` 346441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ;; 347441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 348441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Japanese Language versions have a version number like `4.1.3-JL'. 349441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 350cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 351441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sun3*:SunOS:*:*) 352441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-sun-sunos${UNAME_RELEASE} 353cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 354441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sun*:*:4.2BSD:*) 355441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 356441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 357441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case "`/bin/arch`" in 358441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sun3) 359441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-sun-sunos${UNAME_RELEASE} 360441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ;; 361441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sun4) 362441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sparc-sun-sunos${UNAME_RELEASE} 363441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ;; 364441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 365cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 366441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project aushp:SunOS:*:*) 367441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sparc-auspex-sunos${UNAME_RELEASE} 368cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 369441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # The situation for MiNT is a little confusing. The machine name 370441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # can be virtually everything (everything which is not 371441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # "atarist" or "atariste" at least should have a processor 372441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 373441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # to the lowercase version "mint" (or "freemint"). Finally 374441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # the system name "TOS" denotes a system which is actually not 375441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # MiNT. But MiNT is downward compatible to TOS, so this should 376441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # be no problem. 377441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 378441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-atari-mint${UNAME_RELEASE} 379cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 380441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 381441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-atari-mint${UNAME_RELEASE} 382cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 383441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 384441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-atari-mint${UNAME_RELEASE} 385cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 386441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 387441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-milan-mint${UNAME_RELEASE} 388cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 389441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 390441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-hades-mint${UNAME_RELEASE} 391cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 392441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 393441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-unknown-mint${UNAME_RELEASE} 394cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 395cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng m68k:machten:*:*) 396cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo m68k-apple-machten${UNAME_RELEASE} 397cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 398441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project powerpc:machten:*:*) 399441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc-apple-machten${UNAME_RELEASE} 400cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 401441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project RISC*:Mach:*:*) 402441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-dec-mach_bsd4.3 403cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 404441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project RISC*:ULTRIX:*:*) 405441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-dec-ultrix${UNAME_RELEASE} 406cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 407441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project VAX*:ULTRIX*:*:*) 408441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo vax-dec-ultrix${UNAME_RELEASE} 409cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 410441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 2020:CLIX:*:* | 2430:CLIX:*:*) 411441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo clipper-intergraph-clix${UNAME_RELEASE} 412cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 413441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project mips:*:*:UMIPS | mips:*:*:RISCos) 414441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project eval $set_cc_for_build 415441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sed 's/^ //' << EOF >$dummy.c 416441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef __cplusplus 417441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <stdio.h> /* for printf() prototype */ 418441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project int main (int argc, char *argv[]) { 419441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else 420441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project int main (argc, argv) int argc; char *argv[]; { 421441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 422441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #if defined (host_mips) && defined (MIPSEB) 423441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #if defined (SYSTYPE_SYSV) 424441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 425441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #endif 426441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #if defined (SYSTYPE_SVR4) 427441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 428441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #endif 429441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 430441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 431441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #endif 432441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #endif 433441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project exit (-1); 434441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project } 435441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectEOF 436cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng $CC_FOR_BUILD -o $dummy $dummy.c && 437cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 438cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng SYSTEM_NAME=`$dummy $dummyarg` && 439cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng { echo "$SYSTEM_NAME"; exit; } 440441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-mips-riscos${UNAME_RELEASE} 441cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 442441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project Motorola:PowerMAX_OS:*:*) 443441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc-motorola-powermax 444cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 445441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project Motorola:*:4.3:PL8-*) 446441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc-harris-powermax 447cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 448cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 449441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc-harris-powermax 450cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 451441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project Night_Hawk:Power_UNIX:*:*) 452441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc-harris-powerunix 453cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 454441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project m88k:CX/UX:7*:*) 455441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m88k-harris-cxux7 456cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 457441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project m88k:*:4*:R4*) 458441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m88k-motorola-sysv4 459cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 460441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project m88k:*:3*:R3*) 461441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m88k-motorola-sysv3 462cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 463441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project AViiON:dgux:*:*) 464441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # DG/UX returns AViiON for all architectures 465441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_PROCESSOR=`/usr/bin/uname -p` 466441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 467441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project then 468441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 469441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project [ ${TARGET_BINARY_INTERFACE}x = x ] 470441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project then 471441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m88k-dg-dgux${UNAME_RELEASE} 472441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 473441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m88k-dg-dguxbcs${UNAME_RELEASE} 474441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 475441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 476441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i586-dg-dgux${UNAME_RELEASE} 477441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 478cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 479441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project M88*:DolphinOS:*:*) # DolphinOS (SVR3) 480441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m88k-dolphin-sysv3 481cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 482441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project M88*:*:R3*:*) 483441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Delta 88k system running SVR3 484441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m88k-motorola-sysv3 485cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 486441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 487441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m88k-tektronix-sysv3 488cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 489441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 490441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-tektronix-bsd 491cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 492441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:IRIX*:*:*) 493441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 494cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 495441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 496cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 497cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 498441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*86:AIX:*:*) 499441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i386-ibm-aix 500cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 501441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ia64:AIX:*:*) 502441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if [ -x /usr/bin/oslevel ] ; then 503441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project IBM_REV=`/usr/bin/oslevel` 504441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 505441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 506441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 507441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 508cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 509441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:AIX:2:3) 510441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 511441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project eval $set_cc_for_build 512441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sed 's/^ //' << EOF >$dummy.c 513441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #include <sys/systemcfg.h> 514441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 515441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project main() 516441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project { 517441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if (!__power_pc()) 518441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project exit(1); 519441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project puts("powerpc-ibm-aix3.2.5"); 520441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project exit(0); 521441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project } 522441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectEOF 523cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 524cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng then 525cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo "$SYSTEM_NAME" 526cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng else 527cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo rs6000-ibm-aix3.2.5 528cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng fi 529441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 530441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo rs6000-ibm-aix3.2.4 531441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 532441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo rs6000-ibm-aix3.2 533441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 534cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 535cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:AIX:*:[456]) 536441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 537441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 538441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project IBM_ARCH=rs6000 539441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 540441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project IBM_ARCH=powerpc 541441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 542441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if [ -x /usr/bin/oslevel ] ; then 543441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project IBM_REV=`/usr/bin/oslevel` 544441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 545441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 546441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 547441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${IBM_ARCH}-ibm-aix${IBM_REV} 548cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 549441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:AIX:*:*) 550441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo rs6000-ibm-aix 551cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 552441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ibmrt:4.4BSD:*|romp-ibm:BSD:*) 553441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo romp-ibm-bsd4.4 554cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 555441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 556441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 557cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; # report: romp-ibm BSD 4.3 558441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:BOSX:*:*) 559441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo rs6000-bull-bosx 560cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 561441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project DPX/2?00:B.O.S.:*:*) 562441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-bull-sysv3 563cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 564441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 9000/[34]??:4.3bsd:1.*:*) 565441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-hp-bsd 566cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 567441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 568441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-hp-bsd4.4 569cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 570441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 9000/[34678]??:HP-UX:*:*) 571441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 572441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case "${UNAME_MACHINE}" in 573441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 9000/31? ) HP_ARCH=m68000 ;; 574441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 9000/[34]?? ) HP_ARCH=m68k ;; 575441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 9000/[678][0-9][0-9]) 576441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if [ -x /usr/bin/getconf ]; then 577441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 578441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 579441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case "${sc_cpu_version}" in 580441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 581441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 582441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 532) # CPU_PA_RISC2_0 583441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case "${sc_kernel_bits}" in 584441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 32) HP_ARCH="hppa2.0n" ;; 585441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 64) HP_ARCH="hppa2.0w" ;; 586441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 587441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac ;; 588441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 589441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 590441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if [ "${HP_ARCH}" = "" ]; then 591441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project eval $set_cc_for_build 592441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sed 's/^ //' << EOF >$dummy.c 593441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 594441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #define _HPUX_SOURCE 595441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #include <stdlib.h> 596441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #include <unistd.h> 597441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 598441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project int main () 599441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project { 600441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #if defined(_SC_KERNEL_BITS) 601441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project long bits = sysconf(_SC_KERNEL_BITS); 602441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #endif 603441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project long cpu = sysconf (_SC_CPU_VERSION); 604441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 605441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project switch (cpu) 606441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project { 607441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 608441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 609441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case CPU_PA_RISC2_0: 610441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #if defined(_SC_KERNEL_BITS) 611441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project switch (bits) 612441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project { 613441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case 64: puts ("hppa2.0w"); break; 614441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case 32: puts ("hppa2.0n"); break; 615441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project default: puts ("hppa2.0"); break; 616441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project } break; 617441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #else /* !defined(_SC_KERNEL_BITS) */ 618441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project puts ("hppa2.0"); break; 619441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #endif 620441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project default: puts ("hppa1.0"); break; 621441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project } 622441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project exit (0); 623441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project } 624441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectEOF 625cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 626cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng test -z "$HP_ARCH" && HP_ARCH=hppa 627441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi ;; 628441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 629cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng if [ ${HP_ARCH} = "hppa2.0w" ] 630cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng then 631cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng eval $set_cc_for_build 632cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 633cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 634cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 635cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # generating 64-bit code. GNU and HP use different nomenclature: 636cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # 637cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # $ CC_FOR_BUILD=cc ./config.guess 638cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # => hppa2.0w-hp-hpux11.23 639cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 640cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # => hppa64-hp-hpux11.23 641cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 642cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 643cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng grep __LP64__ >/dev/null 644cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng then 645cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng HP_ARCH="hppa2.0w" 646cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng else 647cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng HP_ARCH="hppa64" 648cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng fi 649cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng fi 650441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${HP_ARCH}-hp-hpux${HPUX_REV} 651cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 652441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ia64:HP-UX:*:*) 653441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 654441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ia64-hp-hpux${HPUX_REV} 655cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 656441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 3050*:HI-UX:*:*) 657441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project eval $set_cc_for_build 658441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sed 's/^ //' << EOF >$dummy.c 659441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #include <unistd.h> 660441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project int 661441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project main () 662441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project { 663441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project long cpu = sysconf (_SC_CPU_VERSION); 664441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project /* The order matters, because CPU_IS_HP_MC68K erroneously returns 665441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 666441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project results, however. */ 667441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if (CPU_IS_PA_RISC (cpu)) 668441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project { 669441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project switch (cpu) 670441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project { 671441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 672441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 673441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 674441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project default: puts ("hppa-hitachi-hiuxwe2"); break; 675441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project } 676441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project } 677441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else if (CPU_IS_HP_MC68K (cpu)) 678441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project puts ("m68k-hitachi-hiuxwe2"); 679441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else puts ("unknown-hitachi-hiuxwe2"); 680441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project exit (0); 681441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project } 682441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectEOF 683cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 684cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng { echo "$SYSTEM_NAME"; exit; } 685441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo unknown-hitachi-hiuxwe2 686cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 687441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 688441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo hppa1.1-hp-bsd 689cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 690441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 9000/8??:4.3bsd:*:*) 691441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo hppa1.0-hp-bsd 692cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 693441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 694441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo hppa1.0-hp-mpeix 695cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 696441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 697441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo hppa1.1-hp-osf 698cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 699441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project hp8??:OSF1:*:*) 700441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo hppa1.0-hp-osf 701cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 702441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*86:OSF1:*:*) 703441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if [ -x /usr/sbin/sysversion ] ; then 704441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-osf1mk 705441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 706441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-osf1 707441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 708cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 709441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project parisc*:Lites*:*:*) 710441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo hppa1.1-hp-lites 711cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 712441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 713441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo c1-convex-bsd 714cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 715441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 716441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if getsysinfo -f scalar_acc 717441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project then echo c32-convex-bsd 718441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else echo c2-convex-bsd 719441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 720cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 721441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 722441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo c34-convex-bsd 723cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 724441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 725441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo c38-convex-bsd 726cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 727441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 728441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo c4-convex-bsd 729cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 730441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project CRAY*Y-MP:*:*:*) 731441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 732cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 733441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project CRAY*[A-Z]90:*:*:*) 734441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 735441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 736441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 737441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project -e 's/\.[^.]*$/.X/' 738cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 739441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project CRAY*TS:*:*:*) 740441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 741cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 742441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project CRAY*T3E:*:*:*) 743441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 744cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 745441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project CRAY*SV1:*:*:*) 746441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 747cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 748cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:UNICOS/mp:*:*) 749cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 750cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 751441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 752441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 753441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 754441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 755441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 756cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 757cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 5000:UNIX_System_V:4.*:*) 758cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 759cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 760cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 761cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 762441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 763441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 764cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 765441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sparc*:BSD/OS:*:*) 766441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sparc-unknown-bsdi${UNAME_RELEASE} 767cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 768441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:BSD/OS:*:*) 769441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 770cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 771441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:FreeBSD:*:*) 772cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng case ${UNAME_MACHINE} in 773cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng pc98) 774cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 775cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng amd64) 776cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 777cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *) 778cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 779cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng esac 780cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 781441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*:CYGWIN*:*) 782441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-cygwin 783cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 784cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:MINGW*:*) 785441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-mingw32 786cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 787cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*:windows32*:*) 788cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # uname -m includes "-pc" on this system. 789cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-mingw32 790cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 791441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*:PW*:*) 792441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-pw32 793cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 794cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:Interix*:[3456]*) 795cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng case ${UNAME_MACHINE} in 796cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng x86) 797cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo i586-pc-interix${UNAME_RELEASE} 798cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 799cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng EM64T | authenticamd) 800cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo x86_64-unknown-interix${UNAME_RELEASE} 801cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 802cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng IA64) 803cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ia64-unknown-interix${UNAME_RELEASE} 804cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 805cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng esac ;; 806cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 807cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo i${UNAME_MACHINE}-pc-mks 808cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 809441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 810441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # How do we know it's Interix rather than the generic POSIX subsystem? 811441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 812441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # UNAME_MACHINE based on the output of uname instead of i386? 813cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo i586-pc-interix 814cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 815441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*:UWIN*:*) 816441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-uwin 817cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 818cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 819cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo x86_64-unknown-cygwin 820cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 821441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project p*:CYGWIN*:*) 822441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpcle-unknown-cygwin 823cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 824441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project prep*:SunOS:5.*:*) 825441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 826cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 827441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:GNU:*:*) 828cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # the GNU system 829441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 830cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 831cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:GNU/*:*:*) 832cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # other systems with GNU libc and userland 833cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 834cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 835441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*86:Minix:*:*) 836441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-minix 837cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 838441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project arm*:Linux:*:*) 839cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng eval $set_cc_for_build 840cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 841cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng | grep -q __ARM_EABI__ 842cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng then 843cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-linux-gnu 844cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng else 845cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-linux-gnueabi 846cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng fi 847cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 848cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng avr32*:Linux:*:*) 849441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-linux-gnu 850cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 851cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng cris:Linux:*:*) 852cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo cris-axis-linux-gnu 853cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 854cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng crisv32:Linux:*:*) 855cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo crisv32-axis-linux-gnu 856cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 857cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng frv:Linux:*:*) 858cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo frv-unknown-linux-gnu 859cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 860441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ia64:Linux:*:*) 861441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-linux-gnu 862cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 863cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng m32r*:Linux:*:*) 864cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-linux-gnu 865cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 866441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project m68*:Linux:*:*) 867441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-linux-gnu 868cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 869441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project mips:Linux:*:*) 870441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project eval $set_cc_for_build 871441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sed 's/^ //' << EOF >$dummy.c 872441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #undef CPU 873441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #undef mips 874441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #undef mipsel 875441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 876441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project CPU=mipsel 877441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #else 878441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 879441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project CPU=mips 880441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #else 881441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project CPU= 882441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #endif 883441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #endif 884441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectEOF 885cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 886cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng /^CPU/{ 887cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng s: ::g 888cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng p 889cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng }'`" 890cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 891cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng ;; 892cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng mips64:Linux:*:*) 893cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng eval $set_cc_for_build 894cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng sed 's/^ //' << EOF >$dummy.c 895cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #undef CPU 896cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #undef mips64 897cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #undef mips64el 898cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 899cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng CPU=mips64el 900cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #else 901cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 902cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng CPU=mips64 903cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #else 904cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng CPU= 905cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #endif 906cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #endif 907cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben ChengEOF 908cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 909cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng /^CPU/{ 910cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng s: ::g 911cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng p 912cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng }'`" 913cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 914441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ;; 915cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng or32:Linux:*:*) 916cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo or32-unknown-linux-gnu 917cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 918441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ppc:Linux:*:*) 919441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc-unknown-linux-gnu 920cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 921441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ppc64:Linux:*:*) 922441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc64-unknown-linux-gnu 923cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 924441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project alpha:Linux:*:*) 925441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 926441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project EV5) UNAME_MACHINE=alphaev5 ;; 927441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project EV56) UNAME_MACHINE=alphaev56 ;; 928441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project PCA56) UNAME_MACHINE=alphapca56 ;; 929441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project PCA57) UNAME_MACHINE=alphapca56 ;; 930441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project EV6) UNAME_MACHINE=alphaev6 ;; 931441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project EV67) UNAME_MACHINE=alphaev67 ;; 932441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project EV68*) UNAME_MACHINE=alphaev68 ;; 933441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 934441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 935441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 936441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 937cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 938441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project parisc:Linux:*:* | hppa:Linux:*:*) 939441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Look for CPU level 940441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 941441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project PA7*) echo hppa1.1-unknown-linux-gnu ;; 942441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project PA8*) echo hppa2.0-unknown-linux-gnu ;; 943441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *) echo hppa-unknown-linux-gnu ;; 944441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 945cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 946441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project parisc64:Linux:*:* | hppa64:Linux:*:*) 947441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo hppa64-unknown-linux-gnu 948cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 949441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project s390:Linux:*:* | s390x:Linux:*:*) 950441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-ibm-linux 951cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 952cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng sh64*:Linux:*:*) 953cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-linux-gnu 954cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 955441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sh*:Linux:*:*) 956441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-linux-gnu 957cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 958441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sparc:Linux:*:* | sparc64:Linux:*:*) 959441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-linux-gnu 960cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 961cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng vax:Linux:*:*) 962cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-dec-linux-gnu 963cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 964441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project x86_64:Linux:*:*) 965441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo x86_64-unknown-linux-gnu 966cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 967cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng xtensa*:Linux:*:*) 968cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-linux-gnu 969cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 970441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*86:Linux:*:*) 971441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # The BFD linker knows what the default object file format is, so 972441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # first see if it will tell us. cd to the root directory to prevent 973441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # problems with other programs or directories called `ld' in the path. 974441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Set LC_ALL=C to ensure ld outputs messages in English. 975441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ 976441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project | sed -ne '/supported targets:/!d 977441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project s/[ ][ ]*/ /g 978441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project s/.*supported targets: *// 979441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project s/ .*// 980441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project p'` 981441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case "$ld_supported_targets" in 982441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project elf32-i386) 983441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 984441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ;; 985441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project a.out-i386-linux) 986441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo "${UNAME_MACHINE}-pc-linux-gnuaout" 987cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 988441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project coff-i386) 989441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo "${UNAME_MACHINE}-pc-linux-gnucoff" 990cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 991441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project "") 992441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Either a pre-BFD a.out linker (linux-gnuoldld) or 993441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # one that does not give us useful --help. 994441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 995cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 996441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 997441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Determine whether the default compiler is a.out or elf 998441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project eval $set_cc_for_build 999441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project sed 's/^ //' << EOF >$dummy.c 1000441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #include <features.h> 1001441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #ifdef __ELF__ 1002441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # ifdef __GLIBC__ 1003441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # if __GLIBC__ >= 2 1004441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project LIBC=gnu 1005441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # else 1006441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project LIBC=gnulibc1 1007441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # endif 1008441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # else 1009441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project LIBC=gnulibc1 1010441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # endif 1011441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #else 1012cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) 1013441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project LIBC=gnu 1014441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #else 1015441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project LIBC=gnuaout 1016441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #endif 1017441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project #endif 1018cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #ifdef __dietlibc__ 1019cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng LIBC=dietlibc 1020cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng #endif 1021441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectEOF 1022cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 1023cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng /^LIBC/{ 1024cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng s: ::g 1025cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng p 1026cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng }'`" 1027cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng test x"${LIBC}" != x && { 1028cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 1029cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit 1030cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng } 1031cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } 1032441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ;; 1033441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*86:DYNIX/ptx:4*:*) 1034441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1035441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # earlier versions are messed up and put the nodename in both 1036441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # sysname and nodename. 1037441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i386-sequent-sysv4 1038cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1039441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*86:UNIX_SV:4.2MP:2.*) 1040441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Unixware is an offshoot of SVR4, but it has its own version 1041441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # number series starting with 2... 1042441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # I am not positive that other SVR4 systems won't match this, 1043441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # I just have to hope. -- rms. 1044441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Use sysv4.2uw... so that sysv4* matches it. 1045441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 1046cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1047cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*86:OS/2:*:*) 1048cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # If we were able to find `uname', then EMX Unix compatibility 1049cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # is probably installed. 1050cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-pc-os2-emx 1051cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1052cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*86:XTS-300:*:STOP) 1053cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-stop 1054cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1055cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*86:atheos:*:*) 1056cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-atheos 1057cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1058cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*86:syllable:*:*) 1059cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-pc-syllable 1060cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1061cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 1062cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo i386-unknown-lynxos${UNAME_RELEASE} 1063cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1064cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*86:*DOS:*:*) 1065cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-pc-msdosdjgpp 1066cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1067441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 1068441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 1069441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1070441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 1071441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 1072441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 1073441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 1074cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1075cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*86:*:5:[678]*) 1076cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # UnixWare 7.x, OpenUNIX and OpenServer 6. 1077441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case `/bin/uname -X | grep "^Machine"` in 1078441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *486*) UNAME_MACHINE=i486 ;; 1079441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *Pentium) UNAME_MACHINE=i586 ;; 1080441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1081441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 1082441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1083cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1084441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i*86:*:3.2:*) 1085441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if test -f /usr/options/cb.name; then 1086441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1087441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 1088441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project elif /bin/uname -X 2>/dev/null >/dev/null ; then 1089441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1090441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1091441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1092441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project && UNAME_MACHINE=i586 1093441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1094441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project && UNAME_MACHINE=i686 1095441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1096441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project && UNAME_MACHINE=i686 1097441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 1098441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 1099441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-pc-sysv32 1100441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 1101cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1102441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project pc:*:*:*) 1103441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # Left here for compatibility: 1104441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # uname -m prints for DJGPP always 'pc', but it prints nothing about 1105441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # the processor, so we play safe by assuming i386. 1106441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i386-pc-msdosdjgpp 1107cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1108441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project Intel:Mach:3*:*) 1109441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i386-pc-mach3 1110cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1111441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project paragon:*:*:*) 1112441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i860-intel-osf1 1113cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1114441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project i860:*:4.*:*) # i860-SVR4 1115441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1116441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 1117441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else # Add other i860-SVR4 vendors below as they are discovered. 1118441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1119441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 1120cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1121441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project mini*:CTIX:SYS*5:*) 1122441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # "miniframe" 1123441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68010-convergent-sysv 1124cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1125441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project mc68k:UNIX:SYSTEM5:3.51m) 1126441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-convergent-sysv 1127cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1128cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng M680?0:D-NIX:5.3:*) 1129cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo m68k-diab-dnix 1130cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1131cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng M68*:*:R3V[5678]*:*) 1132cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1133cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng 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) 1134441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project OS_REL='' 1135441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project test -r /etc/.relid \ 1136441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1137441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1138cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1139441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1140cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1141441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1142441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1143cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng && { echo i486-ncr-sysv4; exit; } ;; 1144441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1145441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-unknown-lynxos${UNAME_RELEASE} 1146cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1147441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project mc68030:UNIX_System_V:4.*:*) 1148441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-atari-sysv4 1149cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1150441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project TSUNAMI:LynxOS:2.*:*) 1151441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sparc-unknown-lynxos${UNAME_RELEASE} 1152cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1153441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project rs6000:LynxOS:2.*:*) 1154441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo rs6000-unknown-lynxos${UNAME_RELEASE} 1155cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1156441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 1157441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc-unknown-lynxos${UNAME_RELEASE} 1158cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1159441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project SM[BE]S:UNIX_SV:*:*) 1160441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-dde-sysv${UNAME_RELEASE} 1161cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1162441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project RM*:ReliantUNIX-*:*:*) 1163441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-sni-sysv4 1164cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1165441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project RM*:SINIX-*:*:*) 1166441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-sni-sysv4 1167cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1168441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:SINIX-*:*:*) 1169441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if uname -p 2>/dev/null >/dev/null ; then 1170441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_MACHINE=`(uname -p) 2>/dev/null` 1171441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-sni-sysv4 1172441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 1173441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ns32k-sni-sysv 1174441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 1175cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1176441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1177441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # says <Richard.M.Bartel@ccMail.Census.GOV> 1178441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i586-unisys-sysv4 1179cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1180441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:UNIX_System_V:4*:FTX*) 1181441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # From Gerald Hewes <hewes@openmarket.com>. 1182441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # How about differentiating between stratus architectures? -djm 1183441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo hppa1.1-stratus-sysv4 1184cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1185441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:*:*:FTX*) 1186441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # From seanf@swdc.stratus.com. 1187441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i860-stratus-sysv4 1188cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1189cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*86:VOS:*:*) 1190cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng # From Paul.Green@stratus.com. 1191cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-stratus-vos 1192cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1193441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:VOS:*:*) 1194441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # From Paul.Green@stratus.com. 1195441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo hppa1.1-stratus-vos 1196cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1197441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project mc68*:A/UX:*:*) 1198441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo m68k-apple-aux${UNAME_RELEASE} 1199cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1200441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project news*:NEWS-OS:6*:*) 1201441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-sony-newsos6 1202cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1203441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1204441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if [ -d /usr/nec ]; then 1205441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-nec-sysv${UNAME_RELEASE} 1206441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 1207441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-unknown-sysv${UNAME_RELEASE} 1208441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 1209cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1210441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1211441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc-be-beos 1212cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1213441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1214441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc-apple-beos 1215cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1216441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1217441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i586-pc-beos 1218cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1219441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project SX-4:SUPER-UX:*:*) 1220441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sx4-nec-superux${UNAME_RELEASE} 1221cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1222441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project SX-5:SUPER-UX:*:*) 1223441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sx5-nec-superux${UNAME_RELEASE} 1224cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1225441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project SX-6:SUPER-UX:*:*) 1226441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo sx6-nec-superux${UNAME_RELEASE} 1227cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1228cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng SX-7:SUPER-UX:*:*) 1229cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo sx7-nec-superux${UNAME_RELEASE} 1230cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1231cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng SX-8:SUPER-UX:*:*) 1232cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo sx8-nec-superux${UNAME_RELEASE} 1233cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1234cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng SX-8R:SUPER-UX:*:*) 1235cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo sx8r-nec-superux${UNAME_RELEASE} 1236cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1237441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project Power*:Rhapsody:*:*) 1238441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo powerpc-apple-rhapsody${UNAME_RELEASE} 1239cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1240441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:Rhapsody:*:*) 1241441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1242cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1243441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:Darwin:*:*) 1244cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1245cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng case $UNAME_PROCESSOR in 1246cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng unknown) UNAME_PROCESSOR=powerpc ;; 1247cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng esac 1248cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1249cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1250441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:procnto*:*:* | *:QNX:[0123456789]*:*) 1251441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_PROCESSOR=`uname -p` 1252441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if test "$UNAME_PROCESSOR" = "x86"; then 1253441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_PROCESSOR=i386 1254441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_MACHINE=pc 1255441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 1256441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1257cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1258441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:QNX:*:4*) 1259441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo i386-pc-qnx 1260cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1261cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng NSE-?:NONSTOP_KERNEL:*:*) 1262cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo nse-tandem-nsk${UNAME_RELEASE} 1263cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1264cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng NSR-?:NONSTOP_KERNEL:*:*) 1265441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo nsr-tandem-nsk${UNAME_RELEASE} 1266cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1267441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:NonStop-UX:*:*) 1268441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo mips-compaq-nonstopux 1269cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1270441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project BS2000:POSIX*:*:*) 1271441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo bs2000-siemens-sysv 1272cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1273441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project DS/*:UNIX_System_V:*:*) 1274441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1275cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1276441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:Plan9:*:*) 1277441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # "uname -m" is not consistent, so use $cputype instead. 386 1278441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # is converted to i386 for consistency with other x86 1279441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project # operating systems. 1280441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if test "$cputype" = "386"; then 1281441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_MACHINE=i386 1282441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 1283441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project UNAME_MACHINE="$cputype" 1284441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 1285441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo ${UNAME_MACHINE}-unknown-plan9 1286cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1287441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:TOPS-10:*:*) 1288441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo pdp10-unknown-tops10 1289cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1290441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:TENEX:*:*) 1291441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo pdp10-unknown-tenex 1292cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1293441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1294441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo pdp10-dec-tops20 1295cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1296441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1297441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo pdp10-xkl-tops20 1298cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1299441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:TOPS-20:*:*) 1300441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo pdp10-unknown-tops20 1301cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1302441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project *:ITS:*:*) 1303441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo pdp10-unknown-its 1304cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1305cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng SEI:*:*:SEIUX) 1306cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo mips-sei-seiux${UNAME_RELEASE} 1307cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1308cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:DragonFly:*:*) 1309cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1310cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1311cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:*VMS:*:*) 1312cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng UNAME_MACHINE=`(uname -p) 2>/dev/null` 1313cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng case "${UNAME_MACHINE}" in 1314cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng A*) echo alpha-dec-vms ; exit ;; 1315cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng I*) echo ia64-dec-vms ; exit ;; 1316cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng V*) echo vax-dec-vms ; exit ;; 1317cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng esac ;; 1318cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng *:XENIX:*:SysV) 1319cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo i386-pc-xenix 1320cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1321cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*86:skyos:*:*) 1322cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1323cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1324cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng i*86:rdos:*:*) 1325cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng echo ${UNAME_MACHINE}-pc-rdos 1326cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1327441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectesac 1328441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1329441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#echo '(No uname command or uname output not recognized.)' 1>&2 1330441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 1331441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1332441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projecteval $set_cc_for_build 1333441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcat >$dummy.c <<EOF 1334441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef _SEQUENT_ 1335441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# include <sys/types.h> 1336441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# include <sys/utsname.h> 1337441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1338441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectmain () 1339441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project{ 1340441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (sony) 1341441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (MIPSEB) 1342441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1343441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project I don't know.... */ 1344441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("mips-sony-bsd\n"); exit (0); 1345441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else 1346441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#include <sys/param.h> 1347441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("m68k-sony-newsos%s\n", 1348441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#ifdef NEWSOS4 1349441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project "4" 1350441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else 1351441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project "" 1352441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1353441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project ); exit (0); 1354441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1355441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1356441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1357441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (__arm) && defined (__acorn) && defined (__unix) 1358cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng printf ("arm-acorn-riscix\n"); exit (0); 1359441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1360441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1361441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (hp300) && !defined (hpux) 1362441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("m68k-hp-bsd\n"); exit (0); 1363441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1364441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1365441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (NeXT) 1366441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if !defined (__ARCHITECTURE__) 1367441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#define __ARCHITECTURE__ "m68k" 1368441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1369441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project int version; 1370441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1371441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if (version < 4) 1372441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1373441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else 1374441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1375441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project exit (0); 1376441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1377441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1378441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (MULTIMAX) || defined (n16) 1379441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (UMAXV) 1380441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("ns32k-encore-sysv\n"); exit (0); 1381441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else 1382441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (CMU) 1383441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("ns32k-encore-mach\n"); exit (0); 1384441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#else 1385441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("ns32k-encore-bsd\n"); exit (0); 1386441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1387441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1388441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1389441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1390441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (__386BSD__) 1391441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("i386-pc-bsd\n"); exit (0); 1392441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1393441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1394441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (sequent) 1395441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (i386) 1396441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("i386-sequent-dynix\n"); exit (0); 1397441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1398441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (ns32000) 1399441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("ns32k-sequent-dynix\n"); exit (0); 1400441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1401441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1402441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1403441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (_SEQUENT_) 1404441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project struct utsname un; 1405441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1406441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project uname(&un); 1407441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1408441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if (strncmp(un.version, "V2", 2) == 0) { 1409441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("i386-sequent-ptx2\n"); exit (0); 1410441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project } 1411441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1412441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("i386-sequent-ptx1\n"); exit (0); 1413441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project } 1414441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("i386-sequent-ptx\n"); exit (0); 1415441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1416441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1417441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1418441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (vax) 1419441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# if !defined (ultrix) 1420441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# include <sys/param.h> 1421441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# if defined (BSD) 1422441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# if BSD == 43 1423441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("vax-dec-bsd4.3\n"); exit (0); 1424441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# else 1425441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# if BSD == 199006 1426441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("vax-dec-bsd4.3reno\n"); exit (0); 1427441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# else 1428441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("vax-dec-bsd\n"); exit (0); 1429441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# endif 1430441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# endif 1431441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# else 1432441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("vax-dec-bsd\n"); exit (0); 1433441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# endif 1434441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# else 1435441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("vax-dec-ultrix\n"); exit (0); 1436441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# endif 1437441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1438441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1439441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#if defined (alliant) && defined (i860) 1440441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project printf ("i860-alliant-bsd\n"); exit (0); 1441441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project#endif 1442441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1443441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project exit (1); 1444441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project} 1445441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectEOF 1446441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1447cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1448cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng { echo "$SYSTEM_NAME"; exit; } 1449441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1450441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# Apollos put the system type in the environment. 1451441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1452cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 1453441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1454441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# Convex versions that predate uname can use getsysinfo(1) 1455441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1456441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectif [ -x /usr/convex/getsysinfo ] 1457441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectthen 1458441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project case `getsysinfo -f cpu_type` in 1459441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project c1*) 1460441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo c1-convex-bsd 1461cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1462441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project c2*) 1463441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project if getsysinfo -f scalar_acc 1464441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project then echo c32-convex-bsd 1465441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project else echo c2-convex-bsd 1466441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project fi 1467cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1468441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project c34*) 1469441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo c34-convex-bsd 1470cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1471441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project c38*) 1472441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo c38-convex-bsd 1473cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1474441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project c4*) 1475441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project echo c4-convex-bsd 1476cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng exit ;; 1477441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project esac 1478441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectfi 1479441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1480441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectcat >&2 <<EOF 1481441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project$0: unable to guess system type 1482441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1483441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectThis script, last modified $timestamp, has failed to recognize 1484441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectthe operating system you are using. It is advised that you 1485441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectdownload the most up to date version of the config scripts from 1486441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1487cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess 1488cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Chengand 1489cc6695e2684ce93cdf8bd2da63d55d2cf49ff076Ben Cheng http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub 1490441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1491441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectIf the version you run ($0) is already up to date, please 1492441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectsend the following data and any information you think might be 1493441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectpertinent to <config-patches@gnu.org> in order to provide the needed 1494441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectinformation to handle your system. 1495441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1496441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectconfig.guess timestamp = $timestamp 1497441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1498441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectuname -m = `(uname -m) 2>/dev/null || echo unknown` 1499441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectuname -r = `(uname -r) 2>/dev/null || echo unknown` 1500441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectuname -s = `(uname -s) 2>/dev/null || echo unknown` 1501441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectuname -v = `(uname -v) 2>/dev/null || echo unknown` 1502441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1503441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1504441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1505441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1506441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projecthostinfo = `(hostinfo) 2>/dev/null` 1507441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/bin/universe = `(/bin/universe) 2>/dev/null` 1508441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1509441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/bin/arch = `(/bin/arch) 2>/dev/null` 1510441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1511441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1512441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1513441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectUNAME_MACHINE = ${UNAME_MACHINE} 1514441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectUNAME_RELEASE = ${UNAME_RELEASE} 1515441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectUNAME_SYSTEM = ${UNAME_SYSTEM} 1516441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectUNAME_VERSION = ${UNAME_VERSION} 1517441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source ProjectEOF 1518441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1519441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Projectexit 1 1520441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project 1521441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# Local variables: 1522441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# eval: (add-hook 'write-file-hooks 'time-stamp) 1523441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# time-stamp-start: "timestamp='" 1524441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# time-stamp-format: "%:y-%02m-%02d" 1525441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# time-stamp-end: "'" 1526441f72d43a9b550baa779fc82f70816da5f74f0eThe Android Open Source Project# End: 1527