xref: /freebsd/contrib/ncurses/config.guess (revision 0e3d540892016a47f6a68ec9ba2879d35ce5f7c2)
10e3d5408SPeter Wemm#! /bin/sh
20e3d5408SPeter Wemm# Attempt to guess a canonical system name.
30e3d5408SPeter Wemm#   Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
40e3d5408SPeter Wemm#
50e3d5408SPeter Wemm# This file is free software; you can redistribute it and/or modify it
60e3d5408SPeter Wemm# under the terms of the GNU General Public License as published by
70e3d5408SPeter Wemm# the Free Software Foundation; either version 2 of the License, or
80e3d5408SPeter Wemm# (at your option) any later version.
90e3d5408SPeter Wemm#
100e3d5408SPeter Wemm# This program is distributed in the hope that it will be useful, but
110e3d5408SPeter Wemm# WITHOUT ANY WARRANTY; without even the implied warranty of
120e3d5408SPeter Wemm# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
130e3d5408SPeter Wemm# General Public License for more details.
140e3d5408SPeter Wemm#
150e3d5408SPeter Wemm# You should have received a copy of the GNU General Public License
160e3d5408SPeter Wemm# along with this program; if not, write to the Free Software
170e3d5408SPeter Wemm# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
180e3d5408SPeter Wemm#
190e3d5408SPeter Wemm# As a special exception to the GNU General Public License, if you
200e3d5408SPeter Wemm# distribute this file as part of a program that contains a
210e3d5408SPeter Wemm# configuration script generated by Autoconf, you may include it under
220e3d5408SPeter Wemm# the same distribution terms that you use for the rest of that program.
230e3d5408SPeter Wemm
240e3d5408SPeter Wemm# Written by Per Bothner <bothner@cygnus.com>.
250e3d5408SPeter Wemm# The master version of this file is at the FSF in /home/gd/gnu/lib.
260e3d5408SPeter Wemm#
270e3d5408SPeter Wemm# This script attempts to guess a canonical system name similar to
280e3d5408SPeter Wemm# config.sub.  If it succeeds, it prints the system name on stdout, and
290e3d5408SPeter Wemm# exits with 0.  Otherwise, it exits with 1.
300e3d5408SPeter Wemm#
310e3d5408SPeter Wemm# The plan is that this can be called by configure scripts if you
320e3d5408SPeter Wemm# don't specify an explicit system type (host/target name).
330e3d5408SPeter Wemm#
340e3d5408SPeter Wemm# Only a few systems have been added to this list; please add others
350e3d5408SPeter Wemm# (but try to keep the structure clean).
360e3d5408SPeter Wemm#
370e3d5408SPeter Wemm
380e3d5408SPeter Wemm# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
390e3d5408SPeter Wemm# (ghazi@noc.rutgers.edu 8/24/94.)
400e3d5408SPeter Wemmif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
410e3d5408SPeter Wemm	PATH=$PATH:/.attbin ; export PATH
420e3d5408SPeter Wemmfi
430e3d5408SPeter Wemm
440e3d5408SPeter WemmUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
450e3d5408SPeter WemmUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
460e3d5408SPeter WemmUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
470e3d5408SPeter WemmUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
480e3d5408SPeter Wemm
490e3d5408SPeter Wemmtrap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
500e3d5408SPeter Wemm
510e3d5408SPeter Wemm# Note: order is significant - the case branches are not exclusive.
520e3d5408SPeter Wemm
530e3d5408SPeter Wemmcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
540e3d5408SPeter Wemm    alpha:OSF1:*:*)
550e3d5408SPeter Wemm	if test $UNAME_RELEASE = "V4.0"; then
560e3d5408SPeter Wemm		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
570e3d5408SPeter Wemm	fi
580e3d5408SPeter Wemm	# A Vn.n version is a released version.
590e3d5408SPeter Wemm	# A Tn.n version is a released field test version.
600e3d5408SPeter Wemm	# A Xn.n version is an unreleased experimental baselevel.
610e3d5408SPeter Wemm	# 1.2 uses "1.2" for uname -r.
620e3d5408SPeter Wemm	cat <<EOF >dummy.s
630e3d5408SPeter Wemm	.globl main
640e3d5408SPeter Wemm	.ent main
650e3d5408SPeter Wemmmain:
660e3d5408SPeter Wemm	.frame \$30,0,\$26,0
670e3d5408SPeter Wemm	.prologue 0
680e3d5408SPeter Wemm	.long 0x47e03d80 # implver $0
690e3d5408SPeter Wemm	lda \$2,259
700e3d5408SPeter Wemm	.long 0x47e20c21 # amask $2,$1
710e3d5408SPeter Wemm	srl \$1,8,\$2
720e3d5408SPeter Wemm	sll \$2,2,\$2
730e3d5408SPeter Wemm	sll \$0,3,\$0
740e3d5408SPeter Wemm	addl \$1,\$0,\$0
750e3d5408SPeter Wemm	addl \$2,\$0,\$0
760e3d5408SPeter Wemm	ret \$31,(\$26),1
770e3d5408SPeter Wemm	.end main
780e3d5408SPeter WemmEOF
790e3d5408SPeter Wemm	${CC-cc} dummy.s -o dummy 2>/dev/null
800e3d5408SPeter Wemm	if test "$?" = 0 ; then
810e3d5408SPeter Wemm		./dummy
820e3d5408SPeter Wemm		case "$?" in
830e3d5408SPeter Wemm			7)
840e3d5408SPeter Wemm				UNAME_MACHINE="alpha"
850e3d5408SPeter Wemm				;;
860e3d5408SPeter Wemm			15)
870e3d5408SPeter Wemm				UNAME_MACHINE="alphaev5"
880e3d5408SPeter Wemm				;;
890e3d5408SPeter Wemm			14)
900e3d5408SPeter Wemm				UNAME_MACHINE="alphaev56"
910e3d5408SPeter Wemm				;;
920e3d5408SPeter Wemm			10)
930e3d5408SPeter Wemm				UNAME_MACHINE="alphapca56"
940e3d5408SPeter Wemm				;;
950e3d5408SPeter Wemm			16)
960e3d5408SPeter Wemm				UNAME_MACHINE="alphaev6"
970e3d5408SPeter Wemm				;;
980e3d5408SPeter Wemm		esac
990e3d5408SPeter Wemm	fi
1000e3d5408SPeter Wemm	rm -f dummy.s dummy
1010e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
1020e3d5408SPeter Wemm	exit 0 ;;
1030e3d5408SPeter Wemm    21064:Windows_NT:50:3)
1040e3d5408SPeter Wemm	echo alpha-dec-winnt3.5
1050e3d5408SPeter Wemm	exit 0 ;;
1060e3d5408SPeter Wemm    Amiga*:UNIX_System_V:4.0:*)
1070e3d5408SPeter Wemm	echo m68k-cbm-sysv4
1080e3d5408SPeter Wemm	exit 0;;
1090e3d5408SPeter Wemm    amiga:NetBSD:*:*)
1100e3d5408SPeter Wemm      echo m68k-cbm-netbsd${UNAME_RELEASE}
1110e3d5408SPeter Wemm      exit 0 ;;
1120e3d5408SPeter Wemm    amiga:OpenBSD:*:*)
1130e3d5408SPeter Wemm	echo m68k-unknown-openbsd${UNAME_RELEASE}
1140e3d5408SPeter Wemm	exit 0 ;;
1150e3d5408SPeter Wemm    *:[Aa]miga[Oo][Ss]:*:*)
1160e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-unknown-amigaos
1170e3d5408SPeter Wemm	exit 0 ;;
1180e3d5408SPeter Wemm    arc64:OpenBSD:*:*)
1190e3d5408SPeter Wemm	echo mips64el-unknown-openbsd${UNAME_RELEASE}
1200e3d5408SPeter Wemm	exit 0 ;;
1210e3d5408SPeter Wemm    arc:OpenBSD:*:*)
1220e3d5408SPeter Wemm	echo mipsel-unknown-openbsd${UNAME_RELEASE}
1230e3d5408SPeter Wemm	exit 0 ;;
1240e3d5408SPeter Wemm    hkmips:OpenBSD:*:*)
1250e3d5408SPeter Wemm	echo mips-unknown-openbsd${UNAME_RELEASE}
1260e3d5408SPeter Wemm	exit 0 ;;
1270e3d5408SPeter Wemm    pmax:OpenBSD:*:*)
1280e3d5408SPeter Wemm	echo mipsel-unknown-openbsd${UNAME_RELEASE}
1290e3d5408SPeter Wemm	exit 0 ;;
1300e3d5408SPeter Wemm    sgi:OpenBSD:*:*)
1310e3d5408SPeter Wemm	echo mips-unknown-openbsd${UNAME_RELEASE}
1320e3d5408SPeter Wemm	exit 0 ;;
1330e3d5408SPeter Wemm    wgrisc:OpenBSD:*:*)
1340e3d5408SPeter Wemm	echo mipsel-unknown-openbsd${UNAME_RELEASE}
1350e3d5408SPeter Wemm	exit 0 ;;
1360e3d5408SPeter Wemm    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
1370e3d5408SPeter Wemm	echo arm-acorn-riscix${UNAME_RELEASE}
1380e3d5408SPeter Wemm	exit 0;;
1390e3d5408SPeter Wemm    arm32:NetBSD:*:*)
1400e3d5408SPeter Wemm	echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
1410e3d5408SPeter Wemm	exit 0 ;;
1420e3d5408SPeter Wemm    SR2?01:HI-UX/MPP:*:*)
1430e3d5408SPeter Wemm	echo hppa1.1-hitachi-hiuxmpp
1440e3d5408SPeter Wemm	exit 0;;
1450e3d5408SPeter Wemm    Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*)
1460e3d5408SPeter Wemm	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
1470e3d5408SPeter Wemm	if test "`(/bin/universe) 2>/dev/null`" = att ; then
1480e3d5408SPeter Wemm		echo pyramid-pyramid-sysv3
1490e3d5408SPeter Wemm	else
1500e3d5408SPeter Wemm		echo pyramid-pyramid-bsd
1510e3d5408SPeter Wemm	fi
1520e3d5408SPeter Wemm	exit 0 ;;
1530e3d5408SPeter Wemm    NILE:*:*:dcosx)
1540e3d5408SPeter Wemm	echo pyramid-pyramid-svr4
1550e3d5408SPeter Wemm	exit 0 ;;
1560e3d5408SPeter Wemm    sun4H:SunOS:5.*:*)
1570e3d5408SPeter Wemm	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
1580e3d5408SPeter Wemm	exit 0 ;;
1590e3d5408SPeter Wemm    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
1600e3d5408SPeter Wemm	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
1610e3d5408SPeter Wemm	exit 0 ;;
1620e3d5408SPeter Wemm    i86pc:SunOS:5.*:*)
1630e3d5408SPeter Wemm	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
1640e3d5408SPeter Wemm	exit 0 ;;
1650e3d5408SPeter Wemm    sun4*:SunOS:6*:*)
1660e3d5408SPeter Wemm	# According to config.sub, this is the proper way to canonicalize
1670e3d5408SPeter Wemm	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
1680e3d5408SPeter Wemm	# it's likely to be more like Solaris than SunOS4.
1690e3d5408SPeter Wemm	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
1700e3d5408SPeter Wemm	exit 0 ;;
1710e3d5408SPeter Wemm    sun4*:SunOS:*:*)
1720e3d5408SPeter Wemm	case "`/usr/bin/arch -k`" in
1730e3d5408SPeter Wemm	    Series*|S4*)
1740e3d5408SPeter Wemm		UNAME_RELEASE=`uname -v`
1750e3d5408SPeter Wemm		;;
1760e3d5408SPeter Wemm	esac
1770e3d5408SPeter Wemm	# Japanese Language versions have a version number like `4.1.3-JL'.
1780e3d5408SPeter Wemm	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
1790e3d5408SPeter Wemm	exit 0 ;;
1800e3d5408SPeter Wemm    sun3*:SunOS:*:*)
1810e3d5408SPeter Wemm	echo m68k-sun-sunos${UNAME_RELEASE}
1820e3d5408SPeter Wemm	exit 0 ;;
1830e3d5408SPeter Wemm    sun*:*:4.2BSD:*)
1840e3d5408SPeter Wemm	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
1850e3d5408SPeter Wemm	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
1860e3d5408SPeter Wemm	case "`/bin/arch`" in
1870e3d5408SPeter Wemm	    sun3)
1880e3d5408SPeter Wemm		echo m68k-sun-sunos${UNAME_RELEASE}
1890e3d5408SPeter Wemm		;;
1900e3d5408SPeter Wemm	    sun4)
1910e3d5408SPeter Wemm		echo sparc-sun-sunos${UNAME_RELEASE}
1920e3d5408SPeter Wemm		;;
1930e3d5408SPeter Wemm	esac
1940e3d5408SPeter Wemm	exit 0 ;;
1950e3d5408SPeter Wemm    aushp:SunOS:*:*)
1960e3d5408SPeter Wemm	echo sparc-auspex-sunos${UNAME_RELEASE}
1970e3d5408SPeter Wemm	exit 0 ;;
1980e3d5408SPeter Wemm    atari*:NetBSD:*:*)
1990e3d5408SPeter Wemm	echo m68k-atari-netbsd${UNAME_RELEASE}
2000e3d5408SPeter Wemm	exit 0 ;;
2010e3d5408SPeter Wemm    atari*:OpenBSD:*:*)
2020e3d5408SPeter Wemm	echo m68k-unknown-openbsd${UNAME_RELEASE}
2030e3d5408SPeter Wemm	exit 0 ;;
2040e3d5408SPeter Wemm    sun3*:NetBSD:*:*)
2050e3d5408SPeter Wemm	echo m68k-sun-netbsd${UNAME_RELEASE}
2060e3d5408SPeter Wemm	exit 0 ;;
2070e3d5408SPeter Wemm    sun3*:OpenBSD:*:*)
2080e3d5408SPeter Wemm	echo m68k-unknown-openbsd${UNAME_RELEASE}
2090e3d5408SPeter Wemm	exit 0 ;;
2100e3d5408SPeter Wemm    mac68k:NetBSD:*:*)
2110e3d5408SPeter Wemm	echo m68k-apple-netbsd${UNAME_RELEASE}
2120e3d5408SPeter Wemm	exit 0 ;;
2130e3d5408SPeter Wemm    mac68k:OpenBSD:*:*)
2140e3d5408SPeter Wemm	echo m68k-unknown-openbsd${UNAME_RELEASE}
2150e3d5408SPeter Wemm	exit 0 ;;
2160e3d5408SPeter Wemm    mvme68k:OpenBSD:*:*)
2170e3d5408SPeter Wemm	echo m68k-unknown-openbsd${UNAME_RELEASE}
2180e3d5408SPeter Wemm	exit 0 ;;
2190e3d5408SPeter Wemm    mvme88k:OpenBSD:*:*)
2200e3d5408SPeter Wemm	echo m88k-unknown-openbsd${UNAME_RELEASE}
2210e3d5408SPeter Wemm	exit 0 ;;
2220e3d5408SPeter Wemm    powerpc:machten:*:*)
2230e3d5408SPeter Wemm	echo powerpc-apple-machten${UNAME_RELEASE}
2240e3d5408SPeter Wemm	exit 0 ;;
2250e3d5408SPeter Wemm    macppc:NetBSD:*:*)
2260e3d5408SPeter Wemm        echo powerpc-apple-netbsd${UNAME_RELEASE}
2270e3d5408SPeter Wemm        exit 0 ;;
2280e3d5408SPeter Wemm    RISC*:Mach:*:*)
2290e3d5408SPeter Wemm	echo mips-dec-mach_bsd4.3
2300e3d5408SPeter Wemm	exit 0 ;;
2310e3d5408SPeter Wemm    RISC*:ULTRIX:*:*)
2320e3d5408SPeter Wemm	echo mips-dec-ultrix${UNAME_RELEASE}
2330e3d5408SPeter Wemm	exit 0 ;;
2340e3d5408SPeter Wemm    VAX*:ULTRIX*:*:*)
2350e3d5408SPeter Wemm	echo vax-dec-ultrix${UNAME_RELEASE}
2360e3d5408SPeter Wemm	exit 0 ;;
2370e3d5408SPeter Wemm    2020:CLIX:*:* | 2430:CLIX:*:*)
2380e3d5408SPeter Wemm	echo clipper-intergraph-clix${UNAME_RELEASE}
2390e3d5408SPeter Wemm	exit 0 ;;
2400e3d5408SPeter Wemm    mips:*:*:UMIPS | mips:*:*:RISCos)
2410e3d5408SPeter Wemm	sed 's/^	//' << EOF >dummy.c
2420e3d5408SPeter Wemm	int main (argc, argv) int argc; char **argv; {
2430e3d5408SPeter Wemm	#if defined (host_mips) && defined (MIPSEB)
2440e3d5408SPeter Wemm	#if defined (SYSTYPE_SYSV)
2450e3d5408SPeter Wemm	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
2460e3d5408SPeter Wemm	#endif
2470e3d5408SPeter Wemm	#if defined (SYSTYPE_SVR4)
2480e3d5408SPeter Wemm	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
2490e3d5408SPeter Wemm	#endif
2500e3d5408SPeter Wemm	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
2510e3d5408SPeter Wemm	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
2520e3d5408SPeter Wemm	#endif
2530e3d5408SPeter Wemm	#endif
2540e3d5408SPeter Wemm	  exit (-1);
2550e3d5408SPeter Wemm	}
2560e3d5408SPeter WemmEOF
2570e3d5408SPeter Wemm	${CC-cc} dummy.c -o dummy \
2580e3d5408SPeter Wemm	  && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
2590e3d5408SPeter Wemm	  && rm dummy.c dummy && exit 0
2600e3d5408SPeter Wemm	rm -f dummy.c dummy
2610e3d5408SPeter Wemm	echo mips-mips-riscos${UNAME_RELEASE}
2620e3d5408SPeter Wemm	exit 0 ;;
2630e3d5408SPeter Wemm    Night_Hawk:Power_UNIX:*:*)
2640e3d5408SPeter Wemm	echo powerpc-harris-powerunix
2650e3d5408SPeter Wemm	exit 0 ;;
2660e3d5408SPeter Wemm    m88k:CX/UX:7*:*)
2670e3d5408SPeter Wemm	echo m88k-harris-cxux7
2680e3d5408SPeter Wemm	exit 0 ;;
2690e3d5408SPeter Wemm    m88k:*:4*:R4*)
2700e3d5408SPeter Wemm	echo m88k-motorola-sysv4
2710e3d5408SPeter Wemm	exit 0 ;;
2720e3d5408SPeter Wemm    m88k:*:3*:R3*)
2730e3d5408SPeter Wemm	echo m88k-motorola-sysv3
2740e3d5408SPeter Wemm	exit 0 ;;
2750e3d5408SPeter Wemm    AViiON:dgux:*:*)
2760e3d5408SPeter Wemm        # DG/UX returns AViiON for all architectures
2770e3d5408SPeter Wemm        UNAME_PROCESSOR=`/usr/bin/uname -p`
2780e3d5408SPeter Wemm        if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
2790e3d5408SPeter Wemm	if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
2800e3d5408SPeter Wemm	     -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
2810e3d5408SPeter Wemm		echo m88k-dg-dgux${UNAME_RELEASE}
2820e3d5408SPeter Wemm	else
2830e3d5408SPeter Wemm		echo m88k-dg-dguxbcs${UNAME_RELEASE}
2840e3d5408SPeter Wemm	fi
2850e3d5408SPeter Wemm        else echo i586-dg-dgux${UNAME_RELEASE}
2860e3d5408SPeter Wemm        fi
2870e3d5408SPeter Wemm 	exit 0 ;;
2880e3d5408SPeter Wemm    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
2890e3d5408SPeter Wemm	echo m88k-dolphin-sysv3
2900e3d5408SPeter Wemm	exit 0 ;;
2910e3d5408SPeter Wemm    M88*:*:R3*:*)
2920e3d5408SPeter Wemm	# Delta 88k system running SVR3
2930e3d5408SPeter Wemm	echo m88k-motorola-sysv3
2940e3d5408SPeter Wemm	exit 0 ;;
2950e3d5408SPeter Wemm    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
2960e3d5408SPeter Wemm	echo m88k-tektronix-sysv3
2970e3d5408SPeter Wemm	exit 0 ;;
2980e3d5408SPeter Wemm    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
2990e3d5408SPeter Wemm	echo m68k-tektronix-bsd
3000e3d5408SPeter Wemm	exit 0 ;;
3010e3d5408SPeter Wemm    *:IRIX*:*:*)
3020e3d5408SPeter Wemm	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
3030e3d5408SPeter Wemm	exit 0 ;;
3040e3d5408SPeter Wemm    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
3050e3d5408SPeter Wemm	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
3060e3d5408SPeter Wemm	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
3070e3d5408SPeter Wemm    i?86:AIX:*:*)
3080e3d5408SPeter Wemm	echo i386-ibm-aix
3090e3d5408SPeter Wemm	exit 0 ;;
3100e3d5408SPeter Wemm    *:MVS:*:* | *:OS390:*:*|*:OS/390:*:*)
3110e3d5408SPeter Wemm			       # uname -m gives a processor model number  /* S/390 -- gil -- 1389 */
3120e3d5408SPeter Wemm	echo s390-ibm-os390    # on R1 and R2, uname -s reports OS390
3130e3d5408SPeter Wemm	exit 0 ;;              # on R3, uname -s reports OS/390
3140e3d5408SPeter Wemm    *:AIX:2:3)
3150e3d5408SPeter Wemm	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
3160e3d5408SPeter Wemm		sed 's/^		//' << EOF >dummy.c
3170e3d5408SPeter Wemm		#include <sys/systemcfg.h>
3180e3d5408SPeter Wemm
3190e3d5408SPeter Wemm		main()
3200e3d5408SPeter Wemm			{
3210e3d5408SPeter Wemm			if (!__power_pc())
3220e3d5408SPeter Wemm				exit(1);
3230e3d5408SPeter Wemm			puts("powerpc-ibm-aix3.2.5");
3240e3d5408SPeter Wemm			exit(0);
3250e3d5408SPeter Wemm			}
3260e3d5408SPeter WemmEOF
3270e3d5408SPeter Wemm		${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
3280e3d5408SPeter Wemm		rm -f dummy.c dummy
3290e3d5408SPeter Wemm		echo rs6000-ibm-aix3.2.5
3300e3d5408SPeter Wemm	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
3310e3d5408SPeter Wemm		echo rs6000-ibm-aix3.2.4
3320e3d5408SPeter Wemm	else
3330e3d5408SPeter Wemm		echo rs6000-ibm-aix3.2
3340e3d5408SPeter Wemm	fi
3350e3d5408SPeter Wemm	exit 0 ;;
3360e3d5408SPeter Wemm    *:AIX:*:4)
3370e3d5408SPeter Wemm	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
3380e3d5408SPeter Wemm	if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
3390e3d5408SPeter Wemm		IBM_ARCH=rs6000
3400e3d5408SPeter Wemm	else
3410e3d5408SPeter Wemm		IBM_ARCH=powerpc
3420e3d5408SPeter Wemm	fi
3430e3d5408SPeter Wemm	if [ -x /usr/bin/oslevel ] ; then
3440e3d5408SPeter Wemm		IBM_REV=`/usr/bin/oslevel`
3450e3d5408SPeter Wemm	else
3460e3d5408SPeter Wemm		IBM_REV=4.${UNAME_RELEASE}
3470e3d5408SPeter Wemm	fi
3480e3d5408SPeter Wemm	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
3490e3d5408SPeter Wemm	exit 0 ;;
3500e3d5408SPeter Wemm    *:AIX:*:*)
3510e3d5408SPeter Wemm	echo rs6000-ibm-aix
3520e3d5408SPeter Wemm	exit 0 ;;
3530e3d5408SPeter Wemm    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
3540e3d5408SPeter Wemm	echo romp-ibm-bsd4.4
3550e3d5408SPeter Wemm	exit 0 ;;
3560e3d5408SPeter Wemm    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
3570e3d5408SPeter Wemm	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
3580e3d5408SPeter Wemm	exit 0 ;;                           # report: romp-ibm BSD 4.3
3590e3d5408SPeter Wemm    *:BOSX:*:*)
3600e3d5408SPeter Wemm	echo rs6000-bull-bosx
3610e3d5408SPeter Wemm	exit 0 ;;
3620e3d5408SPeter Wemm    DPX/2?00:B.O.S.:*:*)
3630e3d5408SPeter Wemm	echo m68k-bull-sysv3
3640e3d5408SPeter Wemm	exit 0 ;;
3650e3d5408SPeter Wemm    9000/[34]??:4.3bsd:1.*:*)
3660e3d5408SPeter Wemm	echo m68k-hp-bsd
3670e3d5408SPeter Wemm	exit 0 ;;
3680e3d5408SPeter Wemm    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
3690e3d5408SPeter Wemm	echo m68k-hp-bsd4.4
3700e3d5408SPeter Wemm	exit 0 ;;
3710e3d5408SPeter Wemm    9000/[34678]??:HP-UX:*:*)
3720e3d5408SPeter Wemm	case "${UNAME_MACHINE}" in
3730e3d5408SPeter Wemm	    9000/31? )            HP_ARCH=m68000 ;;
3740e3d5408SPeter Wemm	    9000/[34]?? )         HP_ARCH=m68k ;;
3750e3d5408SPeter Wemm	    9000/6?? | 9000/7?? | 9000/80[024] | 9000/8?[13679] | 9000/892 )
3760e3d5408SPeter Wemm              sed 's/^              //' << EOF >dummy.c
3770e3d5408SPeter Wemm              #include <stdlib.h>
3780e3d5408SPeter Wemm              #include <unistd.h>
3790e3d5408SPeter Wemm
3800e3d5408SPeter Wemm              int main ()
3810e3d5408SPeter Wemm              {
3820e3d5408SPeter Wemm              #if defined(_SC_KERNEL_BITS)
3830e3d5408SPeter Wemm                  long bits = sysconf(_SC_KERNEL_BITS);
3840e3d5408SPeter Wemm              #endif
3850e3d5408SPeter Wemm                  long cpu  = sysconf (_SC_CPU_VERSION);
3860e3d5408SPeter Wemm
3870e3d5408SPeter Wemm                  switch (cpu)
3880e3d5408SPeter Wemm              	{
3890e3d5408SPeter Wemm              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
3900e3d5408SPeter Wemm              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
3910e3d5408SPeter Wemm              	case CPU_PA_RISC2_0:
3920e3d5408SPeter Wemm              #if defined(_SC_KERNEL_BITS)
3930e3d5408SPeter Wemm              	    switch (bits)
3940e3d5408SPeter Wemm              		{
3950e3d5408SPeter Wemm              		case 64: puts ("hppa2.0w"); break;
3960e3d5408SPeter Wemm              		case 32: puts ("hppa2.0n"); break;
3970e3d5408SPeter Wemm              		default: puts ("hppa2.0"); break;
3980e3d5408SPeter Wemm              		} break;
3990e3d5408SPeter Wemm              #else  /* !defined(_SC_KERNEL_BITS) */
4000e3d5408SPeter Wemm              	    puts ("hppa2.0"); break;
4010e3d5408SPeter Wemm              #endif
4020e3d5408SPeter Wemm              	default: puts ("hppa1.0"); break;
4030e3d5408SPeter Wemm              	}
4040e3d5408SPeter Wemm                  exit (0);
4050e3d5408SPeter Wemm              }
4060e3d5408SPeter WemmEOF
4070e3d5408SPeter Wemm	(${CC-cc} dummy.c -o dummy 2>/dev/null ) && HP_ARCH=`./dummy`
4080e3d5408SPeter Wemm	rm -f dummy.c dummy
4090e3d5408SPeter Wemm	esac
4100e3d5408SPeter Wemm	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
4110e3d5408SPeter Wemm	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
4120e3d5408SPeter Wemm	exit 0 ;;
4130e3d5408SPeter Wemm    3050*:HI-UX:*:*)
4140e3d5408SPeter Wemm	sed 's/^	//' << EOF >dummy.c
4150e3d5408SPeter Wemm	#include <unistd.h>
4160e3d5408SPeter Wemm	int
4170e3d5408SPeter Wemm	main ()
4180e3d5408SPeter Wemm	{
4190e3d5408SPeter Wemm	  long cpu = sysconf (_SC_CPU_VERSION);
4200e3d5408SPeter Wemm	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
4210e3d5408SPeter Wemm	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
4220e3d5408SPeter Wemm	     results, however.  */
4230e3d5408SPeter Wemm	  if (CPU_IS_PA_RISC (cpu))
4240e3d5408SPeter Wemm	    {
4250e3d5408SPeter Wemm	      switch (cpu)
4260e3d5408SPeter Wemm		{
4270e3d5408SPeter Wemm		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
4280e3d5408SPeter Wemm		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
4290e3d5408SPeter Wemm		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
4300e3d5408SPeter Wemm		  default: puts ("hppa-hitachi-hiuxwe2"); break;
4310e3d5408SPeter Wemm		}
4320e3d5408SPeter Wemm	    }
4330e3d5408SPeter Wemm	  else if (CPU_IS_HP_MC68K (cpu))
4340e3d5408SPeter Wemm	    puts ("m68k-hitachi-hiuxwe2");
4350e3d5408SPeter Wemm	  else puts ("unknown-hitachi-hiuxwe2");
4360e3d5408SPeter Wemm	  exit (0);
4370e3d5408SPeter Wemm	}
4380e3d5408SPeter WemmEOF
4390e3d5408SPeter Wemm	${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
4400e3d5408SPeter Wemm	rm -f dummy.c dummy
4410e3d5408SPeter Wemm	echo unknown-hitachi-hiuxwe2
4420e3d5408SPeter Wemm	exit 0 ;;
4430e3d5408SPeter Wemm    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
4440e3d5408SPeter Wemm	echo hppa1.1-hp-bsd
4450e3d5408SPeter Wemm	exit 0 ;;
4460e3d5408SPeter Wemm    9000/8??:4.3bsd:*:*)
4470e3d5408SPeter Wemm	echo hppa1.0-hp-bsd
4480e3d5408SPeter Wemm	exit 0 ;;
4490e3d5408SPeter Wemm    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
4500e3d5408SPeter Wemm	echo hppa1.1-hp-osf
4510e3d5408SPeter Wemm	exit 0 ;;
4520e3d5408SPeter Wemm    hp8??:OSF1:*:*)
4530e3d5408SPeter Wemm	echo hppa1.0-hp-osf
4540e3d5408SPeter Wemm	exit 0 ;;
4550e3d5408SPeter Wemm    i?86:OSF1:*:*)
4560e3d5408SPeter Wemm	if [ -x /usr/sbin/sysversion ] ; then
4570e3d5408SPeter Wemm	    echo ${UNAME_MACHINE}-unknown-osf1mk
4580e3d5408SPeter Wemm	else
4590e3d5408SPeter Wemm	    echo ${UNAME_MACHINE}-unknown-osf1
4600e3d5408SPeter Wemm	fi
4610e3d5408SPeter Wemm	exit 0 ;;
4620e3d5408SPeter Wemm    parisc*:Lites*:*:*)
4630e3d5408SPeter Wemm	echo hppa1.1-hp-lites
4640e3d5408SPeter Wemm	exit 0 ;;
4650e3d5408SPeter Wemm    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
4660e3d5408SPeter Wemm	echo c1-convex-bsd
4670e3d5408SPeter Wemm        exit 0 ;;
4680e3d5408SPeter Wemm    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
4690e3d5408SPeter Wemm	if getsysinfo -f scalar_acc
4700e3d5408SPeter Wemm	then echo c32-convex-bsd
4710e3d5408SPeter Wemm	else echo c2-convex-bsd
4720e3d5408SPeter Wemm	fi
4730e3d5408SPeter Wemm        exit 0 ;;
4740e3d5408SPeter Wemm    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
4750e3d5408SPeter Wemm	echo c34-convex-bsd
4760e3d5408SPeter Wemm        exit 0 ;;
4770e3d5408SPeter Wemm    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
4780e3d5408SPeter Wemm	echo c38-convex-bsd
4790e3d5408SPeter Wemm        exit 0 ;;
4800e3d5408SPeter Wemm    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
4810e3d5408SPeter Wemm	echo c4-convex-bsd
4820e3d5408SPeter Wemm        exit 0 ;;
4830e3d5408SPeter Wemm    CRAY*X-MP:*:*:*)
4840e3d5408SPeter Wemm	echo xmp-cray-unicos
4850e3d5408SPeter Wemm        exit 0 ;;
4860e3d5408SPeter Wemm    CRAY*Y-MP:*:*:*)
4870e3d5408SPeter Wemm	echo ymp-cray-unicos${UNAME_RELEASE}
4880e3d5408SPeter Wemm	exit 0 ;;
4890e3d5408SPeter Wemm    CRAY*[A-Z]90:*:*:*)
4900e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
4910e3d5408SPeter Wemm	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
4920e3d5408SPeter Wemm	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
4930e3d5408SPeter Wemm	exit 0 ;;
4940e3d5408SPeter Wemm    CRAY*TS:*:*:*)
4950e3d5408SPeter Wemm	echo t90-cray-unicos${UNAME_RELEASE}
4960e3d5408SPeter Wemm	exit 0 ;;
4970e3d5408SPeter Wemm    CRAY-2:*:*:*)
4980e3d5408SPeter Wemm	echo cray2-cray-unicos
4990e3d5408SPeter Wemm        exit 0 ;;
5000e3d5408SPeter Wemm    F300:UNIX_System_V:*:*)
5010e3d5408SPeter Wemm        FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
5020e3d5408SPeter Wemm        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
5030e3d5408SPeter Wemm        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
5040e3d5408SPeter Wemm        exit 0 ;;
5050e3d5408SPeter Wemm    F301:UNIX_System_V:*:*)
5060e3d5408SPeter Wemm       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
5070e3d5408SPeter Wemm       exit 0 ;;
5080e3d5408SPeter Wemm    hp3[0-9][05]:NetBSD:*:*)
5090e3d5408SPeter Wemm	echo m68k-hp-netbsd${UNAME_RELEASE}
5100e3d5408SPeter Wemm	exit 0 ;;
5110e3d5408SPeter Wemm    hp300:OpenBSD:*:*)
5120e3d5408SPeter Wemm	echo m68k-unknown-openbsd${UNAME_RELEASE}
5130e3d5408SPeter Wemm	exit 0 ;;
5140e3d5408SPeter Wemm    sparc*:BSD/OS:*:*)
5150e3d5408SPeter Wemm	echo sparc-unknown-bsdi${UNAME_RELEASE}
5160e3d5408SPeter Wemm	exit 0 ;;
5170e3d5408SPeter Wemm    i?86:BSD/386:*:* | *:BSD/OS:*:*)
5180e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
5190e3d5408SPeter Wemm	exit 0 ;;
5200e3d5408SPeter Wemm    *:FreeBSD:*:*)
5210e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
5220e3d5408SPeter Wemm	exit 0 ;;
5230e3d5408SPeter Wemm    *:NetBSD:*:*)
5240e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
5250e3d5408SPeter Wemm	exit 0 ;;
5260e3d5408SPeter Wemm    *:OpenBSD:*:*)
5270e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
5280e3d5408SPeter Wemm	exit 0 ;;
5290e3d5408SPeter Wemm    i*:CYGWIN*:*)
5300e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-pc-cygwin
5310e3d5408SPeter Wemm	exit 0 ;;
5320e3d5408SPeter Wemm    i*:MINGW*:*)
5330e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-pc-mingw32
5340e3d5408SPeter Wemm	exit 0 ;;
5350e3d5408SPeter Wemm    p*:CYGWIN*:*)
5360e3d5408SPeter Wemm	echo powerpcle-unknown-cygwin
5370e3d5408SPeter Wemm	exit 0 ;;
5380e3d5408SPeter Wemm    prep*:SunOS:5.*:*)
5390e3d5408SPeter Wemm	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
5400e3d5408SPeter Wemm	exit 0 ;;
5410e3d5408SPeter Wemm    *:GNU:*:*)
5420e3d5408SPeter Wemm	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
5430e3d5408SPeter Wemm	exit 0 ;;
5440e3d5408SPeter Wemm    *:Linux:*:*)
5450e3d5408SPeter Wemm	# uname on the ARM produces all sorts of strangeness, and we need to
5460e3d5408SPeter Wemm	# filter it out.
5470e3d5408SPeter Wemm	case "$UNAME_MACHINE" in
5480e3d5408SPeter Wemm	  arm* | sa110*)	      UNAME_MACHINE="arm" ;;
5490e3d5408SPeter Wemm	esac
5500e3d5408SPeter Wemm
5510e3d5408SPeter Wemm	# The BFD linker knows what the default object file format is, so
5520e3d5408SPeter Wemm	# first see if it will tell us.
5530e3d5408SPeter Wemm	ld_help_string=`ld --help 2>&1`
5540e3d5408SPeter Wemm	ld_supported_emulations=`echo $ld_help_string \
5550e3d5408SPeter Wemm			 | sed -ne '/supported emulations:/!d
5560e3d5408SPeter Wemm				    s/[ 	][ 	]*/ /g
5570e3d5408SPeter Wemm				    s/.*supported emulations: *//
5580e3d5408SPeter Wemm				    s/ .*//
5590e3d5408SPeter Wemm				    p'`
5600e3d5408SPeter Wemm        case "$ld_supported_emulations" in
5610e3d5408SPeter Wemm	  i?86linux)  echo "${UNAME_MACHINE}-pc-linux-gnuaout"      ; exit 0 ;;
5620e3d5408SPeter Wemm	  i?86coff)   echo "${UNAME_MACHINE}-pc-linux-gnucoff"      ; exit 0 ;;
5630e3d5408SPeter Wemm	  sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
5640e3d5408SPeter Wemm	  armlinux)   echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
5650e3d5408SPeter Wemm	  m68klinux)  echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
5660e3d5408SPeter Wemm	  elf32ppc)   echo "powerpc-unknown-linux-gnu"              ; exit 0 ;;
5670e3d5408SPeter Wemm	esac
5680e3d5408SPeter Wemm
5690e3d5408SPeter Wemm	if test "${UNAME_MACHINE}" = "alpha" ; then
5700e3d5408SPeter Wemm		sed 's/^	//'  <<EOF >dummy.s
5710e3d5408SPeter Wemm		.globl main
5720e3d5408SPeter Wemm		.ent main
5730e3d5408SPeter Wemm	main:
5740e3d5408SPeter Wemm		.frame \$30,0,\$26,0
5750e3d5408SPeter Wemm		.prologue 0
5760e3d5408SPeter Wemm		.long 0x47e03d80 # implver $0
5770e3d5408SPeter Wemm		lda \$2,259
5780e3d5408SPeter Wemm		.long 0x47e20c21 # amask $2,$1
5790e3d5408SPeter Wemm		srl \$1,8,\$2
5800e3d5408SPeter Wemm		sll \$2,2,\$2
5810e3d5408SPeter Wemm		sll \$0,3,\$0
5820e3d5408SPeter Wemm		addl \$1,\$0,\$0
5830e3d5408SPeter Wemm		addl \$2,\$0,\$0
5840e3d5408SPeter Wemm		ret \$31,(\$26),1
5850e3d5408SPeter Wemm		.end main
5860e3d5408SPeter WemmEOF
5870e3d5408SPeter Wemm		LIBC=""
5880e3d5408SPeter Wemm		${CC-cc} dummy.s -o dummy 2>/dev/null
5890e3d5408SPeter Wemm		if test "$?" = 0 ; then
5900e3d5408SPeter Wemm			./dummy
5910e3d5408SPeter Wemm			case "$?" in
5920e3d5408SPeter Wemm			7)
5930e3d5408SPeter Wemm				UNAME_MACHINE="alpha"
5940e3d5408SPeter Wemm				;;
5950e3d5408SPeter Wemm			15)
5960e3d5408SPeter Wemm				UNAME_MACHINE="alphaev5"
5970e3d5408SPeter Wemm				;;
5980e3d5408SPeter Wemm			14)
5990e3d5408SPeter Wemm				UNAME_MACHINE="alphaev56"
6000e3d5408SPeter Wemm				;;
6010e3d5408SPeter Wemm			10)
6020e3d5408SPeter Wemm				UNAME_MACHINE="alphapca56"
6030e3d5408SPeter Wemm				;;
6040e3d5408SPeter Wemm			16)
6050e3d5408SPeter Wemm				UNAME_MACHINE="alphaev6"
6060e3d5408SPeter Wemm				;;
6070e3d5408SPeter Wemm			esac
6080e3d5408SPeter Wemm
6090e3d5408SPeter Wemm			objdump --private-headers dummy | \
6100e3d5408SPeter Wemm			  grep ld.so.1 > /dev/null
6110e3d5408SPeter Wemm			if test "$?" = 0 ; then
6120e3d5408SPeter Wemm				LIBC="libc1"
6130e3d5408SPeter Wemm			fi
6140e3d5408SPeter Wemm		fi
6150e3d5408SPeter Wemm		rm -f dummy.s dummy
6160e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
6170e3d5408SPeter Wemm	elif test "${UNAME_MACHINE}" = "mips" ; then
6180e3d5408SPeter Wemm	  cat >dummy.c <<EOF
6190e3d5408SPeter Wemmmain(argc, argv)
6200e3d5408SPeter Wemm     int argc;
6210e3d5408SPeter Wemm     char *argv[];
6220e3d5408SPeter Wemm{
6230e3d5408SPeter Wemm#ifdef __MIPSEB__
6240e3d5408SPeter Wemm  printf ("%s-unknown-linux-gnu\n", argv[1]);
6250e3d5408SPeter Wemm#endif
6260e3d5408SPeter Wemm#ifdef __MIPSEL__
6270e3d5408SPeter Wemm  printf ("%sel-unknown-linux-gnu\n", argv[1]);
6280e3d5408SPeter Wemm#endif
6290e3d5408SPeter Wemm  return 0;
6300e3d5408SPeter Wemm}
6310e3d5408SPeter WemmEOF
6320e3d5408SPeter Wemm	  ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
6330e3d5408SPeter Wemm	  rm -f dummy.c dummy
6340e3d5408SPeter Wemm	else
6350e3d5408SPeter Wemm	  # Either a pre-BFD a.out linker (linux-gnuoldld)
6360e3d5408SPeter Wemm	  # or one that does not give us useful --help.
6370e3d5408SPeter Wemm	  # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
6380e3d5408SPeter Wemm	  # If ld does not provide *any* "supported emulations:"
6390e3d5408SPeter Wemm	  # that means it is gnuoldld.
6400e3d5408SPeter Wemm	  echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
6410e3d5408SPeter Wemm	  test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
6420e3d5408SPeter Wemm
6430e3d5408SPeter Wemm	  case "${UNAME_MACHINE}" in
6440e3d5408SPeter Wemm	  i?86)
6450e3d5408SPeter Wemm	    VENDOR=pc;
6460e3d5408SPeter Wemm	    ;;
6470e3d5408SPeter Wemm	  *)
6480e3d5408SPeter Wemm	    VENDOR=unknown;
6490e3d5408SPeter Wemm	    ;;
6500e3d5408SPeter Wemm	  esac
6510e3d5408SPeter Wemm	  # Determine whether the default compiler is a.out or elf
6520e3d5408SPeter Wemm	  cat >dummy.c <<EOF
6530e3d5408SPeter Wemm#include <features.h>
6540e3d5408SPeter Wemmmain(argc, argv)
6550e3d5408SPeter Wemm     int argc;
6560e3d5408SPeter Wemm     char *argv[];
6570e3d5408SPeter Wemm{
6580e3d5408SPeter Wemm#ifdef __ELF__
6590e3d5408SPeter Wemm# ifdef __GLIBC__
6600e3d5408SPeter Wemm#  if (__GLIBC__ >= 2)
6610e3d5408SPeter Wemm    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
6620e3d5408SPeter Wemm#  else
6630e3d5408SPeter Wemm    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
6640e3d5408SPeter Wemm#  endif
6650e3d5408SPeter Wemm# else
6660e3d5408SPeter Wemm   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
6670e3d5408SPeter Wemm# endif
6680e3d5408SPeter Wemm#else
6690e3d5408SPeter Wemm  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
6700e3d5408SPeter Wemm#endif
6710e3d5408SPeter Wemm  return 0;
6720e3d5408SPeter Wemm}
6730e3d5408SPeter WemmEOF
6740e3d5408SPeter Wemm	  ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
6750e3d5408SPeter Wemm	  rm -f dummy.c dummy
6760e3d5408SPeter Wemm	fi ;;
6770e3d5408SPeter Wemm# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
6780e3d5408SPeter Wemm# are messed up and put the nodename in both sysname and nodename.
6790e3d5408SPeter Wemm    i?86:DYNIX/ptx:4*:*)
6800e3d5408SPeter Wemm	echo i386-sequent-sysv4
6810e3d5408SPeter Wemm	exit 0 ;;
6820e3d5408SPeter Wemm    i?86:UNIX_SV:4.2MP:2.*)
6830e3d5408SPeter Wemm        # Unixware is an offshoot of SVR4, but it has its own version
6840e3d5408SPeter Wemm        # number series starting with 2...
6850e3d5408SPeter Wemm        # I am not positive that other SVR4 systems won't match this,
6860e3d5408SPeter Wemm	# I just have to hope.  -- rms.
6870e3d5408SPeter Wemm        # Use sysv4.2uw... so that sysv4* matches it.
6880e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
6890e3d5408SPeter Wemm	exit 0 ;;
6900e3d5408SPeter Wemm    # SysVr5/Unixware7
6910e3d5408SPeter Wemm    i?86:*:5*:* | i?86:SYSTEM_V:5*:*)
6920e3d5408SPeter Wemm	 if uname -a | grep SCO >/dev/null 2>/dev/null ; then
6930e3d5408SPeter Wemm	    (/bin/uname -s|egrep UnixWare >/dev/null) && UNAME_VER=uw${UNAME_VERSION}
6940e3d5408SPeter Wemm	    if /bin/uname -X 2>/dev/null >/dev/null ; then
6950e3d5408SPeter Wemm		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
6960e3d5408SPeter Wemm		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
6970e3d5408SPeter Wemm			&& UNAME_MACHINE=i586
6980e3d5408SPeter Wemm	    fi
6990e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}${UNAME_VER}
7000e3d5408SPeter Wemm	else
7010e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}
7020e3d5408SPeter Wemm	fi
7030e3d5408SPeter Wemm	exit 0 ;;
7040e3d5408SPeter Wemm    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
7050e3d5408SPeter Wemm	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
7060e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-univel-sysv4.2uw${UNAME_VERSION}
7070e3d5408SPeter Wemm	else
7080e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
7090e3d5408SPeter Wemm	fi
7100e3d5408SPeter Wemm	exit 0 ;;
7110e3d5408SPeter Wemm    i?86:*:3.2:*)
7120e3d5408SPeter Wemm	if test -f /usr/options/cb.name; then
7130e3d5408SPeter Wemm		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
7140e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
7150e3d5408SPeter Wemm	elif /bin/uname -X 2>/dev/null >/dev/null ; then
7160e3d5408SPeter Wemm		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
7170e3d5408SPeter Wemm		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
7180e3d5408SPeter Wemm		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
7190e3d5408SPeter Wemm			&& UNAME_MACHINE=i586
7200e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
7210e3d5408SPeter Wemm	else
7220e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-pc-sysv32
7230e3d5408SPeter Wemm	fi
7240e3d5408SPeter Wemm	exit 0 ;;
7250e3d5408SPeter Wemm    i?86:UnixWare:*:*)
7260e3d5408SPeter Wemm	if /bin/uname -X 2>/dev/null >/dev/null ; then
7270e3d5408SPeter Wemm	  (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
7280e3d5408SPeter Wemm	    && UNAME_MACHINE=i586
7290e3d5408SPeter Wemm	fi
7300e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION}
7310e3d5408SPeter Wemm	exit 0 ;;
7320e3d5408SPeter Wemm    pc:*:*:*)
7330e3d5408SPeter Wemm        # uname -m prints for DJGPP always 'pc', but it prints nothing about
7340e3d5408SPeter Wemm        # the processor, so we play safe by assuming i386.
7350e3d5408SPeter Wemm	echo i386-pc-msdosdjgpp
7360e3d5408SPeter Wemm        exit 0 ;;
7370e3d5408SPeter Wemm    Intel:Mach:3*:*)
7380e3d5408SPeter Wemm	echo i386-pc-mach3
7390e3d5408SPeter Wemm	exit 0 ;;
7400e3d5408SPeter Wemm    paragon:*:*:*)
7410e3d5408SPeter Wemm	echo i860-intel-osf1
7420e3d5408SPeter Wemm	exit 0 ;;
7430e3d5408SPeter Wemm    i860:*:4.*:*) # i860-SVR4
7440e3d5408SPeter Wemm	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
7450e3d5408SPeter Wemm	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
7460e3d5408SPeter Wemm	else # Add other i860-SVR4 vendors below as they are discovered.
7470e3d5408SPeter Wemm	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
7480e3d5408SPeter Wemm	fi
7490e3d5408SPeter Wemm	exit 0 ;;
7500e3d5408SPeter Wemm    mini*:CTIX:SYS*5:*)
7510e3d5408SPeter Wemm	# "miniframe"
7520e3d5408SPeter Wemm	echo m68010-convergent-sysv
7530e3d5408SPeter Wemm	exit 0 ;;
7540e3d5408SPeter Wemm    M68*:*:R3V[567]*:*)
7550e3d5408SPeter Wemm	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
7560e3d5408SPeter Wemm    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
7570e3d5408SPeter Wemm	OS_REL=''
7580e3d5408SPeter Wemm	test -r /etc/.relid \
7590e3d5408SPeter Wemm	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
7600e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
7610e3d5408SPeter Wemm	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
7620e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
7630e3d5408SPeter Wemm	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
7640e3d5408SPeter Wemm    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
7650e3d5408SPeter Wemm        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
7660e3d5408SPeter Wemm          && echo i486-ncr-sysv4 && exit 0 ;;
7670e3d5408SPeter Wemm    m68*:LynxOS:2.*:*)
7680e3d5408SPeter Wemm	echo m68k-unknown-lynxos${UNAME_RELEASE}
7690e3d5408SPeter Wemm	exit 0 ;;
7700e3d5408SPeter Wemm    mc68030:UNIX_System_V:4.*:*)
7710e3d5408SPeter Wemm	echo m68k-atari-sysv4
7720e3d5408SPeter Wemm	exit 0 ;;
7730e3d5408SPeter Wemm    i?86:LynxOS:2.*:*)
7740e3d5408SPeter Wemm	echo i386-unknown-lynxos${UNAME_RELEASE}
7750e3d5408SPeter Wemm	exit 0 ;;
7760e3d5408SPeter Wemm    TSUNAMI:LynxOS:2.*:*)
7770e3d5408SPeter Wemm	echo sparc-unknown-lynxos${UNAME_RELEASE}
7780e3d5408SPeter Wemm	exit 0 ;;
7790e3d5408SPeter Wemm    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
7800e3d5408SPeter Wemm	echo rs6000-unknown-lynxos${UNAME_RELEASE}
7810e3d5408SPeter Wemm	exit 0 ;;
7820e3d5408SPeter Wemm    SM[BE]S:UNIX_SV:*:*)
7830e3d5408SPeter Wemm	echo mips-dde-sysv${UNAME_RELEASE}
7840e3d5408SPeter Wemm	exit 0 ;;
7850e3d5408SPeter Wemm    RM*:SINIX-*:*:*)
7860e3d5408SPeter Wemm	echo mips-sni-sysv4
7870e3d5408SPeter Wemm	exit 0 ;;
7880e3d5408SPeter Wemm    *:SINIX-*:*:*)
7890e3d5408SPeter Wemm	if uname -p 2>/dev/null >/dev/null ; then
7900e3d5408SPeter Wemm		UNAME_MACHINE=`(uname -p) 2>/dev/null`
7910e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-sni-sysv4
7920e3d5408SPeter Wemm	else
7930e3d5408SPeter Wemm		echo ns32k-sni-sysv
7940e3d5408SPeter Wemm	fi
7950e3d5408SPeter Wemm	exit 0 ;;
7960e3d5408SPeter Wemm    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
7970e3d5408SPeter Wemm                           # says <Richard.M.Bartel@ccMail.Census.GOV>
7980e3d5408SPeter Wemm        echo i586-unisys-sysv4
7990e3d5408SPeter Wemm        exit 0 ;;
8000e3d5408SPeter Wemm    *:UNIX_System_V:4*:FTX*)
8010e3d5408SPeter Wemm	# From Gerald Hewes <hewes@openmarket.com>.
8020e3d5408SPeter Wemm	# How about differentiating between stratus architectures? -djm
8030e3d5408SPeter Wemm	echo hppa1.1-stratus-sysv4
8040e3d5408SPeter Wemm	exit 0 ;;
8050e3d5408SPeter Wemm    *:*:*:FTX*)
8060e3d5408SPeter Wemm	# From seanf@swdc.stratus.com.
8070e3d5408SPeter Wemm	echo i860-stratus-sysv4
8080e3d5408SPeter Wemm	exit 0 ;;
8090e3d5408SPeter Wemm    mc68*:A/UX:*:*)
8100e3d5408SPeter Wemm	echo m68k-apple-aux${UNAME_RELEASE}
8110e3d5408SPeter Wemm	exit 0 ;;
8120e3d5408SPeter Wemm    news*:NEWS-OS:*:6*)
8130e3d5408SPeter Wemm	echo mips-sony-newsos6
8140e3d5408SPeter Wemm	exit 0 ;;
8150e3d5408SPeter Wemm    R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*)
8160e3d5408SPeter Wemm	if [ -d /usr/nec ]; then
8170e3d5408SPeter Wemm	        echo mips-nec-sysv${UNAME_RELEASE}
8180e3d5408SPeter Wemm	else
8190e3d5408SPeter Wemm	        echo mips-unknown-sysv${UNAME_RELEASE}
8200e3d5408SPeter Wemm	fi
8210e3d5408SPeter Wemm        exit 0 ;;
8220e3d5408SPeter Wemm    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
8230e3d5408SPeter Wemm	echo powerpc-be-beos
8240e3d5408SPeter Wemm	exit 0 ;;
8250e3d5408SPeter Wemm    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
8260e3d5408SPeter Wemm	echo powerpc-apple-beos
8270e3d5408SPeter Wemm	exit 0 ;;
8280e3d5408SPeter Wemm    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
8290e3d5408SPeter Wemm	echo i586-pc-beos
8300e3d5408SPeter Wemm	exit 0 ;;
8310e3d5408SPeter Wemmesac
8320e3d5408SPeter Wemm
8330e3d5408SPeter Wemm#echo '(No uname command or uname output not recognized.)' 1>&2
8340e3d5408SPeter Wemm#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
8350e3d5408SPeter Wemm
8360e3d5408SPeter Wemmcat >dummy.c <<EOF
8370e3d5408SPeter Wemm#ifdef _SEQUENT_
8380e3d5408SPeter Wemm# include <sys/types.h>
8390e3d5408SPeter Wemm# include <sys/utsname.h>
8400e3d5408SPeter Wemm#endif
8410e3d5408SPeter Wemmmain ()
8420e3d5408SPeter Wemm{
8430e3d5408SPeter Wemm#if defined (sony)
8440e3d5408SPeter Wemm#if defined (MIPSEB)
8450e3d5408SPeter Wemm  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
8460e3d5408SPeter Wemm     I don't know....  */
8470e3d5408SPeter Wemm  printf ("mips-sony-bsd\n"); exit (0);
8480e3d5408SPeter Wemm#else
8490e3d5408SPeter Wemm#include <sys/param.h>
8500e3d5408SPeter Wemm  printf ("m68k-sony-newsos%s\n",
8510e3d5408SPeter Wemm#ifdef NEWSOS4
8520e3d5408SPeter Wemm          "4"
8530e3d5408SPeter Wemm#else
8540e3d5408SPeter Wemm	  ""
8550e3d5408SPeter Wemm#endif
8560e3d5408SPeter Wemm         ); exit (0);
8570e3d5408SPeter Wemm#endif
8580e3d5408SPeter Wemm#endif
8590e3d5408SPeter Wemm
8600e3d5408SPeter Wemm#if defined (__arm) && defined (__acorn) && defined (__unix)
8610e3d5408SPeter Wemm  printf ("arm-acorn-riscix"); exit (0);
8620e3d5408SPeter Wemm#endif
8630e3d5408SPeter Wemm
8640e3d5408SPeter Wemm#if defined (hp300) && !defined (hpux)
8650e3d5408SPeter Wemm  printf ("m68k-hp-bsd\n"); exit (0);
8660e3d5408SPeter Wemm#endif
8670e3d5408SPeter Wemm
8680e3d5408SPeter Wemm#if defined (NeXT)
8690e3d5408SPeter Wemm#if !defined (__ARCHITECTURE__)
8700e3d5408SPeter Wemm#define __ARCHITECTURE__ "m68k"
8710e3d5408SPeter Wemm#endif
8720e3d5408SPeter Wemm  int version;
8730e3d5408SPeter Wemm  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
8740e3d5408SPeter Wemm  printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
8750e3d5408SPeter Wemm  exit (0);
8760e3d5408SPeter Wemm#endif
8770e3d5408SPeter Wemm
8780e3d5408SPeter Wemm#if defined (MULTIMAX) || defined (n16)
8790e3d5408SPeter Wemm#if defined (UMAXV)
8800e3d5408SPeter Wemm  printf ("ns32k-encore-sysv\n"); exit (0);
8810e3d5408SPeter Wemm#else
8820e3d5408SPeter Wemm#if defined (CMU)
8830e3d5408SPeter Wemm  printf ("ns32k-encore-mach\n"); exit (0);
8840e3d5408SPeter Wemm#else
8850e3d5408SPeter Wemm  printf ("ns32k-encore-bsd\n"); exit (0);
8860e3d5408SPeter Wemm#endif
8870e3d5408SPeter Wemm#endif
8880e3d5408SPeter Wemm#endif
8890e3d5408SPeter Wemm
8900e3d5408SPeter Wemm#if defined (__386BSD__)
8910e3d5408SPeter Wemm  printf ("i386-pc-bsd\n"); exit (0);
8920e3d5408SPeter Wemm#endif
8930e3d5408SPeter Wemm
8940e3d5408SPeter Wemm#if defined (sequent)
8950e3d5408SPeter Wemm#if defined (i386)
8960e3d5408SPeter Wemm  printf ("i386-sequent-dynix\n"); exit (0);
8970e3d5408SPeter Wemm#endif
8980e3d5408SPeter Wemm#if defined (ns32000)
8990e3d5408SPeter Wemm  printf ("ns32k-sequent-dynix\n"); exit (0);
9000e3d5408SPeter Wemm#endif
9010e3d5408SPeter Wemm#endif
9020e3d5408SPeter Wemm
9030e3d5408SPeter Wemm#if defined (_SEQUENT_)
9040e3d5408SPeter Wemm    struct utsname un;
9050e3d5408SPeter Wemm
9060e3d5408SPeter Wemm    uname(&un);
9070e3d5408SPeter Wemm
9080e3d5408SPeter Wemm    if (strncmp(un.version, "V2", 2) == 0) {
9090e3d5408SPeter Wemm	printf ("i386-sequent-ptx2\n"); exit (0);
9100e3d5408SPeter Wemm    }
9110e3d5408SPeter Wemm    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
9120e3d5408SPeter Wemm	printf ("i386-sequent-ptx1\n"); exit (0);
9130e3d5408SPeter Wemm    }
9140e3d5408SPeter Wemm    printf ("i386-sequent-ptx\n"); exit (0);
9150e3d5408SPeter Wemm
9160e3d5408SPeter Wemm#endif
9170e3d5408SPeter Wemm
9180e3d5408SPeter Wemm#if defined (vax)
9190e3d5408SPeter Wemm#if !defined (ultrix)
9200e3d5408SPeter Wemm  printf ("vax-dec-bsd\n"); exit (0);
9210e3d5408SPeter Wemm#else
9220e3d5408SPeter Wemm  printf ("vax-dec-ultrix\n"); exit (0);
9230e3d5408SPeter Wemm#endif
9240e3d5408SPeter Wemm#endif
9250e3d5408SPeter Wemm
9260e3d5408SPeter Wemm#if defined (alliant) && defined (i860)
9270e3d5408SPeter Wemm  printf ("i860-alliant-bsd\n"); exit (0);
9280e3d5408SPeter Wemm#endif
9290e3d5408SPeter Wemm
9300e3d5408SPeter Wemm  exit (1);
9310e3d5408SPeter Wemm}
9320e3d5408SPeter WemmEOF
9330e3d5408SPeter Wemm
9340e3d5408SPeter Wemm${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
9350e3d5408SPeter Wemmrm -f dummy.c dummy
9360e3d5408SPeter Wemm
9370e3d5408SPeter Wemm# Apollos put the system type in the environment.
9380e3d5408SPeter Wemm
9390e3d5408SPeter Wemmtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
9400e3d5408SPeter Wemm
9410e3d5408SPeter Wemm# Convex versions that predate uname can use getsysinfo(1)
9420e3d5408SPeter Wemm
9430e3d5408SPeter Wemmif [ -x /usr/convex/getsysinfo ]
9440e3d5408SPeter Wemmthen
9450e3d5408SPeter Wemm    case `getsysinfo -f cpu_type` in
9460e3d5408SPeter Wemm    c1*)
9470e3d5408SPeter Wemm	echo c1-convex-bsd
9480e3d5408SPeter Wemm	exit 0 ;;
9490e3d5408SPeter Wemm    c2*)
9500e3d5408SPeter Wemm	if getsysinfo -f scalar_acc
9510e3d5408SPeter Wemm	then echo c32-convex-bsd
9520e3d5408SPeter Wemm	else echo c2-convex-bsd
9530e3d5408SPeter Wemm	fi
9540e3d5408SPeter Wemm	exit 0 ;;
9550e3d5408SPeter Wemm    c34*)
9560e3d5408SPeter Wemm	echo c34-convex-bsd
9570e3d5408SPeter Wemm	exit 0 ;;
9580e3d5408SPeter Wemm    c38*)
9590e3d5408SPeter Wemm	echo c38-convex-bsd
9600e3d5408SPeter Wemm	exit 0 ;;
9610e3d5408SPeter Wemm    c4*)
9620e3d5408SPeter Wemm	echo c4-convex-bsd
9630e3d5408SPeter Wemm	exit 0 ;;
9640e3d5408SPeter Wemm    esac
9650e3d5408SPeter Wemmfi
9660e3d5408SPeter Wemm
9670e3d5408SPeter Wemm#echo '(Unable to guess system type)' 1>&2
9680e3d5408SPeter Wemm
9690e3d5408SPeter Wemmexit 1
970