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
139
# Note: order is significant - the case branches are not exclusive.
141
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
143
# NetBSD (nbsd) targets should (where applicable) match one or
144
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
145
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
146
# switched to ELF, *-*-netbsd* would select the old
147
# object file format. This provides both forward
148
# compatibility and a consistent mechanism for selecting the
149
# object file format.
151
# Note: NetBSD doesn't particularly care about the vendor
152
# portion of the name. We always set it to "unknown".
153
sysctl="sysctl -n hw.machine_arch"
154
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
155
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
156
case "${UNAME_MACHINE_ARCH}" in
157
armeb) machine=armeb-unknown ;;
158
arm*) machine=arm-unknown ;;
159
sh3el) machine=shl-unknown ;;
160
sh3eb) machine=sh-unknown ;;
161
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
163
# The Operating System including object format, if it has switched
164
# to ELF recently, or will in the future.
165
case "${UNAME_MACHINE_ARCH}" in
166
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
167
eval $set_cc_for_build
168
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
169
| grep __ELF__ >/dev/null
171
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
172
# Return netbsd for either. FIX?
183
# Debian GNU/NetBSD machines have a different userland, and
184
# thus, need a distinct triplet. However, they do not need
185
# kernel version information, so it can be replaced with a
186
# suitable tag, in the style of linux-gnu.
187
case "${UNAME_VERSION}" in
192
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
195
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
196
# contains redundant information, the shorter form:
197
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
198
echo "${machine}-${os}${release}"
201
echo m68k-unknown-openbsd${UNAME_RELEASE}
204
echo mipsel-unknown-openbsd${UNAME_RELEASE}
207
echo m68k-unknown-openbsd${UNAME_RELEASE}
210
echo m68k-unknown-openbsd${UNAME_RELEASE}
213
echo powerpc-unknown-openbsd${UNAME_RELEASE}
216
echo m68k-unknown-openbsd${UNAME_RELEASE}
219
echo m88k-unknown-openbsd${UNAME_RELEASE}
222
echo powerpc-unknown-openbsd${UNAME_RELEASE}
225
echo mipsel-unknown-openbsd${UNAME_RELEASE}
228
echo mipseb-unknown-openbsd${UNAME_RELEASE}
231
echo m68k-unknown-openbsd${UNAME_RELEASE}
234
echo mipsel-unknown-openbsd${UNAME_RELEASE}
237
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
240
if test $UNAME_RELEASE = "V4.0"; then
241
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
243
# According to Compaq, /usr/sbin/psrinfo has been available on
244
# OSF/1 and Tru64 systems produced since 1995. I hope that
245
# covers most systems running today. This code pipes the CPU
246
# types through head -n 1, so we only detect the type of CPU 0.
247
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
248
case "$ALPHA_CPU_TYPE" in
250
UNAME_MACHINE="alpha" ;;
252
UNAME_MACHINE="alpha" ;;
253
"LCA4 (21066/21068)")
254
UNAME_MACHINE="alpha" ;;
256
UNAME_MACHINE="alphaev5" ;;
258
UNAME_MACHINE="alphaev56" ;;
260
UNAME_MACHINE="alphapca56" ;;
262
UNAME_MACHINE="alphapca57" ;;
264
UNAME_MACHINE="alphaev6" ;;
266
UNAME_MACHINE="alphaev67" ;;
268
UNAME_MACHINE="alphaev68" ;;
270
UNAME_MACHINE="alphaev68" ;;
272
UNAME_MACHINE="alphaev68" ;;
273
"EV6.9A (21264/EV69A)")
274
UNAME_MACHINE="alphaev69" ;;
276
UNAME_MACHINE="alphaev7" ;;
278
UNAME_MACHINE="alphaev79" ;;
280
# A Vn.n version is a released version.
281
# A Tn.n version is a released field test version.
282
# A Xn.n version is an unreleased experimental baselevel.
283
# 1.2 uses "1.2" for uname -r.
284
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
289
Alpha\ *:Windows_NT*:*)
290
# How do we know it's Interix rather than the generic POSIX subsystem?
291
# Should we change UNAME_MACHINE based on the output of uname instead
292
# of the specific Alpha model?
293
echo alpha-pc-interix
295
21064:Windows_NT:50:3)
296
echo alpha-dec-winnt3.5
298
Amiga*:UNIX_System_V:4.0:*)
299
echo m68k-unknown-sysv4
301
*:[Aa]miga[Oo][Ss]:*:*)
302
echo ${UNAME_MACHINE}-unknown-amigaos
304
*:[Mm]orph[Oo][Ss]:*:*)
305
echo ${UNAME_MACHINE}-unknown-morphos
308
echo i370-ibm-openedition
310
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
311
echo arm-acorn-riscix${UNAME_RELEASE}
313
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
314
echo hppa1.1-hitachi-hiuxmpp
316
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
317
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
318
if test "`(/bin/universe) 2>/dev/null`" = att ; then
319
echo pyramid-pyramid-sysv3
321
echo pyramid-pyramid-bsd
325
echo pyramid-pyramid-svr4
327
DRS?6000:unix:4.0:6*)
330
DRS?6000:UNIX_SV:4.2*:7*)
331
case `/usr/bin/uname -p` in
332
sparc) echo sparc-icl-nx7 && exit 0 ;;
335
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
337
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
338
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
341
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
344
# According to config.sub, this is the proper way to canonicalize
345
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
346
# it's likely to be more like Solaris than SunOS4.
347
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
350
case "`/usr/bin/arch -k`" in
352
UNAME_RELEASE=`uname -v`
355
# Japanese Language versions have a version number like `4.1.3-JL'.
356
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
359
echo m68k-sun-sunos${UNAME_RELEASE}
362
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
363
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
364
case "`/bin/arch`" in
366
echo m68k-sun-sunos${UNAME_RELEASE}
369
echo sparc-sun-sunos${UNAME_RELEASE}
374
echo sparc-auspex-sunos${UNAME_RELEASE}
376
# The situation for MiNT is a little confusing. The machine name
377
# can be virtually everything (everything which is not
378
# "atarist" or "atariste" at least should have a processor
379
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
380
# to the lowercase version "mint" (or "freemint"). Finally
381
# the system name "TOS" denotes a system which is actually not
382
# MiNT. But MiNT is downward compatible to TOS, so this should
384
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
385
echo m68k-atari-mint${UNAME_RELEASE}
387
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
388
echo m68k-atari-mint${UNAME_RELEASE}
390
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
391
echo m68k-atari-mint${UNAME_RELEASE}
393
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
394
echo m68k-milan-mint${UNAME_RELEASE}
396
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
397
echo m68k-hades-mint${UNAME_RELEASE}
399
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
400
echo m68k-unknown-mint${UNAME_RELEASE}
403
echo powerpc-apple-machten${UNAME_RELEASE}
406
echo mips-dec-mach_bsd4.3
409
echo mips-dec-ultrix${UNAME_RELEASE}
412
echo vax-dec-ultrix${UNAME_RELEASE}
414
2020:CLIX:*:* | 2430:CLIX:*:*)
415
echo clipper-intergraph-clix${UNAME_RELEASE}
417
mips:*:*:UMIPS | mips:*:*:RISCos)
418
eval $set_cc_for_build
419
sed 's/^ //' << EOF >$dummy.c
421
#include <stdio.h> /* for printf() prototype */
422
int main (int argc, char *argv[]) {
424
int main (argc, argv) int argc; char *argv[]; {
426
#if defined (host_mips) && defined (MIPSEB)
427
#if defined (SYSTYPE_SYSV)
428
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
430
#if defined (SYSTYPE_SVR4)
431
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
433
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
434
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
440
$CC_FOR_BUILD -o $dummy $dummy.c \
441
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
443
echo mips-mips-riscos${UNAME_RELEASE}
445
Motorola:PowerMAX_OS:*:*)
446
echo powerpc-motorola-powermax
448
Motorola:*:4.3:PL8-*)
449
echo powerpc-harris-powermax
451
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
452
echo powerpc-harris-powermax
454
Night_Hawk:Power_UNIX:*:*)
455
echo powerpc-harris-powerunix
458
echo m88k-harris-cxux7
461
echo m88k-motorola-sysv4
464
echo m88k-motorola-sysv3
467
# DG/UX returns AViiON for all architectures
468
UNAME_PROCESSOR=`/usr/bin/uname -p`
469
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
471
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
472
[ ${TARGET_BINARY_INTERFACE}x = x ]
474
echo m88k-dg-dgux${UNAME_RELEASE}
476
echo m88k-dg-dguxbcs${UNAME_RELEASE}
479
echo i586-dg-dgux${UNAME_RELEASE}
482
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
483
echo m88k-dolphin-sysv3
486
# Delta 88k system running SVR3
487
echo m88k-motorola-sysv3
489
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
490
echo m88k-tektronix-sysv3
492
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
493
echo m68k-tektronix-bsd
496
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
498
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
499
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
500
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
505
if [ -x /usr/bin/oslevel ] ; then
506
IBM_REV=`/usr/bin/oslevel`
508
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
510
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
513
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
514
eval $set_cc_for_build
515
sed 's/^ //' << EOF >$dummy.c
516
#include <sys/systemcfg.h>
522
puts("powerpc-ibm-aix3.2.5");
526
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
527
echo rs6000-ibm-aix3.2.5
528
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
529
echo rs6000-ibm-aix3.2.4
531
echo rs6000-ibm-aix3.2
535
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
536
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
541
if [ -x /usr/bin/oslevel ] ; then
542
IBM_REV=`/usr/bin/oslevel`
544
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
546
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
551
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
554
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
555
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
556
exit 0 ;; # report: romp-ibm BSD 4.3
558
echo rs6000-bull-bosx
563
9000/[34]??:4.3bsd:1.*:*)
566
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
569
9000/[34678]??:HP-UX:*:*)
570
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
571
case "${UNAME_MACHINE}" in
572
9000/31? ) HP_ARCH=m68000 ;;
573
9000/[34]?? ) HP_ARCH=m68k ;;
574
9000/[678][0-9][0-9])
575
if [ -x /usr/bin/getconf ]; then
576
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
577
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
578
case "${sc_cpu_version}" in
579
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
580
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
581
532) # CPU_PA_RISC2_0
582
case "${sc_kernel_bits}" in
583
32) HP_ARCH="hppa2.0n" ;;
584
64) HP_ARCH="hppa2.0w" ;;
585
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
589
if [ "${HP_ARCH}" = "" ]; then
590
eval $set_cc_for_build
591
sed 's/^ //' << EOF >$dummy.c
599
#if defined(_SC_KERNEL_BITS)
600
long bits = sysconf(_SC_KERNEL_BITS);
602
long cpu = sysconf (_SC_CPU_VERSION);
606
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
607
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
609
#if defined(_SC_KERNEL_BITS)
612
case 64: puts ("hppa2.0w"); break;
613
case 32: puts ("hppa2.0n"); break;
614
default: puts ("hppa2.0"); break;
616
#else /* !defined(_SC_KERNEL_BITS) */
617
puts ("hppa2.0"); break;
619
default: puts ("hppa1.0"); break;
624
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
625
test -z "$HP_ARCH" && HP_ARCH=hppa
628
if [ ${HP_ARCH} = "hppa2.0w" ]
630
# avoid double evaluation of $set_cc_for_build
631
test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
632
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
639
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
642
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
643
echo ia64-hp-hpux${HPUX_REV}
646
eval $set_cc_for_build
647
sed 's/^ //' << EOF >$dummy.c
652
long cpu = sysconf (_SC_CPU_VERSION);
653
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
654
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
656
if (CPU_IS_PA_RISC (cpu))
660
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
661
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
662
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
663
default: puts ("hppa-hitachi-hiuxwe2"); break;
666
else if (CPU_IS_HP_MC68K (cpu))
667
puts ("m68k-hitachi-hiuxwe2");
668
else puts ("unknown-hitachi-hiuxwe2");
672
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
673
echo unknown-hitachi-hiuxwe2
675
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
681
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
682
echo hppa1.0-hp-mpeix
684
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
691
if [ -x /usr/sbin/sysversion ] ; then
692
echo ${UNAME_MACHINE}-unknown-osf1mk
694
echo ${UNAME_MACHINE}-unknown-osf1
698
echo hppa1.1-hp-lites
700
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
703
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
704
if getsysinfo -f scalar_acc
705
then echo c32-convex-bsd
706
else echo c2-convex-bsd
709
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
712
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
715
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
719
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
722
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
723
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
724
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
728
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
731
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
734
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
737
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
739
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
740
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
741
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
742
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
743
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
745
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
746
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
749
echo sparc-unknown-bsdi${UNAME_RELEASE}
752
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
754
*:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
755
# Determine whether the default compiler uses glibc.
756
eval $set_cc_for_build
757
sed 's/^ //' << EOF >$dummy.c
758
#include <features.h>
765
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
766
# GNU/FreeBSD systems have a "k" prefix to indicate we are using
767
# FreeBSD's kernel, but not the complete OS.
768
case ${LIBC} in gnu) kernel_only='k' ;; esac
769
echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
772
echo ${UNAME_MACHINE}-pc-cygwin
775
echo ${UNAME_MACHINE}-pc-mingw32
778
echo ${UNAME_MACHINE}-pc-pw32
781
echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
783
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
784
echo i${UNAME_MACHINE}-pc-mks
786
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
787
# How do we know it's Interix rather than the generic POSIX subsystem?
788
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
789
# UNAME_MACHINE based on the output of uname instead of i386?
793
echo ${UNAME_MACHINE}-pc-uwin
796
echo powerpcle-unknown-cygwin
799
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
802
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
805
echo ${UNAME_MACHINE}-pc-minix
808
echo ${UNAME_MACHINE}-unknown-linux-gnu
811
echo cris-axis-linux-gnu
814
echo ${UNAME_MACHINE}-unknown-linux-gnu
817
echo ${UNAME_MACHINE}-unknown-linux-gnu
820
eval $set_cc_for_build
821
sed 's/^ //' << EOF >$dummy.c
825
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
828
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
835
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
836
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
839
eval $set_cc_for_build
840
sed 's/^ //' << EOF >$dummy.c
844
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
847
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
854
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
855
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
858
echo powerpc-unknown-linux-gnu
861
echo powerpc64-unknown-linux-gnu
864
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
865
EV5) UNAME_MACHINE=alphaev5 ;;
866
EV56) UNAME_MACHINE=alphaev56 ;;
867
PCA56) UNAME_MACHINE=alphapca56 ;;
868
PCA57) UNAME_MACHINE=alphapca56 ;;
869
EV6) UNAME_MACHINE=alphaev6 ;;
870
EV67) UNAME_MACHINE=alphaev67 ;;
871
EV68*) UNAME_MACHINE=alphaev68 ;;
873
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
874
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
875
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
877
parisc:Linux:*:* | hppa:Linux:*:*)
879
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
880
PA7*) echo hppa1.1-unknown-linux-gnu ;;
881
PA8*) echo hppa2.0-unknown-linux-gnu ;;
882
*) echo hppa-unknown-linux-gnu ;;
885
parisc64:Linux:*:* | hppa64:Linux:*:*)
886
echo hppa64-unknown-linux-gnu
888
s390:Linux:*:* | s390x:Linux:*:*)
889
echo ${UNAME_MACHINE}-ibm-linux
892
echo ${UNAME_MACHINE}-unknown-linux-gnu
895
echo ${UNAME_MACHINE}-unknown-linux-gnu
897
sparc:Linux:*:* | sparc64:Linux:*:*)
898
echo ${UNAME_MACHINE}-unknown-linux-gnu
901
echo x86_64-unknown-linux-gnu
904
# The BFD linker knows what the default object file format is, so
905
# first see if it will tell us. cd to the root directory to prevent
906
# problems with other programs or directories called `ld' in the path.
907
# Set LC_ALL=C to ensure ld outputs messages in English.
908
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
909
| sed -ne '/supported targets:/!d
911
s/.*supported targets: *//
914
case "$ld_supported_targets" in
916
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
919
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
922
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
925
# Either a pre-BFD a.out linker (linux-gnuoldld) or
926
# one that does not give us useful --help.
927
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
930
# Determine whether the default compiler is a.out or elf
931
eval $set_cc_for_build
932
sed 's/^ //' << EOF >$dummy.c
933
#include <features.h>
945
#ifdef __INTEL_COMPILER
952
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
953
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
954
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
957
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
958
# earlier versions are messed up and put the nodename in both
959
# sysname and nodename.
960
echo i386-sequent-sysv4
962
i*86:UNIX_SV:4.2MP:2.*)
963
# Unixware is an offshoot of SVR4, but it has its own version
964
# number series starting with 2...
965
# I am not positive that other SVR4 systems won't match this,
966
# I just have to hope. -- rms.
967
# Use sysv4.2uw... so that sysv4* matches it.
968
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
971
# If we were able to find `uname', then EMX Unix compatibility
972
# is probably installed.
973
echo ${UNAME_MACHINE}-pc-os2-emx
976
echo ${UNAME_MACHINE}-unknown-stop
979
echo ${UNAME_MACHINE}-unknown-atheos
981
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
982
echo i386-unknown-lynxos${UNAME_RELEASE}
985
echo ${UNAME_MACHINE}-pc-msdosdjgpp
987
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
988
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
989
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
990
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
992
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
996
case `/bin/uname -X | grep "^Machine"` in
997
*486*) UNAME_MACHINE=i486 ;;
998
*Pentium) UNAME_MACHINE=i586 ;;
999
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1001
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1004
if test -f /usr/options/cb.name; then
1005
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1006
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1007
elif /bin/uname -X 2>/dev/null >/dev/null ; then
1008
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1009
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1010
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1011
&& UNAME_MACHINE=i586
1012
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1013
&& UNAME_MACHINE=i686
1014
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1015
&& UNAME_MACHINE=i686
1016
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1018
echo ${UNAME_MACHINE}-pc-sysv32
1022
# Left here for compatibility:
1023
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1024
# the processor, so we play safe by assuming i386.
1025
echo i386-pc-msdosdjgpp
1031
echo i860-intel-osf1
1033
i860:*:4.*:*) # i860-SVR4
1034
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1035
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1036
else # Add other i860-SVR4 vendors below as they are discovered.
1037
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1042
echo m68010-convergent-sysv
1044
mc68k:UNIX:SYSTEM5:3.51m)
1045
echo m68k-convergent-sysv
1051
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1052
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)
1054
test -r /etc/.relid \
1055
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1056
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1057
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1058
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1059
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1060
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1061
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1062
&& echo i486-ncr-sysv4 && exit 0 ;;
1063
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1064
echo m68k-unknown-lynxos${UNAME_RELEASE}
1066
mc68030:UNIX_System_V:4.*:*)
1067
echo m68k-atari-sysv4
1069
TSUNAMI:LynxOS:2.*:*)
1070
echo sparc-unknown-lynxos${UNAME_RELEASE}
1072
rs6000:LynxOS:2.*:*)
1073
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1075
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1076
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1078
SM[BE]S:UNIX_SV:*:*)
1079
echo mips-dde-sysv${UNAME_RELEASE}
1081
RM*:ReliantUNIX-*:*:*)
1088
if uname -p 2>/dev/null >/dev/null ; then
1089
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1090
echo ${UNAME_MACHINE}-sni-sysv4
1095
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1096
# says <Richard.M.Bartel@ccMail.Census.GOV>
1097
echo i586-unisys-sysv4
1099
*:UNIX_System_V:4*:FTX*)
1100
# From Gerald Hewes <hewes@openmarket.com>.
1101
# How about differentiating between stratus architectures? -djm
1102
echo hppa1.1-stratus-sysv4
1105
# From seanf@swdc.stratus.com.
1106
echo i860-stratus-sysv4
1109
# From Paul.Green@stratus.com.
1110
echo hppa1.1-stratus-vos
1113
echo m68k-apple-aux${UNAME_RELEASE}
1116
echo mips-sony-newsos6
1118
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1119
if [ -d /usr/nec ]; then
1120
echo mips-nec-sysv${UNAME_RELEASE}
1122
echo mips-unknown-sysv${UNAME_RELEASE}
1125
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1126
echo powerpc-be-beos
1128
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1129
echo powerpc-apple-beos
1131
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1135
echo sx4-nec-superux${UNAME_RELEASE}
1138
echo sx5-nec-superux${UNAME_RELEASE}
1141
echo sx6-nec-superux${UNAME_RELEASE}
1143
Power*:Rhapsody:*:*)
1144
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1147
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1151
*86) UNAME_PROCESSOR=i686 ;;
1152
powerpc) UNAME_PROCESSOR=powerpc ;;
1154
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1156
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1157
UNAME_PROCESSOR=`uname -p`
1158
if test "$UNAME_PROCESSOR" = "x86"; then
1159
UNAME_PROCESSOR=i386
1162
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1167
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1168
echo nsr-tandem-nsk${UNAME_RELEASE}
1171
echo mips-compaq-nonstopux
1174
echo bs2000-siemens-sysv
1176
DS/*:UNIX_System_V:*:*)
1177
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1180
# "uname -m" is not consistent, so use $cputype instead. 386
1181
# is converted to i386 for consistency with other x86
1182
# operating systems.
1183
if test "$cputype" = "386"; then
1186
UNAME_MACHINE="$cputype"
1188
echo ${UNAME_MACHINE}-unknown-plan9
1191
echo pdp10-unknown-tops10
1194
echo pdp10-unknown-tenex
1196
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1197
echo pdp10-dec-tops20
1199
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1200
echo pdp10-xkl-tops20
1203
echo pdp10-unknown-tops20
1206
echo pdp10-unknown-its
1209
echo mips-sei-seiux${UNAME_RELEASE}
1213
#echo '(No uname command or uname output not recognized.)' 1>&2
1214
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1216
eval $set_cc_for_build
1219
# include <sys/types.h>
1220
# include <sys/utsname.h>
1225
#if defined (MIPSEB)
1226
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1228
printf ("mips-sony-bsd\n"); exit (0);
1230
#include <sys/param.h>
1231
printf ("m68k-sony-newsos%s\n",
1241
#if defined (__arm) && defined (__acorn) && defined (__unix)
1242
printf ("arm-acorn-riscix"); exit (0);
1245
#if defined (hp300) && !defined (hpux)
1246
printf ("m68k-hp-bsd\n"); exit (0);
1250
#if !defined (__ARCHITECTURE__)
1251
#define __ARCHITECTURE__ "m68k"
1254
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1256
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1258
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1262
#if defined (MULTIMAX) || defined (n16)
1264
printf ("ns32k-encore-sysv\n"); exit (0);
1267
printf ("ns32k-encore-mach\n"); exit (0);
1269
printf ("ns32k-encore-bsd\n"); exit (0);
1274
#if defined (__386BSD__)
1275
printf ("i386-pc-bsd\n"); exit (0);
1278
#if defined (sequent)
1280
printf ("i386-sequent-dynix\n"); exit (0);
1282
#if defined (ns32000)
1283
printf ("ns32k-sequent-dynix\n"); exit (0);
1287
#if defined (_SEQUENT_)
1292
if (strncmp(un.version, "V2", 2) == 0) {
1293
printf ("i386-sequent-ptx2\n"); exit (0);
1295
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1296
printf ("i386-sequent-ptx1\n"); exit (0);
1298
printf ("i386-sequent-ptx\n"); exit (0);
1303
# if !defined (ultrix)
1304
# include <sys/param.h>
1307
printf ("vax-dec-bsd4.3\n"); exit (0);
1310
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1312
printf ("vax-dec-bsd\n"); exit (0);
1316
printf ("vax-dec-bsd\n"); exit (0);
1319
printf ("vax-dec-ultrix\n"); exit (0);
1323
#if defined (alliant) && defined (i860)
1324
printf ("i860-alliant-bsd\n"); exit (0);
1331
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1333
# Apollos put the system type in the environment.
1335
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1337
# Convex versions that predate uname can use getsysinfo(1)
1339
if [ -x /usr/convex/getsysinfo ]
1341
case `getsysinfo -f cpu_type` in
1346
if getsysinfo -f scalar_acc
1347
then echo c32-convex-bsd
1348
else echo c2-convex-bsd
1364
$0: unable to guess system type
1366
This script, last modified $timestamp, has failed to recognize
1367
the operating system you are using. It is advised that you
1368
download the most up to date version of the config scripts from
1370
ftp://ftp.gnu.org/pub/gnu/config/
1372
If the version you run ($0) is already up to date, please
1373
send the following data and any information you think might be
1374
pertinent to <config-patches@gnu.org> in order to provide the needed
1375
information to handle your system.
1377
config.guess timestamp = $timestamp
1379
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1380
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1381
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1382
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1384
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1385
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1387
hostinfo = `(hostinfo) 2>/dev/null`
1388
/bin/universe = `(/bin/universe) 2>/dev/null`
1389
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1390
/bin/arch = `(/bin/arch) 2>/dev/null`
1391
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1392
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1394
UNAME_MACHINE = ${UNAME_MACHINE}
1395
UNAME_RELEASE = ${UNAME_RELEASE}
1396
UNAME_SYSTEM = ${UNAME_SYSTEM}
1397
UNAME_VERSION = ${UNAME_VERSION}
1403
# eval: (add-hook 'write-file-hooks 'time-stamp)
1404
# time-stamp-start: "timestamp='"
1405
# time-stamp-format: "%:y-%02m-%02d"
1406
# time-stamp-end: "'"