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
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
111
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
112
case $CC_FOR_BUILD,$HOST_CC,$CC in
113
,,) echo "int x;" > $dummy.c ;
114
for c in cc gcc c89 c99 ; do
115
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
116
CC_FOR_BUILD="$c"; break ;
119
if test x"$CC_FOR_BUILD" = x ; then
120
CC_FOR_BUILD=no_compiler_found ;
123
,,*) CC_FOR_BUILD=$CC ;;
124
,*,*) CC_FOR_BUILD=$HOST_CC ;;
127
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
128
# (ghazi@noc.rutgers.edu 1994-08-24)
129
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
130
PATH=$PATH:/.attbin ; export PATH
133
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
134
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
135
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
136
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
138
# Note: order is significant - the case branches are not exclusive.
140
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
142
# NetBSD (nbsd) targets should (where applicable) match one or
143
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
144
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
145
# switched to ELF, *-*-netbsd* would select the old
146
# object file format. This provides both forward
147
# compatibility and a consistent mechanism for selecting the
148
# object file format.
150
# Note: NetBSD doesn't particularly care about the vendor
151
# portion of the name. We always set it to "unknown".
152
sysctl="sysctl -n hw.machine_arch"
153
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
154
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
155
case "${UNAME_MACHINE_ARCH}" in
156
armeb) machine=armeb-unknown ;;
157
arm*) machine=arm-unknown ;;
158
sh3el) machine=shl-unknown ;;
159
sh3eb) machine=sh-unknown ;;
160
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
162
# The Operating System including object format, if it has switched
163
# to ELF recently, or will in the future.
164
case "${UNAME_MACHINE_ARCH}" in
165
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
166
eval $set_cc_for_build
167
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
168
| grep __ELF__ >/dev/null
170
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
171
# Return netbsd for either. FIX?
182
# Debian GNU/NetBSD machines have a different userland, and
183
# thus, need a distinct triplet. However, they do not need
184
# kernel version information, so it can be replaced with a
185
# suitable tag, in the style of linux-gnu.
186
case "${UNAME_VERSION}" in
191
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
194
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
195
# contains redundant information, the shorter form:
196
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
197
echo "${machine}-${os}${release}"
200
echo m68k-unknown-openbsd${UNAME_RELEASE}
203
echo mipsel-unknown-openbsd${UNAME_RELEASE}
206
echo m68k-unknown-openbsd${UNAME_RELEASE}
209
echo m68k-unknown-openbsd${UNAME_RELEASE}
212
echo powerpc-unknown-openbsd${UNAME_RELEASE}
215
echo m68k-unknown-openbsd${UNAME_RELEASE}
218
echo m88k-unknown-openbsd${UNAME_RELEASE}
221
echo powerpc-unknown-openbsd${UNAME_RELEASE}
224
echo mipsel-unknown-openbsd${UNAME_RELEASE}
227
echo mipseb-unknown-openbsd${UNAME_RELEASE}
230
echo m68k-unknown-openbsd${UNAME_RELEASE}
233
echo mipsel-unknown-openbsd${UNAME_RELEASE}
236
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
239
echo ${UNAME_MACHINE}-unknown-microbsd${UNAME_RELEASE}
242
if test $UNAME_RELEASE = "V4.0"; then
243
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
245
# A Vn.n version is a released version.
246
# A Tn.n version is a released field test version.
247
# A Xn.n version is an unreleased experimental baselevel.
248
# 1.2 uses "1.2" for uname -r.
249
eval $set_cc_for_build
253
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
260
.frame \$30,16,\$26,0
263
.long 0x47e03d80 # implver \$0
265
.long 0x47e20c21 # amask \$2,\$1
275
$CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
276
if test "$?" = 0 ; then
279
UNAME_MACHINE="alpha"
282
UNAME_MACHINE="alphaev5"
285
UNAME_MACHINE="alphaev56"
288
UNAME_MACHINE="alphapca56"
291
UNAME_MACHINE="alphaev6"
294
UNAME_MACHINE="alphaev67"
297
UNAME_MACHINE="alphaev68"
300
UNAME_MACHINE="alphaev7"
304
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
306
Alpha\ *:Windows_NT*:*)
307
# How do we know it's Interix rather than the generic POSIX subsystem?
308
# Should we change UNAME_MACHINE based on the output of uname instead
309
# of the specific Alpha model?
310
echo alpha-pc-interix
312
21064:Windows_NT:50:3)
313
echo alpha-dec-winnt3.5
315
Amiga*:UNIX_System_V:4.0:*)
316
echo m68k-unknown-sysv4
318
*:[Aa]miga[Oo][Ss]:*:*)
319
echo ${UNAME_MACHINE}-unknown-amigaos
321
*:[Mm]orph[Oo][Ss]:*:*)
322
echo ${UNAME_MACHINE}-unknown-morphos
325
echo i370-ibm-openedition
327
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
328
echo arm-acorn-riscix${UNAME_RELEASE}
330
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
331
echo hppa1.1-hitachi-hiuxmpp
333
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
334
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
335
if test "`(/bin/universe) 2>/dev/null`" = att ; then
336
echo pyramid-pyramid-sysv3
338
echo pyramid-pyramid-bsd
342
echo pyramid-pyramid-svr4
344
DRS?6000:UNIX_SV:4.2*:7*)
345
case `/usr/bin/uname -p` in
346
sparc) echo sparc-icl-nx7 && exit 0 ;;
349
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
351
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
352
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
355
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
358
# According to config.sub, this is the proper way to canonicalize
359
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
360
# it's likely to be more like Solaris than SunOS4.
361
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
364
case "`/usr/bin/arch -k`" in
366
UNAME_RELEASE=`uname -v`
369
# Japanese Language versions have a version number like `4.1.3-JL'.
370
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
373
echo m68k-sun-sunos${UNAME_RELEASE}
376
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
377
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
378
case "`/bin/arch`" in
380
echo m68k-sun-sunos${UNAME_RELEASE}
383
echo sparc-sun-sunos${UNAME_RELEASE}
388
echo sparc-auspex-sunos${UNAME_RELEASE}
390
# The situation for MiNT is a little confusing. The machine name
391
# can be virtually everything (everything which is not
392
# "atarist" or "atariste" at least should have a processor
393
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
394
# to the lowercase version "mint" (or "freemint"). Finally
395
# the system name "TOS" denotes a system which is actually not
396
# MiNT. But MiNT is downward compatible to TOS, so this should
398
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
399
echo m68k-atari-mint${UNAME_RELEASE}
401
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
402
echo m68k-atari-mint${UNAME_RELEASE}
404
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
405
echo m68k-atari-mint${UNAME_RELEASE}
407
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
408
echo m68k-milan-mint${UNAME_RELEASE}
410
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
411
echo m68k-hades-mint${UNAME_RELEASE}
413
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
414
echo m68k-unknown-mint${UNAME_RELEASE}
417
echo powerpc-apple-machten${UNAME_RELEASE}
420
echo mips-dec-mach_bsd4.3
423
echo mips-dec-ultrix${UNAME_RELEASE}
426
echo vax-dec-ultrix${UNAME_RELEASE}
428
2020:CLIX:*:* | 2430:CLIX:*:*)
429
echo clipper-intergraph-clix${UNAME_RELEASE}
431
mips:*:*:UMIPS | mips:*:*:RISCos)
432
eval $set_cc_for_build
433
sed 's/^ //' << EOF >$dummy.c
435
#include <stdio.h> /* for printf() prototype */
436
int main (int argc, char *argv[]) {
438
int main (argc, argv) int argc; char *argv[]; {
440
#if defined (host_mips) && defined (MIPSEB)
441
#if defined (SYSTYPE_SYSV)
442
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
444
#if defined (SYSTYPE_SVR4)
445
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
447
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
448
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
454
$CC_FOR_BUILD -o $dummy $dummy.c \
455
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
457
echo mips-mips-riscos${UNAME_RELEASE}
459
Motorola:PowerMAX_OS:*:*)
460
echo powerpc-motorola-powermax
462
Motorola:*:4.3:PL8-*)
463
echo powerpc-harris-powermax
465
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
466
echo powerpc-harris-powermax
468
Night_Hawk:Power_UNIX:*:*)
469
echo powerpc-harris-powerunix
472
echo m88k-harris-cxux7
475
echo m88k-motorola-sysv4
478
echo m88k-motorola-sysv3
481
# DG/UX returns AViiON for all architectures
482
UNAME_PROCESSOR=`/usr/bin/uname -p`
483
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
485
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
486
[ ${TARGET_BINARY_INTERFACE}x = x ]
488
echo m88k-dg-dgux${UNAME_RELEASE}
490
echo m88k-dg-dguxbcs${UNAME_RELEASE}
493
echo i586-dg-dgux${UNAME_RELEASE}
496
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
497
echo m88k-dolphin-sysv3
500
# Delta 88k system running SVR3
501
echo m88k-motorola-sysv3
503
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
504
echo m88k-tektronix-sysv3
506
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
507
echo m68k-tektronix-bsd
510
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
512
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
513
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
514
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
519
if [ -x /usr/bin/oslevel ] ; then
520
IBM_REV=`/usr/bin/oslevel`
522
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
524
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
527
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
528
eval $set_cc_for_build
529
sed 's/^ //' << EOF >$dummy.c
530
#include <sys/systemcfg.h>
536
puts("powerpc-ibm-aix3.2.5");
540
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
541
echo rs6000-ibm-aix3.2.5
542
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
543
echo rs6000-ibm-aix3.2.4
545
echo rs6000-ibm-aix3.2
549
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
550
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
555
if [ -x /usr/bin/oslevel ] ; then
556
IBM_REV=`/usr/bin/oslevel`
558
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
560
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
565
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
568
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
569
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
570
exit 0 ;; # report: romp-ibm BSD 4.3
572
echo rs6000-bull-bosx
577
9000/[34]??:4.3bsd:1.*:*)
580
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
583
9000/[34678]??:HP-UX:*:*)
584
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
585
case "${UNAME_MACHINE}" in
586
9000/31? ) HP_ARCH=m68000 ;;
587
9000/[34]?? ) HP_ARCH=m68k ;;
588
9000/[678][0-9][0-9])
589
if [ -x /usr/bin/getconf ]; then
590
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
591
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
592
case "${sc_cpu_version}" in
593
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
594
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
595
532) # CPU_PA_RISC2_0
596
case "${sc_kernel_bits}" in
597
32) HP_ARCH="hppa2.0n" ;;
598
64) HP_ARCH="hppa2.0w" ;;
599
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
603
if [ "${HP_ARCH}" = "" ]; then
604
eval $set_cc_for_build
605
sed 's/^ //' << EOF >$dummy.c
613
#if defined(_SC_KERNEL_BITS)
614
long bits = sysconf(_SC_KERNEL_BITS);
616
long cpu = sysconf (_SC_CPU_VERSION);
620
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
621
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
623
#if defined(_SC_KERNEL_BITS)
626
case 64: puts ("hppa2.0w"); break;
627
case 32: puts ("hppa2.0n"); break;
628
default: puts ("hppa2.0"); break;
630
#else /* !defined(_SC_KERNEL_BITS) */
631
puts ("hppa2.0"); break;
633
default: puts ("hppa1.0"); break;
638
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
639
test -z "$HP_ARCH" && HP_ARCH=hppa
642
if [ ${HP_ARCH} = "hppa2.0w" ]
644
# avoid double evaluation of $set_cc_for_build
645
test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
646
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
653
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
656
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
657
echo ia64-hp-hpux${HPUX_REV}
660
eval $set_cc_for_build
661
sed 's/^ //' << EOF >$dummy.c
666
long cpu = sysconf (_SC_CPU_VERSION);
667
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
668
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
670
if (CPU_IS_PA_RISC (cpu))
674
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
675
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
676
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
677
default: puts ("hppa-hitachi-hiuxwe2"); break;
680
else if (CPU_IS_HP_MC68K (cpu))
681
puts ("m68k-hitachi-hiuxwe2");
682
else puts ("unknown-hitachi-hiuxwe2");
686
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
687
echo unknown-hitachi-hiuxwe2
689
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
695
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
696
echo hppa1.0-hp-mpeix
698
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
705
if [ -x /usr/sbin/sysversion ] ; then
706
echo ${UNAME_MACHINE}-unknown-osf1mk
708
echo ${UNAME_MACHINE}-unknown-osf1
712
echo hppa1.1-hp-lites
714
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
717
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
718
if getsysinfo -f scalar_acc
719
then echo c32-convex-bsd
720
else echo c2-convex-bsd
723
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
726
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
729
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
733
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
736
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
737
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
738
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
742
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
745
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
748
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
751
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
753
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
754
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
755
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
756
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
757
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
759
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
760
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
763
echo sparc-unknown-bsdi${UNAME_RELEASE}
766
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
769
# Determine whether the default compiler uses glibc.
770
eval $set_cc_for_build
771
sed 's/^ //' << EOF >$dummy.c
772
#include <features.h>
779
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
780
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
783
echo ${UNAME_MACHINE}-pc-cygwin
786
echo ${UNAME_MACHINE}-pc-mingw32
789
echo ${UNAME_MACHINE}-pc-pw32
792
echo i586-pc-interix3
794
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
795
echo i${UNAME_MACHINE}-pc-mks
797
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
798
# How do we know it's Interix rather than the generic POSIX subsystem?
799
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
800
# UNAME_MACHINE based on the output of uname instead of i386?
804
echo ${UNAME_MACHINE}-pc-uwin
807
echo powerpcle-unknown-cygwin
810
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
813
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
816
echo ${UNAME_MACHINE}-pc-minix
819
echo ${UNAME_MACHINE}-unknown-linux-gnu
822
echo ${UNAME_MACHINE}-unknown-linux-gnu
825
echo ${UNAME_MACHINE}-unknown-linux-gnu
828
eval $set_cc_for_build
829
sed 's/^ //' << EOF >$dummy.c
833
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
836
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
843
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
844
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
847
eval $set_cc_for_build
848
sed 's/^ //' << EOF >$dummy.c
852
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
855
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
862
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
863
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
866
echo powerpc-unknown-linux-gnu
869
echo powerpc64-unknown-linux-gnu
872
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
873
EV5) UNAME_MACHINE=alphaev5 ;;
874
EV56) UNAME_MACHINE=alphaev56 ;;
875
PCA56) UNAME_MACHINE=alphapca56 ;;
876
PCA57) UNAME_MACHINE=alphapca56 ;;
877
EV6) UNAME_MACHINE=alphaev6 ;;
878
EV67) UNAME_MACHINE=alphaev67 ;;
879
EV68*) UNAME_MACHINE=alphaev68 ;;
881
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
882
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
883
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
885
parisc:Linux:*:* | hppa:Linux:*:*)
887
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
888
PA7*) echo hppa1.1-unknown-linux-gnu ;;
889
PA8*) echo hppa2.0-unknown-linux-gnu ;;
890
*) echo hppa-unknown-linux-gnu ;;
893
parisc64:Linux:*:* | hppa64:Linux:*:*)
894
echo hppa64-unknown-linux-gnu
896
s390:Linux:*:* | s390x:Linux:*:*)
897
echo ${UNAME_MACHINE}-ibm-linux
900
echo ${UNAME_MACHINE}-unknown-linux-gnu
902
sparc:Linux:*:* | sparc64:Linux:*:*)
903
echo ${UNAME_MACHINE}-unknown-linux-gnu
906
echo x86_64-unknown-linux-gnu
909
# The BFD linker knows what the default object file format is, so
910
# first see if it will tell us. cd to the root directory to prevent
911
# problems with other programs or directories called `ld' in the path.
912
# Set LC_ALL=C to ensure ld outputs messages in English.
913
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
914
| sed -ne '/supported targets:/!d
916
s/.*supported targets: *//
919
case "$ld_supported_targets" in
921
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
924
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
927
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
930
# Either a pre-BFD a.out linker (linux-gnuoldld) or
931
# one that does not give us useful --help.
932
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
935
# Determine whether the default compiler is a.out or elf
936
eval $set_cc_for_build
937
sed 's/^ //' << EOF >$dummy.c
938
#include <features.h>
950
#ifdef __INTEL_COMPILER
957
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
958
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
959
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
962
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
963
# earlier versions are messed up and put the nodename in both
964
# sysname and nodename.
965
echo i386-sequent-sysv4
967
i*86:UNIX_SV:4.2MP:2.*)
968
# Unixware is an offshoot of SVR4, but it has its own version
969
# number series starting with 2...
970
# I am not positive that other SVR4 systems won't match this,
971
# I just have to hope. -- rms.
972
# Use sysv4.2uw... so that sysv4* matches it.
973
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
976
# If we were able to find `uname', then EMX Unix compatibility
977
# is probably installed.
978
echo ${UNAME_MACHINE}-pc-os2-emx
981
echo ${UNAME_MACHINE}-unknown-stop
984
echo ${UNAME_MACHINE}-unknown-atheos
986
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
987
echo i386-unknown-lynxos${UNAME_RELEASE}
990
echo ${UNAME_MACHINE}-pc-msdosdjgpp
992
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
993
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
994
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
995
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
997
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1001
case `/bin/uname -X | grep "^Machine"` in
1002
*486*) UNAME_MACHINE=i486 ;;
1003
*Pentium) UNAME_MACHINE=i586 ;;
1004
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1006
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1009
if test -f /usr/options/cb.name; then
1010
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1011
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1012
elif /bin/uname -X 2>/dev/null >/dev/null ; then
1013
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1014
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1015
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1016
&& UNAME_MACHINE=i586
1017
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1018
&& UNAME_MACHINE=i686
1019
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1020
&& UNAME_MACHINE=i686
1021
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1023
echo ${UNAME_MACHINE}-pc-sysv32
1027
# Left here for compatibility:
1028
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1029
# the processor, so we play safe by assuming i386.
1030
echo i386-pc-msdosdjgpp
1036
echo i860-intel-osf1
1038
i860:*:4.*:*) # i860-SVR4
1039
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1040
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1041
else # Add other i860-SVR4 vendors below as they are discovered.
1042
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1047
echo m68010-convergent-sysv
1049
mc68k:UNIX:SYSTEM5:3.51m)
1050
echo m68k-convergent-sysv
1056
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1057
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)
1059
test -r /etc/.relid \
1060
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1061
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1062
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1063
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1064
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1065
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1066
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1067
&& echo i486-ncr-sysv4 && exit 0 ;;
1068
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1069
echo m68k-unknown-lynxos${UNAME_RELEASE}
1071
mc68030:UNIX_System_V:4.*:*)
1072
echo m68k-atari-sysv4
1074
TSUNAMI:LynxOS:2.*:*)
1075
echo sparc-unknown-lynxos${UNAME_RELEASE}
1077
rs6000:LynxOS:2.*:*)
1078
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1080
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1081
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1083
SM[BE]S:UNIX_SV:*:*)
1084
echo mips-dde-sysv${UNAME_RELEASE}
1086
RM*:ReliantUNIX-*:*:*)
1093
if uname -p 2>/dev/null >/dev/null ; then
1094
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1095
echo ${UNAME_MACHINE}-sni-sysv4
1100
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1101
# says <Richard.M.Bartel@ccMail.Census.GOV>
1102
echo i586-unisys-sysv4
1104
*:UNIX_System_V:4*:FTX*)
1105
# From Gerald Hewes <hewes@openmarket.com>.
1106
# How about differentiating between stratus architectures? -djm
1107
echo hppa1.1-stratus-sysv4
1110
# From seanf@swdc.stratus.com.
1111
echo i860-stratus-sysv4
1114
# From Paul.Green@stratus.com.
1115
echo hppa1.1-stratus-vos
1118
echo m68k-apple-aux${UNAME_RELEASE}
1121
echo mips-sony-newsos6
1123
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1124
if [ -d /usr/nec ]; then
1125
echo mips-nec-sysv${UNAME_RELEASE}
1127
echo mips-unknown-sysv${UNAME_RELEASE}
1130
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1131
echo powerpc-be-beos
1133
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1134
echo powerpc-apple-beos
1136
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1140
echo sx4-nec-superux${UNAME_RELEASE}
1143
echo sx5-nec-superux${UNAME_RELEASE}
1146
echo sx6-nec-superux${UNAME_RELEASE}
1148
Power*:Rhapsody:*:*)
1149
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1152
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1156
*86) UNAME_PROCESSOR=i686 ;;
1157
powerpc) UNAME_PROCESSOR=powerpc ;;
1159
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1161
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1162
UNAME_PROCESSOR=`uname -p`
1163
if test "$UNAME_PROCESSOR" = "x86"; then
1164
UNAME_PROCESSOR=i386
1167
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1172
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1173
echo nsr-tandem-nsk${UNAME_RELEASE}
1176
echo mips-compaq-nonstopux
1179
echo bs2000-siemens-sysv
1181
DS/*:UNIX_System_V:*:*)
1182
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1185
# "uname -m" is not consistent, so use $cputype instead. 386
1186
# is converted to i386 for consistency with other x86
1187
# operating systems.
1188
if test "$cputype" = "386"; then
1191
UNAME_MACHINE="$cputype"
1193
echo ${UNAME_MACHINE}-unknown-plan9
1196
echo pdp10-unknown-tops10
1199
echo pdp10-unknown-tenex
1201
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1202
echo pdp10-dec-tops20
1204
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1205
echo pdp10-xkl-tops20
1208
echo pdp10-unknown-tops20
1211
echo pdp10-unknown-its
1215
#echo '(No uname command or uname output not recognized.)' 1>&2
1216
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1218
eval $set_cc_for_build
1221
# include <sys/types.h>
1222
# include <sys/utsname.h>
1227
#if defined (MIPSEB)
1228
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1230
printf ("mips-sony-bsd\n"); exit (0);
1232
#include <sys/param.h>
1233
printf ("m68k-sony-newsos%s\n",
1243
#if defined (__arm) && defined (__acorn) && defined (__unix)
1244
printf ("arm-acorn-riscix"); exit (0);
1247
#if defined (hp300) && !defined (hpux)
1248
printf ("m68k-hp-bsd\n"); exit (0);
1252
#if !defined (__ARCHITECTURE__)
1253
#define __ARCHITECTURE__ "m68k"
1256
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1258
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1260
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1264
#if defined (MULTIMAX) || defined (n16)
1266
printf ("ns32k-encore-sysv\n"); exit (0);
1269
printf ("ns32k-encore-mach\n"); exit (0);
1271
printf ("ns32k-encore-bsd\n"); exit (0);
1276
#if defined (__386BSD__)
1277
printf ("i386-pc-bsd\n"); exit (0);
1280
#if defined (sequent)
1282
printf ("i386-sequent-dynix\n"); exit (0);
1284
#if defined (ns32000)
1285
printf ("ns32k-sequent-dynix\n"); exit (0);
1289
#if defined (_SEQUENT_)
1294
if (strncmp(un.version, "V2", 2) == 0) {
1295
printf ("i386-sequent-ptx2\n"); exit (0);
1297
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1298
printf ("i386-sequent-ptx1\n"); exit (0);
1300
printf ("i386-sequent-ptx\n"); exit (0);
1305
# if !defined (ultrix)
1306
# include <sys/param.h>
1309
printf ("vax-dec-bsd4.3\n"); exit (0);
1312
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1314
printf ("vax-dec-bsd\n"); exit (0);
1318
printf ("vax-dec-bsd\n"); exit (0);
1321
printf ("vax-dec-ultrix\n"); exit (0);
1325
#if defined (alliant) && defined (i860)
1326
printf ("i860-alliant-bsd\n"); exit (0);
1333
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1335
# Apollos put the system type in the environment.
1337
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1339
# Convex versions that predate uname can use getsysinfo(1)
1341
if [ -x /usr/convex/getsysinfo ]
1343
case `getsysinfo -f cpu_type` in
1348
if getsysinfo -f scalar_acc
1349
then echo c32-convex-bsd
1350
else echo c2-convex-bsd
1366
$0: unable to guess system type
1368
This script, last modified $timestamp, has failed to recognize
1369
the operating system you are using. It is advised that you
1370
download the most up to date version of the config scripts from
1372
ftp://ftp.gnu.org/pub/gnu/config/
1374
If the version you run ($0) is already up to date, please
1375
send the following data and any information you think might be
1376
pertinent to <config-patches@gnu.org> in order to provide the needed
1377
information to handle your system.
1379
config.guess timestamp = $timestamp
1381
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1382
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1383
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1384
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1386
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1387
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1389
hostinfo = `(hostinfo) 2>/dev/null`
1390
/bin/universe = `(/bin/universe) 2>/dev/null`
1391
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1392
/bin/arch = `(/bin/arch) 2>/dev/null`
1393
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1394
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1396
UNAME_MACHINE = ${UNAME_MACHINE}
1397
UNAME_RELEASE = ${UNAME_RELEASE}
1398
UNAME_SYSTEM = ${UNAME_SYSTEM}
1399
UNAME_VERSION = ${UNAME_VERSION}
1405
# eval: (add-hook 'write-file-hooks 'time-stamp)
1406
# time-stamp-start: "timestamp='"
1407
# time-stamp-format: "%:y-%02m-%02d"
1408
# time-stamp-end: "'"