cannam@140: #! /bin/sh cannam@140: # Attempt to guess a canonical system name. cannam@140: # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 cannam@140: # Free Software Foundation, Inc. cannam@140: cannam@140: timestamp='2001-10-05' cannam@140: cannam@140: # This file is free software; you can redistribute it and/or modify it cannam@140: # under the terms of the GNU General Public License as published by cannam@140: # the Free Software Foundation; either version 2 of the License, or cannam@140: # (at your option) any later version. cannam@140: # cannam@140: # This program is distributed in the hope that it will be useful, but cannam@140: # WITHOUT ANY WARRANTY; without even the implied warranty of cannam@140: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU cannam@140: # General Public License for more details. cannam@140: # cannam@140: # You should have received a copy of the GNU General Public License cannam@140: # along with this program; if not, write to the Free Software cannam@140: # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. cannam@140: # cannam@140: # As a special exception to the GNU General Public License, if you cannam@140: # distribute this file as part of a program that contains a cannam@140: # configuration script generated by Autoconf, you may include it under cannam@140: # the same distribution terms that you use for the rest of that program. cannam@140: cannam@140: # Originally written by Per Bothner . cannam@140: # Please send patches to . Submit a context cannam@140: # diff and a properly formatted ChangeLog entry. cannam@140: # cannam@140: # This script attempts to guess a canonical system name similar to cannam@140: # config.sub. If it succeeds, it prints the system name on stdout, and cannam@140: # exits with 0. Otherwise, it exits with 1. cannam@140: # cannam@140: # The plan is that this can be called by configure scripts if you cannam@140: # don't specify an explicit build system type. cannam@140: cannam@140: me=`echo "$0" | sed -e 's,.*/,,'` cannam@140: cannam@140: usage="\ cannam@140: Usage: $0 [OPTION] cannam@140: cannam@140: Output the configuration name of the system \`$me' is run on. cannam@140: cannam@140: Operation modes: cannam@140: -h, --help print this help, then exit cannam@140: -t, --time-stamp print date of last modification, then exit cannam@140: -v, --version print version number, then exit cannam@140: cannam@140: Report bugs and patches to ." cannam@140: cannam@140: version="\ cannam@140: GNU config.guess ($timestamp) cannam@140: cannam@140: Originally written by Per Bothner. cannam@140: Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 cannam@140: Free Software Foundation, Inc. cannam@140: cannam@140: This is free software; see the source for copying conditions. There is NO cannam@140: warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." cannam@140: cannam@140: help=" cannam@140: Try \`$me --help' for more information." cannam@140: cannam@140: # Parse command line cannam@140: while test $# -gt 0 ; do cannam@140: case $1 in cannam@140: --time-stamp | --time* | -t ) cannam@140: echo "$timestamp" ; exit 0 ;; cannam@140: --version | -v ) cannam@140: echo "$version" ; exit 0 ;; cannam@140: --help | --h* | -h ) cannam@140: echo "$usage"; exit 0 ;; cannam@140: -- ) # Stop option processing cannam@140: shift; break ;; cannam@140: - ) # Use stdin as input. cannam@140: break ;; cannam@140: -* ) cannam@140: echo "$me: invalid option $1$help" >&2 cannam@140: exit 1 ;; cannam@140: * ) cannam@140: break ;; cannam@140: esac cannam@140: done cannam@140: cannam@140: if test $# != 0; then cannam@140: echo "$me: too many arguments$help" >&2 cannam@140: exit 1 cannam@140: fi cannam@140: cannam@140: cannam@140: dummy=dummy-$$ cannam@140: trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 cannam@140: cannam@140: # CC_FOR_BUILD -- compiler used by this script. cannam@140: # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still cannam@140: # use `HOST_CC' if defined, but it is deprecated. cannam@140: cannam@140: set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in cannam@140: ,,) echo "int dummy(){}" > $dummy.c ; cannam@140: for c in cc gcc c89 ; do cannam@140: ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; cannam@140: if test $? = 0 ; then cannam@140: CC_FOR_BUILD="$c"; break ; cannam@140: fi ; cannam@140: done ; cannam@140: rm -f $dummy.c $dummy.o $dummy.rel ; cannam@140: if test x"$CC_FOR_BUILD" = x ; then cannam@140: CC_FOR_BUILD=no_compiler_found ; cannam@140: fi cannam@140: ;; cannam@140: ,,*) CC_FOR_BUILD=$CC ;; cannam@140: ,*,*) CC_FOR_BUILD=$HOST_CC ;; cannam@140: esac' cannam@140: cannam@140: # This is needed to find uname on a Pyramid OSx when run in the BSD universe. cannam@140: # (ghazi@noc.rutgers.edu 1994-08-24) cannam@140: if (test -f /.attbin/uname) >/dev/null 2>&1 ; then cannam@140: PATH=$PATH:/.attbin ; export PATH cannam@140: fi cannam@140: cannam@140: UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown cannam@140: UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown cannam@140: UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown cannam@140: UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown cannam@140: cannam@140: # Note: order is significant - the case branches are not exclusive. cannam@140: cannam@140: case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in cannam@140: *:NetBSD:*:*) cannam@140: # NetBSD (nbsd) targets should (where applicable) match one or cannam@140: # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, cannam@140: # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently cannam@140: # switched to ELF, *-*-netbsd* would select the old cannam@140: # object file format. This provides both forward cannam@140: # compatibility and a consistent mechanism for selecting the cannam@140: # object file format. cannam@140: # Determine the machine/vendor (is the vendor relevant). cannam@140: case "${UNAME_MACHINE}" in cannam@140: amiga) machine=m68k-unknown ;; cannam@140: arm32) machine=arm-unknown ;; cannam@140: atari*) machine=m68k-atari ;; cannam@140: sun3*) machine=m68k-sun ;; cannam@140: mac68k) machine=m68k-apple ;; cannam@140: macppc) machine=powerpc-apple ;; cannam@140: hp3[0-9][05]) machine=m68k-hp ;; cannam@140: ibmrt|romp-ibm) machine=romp-ibm ;; cannam@140: sparc*) machine=`uname -p`-unknown ;; cannam@140: *) machine=${UNAME_MACHINE}-unknown ;; cannam@140: esac cannam@140: # The Operating System including object format, if it has switched cannam@140: # to ELF recently, or will in the future. cannam@140: case "${UNAME_MACHINE}" in cannam@140: i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) cannam@140: eval $set_cc_for_build cannam@140: if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ cannam@140: | grep __ELF__ >/dev/null cannam@140: then cannam@140: # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). cannam@140: # Return netbsd for either. FIX? cannam@140: os=netbsd cannam@140: else cannam@140: os=netbsdelf cannam@140: fi cannam@140: ;; cannam@140: *) cannam@140: os=netbsd cannam@140: ;; cannam@140: esac cannam@140: # The OS release cannam@140: release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` cannam@140: # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: cannam@140: # contains redundant information, the shorter form: cannam@140: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. cannam@140: echo "${machine}-${os}${release}" cannam@140: exit 0 ;; cannam@140: amiga:OpenBSD:*:*) cannam@140: echo m68k-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: arc:OpenBSD:*:*) cannam@140: echo mipsel-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: hp300:OpenBSD:*:*) cannam@140: echo m68k-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: mac68k:OpenBSD:*:*) cannam@140: echo m68k-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: macppc:OpenBSD:*:*) cannam@140: echo powerpc-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: mvme68k:OpenBSD:*:*) cannam@140: echo m68k-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: mvme88k:OpenBSD:*:*) cannam@140: echo m88k-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: mvmeppc:OpenBSD:*:*) cannam@140: echo powerpc-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: pmax:OpenBSD:*:*) cannam@140: echo mipsel-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: sgi:OpenBSD:*:*) cannam@140: echo mipseb-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: sun3:OpenBSD:*:*) cannam@140: echo m68k-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: wgrisc:OpenBSD:*:*) cannam@140: echo mipsel-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: *:OpenBSD:*:*) cannam@140: echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: alpha:OSF1:*:*) cannam@140: if test $UNAME_RELEASE = "V4.0"; then cannam@140: UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` cannam@140: fi cannam@140: # A Vn.n version is a released version. cannam@140: # A Tn.n version is a released field test version. cannam@140: # A Xn.n version is an unreleased experimental baselevel. cannam@140: # 1.2 uses "1.2" for uname -r. cannam@140: cat <$dummy.s cannam@140: .data cannam@140: \$Lformat: cannam@140: .byte 37,100,45,37,120,10,0 # "%d-%x\n" cannam@140: cannam@140: .text cannam@140: .globl main cannam@140: .align 4 cannam@140: .ent main cannam@140: main: cannam@140: .frame \$30,16,\$26,0 cannam@140: ldgp \$29,0(\$27) cannam@140: .prologue 1 cannam@140: .long 0x47e03d80 # implver \$0 cannam@140: lda \$2,-1 cannam@140: .long 0x47e20c21 # amask \$2,\$1 cannam@140: lda \$16,\$Lformat cannam@140: mov \$0,\$17 cannam@140: not \$1,\$18 cannam@140: jsr \$26,printf cannam@140: ldgp \$29,0(\$26) cannam@140: mov 0,\$16 cannam@140: jsr \$26,exit cannam@140: .end main cannam@140: EOF cannam@140: eval $set_cc_for_build cannam@140: $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null cannam@140: if test "$?" = 0 ; then cannam@140: case `./$dummy` in cannam@140: 0-0) cannam@140: UNAME_MACHINE="alpha" cannam@140: ;; cannam@140: 1-0) cannam@140: UNAME_MACHINE="alphaev5" cannam@140: ;; cannam@140: 1-1) cannam@140: UNAME_MACHINE="alphaev56" cannam@140: ;; cannam@140: 1-101) cannam@140: UNAME_MACHINE="alphapca56" cannam@140: ;; cannam@140: 2-303) cannam@140: UNAME_MACHINE="alphaev6" cannam@140: ;; cannam@140: 2-307) cannam@140: UNAME_MACHINE="alphaev67" cannam@140: ;; cannam@140: 2-1307) cannam@140: UNAME_MACHINE="alphaev68" cannam@140: ;; cannam@140: esac cannam@140: fi cannam@140: rm -f $dummy.s $dummy cannam@140: echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` cannam@140: exit 0 ;; cannam@140: Alpha\ *:Windows_NT*:*) cannam@140: # How do we know it's Interix rather than the generic POSIX subsystem? cannam@140: # Should we change UNAME_MACHINE based on the output of uname instead cannam@140: # of the specific Alpha model? cannam@140: echo alpha-pc-interix cannam@140: exit 0 ;; cannam@140: 21064:Windows_NT:50:3) cannam@140: echo alpha-dec-winnt3.5 cannam@140: exit 0 ;; cannam@140: Amiga*:UNIX_System_V:4.0:*) cannam@140: echo m68k-unknown-sysv4 cannam@140: exit 0;; cannam@140: *:[Aa]miga[Oo][Ss]:*:*) cannam@140: echo ${UNAME_MACHINE}-unknown-amigaos cannam@140: exit 0 ;; cannam@140: *:OS/390:*:*) cannam@140: echo i370-ibm-openedition cannam@140: exit 0 ;; cannam@140: arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) cannam@140: echo arm-acorn-riscix${UNAME_RELEASE} cannam@140: exit 0;; cannam@140: SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) cannam@140: echo hppa1.1-hitachi-hiuxmpp cannam@140: exit 0;; cannam@140: Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) cannam@140: # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. cannam@140: if test "`(/bin/universe) 2>/dev/null`" = att ; then cannam@140: echo pyramid-pyramid-sysv3 cannam@140: else cannam@140: echo pyramid-pyramid-bsd cannam@140: fi cannam@140: exit 0 ;; cannam@140: NILE*:*:*:dcosx) cannam@140: echo pyramid-pyramid-svr4 cannam@140: exit 0 ;; cannam@140: sun4H:SunOS:5.*:*) cannam@140: echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` cannam@140: exit 0 ;; cannam@140: sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) cannam@140: echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` cannam@140: exit 0 ;; cannam@140: i86pc:SunOS:5.*:*) cannam@140: echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` cannam@140: exit 0 ;; cannam@140: sun4*:SunOS:6*:*) cannam@140: # According to config.sub, this is the proper way to canonicalize cannam@140: # SunOS6. Hard to guess exactly what SunOS6 will be like, but cannam@140: # it's likely to be more like Solaris than SunOS4. cannam@140: echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` cannam@140: exit 0 ;; cannam@140: sun4*:SunOS:*:*) cannam@140: case "`/usr/bin/arch -k`" in cannam@140: Series*|S4*) cannam@140: UNAME_RELEASE=`uname -v` cannam@140: ;; cannam@140: esac cannam@140: # Japanese Language versions have a version number like `4.1.3-JL'. cannam@140: echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` cannam@140: exit 0 ;; cannam@140: sun3*:SunOS:*:*) cannam@140: echo m68k-sun-sunos${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: sun*:*:4.2BSD:*) cannam@140: UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` cannam@140: test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 cannam@140: case "`/bin/arch`" in cannam@140: sun3) cannam@140: echo m68k-sun-sunos${UNAME_RELEASE} cannam@140: ;; cannam@140: sun4) cannam@140: echo sparc-sun-sunos${UNAME_RELEASE} cannam@140: ;; cannam@140: esac cannam@140: exit 0 ;; cannam@140: aushp:SunOS:*:*) cannam@140: echo sparc-auspex-sunos${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: # The situation for MiNT is a little confusing. The machine name cannam@140: # can be virtually everything (everything which is not cannam@140: # "atarist" or "atariste" at least should have a processor cannam@140: # > m68000). The system name ranges from "MiNT" over "FreeMiNT" cannam@140: # to the lowercase version "mint" (or "freemint"). Finally cannam@140: # the system name "TOS" denotes a system which is actually not cannam@140: # MiNT. But MiNT is downward compatible to TOS, so this should cannam@140: # be no problem. cannam@140: atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) cannam@140: echo m68k-atari-mint${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) cannam@140: echo m68k-atari-mint${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) cannam@140: echo m68k-atari-mint${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) cannam@140: echo m68k-milan-mint${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) cannam@140: echo m68k-hades-mint${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) cannam@140: echo m68k-unknown-mint${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: powerpc:machten:*:*) cannam@140: echo powerpc-apple-machten${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: RISC*:Mach:*:*) cannam@140: echo mips-dec-mach_bsd4.3 cannam@140: exit 0 ;; cannam@140: RISC*:ULTRIX:*:*) cannam@140: echo mips-dec-ultrix${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: VAX*:ULTRIX*:*:*) cannam@140: echo vax-dec-ultrix${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: 2020:CLIX:*:* | 2430:CLIX:*:*) cannam@140: echo clipper-intergraph-clix${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: mips:*:*:UMIPS | mips:*:*:RISCos) cannam@140: eval $set_cc_for_build cannam@140: sed 's/^ //' << EOF >$dummy.c cannam@140: #ifdef __cplusplus cannam@140: #include /* for printf() prototype */ cannam@140: int main (int argc, char *argv[]) { cannam@140: #else cannam@140: int main (argc, argv) int argc; char *argv[]; { cannam@140: #endif cannam@140: #if defined (host_mips) && defined (MIPSEB) cannam@140: #if defined (SYSTYPE_SYSV) cannam@140: printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); cannam@140: #endif cannam@140: #if defined (SYSTYPE_SVR4) cannam@140: printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); cannam@140: #endif cannam@140: #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) cannam@140: printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); cannam@140: #endif cannam@140: #endif cannam@140: exit (-1); cannam@140: } cannam@140: EOF cannam@140: $CC_FOR_BUILD $dummy.c -o $dummy \ cannam@140: && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ cannam@140: && rm -f $dummy.c $dummy && exit 0 cannam@140: rm -f $dummy.c $dummy cannam@140: echo mips-mips-riscos${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: Motorola:PowerMAX_OS:*:*) cannam@140: echo powerpc-motorola-powermax cannam@140: exit 0 ;; cannam@140: Night_Hawk:Power_UNIX:*:*) cannam@140: echo powerpc-harris-powerunix cannam@140: exit 0 ;; cannam@140: m88k:CX/UX:7*:*) cannam@140: echo m88k-harris-cxux7 cannam@140: exit 0 ;; cannam@140: m88k:*:4*:R4*) cannam@140: echo m88k-motorola-sysv4 cannam@140: exit 0 ;; cannam@140: m88k:*:3*:R3*) cannam@140: echo m88k-motorola-sysv3 cannam@140: exit 0 ;; cannam@140: AViiON:dgux:*:*) cannam@140: # DG/UX returns AViiON for all architectures cannam@140: UNAME_PROCESSOR=`/usr/bin/uname -p` cannam@140: if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] cannam@140: then cannam@140: if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ cannam@140: [ ${TARGET_BINARY_INTERFACE}x = x ] cannam@140: then cannam@140: echo m88k-dg-dgux${UNAME_RELEASE} cannam@140: else cannam@140: echo m88k-dg-dguxbcs${UNAME_RELEASE} cannam@140: fi cannam@140: else cannam@140: echo i586-dg-dgux${UNAME_RELEASE} cannam@140: fi cannam@140: exit 0 ;; cannam@140: M88*:DolphinOS:*:*) # DolphinOS (SVR3) cannam@140: echo m88k-dolphin-sysv3 cannam@140: exit 0 ;; cannam@140: M88*:*:R3*:*) cannam@140: # Delta 88k system running SVR3 cannam@140: echo m88k-motorola-sysv3 cannam@140: exit 0 ;; cannam@140: XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) cannam@140: echo m88k-tektronix-sysv3 cannam@140: exit 0 ;; cannam@140: Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) cannam@140: echo m68k-tektronix-bsd cannam@140: exit 0 ;; cannam@140: *:IRIX*:*:*) cannam@140: echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` cannam@140: exit 0 ;; cannam@140: ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. cannam@140: echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id cannam@140: exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' cannam@140: i*86:AIX:*:*) cannam@140: echo i386-ibm-aix cannam@140: exit 0 ;; cannam@140: ia64:AIX:*:*) cannam@140: if [ -x /usr/bin/oslevel ] ; then cannam@140: IBM_REV=`/usr/bin/oslevel` cannam@140: else cannam@140: IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} cannam@140: fi cannam@140: echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} cannam@140: exit 0 ;; cannam@140: *:AIX:2:3) cannam@140: if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then cannam@140: eval $set_cc_for_build cannam@140: sed 's/^ //' << EOF >$dummy.c cannam@140: #include cannam@140: cannam@140: main() cannam@140: { cannam@140: if (!__power_pc()) cannam@140: exit(1); cannam@140: puts("powerpc-ibm-aix3.2.5"); cannam@140: exit(0); cannam@140: } cannam@140: EOF cannam@140: $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 cannam@140: rm -f $dummy.c $dummy cannam@140: echo rs6000-ibm-aix3.2.5 cannam@140: elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then cannam@140: echo rs6000-ibm-aix3.2.4 cannam@140: else cannam@140: echo rs6000-ibm-aix3.2 cannam@140: fi cannam@140: exit 0 ;; cannam@140: *:AIX:*:[45]) cannam@140: IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` cannam@140: if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then cannam@140: IBM_ARCH=rs6000 cannam@140: else cannam@140: IBM_ARCH=powerpc cannam@140: fi cannam@140: if [ -x /usr/bin/oslevel ] ; then cannam@140: IBM_REV=`/usr/bin/oslevel` cannam@140: else cannam@140: IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} cannam@140: fi cannam@140: echo ${IBM_ARCH}-ibm-aix${IBM_REV} cannam@140: exit 0 ;; cannam@140: *:AIX:*:*) cannam@140: echo rs6000-ibm-aix cannam@140: exit 0 ;; cannam@140: ibmrt:4.4BSD:*|romp-ibm:BSD:*) cannam@140: echo romp-ibm-bsd4.4 cannam@140: exit 0 ;; cannam@140: ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and cannam@140: echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to cannam@140: exit 0 ;; # report: romp-ibm BSD 4.3 cannam@140: *:BOSX:*:*) cannam@140: echo rs6000-bull-bosx cannam@140: exit 0 ;; cannam@140: DPX/2?00:B.O.S.:*:*) cannam@140: echo m68k-bull-sysv3 cannam@140: exit 0 ;; cannam@140: 9000/[34]??:4.3bsd:1.*:*) cannam@140: echo m68k-hp-bsd cannam@140: exit 0 ;; cannam@140: hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) cannam@140: echo m68k-hp-bsd4.4 cannam@140: exit 0 ;; cannam@140: 9000/[34678]??:HP-UX:*:*) cannam@140: HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` cannam@140: case "${UNAME_MACHINE}" in cannam@140: 9000/31? ) HP_ARCH=m68000 ;; cannam@140: 9000/[34]?? ) HP_ARCH=m68k ;; cannam@140: 9000/[678][0-9][0-9]) cannam@140: if [ -x /usr/bin/getconf ]; then cannam@140: sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` cannam@140: sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` cannam@140: case "${sc_cpu_version}" in cannam@140: 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 cannam@140: 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 cannam@140: 532) # CPU_PA_RISC2_0 cannam@140: case "${sc_kernel_bits}" in cannam@140: 32) HP_ARCH="hppa2.0n" ;; cannam@140: 64) HP_ARCH="hppa2.0w" ;; cannam@140: '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 cannam@140: esac ;; cannam@140: esac cannam@140: fi cannam@140: if [ "${HP_ARCH}" = "" ]; then cannam@140: eval $set_cc_for_build cannam@140: sed 's/^ //' << EOF >$dummy.c cannam@140: cannam@140: #define _HPUX_SOURCE cannam@140: #include cannam@140: #include cannam@140: cannam@140: int main () cannam@140: { cannam@140: #if defined(_SC_KERNEL_BITS) cannam@140: long bits = sysconf(_SC_KERNEL_BITS); cannam@140: #endif cannam@140: long cpu = sysconf (_SC_CPU_VERSION); cannam@140: cannam@140: switch (cpu) cannam@140: { cannam@140: case CPU_PA_RISC1_0: puts ("hppa1.0"); break; cannam@140: case CPU_PA_RISC1_1: puts ("hppa1.1"); break; cannam@140: case CPU_PA_RISC2_0: cannam@140: #if defined(_SC_KERNEL_BITS) cannam@140: switch (bits) cannam@140: { cannam@140: case 64: puts ("hppa2.0w"); break; cannam@140: case 32: puts ("hppa2.0n"); break; cannam@140: default: puts ("hppa2.0"); break; cannam@140: } break; cannam@140: #else /* !defined(_SC_KERNEL_BITS) */ cannam@140: puts ("hppa2.0"); break; cannam@140: #endif cannam@140: default: puts ("hppa1.0"); break; cannam@140: } cannam@140: exit (0); cannam@140: } cannam@140: EOF cannam@140: (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy` cannam@140: if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi cannam@140: rm -f $dummy.c $dummy cannam@140: fi ;; cannam@140: esac cannam@140: echo ${HP_ARCH}-hp-hpux${HPUX_REV} cannam@140: exit 0 ;; cannam@140: ia64:HP-UX:*:*) cannam@140: HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` cannam@140: echo ia64-hp-hpux${HPUX_REV} cannam@140: exit 0 ;; cannam@140: 3050*:HI-UX:*:*) cannam@140: eval $set_cc_for_build cannam@140: sed 's/^ //' << EOF >$dummy.c cannam@140: #include cannam@140: int cannam@140: main () cannam@140: { cannam@140: long cpu = sysconf (_SC_CPU_VERSION); cannam@140: /* The order matters, because CPU_IS_HP_MC68K erroneously returns cannam@140: true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct cannam@140: results, however. */ cannam@140: if (CPU_IS_PA_RISC (cpu)) cannam@140: { cannam@140: switch (cpu) cannam@140: { cannam@140: case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; cannam@140: case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; cannam@140: case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; cannam@140: default: puts ("hppa-hitachi-hiuxwe2"); break; cannam@140: } cannam@140: } cannam@140: else if (CPU_IS_HP_MC68K (cpu)) cannam@140: puts ("m68k-hitachi-hiuxwe2"); cannam@140: else puts ("unknown-hitachi-hiuxwe2"); cannam@140: exit (0); cannam@140: } cannam@140: EOF cannam@140: $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 cannam@140: rm -f $dummy.c $dummy cannam@140: echo unknown-hitachi-hiuxwe2 cannam@140: exit 0 ;; cannam@140: 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) cannam@140: echo hppa1.1-hp-bsd cannam@140: exit 0 ;; cannam@140: 9000/8??:4.3bsd:*:*) cannam@140: echo hppa1.0-hp-bsd cannam@140: exit 0 ;; cannam@140: *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) cannam@140: echo hppa1.0-hp-mpeix cannam@140: exit 0 ;; cannam@140: hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) cannam@140: echo hppa1.1-hp-osf cannam@140: exit 0 ;; cannam@140: hp8??:OSF1:*:*) cannam@140: echo hppa1.0-hp-osf cannam@140: exit 0 ;; cannam@140: i*86:OSF1:*:*) cannam@140: if [ -x /usr/sbin/sysversion ] ; then cannam@140: echo ${UNAME_MACHINE}-unknown-osf1mk cannam@140: else cannam@140: echo ${UNAME_MACHINE}-unknown-osf1 cannam@140: fi cannam@140: exit 0 ;; cannam@140: parisc*:Lites*:*:*) cannam@140: echo hppa1.1-hp-lites cannam@140: exit 0 ;; cannam@140: C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) cannam@140: echo c1-convex-bsd cannam@140: exit 0 ;; cannam@140: C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) cannam@140: if getsysinfo -f scalar_acc cannam@140: then echo c32-convex-bsd cannam@140: else echo c2-convex-bsd cannam@140: fi cannam@140: exit 0 ;; cannam@140: C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) cannam@140: echo c34-convex-bsd cannam@140: exit 0 ;; cannam@140: C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) cannam@140: echo c38-convex-bsd cannam@140: exit 0 ;; cannam@140: C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) cannam@140: echo c4-convex-bsd cannam@140: exit 0 ;; cannam@140: CRAY*X-MP:*:*:*) cannam@140: echo xmp-cray-unicos cannam@140: exit 0 ;; cannam@140: CRAY*Y-MP:*:*:*) cannam@140: echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' cannam@140: exit 0 ;; cannam@140: CRAY*[A-Z]90:*:*:*) cannam@140: echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ cannam@140: | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ cannam@140: -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ cannam@140: -e 's/\.[^.]*$/.X/' cannam@140: exit 0 ;; cannam@140: CRAY*TS:*:*:*) cannam@140: echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' cannam@140: exit 0 ;; cannam@140: CRAY*T3D:*:*:*) cannam@140: echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' cannam@140: exit 0 ;; cannam@140: CRAY*T3E:*:*:*) cannam@140: echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' cannam@140: exit 0 ;; cannam@140: CRAY*SV1:*:*:*) cannam@140: echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' cannam@140: exit 0 ;; cannam@140: CRAY-2:*:*:*) cannam@140: echo cray2-cray-unicos cannam@140: exit 0 ;; cannam@140: F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) cannam@140: FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` cannam@140: FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` cannam@140: FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` cannam@140: echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" cannam@140: exit 0 ;; cannam@140: i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) cannam@140: echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: sparc*:BSD/OS:*:*) cannam@140: echo sparc-unknown-bsdi${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: *:BSD/OS:*:*) cannam@140: echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: *:FreeBSD:*:*) cannam@140: echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` cannam@140: exit 0 ;; cannam@140: i*:CYGWIN*:*) cannam@140: echo ${UNAME_MACHINE}-pc-cygwin cannam@140: exit 0 ;; cannam@140: i*:MINGW*:*) cannam@140: echo ${UNAME_MACHINE}-pc-mingw32 cannam@140: exit 0 ;; cannam@140: i*:PW*:*) cannam@140: echo ${UNAME_MACHINE}-pc-pw32 cannam@140: exit 0 ;; cannam@140: i*:Windows_NT*:* | Pentium*:Windows_NT*:*) cannam@140: # How do we know it's Interix rather than the generic POSIX subsystem? cannam@140: # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we cannam@140: # UNAME_MACHINE based on the output of uname instead of i386? cannam@140: echo i386-pc-interix cannam@140: exit 0 ;; cannam@140: i*:UWIN*:*) cannam@140: echo ${UNAME_MACHINE}-pc-uwin cannam@140: exit 0 ;; cannam@140: p*:CYGWIN*:*) cannam@140: echo powerpcle-unknown-cygwin cannam@140: exit 0 ;; cannam@140: prep*:SunOS:5.*:*) cannam@140: echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` cannam@140: exit 0 ;; cannam@140: *:GNU:*:*) cannam@140: echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` cannam@140: exit 0 ;; cannam@140: i*86:Minix:*:*) cannam@140: echo ${UNAME_MACHINE}-pc-minix cannam@140: exit 0 ;; cannam@140: arm*:Linux:*:*) cannam@140: echo ${UNAME_MACHINE}-unknown-linux-gnu cannam@140: exit 0 ;; cannam@140: ia64:Linux:*:*) cannam@140: echo ${UNAME_MACHINE}-unknown-linux cannam@140: exit 0 ;; cannam@140: m68*:Linux:*:*) cannam@140: echo ${UNAME_MACHINE}-unknown-linux-gnu cannam@140: exit 0 ;; cannam@140: mips:Linux:*:*) cannam@140: case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in cannam@140: big) echo mips-unknown-linux-gnu && exit 0 ;; cannam@140: little) echo mipsel-unknown-linux-gnu && exit 0 ;; cannam@140: esac cannam@140: ;; cannam@140: ppc:Linux:*:*) cannam@140: echo powerpc-unknown-linux-gnu cannam@140: exit 0 ;; cannam@140: ppc64:Linux:*:*) cannam@140: echo powerpc64-unknown-linux-gnu cannam@140: exit 0 ;; cannam@140: alpha:Linux:*:*) cannam@140: case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in cannam@140: EV5) UNAME_MACHINE=alphaev5 ;; cannam@140: EV56) UNAME_MACHINE=alphaev56 ;; cannam@140: PCA56) UNAME_MACHINE=alphapca56 ;; cannam@140: PCA57) UNAME_MACHINE=alphapca56 ;; cannam@140: EV6) UNAME_MACHINE=alphaev6 ;; cannam@140: EV67) UNAME_MACHINE=alphaev67 ;; cannam@140: EV68*) UNAME_MACHINE=alphaev68 ;; cannam@140: esac cannam@140: objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null cannam@140: if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi cannam@140: echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} cannam@140: exit 0 ;; cannam@140: parisc:Linux:*:* | hppa:Linux:*:*) cannam@140: # Look for CPU level cannam@140: case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in cannam@140: PA7*) echo hppa1.1-unknown-linux-gnu ;; cannam@140: PA8*) echo hppa2.0-unknown-linux-gnu ;; cannam@140: *) echo hppa-unknown-linux-gnu ;; cannam@140: esac cannam@140: exit 0 ;; cannam@140: parisc64:Linux:*:* | hppa64:Linux:*:*) cannam@140: echo hppa64-unknown-linux-gnu cannam@140: exit 0 ;; cannam@140: s390:Linux:*:* | s390x:Linux:*:*) cannam@140: echo ${UNAME_MACHINE}-ibm-linux cannam@140: exit 0 ;; cannam@140: sh*:Linux:*:*) cannam@140: echo ${UNAME_MACHINE}-unknown-linux-gnu cannam@140: exit 0 ;; cannam@140: sparc:Linux:*:* | sparc64:Linux:*:*) cannam@140: echo ${UNAME_MACHINE}-unknown-linux-gnu cannam@140: exit 0 ;; cannam@140: x86_64:Linux:*:*) cannam@140: echo x86_64-unknown-linux-gnu cannam@140: exit 0 ;; cannam@140: i*86:Linux:*:*) cannam@140: # The BFD linker knows what the default object file format is, so cannam@140: # first see if it will tell us. cd to the root directory to prevent cannam@140: # problems with other programs or directories called `ld' in the path. cannam@140: ld_supported_targets=`cd /; ld --help 2>&1 \ cannam@140: | sed -ne '/supported targets:/!d cannam@140: s/[ ][ ]*/ /g cannam@140: s/.*supported targets: *// cannam@140: s/ .*// cannam@140: p'` cannam@140: case "$ld_supported_targets" in cannam@140: elf32-i386) cannam@140: TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" cannam@140: ;; cannam@140: a.out-i386-linux) cannam@140: echo "${UNAME_MACHINE}-pc-linux-gnuaout" cannam@140: exit 0 ;; cannam@140: coff-i386) cannam@140: echo "${UNAME_MACHINE}-pc-linux-gnucoff" cannam@140: exit 0 ;; cannam@140: "") cannam@140: # Either a pre-BFD a.out linker (linux-gnuoldld) or cannam@140: # one that does not give us useful --help. cannam@140: echo "${UNAME_MACHINE}-pc-linux-gnuoldld" cannam@140: exit 0 ;; cannam@140: esac cannam@140: # Determine whether the default compiler is a.out or elf cannam@140: eval $set_cc_for_build cannam@140: cat >$dummy.c < cannam@140: #ifdef __cplusplus cannam@140: #include /* for printf() prototype */ cannam@140: int main (int argc, char *argv[]) { cannam@140: #else cannam@140: int main (argc, argv) int argc; char *argv[]; { cannam@140: #endif cannam@140: #ifdef __ELF__ cannam@140: # ifdef __GLIBC__ cannam@140: # if __GLIBC__ >= 2 cannam@140: printf ("%s-pc-linux-gnu\n", argv[1]); cannam@140: # else cannam@140: printf ("%s-pc-linux-gnulibc1\n", argv[1]); cannam@140: # endif cannam@140: # else cannam@140: printf ("%s-pc-linux-gnulibc1\n", argv[1]); cannam@140: # endif cannam@140: #else cannam@140: printf ("%s-pc-linux-gnuaout\n", argv[1]); cannam@140: #endif cannam@140: return 0; cannam@140: } cannam@140: EOF cannam@140: $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 cannam@140: rm -f $dummy.c $dummy cannam@140: test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 cannam@140: ;; cannam@140: i*86:DYNIX/ptx:4*:*) cannam@140: # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. cannam@140: # earlier versions are messed up and put the nodename in both cannam@140: # sysname and nodename. cannam@140: echo i386-sequent-sysv4 cannam@140: exit 0 ;; cannam@140: i*86:UNIX_SV:4.2MP:2.*) cannam@140: # Unixware is an offshoot of SVR4, but it has its own version cannam@140: # number series starting with 2... cannam@140: # I am not positive that other SVR4 systems won't match this, cannam@140: # I just have to hope. -- rms. cannam@140: # Use sysv4.2uw... so that sysv4* matches it. cannam@140: echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} cannam@140: exit 0 ;; cannam@140: i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) cannam@140: UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` cannam@140: if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then cannam@140: echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} cannam@140: else cannam@140: echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} cannam@140: fi cannam@140: exit 0 ;; cannam@140: i*86:*:5:[78]*) cannam@140: case `/bin/uname -X | grep "^Machine"` in cannam@140: *486*) UNAME_MACHINE=i486 ;; cannam@140: *Pentium) UNAME_MACHINE=i586 ;; cannam@140: *Pent*|*Celeron) UNAME_MACHINE=i686 ;; cannam@140: esac cannam@140: echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} cannam@140: exit 0 ;; cannam@140: i*86:*:3.2:*) cannam@140: if test -f /usr/options/cb.name; then cannam@140: UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then cannam@140: UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` cannam@140: (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 cannam@140: (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ cannam@140: && UNAME_MACHINE=i586 cannam@140: (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ cannam@140: && UNAME_MACHINE=i686 cannam@140: (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ cannam@140: && UNAME_MACHINE=i686 cannam@140: echo ${UNAME_MACHINE}-pc-sco$UNAME_REL cannam@140: else cannam@140: echo ${UNAME_MACHINE}-pc-sysv32 cannam@140: fi cannam@140: exit 0 ;; cannam@140: i*86:*DOS:*:*) cannam@140: echo ${UNAME_MACHINE}-pc-msdosdjgpp cannam@140: exit 0 ;; cannam@140: pc:*:*:*) cannam@140: # Left here for compatibility: cannam@140: # uname -m prints for DJGPP always 'pc', but it prints nothing about cannam@140: # the processor, so we play safe by assuming i386. cannam@140: echo i386-pc-msdosdjgpp cannam@140: exit 0 ;; cannam@140: Intel:Mach:3*:*) cannam@140: echo i386-pc-mach3 cannam@140: exit 0 ;; cannam@140: paragon:*:*:*) cannam@140: echo i860-intel-osf1 cannam@140: exit 0 ;; cannam@140: i860:*:4.*:*) # i860-SVR4 cannam@140: if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then cannam@140: echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 cannam@140: else # Add other i860-SVR4 vendors below as they are discovered. cannam@140: echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 cannam@140: fi cannam@140: exit 0 ;; cannam@140: mini*:CTIX:SYS*5:*) cannam@140: # "miniframe" cannam@140: echo m68010-convergent-sysv cannam@140: exit 0 ;; cannam@140: M68*:*:R3V[567]*:*) cannam@140: test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; cannam@140: 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) cannam@140: OS_REL='' cannam@140: test -r /etc/.relid \ cannam@140: && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` cannam@140: /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ cannam@140: && echo i486-ncr-sysv4.3${OS_REL} && exit 0 cannam@140: /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ cannam@140: && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; cannam@140: 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) cannam@140: /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ cannam@140: && echo i486-ncr-sysv4 && exit 0 ;; cannam@140: m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) cannam@140: echo m68k-unknown-lynxos${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: mc68030:UNIX_System_V:4.*:*) cannam@140: echo m68k-atari-sysv4 cannam@140: exit 0 ;; cannam@140: i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) cannam@140: echo i386-unknown-lynxos${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: TSUNAMI:LynxOS:2.*:*) cannam@140: echo sparc-unknown-lynxos${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: rs6000:LynxOS:2.*:*) cannam@140: echo rs6000-unknown-lynxos${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) cannam@140: echo powerpc-unknown-lynxos${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: SM[BE]S:UNIX_SV:*:*) cannam@140: echo mips-dde-sysv${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: RM*:ReliantUNIX-*:*:*) cannam@140: echo mips-sni-sysv4 cannam@140: exit 0 ;; cannam@140: RM*:SINIX-*:*:*) cannam@140: echo mips-sni-sysv4 cannam@140: exit 0 ;; cannam@140: *:SINIX-*:*:*) cannam@140: if uname -p 2>/dev/null >/dev/null ; then cannam@140: UNAME_MACHINE=`(uname -p) 2>/dev/null` cannam@140: echo ${UNAME_MACHINE}-sni-sysv4 cannam@140: else cannam@140: echo ns32k-sni-sysv cannam@140: fi cannam@140: exit 0 ;; cannam@140: PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort cannam@140: # says cannam@140: echo i586-unisys-sysv4 cannam@140: exit 0 ;; cannam@140: *:UNIX_System_V:4*:FTX*) cannam@140: # From Gerald Hewes . cannam@140: # How about differentiating between stratus architectures? -djm cannam@140: echo hppa1.1-stratus-sysv4 cannam@140: exit 0 ;; cannam@140: *:*:*:FTX*) cannam@140: # From seanf@swdc.stratus.com. cannam@140: echo i860-stratus-sysv4 cannam@140: exit 0 ;; cannam@140: *:VOS:*:*) cannam@140: # From Paul.Green@stratus.com. cannam@140: echo hppa1.1-stratus-vos cannam@140: exit 0 ;; cannam@140: mc68*:A/UX:*:*) cannam@140: echo m68k-apple-aux${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: news*:NEWS-OS:6*:*) cannam@140: echo mips-sony-newsos6 cannam@140: exit 0 ;; cannam@140: R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) cannam@140: if [ -d /usr/nec ]; then cannam@140: echo mips-nec-sysv${UNAME_RELEASE} cannam@140: else cannam@140: echo mips-unknown-sysv${UNAME_RELEASE} cannam@140: fi cannam@140: exit 0 ;; cannam@140: BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. cannam@140: echo powerpc-be-beos cannam@140: exit 0 ;; cannam@140: BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. cannam@140: echo powerpc-apple-beos cannam@140: exit 0 ;; cannam@140: BePC:BeOS:*:*) # BeOS running on Intel PC compatible. cannam@140: echo i586-pc-beos cannam@140: exit 0 ;; cannam@140: SX-4:SUPER-UX:*:*) cannam@140: echo sx4-nec-superux${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: SX-5:SUPER-UX:*:*) cannam@140: echo sx5-nec-superux${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: Power*:Rhapsody:*:*) cannam@140: echo powerpc-apple-rhapsody${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: *:Rhapsody:*:*) cannam@140: echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: *:Darwin:*:*) cannam@140: echo `uname -p`-apple-darwin${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: *:procnto*:*:* | *:QNX:[0123456789]*:*) cannam@140: if test "${UNAME_MACHINE}" = "x86pc"; then cannam@140: UNAME_MACHINE=pc cannam@140: fi cannam@140: echo `uname -p`-${UNAME_MACHINE}-nto-qnx cannam@140: exit 0 ;; cannam@140: *:QNX:*:4*) cannam@140: echo i386-pc-qnx cannam@140: exit 0 ;; cannam@140: NSR-[KW]:NONSTOP_KERNEL:*:*) cannam@140: echo nsr-tandem-nsk${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: *:NonStop-UX:*:*) cannam@140: echo mips-compaq-nonstopux cannam@140: exit 0 ;; cannam@140: BS2000:POSIX*:*:*) cannam@140: echo bs2000-siemens-sysv cannam@140: exit 0 ;; cannam@140: DS/*:UNIX_System_V:*:*) cannam@140: echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} cannam@140: exit 0 ;; cannam@140: *:Plan9:*:*) cannam@140: # "uname -m" is not consistent, so use $cputype instead. 386 cannam@140: # is converted to i386 for consistency with other x86 cannam@140: # operating systems. cannam@140: if test "$cputype" = "386"; then cannam@140: UNAME_MACHINE=i386 cannam@140: else cannam@140: UNAME_MACHINE="$cputype" cannam@140: fi cannam@140: echo ${UNAME_MACHINE}-unknown-plan9 cannam@140: exit 0 ;; cannam@140: i*86:OS/2:*:*) cannam@140: # If we were able to find `uname', then EMX Unix compatibility cannam@140: # is probably installed. cannam@140: echo ${UNAME_MACHINE}-pc-os2-emx cannam@140: exit 0 ;; cannam@140: *:TOPS-10:*:*) cannam@140: echo pdp10-unknown-tops10 cannam@140: exit 0 ;; cannam@140: *:TENEX:*:*) cannam@140: echo pdp10-unknown-tenex cannam@140: exit 0 ;; cannam@140: KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) cannam@140: echo pdp10-dec-tops20 cannam@140: exit 0 ;; cannam@140: XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) cannam@140: echo pdp10-xkl-tops20 cannam@140: exit 0 ;; cannam@140: *:TOPS-20:*:*) cannam@140: echo pdp10-unknown-tops20 cannam@140: exit 0 ;; cannam@140: *:ITS:*:*) cannam@140: echo pdp10-unknown-its cannam@140: exit 0 ;; cannam@140: i*86:XTS-300:*:STOP) cannam@140: echo ${UNAME_MACHINE}-unknown-stop cannam@140: exit 0 ;; cannam@140: i*86:atheos:*:*) cannam@140: echo ${UNAME_MACHINE}-unknown-atheos cannam@140: exit 0 ;; cannam@140: esac cannam@140: cannam@140: #echo '(No uname command or uname output not recognized.)' 1>&2 cannam@140: #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 cannam@140: cannam@140: eval $set_cc_for_build cannam@140: cat >$dummy.c < cannam@140: # include cannam@140: #endif cannam@140: main () cannam@140: { cannam@140: #if defined (sony) cannam@140: #if defined (MIPSEB) cannam@140: /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, cannam@140: I don't know.... */ cannam@140: printf ("mips-sony-bsd\n"); exit (0); cannam@140: #else cannam@140: #include cannam@140: printf ("m68k-sony-newsos%s\n", cannam@140: #ifdef NEWSOS4 cannam@140: "4" cannam@140: #else cannam@140: "" cannam@140: #endif cannam@140: ); exit (0); cannam@140: #endif cannam@140: #endif cannam@140: cannam@140: #if defined (__arm) && defined (__acorn) && defined (__unix) cannam@140: printf ("arm-acorn-riscix"); exit (0); cannam@140: #endif cannam@140: cannam@140: #if defined (hp300) && !defined (hpux) cannam@140: printf ("m68k-hp-bsd\n"); exit (0); cannam@140: #endif cannam@140: cannam@140: #if defined (NeXT) cannam@140: #if !defined (__ARCHITECTURE__) cannam@140: #define __ARCHITECTURE__ "m68k" cannam@140: #endif cannam@140: int version; cannam@140: version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; cannam@140: if (version < 4) cannam@140: printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); cannam@140: else cannam@140: printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); cannam@140: exit (0); cannam@140: #endif cannam@140: cannam@140: #if defined (MULTIMAX) || defined (n16) cannam@140: #if defined (UMAXV) cannam@140: printf ("ns32k-encore-sysv\n"); exit (0); cannam@140: #else cannam@140: #if defined (CMU) cannam@140: printf ("ns32k-encore-mach\n"); exit (0); cannam@140: #else cannam@140: printf ("ns32k-encore-bsd\n"); exit (0); cannam@140: #endif cannam@140: #endif cannam@140: #endif cannam@140: cannam@140: #if defined (__386BSD__) cannam@140: printf ("i386-pc-bsd\n"); exit (0); cannam@140: #endif cannam@140: cannam@140: #if defined (sequent) cannam@140: #if defined (i386) cannam@140: printf ("i386-sequent-dynix\n"); exit (0); cannam@140: #endif cannam@140: #if defined (ns32000) cannam@140: printf ("ns32k-sequent-dynix\n"); exit (0); cannam@140: #endif cannam@140: #endif cannam@140: cannam@140: #if defined (_SEQUENT_) cannam@140: struct utsname un; cannam@140: cannam@140: uname(&un); cannam@140: cannam@140: if (strncmp(un.version, "V2", 2) == 0) { cannam@140: printf ("i386-sequent-ptx2\n"); exit (0); cannam@140: } cannam@140: if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ cannam@140: printf ("i386-sequent-ptx1\n"); exit (0); cannam@140: } cannam@140: printf ("i386-sequent-ptx\n"); exit (0); cannam@140: cannam@140: #endif cannam@140: cannam@140: #if defined (vax) cannam@140: # if !defined (ultrix) cannam@140: # include cannam@140: # if defined (BSD) cannam@140: # if BSD == 43 cannam@140: printf ("vax-dec-bsd4.3\n"); exit (0); cannam@140: # else cannam@140: # if BSD == 199006 cannam@140: printf ("vax-dec-bsd4.3reno\n"); exit (0); cannam@140: # else cannam@140: printf ("vax-dec-bsd\n"); exit (0); cannam@140: # endif cannam@140: # endif cannam@140: # else cannam@140: printf ("vax-dec-bsd\n"); exit (0); cannam@140: # endif cannam@140: # else cannam@140: printf ("vax-dec-ultrix\n"); exit (0); cannam@140: # endif cannam@140: #endif cannam@140: cannam@140: #if defined (alliant) && defined (i860) cannam@140: printf ("i860-alliant-bsd\n"); exit (0); cannam@140: #endif cannam@140: cannam@140: exit (1); cannam@140: } cannam@140: EOF cannam@140: cannam@140: $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 cannam@140: rm -f $dummy.c $dummy cannam@140: cannam@140: # Apollos put the system type in the environment. cannam@140: cannam@140: test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } cannam@140: cannam@140: # Convex versions that predate uname can use getsysinfo(1) cannam@140: cannam@140: if [ -x /usr/convex/getsysinfo ] cannam@140: then cannam@140: case `getsysinfo -f cpu_type` in cannam@140: c1*) cannam@140: echo c1-convex-bsd cannam@140: exit 0 ;; cannam@140: c2*) cannam@140: if getsysinfo -f scalar_acc cannam@140: then echo c32-convex-bsd cannam@140: else echo c2-convex-bsd cannam@140: fi cannam@140: exit 0 ;; cannam@140: c34*) cannam@140: echo c34-convex-bsd cannam@140: exit 0 ;; cannam@140: c38*) cannam@140: echo c38-convex-bsd cannam@140: exit 0 ;; cannam@140: c4*) cannam@140: echo c4-convex-bsd cannam@140: exit 0 ;; cannam@140: esac cannam@140: fi cannam@140: cannam@140: cat >&2 < in order to provide the needed cannam@140: information to handle your system. cannam@140: cannam@140: config.guess timestamp = $timestamp cannam@140: cannam@140: uname -m = `(uname -m) 2>/dev/null || echo unknown` cannam@140: uname -r = `(uname -r) 2>/dev/null || echo unknown` cannam@140: uname -s = `(uname -s) 2>/dev/null || echo unknown` cannam@140: uname -v = `(uname -v) 2>/dev/null || echo unknown` cannam@140: cannam@140: /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` cannam@140: /bin/uname -X = `(/bin/uname -X) 2>/dev/null` cannam@140: cannam@140: hostinfo = `(hostinfo) 2>/dev/null` cannam@140: /bin/universe = `(/bin/universe) 2>/dev/null` cannam@140: /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` cannam@140: /bin/arch = `(/bin/arch) 2>/dev/null` cannam@140: /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` cannam@140: /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` cannam@140: cannam@140: UNAME_MACHINE = ${UNAME_MACHINE} cannam@140: UNAME_RELEASE = ${UNAME_RELEASE} cannam@140: UNAME_SYSTEM = ${UNAME_SYSTEM} cannam@140: UNAME_VERSION = ${UNAME_VERSION} cannam@140: EOF cannam@140: cannam@140: exit 1 cannam@140: cannam@140: # Local variables: cannam@140: # eval: (add-hook 'write-file-hooks 'time-stamp) cannam@140: # time-stamp-start: "timestamp='" cannam@140: # time-stamp-format: "%:y-%02m-%02d" cannam@140: # time-stamp-end: "'" cannam@140: # End: