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
# Written by Per Bothner <bothner@cygnus.com>.
28
# Please send patches to <config-patches@gnu.org>.
30
# This script attempts to guess a canonical system name similar to
31
# config.sub. If it succeeds, it prints the system name on stdout, and
32
# exits with 0. Otherwise, it exits with 1.
34
# The plan is that this can be called by configure scripts if you
35
# don't specify an explicit build system type.
37
me=`echo "$0" | sed -e 's,.*/,,'`
42
Output the configuration name of the system \`$me' is run on.
45
-h, --help print this help, then exit
46
-t, --time-stamp print date of last modification, then exit
47
-v, --version print version number, then exit
49
Report bugs and patches to <config-patches@gnu.org>."
52
GNU config.guess ($timestamp)
54
Originally written by Per Bothner.
55
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
56
Free Software Foundation, Inc.
58
This is free software; see the source for copying conditions. There is NO
59
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
62
Try \`$me --help' for more information."
65
while test $# -gt 0 ; do
67
--time-stamp | --time* | -t )
68
echo "$timestamp" ; exit 0 ;;
70
echo "$version" ; exit 0 ;;
72
echo "$usage"; exit 0 ;;
73
-- ) # Stop option processing
75
- ) # Use stdin as input.
78
echo "$me: invalid option $1$help" >&2
86
echo "$me: too many arguments$help" >&2
92
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
94
# CC_FOR_BUILD -- compiler used by this script.
95
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
96
# use `HOST_CC' if defined, but it is deprecated.
98
set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
99
,,) echo "int dummy(){}" > $dummy.c ;
100
for c in cc gcc c89 ; do
101
($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
102
if test $? = 0 ; then
103
CC_FOR_BUILD="$c"; break ;
106
rm -f $dummy.c $dummy.o $dummy.rel ;
107
if test x"$CC_FOR_BUILD" = x ; then
108
CC_FOR_BUILD=no_compiler_found ;
111
,,*) CC_FOR_BUILD=$CC ;;
112
,*,*) CC_FOR_BUILD=$HOST_CC ;;
115
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
116
# (ghazi@noc.rutgers.edu 1994-08-24)
117
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
118
PATH=$PATH:/.attbin ; export PATH
121
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
122
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
123
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
124
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
126
# Note: order is significant - the case branches are not exclusive.
128
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
130
# Netbsd (nbsd) targets should (where applicable) match one or
131
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
132
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
133
# switched to ELF, *-*-netbsd* would select the old
134
# object file format. This provides both forward
135
# compatibility and a consistent mechanism for selecting the
136
# object file format.
137
# Determine the machine/vendor (is the vendor relevant).
138
case "${UNAME_MACHINE}" in
139
amiga) machine=m68k-unknown ;;
140
arm32) machine=arm-unknown ;;
141
atari*) machine=m68k-atari ;;
142
sun3*) machine=m68k-sun ;;
143
mac68k) machine=m68k-apple ;;
144
macppc) machine=powerpc-apple ;;
145
hp3[0-9][05]) machine=m68k-hp ;;
146
ibmrt|romp-ibm) machine=romp-ibm ;;
147
*) machine=${UNAME_MACHINE}-unknown ;;
149
# The Operating System including object format, if it has switched
150
# to ELF recently, or will in the future.
151
case "${UNAME_MACHINE}" in
152
i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
153
eval $set_cc_for_build
154
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
155
| grep __ELF__ >/dev/null
157
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
158
# Return netbsd for either. FIX?
169
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
170
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
171
# contains redundant information, the shorter form:
172
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
173
echo "${machine}-${os}${release}"
176
if test $UNAME_RELEASE = "V4.0"; then
177
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
179
# A Vn.n version is a released version.
180
# A Tn.n version is a released field test version.
181
# A Xn.n version is an unreleased experimental baselevel.
182
# 1.2 uses "1.2" for uname -r.
186
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
193
.frame \$30,16,\$26,0
196
.long 0x47e03d80 # implver \$0
198
.long 0x47e20c21 # amask \$2,\$1
208
eval $set_cc_for_build
209
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
210
if test "$?" = 0 ; then
213
UNAME_MACHINE="alpha"
216
UNAME_MACHINE="alphaev5"
219
UNAME_MACHINE="alphaev56"
222
UNAME_MACHINE="alphapca56"
225
UNAME_MACHINE="alphaev6"
228
UNAME_MACHINE="alphaev67"
231
UNAME_MACHINE="alphaev68"
235
rm -f $dummy.s $dummy
236
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
238
Alpha\ *:Windows_NT*:*)
239
# How do we know it's Interix rather than the generic POSIX subsystem?
240
# Should we change UNAME_MACHINE based on the output of uname instead
241
# of the specific Alpha model?
242
echo alpha-pc-interix
244
21064:Windows_NT:50:3)
245
echo alpha-dec-winnt3.5
247
Amiga*:UNIX_System_V:4.0:*)
248
echo m68k-unknown-sysv4
251
echo m68k-unknown-openbsd${UNAME_RELEASE}
253
*:[Aa]miga[Oo][Ss]:*:*)
254
echo ${UNAME_MACHINE}-unknown-amigaos
257
echo mips64el-unknown-openbsd${UNAME_RELEASE}
260
echo mipsel-unknown-openbsd${UNAME_RELEASE}
263
echo mips-unknown-openbsd${UNAME_RELEASE}
266
echo mipsel-unknown-openbsd${UNAME_RELEASE}
269
echo mips-unknown-openbsd${UNAME_RELEASE}
272
echo mipsel-unknown-openbsd${UNAME_RELEASE}
275
echo i370-ibm-openedition
277
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
278
echo arm-acorn-riscix${UNAME_RELEASE}
280
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
281
echo hppa1.1-hitachi-hiuxmpp
283
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
284
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
285
if test "`(/bin/universe) 2>/dev/null`" = att ; then
286
echo pyramid-pyramid-sysv3
288
echo pyramid-pyramid-bsd
292
echo pyramid-pyramid-svr4
295
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
297
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
298
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
301
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
304
# According to config.sub, this is the proper way to canonicalize
305
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
306
# it's likely to be more like Solaris than SunOS4.
307
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
310
case "`/usr/bin/arch -k`" in
312
UNAME_RELEASE=`uname -v`
315
# Japanese Language versions have a version number like `4.1.3-JL'.
316
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
319
echo m68k-sun-sunos${UNAME_RELEASE}
322
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
323
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
324
case "`/bin/arch`" in
326
echo m68k-sun-sunos${UNAME_RELEASE}
329
echo sparc-sun-sunos${UNAME_RELEASE}
334
echo sparc-auspex-sunos${UNAME_RELEASE}
337
echo m68k-unknown-openbsd${UNAME_RELEASE}
339
# The situation for MiNT is a little confusing. The machine name
340
# can be virtually everything (everything which is not
341
# "atarist" or "atariste" at least should have a processor
342
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
343
# to the lowercase version "mint" (or "freemint"). Finally
344
# the system name "TOS" denotes a system which is actually not
345
# MiNT. But MiNT is downward compatible to TOS, so this should
347
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
348
echo m68k-atari-mint${UNAME_RELEASE}
350
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
351
echo m68k-atari-mint${UNAME_RELEASE}
353
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
354
echo m68k-atari-mint${UNAME_RELEASE}
356
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
357
echo m68k-milan-mint${UNAME_RELEASE}
359
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
360
echo m68k-hades-mint${UNAME_RELEASE}
362
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
363
echo m68k-unknown-mint${UNAME_RELEASE}
366
echo m68k-unknown-openbsd${UNAME_RELEASE}
369
echo m68k-unknown-openbsd${UNAME_RELEASE}
372
echo m68k-unknown-openbsd${UNAME_RELEASE}
375
echo m88k-unknown-openbsd${UNAME_RELEASE}
378
echo powerpc-apple-machten${UNAME_RELEASE}
381
echo mips-dec-mach_bsd4.3
384
echo mips-dec-ultrix${UNAME_RELEASE}
387
echo vax-dec-ultrix${UNAME_RELEASE}
389
2020:CLIX:*:* | 2430:CLIX:*:*)
390
echo clipper-intergraph-clix${UNAME_RELEASE}
392
mips:*:*:UMIPS | mips:*:*:RISCos)
393
sed 's/^ //' << EOF >$dummy.c
395
#include <stdio.h> /* for printf() prototype */
396
int main (int argc, char *argv[]) {
398
int main (argc, argv) int argc; char *argv[]; {
400
#if defined (host_mips) && defined (MIPSEB)
401
#if defined (SYSTYPE_SYSV)
402
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
404
#if defined (SYSTYPE_SVR4)
405
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
407
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
408
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
414
eval $set_cc_for_build
415
$CC_FOR_BUILD $dummy.c -o $dummy \
416
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
417
&& rm -f $dummy.c $dummy && exit 0
418
rm -f $dummy.c $dummy
419
echo mips-mips-riscos${UNAME_RELEASE}
421
Motorola:PowerMAX_OS:*:*)
422
echo powerpc-motorola-powermax
424
Night_Hawk:Power_UNIX:*:*)
425
echo powerpc-harris-powerunix
428
echo m88k-harris-cxux7
431
echo m88k-motorola-sysv4
434
echo m88k-motorola-sysv3
437
# DG/UX returns AViiON for all architectures
438
UNAME_PROCESSOR=`/usr/bin/uname -p`
439
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
441
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
442
[ ${TARGET_BINARY_INTERFACE}x = x ]
444
echo m88k-dg-dgux${UNAME_RELEASE}
446
echo m88k-dg-dguxbcs${UNAME_RELEASE}
449
echo i586-dg-dgux${UNAME_RELEASE}
452
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
453
echo m88k-dolphin-sysv3
456
# Delta 88k system running SVR3
457
echo m88k-motorola-sysv3
459
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
460
echo m88k-tektronix-sysv3
462
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
463
echo m68k-tektronix-bsd
466
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
468
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
469
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
470
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
475
if [ -x /usr/bin/oslevel ] ; then
476
IBM_REV=`/usr/bin/oslevel`
478
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
480
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
483
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
484
sed 's/^ //' << EOF >$dummy.c
485
#include <sys/systemcfg.h>
491
puts("powerpc-ibm-aix3.2.5");
495
eval $set_cc_for_build
496
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
497
rm -f $dummy.c $dummy
498
echo rs6000-ibm-aix3.2.5
499
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
500
echo rs6000-ibm-aix3.2.4
502
echo rs6000-ibm-aix3.2
506
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
507
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
512
if [ -x /usr/bin/oslevel ] ; then
513
IBM_REV=`/usr/bin/oslevel`
515
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
517
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
522
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
525
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
526
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
527
exit 0 ;; # report: romp-ibm BSD 4.3
529
echo rs6000-bull-bosx
534
9000/[34]??:4.3bsd:1.*:*)
537
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
540
9000/[34678]??:HP-UX:*:*)
541
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
542
case "${UNAME_MACHINE}" in
543
9000/31? ) HP_ARCH=m68000 ;;
544
9000/[34]?? ) HP_ARCH=m68k ;;
545
9000/[678][0-9][0-9])
546
case "${HPUX_REV}" in
548
if [ -x /usr/bin/getconf ]; then
549
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
550
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
551
case "${sc_cpu_version}" in
552
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
553
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
554
532) # CPU_PA_RISC2_0
555
case "${sc_kernel_bits}" in
556
32) HP_ARCH="hppa2.0n" ;;
557
64) HP_ARCH="hppa2.0w" ;;
562
if [ "${HP_ARCH}" = "" ]; then
563
sed 's/^ //' << EOF >$dummy.c
571
#if defined(_SC_KERNEL_BITS)
572
long bits = sysconf(_SC_KERNEL_BITS);
574
long cpu = sysconf (_SC_CPU_VERSION);
578
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
579
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
581
#if defined(_SC_KERNEL_BITS)
584
case 64: puts ("hppa2.0w"); break;
585
case 32: puts ("hppa2.0n"); break;
586
default: puts ("hppa2.0"); break;
588
#else /* !defined(_SC_KERNEL_BITS) */
589
puts ("hppa2.0"); break;
591
default: puts ("hppa1.0"); break;
596
eval $set_cc_for_build
597
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
598
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
599
rm -f $dummy.c $dummy
602
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
605
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
606
echo ia64-hp-hpux${HPUX_REV}
609
sed 's/^ //' << EOF >$dummy.c
614
long cpu = sysconf (_SC_CPU_VERSION);
615
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
616
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
618
if (CPU_IS_PA_RISC (cpu))
622
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
623
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
624
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
625
default: puts ("hppa-hitachi-hiuxwe2"); break;
628
else if (CPU_IS_HP_MC68K (cpu))
629
puts ("m68k-hitachi-hiuxwe2");
630
else puts ("unknown-hitachi-hiuxwe2");
634
eval $set_cc_for_build
635
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
636
rm -f $dummy.c $dummy
637
echo unknown-hitachi-hiuxwe2
639
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
645
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
646
echo hppa1.0-hp-mpeix
648
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
655
if [ -x /usr/sbin/sysversion ] ; then
656
echo ${UNAME_MACHINE}-unknown-osf1mk
658
echo ${UNAME_MACHINE}-unknown-osf1
662
echo hppa1.1-hp-lites
665
echo hppa-unknown-openbsd
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}"
719
echo m68k-unknown-openbsd${UNAME_RELEASE}
721
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
722
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
725
echo sparc-unknown-bsdi${UNAME_RELEASE}
728
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
731
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
734
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
737
echo ${UNAME_MACHINE}-pc-cygwin
740
echo ${UNAME_MACHINE}-pc-mingw32
743
echo ${UNAME_MACHINE}-pc-pw32
745
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
746
# How do we know it's Interix rather than the generic POSIX subsystem?
747
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
748
# UNAME_MACHINE based on the output of uname instead of i386?
752
echo ${UNAME_MACHINE}-pc-uwin
755
echo powerpcle-unknown-cygwin
758
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
761
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
764
echo ${UNAME_MACHINE}-pc-minix
767
echo ${UNAME_MACHINE}-unknown-linux-gnu
770
echo ${UNAME_MACHINE}-unknown-linux
773
echo ${UNAME_MACHINE}-unknown-linux-gnu
776
case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
777
big) echo mips-unknown-linux-gnu && exit 0 ;;
778
little) echo mipsel-unknown-linux-gnu && exit 0 ;;
782
echo powerpc-unknown-linux-gnu
785
echo powerpc64-unknown-linux-gnu
788
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
789
EV5) UNAME_MACHINE=alphaev5 ;;
790
EV56) UNAME_MACHINE=alphaev56 ;;
791
PCA56) UNAME_MACHINE=alphapca56 ;;
792
PCA57) UNAME_MACHINE=alphapca56 ;;
793
EV6) UNAME_MACHINE=alphaev6 ;;
794
EV67) UNAME_MACHINE=alphaev67 ;;
795
EV68*) UNAME_MACHINE=alphaev68 ;;
797
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
798
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
799
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
801
parisc:Linux:*:* | hppa:Linux:*:*)
803
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
804
PA7*) echo hppa1.1-unknown-linux-gnu ;;
805
PA8*) echo hppa2.0-unknown-linux-gnu ;;
806
*) echo hppa-unknown-linux-gnu ;;
809
parisc64:Linux:*:* | hppa64:Linux:*:*)
810
echo hppa64-unknown-linux-gnu
812
s390:Linux:*:* | s390x:Linux:*:*)
813
echo ${UNAME_MACHINE}-ibm-linux
816
echo ${UNAME_MACHINE}-unknown-linux-gnu
818
sparc:Linux:*:* | sparc64:Linux:*:*)
819
echo ${UNAME_MACHINE}-unknown-linux-gnu
822
echo x86_64-unknown-linux-gnu
825
# The BFD linker knows what the default object file format is, so
826
# first see if it will tell us. cd to the root directory to prevent
827
# problems with other programs or directories called `ld' in the path.
828
ld_supported_targets=`cd /; ld --help 2>&1 \
829
| sed -ne '/supported targets:/!d
831
s/.*supported targets: *//
834
case "$ld_supported_targets" in
836
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
839
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
842
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
845
# Either a pre-BFD a.out linker (linux-gnuoldld) or
846
# one that does not give us useful --help.
847
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
850
# Determine whether the default compiler is a.out or elf
852
#include <features.h>
854
#include <stdio.h> /* for printf() prototype */
855
int main (int argc, char *argv[]) {
857
int main (argc, argv) int argc; char *argv[]; {
862
printf ("%s-pc-linux-gnu\n", argv[1]);
864
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
867
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
870
printf ("%s-pc-linux-gnuaout\n", argv[1]);
875
eval $set_cc_for_build
876
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
877
rm -f $dummy.c $dummy
878
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
881
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
882
# earlier versions are messed up and put the nodename in both
883
# sysname and nodename.
884
echo i386-sequent-sysv4
886
i*86:UNIX_SV:4.2MP:2.*)
887
# Unixware is an offshoot of SVR4, but it has its own version
888
# number series starting with 2...
889
# I am not positive that other SVR4 systems won't match this,
890
# I just have to hope. -- rms.
891
# Use sysv4.2uw... so that sysv4* matches it.
892
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
894
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
895
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
896
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
897
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
899
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
903
case `/bin/uname -X | grep "^Machine"` in
904
*486*) UNAME_MACHINE=i486 ;;
905
*Pentium) UNAME_MACHINE=i586 ;;
906
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
908
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
911
if test -f /usr/options/cb.name; then
912
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
913
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
914
elif /bin/uname -X 2>/dev/null >/dev/null ; then
915
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
916
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
917
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
918
&& UNAME_MACHINE=i586
919
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
920
&& UNAME_MACHINE=i686
921
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
922
&& UNAME_MACHINE=i686
923
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
925
echo ${UNAME_MACHINE}-pc-sysv32
929
echo ${UNAME_MACHINE}-pc-msdosdjgpp
932
# Left here for compatibility:
933
# uname -m prints for DJGPP always 'pc', but it prints nothing about
934
# the processor, so we play safe by assuming i386.
935
echo i386-pc-msdosdjgpp
943
i860:*:4.*:*) # i860-SVR4
944
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
945
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
946
else # Add other i860-SVR4 vendors below as they are discovered.
947
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
952
echo m68010-convergent-sysv
955
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
956
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
958
test -r /etc/.relid \
959
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
960
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
961
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
962
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
963
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
964
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
965
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
966
&& echo i486-ncr-sysv4 && exit 0 ;;
967
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
968
echo m68k-unknown-lynxos${UNAME_RELEASE}
970
mc68030:UNIX_System_V:4.*:*)
971
echo m68k-atari-sysv4
973
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
974
echo i386-unknown-lynxos${UNAME_RELEASE}
976
TSUNAMI:LynxOS:2.*:*)
977
echo sparc-unknown-lynxos${UNAME_RELEASE}
980
echo rs6000-unknown-lynxos${UNAME_RELEASE}
982
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
983
echo powerpc-unknown-lynxos${UNAME_RELEASE}
986
echo mips-dde-sysv${UNAME_RELEASE}
988
RM*:ReliantUNIX-*:*:*)
995
if uname -p 2>/dev/null >/dev/null ; then
996
UNAME_MACHINE=`(uname -p) 2>/dev/null`
997
echo ${UNAME_MACHINE}-sni-sysv4
1002
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1003
# says <Richard.M.Bartel@ccMail.Census.GOV>
1004
echo i586-unisys-sysv4
1006
*:UNIX_System_V:4*:FTX*)
1007
# From Gerald Hewes <hewes@openmarket.com>.
1008
# How about differentiating between stratus architectures? -djm
1009
echo hppa1.1-stratus-sysv4
1012
# From seanf@swdc.stratus.com.
1013
echo i860-stratus-sysv4
1016
# From Paul.Green@stratus.com.
1017
echo hppa1.1-stratus-vos
1020
echo m68k-apple-aux${UNAME_RELEASE}
1023
echo mips-sony-newsos6
1025
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1026
if [ -d /usr/nec ]; then
1027
echo mips-nec-sysv${UNAME_RELEASE}
1029
echo mips-unknown-sysv${UNAME_RELEASE}
1032
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1033
echo powerpc-be-beos
1035
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1036
echo powerpc-apple-beos
1038
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1042
echo sx4-nec-superux${UNAME_RELEASE}
1045
echo sx5-nec-superux${UNAME_RELEASE}
1047
Power*:Rhapsody:*:*)
1048
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1051
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1054
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1056
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1057
if test "${UNAME_MACHINE}" = "x86pc"; then
1060
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1065
NSR-[KW]:NONSTOP_KERNEL:*:*)
1066
echo nsr-tandem-nsk${UNAME_RELEASE}
1069
echo mips-compaq-nonstopux
1072
echo bs2000-siemens-sysv
1074
DS/*:UNIX_System_V:*:*)
1075
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1078
# "uname -m" is not consistent, so use $cputype instead. 386
1079
# is converted to i386 for consistency with other x86
1080
# operating systems.
1081
if test "$cputype" = "386"; then
1084
UNAME_MACHINE="$cputype"
1086
echo ${UNAME_MACHINE}-unknown-plan9
1089
# If we were able to find `uname', then EMX Unix compatibility
1090
# is probably installed.
1091
echo ${UNAME_MACHINE}-pc-os2-emx
1094
echo pdp10-unknown-tops10
1097
echo pdp10-unknown-tenex
1099
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1100
echo pdp10-dec-tops20
1102
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1103
echo pdp10-xkl-tops20
1106
echo pdp10-unknown-tops20
1109
echo pdp10-unknown-its
1111
i*86:XTS-300:*:STOP)
1112
echo ${UNAME_MACHINE}-unknown-stop
1116
#echo '(No uname command or uname output not recognized.)' 1>&2
1117
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1121
# include <sys/types.h>
1122
# include <sys/utsname.h>
1127
#if defined (MIPSEB)
1128
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1130
printf ("mips-sony-bsd\n"); exit (0);
1132
#include <sys/param.h>
1133
printf ("m68k-sony-newsos%s\n",
1143
#if defined (__arm) && defined (__acorn) && defined (__unix)
1144
printf ("arm-acorn-riscix"); exit (0);
1147
#if defined (hp300) && !defined (hpux)
1148
printf ("m68k-hp-bsd\n"); exit (0);
1152
#if !defined (__ARCHITECTURE__)
1153
#define __ARCHITECTURE__ "m68k"
1156
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1158
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1160
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1164
#if defined (MULTIMAX) || defined (n16)
1166
printf ("ns32k-encore-sysv\n"); exit (0);
1169
printf ("ns32k-encore-mach\n"); exit (0);
1171
printf ("ns32k-encore-bsd\n"); exit (0);
1176
#if defined (__386BSD__)
1177
printf ("i386-pc-bsd\n"); exit (0);
1180
#if defined (sequent)
1182
printf ("i386-sequent-dynix\n"); exit (0);
1184
#if defined (ns32000)
1185
printf ("ns32k-sequent-dynix\n"); exit (0);
1189
#if defined (_SEQUENT_)
1194
if (strncmp(un.version, "V2", 2) == 0) {
1195
printf ("i386-sequent-ptx2\n"); exit (0);
1197
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1198
printf ("i386-sequent-ptx1\n"); exit (0);
1200
printf ("i386-sequent-ptx\n"); exit (0);
1205
# if !defined (ultrix)
1206
# include <sys/param.h>
1209
printf ("vax-dec-bsd4.3\n"); exit (0);
1212
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1214
printf ("vax-dec-bsd\n"); exit (0);
1218
printf ("vax-dec-bsd\n"); exit (0);
1221
printf ("vax-dec-ultrix\n"); exit (0);
1225
#if defined (alliant) && defined (i860)
1226
printf ("i860-alliant-bsd\n"); exit (0);
1233
eval $set_cc_for_build
1234
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1235
rm -f $dummy.c $dummy
1237
# Apollos put the system type in the environment.
1239
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1241
# Convex versions that predate uname can use getsysinfo(1)
1243
if [ -x /usr/convex/getsysinfo ]
1245
case `getsysinfo -f cpu_type` in
1250
if getsysinfo -f scalar_acc
1251
then echo c32-convex-bsd
1252
else echo c2-convex-bsd
1268
$0: unable to guess system type
1270
This script, last modified $timestamp, has failed to recognize
1271
the operating system you are using. It is advised that you
1272
download the most up to date version of the config scripts from
1274
ftp://ftp.gnu.org/pub/gnu/config/
1276
If the version you run ($0) is already up to date, please
1277
send the following data and any information you think might be
1278
pertinent to <config-patches@gnu.org> in order to provide the needed
1279
information to handle your system.
1281
config.guess timestamp = $timestamp
1283
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1284
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1285
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1286
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1288
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1289
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1291
hostinfo = `(hostinfo) 2>/dev/null`
1292
/bin/universe = `(/bin/universe) 2>/dev/null`
1293
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1294
/bin/arch = `(/bin/arch) 2>/dev/null`
1295
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1296
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1298
UNAME_MACHINE = ${UNAME_MACHINE}
1299
UNAME_RELEASE = ${UNAME_RELEASE}
1300
UNAME_SYSTEM = ${UNAME_SYSTEM}
1301
UNAME_VERSION = ${UNAME_VERSION}
1307
# eval: (add-hook 'write-file-hooks 'time-stamp)
1308
# time-stamp-start: "timestamp='"
1309
# time-stamp-format: "%:y-%02m-%02d"
1310
# time-stamp-end: "'"