2
# Attempt to guess a canonical system name.
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
8
# This file is free software; you can redistribute it and/or modify it
9
# under the terms of the GNU General Public License as published by
10
# the Free Software Foundation; either version 2 of the License, or
11
# (at your option) any later version.
13
# This program is distributed in the hope that it will be useful, but
14
# WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
# General Public License for more details.
18
# You should have received a copy of the GNU General Public License
19
# along with this program; if not, write to the Free Software
20
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
# As a special exception to the GNU General Public License, if you
23
# distribute this file as part of a program that contains a
24
# configuration script generated by Autoconf, you may include it under
25
# the same distribution terms that you use for the rest of that program.
27
# Originally written by Per Bothner <per@bothner.com>.
28
# Please send patches to <config-patches@gnu.org>. Submit a context
29
# diff and a properly formatted ChangeLog entry.
31
# This script attempts to guess a canonical system name similar to
32
# config.sub. If it succeeds, it prints the system name on stdout, and
33
# exits with 0. Otherwise, it exits with 1.
35
# The plan is that this can be called by configure scripts if you
36
# don't specify an explicit build system type.
38
me=`echo "$0" | sed -e 's,.*/,,'`
43
Output the configuration name of the system \`$me' is run on.
46
-h, --help print this help, then exit
47
-t, --time-stamp print date of last modification, then exit
48
-v, --version print version number, then exit
50
Report bugs and patches to <config-patches@gnu.org>."
53
GNU config.guess ($timestamp)
55
Originally written by Per Bothner.
56
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57
Free Software Foundation, Inc.
59
This is free software; see the source for copying conditions. There is NO
60
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63
Try \`$me --help' for more information."
66
while test $# -gt 0 ; do
68
--time-stamp | --time* | -t )
69
echo "$timestamp" ; exit 0 ;;
71
echo "$version" ; exit 0 ;;
73
echo "$usage"; exit 0 ;;
74
-- ) # Stop option processing
76
- ) # Use stdin as input.
79
echo "$me: invalid option $1$help" >&2
87
echo "$me: too many arguments$help" >&2
93
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
94
# compiler to aid in system detection is discouraged as it requires
95
# temporary files to be created and, as you can see below, it is a
96
# headache to deal with in a portable fashion.
98
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
99
# use `HOST_CC' if defined, but it is deprecated.
101
# Portable tmp directory creation inspired by the Autoconf team.
104
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
105
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
107
{ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
108
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
109
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
110
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
112
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
113
case $CC_FOR_BUILD,$HOST_CC,$CC in
114
,,) echo "int x;" > $dummy.c ;
115
for c in cc gcc c89 c99 ; do
116
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
117
CC_FOR_BUILD="$c"; break ;
120
if test x"$CC_FOR_BUILD" = x ; then
121
CC_FOR_BUILD=no_compiler_found ;
124
,,*) CC_FOR_BUILD=$CC ;;
125
,*,*) CC_FOR_BUILD=$HOST_CC ;;
128
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
129
# (ghazi@noc.rutgers.edu 1994-08-24)
130
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
131
PATH=$PATH:/.attbin ; export PATH
134
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
135
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
136
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
137
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
140
if test -f /etc/redhat-release ; then
146
# Note: order is significant - the case branches are not exclusive.
148
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
150
# NetBSD (nbsd) targets should (where applicable) match one or
151
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
152
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
153
# switched to ELF, *-*-netbsd* would select the old
154
# object file format. This provides both forward
155
# compatibility and a consistent mechanism for selecting the
156
# object file format.
158
# Note: NetBSD doesn't particularly care about the vendor
159
# portion of the name. We always set it to "unknown".
160
sysctl="sysctl -n hw.machine_arch"
161
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
162
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
163
case "${UNAME_MACHINE_ARCH}" in
164
armeb) machine=armeb-unknown ;;
165
arm*) machine=arm-unknown ;;
166
sh3el) machine=shl-unknown ;;
167
sh3eb) machine=sh-unknown ;;
168
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
170
# The Operating System including object format, if it has switched
171
# to ELF recently, or will in the future.
172
case "${UNAME_MACHINE_ARCH}" in
173
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
174
eval $set_cc_for_build
175
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
176
| grep __ELF__ >/dev/null
178
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
179
# Return netbsd for either. FIX?
190
# Debian GNU/NetBSD machines have a different userland, and
191
# thus, need a distinct triplet. However, they do not need
192
# kernel version information, so it can be replaced with a
193
# suitable tag, in the style of linux-gnu.
194
case "${UNAME_VERSION}" in
199
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
202
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
203
# contains redundant information, the shorter form:
204
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
205
echo "${machine}-${os}${release}"
208
echo m68k-unknown-openbsd${UNAME_RELEASE}
211
echo mipsel-unknown-openbsd${UNAME_RELEASE}
214
echo m68k-unknown-openbsd${UNAME_RELEASE}
217
echo m68k-unknown-openbsd${UNAME_RELEASE}
220
echo powerpc-unknown-openbsd${UNAME_RELEASE}
223
echo m68k-unknown-openbsd${UNAME_RELEASE}
226
echo m88k-unknown-openbsd${UNAME_RELEASE}
229
echo powerpc-unknown-openbsd${UNAME_RELEASE}
232
echo mipsel-unknown-openbsd${UNAME_RELEASE}
235
echo mipseb-unknown-openbsd${UNAME_RELEASE}
238
echo m68k-unknown-openbsd${UNAME_RELEASE}
241
echo mipsel-unknown-openbsd${UNAME_RELEASE}
244
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
247
if test $UNAME_RELEASE = "V4.0"; then
248
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
250
# According to Compaq, /usr/sbin/psrinfo has been available on
251
# OSF/1 and Tru64 systems produced since 1995. I hope that
252
# covers most systems running today. This code pipes the CPU
253
# types through head -n 1, so we only detect the type of CPU 0.
254
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
255
case "$ALPHA_CPU_TYPE" in
257
UNAME_MACHINE="alpha" ;;
259
UNAME_MACHINE="alpha" ;;
260
"LCA4 (21066/21068)")
261
UNAME_MACHINE="alpha" ;;
263
UNAME_MACHINE="alphaev5" ;;
265
UNAME_MACHINE="alphaev56" ;;
267
UNAME_MACHINE="alphapca56" ;;
269
UNAME_MACHINE="alphapca57" ;;
271
UNAME_MACHINE="alphaev6" ;;
273
UNAME_MACHINE="alphaev67" ;;
275
UNAME_MACHINE="alphaev68" ;;
277
UNAME_MACHINE="alphaev68" ;;
279
UNAME_MACHINE="alphaev68" ;;
280
"EV6.9A (21264/EV69A)")
281
UNAME_MACHINE="alphaev69" ;;
283
UNAME_MACHINE="alphaev7" ;;
285
UNAME_MACHINE="alphaev79" ;;
287
# A Vn.n version is a released version.
288
# A Tn.n version is a released field test version.
289
# A Xn.n version is an unreleased experimental baselevel.
290
# 1.2 uses "1.2" for uname -r.
291
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
296
Alpha\ *:Windows_NT*:*)
297
# How do we know it's Interix rather than the generic POSIX subsystem?
298
# Should we change UNAME_MACHINE based on the output of uname instead
299
# of the specific Alpha model?
300
echo alpha-pc-interix
302
21064:Windows_NT:50:3)
303
echo alpha-dec-winnt3.5
305
Amiga*:UNIX_System_V:4.0:*)
306
echo m68k-unknown-sysv4
308
*:[Aa]miga[Oo][Ss]:*:*)
309
echo ${UNAME_MACHINE}-unknown-amigaos
311
*:[Mm]orph[Oo][Ss]:*:*)
312
echo ${UNAME_MACHINE}-unknown-morphos
315
echo i370-ibm-openedition
317
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
318
echo arm-acorn-riscix${UNAME_RELEASE}
320
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
321
echo hppa1.1-hitachi-hiuxmpp
323
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
324
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
325
if test "`(/bin/universe) 2>/dev/null`" = att ; then
326
echo pyramid-pyramid-sysv3
328
echo pyramid-pyramid-bsd
332
echo pyramid-pyramid-svr4
334
DRS?6000:unix:4.0:6*)
337
DRS?6000:UNIX_SV:4.2*:7*)
338
case `/usr/bin/uname -p` in
339
sparc) echo sparc-icl-nx7 && exit 0 ;;
342
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
344
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
345
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
348
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
351
# According to config.sub, this is the proper way to canonicalize
352
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
353
# it's likely to be more like Solaris than SunOS4.
354
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
357
case "`/usr/bin/arch -k`" in
359
UNAME_RELEASE=`uname -v`
362
# Japanese Language versions have a version number like `4.1.3-JL'.
363
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
366
echo m68k-sun-sunos${UNAME_RELEASE}
369
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
370
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
371
case "`/bin/arch`" in
373
echo m68k-sun-sunos${UNAME_RELEASE}
376
echo sparc-sun-sunos${UNAME_RELEASE}
381
echo sparc-auspex-sunos${UNAME_RELEASE}
383
# The situation for MiNT is a little confusing. The machine name
384
# can be virtually everything (everything which is not
385
# "atarist" or "atariste" at least should have a processor
386
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
387
# to the lowercase version "mint" (or "freemint"). Finally
388
# the system name "TOS" denotes a system which is actually not
389
# MiNT. But MiNT is downward compatible to TOS, so this should
391
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
392
echo m68k-atari-mint${UNAME_RELEASE}
394
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
395
echo m68k-atari-mint${UNAME_RELEASE}
397
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
398
echo m68k-atari-mint${UNAME_RELEASE}
400
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
401
echo m68k-milan-mint${UNAME_RELEASE}
403
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
404
echo m68k-hades-mint${UNAME_RELEASE}
406
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
407
echo m68k-unknown-mint${UNAME_RELEASE}
410
echo powerpc-apple-machten${UNAME_RELEASE}
413
echo mips-dec-mach_bsd4.3
416
echo mips-dec-ultrix${UNAME_RELEASE}
419
echo vax-dec-ultrix${UNAME_RELEASE}
421
2020:CLIX:*:* | 2430:CLIX:*:*)
422
echo clipper-intergraph-clix${UNAME_RELEASE}
424
mips:*:*:UMIPS | mips:*:*:RISCos)
425
eval $set_cc_for_build
426
sed 's/^ //' << EOF >$dummy.c
428
#include <stdio.h> /* for printf() prototype */
429
int main (int argc, char *argv[]) {
431
int main (argc, argv) int argc; char *argv[]; {
433
#if defined (host_mips) && defined (MIPSEB)
434
#if defined (SYSTYPE_SYSV)
435
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
437
#if defined (SYSTYPE_SVR4)
438
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
440
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
441
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
447
$CC_FOR_BUILD -o $dummy $dummy.c \
448
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
450
echo mips-mips-riscos${UNAME_RELEASE}
452
Motorola:PowerMAX_OS:*:*)
453
echo powerpc-motorola-powermax
455
Motorola:*:4.3:PL8-*)
456
echo powerpc-harris-powermax
458
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
459
echo powerpc-harris-powermax
461
Night_Hawk:Power_UNIX:*:*)
462
echo powerpc-harris-powerunix
465
echo m88k-harris-cxux7
468
echo m88k-motorola-sysv4
471
echo m88k-motorola-sysv3
474
# DG/UX returns AViiON for all architectures
475
UNAME_PROCESSOR=`/usr/bin/uname -p`
476
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
478
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
479
[ ${TARGET_BINARY_INTERFACE}x = x ]
481
echo m88k-dg-dgux${UNAME_RELEASE}
483
echo m88k-dg-dguxbcs${UNAME_RELEASE}
486
echo i586-dg-dgux${UNAME_RELEASE}
489
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
490
echo m88k-dolphin-sysv3
493
# Delta 88k system running SVR3
494
echo m88k-motorola-sysv3
496
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
497
echo m88k-tektronix-sysv3
499
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
500
echo m68k-tektronix-bsd
503
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
505
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
506
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
507
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
512
if [ -x /usr/bin/oslevel ] ; then
513
IBM_REV=`/usr/bin/oslevel`
515
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
517
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
520
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
521
eval $set_cc_for_build
522
sed 's/^ //' << EOF >$dummy.c
523
#include <sys/systemcfg.h>
529
puts("powerpc-ibm-aix3.2.5");
533
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
534
echo rs6000-ibm-aix3.2.5
535
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
536
echo rs6000-ibm-aix3.2.4
538
echo rs6000-ibm-aix3.2
542
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
543
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
548
if [ -x /usr/bin/oslevel ] ; then
549
IBM_REV=`/usr/bin/oslevel`
551
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
553
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
558
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
561
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
562
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
563
exit 0 ;; # report: romp-ibm BSD 4.3
565
echo rs6000-bull-bosx
570
9000/[34]??:4.3bsd:1.*:*)
573
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
576
9000/[34678]??:HP-UX:*:*)
577
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
578
case "${UNAME_MACHINE}" in
579
9000/31? ) HP_ARCH=m68000 ;;
580
9000/[34]?? ) HP_ARCH=m68k ;;
581
9000/[678][0-9][0-9])
582
if [ -x /usr/bin/getconf ]; then
583
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
584
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
585
case "${sc_cpu_version}" in
586
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
587
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
588
532) # CPU_PA_RISC2_0
589
case "${sc_kernel_bits}" in
590
32) HP_ARCH="hppa2.0n" ;;
591
64) HP_ARCH="hppa2.0w" ;;
592
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
596
if [ "${HP_ARCH}" = "" ]; then
597
eval $set_cc_for_build
598
sed 's/^ //' << EOF >$dummy.c
606
#if defined(_SC_KERNEL_BITS)
607
long bits = sysconf(_SC_KERNEL_BITS);
609
long cpu = sysconf (_SC_CPU_VERSION);
613
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
614
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
616
#if defined(_SC_KERNEL_BITS)
619
case 64: puts ("hppa2.0w"); break;
620
case 32: puts ("hppa2.0n"); break;
621
default: puts ("hppa2.0"); break;
623
#else /* !defined(_SC_KERNEL_BITS) */
624
puts ("hppa2.0"); break;
626
default: puts ("hppa1.0"); break;
631
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
632
test -z "$HP_ARCH" && HP_ARCH=hppa
635
if [ ${HP_ARCH} = "hppa2.0w" ]
637
# avoid double evaluation of $set_cc_for_build
638
test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
639
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
646
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
649
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
650
echo ia64-hp-hpux${HPUX_REV}
653
eval $set_cc_for_build
654
sed 's/^ //' << EOF >$dummy.c
659
long cpu = sysconf (_SC_CPU_VERSION);
660
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
661
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
663
if (CPU_IS_PA_RISC (cpu))
667
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
668
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
669
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
670
default: puts ("hppa-hitachi-hiuxwe2"); break;
673
else if (CPU_IS_HP_MC68K (cpu))
674
puts ("m68k-hitachi-hiuxwe2");
675
else puts ("unknown-hitachi-hiuxwe2");
679
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
680
echo unknown-hitachi-hiuxwe2
682
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
688
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
689
echo hppa1.0-hp-mpeix
691
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
698
if [ -x /usr/sbin/sysversion ] ; then
699
echo ${UNAME_MACHINE}-unknown-osf1mk
701
echo ${UNAME_MACHINE}-unknown-osf1
705
echo hppa1.1-hp-lites
707
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
710
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
711
if getsysinfo -f scalar_acc
712
then echo c32-convex-bsd
713
else echo c2-convex-bsd
716
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
719
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
722
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
726
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
729
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
730
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
731
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
735
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
738
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
741
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
744
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
746
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
747
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
748
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
749
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
750
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
752
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
753
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
756
echo sparc-unknown-bsdi${UNAME_RELEASE}
759
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
761
*:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
762
# Determine whether the default compiler uses glibc.
763
eval $set_cc_for_build
764
sed 's/^ //' << EOF >$dummy.c
765
#include <features.h>
772
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
773
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
776
echo ${UNAME_MACHINE}-pc-cygwin
779
echo ${UNAME_MACHINE}-pc-mingw32
782
echo ${UNAME_MACHINE}-pc-pw32
785
echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
787
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
788
echo i${UNAME_MACHINE}-pc-mks
790
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
791
# How do we know it's Interix rather than the generic POSIX subsystem?
792
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
793
# UNAME_MACHINE based on the output of uname instead of i386?
797
echo ${UNAME_MACHINE}-pc-uwin
800
echo powerpcle-unknown-cygwin
803
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
806
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
809
echo ${UNAME_MACHINE}-pc-minix
812
echo ${UNAME_MACHINE}-unknown-linux-gnu
815
echo cris-axis-linux-gnu
818
echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
821
echo ${UNAME_MACHINE}-unknown-linux-gnu
824
eval $set_cc_for_build
825
sed 's/^ //' << EOF >$dummy.c
829
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
832
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
839
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
840
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
843
eval $set_cc_for_build
844
sed 's/^ //' << EOF >$dummy.c
848
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
851
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
858
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
859
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
862
echo powerpc-${VENDOR:-unknown}-linux-gnu
865
echo powerpc64-${VENDOR:-unknown}-linux-gnu
868
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
869
EV5) UNAME_MACHINE=alphaev5 ;;
870
EV56) UNAME_MACHINE=alphaev56 ;;
871
PCA56) UNAME_MACHINE=alphapca56 ;;
872
PCA57) UNAME_MACHINE=alphapca56 ;;
873
EV6) UNAME_MACHINE=alphaev6 ;;
874
EV67) UNAME_MACHINE=alphaev67 ;;
875
EV68*) UNAME_MACHINE=alphaev68 ;;
877
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
878
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
879
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
881
parisc:Linux:*:* | hppa:Linux:*:*)
883
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
884
PA7*) echo hppa1.1-unknown-linux-gnu ;;
885
PA8*) echo hppa2.0-unknown-linux-gnu ;;
886
*) echo hppa-unknown-linux-gnu ;;
889
parisc64:Linux:*:* | hppa64:Linux:*:*)
890
echo hppa64-unknown-linux-gnu
892
s390:Linux:*:* | s390x:Linux:*:*)
893
echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu
896
echo ${UNAME_MACHINE}-unknown-linux-gnu
899
echo ${UNAME_MACHINE}-unknown-linux-gnu
901
sparc:Linux:*:* | sparc64:Linux:*:*)
902
echo ${UNAME_MACHINE}-unknown-linux-gnu
905
echo x86_64-${VENDOR:-unknown}-linux-gnu
908
# The BFD linker knows what the default object file format is, so
909
# first see if it will tell us. cd to the root directory to prevent
910
# problems with other programs or directories called `ld' in the path.
911
# Set LC_ALL=C to ensure ld outputs messages in English.
912
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
913
| sed -ne '/supported targets:/!d
915
s/.*supported targets: *//
918
case "$ld_supported_targets" in
920
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
923
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
926
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
929
# Either a pre-BFD a.out linker (linux-gnuoldld) or
930
# one that does not give us useful --help.
931
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
934
# Determine whether the default compiler is a.out or elf
935
eval $set_cc_for_build
936
sed 's/^ //' << EOF >$dummy.c
937
#include <features.h>
949
#ifdef __INTEL_COMPILER
956
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
957
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0
958
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
961
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
962
# earlier versions are messed up and put the nodename in both
963
# sysname and nodename.
964
echo i386-sequent-sysv4
966
i*86:UNIX_SV:4.2MP:2.*)
967
# Unixware is an offshoot of SVR4, but it has its own version
968
# number series starting with 2...
969
# I am not positive that other SVR4 systems won't match this,
970
# I just have to hope. -- rms.
971
# Use sysv4.2uw... so that sysv4* matches it.
972
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
975
# If we were able to find `uname', then EMX Unix compatibility
976
# is probably installed.
977
echo ${UNAME_MACHINE}-pc-os2-emx
980
echo ${UNAME_MACHINE}-unknown-stop
983
echo ${UNAME_MACHINE}-unknown-atheos
985
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
986
echo i386-unknown-lynxos${UNAME_RELEASE}
989
echo ${UNAME_MACHINE}-pc-msdosdjgpp
991
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
992
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
993
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
994
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
996
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1000
case `/bin/uname -X | grep "^Machine"` in
1001
*486*) UNAME_MACHINE=i486 ;;
1002
*Pentium) UNAME_MACHINE=i586 ;;
1003
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1005
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1008
if test -f /usr/options/cb.name; then
1009
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1010
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1011
elif /bin/uname -X 2>/dev/null >/dev/null ; then
1012
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1013
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1014
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1015
&& UNAME_MACHINE=i586
1016
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1017
&& UNAME_MACHINE=i686
1018
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1019
&& UNAME_MACHINE=i686
1020
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1022
echo ${UNAME_MACHINE}-pc-sysv32
1026
# Left here for compatibility:
1027
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1028
# the processor, so we play safe by assuming i386.
1029
echo i386-pc-msdosdjgpp
1035
echo i860-intel-osf1
1037
i860:*:4.*:*) # i860-SVR4
1038
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1039
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1040
else # Add other i860-SVR4 vendors below as they are discovered.
1041
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1046
echo m68010-convergent-sysv
1048
mc68k:UNIX:SYSTEM5:3.51m)
1049
echo m68k-convergent-sysv
1055
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1056
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
1058
test -r /etc/.relid \
1059
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1060
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1061
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1062
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1063
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1064
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1065
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1066
&& echo i486-ncr-sysv4 && exit 0 ;;
1067
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1068
echo m68k-unknown-lynxos${UNAME_RELEASE}
1070
mc68030:UNIX_System_V:4.*:*)
1071
echo m68k-atari-sysv4
1073
TSUNAMI:LynxOS:2.*:*)
1074
echo sparc-unknown-lynxos${UNAME_RELEASE}
1076
rs6000:LynxOS:2.*:*)
1077
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1079
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1080
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1082
SM[BE]S:UNIX_SV:*:*)
1083
echo mips-dde-sysv${UNAME_RELEASE}
1085
RM*:ReliantUNIX-*:*:*)
1092
if uname -p 2>/dev/null >/dev/null ; then
1093
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1094
echo ${UNAME_MACHINE}-sni-sysv4
1099
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1100
# says <Richard.M.Bartel@ccMail.Census.GOV>
1101
echo i586-unisys-sysv4
1103
*:UNIX_System_V:4*:FTX*)
1104
# From Gerald Hewes <hewes@openmarket.com>.
1105
# How about differentiating between stratus architectures? -djm
1106
echo hppa1.1-stratus-sysv4
1109
# From seanf@swdc.stratus.com.
1110
echo i860-stratus-sysv4
1113
# From Paul.Green@stratus.com.
1114
echo hppa1.1-stratus-vos
1117
echo m68k-apple-aux${UNAME_RELEASE}
1120
echo mips-sony-newsos6
1122
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1123
if [ -d /usr/nec ]; then
1124
echo mips-nec-sysv${UNAME_RELEASE}
1126
echo mips-unknown-sysv${UNAME_RELEASE}
1129
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1130
echo powerpc-be-beos
1132
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1133
echo powerpc-apple-beos
1135
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1139
echo sx4-nec-superux${UNAME_RELEASE}
1142
echo sx5-nec-superux${UNAME_RELEASE}
1145
echo sx6-nec-superux${UNAME_RELEASE}
1147
Power*:Rhapsody:*:*)
1148
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1151
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1155
*86) UNAME_PROCESSOR=i686 ;;
1156
powerpc) UNAME_PROCESSOR=powerpc ;;
1158
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1160
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1161
UNAME_PROCESSOR=`uname -p`
1162
if test "$UNAME_PROCESSOR" = "x86"; then
1163
UNAME_PROCESSOR=i386
1166
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1171
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1172
echo nsr-tandem-nsk${UNAME_RELEASE}
1175
echo mips-compaq-nonstopux
1178
echo bs2000-siemens-sysv
1180
DS/*:UNIX_System_V:*:*)
1181
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1184
# "uname -m" is not consistent, so use $cputype instead. 386
1185
# is converted to i386 for consistency with other x86
1186
# operating systems.
1187
if test "$cputype" = "386"; then
1190
UNAME_MACHINE="$cputype"
1192
echo ${UNAME_MACHINE}-unknown-plan9
1195
echo pdp10-unknown-tops10
1198
echo pdp10-unknown-tenex
1200
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1201
echo pdp10-dec-tops20
1203
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1204
echo pdp10-xkl-tops20
1207
echo pdp10-unknown-tops20
1210
echo pdp10-unknown-its
1213
echo mips-sei-seiux${UNAME_RELEASE}
1217
#echo '(No uname command or uname output not recognized.)' 1>&2
1218
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1220
eval $set_cc_for_build
1223
# include <sys/types.h>
1224
# include <sys/utsname.h>
1229
#if defined (MIPSEB)
1230
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1232
printf ("mips-sony-bsd\n"); exit (0);
1234
#include <sys/param.h>
1235
printf ("m68k-sony-newsos%s\n",
1245
#if defined (__arm) && defined (__acorn) && defined (__unix)
1246
printf ("arm-acorn-riscix"); exit (0);
1249
#if defined (hp300) && !defined (hpux)
1250
printf ("m68k-hp-bsd\n"); exit (0);
1254
#if !defined (__ARCHITECTURE__)
1255
#define __ARCHITECTURE__ "m68k"
1258
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1260
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1262
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1266
#if defined (MULTIMAX) || defined (n16)
1268
printf ("ns32k-encore-sysv\n"); exit (0);
1271
printf ("ns32k-encore-mach\n"); exit (0);
1273
printf ("ns32k-encore-bsd\n"); exit (0);
1278
#if defined (__386BSD__)
1279
printf ("i386-pc-bsd\n"); exit (0);
1282
#if defined (sequent)
1284
printf ("i386-sequent-dynix\n"); exit (0);
1286
#if defined (ns32000)
1287
printf ("ns32k-sequent-dynix\n"); exit (0);
1291
#if defined (_SEQUENT_)
1296
if (strncmp(un.version, "V2", 2) == 0) {
1297
printf ("i386-sequent-ptx2\n"); exit (0);
1299
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1300
printf ("i386-sequent-ptx1\n"); exit (0);
1302
printf ("i386-sequent-ptx\n"); exit (0);
1307
# if !defined (ultrix)
1308
# include <sys/param.h>
1311
printf ("vax-dec-bsd4.3\n"); exit (0);
1314
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1316
printf ("vax-dec-bsd\n"); exit (0);
1320
printf ("vax-dec-bsd\n"); exit (0);
1323
printf ("vax-dec-ultrix\n"); exit (0);
1327
#if defined (alliant) && defined (i860)
1328
printf ("i860-alliant-bsd\n"); exit (0);
1335
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1337
# Apollos put the system type in the environment.
1339
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1341
# Convex versions that predate uname can use getsysinfo(1)
1343
if [ -x /usr/convex/getsysinfo ]
1345
case `getsysinfo -f cpu_type` in
1350
if getsysinfo -f scalar_acc
1351
then echo c32-convex-bsd
1352
else echo c2-convex-bsd
1368
$0: unable to guess system type
1370
This script, last modified $timestamp, has failed to recognize
1371
the operating system you are using. It is advised that you
1372
download the most up to date version of the config scripts from
1374
ftp://ftp.gnu.org/pub/gnu/config/
1376
If the version you run ($0) is already up to date, please
1377
send the following data and any information you think might be
1378
pertinent to <config-patches@gnu.org> in order to provide the needed
1379
information to handle your system.
1381
config.guess timestamp = $timestamp
1383
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1384
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1385
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1386
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1388
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1389
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1391
hostinfo = `(hostinfo) 2>/dev/null`
1392
/bin/universe = `(/bin/universe) 2>/dev/null`
1393
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1394
/bin/arch = `(/bin/arch) 2>/dev/null`
1395
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1396
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1398
UNAME_MACHINE = ${UNAME_MACHINE}
1399
UNAME_RELEASE = ${UNAME_RELEASE}
1400
UNAME_SYSTEM = ${UNAME_SYSTEM}
1401
UNAME_VERSION = ${UNAME_VERSION}
1407
# eval: (add-hook 'write-file-hooks 'time-stamp)
1408
# time-stamp-start: "timestamp='"
1409
# time-stamp-format: "%:y-%02m-%02d"
1410
# time-stamp-end: "'"