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
case "${UNAME_MACHINE}" in
139
test -z "$VENDOR" && VENDOR=pc
142
test -z "$VENDOR" && VENDOR=unknown
145
test -f /etc/SuSE-release -o -f /.buildenv && VENDOR=suse
147
# Note: order is significant - the case branches are not exclusive.
149
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
151
# NetBSD (nbsd) targets should (where applicable) match one or
152
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
153
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
154
# switched to ELF, *-*-netbsd* would select the old
155
# object file format. This provides both forward
156
# compatibility and a consistent mechanism for selecting the
157
# object file format.
159
# Note: NetBSD doesn't particularly care about the vendor
160
# portion of the name. We always set it to "unknown".
161
sysctl="sysctl -n hw.machine_arch"
162
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
163
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
164
case "${UNAME_MACHINE_ARCH}" in
165
armeb) machine=armeb-unknown ;;
166
arm*) machine=arm-unknown ;;
167
sh3el) machine=shl-unknown ;;
168
sh3eb) machine=sh-unknown ;;
169
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
171
# The Operating System including object format, if it has switched
172
# to ELF recently, or will in the future.
173
case "${UNAME_MACHINE_ARCH}" in
174
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
175
eval $set_cc_for_build
176
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
177
| grep __ELF__ >/dev/null
179
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
180
# Return netbsd for either. FIX?
191
# Debian GNU/NetBSD machines have a different userland, and
192
# thus, need a distinct triplet. However, they do not need
193
# kernel version information, so it can be replaced with a
194
# suitable tag, in the style of linux-gnu.
195
case "${UNAME_VERSION}" in
200
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
203
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
204
# contains redundant information, the shorter form:
205
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
206
echo "${machine}-${os}${release}"
209
echo m68k-unknown-openbsd${UNAME_RELEASE}
212
echo mipsel-unknown-openbsd${UNAME_RELEASE}
215
echo m68k-unknown-openbsd${UNAME_RELEASE}
218
echo m68k-unknown-openbsd${UNAME_RELEASE}
221
echo powerpc-unknown-openbsd${UNAME_RELEASE}
224
echo m68k-unknown-openbsd${UNAME_RELEASE}
227
echo m88k-unknown-openbsd${UNAME_RELEASE}
230
echo powerpc-unknown-openbsd${UNAME_RELEASE}
233
echo mipsel-unknown-openbsd${UNAME_RELEASE}
236
echo mipseb-unknown-openbsd${UNAME_RELEASE}
239
echo m68k-unknown-openbsd${UNAME_RELEASE}
242
echo mipsel-unknown-openbsd${UNAME_RELEASE}
245
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
248
if test $UNAME_RELEASE = "V4.0"; then
249
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
251
# A Vn.n version is a released version.
252
# A Tn.n version is a released field test version.
253
# A Xn.n version is an unreleased experimental baselevel.
254
# 1.2 uses "1.2" for uname -r.
255
eval $set_cc_for_build
259
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
266
.frame \$30,16,\$26,0
269
.long 0x47e03d80 # implver \$0
271
.long 0x47e20c21 # amask \$2,\$1
281
$CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
282
if test "$?" = 0 ; then
285
UNAME_MACHINE="alpha"
288
UNAME_MACHINE="alphaev5"
291
UNAME_MACHINE="alphaev56"
294
UNAME_MACHINE="alphapca56"
297
UNAME_MACHINE="alphaev6"
300
UNAME_MACHINE="alphaev67"
303
UNAME_MACHINE="alphaev68"
306
UNAME_MACHINE="alphaev7"
310
rm -f $dummy.s $dummy && rmdir $tmpdir
311
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
313
Alpha\ *:Windows_NT*:*)
314
# How do we know it's Interix rather than the generic POSIX subsystem?
315
# Should we change UNAME_MACHINE based on the output of uname instead
316
# of the specific Alpha model?
317
echo alpha-pc-interix
319
21064:Windows_NT:50:3)
320
echo alpha-dec-winnt3.5
322
Amiga*:UNIX_System_V:4.0:*)
323
echo m68k-unknown-sysv4
325
*:[Aa]miga[Oo][Ss]:*:*)
326
echo ${UNAME_MACHINE}-unknown-amigaos
328
*:[Mm]orph[Oo][Ss]:*:*)
329
echo ${UNAME_MACHINE}-unknown-morphos
332
echo i370-ibm-openedition
334
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
335
echo arm-acorn-riscix${UNAME_RELEASE}
337
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
338
echo hppa1.1-hitachi-hiuxmpp
340
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
341
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
342
if test "`(/bin/universe) 2>/dev/null`" = att ; then
343
echo pyramid-pyramid-sysv3
345
echo pyramid-pyramid-bsd
349
echo pyramid-pyramid-svr4
351
DRS?6000:UNIX_SV:4.2*:7*)
352
case `/usr/bin/uname -p` in
353
sparc) echo sparc-icl-nx7 && exit 0 ;;
356
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
358
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
359
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
362
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
365
# According to config.sub, this is the proper way to canonicalize
366
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
367
# it's likely to be more like Solaris than SunOS4.
368
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
371
case "`/usr/bin/arch -k`" in
373
UNAME_RELEASE=`uname -v`
376
# Japanese Language versions have a version number like `4.1.3-JL'.
377
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
380
echo m68k-sun-sunos${UNAME_RELEASE}
383
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
384
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
385
case "`/bin/arch`" in
387
echo m68k-sun-sunos${UNAME_RELEASE}
390
echo sparc-sun-sunos${UNAME_RELEASE}
395
echo sparc-auspex-sunos${UNAME_RELEASE}
397
# The situation for MiNT is a little confusing. The machine name
398
# can be virtually everything (everything which is not
399
# "atarist" or "atariste" at least should have a processor
400
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
401
# to the lowercase version "mint" (or "freemint"). Finally
402
# the system name "TOS" denotes a system which is actually not
403
# MiNT. But MiNT is downward compatible to TOS, so this should
405
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
406
echo m68k-atari-mint${UNAME_RELEASE}
408
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
409
echo m68k-atari-mint${UNAME_RELEASE}
411
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
412
echo m68k-atari-mint${UNAME_RELEASE}
414
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
415
echo m68k-milan-mint${UNAME_RELEASE}
417
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
418
echo m68k-hades-mint${UNAME_RELEASE}
420
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
421
echo m68k-unknown-mint${UNAME_RELEASE}
424
echo powerpc-apple-machten${UNAME_RELEASE}
427
echo mips-dec-mach_bsd4.3
430
echo mips-dec-ultrix${UNAME_RELEASE}
433
echo vax-dec-ultrix${UNAME_RELEASE}
435
2020:CLIX:*:* | 2430:CLIX:*:*)
436
echo clipper-intergraph-clix${UNAME_RELEASE}
438
mips:*:*:UMIPS | mips:*:*:RISCos)
439
eval $set_cc_for_build
440
sed 's/^ //' << EOF >$dummy.c
442
#include <stdio.h> /* for printf() prototype */
443
int main (int argc, char *argv[]) {
445
int main (argc, argv) int argc; char *argv[]; {
447
#if defined (host_mips) && defined (MIPSEB)
448
#if defined (SYSTYPE_SYSV)
449
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
451
#if defined (SYSTYPE_SVR4)
452
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
454
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
455
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
461
$CC_FOR_BUILD -o $dummy $dummy.c \
462
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
463
&& rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
464
rm -f $dummy.c $dummy && rmdir $tmpdir
465
echo mips-mips-riscos${UNAME_RELEASE}
467
Motorola:PowerMAX_OS:*:*)
468
echo powerpc-motorola-powermax
470
Motorola:*:4.3:PL8-*)
471
echo powerpc-harris-powermax
473
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
474
echo powerpc-harris-powermax
476
Night_Hawk:Power_UNIX:*:*)
477
echo powerpc-harris-powerunix
480
echo m88k-harris-cxux7
483
echo m88k-motorola-sysv4
486
echo m88k-motorola-sysv3
489
# DG/UX returns AViiON for all architectures
490
UNAME_PROCESSOR=`/usr/bin/uname -p`
491
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
493
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
494
[ ${TARGET_BINARY_INTERFACE}x = x ]
496
echo m88k-dg-dgux${UNAME_RELEASE}
498
echo m88k-dg-dguxbcs${UNAME_RELEASE}
501
echo i586-dg-dgux${UNAME_RELEASE}
504
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
505
echo m88k-dolphin-sysv3
508
# Delta 88k system running SVR3
509
echo m88k-motorola-sysv3
511
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
512
echo m88k-tektronix-sysv3
514
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
515
echo m68k-tektronix-bsd
518
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
520
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
521
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
522
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
527
if [ -x /usr/bin/oslevel ] ; then
528
IBM_REV=`/usr/bin/oslevel`
530
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
532
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
535
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
536
eval $set_cc_for_build
537
sed 's/^ //' << EOF >$dummy.c
538
#include <sys/systemcfg.h>
544
puts("powerpc-ibm-aix3.2.5");
548
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
549
rm -f $dummy.c $dummy && rmdir $tmpdir
550
echo rs6000-ibm-aix3.2.5
551
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
552
echo rs6000-ibm-aix3.2.4
554
echo rs6000-ibm-aix3.2
558
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
559
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
564
if [ -x /usr/bin/oslevel ] ; then
565
IBM_REV=`/usr/bin/oslevel`
567
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
569
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
574
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
577
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
578
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
579
exit 0 ;; # report: romp-ibm BSD 4.3
581
echo rs6000-bull-bosx
586
9000/[34]??:4.3bsd:1.*:*)
589
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
592
9000/[34678]??:HP-UX:*:*)
593
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
594
case "${UNAME_MACHINE}" in
595
9000/31? ) HP_ARCH=m68000 ;;
596
9000/[34]?? ) HP_ARCH=m68k ;;
597
9000/[678][0-9][0-9])
598
if [ -x /usr/bin/getconf ]; then
599
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
600
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
601
case "${sc_cpu_version}" in
602
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
603
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
604
532) # CPU_PA_RISC2_0
605
case "${sc_kernel_bits}" in
606
32) HP_ARCH="hppa2.0n" ;;
607
64) HP_ARCH="hppa2.0w" ;;
608
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
612
if [ "${HP_ARCH}" = "" ]; then
613
eval $set_cc_for_build
614
sed 's/^ //' << EOF >$dummy.c
622
#if defined(_SC_KERNEL_BITS)
623
long bits = sysconf(_SC_KERNEL_BITS);
625
long cpu = sysconf (_SC_CPU_VERSION);
629
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
630
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
632
#if defined(_SC_KERNEL_BITS)
635
case 64: puts ("hppa2.0w"); break;
636
case 32: puts ("hppa2.0n"); break;
637
default: puts ("hppa2.0"); break;
639
#else /* !defined(_SC_KERNEL_BITS) */
640
puts ("hppa2.0"); break;
642
default: puts ("hppa1.0"); break;
647
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
648
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
649
rm -f $dummy.c $dummy && rmdir $tmpdir
652
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
655
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
656
echo ia64-hp-hpux${HPUX_REV}
659
eval $set_cc_for_build
660
sed 's/^ //' << EOF >$dummy.c
665
long cpu = sysconf (_SC_CPU_VERSION);
666
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
667
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
669
if (CPU_IS_PA_RISC (cpu))
673
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
674
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
675
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
676
default: puts ("hppa-hitachi-hiuxwe2"); break;
679
else if (CPU_IS_HP_MC68K (cpu))
680
puts ("m68k-hitachi-hiuxwe2");
681
else puts ("unknown-hitachi-hiuxwe2");
685
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
686
rm -f $dummy.c $dummy && rmdir $tmpdir
687
echo unknown-hitachi-hiuxwe2
689
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
695
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
696
echo hppa1.0-hp-mpeix
698
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
705
if [ -x /usr/sbin/sysversion ] ; then
706
echo ${UNAME_MACHINE}-unknown-osf1mk
708
echo ${UNAME_MACHINE}-unknown-osf1
712
echo hppa1.1-hp-lites
714
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
717
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
718
if getsysinfo -f scalar_acc
719
then echo c32-convex-bsd
720
else echo c2-convex-bsd
723
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
726
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
729
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
733
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
736
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
737
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
738
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
742
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
745
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
748
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
751
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
753
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
754
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
755
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
756
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
757
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
759
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
760
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
763
echo sparc-unknown-bsdi${UNAME_RELEASE}
766
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
769
# Determine whether the default compiler uses glibc.
770
eval $set_cc_for_build
771
sed 's/^ //' << EOF >$dummy.c
772
#include <features.h>
779
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
780
rm -f $dummy.c && rmdir $tmpdir
781
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
784
echo ${UNAME_MACHINE}-pc-cygwin
787
echo ${UNAME_MACHINE}-pc-mingw32
790
echo ${UNAME_MACHINE}-pc-pw32
793
echo i586-pc-interix3
795
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
796
echo i${UNAME_MACHINE}-pc-mks
798
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
799
# How do we know it's Interix rather than the generic POSIX subsystem?
800
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
801
# UNAME_MACHINE based on the output of uname instead of i386?
805
echo ${UNAME_MACHINE}-pc-uwin
808
echo powerpcle-unknown-cygwin
811
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
814
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
817
echo ${UNAME_MACHINE}-pc-minix
820
echo ${UNAME_MACHINE}-${VENDOR}-linux
823
echo ${UNAME_MACHINE}-${VENDOR}-linux
826
echo ${UNAME_MACHINE}-${VENDOR}-linux
829
eval $set_cc_for_build
830
sed 's/^ //' << EOF >$dummy.c
834
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
837
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
844
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
845
rm -f $dummy.c && rmdir $tmpdir
846
test x"${CPU}" != x && echo "${CPU}-${VENDOR}-linux" && exit 0
849
eval $set_cc_for_build
850
sed 's/^ //' << EOF >$dummy.c
854
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
857
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
864
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
865
rm -f $dummy.c && rmdir $tmpdir
866
test x"${CPU}" != x && echo "${CPU}-${VENDOR}-linux" && exit 0
869
echo powerpc-${VENDOR}-linux
872
echo powerpc64-${VENDOR}-linux
875
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
876
EV5) UNAME_MACHINE=alphaev5 ;;
877
EV56) UNAME_MACHINE=alphaev56 ;;
878
PCA56) UNAME_MACHINE=alphapca56 ;;
879
PCA57) UNAME_MACHINE=alphapca56 ;;
880
EV6) UNAME_MACHINE=alphaev6 ;;
881
EV67) UNAME_MACHINE=alphaev67 ;;
882
EV68*) UNAME_MACHINE=alphaev68 ;;
884
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
885
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
886
echo ${UNAME_MACHINE}-${VENDOR}-linux${LIBC}
888
parisc:Linux:*:* | hppa:Linux:*:*)
890
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
891
PA7*) echo hppa1.1-${VENDOR}-linux ;;
892
PA8*) echo hppa2.0-${VENDOR}-linux ;;
893
*) echo hppa-${VENDOR}-linux ;;
896
parisc64:Linux:*:* | hppa64:Linux:*:*)
897
echo hppa64-${VENDOR}-linux
899
s390:Linux:*:* | s390x:Linux:*:*)
900
echo ${UNAME_MACHINE}-ibm-linux
903
echo ${UNAME_MACHINE}-${VENDOR}-linux
905
sparc:Linux:*:* | sparc64:Linux:*:*)
906
echo ${UNAME_MACHINE}-${VENDOR}-linux
909
echo x86_64-${VENDOR}-linux
912
# The BFD linker knows what the default object file format is, so
913
# first see if it will tell us. cd to the root directory to prevent
914
# problems with other programs or directories called `ld' in the path.
915
# Set LC_ALL=C to ensure ld outputs messages in English.
916
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
917
| sed -ne '/supported targets:/!d
919
s/.*supported targets: *//
922
case "$ld_supported_targets" in
924
TENTATIVE="${UNAME_MACHINE}-${VENDOR}-linux"
927
echo "${UNAME_MACHINE}-${VENDOR}-linuxaout"
930
echo "${UNAME_MACHINE}-${VENDOR}-linuxcoff"
933
# Either a pre-BFD a.out linker (linuxoldld) or
934
# one that does not give us useful --help.
935
echo "${UNAME_MACHINE}-${VENDOR}-linuxoldld"
938
# Determine whether the default compiler is a.out or elf
939
eval $set_cc_for_build
940
sed 's/^ //' << EOF >$dummy.c
941
#include <features.h>
953
#ifdef __INTEL_COMPILER
960
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
961
rm -f $dummy.c && rmdir $tmpdir
962
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}" | sed 's/linux-gnu/linux/' && exit 0
963
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
966
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
967
# earlier versions are messed up and put the nodename in both
968
# sysname and nodename.
969
echo i386-sequent-sysv4
971
i*86:UNIX_SV:4.2MP:2.*)
972
# Unixware is an offshoot of SVR4, but it has its own version
973
# number series starting with 2...
974
# I am not positive that other SVR4 systems won't match this,
975
# I just have to hope. -- rms.
976
# Use sysv4.2uw... so that sysv4* matches it.
977
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
980
# If we were able to find `uname', then EMX Unix compatibility
981
# is probably installed.
982
echo ${UNAME_MACHINE}-pc-os2-emx
985
echo ${UNAME_MACHINE}-unknown-stop
988
echo ${UNAME_MACHINE}-unknown-atheos
990
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
991
echo i386-unknown-lynxos${UNAME_RELEASE}
994
echo ${UNAME_MACHINE}-pc-msdosdjgpp
996
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
997
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
998
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
999
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1001
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1005
case `/bin/uname -X | grep "^Machine"` in
1006
*486*) UNAME_MACHINE=i486 ;;
1007
*Pentium) UNAME_MACHINE=i586 ;;
1008
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1010
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1013
if test -f /usr/options/cb.name; then
1014
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1015
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1016
elif /bin/uname -X 2>/dev/null >/dev/null ; then
1017
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1018
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1019
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1020
&& UNAME_MACHINE=i586
1021
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1022
&& UNAME_MACHINE=i686
1023
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1024
&& UNAME_MACHINE=i686
1025
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1027
echo ${UNAME_MACHINE}-pc-sysv32
1031
# Left here for compatibility:
1032
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1033
# the processor, so we play safe by assuming i386.
1034
echo i386-pc-msdosdjgpp
1040
echo i860-intel-osf1
1042
i860:*:4.*:*) # i860-SVR4
1043
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1044
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1045
else # Add other i860-SVR4 vendors below as they are discovered.
1046
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1051
echo m68010-convergent-sysv
1053
mc68k:UNIX:SYSTEM5:3.51m)
1054
echo m68k-convergent-sysv
1060
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1061
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 | SDS2:*:4.0:3.0)
1063
test -r /etc/.relid \
1064
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1065
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1066
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1067
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1068
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1069
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1070
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1071
&& echo i486-ncr-sysv4 && exit 0 ;;
1072
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1073
echo m68k-unknown-lynxos${UNAME_RELEASE}
1075
mc68030:UNIX_System_V:4.*:*)
1076
echo m68k-atari-sysv4
1078
TSUNAMI:LynxOS:2.*:*)
1079
echo sparc-unknown-lynxos${UNAME_RELEASE}
1081
rs6000:LynxOS:2.*:*)
1082
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1084
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1085
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1087
SM[BE]S:UNIX_SV:*:*)
1088
echo mips-dde-sysv${UNAME_RELEASE}
1090
RM*:ReliantUNIX-*:*:*)
1097
if uname -p 2>/dev/null >/dev/null ; then
1098
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1099
echo ${UNAME_MACHINE}-sni-sysv4
1104
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1105
# says <Richard.M.Bartel@ccMail.Census.GOV>
1106
echo i586-unisys-sysv4
1108
*:UNIX_System_V:4*:FTX*)
1109
# From Gerald Hewes <hewes@openmarket.com>.
1110
# How about differentiating between stratus architectures? -djm
1111
echo hppa1.1-stratus-sysv4
1114
# From seanf@swdc.stratus.com.
1115
echo i860-stratus-sysv4
1118
# From Paul.Green@stratus.com.
1119
echo hppa1.1-stratus-vos
1122
echo m68k-apple-aux${UNAME_RELEASE}
1125
echo mips-sony-newsos6
1127
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1128
if [ -d /usr/nec ]; then
1129
echo mips-nec-sysv${UNAME_RELEASE}
1131
echo mips-unknown-sysv${UNAME_RELEASE}
1134
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1135
echo powerpc-be-beos
1137
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1138
echo powerpc-apple-beos
1140
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1144
echo sx4-nec-superux${UNAME_RELEASE}
1147
echo sx5-nec-superux${UNAME_RELEASE}
1150
echo sx6-nec-superux${UNAME_RELEASE}
1152
Power*:Rhapsody:*:*)
1153
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1156
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1159
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1161
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1162
UNAME_PROCESSOR=`uname -p`
1163
if test "$UNAME_PROCESSOR" = "x86"; then
1164
UNAME_PROCESSOR=i386
1167
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1172
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
1173
echo nsr-tandem-nsk${UNAME_RELEASE}
1176
echo mips-compaq-nonstopux
1179
echo bs2000-siemens-sysv
1181
DS/*:UNIX_System_V:*:*)
1182
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1185
# "uname -m" is not consistent, so use $cputype instead. 386
1186
# is converted to i386 for consistency with other x86
1187
# operating systems.
1188
if test "$cputype" = "386"; then
1191
UNAME_MACHINE="$cputype"
1193
echo ${UNAME_MACHINE}-unknown-plan9
1196
echo pdp10-unknown-tops10
1199
echo pdp10-unknown-tenex
1201
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1202
echo pdp10-dec-tops20
1204
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1205
echo pdp10-xkl-tops20
1208
echo pdp10-unknown-tops20
1211
echo pdp10-unknown-its
1215
#echo '(No uname command or uname output not recognized.)' 1>&2
1216
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1218
eval $set_cc_for_build
1221
# include <sys/types.h>
1222
# include <sys/utsname.h>
1227
#if defined (MIPSEB)
1228
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1230
printf ("mips-sony-bsd\n"); exit (0);
1232
#include <sys/param.h>
1233
printf ("m68k-sony-newsos%s\n",
1243
#if defined (__arm) && defined (__acorn) && defined (__unix)
1244
printf ("arm-acorn-riscix"); exit (0);
1247
#if defined (hp300) && !defined (hpux)
1248
printf ("m68k-hp-bsd\n"); exit (0);
1252
#if !defined (__ARCHITECTURE__)
1253
#define __ARCHITECTURE__ "m68k"
1256
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1258
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1260
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1264
#if defined (MULTIMAX) || defined (n16)
1266
printf ("ns32k-encore-sysv\n"); exit (0);
1269
printf ("ns32k-encore-mach\n"); exit (0);
1271
printf ("ns32k-encore-bsd\n"); exit (0);
1276
#if defined (__386BSD__)
1277
printf ("i386-pc-bsd\n"); exit (0);
1280
#if defined (sequent)
1282
printf ("i386-sequent-dynix\n"); exit (0);
1284
#if defined (ns32000)
1285
printf ("ns32k-sequent-dynix\n"); exit (0);
1289
#if defined (_SEQUENT_)
1294
if (strncmp(un.version, "V2", 2) == 0) {
1295
printf ("i386-sequent-ptx2\n"); exit (0);
1297
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1298
printf ("i386-sequent-ptx1\n"); exit (0);
1300
printf ("i386-sequent-ptx\n"); exit (0);
1305
# if !defined (ultrix)
1306
# include <sys/param.h>
1309
printf ("vax-dec-bsd4.3\n"); exit (0);
1312
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1314
printf ("vax-dec-bsd\n"); exit (0);
1318
printf ("vax-dec-bsd\n"); exit (0);
1321
printf ("vax-dec-ultrix\n"); exit (0);
1325
#if defined (alliant) && defined (i860)
1326
printf ("i860-alliant-bsd\n"); exit (0);
1333
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
1334
rm -f $dummy.c $dummy && rmdir $tmpdir
1336
# Apollos put the system type in the environment.
1338
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1340
# Convex versions that predate uname can use getsysinfo(1)
1342
if [ -x /usr/convex/getsysinfo ]
1344
case `getsysinfo -f cpu_type` in
1349
if getsysinfo -f scalar_acc
1350
then echo c32-convex-bsd
1351
else echo c2-convex-bsd
1367
$0: unable to guess system type
1369
This script, last modified $timestamp, has failed to recognize
1370
the operating system you are using. It is advised that you
1371
download the most up to date version of the config scripts from
1373
ftp://ftp.gnu.org/pub/gnu/config/
1375
If the version you run ($0) is already up to date, please
1376
send the following data and any information you think might be
1377
pertinent to <config-patches@gnu.org> in order to provide the needed
1378
information to handle your system.
1380
config.guess timestamp = $timestamp
1382
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1383
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1384
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1385
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1387
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1388
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1390
hostinfo = `(hostinfo) 2>/dev/null`
1391
/bin/universe = `(/bin/universe) 2>/dev/null`
1392
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1393
/bin/arch = `(/bin/arch) 2>/dev/null`
1394
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1395
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1397
UNAME_MACHINE = ${UNAME_MACHINE}
1398
UNAME_RELEASE = ${UNAME_RELEASE}
1399
UNAME_SYSTEM = ${UNAME_SYSTEM}
1400
UNAME_VERSION = ${UNAME_VERSION}
1406
# eval: (add-hook 'write-file-hooks 'time-stamp)
1407
# time-stamp-start: "timestamp='"
1408
# time-stamp-format: "%:y-%02m-%02d"
1409
# time-stamp-end: "'"