2
# Attempt to guess a canonical system name.
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
# 2000, 2001, 2002 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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
# This shell variable is my proudest work .. or something. --bje
103
set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
104
(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
105
|| (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
106
dummy=$tmpdir/dummy ;
107
files="$dummy.c $dummy.o $dummy.rel $dummy" ;
108
trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
109
case $CC_FOR_BUILD,$HOST_CC,$CC in
110
,,) echo "int x;" > $dummy.c ;
111
for c in cc gcc c89 c99 ; do
112
if ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then
113
CC_FOR_BUILD="$c"; break ;
117
if test x"$CC_FOR_BUILD" = x ; then
118
CC_FOR_BUILD=no_compiler_found ;
121
,,*) CC_FOR_BUILD=$CC ;;
122
,*,*) CC_FOR_BUILD=$HOST_CC ;;
126
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
127
# (ghazi@noc.rutgers.edu 1994-08-24)
128
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
129
PATH=$PATH:/.attbin ; export PATH
132
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
133
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
134
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
135
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
137
# Note: order is significant - the case branches are not exclusive.
139
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
141
# NetBSD (nbsd) targets should (where applicable) match one or
142
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
143
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
144
# switched to ELF, *-*-netbsd* would select the old
145
# object file format. This provides both forward
146
# compatibility and a consistent mechanism for selecting the
147
# object file format.
149
# Note: NetBSD doesn't particularly care about the vendor
150
# portion of the name. We always set it to "unknown".
151
sysctl="sysctl -n hw.machine_arch"
152
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
153
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
154
case "${UNAME_MACHINE_ARCH}" in
155
armeb) machine=armeb-unknown ;;
156
arm*) machine=arm-unknown ;;
157
sh3el) machine=shl-unknown ;;
158
sh3eb) machine=sh-unknown ;;
159
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
161
# The Operating System including object format, if it has switched
162
# to ELF recently, or will in the future.
163
case "${UNAME_MACHINE_ARCH}" in
164
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
165
eval $set_cc_for_build
166
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
167
| grep __ELF__ >/dev/null
169
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
170
# Return netbsd for either. FIX?
181
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
182
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
183
# contains redundant information, the shorter form:
184
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
185
echo "${machine}-${os}${release}"
188
echo m68k-unknown-openbsd${UNAME_RELEASE}
191
echo mipsel-unknown-openbsd${UNAME_RELEASE}
194
echo m68k-unknown-openbsd${UNAME_RELEASE}
197
echo m68k-unknown-openbsd${UNAME_RELEASE}
200
echo powerpc-unknown-openbsd${UNAME_RELEASE}
203
echo m68k-unknown-openbsd${UNAME_RELEASE}
206
echo m88k-unknown-openbsd${UNAME_RELEASE}
209
echo powerpc-unknown-openbsd${UNAME_RELEASE}
212
echo mipsel-unknown-openbsd${UNAME_RELEASE}
215
echo mipseb-unknown-openbsd${UNAME_RELEASE}
218
echo m68k-unknown-openbsd${UNAME_RELEASE}
221
echo mipsel-unknown-openbsd${UNAME_RELEASE}
224
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
227
if test $UNAME_RELEASE = "V4.0"; then
228
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
230
# A Vn.n version is a released version.
231
# A Tn.n version is a released field test version.
232
# A Xn.n version is an unreleased experimental baselevel.
233
# 1.2 uses "1.2" for uname -r.
234
eval $set_cc_for_build
238
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
245
.frame \$30,16,\$26,0
248
.long 0x47e03d80 # implver \$0
250
.long 0x47e20c21 # amask \$2,\$1
260
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
261
if test "$?" = 0 ; then
264
UNAME_MACHINE="alpha"
267
UNAME_MACHINE="alphaev5"
270
UNAME_MACHINE="alphaev56"
273
UNAME_MACHINE="alphapca56"
276
UNAME_MACHINE="alphaev6"
279
UNAME_MACHINE="alphaev67"
282
UNAME_MACHINE="alphaev68"
285
UNAME_MACHINE="alphaev7"
289
rm -f $dummy.s $dummy && rmdir $tmpdir
290
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
292
Alpha\ *:Windows_NT*:*)
293
# How do we know it's Interix rather than the generic POSIX subsystem?
294
# Should we change UNAME_MACHINE based on the output of uname instead
295
# of the specific Alpha model?
296
echo alpha-pc-interix
298
21064:Windows_NT:50:3)
299
echo alpha-dec-winnt3.5
301
Amiga*:UNIX_System_V:4.0:*)
302
echo m68k-unknown-sysv4
304
*:[Aa]miga[Oo][Ss]:*:*)
305
echo ${UNAME_MACHINE}-unknown-amigaos
307
*:[Mm]orph[Oo][Ss]:*:*)
308
echo ${UNAME_MACHINE}-unknown-morphos
311
echo i370-ibm-openedition
313
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
314
echo arm-acorn-riscix${UNAME_RELEASE}
316
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
317
echo hppa1.1-hitachi-hiuxmpp
319
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
320
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
321
if test "`(/bin/universe) 2>/dev/null`" = att ; then
322
echo pyramid-pyramid-sysv3
324
echo pyramid-pyramid-bsd
328
echo pyramid-pyramid-svr4
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 $dummy.c -o $dummy \
441
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
442
&& rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
443
rm -f $dummy.c $dummy && rmdir $tmpdir
444
echo mips-mips-riscos${UNAME_RELEASE}
446
Motorola:PowerMAX_OS:*:*)
447
echo powerpc-motorola-powermax
449
Night_Hawk:*:*:PowerMAX_OS)
450
echo powerpc-harris-powermax
452
Night_Hawk:Power_UNIX:*:*)
453
echo powerpc-harris-powerunix
456
echo m88k-harris-cxux7
459
echo m88k-motorola-sysv4
462
echo m88k-motorola-sysv3
465
# DG/UX returns AViiON for all architectures
466
UNAME_PROCESSOR=`/usr/bin/uname -p`
467
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
469
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
470
[ ${TARGET_BINARY_INTERFACE}x = x ]
472
echo m88k-dg-dgux${UNAME_RELEASE}
474
echo m88k-dg-dguxbcs${UNAME_RELEASE}
477
echo i586-dg-dgux${UNAME_RELEASE}
480
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
481
echo m88k-dolphin-sysv3
484
# Delta 88k system running SVR3
485
echo m88k-motorola-sysv3
487
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
488
echo m88k-tektronix-sysv3
490
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
491
echo m68k-tektronix-bsd
494
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
496
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
497
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
498
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
503
if [ -x /usr/bin/oslevel ] ; then
504
IBM_REV=`/usr/bin/oslevel`
506
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
508
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
511
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
512
eval $set_cc_for_build
513
sed 's/^ //' << EOF >$dummy.c
514
#include <sys/systemcfg.h>
520
puts("powerpc-ibm-aix3.2.5");
524
$CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
525
rm -f $dummy.c $dummy && rmdir $tmpdir
526
echo rs6000-ibm-aix3.2.5
527
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
528
echo rs6000-ibm-aix3.2.4
530
echo rs6000-ibm-aix3.2
534
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
535
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
540
if [ -x /usr/bin/oslevel ] ; then
541
IBM_REV=`/usr/bin/oslevel`
543
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
545
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
550
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
553
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
554
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
555
exit 0 ;; # report: romp-ibm BSD 4.3
557
echo rs6000-bull-bosx
562
9000/[34]??:4.3bsd:1.*:*)
565
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
568
9000/[34678]??:HP-UX:*:*)
569
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
570
case "${UNAME_MACHINE}" in
571
9000/31? ) HP_ARCH=m68000 ;;
572
9000/[34]?? ) HP_ARCH=m68k ;;
573
9000/[678][0-9][0-9])
574
if [ -x /usr/bin/getconf ]; then
575
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
576
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
577
case "${sc_cpu_version}" in
578
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
579
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
580
532) # CPU_PA_RISC2_0
581
case "${sc_kernel_bits}" in
582
32) HP_ARCH="hppa2.0n" ;;
583
64) HP_ARCH="hppa2.0w" ;;
584
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
588
if [ "${HP_ARCH}" = "" ]; then
589
eval $set_cc_for_build
590
sed 's/^ //' << EOF >$dummy.c
598
#if defined(_SC_KERNEL_BITS)
599
long bits = sysconf(_SC_KERNEL_BITS);
601
long cpu = sysconf (_SC_CPU_VERSION);
605
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
606
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
608
#if defined(_SC_KERNEL_BITS)
611
case 64: puts ("hppa2.0w"); break;
612
case 32: puts ("hppa2.0n"); break;
613
default: puts ("hppa2.0"); break;
615
#else /* !defined(_SC_KERNEL_BITS) */
616
puts ("hppa2.0"); break;
618
default: puts ("hppa1.0"); break;
623
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`$dummy`
624
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
625
rm -f $dummy.c $dummy && rmdir $tmpdir
628
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
631
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
632
echo ia64-hp-hpux${HPUX_REV}
635
eval $set_cc_for_build
636
sed 's/^ //' << EOF >$dummy.c
641
long cpu = sysconf (_SC_CPU_VERSION);
642
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
643
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
645
if (CPU_IS_PA_RISC (cpu))
649
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
650
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
651
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
652
default: puts ("hppa-hitachi-hiuxwe2"); break;
655
else if (CPU_IS_HP_MC68K (cpu))
656
puts ("m68k-hitachi-hiuxwe2");
657
else puts ("unknown-hitachi-hiuxwe2");
661
$CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
662
rm -f $dummy.c $dummy && rmdir $tmpdir
663
echo unknown-hitachi-hiuxwe2
665
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
671
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
672
echo hppa1.0-hp-mpeix
674
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
681
if [ -x /usr/sbin/sysversion ] ; then
682
echo ${UNAME_MACHINE}-unknown-osf1mk
684
echo ${UNAME_MACHINE}-unknown-osf1
688
echo hppa1.1-hp-lites
690
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
693
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
694
if getsysinfo -f scalar_acc
695
then echo c32-convex-bsd
696
else echo c2-convex-bsd
699
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
702
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
705
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
709
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
712
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
713
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
714
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
718
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
721
echo alpha-cray-unicosmk${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/'
729
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
730
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
731
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
732
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
733
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
735
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
736
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
739
echo sparc-unknown-bsdi${UNAME_RELEASE}
742
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
745
# Determine whether the default compiler uses glibc.
746
eval $set_cc_for_build
747
sed 's/^ //' << EOF >$dummy.c
748
#include <features.h>
755
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
756
rm -f $dummy.c && rmdir $tmpdir
757
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
760
echo ${UNAME_MACHINE}-pc-cygwin
763
echo ${UNAME_MACHINE}-pc-mingw32
766
echo ${UNAME_MACHINE}-pc-pw32
769
echo i386-pc-interix3
771
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
772
# How do we know it's Interix rather than the generic POSIX subsystem?
773
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
774
# UNAME_MACHINE based on the output of uname instead of i386?
778
echo ${UNAME_MACHINE}-pc-uwin
781
echo powerpcle-unknown-cygwin
784
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
787
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
790
echo ${UNAME_MACHINE}-pc-minix
793
echo ${UNAME_MACHINE}-unknown-linux-gnu
796
echo ${UNAME_MACHINE}-unknown-linux-gnu
799
echo ${UNAME_MACHINE}-unknown-linux-gnu
802
eval $set_cc_for_build
803
sed 's/^ //' << EOF >$dummy.c
807
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
810
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
817
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
818
rm -f $dummy.c && rmdir $tmpdir
819
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
822
echo powerpc-unknown-linux-gnu
825
echo powerpc64-unknown-linux-gnu
828
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
829
EV5) UNAME_MACHINE=alphaev5 ;;
830
EV56) UNAME_MACHINE=alphaev56 ;;
831
PCA56) UNAME_MACHINE=alphapca56 ;;
832
PCA57) UNAME_MACHINE=alphapca56 ;;
833
EV6) UNAME_MACHINE=alphaev6 ;;
834
EV67) UNAME_MACHINE=alphaev67 ;;
835
EV68*) UNAME_MACHINE=alphaev68 ;;
837
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
838
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
839
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
841
parisc:Linux:*:* | hppa:Linux:*:*)
843
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
844
PA7*) echo hppa1.1-unknown-linux-gnu ;;
845
PA8*) echo hppa2.0-unknown-linux-gnu ;;
846
*) echo hppa-unknown-linux-gnu ;;
849
parisc64:Linux:*:* | hppa64:Linux:*:*)
850
echo hppa64-unknown-linux-gnu
852
s390:Linux:*:* | s390x:Linux:*:*)
853
echo ${UNAME_MACHINE}-ibm-linux
856
echo ${UNAME_MACHINE}-unknown-linux-gnu
858
sparc:Linux:*:* | sparc64:Linux:*:*)
859
echo ${UNAME_MACHINE}-unknown-linux-gnu
862
echo x86_64-unknown-linux-gnu
865
# The BFD linker knows what the default object file format is, so
866
# first see if it will tell us. cd to the root directory to prevent
867
# problems with other programs or directories called `ld' in the path.
868
# Set LC_ALL=C to ensure ld outputs messages in English.
869
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
870
| sed -ne '/supported targets:/!d
872
s/.*supported targets: *//
875
case "$ld_supported_targets" in
877
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
880
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
883
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
886
# Either a pre-BFD a.out linker (linux-gnuoldld) or
887
# one that does not give us useful --help.
888
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
891
# Determine whether the default compiler is a.out or elf
892
eval $set_cc_for_build
893
sed 's/^ //' << EOF >$dummy.c
894
#include <features.h>
906
#ifdef __INTEL_COMPILER
913
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
914
rm -f $dummy.c && rmdir $tmpdir
915
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
916
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
919
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
920
# earlier versions are messed up and put the nodename in both
921
# sysname and nodename.
922
echo i386-sequent-sysv4
924
i*86:UNIX_SV:4.2MP:2.*)
925
# Unixware is an offshoot of SVR4, but it has its own version
926
# number series starting with 2...
927
# I am not positive that other SVR4 systems won't match this,
928
# I just have to hope. -- rms.
929
# Use sysv4.2uw... so that sysv4* matches it.
930
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
932
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
933
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
934
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
935
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
937
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
941
case `/bin/uname -X | grep "^Machine"` in
942
*486*) UNAME_MACHINE=i486 ;;
943
*Pentium) UNAME_MACHINE=i586 ;;
944
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
946
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
949
if test -f /usr/options/cb.name; then
950
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
951
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
952
elif /bin/uname -X 2>/dev/null >/dev/null ; then
953
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
954
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
955
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
956
&& UNAME_MACHINE=i586
957
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
958
&& UNAME_MACHINE=i686
959
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
960
&& UNAME_MACHINE=i686
961
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
963
echo ${UNAME_MACHINE}-pc-sysv32
967
echo ${UNAME_MACHINE}-pc-msdosdjgpp
970
# Left here for compatibility:
971
# uname -m prints for DJGPP always 'pc', but it prints nothing about
972
# the processor, so we play safe by assuming i386.
973
echo i386-pc-msdosdjgpp
981
i860:*:4.*:*) # i860-SVR4
982
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
983
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
984
else # Add other i860-SVR4 vendors below as they are discovered.
985
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
990
echo m68010-convergent-sysv
993
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
994
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)
996
test -r /etc/.relid \
997
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
998
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
999
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1000
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1001
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1002
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1003
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1004
&& echo i486-ncr-sysv4 && exit 0 ;;
1005
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1006
echo m68k-unknown-lynxos${UNAME_RELEASE}
1008
mc68030:UNIX_System_V:4.*:*)
1009
echo m68k-atari-sysv4
1011
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1012
echo i386-unknown-lynxos${UNAME_RELEASE}
1014
TSUNAMI:LynxOS:2.*:*)
1015
echo sparc-unknown-lynxos${UNAME_RELEASE}
1017
rs6000:LynxOS:2.*:*)
1018
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1020
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1021
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1023
SM[BE]S:UNIX_SV:*:*)
1024
echo mips-dde-sysv${UNAME_RELEASE}
1026
RM*:ReliantUNIX-*:*:*)
1033
if uname -p 2>/dev/null >/dev/null ; then
1034
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1035
echo ${UNAME_MACHINE}-sni-sysv4
1040
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1041
# says <Richard.M.Bartel@ccMail.Census.GOV>
1042
echo i586-unisys-sysv4
1044
*:UNIX_System_V:4*:FTX*)
1045
# From Gerald Hewes <hewes@openmarket.com>.
1046
# How about differentiating between stratus architectures? -djm
1047
echo hppa1.1-stratus-sysv4
1050
# From seanf@swdc.stratus.com.
1051
echo i860-stratus-sysv4
1054
# From Paul.Green@stratus.com.
1055
echo hppa1.1-stratus-vos
1058
echo m68k-apple-aux${UNAME_RELEASE}
1061
echo mips-sony-newsos6
1063
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1064
if [ -d /usr/nec ]; then
1065
echo mips-nec-sysv${UNAME_RELEASE}
1067
echo mips-unknown-sysv${UNAME_RELEASE}
1070
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1071
echo powerpc-be-beos
1073
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1074
echo powerpc-apple-beos
1076
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1080
echo sx4-nec-superux${UNAME_RELEASE}
1083
echo sx5-nec-superux${UNAME_RELEASE}
1085
Power*:Rhapsody:*:*)
1086
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1089
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1092
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1094
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1095
UNAME_PROCESSOR=`uname -p`
1096
if test "$UNAME_PROCESSOR" = "x86"; then
1097
UNAME_PROCESSOR=i386
1100
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1105
NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1106
echo nsr-tandem-nsk${UNAME_RELEASE}
1109
echo mips-compaq-nonstopux
1112
echo bs2000-siemens-sysv
1114
DS/*:UNIX_System_V:*:*)
1115
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1118
# "uname -m" is not consistent, so use $cputype instead. 386
1119
# is converted to i386 for consistency with other x86
1120
# operating systems.
1121
if test "$cputype" = "386"; then
1124
UNAME_MACHINE="$cputype"
1126
echo ${UNAME_MACHINE}-unknown-plan9
1129
# If we were able to find `uname', then EMX Unix compatibility
1130
# is probably installed.
1131
echo ${UNAME_MACHINE}-pc-os2-emx
1134
echo pdp10-unknown-tops10
1137
echo pdp10-unknown-tenex
1139
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1140
echo pdp10-dec-tops20
1142
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1143
echo pdp10-xkl-tops20
1146
echo pdp10-unknown-tops20
1149
echo pdp10-unknown-its
1151
i*86:XTS-300:*:STOP)
1152
echo ${UNAME_MACHINE}-unknown-stop
1155
echo ${UNAME_MACHINE}-unknown-atheos
1159
#echo '(No uname command or uname output not recognized.)' 1>&2
1160
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1162
eval $set_cc_for_build
1165
# include <sys/types.h>
1166
# include <sys/utsname.h>
1171
#if defined (MIPSEB)
1172
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1174
printf ("mips-sony-bsd\n"); exit (0);
1176
#include <sys/param.h>
1177
printf ("m68k-sony-newsos%s\n",
1187
#if defined (__arm) && defined (__acorn) && defined (__unix)
1188
printf ("arm-acorn-riscix"); exit (0);
1191
#if defined (hp300) && !defined (hpux)
1192
printf ("m68k-hp-bsd\n"); exit (0);
1196
#if !defined (__ARCHITECTURE__)
1197
#define __ARCHITECTURE__ "m68k"
1200
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1202
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1204
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1208
#if defined (MULTIMAX) || defined (n16)
1210
printf ("ns32k-encore-sysv\n"); exit (0);
1213
printf ("ns32k-encore-mach\n"); exit (0);
1215
printf ("ns32k-encore-bsd\n"); exit (0);
1220
#if defined (__386BSD__)
1221
printf ("i386-pc-bsd\n"); exit (0);
1224
#if defined (sequent)
1226
printf ("i386-sequent-dynix\n"); exit (0);
1228
#if defined (ns32000)
1229
printf ("ns32k-sequent-dynix\n"); exit (0);
1233
#if defined (_SEQUENT_)
1238
if (strncmp(un.version, "V2", 2) == 0) {
1239
printf ("i386-sequent-ptx2\n"); exit (0);
1241
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1242
printf ("i386-sequent-ptx1\n"); exit (0);
1244
printf ("i386-sequent-ptx\n"); exit (0);
1249
# if !defined (ultrix)
1250
# include <sys/param.h>
1253
printf ("vax-dec-bsd4.3\n"); exit (0);
1256
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1258
printf ("vax-dec-bsd\n"); exit (0);
1262
printf ("vax-dec-bsd\n"); exit (0);
1265
printf ("vax-dec-ultrix\n"); exit (0);
1269
#if defined (alliant) && defined (i860)
1270
printf ("i860-alliant-bsd\n"); exit (0);
1277
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
1278
rm -f $dummy.c $dummy && rmdir $tmpdir
1280
# Apollos put the system type in the environment.
1282
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1284
# Convex versions that predate uname can use getsysinfo(1)
1286
if [ -x /usr/convex/getsysinfo ]
1288
case `getsysinfo -f cpu_type` in
1293
if getsysinfo -f scalar_acc
1294
then echo c32-convex-bsd
1295
else echo c2-convex-bsd
1311
$0: unable to guess system type
1313
This script, last modified $timestamp, has failed to recognize
1314
the operating system you are using. It is advised that you
1315
download the most up to date version of the config scripts from
1317
ftp://ftp.gnu.org/pub/gnu/config/
1319
If the version you run ($0) is already up to date, please
1320
send the following data and any information you think might be
1321
pertinent to <config-patches@gnu.org> in order to provide the needed
1322
information to handle your system.
1324
config.guess timestamp = $timestamp
1326
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1327
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1328
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1329
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1331
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1332
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1334
hostinfo = `(hostinfo) 2>/dev/null`
1335
/bin/universe = `(/bin/universe) 2>/dev/null`
1336
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1337
/bin/arch = `(/bin/arch) 2>/dev/null`
1338
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1339
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1341
UNAME_MACHINE = ${UNAME_MACHINE}
1342
UNAME_RELEASE = ${UNAME_RELEASE}
1343
UNAME_SYSTEM = ${UNAME_SYSTEM}
1344
UNAME_VERSION = ${UNAME_VERSION}
1350
# eval: (add-hook 'write-file-hooks 'time-stamp)
1351
# time-stamp-start: "timestamp='"
1352
# time-stamp-format: "%:y-%02m-%02d"
1353
# time-stamp-end: "'"