2
# Attempt to guess a canonical system name.
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4
# 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 <bothner@cygnus.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 ; 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.
138
# Determine the machine/vendor (is the vendor relevant).
139
case "${UNAME_MACHINE}" in
140
amiga) machine=m68k-unknown ;;
141
arm32) machine=arm-unknown ;;
142
atari*) machine=m68k-atari ;;
143
sun3*) machine=m68k-sun ;;
144
mac68k) machine=m68k-apple ;;
145
macppc) machine=powerpc-apple ;;
146
hp3[0-9][05]) machine=m68k-hp ;;
147
ibmrt|romp-ibm) machine=romp-ibm ;;
148
sparc*) machine=`uname -p`-unknown ;;
149
*) machine=${UNAME_MACHINE}-unknown ;;
151
# The Operating System including object format, if it has switched
152
# to ELF recently, or will in the future.
153
case "${UNAME_MACHINE}" in
154
i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
155
eval $set_cc_for_build
156
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
157
| grep __ELF__ >/dev/null
159
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
160
# Return netbsd for either. FIX?
171
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
172
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
173
# contains redundant information, the shorter form:
174
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
175
echo "${machine}-${os}${release}"
178
echo m68k-unknown-openbsd${UNAME_RELEASE}
181
echo mipsel-unknown-openbsd${UNAME_RELEASE}
184
echo m68k-unknown-openbsd${UNAME_RELEASE}
187
echo m68k-unknown-openbsd${UNAME_RELEASE}
190
echo powerpc-unknown-openbsd${UNAME_RELEASE}
193
echo m68k-unknown-openbsd${UNAME_RELEASE}
196
echo m88k-unknown-openbsd${UNAME_RELEASE}
199
echo powerpc-unknown-openbsd${UNAME_RELEASE}
202
echo mipsel-unknown-openbsd${UNAME_RELEASE}
205
echo mipseb-unknown-openbsd${UNAME_RELEASE}
208
echo m68k-unknown-openbsd${UNAME_RELEASE}
211
echo mipsel-unknown-openbsd${UNAME_RELEASE}
214
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
217
if test $UNAME_RELEASE = "V4.0"; then
218
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
220
# A Vn.n version is a released version.
221
# A Tn.n version is a released field test version.
222
# A Xn.n version is an unreleased experimental baselevel.
223
# 1.2 uses "1.2" for uname -r.
227
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
234
.frame \$30,16,\$26,0
237
.long 0x47e03d80 # implver \$0
239
.long 0x47e20c21 # amask \$2,\$1
249
eval $set_cc_for_build
250
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
251
if test "$?" = 0 ; then
254
UNAME_MACHINE="alpha"
257
UNAME_MACHINE="alphaev5"
260
UNAME_MACHINE="alphaev56"
263
UNAME_MACHINE="alphapca56"
266
UNAME_MACHINE="alphaev6"
269
UNAME_MACHINE="alphaev67"
272
UNAME_MACHINE="alphaev68"
276
rm -f $dummy.s $dummy
277
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
279
Alpha\ *:Windows_NT*:*)
280
# How do we know it's Interix rather than the generic POSIX subsystem?
281
# Should we change UNAME_MACHINE based on the output of uname instead
282
# of the specific Alpha model?
283
echo alpha-pc-interix
285
21064:Windows_NT:50:3)
286
echo alpha-dec-winnt3.5
288
Amiga*:UNIX_System_V:4.0:*)
289
echo m68k-unknown-sysv4
291
*:[Aa]miga[Oo][Ss]:*:*)
292
echo ${UNAME_MACHINE}-unknown-amigaos
295
echo i370-ibm-openedition
297
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
298
echo arm-acorn-riscix${UNAME_RELEASE}
300
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
301
echo hppa1.1-hitachi-hiuxmpp
303
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
304
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
305
if test "`(/bin/universe) 2>/dev/null`" = att ; then
306
echo pyramid-pyramid-sysv3
308
echo pyramid-pyramid-bsd
312
echo pyramid-pyramid-svr4
315
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
317
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
318
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
321
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
324
# According to config.sub, this is the proper way to canonicalize
325
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
326
# it's likely to be more like Solaris than SunOS4.
327
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
330
case "`/usr/bin/arch -k`" in
332
UNAME_RELEASE=`uname -v`
335
# Japanese Language versions have a version number like `4.1.3-JL'.
336
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
339
echo m68k-sun-sunos${UNAME_RELEASE}
342
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
343
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
344
case "`/bin/arch`" in
346
echo m68k-sun-sunos${UNAME_RELEASE}
349
echo sparc-sun-sunos${UNAME_RELEASE}
354
echo sparc-auspex-sunos${UNAME_RELEASE}
356
# The situation for MiNT is a little confusing. The machine name
357
# can be virtually everything (everything which is not
358
# "atarist" or "atariste" at least should have a processor
359
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
360
# to the lowercase version "mint" (or "freemint"). Finally
361
# the system name "TOS" denotes a system which is actually not
362
# MiNT. But MiNT is downward compatible to TOS, so this should
364
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
365
echo m68k-atari-mint${UNAME_RELEASE}
367
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
368
echo m68k-atari-mint${UNAME_RELEASE}
370
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
371
echo m68k-atari-mint${UNAME_RELEASE}
373
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
374
echo m68k-milan-mint${UNAME_RELEASE}
376
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
377
echo m68k-hades-mint${UNAME_RELEASE}
379
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
380
echo m68k-unknown-mint${UNAME_RELEASE}
383
echo powerpc-apple-machten${UNAME_RELEASE}
386
echo mips-dec-mach_bsd4.3
389
echo mips-dec-ultrix${UNAME_RELEASE}
392
echo vax-dec-ultrix${UNAME_RELEASE}
394
2020:CLIX:*:* | 2430:CLIX:*:*)
395
echo clipper-intergraph-clix${UNAME_RELEASE}
397
mips:*:*:UMIPS | mips:*:*:RISCos)
398
eval $set_cc_for_build
399
sed 's/^ //' << EOF >$dummy.c
401
#include <stdio.h> /* for printf() prototype */
402
int main (int argc, char *argv[]) {
404
int main (argc, argv) int argc; char *argv[]; {
406
#if defined (host_mips) && defined (MIPSEB)
407
#if defined (SYSTYPE_SYSV)
408
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
410
#if defined (SYSTYPE_SVR4)
411
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
413
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
414
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
420
$CC_FOR_BUILD $dummy.c -o $dummy \
421
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
422
&& rm -f $dummy.c $dummy && exit 0
423
rm -f $dummy.c $dummy
424
echo mips-mips-riscos${UNAME_RELEASE}
426
Motorola:PowerMAX_OS:*:*)
427
echo powerpc-motorola-powermax
429
Night_Hawk:Power_UNIX:*:*)
430
echo powerpc-harris-powerunix
433
echo m88k-harris-cxux7
436
echo m88k-motorola-sysv4
439
echo m88k-motorola-sysv3
442
# DG/UX returns AViiON for all architectures
443
UNAME_PROCESSOR=`/usr/bin/uname -p`
444
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
446
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
447
[ ${TARGET_BINARY_INTERFACE}x = x ]
449
echo m88k-dg-dgux${UNAME_RELEASE}
451
echo m88k-dg-dguxbcs${UNAME_RELEASE}
454
echo i586-dg-dgux${UNAME_RELEASE}
457
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
458
echo m88k-dolphin-sysv3
461
# Delta 88k system running SVR3
462
echo m88k-motorola-sysv3
464
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
465
echo m88k-tektronix-sysv3
467
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
468
echo m68k-tektronix-bsd
471
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
473
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
474
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
475
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
480
if [ -x /usr/bin/oslevel ] ; then
481
IBM_REV=`/usr/bin/oslevel`
483
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
485
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
488
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
489
eval $set_cc_for_build
490
sed 's/^ //' << EOF >$dummy.c
491
#include <sys/systemcfg.h>
497
puts("powerpc-ibm-aix3.2.5");
501
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
502
rm -f $dummy.c $dummy
503
echo rs6000-ibm-aix3.2.5
504
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
505
echo rs6000-ibm-aix3.2.4
507
echo rs6000-ibm-aix3.2
511
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
512
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
517
if [ -x /usr/bin/oslevel ] ; then
518
IBM_REV=`/usr/bin/oslevel`
520
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
522
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
527
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
530
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
531
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
532
exit 0 ;; # report: romp-ibm BSD 4.3
534
echo rs6000-bull-bosx
539
9000/[34]??:4.3bsd:1.*:*)
542
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
545
9000/[34678]??:HP-UX:*:*)
546
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
547
case "${UNAME_MACHINE}" in
548
9000/31? ) HP_ARCH=m68000 ;;
549
9000/[34]?? ) HP_ARCH=m68k ;;
550
9000/[678][0-9][0-9])
551
if [ -x /usr/bin/getconf ]; then
552
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
553
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
554
case "${sc_cpu_version}" in
555
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
556
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
557
532) # CPU_PA_RISC2_0
558
case "${sc_kernel_bits}" in
559
32) HP_ARCH="hppa2.0n" ;;
560
64) HP_ARCH="hppa2.0w" ;;
561
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
565
if [ "${HP_ARCH}" = "" ]; then
566
eval $set_cc_for_build
567
sed 's/^ //' << EOF >$dummy.c
575
#if defined(_SC_KERNEL_BITS)
576
long bits = sysconf(_SC_KERNEL_BITS);
578
long cpu = sysconf (_SC_CPU_VERSION);
582
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
583
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
585
#if defined(_SC_KERNEL_BITS)
588
case 64: puts ("hppa2.0w"); break;
589
case 32: puts ("hppa2.0n"); break;
590
default: puts ("hppa2.0"); break;
592
#else /* !defined(_SC_KERNEL_BITS) */
593
puts ("hppa2.0"); break;
595
default: puts ("hppa1.0"); break;
600
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
601
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
602
rm -f $dummy.c $dummy
605
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
608
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
609
echo ia64-hp-hpux${HPUX_REV}
612
eval $set_cc_for_build
613
sed 's/^ //' << EOF >$dummy.c
618
long cpu = sysconf (_SC_CPU_VERSION);
619
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
620
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
622
if (CPU_IS_PA_RISC (cpu))
626
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
627
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
628
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
629
default: puts ("hppa-hitachi-hiuxwe2"); break;
632
else if (CPU_IS_HP_MC68K (cpu))
633
puts ("m68k-hitachi-hiuxwe2");
634
else puts ("unknown-hitachi-hiuxwe2");
638
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
639
rm -f $dummy.c $dummy
640
echo unknown-hitachi-hiuxwe2
642
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
648
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
649
echo hppa1.0-hp-mpeix
651
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
658
if [ -x /usr/sbin/sysversion ] ; then
659
echo ${UNAME_MACHINE}-unknown-osf1mk
661
echo ${UNAME_MACHINE}-unknown-osf1
665
echo hppa1.1-hp-lites
667
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
670
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
671
if getsysinfo -f scalar_acc
672
then echo c32-convex-bsd
673
else echo c2-convex-bsd
676
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
679
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
682
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
689
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
692
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
693
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
694
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
698
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
701
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
704
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
707
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
710
echo cray2-cray-unicos
712
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
713
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
714
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
715
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
716
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
718
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
719
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
722
echo sparc-unknown-bsdi${UNAME_RELEASE}
725
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
728
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
731
echo ${UNAME_MACHINE}-pc-cygwin
734
echo ${UNAME_MACHINE}-pc-mingw32
737
echo ${UNAME_MACHINE}-pc-pw32
739
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
740
# How do we know it's Interix rather than the generic POSIX subsystem?
741
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
742
# UNAME_MACHINE based on the output of uname instead of i386?
746
echo ${UNAME_MACHINE}-pc-uwin
749
echo powerpcle-unknown-cygwin
752
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
755
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
758
echo ${UNAME_MACHINE}-pc-minix
761
echo ${UNAME_MACHINE}-unknown-linux-gnu
764
echo ${UNAME_MACHINE}-unknown-linux
767
echo ${UNAME_MACHINE}-unknown-linux-gnu
770
case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
771
big) echo mips-unknown-linux-gnu && exit 0 ;;
772
little) echo mipsel-unknown-linux-gnu && exit 0 ;;
776
echo powerpc-unknown-linux-gnu
779
echo powerpc64-unknown-linux-gnu
782
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
783
EV5) UNAME_MACHINE=alphaev5 ;;
784
EV56) UNAME_MACHINE=alphaev56 ;;
785
PCA56) UNAME_MACHINE=alphapca56 ;;
786
PCA57) UNAME_MACHINE=alphapca56 ;;
787
EV6) UNAME_MACHINE=alphaev6 ;;
788
EV67) UNAME_MACHINE=alphaev67 ;;
789
EV68*) UNAME_MACHINE=alphaev68 ;;
791
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
792
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
793
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
795
parisc:Linux:*:* | hppa:Linux:*:*)
797
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
798
PA7*) echo hppa1.1-unknown-linux-gnu ;;
799
PA8*) echo hppa2.0-unknown-linux-gnu ;;
800
*) echo hppa-unknown-linux-gnu ;;
803
parisc64:Linux:*:* | hppa64:Linux:*:*)
804
echo hppa64-unknown-linux-gnu
806
s390:Linux:*:* | s390x:Linux:*:*)
807
echo ${UNAME_MACHINE}-ibm-linux
810
echo ${UNAME_MACHINE}-unknown-linux-gnu
812
sparc:Linux:*:* | sparc64:Linux:*:*)
813
echo ${UNAME_MACHINE}-unknown-linux-gnu
816
echo x86_64-unknown-linux-gnu
819
# The BFD linker knows what the default object file format is, so
820
# first see if it will tell us. cd to the root directory to prevent
821
# problems with other programs or directories called `ld' in the path.
822
ld_supported_targets=`cd /; ld --help 2>&1 \
823
| sed -ne '/supported targets:/!d
825
s/.*supported targets: *//
828
case "$ld_supported_targets" in
830
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
833
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
836
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
839
# Either a pre-BFD a.out linker (linux-gnuoldld) or
840
# one that does not give us useful --help.
841
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
844
# Determine whether the default compiler is a.out or elf
845
eval $set_cc_for_build
847
#include <features.h>
849
#include <stdio.h> /* for printf() prototype */
850
int main (int argc, char *argv[]) {
852
int main (argc, argv) int argc; char *argv[]; {
857
printf ("%s-pc-linux-gnu\n", argv[1]);
859
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
862
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
865
printf ("%s-pc-linux-gnuaout\n", argv[1]);
870
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
871
rm -f $dummy.c $dummy
872
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
875
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
876
# earlier versions are messed up and put the nodename in both
877
# sysname and nodename.
878
echo i386-sequent-sysv4
880
i*86:UNIX_SV:4.2MP:2.*)
881
# Unixware is an offshoot of SVR4, but it has its own version
882
# number series starting with 2...
883
# I am not positive that other SVR4 systems won't match this,
884
# I just have to hope. -- rms.
885
# Use sysv4.2uw... so that sysv4* matches it.
886
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
888
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
889
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
890
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
891
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
893
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
897
case `/bin/uname -X | grep "^Machine"` in
898
*486*) UNAME_MACHINE=i486 ;;
899
*Pentium) UNAME_MACHINE=i586 ;;
900
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
902
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
905
if test -f /usr/options/cb.name; then
906
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
907
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
908
elif /bin/uname -X 2>/dev/null >/dev/null ; then
909
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
910
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
911
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
912
&& UNAME_MACHINE=i586
913
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
914
&& UNAME_MACHINE=i686
915
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
916
&& UNAME_MACHINE=i686
917
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
919
echo ${UNAME_MACHINE}-pc-sysv32
923
echo ${UNAME_MACHINE}-pc-msdosdjgpp
926
# Left here for compatibility:
927
# uname -m prints for DJGPP always 'pc', but it prints nothing about
928
# the processor, so we play safe by assuming i386.
929
echo i386-pc-msdosdjgpp
937
i860:*:4.*:*) # i860-SVR4
938
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
939
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
940
else # Add other i860-SVR4 vendors below as they are discovered.
941
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
946
echo m68010-convergent-sysv
949
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
950
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
952
test -r /etc/.relid \
953
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
954
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
955
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
956
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
957
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
958
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
959
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
960
&& echo i486-ncr-sysv4 && exit 0 ;;
961
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
962
echo m68k-unknown-lynxos${UNAME_RELEASE}
964
mc68030:UNIX_System_V:4.*:*)
965
echo m68k-atari-sysv4
967
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
968
echo i386-unknown-lynxos${UNAME_RELEASE}
970
TSUNAMI:LynxOS:2.*:*)
971
echo sparc-unknown-lynxos${UNAME_RELEASE}
974
echo rs6000-unknown-lynxos${UNAME_RELEASE}
976
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
977
echo powerpc-unknown-lynxos${UNAME_RELEASE}
980
echo mips-dde-sysv${UNAME_RELEASE}
982
RM*:ReliantUNIX-*:*:*)
989
if uname -p 2>/dev/null >/dev/null ; then
990
UNAME_MACHINE=`(uname -p) 2>/dev/null`
991
echo ${UNAME_MACHINE}-sni-sysv4
996
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
997
# says <Richard.M.Bartel@ccMail.Census.GOV>
998
echo i586-unisys-sysv4
1000
*:UNIX_System_V:4*:FTX*)
1001
# From Gerald Hewes <hewes@openmarket.com>.
1002
# How about differentiating between stratus architectures? -djm
1003
echo hppa1.1-stratus-sysv4
1006
# From seanf@swdc.stratus.com.
1007
echo i860-stratus-sysv4
1010
# From Paul.Green@stratus.com.
1011
echo hppa1.1-stratus-vos
1014
echo m68k-apple-aux${UNAME_RELEASE}
1017
echo mips-sony-newsos6
1019
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1020
if [ -d /usr/nec ]; then
1021
echo mips-nec-sysv${UNAME_RELEASE}
1023
echo mips-unknown-sysv${UNAME_RELEASE}
1026
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1027
echo powerpc-be-beos
1029
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1030
echo powerpc-apple-beos
1032
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1036
echo sx4-nec-superux${UNAME_RELEASE}
1039
echo sx5-nec-superux${UNAME_RELEASE}
1041
Power*:Rhapsody:*:*)
1042
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1045
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1048
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1050
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1051
if test "${UNAME_MACHINE}" = "x86pc"; then
1054
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1059
NSR-[KW]:NONSTOP_KERNEL:*:*)
1060
echo nsr-tandem-nsk${UNAME_RELEASE}
1063
echo mips-compaq-nonstopux
1066
echo bs2000-siemens-sysv
1068
DS/*:UNIX_System_V:*:*)
1069
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1072
# "uname -m" is not consistent, so use $cputype instead. 386
1073
# is converted to i386 for consistency with other x86
1074
# operating systems.
1075
if test "$cputype" = "386"; then
1078
UNAME_MACHINE="$cputype"
1080
echo ${UNAME_MACHINE}-unknown-plan9
1083
# If we were able to find `uname', then EMX Unix compatibility
1084
# is probably installed.
1085
echo ${UNAME_MACHINE}-pc-os2-emx
1088
echo pdp10-unknown-tops10
1091
echo pdp10-unknown-tenex
1093
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1094
echo pdp10-dec-tops20
1096
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1097
echo pdp10-xkl-tops20
1100
echo pdp10-unknown-tops20
1103
echo pdp10-unknown-its
1105
i*86:XTS-300:*:STOP)
1106
echo ${UNAME_MACHINE}-unknown-stop
1109
echo ${UNAME_MACHINE}-unknown-atheos
1113
#echo '(No uname command or uname output not recognized.)' 1>&2
1114
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1116
eval $set_cc_for_build
1119
# include <sys/types.h>
1120
# include <sys/utsname.h>
1125
#if defined (MIPSEB)
1126
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1128
printf ("mips-sony-bsd\n"); exit (0);
1130
#include <sys/param.h>
1131
printf ("m68k-sony-newsos%s\n",
1141
#if defined (__arm) && defined (__acorn) && defined (__unix)
1142
printf ("arm-acorn-riscix"); exit (0);
1145
#if defined (hp300) && !defined (hpux)
1146
printf ("m68k-hp-bsd\n"); exit (0);
1150
#if !defined (__ARCHITECTURE__)
1151
#define __ARCHITECTURE__ "m68k"
1154
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1156
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1158
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1162
#if defined (MULTIMAX) || defined (n16)
1164
printf ("ns32k-encore-sysv\n"); exit (0);
1167
printf ("ns32k-encore-mach\n"); exit (0);
1169
printf ("ns32k-encore-bsd\n"); exit (0);
1174
#if defined (__386BSD__)
1175
printf ("i386-pc-bsd\n"); exit (0);
1178
#if defined (sequent)
1180
printf ("i386-sequent-dynix\n"); exit (0);
1182
#if defined (ns32000)
1183
printf ("ns32k-sequent-dynix\n"); exit (0);
1187
#if defined (_SEQUENT_)
1192
if (strncmp(un.version, "V2", 2) == 0) {
1193
printf ("i386-sequent-ptx2\n"); exit (0);
1195
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1196
printf ("i386-sequent-ptx1\n"); exit (0);
1198
printf ("i386-sequent-ptx\n"); exit (0);
1203
# if !defined (ultrix)
1204
# include <sys/param.h>
1207
printf ("vax-dec-bsd4.3\n"); exit (0);
1210
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1212
printf ("vax-dec-bsd\n"); exit (0);
1216
printf ("vax-dec-bsd\n"); exit (0);
1219
printf ("vax-dec-ultrix\n"); exit (0);
1223
#if defined (alliant) && defined (i860)
1224
printf ("i860-alliant-bsd\n"); exit (0);
1231
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1232
rm -f $dummy.c $dummy
1234
# Apollos put the system type in the environment.
1236
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1238
# Convex versions that predate uname can use getsysinfo(1)
1240
if [ -x /usr/convex/getsysinfo ]
1242
case `getsysinfo -f cpu_type` in
1247
if getsysinfo -f scalar_acc
1248
then echo c32-convex-bsd
1249
else echo c2-convex-bsd
1265
$0: unable to guess system type
1267
This script, last modified $timestamp, has failed to recognize
1268
the operating system you are using. It is advised that you
1269
download the most up to date version of the config scripts from
1271
ftp://ftp.gnu.org/pub/gnu/config/
1273
If the version you run ($0) is already up to date, please
1274
send the following data and any information you think might be
1275
pertinent to <config-patches@gnu.org> in order to provide the needed
1276
information to handle your system.
1278
config.guess timestamp = $timestamp
1280
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1281
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1282
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1283
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1285
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1286
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1288
hostinfo = `(hostinfo) 2>/dev/null`
1289
/bin/universe = `(/bin/universe) 2>/dev/null`
1290
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1291
/bin/arch = `(/bin/arch) 2>/dev/null`
1292
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1293
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1295
UNAME_MACHINE = ${UNAME_MACHINE}
1296
UNAME_RELEASE = ${UNAME_RELEASE}
1297
UNAME_SYSTEM = ${UNAME_SYSTEM}
1298
UNAME_VERSION = ${UNAME_VERSION}
1304
# eval: (add-hook 'write-file-hooks 'time-stamp)
1305
# time-stamp-start: "timestamp='"
1306
# time-stamp-format: "%:y-%02m-%02d"
1307
# time-stamp-end: "'"