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
if test $UNAME_RELEASE = "V4.0"; then
240
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
242
# According to Compaq, /usr/sbin/psrinfo has been available on
243
# OSF/1 and Tru64 systems produced since 1995. I hope that
244
# covers most systems running today. This code pipes the CPU
245
# types through head -n 1, so we only detect the type of CPU 0.
246
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
247
case "$ALPHA_CPU_TYPE" in
249
UNAME_MACHINE="alpha" ;;
251
UNAME_MACHINE="alpha" ;;
252
"LCA4 (21066/21068)")
253
UNAME_MACHINE="alpha" ;;
255
UNAME_MACHINE="alphaev5" ;;
257
UNAME_MACHINE="alphaev56" ;;
259
UNAME_MACHINE="alphapca56" ;;
261
UNAME_MACHINE="alphapca57" ;;
263
UNAME_MACHINE="alphaev6" ;;
265
UNAME_MACHINE="alphaev67" ;;
267
UNAME_MACHINE="alphaev68" ;;
269
UNAME_MACHINE="alphaev68" ;;
271
UNAME_MACHINE="alphaev68" ;;
272
"EV6.9A (21264/EV69A)")
273
UNAME_MACHINE="alphaev69" ;;
275
UNAME_MACHINE="alphaev7" ;;
277
UNAME_MACHINE="alphaev79" ;;
279
# A Vn.n version is a released version.
280
# A Tn.n version is a released field test version.
281
# A Xn.n version is an unreleased experimental baselevel.
282
# 1.2 uses "1.2" for uname -r.
283
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
285
Alpha\ *:Windows_NT*:*)
286
# How do we know it's Interix rather than the generic POSIX subsystem?
287
# Should we change UNAME_MACHINE based on the output of uname instead
288
# of the specific Alpha model?
289
echo alpha-pc-interix
291
21064:Windows_NT:50:3)
292
echo alpha-dec-winnt3.5
294
Amiga*:UNIX_System_V:4.0:*)
295
echo m68k-unknown-sysv4
297
*:[Aa]miga[Oo][Ss]:*:*)
298
echo ${UNAME_MACHINE}-unknown-amigaos
300
*:[Mm]orph[Oo][Ss]:*:*)
301
echo ${UNAME_MACHINE}-unknown-morphos
304
echo i370-ibm-openedition
306
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
307
echo arm-acorn-riscix${UNAME_RELEASE}
309
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
310
echo hppa1.1-hitachi-hiuxmpp
312
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
313
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
314
if test "`(/bin/universe) 2>/dev/null`" = att ; then
315
echo pyramid-pyramid-sysv3
317
echo pyramid-pyramid-bsd
321
echo pyramid-pyramid-svr4
323
DRS?6000:UNIX_SV:4.2*:7*)
324
case `/usr/bin/uname -p` in
325
sparc) echo sparc-icl-nx7 && exit 0 ;;
328
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
330
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
331
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
337
# According to config.sub, this is the proper way to canonicalize
338
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
339
# it's likely to be more like Solaris than SunOS4.
340
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
343
case "`/usr/bin/arch -k`" in
345
UNAME_RELEASE=`uname -v`
348
# Japanese Language versions have a version number like `4.1.3-JL'.
349
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
352
echo m68k-sun-sunos${UNAME_RELEASE}
355
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
356
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
357
case "`/bin/arch`" in
359
echo m68k-sun-sunos${UNAME_RELEASE}
362
echo sparc-sun-sunos${UNAME_RELEASE}
367
echo sparc-auspex-sunos${UNAME_RELEASE}
369
# The situation for MiNT is a little confusing. The machine name
370
# can be virtually everything (everything which is not
371
# "atarist" or "atariste" at least should have a processor
372
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
373
# to the lowercase version "mint" (or "freemint"). Finally
374
# the system name "TOS" denotes a system which is actually not
375
# MiNT. But MiNT is downward compatible to TOS, so this should
377
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
378
echo m68k-atari-mint${UNAME_RELEASE}
380
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
381
echo m68k-atari-mint${UNAME_RELEASE}
383
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
384
echo m68k-atari-mint${UNAME_RELEASE}
386
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
387
echo m68k-milan-mint${UNAME_RELEASE}
389
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
390
echo m68k-hades-mint${UNAME_RELEASE}
392
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
393
echo m68k-unknown-mint${UNAME_RELEASE}
396
echo powerpc-apple-machten${UNAME_RELEASE}
399
echo mips-dec-mach_bsd4.3
402
echo mips-dec-ultrix${UNAME_RELEASE}
405
echo vax-dec-ultrix${UNAME_RELEASE}
407
2020:CLIX:*:* | 2430:CLIX:*:*)
408
echo clipper-intergraph-clix${UNAME_RELEASE}
410
mips:*:*:UMIPS | mips:*:*:RISCos)
411
eval $set_cc_for_build
412
sed 's/^ //' << EOF >$dummy.c
414
#include <stdio.h> /* for printf() prototype */
415
int main (int argc, char *argv[]) {
417
int main (argc, argv) int argc; char *argv[]; {
419
#if defined (host_mips) && defined (MIPSEB)
420
#if defined (SYSTYPE_SYSV)
421
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
423
#if defined (SYSTYPE_SVR4)
424
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
426
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
427
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
433
$CC_FOR_BUILD -o $dummy $dummy.c \
434
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
436
echo mips-mips-riscos${UNAME_RELEASE}
438
Motorola:PowerMAX_OS:*:*)
439
echo powerpc-motorola-powermax
441
Motorola:*:4.3:PL8-*)
442
echo powerpc-harris-powermax
444
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
445
echo powerpc-harris-powermax
447
Night_Hawk:Power_UNIX:*:*)
448
echo powerpc-harris-powerunix
451
echo m88k-harris-cxux7
454
echo m88k-motorola-sysv4
457
echo m88k-motorola-sysv3
460
# DG/UX returns AViiON for all architectures
461
UNAME_PROCESSOR=`/usr/bin/uname -p`
462
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
464
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
465
[ ${TARGET_BINARY_INTERFACE}x = x ]
467
echo m88k-dg-dgux${UNAME_RELEASE}
469
echo m88k-dg-dguxbcs${UNAME_RELEASE}
472
echo i586-dg-dgux${UNAME_RELEASE}
475
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
476
echo m88k-dolphin-sysv3
479
# Delta 88k system running SVR3
480
echo m88k-motorola-sysv3
482
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
483
echo m88k-tektronix-sysv3
485
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
486
echo m68k-tektronix-bsd
489
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
491
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
492
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
493
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
498
if [ -x /usr/bin/oslevel ] ; then
499
IBM_REV=`/usr/bin/oslevel`
501
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
503
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
506
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
507
eval $set_cc_for_build
508
sed 's/^ //' << EOF >$dummy.c
509
#include <sys/systemcfg.h>
515
puts("powerpc-ibm-aix3.2.5");
519
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
520
echo rs6000-ibm-aix3.2.5
521
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
522
echo rs6000-ibm-aix3.2.4
524
echo rs6000-ibm-aix3.2
528
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
529
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
534
if [ -x /usr/bin/oslevel ] ; then
535
IBM_REV=`/usr/bin/oslevel`
537
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
539
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
544
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
547
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
548
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
549
exit 0 ;; # report: romp-ibm BSD 4.3
551
echo rs6000-bull-bosx
556
9000/[34]??:4.3bsd:1.*:*)
559
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
562
9000/[34678]??:HP-UX:*:*)
563
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
564
case "${UNAME_MACHINE}" in
565
9000/31? ) HP_ARCH=m68000 ;;
566
9000/[34]?? ) HP_ARCH=m68k ;;
567
9000/[678][0-9][0-9])
568
if [ -x /usr/bin/getconf ]; then
569
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
570
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
571
case "${sc_cpu_version}" in
572
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
573
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
574
532) # CPU_PA_RISC2_0
575
case "${sc_kernel_bits}" in
576
32) HP_ARCH="hppa2.0n" ;;
577
64) HP_ARCH="hppa2.0w" ;;
578
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
582
if [ "${HP_ARCH}" = "" ]; then
583
eval $set_cc_for_build
584
sed 's/^ //' << EOF >$dummy.c
592
#if defined(_SC_KERNEL_BITS)
593
long bits = sysconf(_SC_KERNEL_BITS);
595
long cpu = sysconf (_SC_CPU_VERSION);
599
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
600
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
602
#if defined(_SC_KERNEL_BITS)
605
case 64: puts ("hppa2.0w"); break;
606
case 32: puts ("hppa2.0n"); break;
607
default: puts ("hppa2.0"); break;
609
#else /* !defined(_SC_KERNEL_BITS) */
610
puts ("hppa2.0"); break;
612
default: puts ("hppa1.0"); break;
617
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
618
test -z "$HP_ARCH" && HP_ARCH=hppa
621
if [ ${HP_ARCH} = "hppa2.0w" ]
623
# avoid double evaluation of $set_cc_for_build
624
test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
625
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
632
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
635
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
636
echo ia64-hp-hpux${HPUX_REV}
639
eval $set_cc_for_build
640
sed 's/^ //' << EOF >$dummy.c
645
long cpu = sysconf (_SC_CPU_VERSION);
646
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
647
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
649
if (CPU_IS_PA_RISC (cpu))
653
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
654
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
655
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
656
default: puts ("hppa-hitachi-hiuxwe2"); break;
659
else if (CPU_IS_HP_MC68K (cpu))
660
puts ("m68k-hitachi-hiuxwe2");
661
else puts ("unknown-hitachi-hiuxwe2");
665
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
666
echo unknown-hitachi-hiuxwe2
668
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
674
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
675
echo hppa1.0-hp-mpeix
677
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
684
if [ -x /usr/sbin/sysversion ] ; then
685
echo ${UNAME_MACHINE}-unknown-osf1mk
687
echo ${UNAME_MACHINE}-unknown-osf1
691
echo hppa1.1-hp-lites
693
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
696
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
697
if getsysinfo -f scalar_acc
698
then echo c32-convex-bsd
699
else echo c2-convex-bsd
702
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
705
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
708
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
712
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
715
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
716
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
717
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
721
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
724
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
727
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
730
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
732
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
733
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
734
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
735
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
736
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
738
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
739
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
742
echo sparc-unknown-bsdi${UNAME_RELEASE}
745
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
747
*:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
748
# Determine whether the default compiler uses glibc.
749
eval $set_cc_for_build
750
sed 's/^ //' << EOF >$dummy.c
751
#include <features.h>
758
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
759
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
762
echo ${UNAME_MACHINE}-pc-cygwin
765
echo ${UNAME_MACHINE}-pc-mingw32
768
echo ${UNAME_MACHINE}-pc-pw32
771
echo i586-pc-interix3
773
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
774
echo i${UNAME_MACHINE}-pc-mks
776
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
777
# How do we know it's Interix rather than the generic POSIX subsystem?
778
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
779
# UNAME_MACHINE based on the output of uname instead of i386?
783
echo ${UNAME_MACHINE}-pc-uwin
786
echo powerpcle-unknown-cygwin
789
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
792
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
795
echo ${UNAME_MACHINE}-pc-minix
798
echo ${UNAME_MACHINE}-unknown-linux-gnu
801
echo cris-axis-linux-gnu
804
echo ${UNAME_MACHINE}-unknown-linux-gnu
807
echo ${UNAME_MACHINE}-unknown-linux-gnu
810
eval $set_cc_for_build
811
sed 's/^ //' << EOF >$dummy.c
815
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
818
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
825
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
826
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
829
eval $set_cc_for_build
830
sed 's/^ //' << EOF >$dummy.c
834
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
837
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
844
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
845
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
848
echo powerpc-unknown-linux-gnu
851
echo powerpc64-unknown-linux-gnu
854
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
855
EV5) UNAME_MACHINE=alphaev5 ;;
856
EV56) UNAME_MACHINE=alphaev56 ;;
857
PCA56) UNAME_MACHINE=alphapca56 ;;
858
PCA57) UNAME_MACHINE=alphapca56 ;;
859
EV6) UNAME_MACHINE=alphaev6 ;;
860
EV67) UNAME_MACHINE=alphaev67 ;;
861
EV68*) UNAME_MACHINE=alphaev68 ;;
863
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
864
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
865
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
867
parisc:Linux:*:* | hppa:Linux:*:*)
869
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
870
PA7*) echo hppa1.1-unknown-linux-gnu ;;
871
PA8*) echo hppa2.0-unknown-linux-gnu ;;
872
*) echo hppa-unknown-linux-gnu ;;
875
parisc64:Linux:*:* | hppa64:Linux:*:*)
876
echo hppa64-unknown-linux-gnu
878
s390:Linux:*:* | s390x:Linux:*:*)
879
echo ${UNAME_MACHINE}-ibm-linux
882
echo ${UNAME_MACHINE}-unknown-linux-gnu
884
sparc:Linux:*:* | sparc64:Linux:*:*)
885
echo ${UNAME_MACHINE}-unknown-linux-gnu
888
echo x86_64-unknown-linux-gnu
891
# The BFD linker knows what the default object file format is, so
892
# first see if it will tell us. cd to the root directory to prevent
893
# problems with other programs or directories called `ld' in the path.
894
# Set LC_ALL=C to ensure ld outputs messages in English.
895
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
896
| sed -ne '/supported targets:/!d
898
s/.*supported targets: *//
901
case "$ld_supported_targets" in
903
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
906
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
909
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
912
# Either a pre-BFD a.out linker (linux-gnuoldld) or
913
# one that does not give us useful --help.
914
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
917
# Determine whether the default compiler is a.out or elf
918
eval $set_cc_for_build
919
sed 's/^ //' << EOF >$dummy.c
920
#include <features.h>
932
#ifdef __INTEL_COMPILER
939
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
940
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
941
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
944
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
945
# earlier versions are messed up and put the nodename in both
946
# sysname and nodename.
947
echo i386-sequent-sysv4
949
i*86:UNIX_SV:4.2MP:2.*)
950
# Unixware is an offshoot of SVR4, but it has its own version
951
# number series starting with 2...
952
# I am not positive that other SVR4 systems won't match this,
953
# I just have to hope. -- rms.
954
# Use sysv4.2uw... so that sysv4* matches it.
955
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
958
# If we were able to find `uname', then EMX Unix compatibility
959
# is probably installed.
960
echo ${UNAME_MACHINE}-pc-os2-emx
963
echo ${UNAME_MACHINE}-unknown-stop
966
echo ${UNAME_MACHINE}-unknown-atheos
968
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
969
echo i386-unknown-lynxos${UNAME_RELEASE}
972
echo ${UNAME_MACHINE}-pc-msdosdjgpp
974
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
975
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
976
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
977
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
979
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
983
case `/bin/uname -X | grep "^Machine"` in
984
*486*) UNAME_MACHINE=i486 ;;
985
*Pentium) UNAME_MACHINE=i586 ;;
986
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
988
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
991
if test -f /usr/options/cb.name; then
992
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
993
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
994
elif /bin/uname -X 2>/dev/null >/dev/null ; then
995
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
996
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
997
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
998
&& UNAME_MACHINE=i586
999
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1000
&& UNAME_MACHINE=i686
1001
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1002
&& UNAME_MACHINE=i686
1003
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1005
echo ${UNAME_MACHINE}-pc-sysv32
1009
# Left here for compatibility:
1010
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1011
# the processor, so we play safe by assuming i386.
1012
echo i386-pc-msdosdjgpp
1018
echo i860-intel-osf1
1020
i860:*:4.*:*) # i860-SVR4
1021
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1022
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1023
else # Add other i860-SVR4 vendors below as they are discovered.
1024
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1029
echo m68010-convergent-sysv
1031
mc68k:UNIX:SYSTEM5:3.51m)
1032
echo m68k-convergent-sysv
1038
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1039
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)
1041
test -r /etc/.relid \
1042
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1043
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1044
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1045
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1046
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1047
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1048
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1049
&& echo i486-ncr-sysv4 && exit 0 ;;
1050
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1051
echo m68k-unknown-lynxos${UNAME_RELEASE}
1053
mc68030:UNIX_System_V:4.*:*)
1054
echo m68k-atari-sysv4
1056
TSUNAMI:LynxOS:2.*:*)
1057
echo sparc-unknown-lynxos${UNAME_RELEASE}
1059
rs6000:LynxOS:2.*:*)
1060
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1062
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1063
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1065
SM[BE]S:UNIX_SV:*:*)
1066
echo mips-dde-sysv${UNAME_RELEASE}
1068
RM*:ReliantUNIX-*:*:*)
1075
if uname -p 2>/dev/null >/dev/null ; then
1076
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1077
echo ${UNAME_MACHINE}-sni-sysv4
1082
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1083
# says <Richard.M.Bartel@ccMail.Census.GOV>
1084
echo i586-unisys-sysv4
1086
*:UNIX_System_V:4*:FTX*)
1087
# From Gerald Hewes <hewes@openmarket.com>.
1088
# How about differentiating between stratus architectures? -djm
1089
echo hppa1.1-stratus-sysv4
1092
# From seanf@swdc.stratus.com.
1093
echo i860-stratus-sysv4
1096
# From Paul.Green@stratus.com.
1097
echo hppa1.1-stratus-vos
1100
echo m68k-apple-aux${UNAME_RELEASE}
1103
echo mips-sony-newsos6
1105
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1106
if [ -d /usr/nec ]; then
1107
echo mips-nec-sysv${UNAME_RELEASE}
1109
echo mips-unknown-sysv${UNAME_RELEASE}
1112
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1113
echo powerpc-be-beos
1115
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1116
echo powerpc-apple-beos
1118
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1122
echo sx4-nec-superux${UNAME_RELEASE}
1125
echo sx5-nec-superux${UNAME_RELEASE}
1128
echo sx6-nec-superux${UNAME_RELEASE}
1130
Power*:Rhapsody:*:*)
1131
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1134
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1138
*86) UNAME_PROCESSOR=i686 ;;
1139
powerpc) UNAME_PROCESSOR=powerpc ;;
1141
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1143
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1144
UNAME_PROCESSOR=`uname -p`
1145
if test "$UNAME_PROCESSOR" = "x86"; then
1146
UNAME_PROCESSOR=i386
1149
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1154
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1155
echo nsr-tandem-nsk${UNAME_RELEASE}
1158
echo mips-compaq-nonstopux
1161
echo bs2000-siemens-sysv
1163
DS/*:UNIX_System_V:*:*)
1164
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1167
# "uname -m" is not consistent, so use $cputype instead. 386
1168
# is converted to i386 for consistency with other x86
1169
# operating systems.
1170
if test "$cputype" = "386"; then
1173
UNAME_MACHINE="$cputype"
1175
echo ${UNAME_MACHINE}-unknown-plan9
1178
echo pdp10-unknown-tops10
1181
echo pdp10-unknown-tenex
1183
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1184
echo pdp10-dec-tops20
1186
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1187
echo pdp10-xkl-tops20
1190
echo pdp10-unknown-tops20
1193
echo pdp10-unknown-its
1197
#echo '(No uname command or uname output not recognized.)' 1>&2
1198
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1200
eval $set_cc_for_build
1203
# include <sys/types.h>
1204
# include <sys/utsname.h>
1209
#if defined (MIPSEB)
1210
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1212
printf ("mips-sony-bsd\n"); exit (0);
1214
#include <sys/param.h>
1215
printf ("m68k-sony-newsos%s\n",
1225
#if defined (__arm) && defined (__acorn) && defined (__unix)
1226
printf ("arm-acorn-riscix"); exit (0);
1229
#if defined (hp300) && !defined (hpux)
1230
printf ("m68k-hp-bsd\n"); exit (0);
1234
#if !defined (__ARCHITECTURE__)
1235
#define __ARCHITECTURE__ "m68k"
1238
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1240
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1242
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1246
#if defined (MULTIMAX) || defined (n16)
1248
printf ("ns32k-encore-sysv\n"); exit (0);
1251
printf ("ns32k-encore-mach\n"); exit (0);
1253
printf ("ns32k-encore-bsd\n"); exit (0);
1258
#if defined (__386BSD__)
1259
printf ("i386-pc-bsd\n"); exit (0);
1262
#if defined (sequent)
1264
printf ("i386-sequent-dynix\n"); exit (0);
1266
#if defined (ns32000)
1267
printf ("ns32k-sequent-dynix\n"); exit (0);
1271
#if defined (_SEQUENT_)
1276
if (strncmp(un.version, "V2", 2) == 0) {
1277
printf ("i386-sequent-ptx2\n"); exit (0);
1279
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1280
printf ("i386-sequent-ptx1\n"); exit (0);
1282
printf ("i386-sequent-ptx\n"); exit (0);
1287
# if !defined (ultrix)
1288
# include <sys/param.h>
1291
printf ("vax-dec-bsd4.3\n"); exit (0);
1294
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1296
printf ("vax-dec-bsd\n"); exit (0);
1300
printf ("vax-dec-bsd\n"); exit (0);
1303
printf ("vax-dec-ultrix\n"); exit (0);
1307
#if defined (alliant) && defined (i860)
1308
printf ("i860-alliant-bsd\n"); exit (0);
1315
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1317
# Apollos put the system type in the environment.
1319
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1321
# Convex versions that predate uname can use getsysinfo(1)
1323
if [ -x /usr/convex/getsysinfo ]
1325
case `getsysinfo -f cpu_type` in
1330
if getsysinfo -f scalar_acc
1331
then echo c32-convex-bsd
1332
else echo c2-convex-bsd
1348
$0: unable to guess system type
1350
This script, last modified $timestamp, has failed to recognize
1351
the operating system you are using. It is advised that you
1352
download the most up to date version of the config scripts from
1354
ftp://ftp.gnu.org/pub/gnu/config/
1356
If the version you run ($0) is already up to date, please
1357
send the following data and any information you think might be
1358
pertinent to <config-patches@gnu.org> in order to provide the needed
1359
information to handle your system.
1361
config.guess timestamp = $timestamp
1363
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1364
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1365
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1366
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1368
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1369
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1371
hostinfo = `(hostinfo) 2>/dev/null`
1372
/bin/universe = `(/bin/universe) 2>/dev/null`
1373
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1374
/bin/arch = `(/bin/arch) 2>/dev/null`
1375
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1376
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1378
UNAME_MACHINE = ${UNAME_MACHINE}
1379
UNAME_RELEASE = ${UNAME_RELEASE}
1380
UNAME_SYSTEM = ${UNAME_SYSTEM}
1381
UNAME_VERSION = ${UNAME_VERSION}
1387
# eval: (add-hook 'write-file-hooks 'time-stamp)
1388
# time-stamp-start: "timestamp='"
1389
# time-stamp-format: "%:y-%02m-%02d"
1390
# time-stamp-end: "'"