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 <bothner@cygnus.com>.
28
# Please send patches to <config-patches@gnu.org>. Submit a context
29
# diff and a properly formatted ChangeLog entry.
31
# This script attempts to guess a canonical system name similar to
32
# config.sub. If it succeeds, it prints the system name on stdout, and
33
# exits with 0. Otherwise, it exits with 1.
35
# The plan is that this can be called by configure scripts if you
36
# don't specify an explicit build system type.
38
me=`echo "$0" | sed -e 's,.*/,,'`
43
Output the configuration name of the system \`$me' is run on.
46
-h, --help print this help, then exit
47
-t, --time-stamp print date of last modification, then exit
48
-v, --version print version number, then exit
50
Report bugs and patches to <config-patches@gnu.org>."
53
GNU config.guess ($timestamp)
55
Originally written by Per Bothner.
56
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57
Free Software Foundation, Inc.
59
This is free software; see the source for copying conditions. There is NO
60
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63
Try \`$me --help' for more information."
66
while test $# -gt 0 ; do
68
--time-stamp | --time* | -t )
69
echo "$timestamp" ; exit 0 ;;
71
echo "$version" ; exit 0 ;;
73
echo "$usage"; exit 0 ;;
74
-- ) # Stop option processing
76
- ) # Use stdin as input.
79
echo "$me: invalid option $1$help" >&2
87
echo "$me: too many arguments$help" >&2
93
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
95
# CC_FOR_BUILD -- compiler used by this script.
96
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
97
# use `HOST_CC' if defined, but it is deprecated.
99
set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
100
,,) echo "int dummy(){}" > $dummy.c ;
101
for c in cc gcc c89 ; do
102
($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103
if test $? = 0 ; then
104
CC_FOR_BUILD="$c"; break ;
107
rm -f $dummy.c $dummy.o $dummy.rel ;
108
if test x"$CC_FOR_BUILD" = x ; then
109
CC_FOR_BUILD=no_compiler_found ;
112
,,*) CC_FOR_BUILD=$CC ;;
113
,*,*) CC_FOR_BUILD=$HOST_CC ;;
116
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
117
# (ghazi@noc.rutgers.edu 1994-08-24)
118
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
119
PATH=$PATH:/.attbin ; export PATH
122
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
123
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
124
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
125
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
127
# Note: order is significant - the case branches are not exclusive.
129
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
131
# NetBSD (nbsd) targets should (where applicable) match one or
132
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
133
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
134
# switched to ELF, *-*-netbsd* would select the old
135
# object file format. This provides both forward
136
# compatibility and a consistent mechanism for selecting the
137
# object file format.
139
# Note: NetBSD doesn't particularly care about the vendor
140
# portion of the name. We always set it to "unknown".
141
UNAME_MACHINE_ARCH=`(uname -p) 2>/dev/null` || \
142
UNAME_MACHINE_ARCH=unknown
143
case "${UNAME_MACHINE_ARCH}" in
144
arm*) machine=arm-unknown ;;
145
sh3el) machine=shl-unknown ;;
146
sh3eb) machine=sh-unknown ;;
147
*) machine=${UNAME_MACHINE_ARCH}-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_ARCH}" in
152
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
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
echo m68k-unknown-openbsd${UNAME_RELEASE}
179
echo mipsel-unknown-openbsd${UNAME_RELEASE}
182
echo m68k-unknown-openbsd${UNAME_RELEASE}
185
echo m68k-unknown-openbsd${UNAME_RELEASE}
188
echo powerpc-unknown-openbsd${UNAME_RELEASE}
191
echo m68k-unknown-openbsd${UNAME_RELEASE}
194
echo m88k-unknown-openbsd${UNAME_RELEASE}
197
echo powerpc-unknown-openbsd${UNAME_RELEASE}
200
echo mipsel-unknown-openbsd${UNAME_RELEASE}
203
echo mipseb-unknown-openbsd${UNAME_RELEASE}
206
echo m68k-unknown-openbsd${UNAME_RELEASE}
209
echo mipsel-unknown-openbsd${UNAME_RELEASE}
212
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
215
if test $UNAME_RELEASE = "V4.0"; then
216
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
218
# A Vn.n version is a released version.
219
# A Tn.n version is a released field test version.
220
# A Xn.n version is an unreleased experimental baselevel.
221
# 1.2 uses "1.2" for uname -r.
225
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
232
.frame \$30,16,\$26,0
235
.long 0x47e03d80 # implver \$0
237
.long 0x47e20c21 # amask \$2,\$1
247
eval $set_cc_for_build
248
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
249
if test "$?" = 0 ; then
252
UNAME_MACHINE="alpha"
255
UNAME_MACHINE="alphaev5"
258
UNAME_MACHINE="alphaev56"
261
UNAME_MACHINE="alphapca56"
264
UNAME_MACHINE="alphaev6"
267
UNAME_MACHINE="alphaev67"
270
UNAME_MACHINE="alphaev68"
274
rm -f $dummy.s $dummy
275
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
277
Alpha\ *:Windows_NT*:*)
278
# How do we know it's Interix rather than the generic POSIX subsystem?
279
# Should we change UNAME_MACHINE based on the output of uname instead
280
# of the specific Alpha model?
281
echo alpha-pc-interix
283
21064:Windows_NT:50:3)
284
echo alpha-dec-winnt3.5
286
Amiga*:UNIX_System_V:4.0:*)
287
echo m68k-unknown-sysv4
289
*:[Aa]miga[Oo][Ss]:*:*)
290
echo ${UNAME_MACHINE}-unknown-amigaos
292
*:[Mm]orph[Oo][Ss]:*:*)
293
echo ${UNAME_MACHINE}-unknown-morphos
296
echo i370-ibm-openedition
298
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
299
echo arm-acorn-riscix${UNAME_RELEASE}
301
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
302
echo hppa1.1-hitachi-hiuxmpp
304
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
305
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
306
if test "`(/bin/universe) 2>/dev/null`" = att ; then
307
echo pyramid-pyramid-sysv3
309
echo pyramid-pyramid-bsd
313
echo pyramid-pyramid-svr4
316
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
318
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
319
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
322
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
325
# According to config.sub, this is the proper way to canonicalize
326
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
327
# it's likely to be more like Solaris than SunOS4.
328
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331
case "`/usr/bin/arch -k`" in
333
UNAME_RELEASE=`uname -v`
336
# Japanese Language versions have a version number like `4.1.3-JL'.
337
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
340
echo m68k-sun-sunos${UNAME_RELEASE}
343
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
344
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
345
case "`/bin/arch`" in
347
echo m68k-sun-sunos${UNAME_RELEASE}
350
echo sparc-sun-sunos${UNAME_RELEASE}
355
echo sparc-auspex-sunos${UNAME_RELEASE}
357
# The situation for MiNT is a little confusing. The machine name
358
# can be virtually everything (everything which is not
359
# "atarist" or "atariste" at least should have a processor
360
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
361
# to the lowercase version "mint" (or "freemint"). Finally
362
# the system name "TOS" denotes a system which is actually not
363
# MiNT. But MiNT is downward compatible to TOS, so this should
365
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
366
echo m68k-atari-mint${UNAME_RELEASE}
368
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
369
echo m68k-atari-mint${UNAME_RELEASE}
371
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
372
echo m68k-atari-mint${UNAME_RELEASE}
374
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
375
echo m68k-milan-mint${UNAME_RELEASE}
377
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
378
echo m68k-hades-mint${UNAME_RELEASE}
380
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
381
echo m68k-unknown-mint${UNAME_RELEASE}
384
echo powerpc-apple-machten${UNAME_RELEASE}
387
echo mips-dec-mach_bsd4.3
390
echo mips-dec-ultrix${UNAME_RELEASE}
393
echo vax-dec-ultrix${UNAME_RELEASE}
395
2020:CLIX:*:* | 2430:CLIX:*:*)
396
echo clipper-intergraph-clix${UNAME_RELEASE}
398
mips:*:*:UMIPS | mips:*:*:RISCos)
399
eval $set_cc_for_build
400
sed 's/^ //' << EOF >$dummy.c
402
#include <stdio.h> /* for printf() prototype */
403
int main (int argc, char *argv[]) {
405
int main (argc, argv) int argc; char *argv[]; {
407
#if defined (host_mips) && defined (MIPSEB)
408
#if defined (SYSTYPE_SYSV)
409
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
411
#if defined (SYSTYPE_SVR4)
412
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
414
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
415
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
421
$CC_FOR_BUILD $dummy.c -o $dummy \
422
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
423
&& rm -f $dummy.c $dummy && exit 0
424
rm -f $dummy.c $dummy
425
echo mips-mips-riscos${UNAME_RELEASE}
427
Motorola:PowerMAX_OS:*:*)
428
echo powerpc-motorola-powermax
430
Night_Hawk:Power_UNIX:*:*)
431
echo powerpc-harris-powerunix
434
echo m88k-harris-cxux7
437
echo m88k-motorola-sysv4
440
echo m88k-motorola-sysv3
443
# DG/UX returns AViiON for all architectures
444
UNAME_PROCESSOR=`/usr/bin/uname -p`
445
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
447
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
448
[ ${TARGET_BINARY_INTERFACE}x = x ]
450
echo m88k-dg-dgux${UNAME_RELEASE}
452
echo m88k-dg-dguxbcs${UNAME_RELEASE}
455
echo i586-dg-dgux${UNAME_RELEASE}
458
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
459
echo m88k-dolphin-sysv3
462
# Delta 88k system running SVR3
463
echo m88k-motorola-sysv3
465
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
466
echo m88k-tektronix-sysv3
468
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
469
echo m68k-tektronix-bsd
472
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
474
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
475
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
476
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
481
if [ -x /usr/bin/oslevel ] ; then
482
IBM_REV=`/usr/bin/oslevel`
484
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
486
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
489
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
490
eval $set_cc_for_build
491
sed 's/^ //' << EOF >$dummy.c
492
#include <sys/systemcfg.h>
498
puts("powerpc-ibm-aix3.2.5");
502
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
503
rm -f $dummy.c $dummy
504
echo rs6000-ibm-aix3.2.5
505
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
506
echo rs6000-ibm-aix3.2.4
508
echo rs6000-ibm-aix3.2
512
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
513
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
518
if [ -x /usr/bin/oslevel ] ; then
519
IBM_REV=`/usr/bin/oslevel`
521
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
523
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
528
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
531
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
532
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
533
exit 0 ;; # report: romp-ibm BSD 4.3
535
echo rs6000-bull-bosx
540
9000/[34]??:4.3bsd:1.*:*)
543
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
546
9000/[34678]??:HP-UX:*:*)
547
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
548
case "${UNAME_MACHINE}" in
549
9000/31? ) HP_ARCH=m68000 ;;
550
9000/[34]?? ) HP_ARCH=m68k ;;
551
9000/[678][0-9][0-9])
552
if [ -x /usr/bin/getconf ]; then
553
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
554
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
555
case "${sc_cpu_version}" in
556
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
557
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
558
532) # CPU_PA_RISC2_0
559
case "${sc_kernel_bits}" in
560
32) HP_ARCH="hppa2.0n" ;;
561
64) HP_ARCH="hppa2.0w" ;;
562
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
566
if [ "${HP_ARCH}" = "" ]; then
567
eval $set_cc_for_build
568
sed 's/^ //' << EOF >$dummy.c
576
#if defined(_SC_KERNEL_BITS)
577
long bits = sysconf(_SC_KERNEL_BITS);
579
long cpu = sysconf (_SC_CPU_VERSION);
583
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
584
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
586
#if defined(_SC_KERNEL_BITS)
589
case 64: puts ("hppa2.0w"); break;
590
case 32: puts ("hppa2.0n"); break;
591
default: puts ("hppa2.0"); break;
593
#else /* !defined(_SC_KERNEL_BITS) */
594
puts ("hppa2.0"); break;
596
default: puts ("hppa1.0"); break;
601
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
602
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
603
rm -f $dummy.c $dummy
606
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
609
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
610
echo ia64-hp-hpux${HPUX_REV}
613
eval $set_cc_for_build
614
sed 's/^ //' << EOF >$dummy.c
619
long cpu = sysconf (_SC_CPU_VERSION);
620
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
621
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
623
if (CPU_IS_PA_RISC (cpu))
627
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
628
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
629
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
630
default: puts ("hppa-hitachi-hiuxwe2"); break;
633
else if (CPU_IS_HP_MC68K (cpu))
634
puts ("m68k-hitachi-hiuxwe2");
635
else puts ("unknown-hitachi-hiuxwe2");
639
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
640
rm -f $dummy.c $dummy
641
echo unknown-hitachi-hiuxwe2
643
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
649
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
650
echo hppa1.0-hp-mpeix
652
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
659
if [ -x /usr/sbin/sysversion ] ; then
660
echo ${UNAME_MACHINE}-unknown-osf1mk
662
echo ${UNAME_MACHINE}-unknown-osf1
666
echo hppa1.1-hp-lites
668
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
671
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
672
if getsysinfo -f scalar_acc
673
then echo c32-convex-bsd
674
else echo c2-convex-bsd
677
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
680
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
683
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
690
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
693
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
694
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
695
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
699
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
702
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
705
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
708
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
711
echo cray2-cray-unicos
713
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
714
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
715
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
716
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
717
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
719
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
720
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
723
echo sparc-unknown-bsdi${UNAME_RELEASE}
726
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
729
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
732
echo ${UNAME_MACHINE}-pc-cygwin
735
echo ${UNAME_MACHINE}-pc-mingw32
738
echo ${UNAME_MACHINE}-pc-pw32
741
echo i386-pc-interix3
743
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
744
# How do we know it's Interix rather than the generic POSIX subsystem?
745
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
746
# UNAME_MACHINE based on the output of uname instead of i386?
750
echo ${UNAME_MACHINE}-pc-uwin
753
echo powerpcle-unknown-cygwin
756
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
759
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
762
echo ${UNAME_MACHINE}-pc-minix
765
echo ${UNAME_MACHINE}-unknown-linux-gnu
768
echo ${UNAME_MACHINE}-unknown-linux
771
echo ${UNAME_MACHINE}-unknown-linux-gnu
774
eval $set_cc_for_build
775
sed 's/^ //' << EOF >$dummy.c
779
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
782
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
789
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
791
test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
794
echo powerpc-unknown-linux-gnu
797
echo powerpc64-unknown-linux-gnu
800
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
801
EV5) UNAME_MACHINE=alphaev5 ;;
802
EV56) UNAME_MACHINE=alphaev56 ;;
803
PCA56) UNAME_MACHINE=alphapca56 ;;
804
PCA57) UNAME_MACHINE=alphapca56 ;;
805
EV6) UNAME_MACHINE=alphaev6 ;;
806
EV67) UNAME_MACHINE=alphaev67 ;;
807
EV68*) UNAME_MACHINE=alphaev68 ;;
809
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
810
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
811
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
813
parisc:Linux:*:* | hppa:Linux:*:*)
815
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
816
PA7*) echo hppa1.1-unknown-linux-gnu ;;
817
PA8*) echo hppa2.0-unknown-linux-gnu ;;
818
*) echo hppa-unknown-linux-gnu ;;
821
parisc64:Linux:*:* | hppa64:Linux:*:*)
822
echo hppa64-unknown-linux-gnu
824
s390:Linux:*:* | s390x:Linux:*:*)
825
echo ${UNAME_MACHINE}-ibm-linux
828
echo ${UNAME_MACHINE}-unknown-linux-gnu
830
sparc:Linux:*:* | sparc64:Linux:*:*)
831
echo ${UNAME_MACHINE}-unknown-linux-gnu
834
echo x86_64-unknown-linux-gnu
837
# The BFD linker knows what the default object file format is, so
838
# first see if it will tell us. cd to the root directory to prevent
839
# problems with other programs or directories called `ld' in the path.
840
ld_supported_targets=`cd /; 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>
880
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
882
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
883
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
886
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
887
# earlier versions are messed up and put the nodename in both
888
# sysname and nodename.
889
echo i386-sequent-sysv4
891
i*86:UNIX_SV:4.2MP:2.*)
892
# Unixware is an offshoot of SVR4, but it has its own version
893
# number series starting with 2...
894
# I am not positive that other SVR4 systems won't match this,
895
# I just have to hope. -- rms.
896
# Use sysv4.2uw... so that sysv4* matches it.
897
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
899
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
900
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
901
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
902
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
904
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
908
case `/bin/uname -X | grep "^Machine"` in
909
*486*) UNAME_MACHINE=i486 ;;
910
*Pentium) UNAME_MACHINE=i586 ;;
911
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
913
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
916
if test -f /usr/options/cb.name; then
917
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
918
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
919
elif /bin/uname -X 2>/dev/null >/dev/null ; then
920
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
921
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
922
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
923
&& UNAME_MACHINE=i586
924
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
925
&& UNAME_MACHINE=i686
926
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
927
&& UNAME_MACHINE=i686
928
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
930
echo ${UNAME_MACHINE}-pc-sysv32
934
echo ${UNAME_MACHINE}-pc-msdosdjgpp
937
# Left here for compatibility:
938
# uname -m prints for DJGPP always 'pc', but it prints nothing about
939
# the processor, so we play safe by assuming i386.
940
echo i386-pc-msdosdjgpp
948
i860:*:4.*:*) # i860-SVR4
949
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
950
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
951
else # Add other i860-SVR4 vendors below as they are discovered.
952
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
957
echo m68010-convergent-sysv
960
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
961
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 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
963
test -r /etc/.relid \
964
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
965
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
966
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
967
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
968
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
969
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
970
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
971
&& echo i486-ncr-sysv4 && exit 0 ;;
972
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
973
echo m68k-unknown-lynxos${UNAME_RELEASE}
975
mc68030:UNIX_System_V:4.*:*)
976
echo m68k-atari-sysv4
978
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
979
echo i386-unknown-lynxos${UNAME_RELEASE}
981
TSUNAMI:LynxOS:2.*:*)
982
echo sparc-unknown-lynxos${UNAME_RELEASE}
985
echo rs6000-unknown-lynxos${UNAME_RELEASE}
987
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
988
echo powerpc-unknown-lynxos${UNAME_RELEASE}
991
echo mips-dde-sysv${UNAME_RELEASE}
993
RM*:ReliantUNIX-*:*:*)
1000
if uname -p 2>/dev/null >/dev/null ; then
1001
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1002
echo ${UNAME_MACHINE}-sni-sysv4
1007
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1008
# says <Richard.M.Bartel@ccMail.Census.GOV>
1009
echo i586-unisys-sysv4
1011
*:UNIX_System_V:4*:FTX*)
1012
# From Gerald Hewes <hewes@openmarket.com>.
1013
# How about differentiating between stratus architectures? -djm
1014
echo hppa1.1-stratus-sysv4
1017
# From seanf@swdc.stratus.com.
1018
echo i860-stratus-sysv4
1021
# From Paul.Green@stratus.com.
1022
echo hppa1.1-stratus-vos
1025
echo m68k-apple-aux${UNAME_RELEASE}
1028
echo mips-sony-newsos6
1030
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1031
if [ -d /usr/nec ]; then
1032
echo mips-nec-sysv${UNAME_RELEASE}
1034
echo mips-unknown-sysv${UNAME_RELEASE}
1037
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1038
echo powerpc-be-beos
1040
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1041
echo powerpc-apple-beos
1043
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1047
echo sx4-nec-superux${UNAME_RELEASE}
1050
echo sx5-nec-superux${UNAME_RELEASE}
1052
Power*:Rhapsody:*:*)
1053
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1056
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1059
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1061
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1062
if test "${UNAME_MACHINE}" = "x86pc"; then
1065
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1070
NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1071
echo nsr-tandem-nsk${UNAME_RELEASE}
1074
echo mips-compaq-nonstopux
1077
echo bs2000-siemens-sysv
1079
DS/*:UNIX_System_V:*:*)
1080
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1083
# "uname -m" is not consistent, so use $cputype instead. 386
1084
# is converted to i386 for consistency with other x86
1085
# operating systems.
1086
if test "$cputype" = "386"; then
1089
UNAME_MACHINE="$cputype"
1091
echo ${UNAME_MACHINE}-unknown-plan9
1094
# If we were able to find `uname', then EMX Unix compatibility
1095
# is probably installed.
1096
echo ${UNAME_MACHINE}-pc-os2-emx
1099
echo pdp10-unknown-tops10
1102
echo pdp10-unknown-tenex
1104
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1105
echo pdp10-dec-tops20
1107
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1108
echo pdp10-xkl-tops20
1111
echo pdp10-unknown-tops20
1114
echo pdp10-unknown-its
1116
i*86:XTS-300:*:STOP)
1117
echo ${UNAME_MACHINE}-unknown-stop
1120
echo ${UNAME_MACHINE}-unknown-atheos
1124
#echo '(No uname command or uname output not recognized.)' 1>&2
1125
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1127
eval $set_cc_for_build
1130
# include <sys/types.h>
1131
# include <sys/utsname.h>
1136
#if defined (MIPSEB)
1137
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1139
printf ("mips-sony-bsd\n"); exit (0);
1141
#include <sys/param.h>
1142
printf ("m68k-sony-newsos%s\n",
1152
#if defined (__arm) && defined (__acorn) && defined (__unix)
1153
printf ("arm-acorn-riscix"); exit (0);
1156
#if defined (hp300) && !defined (hpux)
1157
printf ("m68k-hp-bsd\n"); exit (0);
1161
#if !defined (__ARCHITECTURE__)
1162
#define __ARCHITECTURE__ "m68k"
1165
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1167
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1169
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1173
#if defined (MULTIMAX) || defined (n16)
1175
printf ("ns32k-encore-sysv\n"); exit (0);
1178
printf ("ns32k-encore-mach\n"); exit (0);
1180
printf ("ns32k-encore-bsd\n"); exit (0);
1185
#if defined (__386BSD__)
1186
printf ("i386-pc-bsd\n"); exit (0);
1189
#if defined (sequent)
1191
printf ("i386-sequent-dynix\n"); exit (0);
1193
#if defined (ns32000)
1194
printf ("ns32k-sequent-dynix\n"); exit (0);
1198
#if defined (_SEQUENT_)
1203
if (strncmp(un.version, "V2", 2) == 0) {
1204
printf ("i386-sequent-ptx2\n"); exit (0);
1206
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1207
printf ("i386-sequent-ptx1\n"); exit (0);
1209
printf ("i386-sequent-ptx\n"); exit (0);
1214
# if !defined (ultrix)
1215
# include <sys/param.h>
1218
printf ("vax-dec-bsd4.3\n"); exit (0);
1221
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1223
printf ("vax-dec-bsd\n"); exit (0);
1227
printf ("vax-dec-bsd\n"); exit (0);
1230
printf ("vax-dec-ultrix\n"); exit (0);
1234
#if defined (alliant) && defined (i860)
1235
printf ("i860-alliant-bsd\n"); exit (0);
1242
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1243
rm -f $dummy.c $dummy
1245
# Apollos put the system type in the environment.
1247
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1249
# Convex versions that predate uname can use getsysinfo(1)
1251
if [ -x /usr/convex/getsysinfo ]
1253
case `getsysinfo -f cpu_type` in
1258
if getsysinfo -f scalar_acc
1259
then echo c32-convex-bsd
1260
else echo c2-convex-bsd
1276
$0: unable to guess system type
1278
This script, last modified $timestamp, has failed to recognize
1279
the operating system you are using. It is advised that you
1280
download the most up to date version of the config scripts from
1282
ftp://ftp.gnu.org/pub/gnu/config/
1284
If the version you run ($0) is already up to date, please
1285
send the following data and any information you think might be
1286
pertinent to <config-patches@gnu.org> in order to provide the needed
1287
information to handle your system.
1289
config.guess timestamp = $timestamp
1291
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1292
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1293
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1294
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1296
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1297
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1299
hostinfo = `(hostinfo) 2>/dev/null`
1300
/bin/universe = `(/bin/universe) 2>/dev/null`
1301
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1302
/bin/arch = `(/bin/arch) 2>/dev/null`
1303
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1304
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1306
UNAME_MACHINE = ${UNAME_MACHINE}
1307
UNAME_RELEASE = ${UNAME_RELEASE}
1308
UNAME_SYSTEM = ${UNAME_SYSTEM}
1309
UNAME_VERSION = ${UNAME_VERSION}
1315
# eval: (add-hook 'write-file-hooks 'time-stamp)
1316
# time-stamp-start: "timestamp='"
1317
# time-stamp-format: "%:y-%02m-%02d"
1318
# time-stamp-end: "'"