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"
232
rm -f $dummy.s $dummy
233
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
235
Alpha\ *:Windows_NT*:*)
236
# How do we know it's Interix rather than the generic POSIX subsystem?
237
# Should we change UNAME_MACHINE based on the output of uname instead
238
# of the specific Alpha model?
239
echo alpha-pc-interix
241
21064:Windows_NT:50:3)
242
echo alpha-dec-winnt3.5
244
Amiga*:UNIX_System_V:4.0:*)
245
echo m68k-unknown-sysv4
248
echo m68k-unknown-openbsd${UNAME_RELEASE}
250
*:[Aa]miga[Oo][Ss]:*:*)
251
echo ${UNAME_MACHINE}-unknown-amigaos
254
echo mips64el-unknown-openbsd${UNAME_RELEASE}
257
echo mipsel-unknown-openbsd${UNAME_RELEASE}
260
echo mips-unknown-openbsd${UNAME_RELEASE}
263
echo mipsel-unknown-openbsd${UNAME_RELEASE}
266
echo mips-unknown-openbsd${UNAME_RELEASE}
269
echo mipsel-unknown-openbsd${UNAME_RELEASE}
272
echo i370-ibm-openedition
274
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
275
echo arm-acorn-riscix${UNAME_RELEASE}
277
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
278
echo hppa1.1-hitachi-hiuxmpp
280
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
281
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
282
if test "`(/bin/universe) 2>/dev/null`" = att ; then
283
echo pyramid-pyramid-sysv3
285
echo pyramid-pyramid-bsd
289
echo pyramid-pyramid-svr4
292
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
294
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
295
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
298
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
301
# According to config.sub, this is the proper way to canonicalize
302
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
303
# it's likely to be more like Solaris than SunOS4.
304
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
307
case "`/usr/bin/arch -k`" in
309
UNAME_RELEASE=`uname -v`
312
# Japanese Language versions have a version number like `4.1.3-JL'.
313
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
316
echo m68k-sun-sunos${UNAME_RELEASE}
319
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
320
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
321
case "`/bin/arch`" in
323
echo m68k-sun-sunos${UNAME_RELEASE}
326
echo sparc-sun-sunos${UNAME_RELEASE}
331
echo sparc-auspex-sunos${UNAME_RELEASE}
334
echo m68k-unknown-openbsd${UNAME_RELEASE}
336
# The situation for MiNT is a little confusing. The machine name
337
# can be virtually everything (everything which is not
338
# "atarist" or "atariste" at least should have a processor
339
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
340
# to the lowercase version "mint" (or "freemint"). Finally
341
# the system name "TOS" denotes a system which is actually not
342
# MiNT. But MiNT is downward compatible to TOS, so this should
344
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
345
echo m68k-atari-mint${UNAME_RELEASE}
347
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
348
echo m68k-atari-mint${UNAME_RELEASE}
350
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
351
echo m68k-atari-mint${UNAME_RELEASE}
353
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
354
echo m68k-milan-mint${UNAME_RELEASE}
356
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
357
echo m68k-hades-mint${UNAME_RELEASE}
359
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
360
echo m68k-unknown-mint${UNAME_RELEASE}
363
echo m68k-unknown-openbsd${UNAME_RELEASE}
366
echo m68k-unknown-openbsd${UNAME_RELEASE}
369
echo m68k-unknown-openbsd${UNAME_RELEASE}
372
echo m88k-unknown-openbsd${UNAME_RELEASE}
375
echo powerpc-apple-machten${UNAME_RELEASE}
378
echo mips-dec-mach_bsd4.3
381
echo mips-dec-ultrix${UNAME_RELEASE}
384
echo vax-dec-ultrix${UNAME_RELEASE}
386
2020:CLIX:*:* | 2430:CLIX:*:*)
387
echo clipper-intergraph-clix${UNAME_RELEASE}
389
mips:*:*:UMIPS | mips:*:*:RISCos)
390
sed 's/^ //' << EOF >$dummy.c
392
#include <stdio.h> /* for printf() prototype */
393
int main (int argc, char *argv[]) {
395
int main (argc, argv) int argc; char *argv[]; {
397
#if defined (host_mips) && defined (MIPSEB)
398
#if defined (SYSTYPE_SYSV)
399
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
401
#if defined (SYSTYPE_SVR4)
402
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
404
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
405
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
411
eval $set_cc_for_build
412
$CC_FOR_BUILD $dummy.c -o $dummy \
413
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
414
&& rm -f $dummy.c $dummy && exit 0
415
rm -f $dummy.c $dummy
416
echo mips-mips-riscos${UNAME_RELEASE}
418
Motorola:PowerMAX_OS:*:*)
419
echo powerpc-motorola-powermax
421
Night_Hawk:Power_UNIX:*:*)
422
echo powerpc-harris-powerunix
425
echo m88k-harris-cxux7
428
echo m88k-motorola-sysv4
431
echo m88k-motorola-sysv3
434
# DG/UX returns AViiON for all architectures
435
UNAME_PROCESSOR=`/usr/bin/uname -p`
436
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
438
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
439
[ ${TARGET_BINARY_INTERFACE}x = x ]
441
echo m88k-dg-dgux${UNAME_RELEASE}
443
echo m88k-dg-dguxbcs${UNAME_RELEASE}
446
echo i586-dg-dgux${UNAME_RELEASE}
449
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
450
echo m88k-dolphin-sysv3
453
# Delta 88k system running SVR3
454
echo m88k-motorola-sysv3
456
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
457
echo m88k-tektronix-sysv3
459
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
460
echo m68k-tektronix-bsd
463
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
465
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
466
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
467
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
472
if [ -x /usr/bin/oslevel ] ; then
473
IBM_REV=`/usr/bin/oslevel`
475
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
477
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
480
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
481
sed 's/^ //' << EOF >$dummy.c
482
#include <sys/systemcfg.h>
488
puts("powerpc-ibm-aix3.2.5");
492
eval $set_cc_for_build
493
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
494
rm -f $dummy.c $dummy
495
echo rs6000-ibm-aix3.2.5
496
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
497
echo rs6000-ibm-aix3.2.4
499
echo rs6000-ibm-aix3.2
503
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
504
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
509
if [ -x /usr/bin/oslevel ] ; then
510
IBM_REV=`/usr/bin/oslevel`
512
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
514
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
519
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
522
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
523
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
524
exit 0 ;; # report: romp-ibm BSD 4.3
526
echo rs6000-bull-bosx
531
9000/[34]??:4.3bsd:1.*:*)
534
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
537
9000/[34678]??:HP-UX:*:*)
538
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
539
case "${UNAME_MACHINE}" in
540
9000/31? ) HP_ARCH=m68000 ;;
541
9000/[34]?? ) HP_ARCH=m68k ;;
542
9000/[678][0-9][0-9])
543
case "${HPUX_REV}" in
545
if [ -x /usr/bin/getconf ]; then
546
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
547
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
548
case "${sc_cpu_version}" in
549
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
550
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
551
532) # CPU_PA_RISC2_0
552
case "${sc_kernel_bits}" in
553
32) HP_ARCH="hppa2.0n" ;;
554
64) HP_ARCH="hppa2.0w" ;;
559
if [ "${HP_ARCH}" = "" ]; then
560
sed 's/^ //' << EOF >$dummy.c
568
#if defined(_SC_KERNEL_BITS)
569
long bits = sysconf(_SC_KERNEL_BITS);
571
long cpu = sysconf (_SC_CPU_VERSION);
575
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
576
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
578
#if defined(_SC_KERNEL_BITS)
581
case 64: puts ("hppa2.0w"); break;
582
case 32: puts ("hppa2.0n"); break;
583
default: puts ("hppa2.0"); break;
585
#else /* !defined(_SC_KERNEL_BITS) */
586
puts ("hppa2.0"); break;
588
default: puts ("hppa1.0"); break;
593
eval $set_cc_for_build
594
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
595
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
596
rm -f $dummy.c $dummy
599
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
602
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
603
echo ia64-hp-hpux${HPUX_REV}
606
sed 's/^ //' << EOF >$dummy.c
611
long cpu = sysconf (_SC_CPU_VERSION);
612
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
613
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
615
if (CPU_IS_PA_RISC (cpu))
619
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
620
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
621
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
622
default: puts ("hppa-hitachi-hiuxwe2"); break;
625
else if (CPU_IS_HP_MC68K (cpu))
626
puts ("m68k-hitachi-hiuxwe2");
627
else puts ("unknown-hitachi-hiuxwe2");
631
eval $set_cc_for_build
632
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
633
rm -f $dummy.c $dummy
634
echo unknown-hitachi-hiuxwe2
636
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
642
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
643
echo hppa1.0-hp-mpeix
645
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
652
if [ -x /usr/sbin/sysversion ] ; then
653
echo ${UNAME_MACHINE}-unknown-osf1mk
655
echo ${UNAME_MACHINE}-unknown-osf1
659
echo hppa1.1-hp-lites
662
echo hppa-unknown-openbsd
664
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
667
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
668
if getsysinfo -f scalar_acc
669
then echo c32-convex-bsd
670
else echo c2-convex-bsd
673
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
676
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
679
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
686
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
689
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
690
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
691
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
695
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
698
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
701
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
704
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
707
echo cray2-cray-unicos
709
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
710
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
711
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
712
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
713
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
716
echo m68k-unknown-openbsd${UNAME_RELEASE}
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}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
734
echo ${UNAME_MACHINE}-pc-cygwin
737
echo ${UNAME_MACHINE}-pc-mingw32
740
echo ${UNAME_MACHINE}-pc-pw32
742
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
743
# How do we know it's Interix rather than the generic POSIX subsystem?
744
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
745
# UNAME_MACHINE based on the output of uname instead of i386?
749
echo ${UNAME_MACHINE}-pc-uwin
752
echo powerpcle-unknown-cygwin
755
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
758
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
761
echo ${UNAME_MACHINE}-pc-minix
764
echo ${UNAME_MACHINE}-unknown-linux-gnu
767
echo ${UNAME_MACHINE}-unknown-linux
770
echo ${UNAME_MACHINE}-unknown-linux-gnu
773
case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
774
big) echo mips-unknown-linux-gnu && exit 0 ;;
775
little) echo mipsel-unknown-linux-gnu && exit 0 ;;
779
echo powerpc-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=alphaev67 ;;
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
846
#include <features.h>
848
#include <stdio.h> /* for printf() prototype */
849
int main (int argc, char *argv[]) {
851
int main (argc, argv) int argc; char *argv[]; {
856
printf ("%s-pc-linux-gnu\n", argv[1]);
858
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
861
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
864
printf ("%s-pc-linux-gnuaout\n", argv[1]);
869
eval $set_cc_for_build
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)
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:CPunix: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
echo m68k-apple-aux${UNAME_RELEASE}
1013
echo mips-sony-newsos6
1015
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1016
if [ -d /usr/nec ]; then
1017
echo mips-nec-sysv${UNAME_RELEASE}
1019
echo mips-unknown-sysv${UNAME_RELEASE}
1022
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1023
echo powerpc-be-beos
1025
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1026
echo powerpc-apple-beos
1028
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1032
echo sx4-nec-superux${UNAME_RELEASE}
1035
echo sx5-nec-superux${UNAME_RELEASE}
1037
Power*:Rhapsody:*:*)
1038
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1041
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1044
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1046
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1047
if test "${UNAME_MACHINE}" = "x86pc"; then
1050
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1055
NSR-[KW]:NONSTOP_KERNEL:*:*)
1056
echo nsr-tandem-nsk${UNAME_RELEASE}
1059
echo mips-compaq-nonstopux
1062
echo bs2000-siemens-sysv
1064
DS/*:UNIX_System_V:*:*)
1065
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1068
# "uname -m" is not consistent, so use $cputype instead. 386
1069
# is converted to i386 for consistency with other x86
1070
# operating systems.
1071
if test "$cputype" = "386"; then
1074
UNAME_MACHINE="$cputype"
1076
echo ${UNAME_MACHINE}-unknown-plan9
1079
# If we were able to find `uname', then EMX Unix compatibility
1080
# is probably installed.
1081
echo ${UNAME_MACHINE}-pc-os2-emx
1084
echo pdp10-unknown-tops10
1087
echo pdp10-unknown-tenex
1089
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1090
echo pdp10-dec-tops20
1092
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1093
echo pdp10-xkl-tops20
1096
echo pdp10-unknown-tops20
1099
echo pdp10-unknown-its
1103
#echo '(No uname command or uname output not recognized.)' 1>&2
1104
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1108
# include <sys/types.h>
1109
# include <sys/utsname.h>
1114
#if defined (MIPSEB)
1115
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1117
printf ("mips-sony-bsd\n"); exit (0);
1119
#include <sys/param.h>
1120
printf ("m68k-sony-newsos%s\n",
1130
#if defined (__arm) && defined (__acorn) && defined (__unix)
1131
printf ("arm-acorn-riscix"); exit (0);
1134
#if defined (hp300) && !defined (hpux)
1135
printf ("m68k-hp-bsd\n"); exit (0);
1139
#if !defined (__ARCHITECTURE__)
1140
#define __ARCHITECTURE__ "m68k"
1143
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1145
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1147
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1151
#if defined (MULTIMAX) || defined (n16)
1153
printf ("ns32k-encore-sysv\n"); exit (0);
1156
printf ("ns32k-encore-mach\n"); exit (0);
1158
printf ("ns32k-encore-bsd\n"); exit (0);
1163
#if defined (__386BSD__)
1164
printf ("i386-pc-bsd\n"); exit (0);
1167
#if defined (sequent)
1169
printf ("i386-sequent-dynix\n"); exit (0);
1171
#if defined (ns32000)
1172
printf ("ns32k-sequent-dynix\n"); exit (0);
1176
#if defined (_SEQUENT_)
1181
if (strncmp(un.version, "V2", 2) == 0) {
1182
printf ("i386-sequent-ptx2\n"); exit (0);
1184
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1185
printf ("i386-sequent-ptx1\n"); exit (0);
1187
printf ("i386-sequent-ptx\n"); exit (0);
1192
# if !defined (ultrix)
1193
# include <sys/param.h>
1196
printf ("vax-dec-bsd4.3\n"); exit (0);
1199
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1201
printf ("vax-dec-bsd\n"); exit (0);
1205
printf ("vax-dec-bsd\n"); exit (0);
1208
printf ("vax-dec-ultrix\n"); exit (0);
1212
#if defined (alliant) && defined (i860)
1213
printf ("i860-alliant-bsd\n"); exit (0);
1220
eval $set_cc_for_build
1221
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1222
rm -f $dummy.c $dummy
1224
# Apollos put the system type in the environment.
1226
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1228
# Convex versions that predate uname can use getsysinfo(1)
1230
if [ -x /usr/convex/getsysinfo ]
1232
case `getsysinfo -f cpu_type` in
1237
if getsysinfo -f scalar_acc
1238
then echo c32-convex-bsd
1239
else echo c2-convex-bsd
1255
$0: unable to guess system type
1257
This script, last modified $timestamp, has failed to recognize
1258
the operating system you are using. It is advised that you
1259
download the most up to date version of the config scripts from
1261
ftp://ftp.gnu.org/pub/gnu/config/
1263
If the version you run ($0) is already up to date, please
1264
send the following data and any information you think might be
1265
pertinent to <config-patches@gnu.org> in order to provide the needed
1266
information to handle your system.
1268
config.guess timestamp = $timestamp
1270
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1271
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1272
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1273
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1275
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1276
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1278
hostinfo = `(hostinfo) 2>/dev/null`
1279
/bin/universe = `(/bin/universe) 2>/dev/null`
1280
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1281
/bin/arch = `(/bin/arch) 2>/dev/null`
1282
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1283
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1285
UNAME_MACHINE = ${UNAME_MACHINE}
1286
UNAME_RELEASE = ${UNAME_RELEASE}
1287
UNAME_SYSTEM = ${UNAME_SYSTEM}
1288
UNAME_VERSION = ${UNAME_VERSION}
1294
# eval: (add-hook 'write-file-hooks 'time-stamp)
1295
# time-stamp-start: "timestamp='"
1296
# time-stamp-format: "%:y-%02m-%02d"
1297
# time-stamp-end: "'"