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
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
769
echo ${UNAME_MACHINE}-pc-cygwin
772
echo ${UNAME_MACHINE}-pc-mingw32
775
echo ${UNAME_MACHINE}-pc-pw32
778
echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
780
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
781
echo i${UNAME_MACHINE}-pc-mks
783
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
784
# How do we know it's Interix rather than the generic POSIX subsystem?
785
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
786
# UNAME_MACHINE based on the output of uname instead of i386?
790
echo ${UNAME_MACHINE}-pc-uwin
793
echo powerpcle-unknown-cygwin
796
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
799
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
802
echo ${UNAME_MACHINE}-pc-minix
805
echo ${UNAME_MACHINE}-unknown-linux-gnu
808
echo cris-axis-linux-gnu
811
echo ${UNAME_MACHINE}-unknown-linux-gnu
814
echo ${UNAME_MACHINE}-unknown-linux-gnu
817
eval $set_cc_for_build
818
sed 's/^ //' << EOF >$dummy.c
822
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
825
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
832
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
833
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
836
eval $set_cc_for_build
837
sed 's/^ //' << EOF >$dummy.c
841
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
844
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
851
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
852
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
855
echo powerpc-unknown-linux-gnu
858
echo powerpc64-unknown-linux-gnu
861
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
862
EV5) UNAME_MACHINE=alphaev5 ;;
863
EV56) UNAME_MACHINE=alphaev56 ;;
864
PCA56) UNAME_MACHINE=alphapca56 ;;
865
PCA57) UNAME_MACHINE=alphapca56 ;;
866
EV6) UNAME_MACHINE=alphaev6 ;;
867
EV67) UNAME_MACHINE=alphaev67 ;;
868
EV68*) UNAME_MACHINE=alphaev68 ;;
870
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
871
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
872
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
874
parisc:Linux:*:* | hppa:Linux:*:*)
876
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
877
PA7*) echo hppa1.1-unknown-linux-gnu ;;
878
PA8*) echo hppa2.0-unknown-linux-gnu ;;
879
*) echo hppa-unknown-linux-gnu ;;
882
parisc64:Linux:*:* | hppa64:Linux:*:*)
883
echo hppa64-unknown-linux-gnu
885
s390:Linux:*:* | s390x:Linux:*:*)
886
echo ${UNAME_MACHINE}-ibm-linux
889
echo ${UNAME_MACHINE}-unknown-linux-gnu
892
echo ${UNAME_MACHINE}-unknown-linux-gnu
894
sparc:Linux:*:* | sparc64:Linux:*:*)
895
echo ${UNAME_MACHINE}-unknown-linux-gnu
898
echo x86_64-unknown-linux-gnu
901
# The BFD linker knows what the default object file format is, so
902
# first see if it will tell us. cd to the root directory to prevent
903
# problems with other programs or directories called `ld' in the path.
904
# Set LC_ALL=C to ensure ld outputs messages in English.
905
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
906
| sed -ne '/supported targets:/!d
908
s/.*supported targets: *//
911
case "$ld_supported_targets" in
913
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
916
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
919
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
922
# Either a pre-BFD a.out linker (linux-gnuoldld) or
923
# one that does not give us useful --help.
924
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
927
# Determine whether the default compiler is a.out or elf
928
eval $set_cc_for_build
929
sed 's/^ //' << EOF >$dummy.c
930
#include <features.h>
942
#ifdef __INTEL_COMPILER
949
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
950
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
951
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
954
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
955
# earlier versions are messed up and put the nodename in both
956
# sysname and nodename.
957
echo i386-sequent-sysv4
959
i*86:UNIX_SV:4.2MP:2.*)
960
# Unixware is an offshoot of SVR4, but it has its own version
961
# number series starting with 2...
962
# I am not positive that other SVR4 systems won't match this,
963
# I just have to hope. -- rms.
964
# Use sysv4.2uw... so that sysv4* matches it.
965
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
968
# If we were able to find `uname', then EMX Unix compatibility
969
# is probably installed.
970
echo ${UNAME_MACHINE}-pc-os2-emx
973
echo ${UNAME_MACHINE}-unknown-stop
976
echo ${UNAME_MACHINE}-unknown-atheos
978
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
979
echo i386-unknown-lynxos${UNAME_RELEASE}
982
echo ${UNAME_MACHINE}-pc-msdosdjgpp
984
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
985
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
986
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
987
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
989
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
993
case `/bin/uname -X | grep "^Machine"` in
994
*486*) UNAME_MACHINE=i486 ;;
995
*Pentium) UNAME_MACHINE=i586 ;;
996
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
998
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1001
if test -f /usr/options/cb.name; then
1002
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1003
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1004
elif /bin/uname -X 2>/dev/null >/dev/null ; then
1005
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1006
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1007
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1008
&& UNAME_MACHINE=i586
1009
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1010
&& UNAME_MACHINE=i686
1011
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1012
&& UNAME_MACHINE=i686
1013
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1015
echo ${UNAME_MACHINE}-pc-sysv32
1019
# Left here for compatibility:
1020
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1021
# the processor, so we play safe by assuming i386.
1022
echo i386-pc-msdosdjgpp
1028
echo i860-intel-osf1
1030
i860:*:4.*:*) # i860-SVR4
1031
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1032
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1033
else # Add other i860-SVR4 vendors below as they are discovered.
1034
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1039
echo m68010-convergent-sysv
1041
mc68k:UNIX:SYSTEM5:3.51m)
1042
echo m68k-convergent-sysv
1048
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1049
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)
1051
test -r /etc/.relid \
1052
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1053
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1054
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1055
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1056
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1057
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1058
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1059
&& echo i486-ncr-sysv4 && exit 0 ;;
1060
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1061
echo m68k-unknown-lynxos${UNAME_RELEASE}
1063
mc68030:UNIX_System_V:4.*:*)
1064
echo m68k-atari-sysv4
1066
TSUNAMI:LynxOS:2.*:*)
1067
echo sparc-unknown-lynxos${UNAME_RELEASE}
1069
rs6000:LynxOS:2.*:*)
1070
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1072
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1073
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1075
SM[BE]S:UNIX_SV:*:*)
1076
echo mips-dde-sysv${UNAME_RELEASE}
1078
RM*:ReliantUNIX-*:*:*)
1085
if uname -p 2>/dev/null >/dev/null ; then
1086
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1087
echo ${UNAME_MACHINE}-sni-sysv4
1092
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1093
# says <Richard.M.Bartel@ccMail.Census.GOV>
1094
echo i586-unisys-sysv4
1096
*:UNIX_System_V:4*:FTX*)
1097
# From Gerald Hewes <hewes@openmarket.com>.
1098
# How about differentiating between stratus architectures? -djm
1099
echo hppa1.1-stratus-sysv4
1102
# From seanf@swdc.stratus.com.
1103
echo i860-stratus-sysv4
1106
# From Paul.Green@stratus.com.
1107
echo hppa1.1-stratus-vos
1110
echo m68k-apple-aux${UNAME_RELEASE}
1113
echo mips-sony-newsos6
1115
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1116
if [ -d /usr/nec ]; then
1117
echo mips-nec-sysv${UNAME_RELEASE}
1119
echo mips-unknown-sysv${UNAME_RELEASE}
1122
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1123
echo powerpc-be-beos
1125
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1126
echo powerpc-apple-beos
1128
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1132
echo sx4-nec-superux${UNAME_RELEASE}
1135
echo sx5-nec-superux${UNAME_RELEASE}
1138
echo sx6-nec-superux${UNAME_RELEASE}
1140
Power*:Rhapsody:*:*)
1141
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1144
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1148
*86) UNAME_PROCESSOR=i686 ;;
1149
powerpc) UNAME_PROCESSOR=powerpc ;;
1151
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1153
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1154
UNAME_PROCESSOR=`uname -p`
1155
if test "$UNAME_PROCESSOR" = "x86"; then
1156
UNAME_PROCESSOR=i386
1159
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1164
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1165
echo nsr-tandem-nsk${UNAME_RELEASE}
1168
echo mips-compaq-nonstopux
1171
echo bs2000-siemens-sysv
1173
DS/*:UNIX_System_V:*:*)
1174
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1177
# "uname -m" is not consistent, so use $cputype instead. 386
1178
# is converted to i386 for consistency with other x86
1179
# operating systems.
1180
if test "$cputype" = "386"; then
1183
UNAME_MACHINE="$cputype"
1185
echo ${UNAME_MACHINE}-unknown-plan9
1188
echo pdp10-unknown-tops10
1191
echo pdp10-unknown-tenex
1193
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1194
echo pdp10-dec-tops20
1196
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1197
echo pdp10-xkl-tops20
1200
echo pdp10-unknown-tops20
1203
echo pdp10-unknown-its
1206
echo mips-sei-seiux${UNAME_RELEASE}
1210
#echo '(No uname command or uname output not recognized.)' 1>&2
1211
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1213
eval $set_cc_for_build
1216
# include <sys/types.h>
1217
# include <sys/utsname.h>
1222
#if defined (MIPSEB)
1223
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1225
printf ("mips-sony-bsd\n"); exit (0);
1227
#include <sys/param.h>
1228
printf ("m68k-sony-newsos%s\n",
1238
#if defined (__arm) && defined (__acorn) && defined (__unix)
1239
printf ("arm-acorn-riscix"); exit (0);
1242
#if defined (hp300) && !defined (hpux)
1243
printf ("m68k-hp-bsd\n"); exit (0);
1247
#if !defined (__ARCHITECTURE__)
1248
#define __ARCHITECTURE__ "m68k"
1251
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1253
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1255
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1259
#if defined (MULTIMAX) || defined (n16)
1261
printf ("ns32k-encore-sysv\n"); exit (0);
1264
printf ("ns32k-encore-mach\n"); exit (0);
1266
printf ("ns32k-encore-bsd\n"); exit (0);
1271
#if defined (__386BSD__)
1272
printf ("i386-pc-bsd\n"); exit (0);
1275
#if defined (sequent)
1277
printf ("i386-sequent-dynix\n"); exit (0);
1279
#if defined (ns32000)
1280
printf ("ns32k-sequent-dynix\n"); exit (0);
1284
#if defined (_SEQUENT_)
1289
if (strncmp(un.version, "V2", 2) == 0) {
1290
printf ("i386-sequent-ptx2\n"); exit (0);
1292
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1293
printf ("i386-sequent-ptx1\n"); exit (0);
1295
printf ("i386-sequent-ptx\n"); exit (0);
1300
# if !defined (ultrix)
1301
# include <sys/param.h>
1304
printf ("vax-dec-bsd4.3\n"); exit (0);
1307
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1309
printf ("vax-dec-bsd\n"); exit (0);
1313
printf ("vax-dec-bsd\n"); exit (0);
1316
printf ("vax-dec-ultrix\n"); exit (0);
1320
#if defined (alliant) && defined (i860)
1321
printf ("i860-alliant-bsd\n"); exit (0);
1328
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1330
# Apollos put the system type in the environment.
1332
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1334
# Convex versions that predate uname can use getsysinfo(1)
1336
if [ -x /usr/convex/getsysinfo ]
1338
case `getsysinfo -f cpu_type` in
1343
if getsysinfo -f scalar_acc
1344
then echo c32-convex-bsd
1345
else echo c2-convex-bsd
1361
$0: unable to guess system type
1363
This script, last modified $timestamp, has failed to recognize
1364
the operating system you are using. It is advised that you
1365
download the most up to date version of the config scripts from
1367
ftp://ftp.gnu.org/pub/gnu/config/
1369
If the version you run ($0) is already up to date, please
1370
send the following data and any information you think might be
1371
pertinent to <config-patches@gnu.org> in order to provide the needed
1372
information to handle your system.
1374
config.guess timestamp = $timestamp
1376
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1377
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1378
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1379
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1381
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1382
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1384
hostinfo = `(hostinfo) 2>/dev/null`
1385
/bin/universe = `(/bin/universe) 2>/dev/null`
1386
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1387
/bin/arch = `(/bin/arch) 2>/dev/null`
1388
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1389
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1391
UNAME_MACHINE = ${UNAME_MACHINE}
1392
UNAME_RELEASE = ${UNAME_RELEASE}
1393
UNAME_SYSTEM = ${UNAME_SYSTEM}
1394
UNAME_VERSION = ${UNAME_VERSION}
1400
# eval: (add-hook 'write-file-hooks 'time-stamp)
1401
# time-stamp-start: "timestamp='"
1402
# time-stamp-format: "%:y-%02m-%02d"
1403
# time-stamp-end: "'"