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
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
94
# compiler to aid in system detection is discouraged as it requires
95
# temporary files to be created and, as you can see below, it is a
96
# headache to deal with in a portable fashion.
98
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
99
# use `HOST_CC' if defined, but it is deprecated.
101
# This shell variable is my proudest work .. or something. --bje
103
set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
104
(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
105
|| (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
106
dummy=$tmpdir/dummy ;
107
files="$dummy.c $dummy.o $dummy.rel $dummy" ;
108
trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
109
case $CC_FOR_BUILD,$HOST_CC,$CC in
110
,,) echo "int x;" > $dummy.c ;
111
for c in cc gcc c89 c99 ; do
112
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
113
CC_FOR_BUILD="$c"; break ;
117
if test x"$CC_FOR_BUILD" = x ; then
118
CC_FOR_BUILD=no_compiler_found ;
121
,,*) CC_FOR_BUILD=$CC ;;
122
,*,*) CC_FOR_BUILD=$HOST_CC ;;
126
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
127
# (ghazi@noc.rutgers.edu 1994-08-24)
128
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
129
PATH=$PATH:/.attbin ; export PATH
132
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
133
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
134
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
135
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
137
# Note: order is significant - the case branches are not exclusive.
139
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
141
# NetBSD (nbsd) targets should (where applicable) match one or
142
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
143
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
144
# switched to ELF, *-*-netbsd* would select the old
145
# object file format. This provides both forward
146
# compatibility and a consistent mechanism for selecting the
147
# object file format.
149
# Note: NetBSD doesn't particularly care about the vendor
150
# portion of the name. We always set it to "unknown".
151
sysctl="sysctl -n hw.machine_arch"
152
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
153
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
154
case "${UNAME_MACHINE_ARCH}" in
155
armeb) machine=armeb-unknown ;;
156
arm*) machine=arm-unknown ;;
157
sh3el) machine=shl-unknown ;;
158
sh3eb) machine=sh-unknown ;;
159
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
161
# The Operating System including object format, if it has switched
162
# to ELF recently, or will in the future.
163
case "${UNAME_MACHINE_ARCH}" in
164
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
165
eval $set_cc_for_build
166
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
167
| grep __ELF__ >/dev/null
169
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
170
# Return netbsd for either. FIX?
181
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
182
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
183
# contains redundant information, the shorter form:
184
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
185
echo "${machine}-${os}${release}"
188
echo m68k-unknown-openbsd${UNAME_RELEASE}
191
echo mipsel-unknown-openbsd${UNAME_RELEASE}
194
echo m68k-unknown-openbsd${UNAME_RELEASE}
197
echo m68k-unknown-openbsd${UNAME_RELEASE}
200
echo powerpc-unknown-openbsd${UNAME_RELEASE}
203
echo m68k-unknown-openbsd${UNAME_RELEASE}
206
echo m88k-unknown-openbsd${UNAME_RELEASE}
209
echo powerpc-unknown-openbsd${UNAME_RELEASE}
212
echo mipsel-unknown-openbsd${UNAME_RELEASE}
215
echo mipseb-unknown-openbsd${UNAME_RELEASE}
218
echo m68k-unknown-openbsd${UNAME_RELEASE}
221
echo mipsel-unknown-openbsd${UNAME_RELEASE}
224
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
227
if test $UNAME_RELEASE = "V4.0"; then
228
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
230
# A Vn.n version is a released version.
231
# A Tn.n version is a released field test version.
232
# A Xn.n version is an unreleased experimental baselevel.
233
# 1.2 uses "1.2" for uname -r.
234
eval $set_cc_for_build
238
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
245
.frame \$30,16,\$26,0
248
.long 0x47e03d80 # implver \$0
250
.long 0x47e20c21 # amask \$2,\$1
260
$CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
261
if test "$?" = 0 ; then
264
UNAME_MACHINE="alpha"
267
UNAME_MACHINE="alphaev5"
270
UNAME_MACHINE="alphaev56"
273
UNAME_MACHINE="alphapca56"
276
UNAME_MACHINE="alphaev6"
279
UNAME_MACHINE="alphaev67"
282
UNAME_MACHINE="alphaev68"
285
UNAME_MACHINE="alphaev7"
289
rm -f $dummy.s $dummy && rmdir $tmpdir
290
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
292
Alpha\ *:Windows_NT*:*)
293
# How do we know it's Interix rather than the generic POSIX subsystem?
294
# Should we change UNAME_MACHINE based on the output of uname instead
295
# of the specific Alpha model?
296
echo alpha-pc-interix
298
21064:Windows_NT:50:3)
299
echo alpha-dec-winnt3.5
301
Amiga*:UNIX_System_V:4.0:*)
302
echo m68k-unknown-sysv4
304
*:[Aa]miga[Oo][Ss]:*:*)
305
echo ${UNAME_MACHINE}-unknown-amigaos
307
*:[Mm]orph[Oo][Ss]:*:*)
308
echo ${UNAME_MACHINE}-unknown-morphos
311
echo i370-ibm-openedition
313
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
314
echo arm-acorn-riscix${UNAME_RELEASE}
316
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
317
echo hppa1.1-hitachi-hiuxmpp
319
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
320
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
321
if test "`(/bin/universe) 2>/dev/null`" = att ; then
322
echo pyramid-pyramid-sysv3
324
echo pyramid-pyramid-bsd
328
echo pyramid-pyramid-svr4
330
DRS?6000:UNIX_SV:4.2*:7*)
331
case `/usr/bin/uname -p` in
332
sparc) echo sparc-icl-nx7 && exit 0 ;;
335
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
337
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
338
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
341
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
344
# According to config.sub, this is the proper way to canonicalize
345
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
346
# it's likely to be more like Solaris than SunOS4.
347
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
350
case "`/usr/bin/arch -k`" in
352
UNAME_RELEASE=`uname -v`
355
# Japanese Language versions have a version number like `4.1.3-JL'.
356
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
359
echo m68k-sun-sunos${UNAME_RELEASE}
362
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
363
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
364
case "`/bin/arch`" in
366
echo m68k-sun-sunos${UNAME_RELEASE}
369
echo sparc-sun-sunos${UNAME_RELEASE}
374
echo sparc-auspex-sunos${UNAME_RELEASE}
376
# The situation for MiNT is a little confusing. The machine name
377
# can be virtually everything (everything which is not
378
# "atarist" or "atariste" at least should have a processor
379
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
380
# to the lowercase version "mint" (or "freemint"). Finally
381
# the system name "TOS" denotes a system which is actually not
382
# MiNT. But MiNT is downward compatible to TOS, so this should
384
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
385
echo m68k-atari-mint${UNAME_RELEASE}
387
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
388
echo m68k-atari-mint${UNAME_RELEASE}
390
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
391
echo m68k-atari-mint${UNAME_RELEASE}
393
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
394
echo m68k-milan-mint${UNAME_RELEASE}
396
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
397
echo m68k-hades-mint${UNAME_RELEASE}
399
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
400
echo m68k-unknown-mint${UNAME_RELEASE}
403
echo powerpc-apple-machten${UNAME_RELEASE}
406
echo mips-dec-mach_bsd4.3
409
echo mips-dec-ultrix${UNAME_RELEASE}
412
echo vax-dec-ultrix${UNAME_RELEASE}
414
2020:CLIX:*:* | 2430:CLIX:*:*)
415
echo clipper-intergraph-clix${UNAME_RELEASE}
417
mips:*:*:UMIPS | mips:*:*:RISCos)
418
eval $set_cc_for_build
419
sed 's/^ //' << EOF >$dummy.c
421
#include <stdio.h> /* for printf() prototype */
422
int main (int argc, char *argv[]) {
424
int main (argc, argv) int argc; char *argv[]; {
426
#if defined (host_mips) && defined (MIPSEB)
427
#if defined (SYSTYPE_SYSV)
428
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
430
#if defined (SYSTYPE_SVR4)
431
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
433
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
434
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
440
$CC_FOR_BUILD -o $dummy $dummy.c \
441
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
442
&& rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
443
rm -f $dummy.c $dummy && rmdir $tmpdir
444
echo mips-mips-riscos${UNAME_RELEASE}
446
Motorola:PowerMAX_OS:*:*)
447
echo powerpc-motorola-powermax
449
Motorola:*:4.3:PL8-*)
450
echo powerpc-harris-powermax
452
Night_Hawk:*:*:PowerMAX_OS)
453
echo powerpc-harris-powermax
455
Night_Hawk:Power_UNIX:*:*)
456
echo powerpc-harris-powerunix
459
echo m88k-harris-cxux7
462
echo m88k-motorola-sysv4
465
echo m88k-motorola-sysv3
468
# DG/UX returns AViiON for all architectures
469
UNAME_PROCESSOR=`/usr/bin/uname -p`
470
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
472
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
473
[ ${TARGET_BINARY_INTERFACE}x = x ]
475
echo m88k-dg-dgux${UNAME_RELEASE}
477
echo m88k-dg-dguxbcs${UNAME_RELEASE}
480
echo i586-dg-dgux${UNAME_RELEASE}
483
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
484
echo m88k-dolphin-sysv3
487
# Delta 88k system running SVR3
488
echo m88k-motorola-sysv3
490
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
491
echo m88k-tektronix-sysv3
493
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
494
echo m68k-tektronix-bsd
497
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
499
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
500
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
501
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
506
if [ -x /usr/bin/oslevel ] ; then
507
IBM_REV=`/usr/bin/oslevel`
509
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
511
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
514
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
515
eval $set_cc_for_build
516
sed 's/^ //' << EOF >$dummy.c
517
#include <sys/systemcfg.h>
523
puts("powerpc-ibm-aix3.2.5");
527
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
528
rm -f $dummy.c $dummy && rmdir $tmpdir
529
echo rs6000-ibm-aix3.2.5
530
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
531
echo rs6000-ibm-aix3.2.4
533
echo rs6000-ibm-aix3.2
537
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
538
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
543
if [ -x /usr/bin/oslevel ] ; then
544
IBM_REV=`/usr/bin/oslevel`
546
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
548
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
553
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
556
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
557
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
558
exit 0 ;; # report: romp-ibm BSD 4.3
560
echo rs6000-bull-bosx
565
9000/[34]??:4.3bsd:1.*:*)
568
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
571
9000/[34678]??:HP-UX:*:*)
572
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
573
case "${UNAME_MACHINE}" in
574
9000/31? ) HP_ARCH=m68000 ;;
575
9000/[34]?? ) HP_ARCH=m68k ;;
576
9000/[678][0-9][0-9])
577
if [ -x /usr/bin/getconf ]; then
578
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
579
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
580
case "${sc_cpu_version}" in
581
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
582
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
583
532) # CPU_PA_RISC2_0
584
case "${sc_kernel_bits}" in
585
32) HP_ARCH="hppa2.0n" ;;
586
64) HP_ARCH="hppa2.0w" ;;
587
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
591
if [ "${HP_ARCH}" = "" ]; then
592
eval $set_cc_for_build
593
sed 's/^ //' << EOF >$dummy.c
601
#if defined(_SC_KERNEL_BITS)
602
long bits = sysconf(_SC_KERNEL_BITS);
604
long cpu = sysconf (_SC_CPU_VERSION);
608
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
609
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
611
#if defined(_SC_KERNEL_BITS)
614
case 64: puts ("hppa2.0w"); break;
615
case 32: puts ("hppa2.0n"); break;
616
default: puts ("hppa2.0"); break;
618
#else /* !defined(_SC_KERNEL_BITS) */
619
puts ("hppa2.0"); break;
621
default: puts ("hppa1.0"); break;
626
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
627
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
628
rm -f $dummy.c $dummy && rmdir $tmpdir
631
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
634
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
635
echo ia64-hp-hpux${HPUX_REV}
638
eval $set_cc_for_build
639
sed 's/^ //' << EOF >$dummy.c
644
long cpu = sysconf (_SC_CPU_VERSION);
645
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
646
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
648
if (CPU_IS_PA_RISC (cpu))
652
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
653
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
654
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
655
default: puts ("hppa-hitachi-hiuxwe2"); break;
658
else if (CPU_IS_HP_MC68K (cpu))
659
puts ("m68k-hitachi-hiuxwe2");
660
else puts ("unknown-hitachi-hiuxwe2");
664
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
665
rm -f $dummy.c $dummy && rmdir $tmpdir
666
echo unknown-hitachi-hiuxwe2
668
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
674
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
675
echo hppa1.0-hp-mpeix
677
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
684
if [ -x /usr/sbin/sysversion ] ; then
685
echo ${UNAME_MACHINE}-unknown-osf1mk
687
echo ${UNAME_MACHINE}-unknown-osf1
691
echo hppa1.1-hp-lites
693
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
696
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
697
if getsysinfo -f scalar_acc
698
then echo c32-convex-bsd
699
else echo c2-convex-bsd
702
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
705
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
708
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
712
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
715
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
716
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
717
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
721
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
724
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
727
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
730
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
732
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
733
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
734
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
735
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
736
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
738
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
739
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
742
echo sparc-unknown-bsdi${UNAME_RELEASE}
745
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
748
# Determine whether the default compiler uses glibc.
749
eval $set_cc_for_build
750
sed 's/^ //' << EOF >$dummy.c
751
#include <features.h>
758
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
759
rm -f $dummy.c && rmdir $tmpdir
760
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
763
echo ${UNAME_MACHINE}-pc-cygwin
766
echo ${UNAME_MACHINE}-pc-mingw32
769
echo ${UNAME_MACHINE}-pc-pw32
772
echo i386-pc-interix3
774
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
775
# How do we know it's Interix rather than the generic POSIX subsystem?
776
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
777
# UNAME_MACHINE based on the output of uname instead of i386?
781
echo ${UNAME_MACHINE}-pc-uwin
784
echo powerpcle-unknown-cygwin
787
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
790
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
793
echo ${UNAME_MACHINE}-pc-minix
796
echo ${UNAME_MACHINE}-unknown-linux-gnu
799
echo ${UNAME_MACHINE}-unknown-linux-gnu
802
echo ${UNAME_MACHINE}-unknown-linux-gnu
805
eval $set_cc_for_build
806
sed 's/^ //' << EOF >$dummy.c
810
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
813
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
820
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
821
rm -f $dummy.c && rmdir $tmpdir
822
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
825
echo powerpc-unknown-linux-gnu
828
echo powerpc64-unknown-linux-gnu
831
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
832
EV5) UNAME_MACHINE=alphaev5 ;;
833
EV56) UNAME_MACHINE=alphaev56 ;;
834
PCA56) UNAME_MACHINE=alphapca56 ;;
835
PCA57) UNAME_MACHINE=alphapca56 ;;
836
EV6) UNAME_MACHINE=alphaev6 ;;
837
EV67) UNAME_MACHINE=alphaev67 ;;
838
EV68*) UNAME_MACHINE=alphaev68 ;;
840
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
841
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
842
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
844
parisc:Linux:*:* | hppa:Linux:*:*)
846
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
847
PA7*) echo hppa1.1-unknown-linux-gnu ;;
848
PA8*) echo hppa2.0-unknown-linux-gnu ;;
849
*) echo hppa-unknown-linux-gnu ;;
852
parisc64:Linux:*:* | hppa64:Linux:*:*)
853
echo hppa64-unknown-linux-gnu
855
s390:Linux:*:* | s390x:Linux:*:*)
856
echo ${UNAME_MACHINE}-ibm-linux
859
echo ${UNAME_MACHINE}-unknown-linux-gnu
861
sparc:Linux:*:* | sparc64:Linux:*:*)
862
echo ${UNAME_MACHINE}-unknown-linux-gnu
865
echo x86_64-unknown-linux-gnu
868
# The BFD linker knows what the default object file format is, so
869
# first see if it will tell us. cd to the root directory to prevent
870
# problems with other programs or directories called `ld' in the path.
871
# Set LC_ALL=C to ensure ld outputs messages in English.
872
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
873
| sed -ne '/supported targets:/!d
875
s/.*supported targets: *//
878
case "$ld_supported_targets" in
880
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
883
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
886
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
889
# Either a pre-BFD a.out linker (linux-gnuoldld) or
890
# one that does not give us useful --help.
891
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
894
# Determine whether the default compiler is a.out or elf
895
eval $set_cc_for_build
896
sed 's/^ //' << EOF >$dummy.c
897
#include <features.h>
909
#ifdef __INTEL_COMPILER
916
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
917
rm -f $dummy.c && rmdir $tmpdir
918
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
919
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
922
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
923
# earlier versions are messed up and put the nodename in both
924
# sysname and nodename.
925
echo i386-sequent-sysv4
927
i*86:UNIX_SV:4.2MP:2.*)
928
# Unixware is an offshoot of SVR4, but it has its own version
929
# number series starting with 2...
930
# I am not positive that other SVR4 systems won't match this,
931
# I just have to hope. -- rms.
932
# Use sysv4.2uw... so that sysv4* matches it.
933
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
935
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
936
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
937
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
938
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
940
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
944
case `/bin/uname -X | grep "^Machine"` in
945
*486*) UNAME_MACHINE=i486 ;;
946
*Pentium) UNAME_MACHINE=i586 ;;
947
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
949
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
952
if test -f /usr/options/cb.name; then
953
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
954
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
955
elif /bin/uname -X 2>/dev/null >/dev/null ; then
956
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
957
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
958
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
959
&& UNAME_MACHINE=i586
960
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
961
&& UNAME_MACHINE=i686
962
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
963
&& UNAME_MACHINE=i686
964
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
966
echo ${UNAME_MACHINE}-pc-sysv32
970
echo ${UNAME_MACHINE}-pc-msdosdjgpp
973
# Left here for compatibility:
974
# uname -m prints for DJGPP always 'pc', but it prints nothing about
975
# the processor, so we play safe by assuming i386.
976
echo i386-pc-msdosdjgpp
984
i860:*:4.*:*) # i860-SVR4
985
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
986
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
987
else # Add other i860-SVR4 vendors below as they are discovered.
988
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
993
echo m68010-convergent-sysv
995
mc68k:UNIX:SYSTEM5:3.51m)
996
echo m68k-convergent-sysv
999
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1000
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)
1002
test -r /etc/.relid \
1003
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1004
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1005
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1006
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1007
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1008
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1009
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1010
&& echo i486-ncr-sysv4 && exit 0 ;;
1011
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1012
echo m68k-unknown-lynxos${UNAME_RELEASE}
1014
mc68030:UNIX_System_V:4.*:*)
1015
echo m68k-atari-sysv4
1017
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1018
echo i386-unknown-lynxos${UNAME_RELEASE}
1020
TSUNAMI:LynxOS:2.*:*)
1021
echo sparc-unknown-lynxos${UNAME_RELEASE}
1023
rs6000:LynxOS:2.*:*)
1024
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1026
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1027
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1029
SM[BE]S:UNIX_SV:*:*)
1030
echo mips-dde-sysv${UNAME_RELEASE}
1032
RM*:ReliantUNIX-*:*:*)
1039
if uname -p 2>/dev/null >/dev/null ; then
1040
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1041
echo ${UNAME_MACHINE}-sni-sysv4
1046
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1047
# says <Richard.M.Bartel@ccMail.Census.GOV>
1048
echo i586-unisys-sysv4
1050
*:UNIX_System_V:4*:FTX*)
1051
# From Gerald Hewes <hewes@openmarket.com>.
1052
# How about differentiating between stratus architectures? -djm
1053
echo hppa1.1-stratus-sysv4
1056
# From seanf@swdc.stratus.com.
1057
echo i860-stratus-sysv4
1060
# From Paul.Green@stratus.com.
1061
echo hppa1.1-stratus-vos
1064
echo m68k-apple-aux${UNAME_RELEASE}
1067
echo mips-sony-newsos6
1069
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1070
if [ -d /usr/nec ]; then
1071
echo mips-nec-sysv${UNAME_RELEASE}
1073
echo mips-unknown-sysv${UNAME_RELEASE}
1076
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1077
echo powerpc-be-beos
1079
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1080
echo powerpc-apple-beos
1082
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1086
echo sx4-nec-superux${UNAME_RELEASE}
1089
echo sx5-nec-superux${UNAME_RELEASE}
1092
echo sx6-nec-superux${UNAME_RELEASE}
1094
Power*:Rhapsody:*:*)
1095
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1098
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1101
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1103
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1104
UNAME_PROCESSOR=`uname -p`
1105
if test "$UNAME_PROCESSOR" = "x86"; then
1106
UNAME_PROCESSOR=i386
1109
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1114
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1115
echo nsr-tandem-nsk${UNAME_RELEASE}
1118
echo mips-compaq-nonstopux
1121
echo bs2000-siemens-sysv
1123
DS/*:UNIX_System_V:*:*)
1124
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1127
# "uname -m" is not consistent, so use $cputype instead. 386
1128
# is converted to i386 for consistency with other x86
1129
# operating systems.
1130
if test "$cputype" = "386"; then
1133
UNAME_MACHINE="$cputype"
1135
echo ${UNAME_MACHINE}-unknown-plan9
1138
# If we were able to find `uname', then EMX Unix compatibility
1139
# is probably installed.
1140
echo ${UNAME_MACHINE}-pc-os2-emx
1143
echo pdp10-unknown-tops10
1146
echo pdp10-unknown-tenex
1148
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1149
echo pdp10-dec-tops20
1151
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1152
echo pdp10-xkl-tops20
1155
echo pdp10-unknown-tops20
1158
echo pdp10-unknown-its
1160
i*86:XTS-300:*:STOP)
1161
echo ${UNAME_MACHINE}-unknown-stop
1164
echo ${UNAME_MACHINE}-unknown-atheos
1168
#echo '(No uname command or uname output not recognized.)' 1>&2
1169
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1171
eval $set_cc_for_build
1174
# include <sys/types.h>
1175
# include <sys/utsname.h>
1180
#if defined (MIPSEB)
1181
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1183
printf ("mips-sony-bsd\n"); exit (0);
1185
#include <sys/param.h>
1186
printf ("m68k-sony-newsos%s\n",
1196
#if defined (__arm) && defined (__acorn) && defined (__unix)
1197
printf ("arm-acorn-riscix"); exit (0);
1200
#if defined (hp300) && !defined (hpux)
1201
printf ("m68k-hp-bsd\n"); exit (0);
1205
#if !defined (__ARCHITECTURE__)
1206
#define __ARCHITECTURE__ "m68k"
1209
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1211
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1213
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1217
#if defined (MULTIMAX) || defined (n16)
1219
printf ("ns32k-encore-sysv\n"); exit (0);
1222
printf ("ns32k-encore-mach\n"); exit (0);
1224
printf ("ns32k-encore-bsd\n"); exit (0);
1229
#if defined (__386BSD__)
1230
printf ("i386-pc-bsd\n"); exit (0);
1233
#if defined (sequent)
1235
printf ("i386-sequent-dynix\n"); exit (0);
1237
#if defined (ns32000)
1238
printf ("ns32k-sequent-dynix\n"); exit (0);
1242
#if defined (_SEQUENT_)
1247
if (strncmp(un.version, "V2", 2) == 0) {
1248
printf ("i386-sequent-ptx2\n"); exit (0);
1250
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1251
printf ("i386-sequent-ptx1\n"); exit (0);
1253
printf ("i386-sequent-ptx\n"); exit (0);
1258
# if !defined (ultrix)
1259
# include <sys/param.h>
1262
printf ("vax-dec-bsd4.3\n"); exit (0);
1265
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1267
printf ("vax-dec-bsd\n"); exit (0);
1271
printf ("vax-dec-bsd\n"); exit (0);
1274
printf ("vax-dec-ultrix\n"); exit (0);
1278
#if defined (alliant) && defined (i860)
1279
printf ("i860-alliant-bsd\n"); exit (0);
1286
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
1287
rm -f $dummy.c $dummy && rmdir $tmpdir
1289
# Apollos put the system type in the environment.
1291
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1293
# Convex versions that predate uname can use getsysinfo(1)
1295
if [ -x /usr/convex/getsysinfo ]
1297
case `getsysinfo -f cpu_type` in
1302
if getsysinfo -f scalar_acc
1303
then echo c32-convex-bsd
1304
else echo c2-convex-bsd
1320
$0: unable to guess system type
1322
This script, last modified $timestamp, has failed to recognize
1323
the operating system you are using. It is advised that you
1324
download the most up to date version of the config scripts from
1326
ftp://ftp.gnu.org/pub/gnu/config/
1328
If the version you run ($0) is already up to date, please
1329
send the following data and any information you think might be
1330
pertinent to <config-patches@gnu.org> in order to provide the needed
1331
information to handle your system.
1333
config.guess timestamp = $timestamp
1335
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1336
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1337
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1338
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1340
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1341
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1343
hostinfo = `(hostinfo) 2>/dev/null`
1344
/bin/universe = `(/bin/universe) 2>/dev/null`
1345
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1346
/bin/arch = `(/bin/arch) 2>/dev/null`
1347
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1348
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1350
UNAME_MACHINE = ${UNAME_MACHINE}
1351
UNAME_RELEASE = ${UNAME_RELEASE}
1352
UNAME_SYSTEM = ${UNAME_SYSTEM}
1353
UNAME_VERSION = ${UNAME_VERSION}
1359
# eval: (add-hook 'write-file-hooks 'time-stamp)
1360
# time-stamp-start: "timestamp='"
1361
# time-stamp-format: "%:y-%02m-%02d"
1362
# time-stamp-end: "'"