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}
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 ${UNAME_MACHINE}-unknown-linux-gnu
804
echo ${UNAME_MACHINE}-unknown-linux-gnu
807
eval $set_cc_for_build
808
sed 's/^ //' << EOF >$dummy.c
812
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
815
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
822
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
823
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
826
eval $set_cc_for_build
827
sed 's/^ //' << EOF >$dummy.c
831
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
834
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
841
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
842
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
845
echo powerpc-unknown-linux-gnu
848
echo powerpc64-unknown-linux-gnu
851
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
852
EV5) UNAME_MACHINE=alphaev5 ;;
853
EV56) UNAME_MACHINE=alphaev56 ;;
854
PCA56) UNAME_MACHINE=alphapca56 ;;
855
PCA57) UNAME_MACHINE=alphapca56 ;;
856
EV6) UNAME_MACHINE=alphaev6 ;;
857
EV67) UNAME_MACHINE=alphaev67 ;;
858
EV68*) UNAME_MACHINE=alphaev68 ;;
860
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
861
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
862
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
864
parisc:Linux:*:* | hppa:Linux:*:*)
866
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
867
PA7*) echo hppa1.1-unknown-linux-gnu ;;
868
PA8*) echo hppa2.0-unknown-linux-gnu ;;
869
*) echo hppa-unknown-linux-gnu ;;
872
parisc64:Linux:*:* | hppa64:Linux:*:*)
873
echo hppa64-unknown-linux-gnu
875
s390:Linux:*:* | s390x:Linux:*:*)
876
echo ${UNAME_MACHINE}-ibm-linux
879
echo ${UNAME_MACHINE}-unknown-linux-gnu
881
sparc:Linux:*:* | sparc64:Linux:*:*)
882
echo ${UNAME_MACHINE}-unknown-linux-gnu
885
echo x86_64-unknown-linux-gnu
888
# The BFD linker knows what the default object file format is, so
889
# first see if it will tell us. cd to the root directory to prevent
890
# problems with other programs or directories called `ld' in the path.
891
# Set LC_ALL=C to ensure ld outputs messages in English.
892
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
893
| sed -ne '/supported targets:/!d
895
s/.*supported targets: *//
898
case "$ld_supported_targets" in
900
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
903
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
906
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
909
# Either a pre-BFD a.out linker (linux-gnuoldld) or
910
# one that does not give us useful --help.
911
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
914
# Determine whether the default compiler is a.out or elf
915
eval $set_cc_for_build
916
sed 's/^ //' << EOF >$dummy.c
917
#include <features.h>
929
#ifdef __INTEL_COMPILER
936
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
937
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
938
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
941
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
942
# earlier versions are messed up and put the nodename in both
943
# sysname and nodename.
944
echo i386-sequent-sysv4
946
i*86:UNIX_SV:4.2MP:2.*)
947
# Unixware is an offshoot of SVR4, but it has its own version
948
# number series starting with 2...
949
# I am not positive that other SVR4 systems won't match this,
950
# I just have to hope. -- rms.
951
# Use sysv4.2uw... so that sysv4* matches it.
952
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
955
# If we were able to find `uname', then EMX Unix compatibility
956
# is probably installed.
957
echo ${UNAME_MACHINE}-pc-os2-emx
960
echo ${UNAME_MACHINE}-unknown-stop
963
echo ${UNAME_MACHINE}-unknown-atheos
965
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
966
echo i386-unknown-lynxos${UNAME_RELEASE}
969
echo ${UNAME_MACHINE}-pc-msdosdjgpp
971
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
972
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
973
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
974
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
976
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
980
case `/bin/uname -X | grep "^Machine"` in
981
*486*) UNAME_MACHINE=i486 ;;
982
*Pentium) UNAME_MACHINE=i586 ;;
983
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
985
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
988
if test -f /usr/options/cb.name; then
989
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
990
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
991
elif /bin/uname -X 2>/dev/null >/dev/null ; then
992
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
993
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
994
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
995
&& UNAME_MACHINE=i586
996
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
997
&& UNAME_MACHINE=i686
998
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
999
&& UNAME_MACHINE=i686
1000
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1002
echo ${UNAME_MACHINE}-pc-sysv32
1006
# Left here for compatibility:
1007
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1008
# the processor, so we play safe by assuming i386.
1009
echo i386-pc-msdosdjgpp
1015
echo i860-intel-osf1
1017
i860:*:4.*:*) # i860-SVR4
1018
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1019
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1020
else # Add other i860-SVR4 vendors below as they are discovered.
1021
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1026
echo m68010-convergent-sysv
1028
mc68k:UNIX:SYSTEM5:3.51m)
1029
echo m68k-convergent-sysv
1035
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1036
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)
1038
test -r /etc/.relid \
1039
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1040
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1041
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1042
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1043
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1044
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1045
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1046
&& echo i486-ncr-sysv4 && exit 0 ;;
1047
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1048
echo m68k-unknown-lynxos${UNAME_RELEASE}
1050
mc68030:UNIX_System_V:4.*:*)
1051
echo m68k-atari-sysv4
1053
TSUNAMI:LynxOS:2.*:*)
1054
echo sparc-unknown-lynxos${UNAME_RELEASE}
1056
rs6000:LynxOS:2.*:*)
1057
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1059
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1060
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1062
SM[BE]S:UNIX_SV:*:*)
1063
echo mips-dde-sysv${UNAME_RELEASE}
1065
RM*:ReliantUNIX-*:*:*)
1072
if uname -p 2>/dev/null >/dev/null ; then
1073
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1074
echo ${UNAME_MACHINE}-sni-sysv4
1079
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1080
# says <Richard.M.Bartel@ccMail.Census.GOV>
1081
echo i586-unisys-sysv4
1083
*:UNIX_System_V:4*:FTX*)
1084
# From Gerald Hewes <hewes@openmarket.com>.
1085
# How about differentiating between stratus architectures? -djm
1086
echo hppa1.1-stratus-sysv4
1089
# From seanf@swdc.stratus.com.
1090
echo i860-stratus-sysv4
1093
# From Paul.Green@stratus.com.
1094
echo hppa1.1-stratus-vos
1097
echo m68k-apple-aux${UNAME_RELEASE}
1100
echo mips-sony-newsos6
1102
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1103
if [ -d /usr/nec ]; then
1104
echo mips-nec-sysv${UNAME_RELEASE}
1106
echo mips-unknown-sysv${UNAME_RELEASE}
1109
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1110
echo powerpc-be-beos
1112
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1113
echo powerpc-apple-beos
1115
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1119
echo sx4-nec-superux${UNAME_RELEASE}
1122
echo sx5-nec-superux${UNAME_RELEASE}
1125
echo sx6-nec-superux${UNAME_RELEASE}
1127
Power*:Rhapsody:*:*)
1128
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1131
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1135
*86) UNAME_PROCESSOR=i686 ;;
1136
powerpc) UNAME_PROCESSOR=powerpc ;;
1138
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1140
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1141
UNAME_PROCESSOR=`uname -p`
1142
if test "$UNAME_PROCESSOR" = "x86"; then
1143
UNAME_PROCESSOR=i386
1146
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1151
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1152
echo nsr-tandem-nsk${UNAME_RELEASE}
1155
echo mips-compaq-nonstopux
1158
echo bs2000-siemens-sysv
1160
DS/*:UNIX_System_V:*:*)
1161
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1164
# "uname -m" is not consistent, so use $cputype instead. 386
1165
# is converted to i386 for consistency with other x86
1166
# operating systems.
1167
if test "$cputype" = "386"; then
1170
UNAME_MACHINE="$cputype"
1172
echo ${UNAME_MACHINE}-unknown-plan9
1175
echo pdp10-unknown-tops10
1178
echo pdp10-unknown-tenex
1180
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1181
echo pdp10-dec-tops20
1183
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1184
echo pdp10-xkl-tops20
1187
echo pdp10-unknown-tops20
1190
echo pdp10-unknown-its
1194
#echo '(No uname command or uname output not recognized.)' 1>&2
1195
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1197
eval $set_cc_for_build
1200
# include <sys/types.h>
1201
# include <sys/utsname.h>
1206
#if defined (MIPSEB)
1207
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1209
printf ("mips-sony-bsd\n"); exit (0);
1211
#include <sys/param.h>
1212
printf ("m68k-sony-newsos%s\n",
1222
#if defined (__arm) && defined (__acorn) && defined (__unix)
1223
printf ("arm-acorn-riscix"); exit (0);
1226
#if defined (hp300) && !defined (hpux)
1227
printf ("m68k-hp-bsd\n"); exit (0);
1231
#if !defined (__ARCHITECTURE__)
1232
#define __ARCHITECTURE__ "m68k"
1235
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1237
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1239
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1243
#if defined (MULTIMAX) || defined (n16)
1245
printf ("ns32k-encore-sysv\n"); exit (0);
1248
printf ("ns32k-encore-mach\n"); exit (0);
1250
printf ("ns32k-encore-bsd\n"); exit (0);
1255
#if defined (__386BSD__)
1256
printf ("i386-pc-bsd\n"); exit (0);
1259
#if defined (sequent)
1261
printf ("i386-sequent-dynix\n"); exit (0);
1263
#if defined (ns32000)
1264
printf ("ns32k-sequent-dynix\n"); exit (0);
1268
#if defined (_SEQUENT_)
1273
if (strncmp(un.version, "V2", 2) == 0) {
1274
printf ("i386-sequent-ptx2\n"); exit (0);
1276
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1277
printf ("i386-sequent-ptx1\n"); exit (0);
1279
printf ("i386-sequent-ptx\n"); exit (0);
1284
# if !defined (ultrix)
1285
# include <sys/param.h>
1288
printf ("vax-dec-bsd4.3\n"); exit (0);
1291
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1293
printf ("vax-dec-bsd\n"); exit (0);
1297
printf ("vax-dec-bsd\n"); exit (0);
1300
printf ("vax-dec-ultrix\n"); exit (0);
1304
#if defined (alliant) && defined (i860)
1305
printf ("i860-alliant-bsd\n"); exit (0);
1312
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1314
# Apollos put the system type in the environment.
1316
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1318
# Convex versions that predate uname can use getsysinfo(1)
1320
if [ -x /usr/convex/getsysinfo ]
1322
case `getsysinfo -f cpu_type` in
1327
if getsysinfo -f scalar_acc
1328
then echo c32-convex-bsd
1329
else echo c2-convex-bsd
1345
$0: unable to guess system type
1347
This script, last modified $timestamp, has failed to recognize
1348
the operating system you are using. It is advised that you
1349
download the most up to date version of the config scripts from
1351
ftp://ftp.gnu.org/pub/gnu/config/
1353
If the version you run ($0) is already up to date, please
1354
send the following data and any information you think might be
1355
pertinent to <config-patches@gnu.org> in order to provide the needed
1356
information to handle your system.
1358
config.guess timestamp = $timestamp
1360
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1361
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1362
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1363
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1365
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1366
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1368
hostinfo = `(hostinfo) 2>/dev/null`
1369
/bin/universe = `(/bin/universe) 2>/dev/null`
1370
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1371
/bin/arch = `(/bin/arch) 2>/dev/null`
1372
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1373
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1375
UNAME_MACHINE = ${UNAME_MACHINE}
1376
UNAME_RELEASE = ${UNAME_RELEASE}
1377
UNAME_SYSTEM = ${UNAME_SYSTEM}
1378
UNAME_VERSION = ${UNAME_VERSION}
1384
# eval: (add-hook 'write-file-hooks 'time-stamp)
1385
# time-stamp-start: "timestamp='"
1386
# time-stamp-format: "%:y-%02m-%02d"
1387
# time-stamp-end: "'"