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., 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
# 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 -c -o $dummy.o $dummy.c) >/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
# Debian GNU/NetBSD machines have a different userland, and
182
# thus, need a distinct triplet. However, they do not need
183
# kernel version information, so it can be replaced with a
184
# suitable tag, in the style of linux-gnu.
185
case "${UNAME_VERSION}" in
190
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
193
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
194
# contains redundant information, the shorter form:
195
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
196
echo "${machine}-${os}${release}"
199
echo m68k-unknown-openbsd${UNAME_RELEASE}
202
echo mipsel-unknown-openbsd${UNAME_RELEASE}
205
echo m68k-unknown-openbsd${UNAME_RELEASE}
208
echo m68k-unknown-openbsd${UNAME_RELEASE}
211
echo powerpc-unknown-openbsd${UNAME_RELEASE}
214
echo m68k-unknown-openbsd${UNAME_RELEASE}
217
echo m88k-unknown-openbsd${UNAME_RELEASE}
220
echo powerpc-unknown-openbsd${UNAME_RELEASE}
223
echo mipsel-unknown-openbsd${UNAME_RELEASE}
226
echo mipseb-unknown-openbsd${UNAME_RELEASE}
229
echo m68k-unknown-openbsd${UNAME_RELEASE}
232
echo mipsel-unknown-openbsd${UNAME_RELEASE}
235
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
238
if test $UNAME_RELEASE = "V4.0"; then
239
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
241
# A Vn.n version is a released version.
242
# A Tn.n version is a released field test version.
243
# A Xn.n version is an unreleased experimental baselevel.
244
# 1.2 uses "1.2" for uname -r.
245
eval $set_cc_for_build
249
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
256
.frame \$30,16,\$26,0
259
.long 0x47e03d80 # implver \$0
261
.long 0x47e20c21 # amask \$2,\$1
271
$CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
272
if test "$?" = 0 ; then
275
UNAME_MACHINE="alpha"
278
UNAME_MACHINE="alphaev5"
281
UNAME_MACHINE="alphaev56"
284
UNAME_MACHINE="alphapca56"
287
UNAME_MACHINE="alphaev6"
290
UNAME_MACHINE="alphaev67"
293
UNAME_MACHINE="alphaev68"
296
UNAME_MACHINE="alphaev7"
300
rm -f $dummy.s $dummy && rmdir $tmpdir
301
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
303
Alpha\ *:Windows_NT*:*)
304
# How do we know it's Interix rather than the generic POSIX subsystem?
305
# Should we change UNAME_MACHINE based on the output of uname instead
306
# of the specific Alpha model?
307
echo alpha-pc-interix
309
21064:Windows_NT:50:3)
310
echo alpha-dec-winnt3.5
312
Amiga*:UNIX_System_V:4.0:*)
313
echo m68k-unknown-sysv4
315
*:[Aa]miga[Oo][Ss]:*:*)
316
echo ${UNAME_MACHINE}-unknown-amigaos
318
*:[Mm]orph[Oo][Ss]:*:*)
319
echo ${UNAME_MACHINE}-unknown-morphos
322
echo i370-ibm-openedition
324
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
325
echo arm-acorn-riscix${UNAME_RELEASE}
327
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
328
echo hppa1.1-hitachi-hiuxmpp
330
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
331
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
332
if test "`(/bin/universe) 2>/dev/null`" = att ; then
333
echo pyramid-pyramid-sysv3
335
echo pyramid-pyramid-bsd
339
echo pyramid-pyramid-svr4
341
DRS?6000:UNIX_SV:4.2*:7*)
342
case `/usr/bin/uname -p` in
343
sparc) echo sparc-icl-nx7 && exit 0 ;;
346
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
348
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
349
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
352
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
355
# According to config.sub, this is the proper way to canonicalize
356
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
357
# it's likely to be more like Solaris than SunOS4.
358
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
361
case "`/usr/bin/arch -k`" in
363
UNAME_RELEASE=`uname -v`
366
# Japanese Language versions have a version number like `4.1.3-JL'.
367
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
370
echo m68k-sun-sunos${UNAME_RELEASE}
373
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
374
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
375
case "`/bin/arch`" in
377
echo m68k-sun-sunos${UNAME_RELEASE}
380
echo sparc-sun-sunos${UNAME_RELEASE}
385
echo sparc-auspex-sunos${UNAME_RELEASE}
387
# The situation for MiNT is a little confusing. The machine name
388
# can be virtually everything (everything which is not
389
# "atarist" or "atariste" at least should have a processor
390
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
391
# to the lowercase version "mint" (or "freemint"). Finally
392
# the system name "TOS" denotes a system which is actually not
393
# MiNT. But MiNT is downward compatible to TOS, so this should
395
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
396
echo m68k-atari-mint${UNAME_RELEASE}
398
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
399
echo m68k-atari-mint${UNAME_RELEASE}
401
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
402
echo m68k-atari-mint${UNAME_RELEASE}
404
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
405
echo m68k-milan-mint${UNAME_RELEASE}
407
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
408
echo m68k-hades-mint${UNAME_RELEASE}
410
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
411
echo m68k-unknown-mint${UNAME_RELEASE}
414
echo powerpc-apple-machten${UNAME_RELEASE}
417
echo mips-dec-mach_bsd4.3
420
echo mips-dec-ultrix${UNAME_RELEASE}
423
echo vax-dec-ultrix${UNAME_RELEASE}
425
2020:CLIX:*:* | 2430:CLIX:*:*)
426
echo clipper-intergraph-clix${UNAME_RELEASE}
428
mips:*:*:UMIPS | mips:*:*:RISCos)
429
eval $set_cc_for_build
430
sed 's/^ //' << EOF >$dummy.c
432
#include <stdio.h> /* for printf() prototype */
433
int main (int argc, char *argv[]) {
435
int main (argc, argv) int argc; char *argv[]; {
437
#if defined (host_mips) && defined (MIPSEB)
438
#if defined (SYSTYPE_SYSV)
439
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
441
#if defined (SYSTYPE_SVR4)
442
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
444
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
445
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
451
$CC_FOR_BUILD -o $dummy $dummy.c \
452
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
453
&& rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
454
rm -f $dummy.c $dummy && rmdir $tmpdir
455
echo mips-mips-riscos${UNAME_RELEASE}
457
Motorola:PowerMAX_OS:*:*)
458
echo powerpc-motorola-powermax
460
Motorola:*:4.3:PL8-*)
461
echo powerpc-harris-powermax
463
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
464
echo powerpc-harris-powermax
466
Night_Hawk:Power_UNIX:*:*)
467
echo powerpc-harris-powerunix
470
echo m88k-harris-cxux7
473
echo m88k-motorola-sysv4
476
echo m88k-motorola-sysv3
479
# DG/UX returns AViiON for all architectures
480
UNAME_PROCESSOR=`/usr/bin/uname -p`
481
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
483
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
484
[ ${TARGET_BINARY_INTERFACE}x = x ]
486
echo m88k-dg-dgux${UNAME_RELEASE}
488
echo m88k-dg-dguxbcs${UNAME_RELEASE}
491
echo i586-dg-dgux${UNAME_RELEASE}
494
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
495
echo m88k-dolphin-sysv3
498
# Delta 88k system running SVR3
499
echo m88k-motorola-sysv3
501
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
502
echo m88k-tektronix-sysv3
504
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
505
echo m68k-tektronix-bsd
508
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
510
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
511
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
512
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
517
if [ -x /usr/bin/oslevel ] ; then
518
IBM_REV=`/usr/bin/oslevel`
520
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
522
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
525
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
526
eval $set_cc_for_build
527
sed 's/^ //' << EOF >$dummy.c
528
#include <sys/systemcfg.h>
534
puts("powerpc-ibm-aix3.2.5");
538
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
539
rm -f $dummy.c $dummy && rmdir $tmpdir
540
echo rs6000-ibm-aix3.2.5
541
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
542
echo rs6000-ibm-aix3.2.4
544
echo rs6000-ibm-aix3.2
548
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
549
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
554
if [ -x /usr/bin/oslevel ] ; then
555
IBM_REV=`/usr/bin/oslevel`
557
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
559
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
564
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
567
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
568
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
569
exit 0 ;; # report: romp-ibm BSD 4.3
571
echo rs6000-bull-bosx
576
9000/[34]??:4.3bsd:1.*:*)
579
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
582
9000/[34678]??:HP-UX:*:*)
583
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
584
case "${UNAME_MACHINE}" in
585
9000/31? ) HP_ARCH=m68000 ;;
586
9000/[34]?? ) HP_ARCH=m68k ;;
587
9000/[678][0-9][0-9])
588
if [ -x /usr/bin/getconf ]; then
589
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
590
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
591
case "${sc_cpu_version}" in
592
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
593
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
594
532) # CPU_PA_RISC2_0
595
case "${sc_kernel_bits}" in
596
32) HP_ARCH="hppa2.0n" ;;
597
64) HP_ARCH="hppa2.0w" ;;
598
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
602
if [ "${HP_ARCH}" = "" ]; then
603
eval $set_cc_for_build
604
sed 's/^ //' << EOF >$dummy.c
612
#if defined(_SC_KERNEL_BITS)
613
long bits = sysconf(_SC_KERNEL_BITS);
615
long cpu = sysconf (_SC_CPU_VERSION);
619
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
620
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
622
#if defined(_SC_KERNEL_BITS)
625
case 64: puts ("hppa2.0w"); break;
626
case 32: puts ("hppa2.0n"); break;
627
default: puts ("hppa2.0"); break;
629
#else /* !defined(_SC_KERNEL_BITS) */
630
puts ("hppa2.0"); break;
632
default: puts ("hppa1.0"); break;
637
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
638
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
639
rm -f $dummy.c $dummy && rmdir $tmpdir
642
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
645
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
646
echo ia64-hp-hpux${HPUX_REV}
649
eval $set_cc_for_build
650
sed 's/^ //' << EOF >$dummy.c
655
long cpu = sysconf (_SC_CPU_VERSION);
656
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
657
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
659
if (CPU_IS_PA_RISC (cpu))
663
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
664
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
665
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
666
default: puts ("hppa-hitachi-hiuxwe2"); break;
669
else if (CPU_IS_HP_MC68K (cpu))
670
puts ("m68k-hitachi-hiuxwe2");
671
else puts ("unknown-hitachi-hiuxwe2");
675
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
676
rm -f $dummy.c $dummy && rmdir $tmpdir
677
echo unknown-hitachi-hiuxwe2
679
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
685
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
686
echo hppa1.0-hp-mpeix
688
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
695
if [ -x /usr/sbin/sysversion ] ; then
696
echo ${UNAME_MACHINE}-unknown-osf1mk
698
echo ${UNAME_MACHINE}-unknown-osf1
702
echo hppa1.1-hp-lites
704
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
707
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
708
if getsysinfo -f scalar_acc
709
then echo c32-convex-bsd
710
else echo c2-convex-bsd
713
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
716
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
719
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
723
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
726
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
727
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
728
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
732
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
735
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
738
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
741
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
743
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
744
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
745
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
746
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
747
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
749
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
750
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
753
echo sparc-unknown-bsdi${UNAME_RELEASE}
756
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
759
# Determine whether the default compiler uses glibc.
760
eval $set_cc_for_build
761
sed 's/^ //' << EOF >$dummy.c
762
#include <features.h>
769
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
770
rm -f $dummy.c && rmdir $tmpdir
771
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
774
echo ${UNAME_MACHINE}-pc-cygwin
777
echo ${UNAME_MACHINE}-pc-mingw32
780
echo ${UNAME_MACHINE}-pc-pw32
783
echo i586-pc-interix3
785
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
786
echo i${UNAME_MACHINE}-pc-mks
788
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
789
# How do we know it's Interix rather than the generic POSIX subsystem?
790
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
791
# UNAME_MACHINE based on the output of uname instead of i386?
795
echo ${UNAME_MACHINE}-pc-uwin
798
echo powerpcle-unknown-cygwin
801
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
804
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
807
echo ${UNAME_MACHINE}-pc-minix
810
echo ${UNAME_MACHINE}-unknown-linux-gnu
813
echo ${UNAME_MACHINE}-unknown-linux-gnu
816
echo ${UNAME_MACHINE}-unknown-linux-gnu
819
eval $set_cc_for_build
820
sed 's/^ //' << EOF >$dummy.c
824
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
827
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
834
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
835
rm -f $dummy.c && rmdir $tmpdir
836
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
839
eval $set_cc_for_build
840
sed 's/^ //' << EOF >$dummy.c
844
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
847
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
854
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
855
rm -f $dummy.c && rmdir $tmpdir
856
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
859
echo powerpc-unknown-linux-gnu
862
echo powerpc64-unknown-linux-gnu
865
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
866
EV5) UNAME_MACHINE=alphaev5 ;;
867
EV56) UNAME_MACHINE=alphaev56 ;;
868
PCA56) UNAME_MACHINE=alphapca56 ;;
869
PCA57) UNAME_MACHINE=alphapca56 ;;
870
EV6) UNAME_MACHINE=alphaev6 ;;
871
EV67) UNAME_MACHINE=alphaev67 ;;
872
EV68*) UNAME_MACHINE=alphaev68 ;;
874
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
875
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
876
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
878
parisc:Linux:*:* | hppa:Linux:*:*)
880
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
881
PA7*) echo hppa1.1-unknown-linux-gnu ;;
882
PA8*) echo hppa2.0-unknown-linux-gnu ;;
883
*) echo hppa-unknown-linux-gnu ;;
886
parisc64:Linux:*:* | hppa64:Linux:*:*)
887
echo hppa64-unknown-linux-gnu
889
s390:Linux:*:* | s390x:Linux:*:*)
890
echo ${UNAME_MACHINE}-ibm-linux
893
echo ${UNAME_MACHINE}-unknown-linux-gnu
895
sparc:Linux:*:* | sparc64:Linux:*:*)
896
echo ${UNAME_MACHINE}-unknown-linux-gnu
899
echo x86_64-unknown-linux-gnu
902
# The BFD linker knows what the default object file format is, so
903
# first see if it will tell us. cd to the root directory to prevent
904
# problems with other programs or directories called `ld' in the path.
905
# Set LC_ALL=C to ensure ld outputs messages in English.
906
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
907
| sed -ne '/supported targets:/!d
909
s/.*supported targets: *//
912
case "$ld_supported_targets" in
914
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
917
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
920
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
923
# Either a pre-BFD a.out linker (linux-gnuoldld) or
924
# one that does not give us useful --help.
925
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
928
# Determine whether the default compiler is a.out or elf
929
eval $set_cc_for_build
930
sed 's/^ //' << EOF >$dummy.c
931
#include <features.h>
943
#ifdef __INTEL_COMPILER
950
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
951
rm -f $dummy.c && rmdir $tmpdir
952
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
953
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
956
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
957
# earlier versions are messed up and put the nodename in both
958
# sysname and nodename.
959
echo i386-sequent-sysv4
961
i*86:UNIX_SV:4.2MP:2.*)
962
# Unixware is an offshoot of SVR4, but it has its own version
963
# number series starting with 2...
964
# I am not positive that other SVR4 systems won't match this,
965
# I just have to hope. -- rms.
966
# Use sysv4.2uw... so that sysv4* matches it.
967
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
970
# If we were able to find `uname', then EMX Unix compatibility
971
# is probably installed.
972
echo ${UNAME_MACHINE}-pc-os2-emx
975
echo ${UNAME_MACHINE}-unknown-stop
978
echo ${UNAME_MACHINE}-unknown-atheos
980
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
981
echo i386-unknown-lynxos${UNAME_RELEASE}
984
echo ${UNAME_MACHINE}-pc-msdosdjgpp
986
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
987
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
988
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
989
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
991
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
995
case `/bin/uname -X | grep "^Machine"` in
996
*486*) UNAME_MACHINE=i486 ;;
997
*Pentium) UNAME_MACHINE=i586 ;;
998
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1000
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1003
if test -f /usr/options/cb.name; then
1004
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1005
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1006
elif /bin/uname -X 2>/dev/null >/dev/null ; then
1007
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1008
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1009
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1010
&& UNAME_MACHINE=i586
1011
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1012
&& UNAME_MACHINE=i686
1013
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1014
&& UNAME_MACHINE=i686
1015
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1017
echo ${UNAME_MACHINE}-pc-sysv32
1021
# Left here for compatibility:
1022
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1023
# the processor, so we play safe by assuming i386.
1024
echo i386-pc-msdosdjgpp
1030
echo i860-intel-osf1
1032
i860:*:4.*:*) # i860-SVR4
1033
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1034
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1035
else # Add other i860-SVR4 vendors below as they are discovered.
1036
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1041
echo m68010-convergent-sysv
1043
mc68k:UNIX:SYSTEM5:3.51m)
1044
echo m68k-convergent-sysv
1050
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1051
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)
1053
test -r /etc/.relid \
1054
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1055
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1056
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1057
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1058
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1059
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1060
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1061
&& echo i486-ncr-sysv4 && exit 0 ;;
1062
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1063
echo m68k-unknown-lynxos${UNAME_RELEASE}
1065
mc68030:UNIX_System_V:4.*:*)
1066
echo m68k-atari-sysv4
1068
TSUNAMI:LynxOS:2.*:*)
1069
echo sparc-unknown-lynxos${UNAME_RELEASE}
1071
rs6000:LynxOS:2.*:*)
1072
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1074
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1075
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1077
SM[BE]S:UNIX_SV:*:*)
1078
echo mips-dde-sysv${UNAME_RELEASE}
1080
RM*:ReliantUNIX-*:*:*)
1087
if uname -p 2>/dev/null >/dev/null ; then
1088
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1089
echo ${UNAME_MACHINE}-sni-sysv4
1094
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1095
# says <Richard.M.Bartel@ccMail.Census.GOV>
1096
echo i586-unisys-sysv4
1098
*:UNIX_System_V:4*:FTX*)
1099
# From Gerald Hewes <hewes@openmarket.com>.
1100
# How about differentiating between stratus architectures? -djm
1101
echo hppa1.1-stratus-sysv4
1104
# From seanf@swdc.stratus.com.
1105
echo i860-stratus-sysv4
1108
# From Paul.Green@stratus.com.
1109
echo hppa1.1-stratus-vos
1112
echo m68k-apple-aux${UNAME_RELEASE}
1115
echo mips-sony-newsos6
1117
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1118
if [ -d /usr/nec ]; then
1119
echo mips-nec-sysv${UNAME_RELEASE}
1121
echo mips-unknown-sysv${UNAME_RELEASE}
1124
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1125
echo powerpc-be-beos
1127
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1128
echo powerpc-apple-beos
1130
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1134
echo sx4-nec-superux${UNAME_RELEASE}
1137
echo sx5-nec-superux${UNAME_RELEASE}
1140
echo sx6-nec-superux${UNAME_RELEASE}
1142
Power*:Rhapsody:*:*)
1143
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1146
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1149
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1151
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1152
UNAME_PROCESSOR=`uname -p`
1153
if test "$UNAME_PROCESSOR" = "x86"; then
1154
UNAME_PROCESSOR=i386
1157
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1162
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1163
echo nsr-tandem-nsk${UNAME_RELEASE}
1166
echo mips-compaq-nonstopux
1169
echo bs2000-siemens-sysv
1171
DS/*:UNIX_System_V:*:*)
1172
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1175
# "uname -m" is not consistent, so use $cputype instead. 386
1176
# is converted to i386 for consistency with other x86
1177
# operating systems.
1178
if test "$cputype" = "386"; then
1181
UNAME_MACHINE="$cputype"
1183
echo ${UNAME_MACHINE}-unknown-plan9
1186
echo pdp10-unknown-tops10
1189
echo pdp10-unknown-tenex
1191
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1192
echo pdp10-dec-tops20
1194
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1195
echo pdp10-xkl-tops20
1198
echo pdp10-unknown-tops20
1201
echo pdp10-unknown-its
1205
#echo '(No uname command or uname output not recognized.)' 1>&2
1206
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1208
eval $set_cc_for_build
1211
# include <sys/types.h>
1212
# include <sys/utsname.h>
1217
#if defined (MIPSEB)
1218
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1220
printf ("mips-sony-bsd\n"); exit (0);
1222
#include <sys/param.h>
1223
printf ("m68k-sony-newsos%s\n",
1233
#if defined (__arm) && defined (__acorn) && defined (__unix)
1234
printf ("arm-acorn-riscix"); exit (0);
1237
#if defined (hp300) && !defined (hpux)
1238
printf ("m68k-hp-bsd\n"); exit (0);
1242
#if !defined (__ARCHITECTURE__)
1243
#define __ARCHITECTURE__ "m68k"
1246
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1248
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1250
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1254
#if defined (MULTIMAX) || defined (n16)
1256
printf ("ns32k-encore-sysv\n"); exit (0);
1259
printf ("ns32k-encore-mach\n"); exit (0);
1261
printf ("ns32k-encore-bsd\n"); exit (0);
1266
#if defined (__386BSD__)
1267
printf ("i386-pc-bsd\n"); exit (0);
1270
#if defined (sequent)
1272
printf ("i386-sequent-dynix\n"); exit (0);
1274
#if defined (ns32000)
1275
printf ("ns32k-sequent-dynix\n"); exit (0);
1279
#if defined (_SEQUENT_)
1284
if (strncmp(un.version, "V2", 2) == 0) {
1285
printf ("i386-sequent-ptx2\n"); exit (0);
1287
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1288
printf ("i386-sequent-ptx1\n"); exit (0);
1290
printf ("i386-sequent-ptx\n"); exit (0);
1295
# if !defined (ultrix)
1296
# include <sys/param.h>
1299
printf ("vax-dec-bsd4.3\n"); exit (0);
1302
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1304
printf ("vax-dec-bsd\n"); exit (0);
1308
printf ("vax-dec-bsd\n"); exit (0);
1311
printf ("vax-dec-ultrix\n"); exit (0);
1315
#if defined (alliant) && defined (i860)
1316
printf ("i860-alliant-bsd\n"); exit (0);
1323
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
1324
rm -f $dummy.c $dummy && rmdir $tmpdir
1326
# Apollos put the system type in the environment.
1328
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1330
# Convex versions that predate uname can use getsysinfo(1)
1332
if [ -x /usr/convex/getsysinfo ]
1334
case `getsysinfo -f cpu_type` in
1339
if getsysinfo -f scalar_acc
1340
then echo c32-convex-bsd
1341
else echo c2-convex-bsd
1357
$0: unable to guess system type
1359
This script, last modified $timestamp, has failed to recognize
1360
the operating system you are using. It is advised that you
1361
download the most up to date version of the config scripts from
1363
ftp://ftp.gnu.org/pub/gnu/config/
1365
If the version you run ($0) is already up to date, please
1366
send the following data and any information you think might be
1367
pertinent to <config-patches@gnu.org> in order to provide the needed
1368
information to handle your system.
1370
config.guess timestamp = $timestamp
1372
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1373
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1374
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1375
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1377
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1378
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1380
hostinfo = `(hostinfo) 2>/dev/null`
1381
/bin/universe = `(/bin/universe) 2>/dev/null`
1382
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1383
/bin/arch = `(/bin/arch) 2>/dev/null`
1384
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1385
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1387
UNAME_MACHINE = ${UNAME_MACHINE}
1388
UNAME_RELEASE = ${UNAME_RELEASE}
1389
UNAME_SYSTEM = ${UNAME_SYSTEM}
1390
UNAME_VERSION = ${UNAME_VERSION}
1396
# eval: (add-hook 'write-file-hooks 'time-stamp)
1397
# time-stamp-start: "timestamp='"
1398
# time-stamp-format: "%:y-%02m-%02d"
1399
# time-stamp-end: "'"