2
# Attempt to guess a canonical system name.
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4
# Free Software Foundation, Inc.
8
# This file is free software; you can redistribute it and/or modify it
9
# under the terms of the GNU General Public License as published by
10
# the Free Software Foundation; either version 2 of the License, or
11
# (at your option) any later version.
13
# This program is distributed in the hope that it will be useful, but
14
# WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
# General Public License for more details.
18
# You should have received a copy of the GNU General Public License
19
# along with this program; if not, write to the Free Software
20
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
# As a special exception to the GNU General Public License, if you
23
# distribute this file as part of a program that contains a
24
# configuration script generated by Autoconf, you may include it under
25
# the same distribution terms that you use for the rest of that program.
27
# Written by Per Bothner <bothner@cygnus.com>.
28
# Please send patches to <config-patches@gnu.org>.
30
# This script attempts to guess a canonical system name similar to
31
# config.sub. If it succeeds, it prints the system name on stdout, and
32
# exits with 0. Otherwise, it exits with 1.
34
# The plan is that this can be called by configure scripts if you
35
# don't specify an explicit build system type.
37
me=`echo "$0" | sed -e 's,.*/,,'`
42
Output the configuration name of the system \`$me' is run on.
45
-h, --help print this help, then exit
46
-t, --time-stamp print date of last modification, then exit
47
-v, --version print version number, then exit
49
Report bugs and patches to <config-patches@gnu.org>."
52
GNU config.guess ($timestamp)
54
Originally written by Per Bothner.
55
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
56
Free Software Foundation, Inc.
58
This is free software; see the source for copying conditions. There is NO
59
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
62
Try \`$me --help' for more information."
65
while test $# -gt 0 ; do
67
--time-stamp | --time* | -t )
68
echo "$timestamp" ; exit 0 ;;
70
echo "$version" ; exit 0 ;;
72
echo "$usage"; exit 0 ;;
73
-- ) # Stop option processing
75
- ) # Use stdin as input.
78
echo "$me: invalid option $1$help" >&2
86
echo "$me: too many arguments$help" >&2
92
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
94
# CC_FOR_BUILD -- compiler used by this script.
95
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
96
# use `HOST_CC' if defined, but it is deprecated.
98
set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
99
,,) echo "int dummy(){}" > $dummy.c ;
100
for c in cc gcc c89 ; do
101
($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
102
if test $? = 0 ; then
103
CC_FOR_BUILD="$c"; break ;
106
rm -f $dummy.c $dummy.o $dummy.rel ;
107
if test x"$CC_FOR_BUILD" = x ; then
108
CC_FOR_BUILD=no_compiler_found ;
111
,,*) CC_FOR_BUILD=$CC ;;
112
,*,*) CC_FOR_BUILD=$HOST_CC ;;
115
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
116
# (ghazi@noc.rutgers.edu 1994-08-24)
117
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
118
PATH=$PATH:/.attbin ; export PATH
121
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
122
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
123
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
124
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
126
# Note: order is significant - the case branches are not exclusive.
128
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
130
# Netbsd (nbsd) targets should (where applicable) match one or
131
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
132
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
133
# switched to ELF, *-*-netbsd* would select the old
134
# object file format. This provides both forward
135
# compatibility and a consistent mechanism for selecting the
136
# object file format.
137
# Determine the machine/vendor (is the vendor relevant).
138
case "${UNAME_MACHINE}" in
139
amiga) machine=m68k-unknown ;;
140
arm32) machine=arm-unknown ;;
141
atari*) machine=m68k-atari ;;
142
sun3*) machine=m68k-sun ;;
143
mac68k) machine=m68k-apple ;;
144
macppc) machine=powerpc-apple ;;
145
hp3[0-9][05]) machine=m68k-hp ;;
146
ibmrt|romp-ibm) machine=romp-ibm ;;
147
*) machine=${UNAME_MACHINE}-unknown ;;
149
# The Operating System including object format, if it has switched
150
# to ELF recently, or will in the future.
151
case "${UNAME_MACHINE}" in
152
i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
153
eval $set_cc_for_build
154
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
155
| grep __ELF__ >/dev/null
157
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
158
# Return netbsd for either. FIX?
169
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
170
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
171
# contains redundant information, the shorter form:
172
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
173
echo "${machine}-${os}${release}"
176
if test $UNAME_RELEASE = "V4.0"; then
177
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
179
# A Vn.n version is a released version.
180
# A Tn.n version is a released field test version.
181
# A Xn.n version is an unreleased experimental baselevel.
182
# 1.2 uses "1.2" for uname -r.
186
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
193
.frame \$30,16,\$26,0
196
.long 0x47e03d80 # implver \$0
198
.long 0x47e20c21 # amask \$2,\$1
208
eval $set_cc_for_build
209
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
210
if test "$?" = 0 ; then
213
UNAME_MACHINE="alpha"
216
UNAME_MACHINE="alphaev5"
219
UNAME_MACHINE="alphaev56"
222
UNAME_MACHINE="alphapca56"
225
UNAME_MACHINE="alphaev6"
228
UNAME_MACHINE="alphaev67"
231
UNAME_MACHINE="alphaev68"
235
rm -f $dummy.s $dummy
236
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
238
Alpha\ *:Windows_NT*:*)
239
# How do we know it's Interix rather than the generic POSIX subsystem?
240
# Should we change UNAME_MACHINE based on the output of uname instead
241
# of the specific Alpha model?
242
echo alpha-pc-interix
244
21064:Windows_NT:50:3)
245
echo alpha-dec-winnt3.5
247
Amiga*:UNIX_System_V:4.0:*)
248
echo m68k-unknown-sysv4
251
echo m68k-unknown-openbsd${UNAME_RELEASE}
253
*:[Aa]miga[Oo][Ss]:*:*)
254
echo ${UNAME_MACHINE}-unknown-amigaos
257
echo mips64el-unknown-openbsd${UNAME_RELEASE}
260
echo mipsel-unknown-openbsd${UNAME_RELEASE}
263
echo mips-unknown-openbsd${UNAME_RELEASE}
266
echo mipsel-unknown-openbsd${UNAME_RELEASE}
269
echo mips-unknown-openbsd${UNAME_RELEASE}
272
echo mipsel-unknown-openbsd${UNAME_RELEASE}
275
echo i370-ibm-openedition
277
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
278
echo arm-acorn-riscix${UNAME_RELEASE}
280
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
281
echo hppa1.1-hitachi-hiuxmpp
283
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
284
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
285
if test "`(/bin/universe) 2>/dev/null`" = att ; then
286
echo pyramid-pyramid-sysv3
288
echo pyramid-pyramid-bsd
292
echo pyramid-pyramid-svr4
295
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
297
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
298
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
301
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
304
# According to config.sub, this is the proper way to canonicalize
305
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
306
# it's likely to be more like Solaris than SunOS4.
307
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
310
case "`/usr/bin/arch -k`" in
312
UNAME_RELEASE=`uname -v`
315
# Japanese Language versions have a version number like `4.1.3-JL'.
316
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
319
echo m68k-sun-sunos${UNAME_RELEASE}
322
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
323
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
324
case "`/bin/arch`" in
326
echo m68k-sun-sunos${UNAME_RELEASE}
329
echo sparc-sun-sunos${UNAME_RELEASE}
334
echo sparc-auspex-sunos${UNAME_RELEASE}
337
echo `uname -p`-unknown-netbsd${UNAME_RELEASE}
340
echo m68k-unknown-openbsd${UNAME_RELEASE}
342
# The situation for MiNT is a little confusing. The machine name
343
# can be virtually everything (everything which is not
344
# "atarist" or "atariste" at least should have a processor
345
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
346
# to the lowercase version "mint" (or "freemint"). Finally
347
# the system name "TOS" denotes a system which is actually not
348
# MiNT. But MiNT is downward compatible to TOS, so this should
350
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
351
echo m68k-atari-mint${UNAME_RELEASE}
353
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
354
echo m68k-atari-mint${UNAME_RELEASE}
356
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
357
echo m68k-atari-mint${UNAME_RELEASE}
359
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
360
echo m68k-milan-mint${UNAME_RELEASE}
362
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
363
echo m68k-hades-mint${UNAME_RELEASE}
365
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
366
echo m68k-unknown-mint${UNAME_RELEASE}
369
echo m68k-unknown-openbsd${UNAME_RELEASE}
372
echo m68k-unknown-openbsd${UNAME_RELEASE}
375
echo m68k-unknown-openbsd${UNAME_RELEASE}
378
echo m88k-unknown-openbsd${UNAME_RELEASE}
381
echo powerpc-apple-machten${UNAME_RELEASE}
384
echo mips-dec-mach_bsd4.3
387
echo mips-dec-ultrix${UNAME_RELEASE}
390
echo vax-dec-ultrix${UNAME_RELEASE}
392
2020:CLIX:*:* | 2430:CLIX:*:*)
393
echo clipper-intergraph-clix${UNAME_RELEASE}
395
mips:*:*:UMIPS | mips:*:*:RISCos)
396
sed 's/^ //' << EOF >$dummy.c
398
#include <stdio.h> /* for printf() prototype */
399
int main (int argc, char *argv[]) {
401
int main (argc, argv) int argc; char *argv[]; {
403
#if defined (host_mips) && defined (MIPSEB)
404
#if defined (SYSTYPE_SYSV)
405
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
407
#if defined (SYSTYPE_SVR4)
408
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
410
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
411
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
417
eval $set_cc_for_build
418
$CC_FOR_BUILD $dummy.c -o $dummy \
419
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
420
&& rm -f $dummy.c $dummy && exit 0
421
rm -f $dummy.c $dummy
422
echo mips-mips-riscos${UNAME_RELEASE}
424
Motorola:PowerMAX_OS:*:*)
425
echo powerpc-motorola-powermax
427
Night_Hawk:Power_UNIX:*:*)
428
echo powerpc-harris-powerunix
431
echo m88k-harris-cxux7
434
echo m88k-motorola-sysv4
437
echo m88k-motorola-sysv3
440
# DG/UX returns AViiON for all architectures
441
UNAME_PROCESSOR=`/usr/bin/uname -p`
442
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
444
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
445
[ ${TARGET_BINARY_INTERFACE}x = x ]
447
echo m88k-dg-dgux${UNAME_RELEASE}
449
echo m88k-dg-dguxbcs${UNAME_RELEASE}
452
echo i586-dg-dgux${UNAME_RELEASE}
455
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
456
echo m88k-dolphin-sysv3
459
# Delta 88k system running SVR3
460
echo m88k-motorola-sysv3
462
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
463
echo m88k-tektronix-sysv3
465
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
466
echo m68k-tektronix-bsd
469
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
471
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
472
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
473
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
478
if [ -x /usr/bin/oslevel ] ; then
479
IBM_REV=`/usr/bin/oslevel`
481
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
483
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
486
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
487
sed 's/^ //' << EOF >$dummy.c
488
#include <sys/systemcfg.h>
494
puts("powerpc-ibm-aix3.2.5");
498
eval $set_cc_for_build
499
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
500
rm -f $dummy.c $dummy
501
echo rs6000-ibm-aix3.2.5
502
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
503
echo rs6000-ibm-aix3.2.4
505
echo rs6000-ibm-aix3.2
509
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
510
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
515
if [ -x /usr/bin/oslevel ] ; then
516
IBM_REV=`/usr/bin/oslevel`
518
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
520
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
525
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
528
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
529
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
530
exit 0 ;; # report: romp-ibm BSD 4.3
532
echo rs6000-bull-bosx
537
9000/[34]??:4.3bsd:1.*:*)
540
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
543
9000/[34678]??:HP-UX:*:*)
544
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
545
case "${UNAME_MACHINE}" in
546
9000/31? ) HP_ARCH=m68000 ;;
547
9000/[34]?? ) HP_ARCH=m68k ;;
548
9000/[678][0-9][0-9])
549
case "${HPUX_REV}" in
551
if [ -x /usr/bin/getconf ]; then
552
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
553
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
554
case "${sc_cpu_version}" in
555
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
556
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
557
532) # CPU_PA_RISC2_0
558
case "${sc_kernel_bits}" in
559
32) HP_ARCH="hppa2.0n" ;;
560
64) HP_ARCH="hppa2.0w" ;;
565
if [ "${HP_ARCH}" = "" ]; then
566
sed 's/^ //' << EOF >$dummy.c
574
#if defined(_SC_KERNEL_BITS)
575
long bits = sysconf(_SC_KERNEL_BITS);
577
long cpu = sysconf (_SC_CPU_VERSION);
581
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
582
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
584
#if defined(_SC_KERNEL_BITS)
587
case 64: puts ("hppa2.0w"); break;
588
case 32: puts ("hppa2.0n"); break;
589
default: puts ("hppa2.0"); break;
591
#else /* !defined(_SC_KERNEL_BITS) */
592
puts ("hppa2.0"); break;
594
default: puts ("hppa1.0"); break;
599
eval $set_cc_for_build
600
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
601
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
602
rm -f $dummy.c $dummy
605
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
608
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
609
echo ia64-hp-hpux${HPUX_REV}
612
sed 's/^ //' << EOF >$dummy.c
617
long cpu = sysconf (_SC_CPU_VERSION);
618
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
619
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
621
if (CPU_IS_PA_RISC (cpu))
625
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
626
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
627
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
628
default: puts ("hppa-hitachi-hiuxwe2"); break;
631
else if (CPU_IS_HP_MC68K (cpu))
632
puts ("m68k-hitachi-hiuxwe2");
633
else puts ("unknown-hitachi-hiuxwe2");
637
eval $set_cc_for_build
638
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
639
rm -f $dummy.c $dummy
640
echo unknown-hitachi-hiuxwe2
642
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
648
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
649
echo hppa1.0-hp-mpeix
651
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
658
if [ -x /usr/sbin/sysversion ] ; then
659
echo ${UNAME_MACHINE}-unknown-osf1mk
661
echo ${UNAME_MACHINE}-unknown-osf1
665
echo hppa1.1-hp-lites
668
echo hppa-unknown-openbsd
670
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
673
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
674
if getsysinfo -f scalar_acc
675
then echo c32-convex-bsd
676
else echo c2-convex-bsd
679
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
682
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
685
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
692
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
695
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
696
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
697
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
701
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
704
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
707
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
710
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
713
echo cray2-cray-unicos
715
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
716
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
717
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
718
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
719
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
722
echo m68k-unknown-openbsd${UNAME_RELEASE}
724
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
725
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
728
echo sparc-unknown-bsdi${UNAME_RELEASE}
731
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
734
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
737
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
740
echo ${UNAME_MACHINE}-pc-cygwin
743
echo ${UNAME_MACHINE}-pc-mingw32
746
echo ${UNAME_MACHINE}-pc-pw32
748
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
749
# How do we know it's Interix rather than the generic POSIX subsystem?
750
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
751
# UNAME_MACHINE based on the output of uname instead of i386?
755
echo ${UNAME_MACHINE}-pc-uwin
758
echo powerpcle-unknown-cygwin
761
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
764
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
767
echo ${UNAME_MACHINE}-pc-minix
770
echo ${UNAME_MACHINE}-unknown-linux-gnu
773
echo ${UNAME_MACHINE}-unknown-linux
776
echo ${UNAME_MACHINE}-unknown-linux-gnu
779
case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
780
big) echo mips-unknown-linux-gnu && exit 0 ;;
781
little) echo mipsel-unknown-linux-gnu && exit 0 ;;
785
echo powerpc-unknown-linux-gnu
788
echo powerpc64-unknown-linux-gnu
791
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
792
EV5) UNAME_MACHINE=alphaev5 ;;
793
EV56) UNAME_MACHINE=alphaev56 ;;
794
PCA56) UNAME_MACHINE=alphapca56 ;;
795
PCA57) UNAME_MACHINE=alphapca56 ;;
796
EV6) UNAME_MACHINE=alphaev6 ;;
797
EV67) UNAME_MACHINE=alphaev67 ;;
798
EV68*) UNAME_MACHINE=alphaev68 ;;
800
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
801
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
802
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
804
parisc:Linux:*:* | hppa:Linux:*:*)
806
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
807
PA7*) echo hppa1.1-unknown-linux-gnu ;;
808
PA8*) echo hppa2.0-unknown-linux-gnu ;;
809
*) echo hppa-unknown-linux-gnu ;;
812
parisc64:Linux:*:* | hppa64:Linux:*:*)
813
echo hppa64-unknown-linux-gnu
815
s390:Linux:*:* | s390x:Linux:*:*)
816
echo ${UNAME_MACHINE}-ibm-linux
819
echo ${UNAME_MACHINE}-unknown-linux-gnu
821
sparc:Linux:*:* | sparc64:Linux:*:*)
822
echo ${UNAME_MACHINE}-unknown-linux-gnu
825
echo x86_64-unknown-linux-gnu
828
# The BFD linker knows what the default object file format is, so
829
# first see if it will tell us. cd to the root directory to prevent
830
# problems with other programs or directories called `ld' in the path.
831
ld_supported_targets=`cd /; ld --help 2>&1 \
832
| sed -ne '/supported targets:/!d
834
s/.*supported targets: *//
837
case "$ld_supported_targets" in
839
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
842
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
845
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
848
# Either a pre-BFD a.out linker (linux-gnuoldld) or
849
# one that does not give us useful --help.
850
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
853
# Determine whether the default compiler is a.out or elf
855
#include <features.h>
857
#include <stdio.h> /* for printf() prototype */
858
int main (int argc, char *argv[]) {
860
int main (argc, argv) int argc; char *argv[]; {
865
printf ("%s-pc-linux-gnu\n", argv[1]);
867
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
870
printf ("%s-pc-linux-gnulibc1\n", argv[1]);
873
printf ("%s-pc-linux-gnuaout\n", argv[1]);
878
eval $set_cc_for_build
879
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
880
rm -f $dummy.c $dummy
881
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
884
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
885
# earlier versions are messed up and put the nodename in both
886
# sysname and nodename.
887
echo i386-sequent-sysv4
889
i*86:UNIX_SV:4.2MP:2.*)
890
# Unixware is an offshoot of SVR4, but it has its own version
891
# number series starting with 2...
892
# I am not positive that other SVR4 systems won't match this,
893
# I just have to hope. -- rms.
894
# Use sysv4.2uw... so that sysv4* matches it.
895
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
897
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
898
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
899
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
900
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
902
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
906
case `/bin/uname -X | grep "^Machine"` in
907
*486*) UNAME_MACHINE=i486 ;;
908
*Pentium) UNAME_MACHINE=i586 ;;
909
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
911
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
914
if test -f /usr/options/cb.name; then
915
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
916
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
917
elif /bin/uname -X 2>/dev/null >/dev/null ; then
918
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
919
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
920
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
921
&& UNAME_MACHINE=i586
922
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
923
&& UNAME_MACHINE=i686
924
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
925
&& UNAME_MACHINE=i686
926
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
928
echo ${UNAME_MACHINE}-pc-sysv32
932
echo ${UNAME_MACHINE}-pc-msdosdjgpp
935
# Left here for compatibility:
936
# uname -m prints for DJGPP always 'pc', but it prints nothing about
937
# the processor, so we play safe by assuming i386.
938
echo i386-pc-msdosdjgpp
946
i860:*:4.*:*) # i860-SVR4
947
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
948
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
949
else # Add other i860-SVR4 vendors below as they are discovered.
950
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
955
echo m68010-convergent-sysv
958
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
959
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
961
test -r /etc/.relid \
962
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
963
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
964
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
965
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
966
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
967
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
968
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
969
&& echo i486-ncr-sysv4 && exit 0 ;;
970
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
971
echo m68k-unknown-lynxos${UNAME_RELEASE}
973
mc68030:UNIX_System_V:4.*:*)
974
echo m68k-atari-sysv4
976
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
977
echo i386-unknown-lynxos${UNAME_RELEASE}
979
TSUNAMI:LynxOS:2.*:*)
980
echo sparc-unknown-lynxos${UNAME_RELEASE}
983
echo rs6000-unknown-lynxos${UNAME_RELEASE}
985
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
986
echo powerpc-unknown-lynxos${UNAME_RELEASE}
989
echo mips-dde-sysv${UNAME_RELEASE}
991
RM*:ReliantUNIX-*:*:*)
998
if uname -p 2>/dev/null >/dev/null ; then
999
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1000
echo ${UNAME_MACHINE}-sni-sysv4
1005
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1006
# says <Richard.M.Bartel@ccMail.Census.GOV>
1007
echo i586-unisys-sysv4
1009
*:UNIX_System_V:4*:FTX*)
1010
# From Gerald Hewes <hewes@openmarket.com>.
1011
# How about differentiating between stratus architectures? -djm
1012
echo hppa1.1-stratus-sysv4
1015
# From seanf@swdc.stratus.com.
1016
echo i860-stratus-sysv4
1019
# From Paul.Green@stratus.com.
1020
echo hppa1.1-stratus-vos
1023
echo m68k-apple-aux${UNAME_RELEASE}
1026
echo mips-sony-newsos6
1028
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1029
if [ -d /usr/nec ]; then
1030
echo mips-nec-sysv${UNAME_RELEASE}
1032
echo mips-unknown-sysv${UNAME_RELEASE}
1035
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1036
echo powerpc-be-beos
1038
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1039
echo powerpc-apple-beos
1041
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1045
echo sx4-nec-superux${UNAME_RELEASE}
1048
echo sx5-nec-superux${UNAME_RELEASE}
1050
Power*:Rhapsody:*:*)
1051
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1054
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1057
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1059
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1060
if test "${UNAME_MACHINE}" = "x86pc"; then
1063
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1068
NSR-[KW]:NONSTOP_KERNEL:*:*)
1069
echo nsr-tandem-nsk${UNAME_RELEASE}
1072
echo mips-compaq-nonstopux
1075
echo bs2000-siemens-sysv
1077
DS/*:UNIX_System_V:*:*)
1078
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1081
# "uname -m" is not consistent, so use $cputype instead. 386
1082
# is converted to i386 for consistency with other x86
1083
# operating systems.
1084
if test "$cputype" = "386"; then
1087
UNAME_MACHINE="$cputype"
1089
echo ${UNAME_MACHINE}-unknown-plan9
1092
# If we were able to find `uname', then EMX Unix compatibility
1093
# is probably installed.
1094
echo ${UNAME_MACHINE}-pc-os2-emx
1097
echo pdp10-unknown-tops10
1100
echo pdp10-unknown-tenex
1102
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1103
echo pdp10-dec-tops20
1105
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1106
echo pdp10-xkl-tops20
1109
echo pdp10-unknown-tops20
1112
echo pdp10-unknown-its
1114
i*86:XTS-300:*:STOP)
1115
echo ${UNAME_MACHINE}-unknown-stop
1119
#echo '(No uname command or uname output not recognized.)' 1>&2
1120
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1124
# include <sys/types.h>
1125
# include <sys/utsname.h>
1130
#if defined (MIPSEB)
1131
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1133
printf ("mips-sony-bsd\n"); exit (0);
1135
#include <sys/param.h>
1136
printf ("m68k-sony-newsos%s\n",
1146
#if defined (__arm) && defined (__acorn) && defined (__unix)
1147
printf ("arm-acorn-riscix"); exit (0);
1150
#if defined (hp300) && !defined (hpux)
1151
printf ("m68k-hp-bsd\n"); exit (0);
1155
#if !defined (__ARCHITECTURE__)
1156
#define __ARCHITECTURE__ "m68k"
1159
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1161
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1163
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1167
#if defined (MULTIMAX) || defined (n16)
1169
printf ("ns32k-encore-sysv\n"); exit (0);
1172
printf ("ns32k-encore-mach\n"); exit (0);
1174
printf ("ns32k-encore-bsd\n"); exit (0);
1179
#if defined (__386BSD__)
1180
printf ("i386-pc-bsd\n"); exit (0);
1183
#if defined (sequent)
1185
printf ("i386-sequent-dynix\n"); exit (0);
1187
#if defined (ns32000)
1188
printf ("ns32k-sequent-dynix\n"); exit (0);
1192
#if defined (_SEQUENT_)
1197
if (strncmp(un.version, "V2", 2) == 0) {
1198
printf ("i386-sequent-ptx2\n"); exit (0);
1200
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1201
printf ("i386-sequent-ptx1\n"); exit (0);
1203
printf ("i386-sequent-ptx\n"); exit (0);
1208
# if !defined (ultrix)
1209
# include <sys/param.h>
1212
printf ("vax-dec-bsd4.3\n"); exit (0);
1215
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1217
printf ("vax-dec-bsd\n"); exit (0);
1221
printf ("vax-dec-bsd\n"); exit (0);
1224
printf ("vax-dec-ultrix\n"); exit (0);
1228
#if defined (alliant) && defined (i860)
1229
printf ("i860-alliant-bsd\n"); exit (0);
1236
eval $set_cc_for_build
1237
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1238
rm -f $dummy.c $dummy
1240
# Apollos put the system type in the environment.
1242
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1244
# Convex versions that predate uname can use getsysinfo(1)
1246
if [ -x /usr/convex/getsysinfo ]
1248
case `getsysinfo -f cpu_type` in
1253
if getsysinfo -f scalar_acc
1254
then echo c32-convex-bsd
1255
else echo c2-convex-bsd
1271
$0: unable to guess system type
1273
This script, last modified $timestamp, has failed to recognize
1274
the operating system you are using. It is advised that you
1275
download the most up to date version of the config scripts from
1277
ftp://ftp.gnu.org/pub/gnu/config/
1279
If the version you run ($0) is already up to date, please
1280
send the following data and any information you think might be
1281
pertinent to <config-patches@gnu.org> in order to provide the needed
1282
information to handle your system.
1284
config.guess timestamp = $timestamp
1286
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1287
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1288
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1289
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1291
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1292
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1294
hostinfo = `(hostinfo) 2>/dev/null`
1295
/bin/universe = `(/bin/universe) 2>/dev/null`
1296
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1297
/bin/arch = `(/bin/arch) 2>/dev/null`
1298
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1299
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1301
UNAME_MACHINE = ${UNAME_MACHINE}
1302
UNAME_RELEASE = ${UNAME_RELEASE}
1303
UNAME_SYSTEM = ${UNAME_SYSTEM}
1304
UNAME_VERSION = ${UNAME_VERSION}
1310
# eval: (add-hook 'write-file-hooks 'time-stamp)
1311
# time-stamp-start: "timestamp='"
1312
# time-stamp-format: "%:y-%02m-%02d"
1313
# time-stamp-end: "'"