2
# Attempt to guess a canonical system name.
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
# 2000, 2001, 2002 Free Software Foundation, Inc.
8
# This file is free software; you can redistribute it and/or modify it
9
# under the terms of the GNU General Public License as published by
10
# the Free Software Foundation; either version 2 of the License, or
11
# (at your option) any later version.
13
# This program is distributed in the hope that it will be useful, but
14
# WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
# General Public License for more details.
18
# You should have received a copy of the GNU General Public License
19
# along with this program; if not, write to the Free Software
20
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
# As a special exception to the GNU General Public License, if you
23
# distribute this file as part of a program that contains a
24
# configuration script generated by Autoconf, you may include it under
25
# the same distribution terms that you use for the rest of that program.
27
# Originally written by Per Bothner <per@bothner.com>.
28
# Please send patches to <config-patches@gnu.org>. Submit a context
29
# diff and a properly formatted ChangeLog entry.
31
# This script attempts to guess a canonical system name similar to
32
# config.sub. If it succeeds, it prints the system name on stdout, and
33
# exits with 0. Otherwise, it exits with 1.
35
# The plan is that this can be called by configure scripts if you
36
# don't specify an explicit build system type.
38
me=`echo "$0" | sed -e 's,.*/,,'`
43
Output the configuration name of the system \`$me' is run on.
46
-h, --help print this help, then exit
47
-t, --time-stamp print date of last modification, then exit
48
-v, --version print version number, then exit
50
Report bugs and patches to <config-patches@gnu.org>."
53
GNU config.guess ($timestamp)
55
Originally written by Per Bothner.
56
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57
Free Software Foundation, Inc.
59
This is free software; see the source for copying conditions. There is NO
60
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63
Try \`$me --help' for more information."
66
while test $# -gt 0 ; do
68
--time-stamp | --time* | -t )
69
echo "$timestamp" ; exit 0 ;;
71
echo "$version" ; exit 0 ;;
73
echo "$usage"; exit 0 ;;
74
-- ) # Stop option processing
76
- ) # Use stdin as input.
79
echo "$me: invalid option $1$help" >&2
87
echo "$me: too many arguments$help" >&2
93
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
95
# CC_FOR_BUILD -- compiler used by this script.
96
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
97
# use `HOST_CC' if defined, but it is deprecated.
99
set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
100
,,) echo "int dummy(){}" > $dummy.c ;
101
for c in cc gcc c89 c99 ; do
102
($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103
if test $? = 0 ; then
104
CC_FOR_BUILD="$c"; break ;
107
rm -f $dummy.c $dummy.o $dummy.rel ;
108
if test x"$CC_FOR_BUILD" = x ; then
109
CC_FOR_BUILD=no_compiler_found ;
112
,,*) CC_FOR_BUILD=$CC ;;
113
,*,*) CC_FOR_BUILD=$HOST_CC ;;
116
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
117
# (ghazi@noc.rutgers.edu 1994-08-24)
118
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
119
PATH=$PATH:/.attbin ; export PATH
122
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
123
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
124
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
125
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
127
# Note: order is significant - the case branches are not exclusive.
129
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
131
# NetBSD (nbsd) targets should (where applicable) match one or
132
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
133
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
134
# switched to ELF, *-*-netbsd* would select the old
135
# object file format. This provides both forward
136
# compatibility and a consistent mechanism for selecting the
137
# object file format.
139
# Note: NetBSD doesn't particularly care about the vendor
140
# portion of the name. We always set it to "unknown".
141
sysctl="sysctl -n hw.machine_arch"
142
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
143
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
144
case "${UNAME_MACHINE_ARCH}" in
145
armeb) machine=armeb-unknown ;;
146
arm*) machine=arm-unknown ;;
147
sh3el) machine=shl-unknown ;;
148
sh3eb) machine=sh-unknown ;;
149
*) machine=${UNAME_MACHINE_ARCH}-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_ARCH}" in
154
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
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
294
*:[Mm]orph[Oo][Ss]:*:*)
295
echo ${UNAME_MACHINE}-unknown-morphos
298
echo i370-ibm-openedition
300
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
301
echo arm-acorn-riscix${UNAME_RELEASE}
303
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
304
echo hppa1.1-hitachi-hiuxmpp
306
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
307
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
308
if test "`(/bin/universe) 2>/dev/null`" = att ; then
309
echo pyramid-pyramid-sysv3
311
echo pyramid-pyramid-bsd
315
echo pyramid-pyramid-svr4
318
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
320
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
321
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
324
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
327
# According to config.sub, this is the proper way to canonicalize
328
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
329
# it's likely to be more like Solaris than SunOS4.
330
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
333
case "`/usr/bin/arch -k`" in
335
UNAME_RELEASE=`uname -v`
338
# Japanese Language versions have a version number like `4.1.3-JL'.
339
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
342
echo m68k-sun-sunos${UNAME_RELEASE}
345
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
346
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
347
case "`/bin/arch`" in
349
echo m68k-sun-sunos${UNAME_RELEASE}
352
echo sparc-sun-sunos${UNAME_RELEASE}
357
echo sparc-auspex-sunos${UNAME_RELEASE}
359
# The situation for MiNT is a little confusing. The machine name
360
# can be virtually everything (everything which is not
361
# "atarist" or "atariste" at least should have a processor
362
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
363
# to the lowercase version "mint" (or "freemint"). Finally
364
# the system name "TOS" denotes a system which is actually not
365
# MiNT. But MiNT is downward compatible to TOS, so this should
367
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
368
echo m68k-atari-mint${UNAME_RELEASE}
370
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
371
echo m68k-atari-mint${UNAME_RELEASE}
373
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
374
echo m68k-atari-mint${UNAME_RELEASE}
376
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
377
echo m68k-milan-mint${UNAME_RELEASE}
379
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
380
echo m68k-hades-mint${UNAME_RELEASE}
382
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
383
echo m68k-unknown-mint${UNAME_RELEASE}
386
echo powerpc-apple-machten${UNAME_RELEASE}
389
echo mips-dec-mach_bsd4.3
392
echo mips-dec-ultrix${UNAME_RELEASE}
395
echo vax-dec-ultrix${UNAME_RELEASE}
397
2020:CLIX:*:* | 2430:CLIX:*:*)
398
echo clipper-intergraph-clix${UNAME_RELEASE}
400
mips:*:*:UMIPS | mips:*:*:RISCos)
401
eval $set_cc_for_build
402
sed 's/^ //' << EOF >$dummy.c
404
#include <stdio.h> /* for printf() prototype */
405
int main (int argc, char *argv[]) {
407
int main (argc, argv) int argc; char *argv[]; {
409
#if defined (host_mips) && defined (MIPSEB)
410
#if defined (SYSTYPE_SYSV)
411
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
413
#if defined (SYSTYPE_SVR4)
414
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
416
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
417
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
423
$CC_FOR_BUILD $dummy.c -o $dummy \
424
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
425
&& rm -f $dummy.c $dummy && exit 0
426
rm -f $dummy.c $dummy
427
echo mips-mips-riscos${UNAME_RELEASE}
429
Motorola:PowerMAX_OS:*:*)
430
echo powerpc-motorola-powermax
432
Night_Hawk:*:*:PowerMAX_OS)
433
echo powerpc-harris-powermax
435
Night_Hawk:Power_UNIX:*:*)
436
echo powerpc-harris-powerunix
439
echo m88k-harris-cxux7
442
echo m88k-motorola-sysv4
445
echo m88k-motorola-sysv3
448
# DG/UX returns AViiON for all architectures
449
UNAME_PROCESSOR=`/usr/bin/uname -p`
450
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
452
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
453
[ ${TARGET_BINARY_INTERFACE}x = x ]
455
echo m88k-dg-dgux${UNAME_RELEASE}
457
echo m88k-dg-dguxbcs${UNAME_RELEASE}
460
echo i586-dg-dgux${UNAME_RELEASE}
463
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
464
echo m88k-dolphin-sysv3
467
# Delta 88k system running SVR3
468
echo m88k-motorola-sysv3
470
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
471
echo m88k-tektronix-sysv3
473
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
474
echo m68k-tektronix-bsd
477
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
479
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
480
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
481
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
486
if [ -x /usr/bin/oslevel ] ; then
487
IBM_REV=`/usr/bin/oslevel`
489
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
491
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
494
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
495
eval $set_cc_for_build
496
sed 's/^ //' << EOF >$dummy.c
497
#include <sys/systemcfg.h>
503
puts("powerpc-ibm-aix3.2.5");
507
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
508
rm -f $dummy.c $dummy
509
echo rs6000-ibm-aix3.2.5
510
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
511
echo rs6000-ibm-aix3.2.4
513
echo rs6000-ibm-aix3.2
517
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
518
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
523
if [ -x /usr/bin/oslevel ] ; then
524
IBM_REV=`/usr/bin/oslevel`
526
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
528
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
533
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
536
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
537
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
538
exit 0 ;; # report: romp-ibm BSD 4.3
540
echo rs6000-bull-bosx
545
9000/[34]??:4.3bsd:1.*:*)
548
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
551
9000/[34678]??:HP-UX:*:*)
552
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
553
case "${UNAME_MACHINE}" in
554
9000/31? ) HP_ARCH=m68000 ;;
555
9000/[34]?? ) HP_ARCH=m68k ;;
556
9000/[678][0-9][0-9])
557
if [ -x /usr/bin/getconf ]; then
558
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
559
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
560
case "${sc_cpu_version}" in
561
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
562
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
563
532) # CPU_PA_RISC2_0
564
case "${sc_kernel_bits}" in
565
32) HP_ARCH="hppa2.0n" ;;
566
64) HP_ARCH="hppa2.0w" ;;
567
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
571
if [ "${HP_ARCH}" = "" ]; then
572
eval $set_cc_for_build
573
sed 's/^ //' << EOF >$dummy.c
581
#if defined(_SC_KERNEL_BITS)
582
long bits = sysconf(_SC_KERNEL_BITS);
584
long cpu = sysconf (_SC_CPU_VERSION);
588
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
589
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
591
#if defined(_SC_KERNEL_BITS)
594
case 64: puts ("hppa2.0w"); break;
595
case 32: puts ("hppa2.0n"); break;
596
default: puts ("hppa2.0"); break;
598
#else /* !defined(_SC_KERNEL_BITS) */
599
puts ("hppa2.0"); break;
601
default: puts ("hppa1.0"); break;
606
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
607
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
608
rm -f $dummy.c $dummy
611
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
614
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
615
echo ia64-hp-hpux${HPUX_REV}
618
eval $set_cc_for_build
619
sed 's/^ //' << EOF >$dummy.c
624
long cpu = sysconf (_SC_CPU_VERSION);
625
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
626
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
628
if (CPU_IS_PA_RISC (cpu))
632
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
633
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
634
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
635
default: puts ("hppa-hitachi-hiuxwe2"); break;
638
else if (CPU_IS_HP_MC68K (cpu))
639
puts ("m68k-hitachi-hiuxwe2");
640
else puts ("unknown-hitachi-hiuxwe2");
644
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
645
rm -f $dummy.c $dummy
646
echo unknown-hitachi-hiuxwe2
648
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
654
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
655
echo hppa1.0-hp-mpeix
657
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
664
if [ -x /usr/sbin/sysversion ] ; then
665
echo ${UNAME_MACHINE}-unknown-osf1mk
667
echo ${UNAME_MACHINE}-unknown-osf1
671
echo hppa1.1-hp-lites
673
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
676
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
677
if getsysinfo -f scalar_acc
678
then echo c32-convex-bsd
679
else echo c2-convex-bsd
682
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
685
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
688
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
692
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
695
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
696
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
697
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
701
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
704
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
707
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
710
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
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
740
echo i386-pc-interix3
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-gnu
770
echo ${UNAME_MACHINE}-unknown-linux-gnu
773
eval $set_cc_for_build
774
sed 's/^ //' << EOF >$dummy.c
778
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
781
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
788
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
790
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
793
echo powerpc-unknown-linux-gnu
796
echo powerpc64-unknown-linux-gnu
799
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
800
EV5) UNAME_MACHINE=alphaev5 ;;
801
EV56) UNAME_MACHINE=alphaev56 ;;
802
PCA56) UNAME_MACHINE=alphapca56 ;;
803
PCA57) UNAME_MACHINE=alphapca56 ;;
804
EV6) UNAME_MACHINE=alphaev6 ;;
805
EV67) UNAME_MACHINE=alphaev67 ;;
806
EV68*) UNAME_MACHINE=alphaev68 ;;
808
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
809
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
810
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
812
parisc:Linux:*:* | hppa:Linux:*:*)
814
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
815
PA7*) echo hppa1.1-unknown-linux-gnu ;;
816
PA8*) echo hppa2.0-unknown-linux-gnu ;;
817
*) echo hppa-unknown-linux-gnu ;;
820
parisc64:Linux:*:* | hppa64:Linux:*:*)
821
echo hppa64-unknown-linux-gnu
823
s390:Linux:*:* | s390x:Linux:*:*)
824
echo ${UNAME_MACHINE}-ibm-linux
827
echo ${UNAME_MACHINE}-unknown-linux-gnu
829
sparc:Linux:*:* | sparc64:Linux:*:*)
830
echo ${UNAME_MACHINE}-unknown-linux-gnu
833
echo x86_64-unknown-linux-gnu
836
# The BFD linker knows what the default object file format is, so
837
# first see if it will tell us. cd to the root directory to prevent
838
# problems with other programs or directories called `ld' in the path.
839
# Set LC_ALL=C to ensure ld outputs messages in English.
840
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
841
| sed -ne '/supported targets:/!d
843
s/.*supported targets: *//
846
case "$ld_supported_targets" in
848
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
851
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
854
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
857
# Either a pre-BFD a.out linker (linux-gnuoldld) or
858
# one that does not give us useful --help.
859
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
862
# Determine whether the default compiler is a.out or elf
863
eval $set_cc_for_build
864
sed 's/^ //' << EOF >$dummy.c
865
#include <features.h>
877
#ifdef __INTEL_COMPILER
884
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
886
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
887
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
890
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
891
# earlier versions are messed up and put the nodename in both
892
# sysname and nodename.
893
echo i386-sequent-sysv4
895
i*86:UNIX_SV:4.2MP:2.*)
896
# Unixware is an offshoot of SVR4, but it has its own version
897
# number series starting with 2...
898
# I am not positive that other SVR4 systems won't match this,
899
# I just have to hope. -- rms.
900
# Use sysv4.2uw... so that sysv4* matches it.
901
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
903
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
904
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
905
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
906
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
908
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
912
case `/bin/uname -X | grep "^Machine"` in
913
*486*) UNAME_MACHINE=i486 ;;
914
*Pentium) UNAME_MACHINE=i586 ;;
915
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
917
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
920
if test -f /usr/options/cb.name; then
921
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
922
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
923
elif /bin/uname -X 2>/dev/null >/dev/null ; then
924
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
925
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
926
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
927
&& UNAME_MACHINE=i586
928
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
929
&& UNAME_MACHINE=i686
930
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
931
&& UNAME_MACHINE=i686
932
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
934
echo ${UNAME_MACHINE}-pc-sysv32
938
echo ${UNAME_MACHINE}-pc-msdosdjgpp
941
# Left here for compatibility:
942
# uname -m prints for DJGPP always 'pc', but it prints nothing about
943
# the processor, so we play safe by assuming i386.
944
echo i386-pc-msdosdjgpp
952
i860:*:4.*:*) # i860-SVR4
953
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
954
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
955
else # Add other i860-SVR4 vendors below as they are discovered.
956
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
961
echo m68010-convergent-sysv
964
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
965
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
967
test -r /etc/.relid \
968
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
969
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
970
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
971
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
972
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
973
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
974
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
975
&& echo i486-ncr-sysv4 && exit 0 ;;
976
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
977
echo m68k-unknown-lynxos${UNAME_RELEASE}
979
mc68030:UNIX_System_V:4.*:*)
980
echo m68k-atari-sysv4
982
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
983
echo i386-unknown-lynxos${UNAME_RELEASE}
985
TSUNAMI:LynxOS:2.*:*)
986
echo sparc-unknown-lynxos${UNAME_RELEASE}
989
echo rs6000-unknown-lynxos${UNAME_RELEASE}
991
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
992
echo powerpc-unknown-lynxos${UNAME_RELEASE}
995
echo mips-dde-sysv${UNAME_RELEASE}
997
RM*:ReliantUNIX-*:*:*)
1004
if uname -p 2>/dev/null >/dev/null ; then
1005
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1006
echo ${UNAME_MACHINE}-sni-sysv4
1011
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1012
# says <Richard.M.Bartel@ccMail.Census.GOV>
1013
echo i586-unisys-sysv4
1015
*:UNIX_System_V:4*:FTX*)
1016
# From Gerald Hewes <hewes@openmarket.com>.
1017
# How about differentiating between stratus architectures? -djm
1018
echo hppa1.1-stratus-sysv4
1021
# From seanf@swdc.stratus.com.
1022
echo i860-stratus-sysv4
1025
# From Paul.Green@stratus.com.
1026
echo hppa1.1-stratus-vos
1029
echo m68k-apple-aux${UNAME_RELEASE}
1032
echo mips-sony-newsos6
1034
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1035
if [ -d /usr/nec ]; then
1036
echo mips-nec-sysv${UNAME_RELEASE}
1038
echo mips-unknown-sysv${UNAME_RELEASE}
1041
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1042
echo powerpc-be-beos
1044
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1045
echo powerpc-apple-beos
1047
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1051
echo sx4-nec-superux${UNAME_RELEASE}
1054
echo sx5-nec-superux${UNAME_RELEASE}
1056
Power*:Rhapsody:*:*)
1057
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1060
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1063
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1065
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1066
UNAME_PROCESSOR=`uname -p`
1067
if test "$UNAME_PROCESSOR" = "x86"; then
1068
UNAME_PROCESSOR=i386
1071
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1076
NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1077
echo nsr-tandem-nsk${UNAME_RELEASE}
1080
echo mips-compaq-nonstopux
1083
echo bs2000-siemens-sysv
1085
DS/*:UNIX_System_V:*:*)
1086
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1089
# "uname -m" is not consistent, so use $cputype instead. 386
1090
# is converted to i386 for consistency with other x86
1091
# operating systems.
1092
if test "$cputype" = "386"; then
1095
UNAME_MACHINE="$cputype"
1097
echo ${UNAME_MACHINE}-unknown-plan9
1100
# If we were able to find `uname', then EMX Unix compatibility
1101
# is probably installed.
1102
echo ${UNAME_MACHINE}-pc-os2-emx
1105
echo pdp10-unknown-tops10
1108
echo pdp10-unknown-tenex
1110
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1111
echo pdp10-dec-tops20
1113
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1114
echo pdp10-xkl-tops20
1117
echo pdp10-unknown-tops20
1120
echo pdp10-unknown-its
1122
i*86:XTS-300:*:STOP)
1123
echo ${UNAME_MACHINE}-unknown-stop
1126
echo ${UNAME_MACHINE}-unknown-atheos
1130
#echo '(No uname command or uname output not recognized.)' 1>&2
1131
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1133
eval $set_cc_for_build
1136
# include <sys/types.h>
1137
# include <sys/utsname.h>
1142
#if defined (MIPSEB)
1143
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1145
printf ("mips-sony-bsd\n"); exit (0);
1147
#include <sys/param.h>
1148
printf ("m68k-sony-newsos%s\n",
1158
#if defined (__arm) && defined (__acorn) && defined (__unix)
1159
printf ("arm-acorn-riscix"); exit (0);
1162
#if defined (hp300) && !defined (hpux)
1163
printf ("m68k-hp-bsd\n"); exit (0);
1167
#if !defined (__ARCHITECTURE__)
1168
#define __ARCHITECTURE__ "m68k"
1171
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1173
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1175
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1179
#if defined (MULTIMAX) || defined (n16)
1181
printf ("ns32k-encore-sysv\n"); exit (0);
1184
printf ("ns32k-encore-mach\n"); exit (0);
1186
printf ("ns32k-encore-bsd\n"); exit (0);
1191
#if defined (__386BSD__)
1192
printf ("i386-pc-bsd\n"); exit (0);
1195
#if defined (sequent)
1197
printf ("i386-sequent-dynix\n"); exit (0);
1199
#if defined (ns32000)
1200
printf ("ns32k-sequent-dynix\n"); exit (0);
1204
#if defined (_SEQUENT_)
1209
if (strncmp(un.version, "V2", 2) == 0) {
1210
printf ("i386-sequent-ptx2\n"); exit (0);
1212
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1213
printf ("i386-sequent-ptx1\n"); exit (0);
1215
printf ("i386-sequent-ptx\n"); exit (0);
1220
# if !defined (ultrix)
1221
# include <sys/param.h>
1224
printf ("vax-dec-bsd4.3\n"); exit (0);
1227
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1229
printf ("vax-dec-bsd\n"); exit (0);
1233
printf ("vax-dec-bsd\n"); exit (0);
1236
printf ("vax-dec-ultrix\n"); exit (0);
1240
#if defined (alliant) && defined (i860)
1241
printf ("i860-alliant-bsd\n"); exit (0);
1248
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1249
rm -f $dummy.c $dummy
1251
# Apollos put the system type in the environment.
1253
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1255
# Convex versions that predate uname can use getsysinfo(1)
1257
if [ -x /usr/convex/getsysinfo ]
1259
case `getsysinfo -f cpu_type` in
1264
if getsysinfo -f scalar_acc
1265
then echo c32-convex-bsd
1266
else echo c2-convex-bsd
1282
$0: unable to guess system type
1284
This script, last modified $timestamp, has failed to recognize
1285
the operating system you are using. It is advised that you
1286
download the most up to date version of the config scripts from
1288
ftp://ftp.gnu.org/pub/gnu/config/
1290
If the version you run ($0) is already up to date, please
1291
send the following data and any information you think might be
1292
pertinent to <config-patches@gnu.org> in order to provide the needed
1293
information to handle your system.
1295
config.guess timestamp = $timestamp
1297
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1298
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1299
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1300
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1302
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1303
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1305
hostinfo = `(hostinfo) 2>/dev/null`
1306
/bin/universe = `(/bin/universe) 2>/dev/null`
1307
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1308
/bin/arch = `(/bin/arch) 2>/dev/null`
1309
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1310
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1312
UNAME_MACHINE = ${UNAME_MACHINE}
1313
UNAME_RELEASE = ${UNAME_RELEASE}
1314
UNAME_SYSTEM = ${UNAME_SYSTEM}
1315
UNAME_VERSION = ${UNAME_VERSION}
1321
# eval: (add-hook 'write-file-hooks 'time-stamp)
1322
# time-stamp-start: "timestamp='"
1323
# time-stamp-format: "%:y-%02m-%02d"
1324
# time-stamp-end: "'"