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