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
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
95
# CC_FOR_BUILD -- compiler used by this script.
96
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
97
# use `HOST_CC' if defined, but it is deprecated.
99
set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
100
,,) echo "int dummy(){}" > $dummy.c ;
101
for c in cc gcc c89 c99 ; do
102
($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103
if test $? = 0 ; then
104
CC_FOR_BUILD="$c"; break ;
107
rm -f $dummy.c $dummy.o $dummy.rel ;
108
if test x"$CC_FOR_BUILD" = x ; then
109
CC_FOR_BUILD=no_compiler_found ;
112
,,*) CC_FOR_BUILD=$CC ;;
113
,*,*) CC_FOR_BUILD=$HOST_CC ;;
116
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
117
# (ghazi@noc.rutgers.edu 1994-08-24)
118
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
119
PATH=$PATH:/.attbin ; export PATH
122
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
123
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
124
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
125
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
127
# Note: order is significant - the case branches are not exclusive.
129
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
131
# NetBSD (nbsd) targets should (where applicable) match one or
132
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
133
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
134
# switched to ELF, *-*-netbsd* would select the old
135
# object file format. This provides both forward
136
# compatibility and a consistent mechanism for selecting the
137
# object file format.
139
# Note: NetBSD doesn't particularly care about the vendor
140
# portion of the name. We always set it to "unknown".
141
sysctl="sysctl -n hw.machine_arch"
142
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
143
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
144
case "${UNAME_MACHINE_ARCH}" in
145
arm*) machine=arm-unknown ;;
146
sh3el) machine=shl-unknown ;;
147
sh3eb) machine=sh-unknown ;;
148
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
150
# The Operating System including object format, if it has switched
151
# to ELF recently, or will in the future.
152
case "${UNAME_MACHINE_ARCH}" in
153
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
154
eval $set_cc_for_build
155
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
156
| grep __ELF__ >/dev/null
158
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
159
# Return netbsd for either. FIX?
170
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
171
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
172
# contains redundant information, the shorter form:
173
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
174
echo "${machine}-${os}${release}"
177
echo m68k-unknown-openbsd${UNAME_RELEASE}
180
echo mipsel-unknown-openbsd${UNAME_RELEASE}
183
echo m68k-unknown-openbsd${UNAME_RELEASE}
186
echo m68k-unknown-openbsd${UNAME_RELEASE}
189
echo powerpc-unknown-openbsd${UNAME_RELEASE}
192
echo m68k-unknown-openbsd${UNAME_RELEASE}
195
echo m88k-unknown-openbsd${UNAME_RELEASE}
198
echo powerpc-unknown-openbsd${UNAME_RELEASE}
201
echo mipsel-unknown-openbsd${UNAME_RELEASE}
204
echo mipseb-unknown-openbsd${UNAME_RELEASE}
207
echo m68k-unknown-openbsd${UNAME_RELEASE}
210
echo mipsel-unknown-openbsd${UNAME_RELEASE}
213
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
216
if test $UNAME_RELEASE = "V4.0"; then
217
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
219
# A Vn.n version is a released version.
220
# A Tn.n version is a released field test version.
221
# A Xn.n version is an unreleased experimental baselevel.
222
# 1.2 uses "1.2" for uname -r.
226
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
233
.frame \$30,16,\$26,0
236
.long 0x47e03d80 # implver \$0
238
.long 0x47e20c21 # amask \$2,\$1
248
eval $set_cc_for_build
249
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
250
if test "$?" = 0 ; then
253
UNAME_MACHINE="alpha"
256
UNAME_MACHINE="alphaev5"
259
UNAME_MACHINE="alphaev56"
262
UNAME_MACHINE="alphapca56"
265
UNAME_MACHINE="alphaev6"
268
UNAME_MACHINE="alphaev67"
271
UNAME_MACHINE="alphaev68"
275
rm -f $dummy.s $dummy
276
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
278
Alpha\ *:Windows_NT*:*)
279
# How do we know it's Interix rather than the generic POSIX subsystem?
280
# Should we change UNAME_MACHINE based on the output of uname instead
281
# of the specific Alpha model?
282
echo alpha-pc-interix
284
21064:Windows_NT:50:3)
285
echo alpha-dec-winnt3.5
287
Amiga*:UNIX_System_V:4.0:*)
288
echo m68k-unknown-sysv4
290
*:[Aa]miga[Oo][Ss]:*:*)
291
echo ${UNAME_MACHINE}-unknown-amigaos
293
*:[Mm]orph[Oo][Ss]:*:*)
294
echo ${UNAME_MACHINE}-unknown-morphos
297
echo i370-ibm-openedition
299
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
300
echo arm-acorn-riscix${UNAME_RELEASE}
302
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
303
echo hppa1.1-hitachi-hiuxmpp
305
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
306
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
307
if test "`(/bin/universe) 2>/dev/null`" = att ; then
308
echo pyramid-pyramid-sysv3
310
echo pyramid-pyramid-bsd
314
echo pyramid-pyramid-svr4
317
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
319
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
320
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
323
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
326
# According to config.sub, this is the proper way to canonicalize
327
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
328
# it's likely to be more like Solaris than SunOS4.
329
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
332
case "`/usr/bin/arch -k`" in
334
UNAME_RELEASE=`uname -v`
337
# Japanese Language versions have a version number like `4.1.3-JL'.
338
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
341
echo m68k-sun-sunos${UNAME_RELEASE}
344
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
345
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
346
case "`/bin/arch`" in
348
echo m68k-sun-sunos${UNAME_RELEASE}
351
echo sparc-sun-sunos${UNAME_RELEASE}
356
echo sparc-auspex-sunos${UNAME_RELEASE}
358
# The situation for MiNT is a little confusing. The machine name
359
# can be virtually everything (everything which is not
360
# "atarist" or "atariste" at least should have a processor
361
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
362
# to the lowercase version "mint" (or "freemint"). Finally
363
# the system name "TOS" denotes a system which is actually not
364
# MiNT. But MiNT is downward compatible to TOS, so this should
366
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
367
echo m68k-atari-mint${UNAME_RELEASE}
369
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
370
echo m68k-atari-mint${UNAME_RELEASE}
372
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
373
echo m68k-atari-mint${UNAME_RELEASE}
375
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
376
echo m68k-milan-mint${UNAME_RELEASE}
378
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
379
echo m68k-hades-mint${UNAME_RELEASE}
381
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
382
echo m68k-unknown-mint${UNAME_RELEASE}
385
echo powerpc-apple-machten${UNAME_RELEASE}
388
echo mips-dec-mach_bsd4.3
391
echo mips-dec-ultrix${UNAME_RELEASE}
394
echo vax-dec-ultrix${UNAME_RELEASE}
396
2020:CLIX:*:* | 2430:CLIX:*:*)
397
echo clipper-intergraph-clix${UNAME_RELEASE}
399
mips:*:*:UMIPS | mips:*:*:RISCos)
400
eval $set_cc_for_build
401
sed 's/^ //' << EOF >$dummy.c
403
#include <stdio.h> /* for printf() prototype */
404
int main (int argc, char *argv[]) {
406
int main (argc, argv) int argc; char *argv[]; {
408
#if defined (host_mips) && defined (MIPSEB)
409
#if defined (SYSTYPE_SYSV)
410
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
412
#if defined (SYSTYPE_SVR4)
413
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
415
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
416
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
422
$CC_FOR_BUILD $dummy.c -o $dummy \
423
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
424
&& rm -f $dummy.c $dummy && exit 0
425
rm -f $dummy.c $dummy
426
echo mips-mips-riscos${UNAME_RELEASE}
428
Motorola:PowerMAX_OS:*:*)
429
echo powerpc-motorola-powermax
431
Night_Hawk:Power_UNIX:*:*)
432
echo powerpc-harris-powerunix
435
echo m88k-harris-cxux7
438
echo m88k-motorola-sysv4
441
echo m88k-motorola-sysv3
444
# DG/UX returns AViiON for all architectures
445
UNAME_PROCESSOR=`/usr/bin/uname -p`
446
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
448
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
449
[ ${TARGET_BINARY_INTERFACE}x = x ]
451
echo m88k-dg-dgux${UNAME_RELEASE}
453
echo m88k-dg-dguxbcs${UNAME_RELEASE}
456
echo i586-dg-dgux${UNAME_RELEASE}
459
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
460
echo m88k-dolphin-sysv3
463
# Delta 88k system running SVR3
464
echo m88k-motorola-sysv3
466
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
467
echo m88k-tektronix-sysv3
469
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
470
echo m68k-tektronix-bsd
473
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
475
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
476
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
477
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
482
if [ -x /usr/bin/oslevel ] ; then
483
IBM_REV=`/usr/bin/oslevel`
485
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
487
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
490
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
491
eval $set_cc_for_build
492
sed 's/^ //' << EOF >$dummy.c
493
#include <sys/systemcfg.h>
499
puts("powerpc-ibm-aix3.2.5");
503
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
504
rm -f $dummy.c $dummy
505
echo rs6000-ibm-aix3.2.5
506
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
507
echo rs6000-ibm-aix3.2.4
509
echo rs6000-ibm-aix3.2
513
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
514
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
519
if [ -x /usr/bin/oslevel ] ; then
520
IBM_REV=`/usr/bin/oslevel`
522
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
524
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
529
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
532
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
533
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
534
exit 0 ;; # report: romp-ibm BSD 4.3
536
echo rs6000-bull-bosx
541
9000/[34]??:4.3bsd:1.*:*)
544
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
547
9000/[34678]??:HP-UX:*:*)
548
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
549
case "${UNAME_MACHINE}" in
550
9000/31? ) HP_ARCH=m68000 ;;
551
9000/[34]?? ) HP_ARCH=m68k ;;
552
9000/[678][0-9][0-9])
553
if [ -x /usr/bin/getconf ]; then
554
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
555
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
556
case "${sc_cpu_version}" in
557
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
558
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
559
532) # CPU_PA_RISC2_0
560
case "${sc_kernel_bits}" in
561
32) HP_ARCH="hppa2.0n" ;;
562
64) HP_ARCH="hppa2.0w" ;;
563
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
567
if [ "${HP_ARCH}" = "" ]; then
568
eval $set_cc_for_build
569
sed 's/^ //' << EOF >$dummy.c
577
#if defined(_SC_KERNEL_BITS)
578
long bits = sysconf(_SC_KERNEL_BITS);
580
long cpu = sysconf (_SC_CPU_VERSION);
584
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
585
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
587
#if defined(_SC_KERNEL_BITS)
590
case 64: puts ("hppa2.0w"); break;
591
case 32: puts ("hppa2.0n"); break;
592
default: puts ("hppa2.0"); break;
594
#else /* !defined(_SC_KERNEL_BITS) */
595
puts ("hppa2.0"); break;
597
default: puts ("hppa1.0"); break;
602
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
603
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
604
rm -f $dummy.c $dummy
607
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
610
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
611
echo ia64-hp-hpux${HPUX_REV}
614
eval $set_cc_for_build
615
sed 's/^ //' << EOF >$dummy.c
620
long cpu = sysconf (_SC_CPU_VERSION);
621
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
622
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
624
if (CPU_IS_PA_RISC (cpu))
628
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
629
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
630
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
631
default: puts ("hppa-hitachi-hiuxwe2"); break;
634
else if (CPU_IS_HP_MC68K (cpu))
635
puts ("m68k-hitachi-hiuxwe2");
636
else puts ("unknown-hitachi-hiuxwe2");
640
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
641
rm -f $dummy.c $dummy
642
echo unknown-hitachi-hiuxwe2
644
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
650
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
651
echo hppa1.0-hp-mpeix
653
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
660
if [ -x /usr/sbin/sysversion ] ; then
661
echo ${UNAME_MACHINE}-unknown-osf1mk
663
echo ${UNAME_MACHINE}-unknown-osf1
667
echo hppa1.1-hp-lites
669
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
672
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
673
if getsysinfo -f scalar_acc
674
then echo c32-convex-bsd
675
else echo c2-convex-bsd
678
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
681
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
684
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
688
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
691
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
692
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
693
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
697
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
700
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
703
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
706
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
708
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
709
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
710
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
711
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
712
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
714
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
715
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
718
echo sparc-unknown-bsdi${UNAME_RELEASE}
721
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
724
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
727
echo ${UNAME_MACHINE}-pc-cygwin
730
echo ${UNAME_MACHINE}-pc-mingw32
733
echo ${UNAME_MACHINE}-pc-pw32
736
echo i386-pc-interix3
738
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
739
# How do we know it's Interix rather than the generic POSIX subsystem?
740
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
741
# UNAME_MACHINE based on the output of uname instead of i386?
745
echo ${UNAME_MACHINE}-pc-uwin
748
echo powerpcle-unknown-cygwin
751
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
754
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
757
echo ${UNAME_MACHINE}-pc-minix
760
echo ${UNAME_MACHINE}-unknown-linux-gnu
763
echo ${UNAME_MACHINE}-unknown-linux-gnu
766
echo ${UNAME_MACHINE}-unknown-linux-gnu
769
eval $set_cc_for_build
770
sed 's/^ //' << EOF >$dummy.c
774
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
777
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
784
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
786
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
789
echo powerpc-unknown-linux-gnu
792
echo powerpc64-unknown-linux-gnu
795
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
796
EV5) UNAME_MACHINE=alphaev5 ;;
797
EV56) UNAME_MACHINE=alphaev56 ;;
798
PCA56) UNAME_MACHINE=alphapca56 ;;
799
PCA57) UNAME_MACHINE=alphapca56 ;;
800
EV6) UNAME_MACHINE=alphaev6 ;;
801
EV67) UNAME_MACHINE=alphaev67 ;;
802
EV68*) UNAME_MACHINE=alphaev68 ;;
804
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
805
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
806
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
808
parisc:Linux:*:* | hppa:Linux:*:*)
810
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
811
PA7*) echo hppa1.1-unknown-linux-gnu ;;
812
PA8*) echo hppa2.0-unknown-linux-gnu ;;
813
*) echo hppa-unknown-linux-gnu ;;
816
parisc64:Linux:*:* | hppa64:Linux:*:*)
817
echo hppa64-unknown-linux-gnu
819
s390:Linux:*:* | s390x:Linux:*:*)
820
echo ${UNAME_MACHINE}-ibm-linux
823
echo ${UNAME_MACHINE}-unknown-linux-gnu
825
sparc:Linux:*:* | sparc64:Linux:*:*)
826
echo ${UNAME_MACHINE}-unknown-linux-gnu
829
echo x86_64-unknown-linux-gnu
832
# The BFD linker knows what the default object file format is, so
833
# first see if it will tell us. cd to the root directory to prevent
834
# problems with other programs or directories called `ld' in the path.
835
# Set LC_ALL=C to ensure ld outputs messages in English.
836
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
837
| sed -ne '/supported targets:/!d
839
s/.*supported targets: *//
842
case "$ld_supported_targets" in
844
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
847
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
850
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
853
# Either a pre-BFD a.out linker (linux-gnuoldld) or
854
# one that does not give us useful --help.
855
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
858
# Determine whether the default compiler is a.out or elf
859
eval $set_cc_for_build
860
sed 's/^ //' << EOF >$dummy.c
861
#include <features.h>
873
#ifdef __INTEL_COMPILER
880
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
882
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
883
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
886
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
887
# earlier versions are messed up and put the nodename in both
888
# sysname and nodename.
889
echo i386-sequent-sysv4
891
i*86:UNIX_SV:4.2MP:2.*)
892
# Unixware is an offshoot of SVR4, but it has its own version
893
# number series starting with 2...
894
# I am not positive that other SVR4 systems won't match this,
895
# I just have to hope. -- rms.
896
# Use sysv4.2uw... so that sysv4* matches it.
897
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
899
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
900
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
901
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
902
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
904
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
908
case `/bin/uname -X | grep "^Machine"` in
909
*486*) UNAME_MACHINE=i486 ;;
910
*Pentium) UNAME_MACHINE=i586 ;;
911
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
913
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
916
if test -f /usr/options/cb.name; then
917
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
918
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
919
elif /bin/uname -X 2>/dev/null >/dev/null ; then
920
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
921
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
922
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
923
&& UNAME_MACHINE=i586
924
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
925
&& UNAME_MACHINE=i686
926
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
927
&& UNAME_MACHINE=i686
928
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
930
echo ${UNAME_MACHINE}-pc-sysv32
934
echo ${UNAME_MACHINE}-pc-msdosdjgpp
937
# Left here for compatibility:
938
# uname -m prints for DJGPP always 'pc', but it prints nothing about
939
# the processor, so we play safe by assuming i386.
940
echo i386-pc-msdosdjgpp
948
i860:*:4.*:*) # i860-SVR4
949
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
950
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
951
else # Add other i860-SVR4 vendors below as they are discovered.
952
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
957
echo m68010-convergent-sysv
960
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
961
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 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
963
test -r /etc/.relid \
964
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
965
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
966
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
967
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
968
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
969
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
970
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
971
&& echo i486-ncr-sysv4 && exit 0 ;;
972
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
973
echo m68k-unknown-lynxos${UNAME_RELEASE}
975
mc68030:UNIX_System_V:4.*:*)
976
echo m68k-atari-sysv4
978
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
979
echo i386-unknown-lynxos${UNAME_RELEASE}
981
TSUNAMI:LynxOS:2.*:*)
982
echo sparc-unknown-lynxos${UNAME_RELEASE}
985
echo rs6000-unknown-lynxos${UNAME_RELEASE}
987
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
988
echo powerpc-unknown-lynxos${UNAME_RELEASE}
991
echo mips-dde-sysv${UNAME_RELEASE}
993
RM*:ReliantUNIX-*:*:*)
1000
if uname -p 2>/dev/null >/dev/null ; then
1001
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1002
echo ${UNAME_MACHINE}-sni-sysv4
1007
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1008
# says <Richard.M.Bartel@ccMail.Census.GOV>
1009
echo i586-unisys-sysv4
1011
*:UNIX_System_V:4*:FTX*)
1012
# From Gerald Hewes <hewes@openmarket.com>.
1013
# How about differentiating between stratus architectures? -djm
1014
echo hppa1.1-stratus-sysv4
1017
# From seanf@swdc.stratus.com.
1018
echo i860-stratus-sysv4
1021
# From Paul.Green@stratus.com.
1022
echo hppa1.1-stratus-vos
1025
echo m68k-apple-aux${UNAME_RELEASE}
1028
echo mips-sony-newsos6
1030
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1031
if [ -d /usr/nec ]; then
1032
echo mips-nec-sysv${UNAME_RELEASE}
1034
echo mips-unknown-sysv${UNAME_RELEASE}
1037
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1038
echo powerpc-be-beos
1040
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1041
echo powerpc-apple-beos
1043
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1047
echo sx4-nec-superux${UNAME_RELEASE}
1050
echo sx5-nec-superux${UNAME_RELEASE}
1052
Power*:Rhapsody:*:*)
1053
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1056
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1059
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1061
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1062
UNAME_PROCESSOR=`uname -p`
1063
if test "$UNAME_PROCESSOR" = "x86"; then
1064
UNAME_PROCESSOR=i386
1067
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1072
NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1073
echo nsr-tandem-nsk${UNAME_RELEASE}
1076
echo mips-compaq-nonstopux
1079
echo bs2000-siemens-sysv
1081
DS/*:UNIX_System_V:*:*)
1082
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1085
# "uname -m" is not consistent, so use $cputype instead. 386
1086
# is converted to i386 for consistency with other x86
1087
# operating systems.
1088
if test "$cputype" = "386"; then
1091
UNAME_MACHINE="$cputype"
1093
echo ${UNAME_MACHINE}-unknown-plan9
1096
# If we were able to find `uname', then EMX Unix compatibility
1097
# is probably installed.
1098
echo ${UNAME_MACHINE}-pc-os2-emx
1101
echo pdp10-unknown-tops10
1104
echo pdp10-unknown-tenex
1106
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1107
echo pdp10-dec-tops20
1109
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1110
echo pdp10-xkl-tops20
1113
echo pdp10-unknown-tops20
1116
echo pdp10-unknown-its
1118
i*86:XTS-300:*:STOP)
1119
echo ${UNAME_MACHINE}-unknown-stop
1122
echo ${UNAME_MACHINE}-unknown-atheos
1126
#echo '(No uname command or uname output not recognized.)' 1>&2
1127
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1129
eval $set_cc_for_build
1132
# include <sys/types.h>
1133
# include <sys/utsname.h>
1138
#if defined (MIPSEB)
1139
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1141
printf ("mips-sony-bsd\n"); exit (0);
1143
#include <sys/param.h>
1144
printf ("m68k-sony-newsos%s\n",
1154
#if defined (__arm) && defined (__acorn) && defined (__unix)
1155
printf ("arm-acorn-riscix"); exit (0);
1158
#if defined (hp300) && !defined (hpux)
1159
printf ("m68k-hp-bsd\n"); exit (0);
1163
#if !defined (__ARCHITECTURE__)
1164
#define __ARCHITECTURE__ "m68k"
1167
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1169
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1171
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1175
#if defined (MULTIMAX) || defined (n16)
1177
printf ("ns32k-encore-sysv\n"); exit (0);
1180
printf ("ns32k-encore-mach\n"); exit (0);
1182
printf ("ns32k-encore-bsd\n"); exit (0);
1187
#if defined (__386BSD__)
1188
printf ("i386-pc-bsd\n"); exit (0);
1191
#if defined (sequent)
1193
printf ("i386-sequent-dynix\n"); exit (0);
1195
#if defined (ns32000)
1196
printf ("ns32k-sequent-dynix\n"); exit (0);
1200
#if defined (_SEQUENT_)
1205
if (strncmp(un.version, "V2", 2) == 0) {
1206
printf ("i386-sequent-ptx2\n"); exit (0);
1208
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1209
printf ("i386-sequent-ptx1\n"); exit (0);
1211
printf ("i386-sequent-ptx\n"); exit (0);
1216
# if !defined (ultrix)
1217
# include <sys/param.h>
1220
printf ("vax-dec-bsd4.3\n"); exit (0);
1223
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1225
printf ("vax-dec-bsd\n"); exit (0);
1229
printf ("vax-dec-bsd\n"); exit (0);
1232
printf ("vax-dec-ultrix\n"); exit (0);
1236
#if defined (alliant) && defined (i860)
1237
printf ("i860-alliant-bsd\n"); exit (0);
1244
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1245
rm -f $dummy.c $dummy
1247
# Apollos put the system type in the environment.
1249
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1251
# Convex versions that predate uname can use getsysinfo(1)
1253
if [ -x /usr/convex/getsysinfo ]
1255
case `getsysinfo -f cpu_type` in
1260
if getsysinfo -f scalar_acc
1261
then echo c32-convex-bsd
1262
else echo c2-convex-bsd
1278
$0: unable to guess system type
1280
This script, last modified $timestamp, has failed to recognize
1281
the operating system you are using. It is advised that you
1282
download the most up to date version of the config scripts from
1284
ftp://ftp.gnu.org/pub/gnu/config/
1286
If the version you run ($0) is already up to date, please
1287
send the following data and any information you think might be
1288
pertinent to <config-patches@gnu.org> in order to provide the needed
1289
information to handle your system.
1291
config.guess timestamp = $timestamp
1293
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1294
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1295
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1296
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1298
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1299
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1301
hostinfo = `(hostinfo) 2>/dev/null`
1302
/bin/universe = `(/bin/universe) 2>/dev/null`
1303
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1304
/bin/arch = `(/bin/arch) 2>/dev/null`
1305
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1306
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1308
UNAME_MACHINE = ${UNAME_MACHINE}
1309
UNAME_RELEASE = ${UNAME_RELEASE}
1310
UNAME_SYSTEM = ${UNAME_SYSTEM}
1311
UNAME_VERSION = ${UNAME_VERSION}
1317
# eval: (add-hook 'write-file-hooks 'time-stamp)
1318
# time-stamp-start: "timestamp='"
1319
# time-stamp-format: "%:y-%02m-%02d"
1320
# time-stamp-end: "'"