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, 93, 94, 95, 96, 97, 98, 99, 2000
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
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 8/24/94.)
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
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
154
| grep __ELF__ >/dev/null
156
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
157
# Return netbsd for either. FIX?
168
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
169
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
170
# contains redundant information, the shorter form:
171
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
172
echo "${machine}-${os}${release}"
175
if test $UNAME_RELEASE = "V4.0"; then
176
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
178
# A Vn.n version is a released version.
179
# A Tn.n version is a released field test version.
180
# A Xn.n version is an unreleased experimental baselevel.
181
# 1.2 uses "1.2" for uname -r.
185
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
192
.frame \$30,16,\$26,0
195
.long 0x47e03d80 # implver \$0
197
.long 0x47e20c21 # amask \$2,\$1
207
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
208
if test "$?" = 0 ; then
211
UNAME_MACHINE="alpha"
214
UNAME_MACHINE="alphaev5"
217
UNAME_MACHINE="alphaev56"
220
UNAME_MACHINE="alphapca56"
223
UNAME_MACHINE="alphaev6"
226
UNAME_MACHINE="alphaev67"
230
rm -f $dummy.s $dummy
231
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
233
Alpha\ *:Windows_NT*:*)
234
# How do we know it's Interix rather than the generic POSIX subsystem?
235
# Should we change UNAME_MACHINE based on the output of uname instead
236
# of the specific Alpha model?
237
echo alpha-pc-interix
239
21064:Windows_NT:50:3)
240
echo alpha-dec-winnt3.5
242
Amiga*:UNIX_System_V:4.0:*)
243
echo m68k-unknown-sysv4
246
echo m68k-unknown-openbsd${UNAME_RELEASE}
248
*:[Aa]miga[Oo][Ss]:*:*)
249
echo ${UNAME_MACHINE}-unknown-amigaos
252
echo mips64el-unknown-openbsd${UNAME_RELEASE}
255
echo mipsel-unknown-openbsd${UNAME_RELEASE}
258
echo mips-unknown-openbsd${UNAME_RELEASE}
261
echo mipsel-unknown-openbsd${UNAME_RELEASE}
264
echo mips-unknown-openbsd${UNAME_RELEASE}
267
echo mipsel-unknown-openbsd${UNAME_RELEASE}
270
echo i370-ibm-openedition
272
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
273
echo arm-acorn-riscix${UNAME_RELEASE}
275
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
276
echo hppa1.1-hitachi-hiuxmpp
278
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
279
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
280
if test "`(/bin/universe) 2>/dev/null`" = att ; then
281
echo pyramid-pyramid-sysv3
283
echo pyramid-pyramid-bsd
287
echo pyramid-pyramid-svr4
290
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
292
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
293
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
296
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
299
# According to config.sub, this is the proper way to canonicalize
300
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
301
# it's likely to be more like Solaris than SunOS4.
302
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
305
case "`/usr/bin/arch -k`" in
307
UNAME_RELEASE=`uname -v`
310
# Japanese Language versions have a version number like `4.1.3-JL'.
311
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
314
echo m68k-sun-sunos${UNAME_RELEASE}
317
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
318
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
319
case "`/bin/arch`" in
321
echo m68k-sun-sunos${UNAME_RELEASE}
324
echo sparc-sun-sunos${UNAME_RELEASE}
329
echo sparc-auspex-sunos${UNAME_RELEASE}
332
echo m68k-unknown-openbsd${UNAME_RELEASE}
334
# The situation for MiNT is a little confusing. The machine name
335
# can be virtually everything (everything which is not
336
# "atarist" or "atariste" at least should have a processor
337
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
338
# to the lowercase version "mint" (or "freemint"). Finally
339
# the system name "TOS" denotes a system which is actually not
340
# MiNT. But MiNT is downward compatible to TOS, so this should
342
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
343
echo m68k-atari-mint${UNAME_RELEASE}
345
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
346
echo m68k-atari-mint${UNAME_RELEASE}
348
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
349
echo m68k-atari-mint${UNAME_RELEASE}
351
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
352
echo m68k-milan-mint${UNAME_RELEASE}
354
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
355
echo m68k-hades-mint${UNAME_RELEASE}
357
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
358
echo m68k-unknown-mint${UNAME_RELEASE}
361
echo m68k-unknown-openbsd${UNAME_RELEASE}
364
echo m68k-unknown-openbsd${UNAME_RELEASE}
367
echo m68k-unknown-openbsd${UNAME_RELEASE}
370
echo m88k-unknown-openbsd${UNAME_RELEASE}
373
echo powerpc-apple-machten${UNAME_RELEASE}
376
echo mips-dec-mach_bsd4.3
379
echo mips-dec-ultrix${UNAME_RELEASE}
382
echo vax-dec-ultrix${UNAME_RELEASE}
384
2020:CLIX:*:* | 2430:CLIX:*:*)
385
echo clipper-intergraph-clix${UNAME_RELEASE}
387
mips:*:*:UMIPS | mips:*:*:RISCos)
388
sed 's/^ //' << EOF >$dummy.c
390
#include <stdio.h> /* for printf() prototype */
391
int main (int argc, char *argv[]) {
393
int main (argc, argv) int argc; char *argv[]; {
395
#if defined (host_mips) && defined (MIPSEB)
396
#if defined (SYSTYPE_SYSV)
397
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
399
#if defined (SYSTYPE_SVR4)
400
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
402
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
403
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
409
$CC_FOR_BUILD $dummy.c -o $dummy \
410
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
411
&& rm -f $dummy.c $dummy && exit 0
412
rm -f $dummy.c $dummy
413
echo mips-mips-riscos${UNAME_RELEASE}
415
Motorola:PowerMAX_OS:*:*)
416
echo powerpc-motorola-powermax
418
Night_Hawk:Power_UNIX:*:*)
419
echo powerpc-harris-powerunix
422
echo m88k-harris-cxux7
425
echo m88k-motorola-sysv4
428
echo m88k-motorola-sysv3
431
# DG/UX returns AViiON for all architectures
432
UNAME_PROCESSOR=`/usr/bin/uname -p`
433
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
435
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
436
[ ${TARGET_BINARY_INTERFACE}x = x ]
438
echo m88k-dg-dgux${UNAME_RELEASE}
440
echo m88k-dg-dguxbcs${UNAME_RELEASE}
443
echo i586-dg-dgux${UNAME_RELEASE}
446
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
447
echo m88k-dolphin-sysv3
450
# Delta 88k system running SVR3
451
echo m88k-motorola-sysv3
453
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
454
echo m88k-tektronix-sysv3
456
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
457
echo m68k-tektronix-bsd
460
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
462
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
463
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
464
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
469
if [ -x /usr/bin/oslevel ] ; then
470
IBM_REV=`/usr/bin/oslevel`
472
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
474
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
477
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
478
sed 's/^ //' << EOF >$dummy.c
479
#include <sys/systemcfg.h>
485
puts("powerpc-ibm-aix3.2.5");
489
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
490
rm -f $dummy.c $dummy
491
echo rs6000-ibm-aix3.2.5
492
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
493
echo rs6000-ibm-aix3.2.4
495
echo rs6000-ibm-aix3.2
499
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
500
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
505
if [ -x /usr/bin/oslevel ] ; then
506
IBM_REV=`/usr/bin/oslevel`
508
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
510
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
515
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
518
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
519
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
520
exit 0 ;; # report: romp-ibm BSD 4.3
522
echo rs6000-bull-bosx
527
9000/[34]??:4.3bsd:1.*:*)
530
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
533
9000/[34678]??:HP-UX:*:*)
534
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
535
case "${UNAME_MACHINE}" in
536
9000/31? ) HP_ARCH=m68000 ;;
537
9000/[34]?? ) HP_ARCH=m68k ;;
538
9000/[678][0-9][0-9])
539
case "${HPUX_REV}" in
541
if [ -x /usr/bin/getconf ]; then
542
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
543
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
544
case "${sc_cpu_version}" in
545
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
546
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
547
532) # CPU_PA_RISC2_0
548
case "${sc_kernel_bits}" in
549
32) HP_ARCH="hppa2.0n" ;;
550
64) HP_ARCH="hppa2.0w" ;;
555
if [ "${HP_ARCH}" = "" ]; then
556
sed 's/^ //' << EOF >$dummy.c
564
#if defined(_SC_KERNEL_BITS)
565
long bits = sysconf(_SC_KERNEL_BITS);
567
long cpu = sysconf (_SC_CPU_VERSION);
571
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
572
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
574
#if defined(_SC_KERNEL_BITS)
577
case 64: puts ("hppa2.0w"); break;
578
case 32: puts ("hppa2.0n"); break;
579
default: puts ("hppa2.0"); break;
581
#else /* !defined(_SC_KERNEL_BITS) */
582
puts ("hppa2.0"); break;
584
default: puts ("hppa1.0"); break;
589
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
590
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
591
rm -f $dummy.c $dummy
594
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
597
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
598
echo ia64-hp-hpux${HPUX_REV}
601
sed 's/^ //' << EOF >$dummy.c
606
long cpu = sysconf (_SC_CPU_VERSION);
607
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
608
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
610
if (CPU_IS_PA_RISC (cpu))
614
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
615
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
616
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
617
default: puts ("hppa-hitachi-hiuxwe2"); break;
620
else if (CPU_IS_HP_MC68K (cpu))
621
puts ("m68k-hitachi-hiuxwe2");
622
else puts ("unknown-hitachi-hiuxwe2");
626
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
627
rm -f $dummy.c $dummy
628
echo unknown-hitachi-hiuxwe2
630
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
637
echo hppa1.0-hp-mpeix
639
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
646
if [ -x /usr/sbin/sysversion ] ; then
647
echo ${UNAME_MACHINE}-unknown-osf1mk
649
echo ${UNAME_MACHINE}-unknown-osf1
653
echo hppa1.1-hp-lites
656
echo hppa-unknown-openbsd
658
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
661
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
662
if getsysinfo -f scalar_acc
663
then echo c32-convex-bsd
664
else echo c2-convex-bsd
667
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
670
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
673
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
680
echo ymp-cray-unicos${UNAME_RELEASE}
683
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
684
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
685
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
688
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
691
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
694
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
697
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
700
echo cray2-cray-unicos
702
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
703
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
704
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
705
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
706
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
709
echo m68k-unknown-openbsd${UNAME_RELEASE}
711
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
712
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
715
echo sparc-unknown-bsdi${UNAME_RELEASE}
718
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
721
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
724
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
727
echo ${UNAME_MACHINE}-pc-cygwin
730
echo ${UNAME_MACHINE}-pc-mingw32
733
echo ${UNAME_MACHINE}-pc-pw32
735
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
736
# How do we know it's Interix rather than the generic POSIX subsystem?
737
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
738
# UNAME_MACHINE based on the output of uname instead of i386?
742
echo ${UNAME_MACHINE}-pc-uwin
745
echo powerpcle-unknown-cygwin
748
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
751
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
754
echo ${UNAME_MACHINE}-pc-minix
757
echo ${UNAME_MACHINE}-unknown-linux-gnu
760
echo ${UNAME_MACHINE}-unknown-linux
763
echo ${UNAME_MACHINE}-unknown-linux-gnu
768
#include <stdio.h> /* for printf() prototype */
769
int main (int argc, char *argv[]) {
771
int main (argc, argv) int argc; char *argv[]; {
774
printf ("%s-unknown-linux-gnu\n", argv[1]);
777
printf ("%sel-unknown-linux-gnu\n", argv[1]);
782
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
783
rm -f $dummy.c $dummy
786
# Determine Lib Version
788
#include <features.h>
789
#if defined(__GLIBC__)
790
extern char __libc_version[];
791
extern char __libc_release[];
797
#if defined(__GLIBC__)
798
printf("%s %s\n", __libc_version, __libc_release);
806
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
807
if test "$?" = 0 ; then
808
./$dummy | grep 1\.99 > /dev/null
809
if test "$?" = 0 ; then LIBC="libc1" ; fi
811
rm -f $dummy.c $dummy
812
echo powerpc-unknown-linux-gnu${LIBC}
818
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
824
.frame \$30,16,\$26,0
827
.long 0x47e03d80 # implver \$0
829
.long 0x47e20c21 # amask \$2,\$1
840
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
841
if test "$?" = 0 ; then
843
0-0) UNAME_MACHINE="alpha" ;;
844
1-0) UNAME_MACHINE="alphaev5" ;;
845
1-1) UNAME_MACHINE="alphaev56" ;;
846
1-101) UNAME_MACHINE="alphapca56" ;;
847
2-303) UNAME_MACHINE="alphaev6" ;;
848
2-307) UNAME_MACHINE="alphaev67" ;;
850
objdump --private-headers $dummy | \
851
grep ld.so.1 > /dev/null
852
if test "$?" = 0 ; then
856
rm -f $dummy.s $dummy
857
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
859
parisc:Linux:*:* | hppa:Linux:*:*)
861
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
862
PA7*) echo hppa1.1-unknown-linux-gnu ;;
863
PA8*) echo hppa2.0-unknown-linux-gnu ;;
864
*) echo hppa-unknown-linux-gnu ;;
867
parisc64:Linux:*:* | hppa64:Linux:*:*)
868
echo hppa64-unknown-linux-gnu
870
s390:Linux:*:* | s390x:Linux:*:*)
871
echo ${UNAME_MACHINE}-ibm-linux
874
echo ${UNAME_MACHINE}-unknown-linux-gnu
876
sparc:Linux:*:* | sparc64:Linux:*:*)
877
echo ${UNAME_MACHINE}-unknown-linux-gnu
880
echo x86_64-unknown-linux-gnu
883
# The BFD linker knows what the default object file format is, so
884
# first see if it will tell us. cd to the root directory to prevent
885
# problems with other programs or directories called `ld' in the path.
886
ld_supported_emulations=`cd /; ld --help 2>&1 \
887
| sed -ne '/supported emulations:/!d
889
s/.*supported emulations: *//
892
case "$ld_supported_emulations" in
894
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
898
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
901
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
905
# Either a pre-BFD a.out linker (linux-gnuoldld)
906
# or one that does not give us useful --help.
907
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
908
# If ld does not provide *any* "supported emulations:"
909
# that means it is gnuoldld.
910
test -z "$ld_supported_emulations" && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
911
case "${UNAME_MACHINE}" in
919
# Determine whether the default compiler is a.out or elf
921
#include <features.h>
923
#include <stdio.h> /* for printf() prototype */
924
int main (int argc, char *argv[]) {
926
int main (argc, argv) int argc; char *argv[]; {
931
printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
933
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
936
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
939
printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
944
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
945
rm -f $dummy.c $dummy
946
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
948
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
949
# are messed up and put the nodename in both sysname and nodename.
951
echo i386-sequent-sysv4
953
i*86:UNIX_SV:4.2MP:2.*)
954
# Unixware is an offshoot of SVR4, but it has its own version
955
# number series starting with 2...
956
# I am not positive that other SVR4 systems won't match this,
957
# I just have to hope. -- rms.
958
# Use sysv4.2uw... so that sysv4* matches it.
959
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
961
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
962
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
963
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
964
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
966
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
970
# Fixed at (any) Pentium or better
972
if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
973
echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
975
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
979
if test -f /usr/options/cb.name; then
980
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
981
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
982
elif /bin/uname -X 2>/dev/null >/dev/null ; then
983
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
984
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
985
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
986
&& UNAME_MACHINE=i586
987
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
988
&& UNAME_MACHINE=i686
989
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
990
&& UNAME_MACHINE=i686
991
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
993
echo ${UNAME_MACHINE}-pc-sysv32
997
echo ${UNAME_MACHINE}-pc-msdosdjgpp
1000
# Left here for compatibility:
1001
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1002
# the processor, so we play safe by assuming i386.
1003
echo i386-pc-msdosdjgpp
1009
echo i860-intel-osf1
1011
i860:*:4.*:*) # i860-SVR4
1012
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1013
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1014
else # Add other i860-SVR4 vendors below as they are discovered.
1015
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1020
echo m68010-convergent-sysv
1023
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1024
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
1026
test -r /etc/.relid \
1027
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1028
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1029
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
1030
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1031
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1032
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1033
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1034
&& echo i486-ncr-sysv4 && exit 0 ;;
1035
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1036
echo m68k-unknown-lynxos${UNAME_RELEASE}
1038
mc68030:UNIX_System_V:4.*:*)
1039
echo m68k-atari-sysv4
1041
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1042
echo i386-unknown-lynxos${UNAME_RELEASE}
1044
TSUNAMI:LynxOS:2.*:*)
1045
echo sparc-unknown-lynxos${UNAME_RELEASE}
1047
rs6000:LynxOS:2.*:*)
1048
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1050
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1051
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1053
SM[BE]S:UNIX_SV:*:*)
1054
echo mips-dde-sysv${UNAME_RELEASE}
1056
RM*:ReliantUNIX-*:*:*)
1063
if uname -p 2>/dev/null >/dev/null ; then
1064
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1065
echo ${UNAME_MACHINE}-sni-sysv4
1070
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1071
# says <Richard.M.Bartel@ccMail.Census.GOV>
1072
echo i586-unisys-sysv4
1074
*:UNIX_System_V:4*:FTX*)
1075
# From Gerald Hewes <hewes@openmarket.com>.
1076
# How about differentiating between stratus architectures? -djm
1077
echo hppa1.1-stratus-sysv4
1080
# From seanf@swdc.stratus.com.
1081
echo i860-stratus-sysv4
1084
echo m68k-apple-aux${UNAME_RELEASE}
1087
echo mips-sony-newsos6
1089
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1090
if [ -d /usr/nec ]; then
1091
echo mips-nec-sysv${UNAME_RELEASE}
1093
echo mips-unknown-sysv${UNAME_RELEASE}
1096
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1097
echo powerpc-be-beos
1099
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1100
echo powerpc-apple-beos
1102
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1106
echo sx4-nec-superux${UNAME_RELEASE}
1109
echo sx5-nec-superux${UNAME_RELEASE}
1111
Power*:Rhapsody:*:*)
1112
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1115
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1118
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1120
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1121
if test "${UNAME_MACHINE}" = "x86pc"; then
1124
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1129
NSR-[KW]:NONSTOP_KERNEL:*:*)
1130
echo nsr-tandem-nsk${UNAME_RELEASE}
1133
echo mips-compaq-nonstopux
1136
echo bs2000-siemens-sysv
1138
DS/*:UNIX_System_V:*:*)
1139
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1142
# "uname -m" is not consistent, so use $cputype instead. 386
1143
# is converted to i386 for consistency with other x86
1144
# operating systems.
1145
if test "$cputype" = "386"; then
1148
UNAME_MACHINE="$cputype"
1150
echo ${UNAME_MACHINE}-unknown-plan9
1153
# If we were able to find `uname', then EMX Unix compatibility
1154
# is probably installed.
1155
echo ${UNAME_MACHINE}-pc-os2-emx
1158
echo pdp10-unknown-tops10
1161
echo pdp10-unknown-tenex
1163
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1164
echo pdp10-dec-tops20
1166
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1167
echo pdp10-xkl-tops20
1170
echo pdp10-unknown-tops20
1173
echo pdp10-unknown-its
1177
#echo '(No uname command or uname output not recognized.)' 1>&2
1178
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1182
# include <sys/types.h>
1183
# include <sys/utsname.h>
1188
#if defined (MIPSEB)
1189
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1191
printf ("mips-sony-bsd\n"); exit (0);
1193
#include <sys/param.h>
1194
printf ("m68k-sony-newsos%s\n",
1204
#if defined (__arm) && defined (__acorn) && defined (__unix)
1205
printf ("arm-acorn-riscix"); exit (0);
1208
#if defined (hp300) && !defined (hpux)
1209
printf ("m68k-hp-bsd\n"); exit (0);
1213
#if !defined (__ARCHITECTURE__)
1214
#define __ARCHITECTURE__ "m68k"
1217
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1219
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1221
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1225
#if defined (MULTIMAX) || defined (n16)
1227
printf ("ns32k-encore-sysv\n"); exit (0);
1230
printf ("ns32k-encore-mach\n"); exit (0);
1232
printf ("ns32k-encore-bsd\n"); exit (0);
1237
#if defined (__386BSD__)
1238
printf ("i386-pc-bsd\n"); exit (0);
1241
#if defined (sequent)
1243
printf ("i386-sequent-dynix\n"); exit (0);
1245
#if defined (ns32000)
1246
printf ("ns32k-sequent-dynix\n"); exit (0);
1250
#if defined (_SEQUENT_)
1255
if (strncmp(un.version, "V2", 2) == 0) {
1256
printf ("i386-sequent-ptx2\n"); exit (0);
1258
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1259
printf ("i386-sequent-ptx1\n"); exit (0);
1261
printf ("i386-sequent-ptx\n"); exit (0);
1266
# if !defined (ultrix)
1267
# include <sys/param.h>
1270
printf ("vax-dec-bsd4.3\n"); exit (0);
1273
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1275
printf ("vax-dec-bsd\n"); exit (0);
1279
printf ("vax-dec-bsd\n"); exit (0);
1282
printf ("vax-dec-ultrix\n"); exit (0);
1286
#if defined (alliant) && defined (i860)
1287
printf ("i860-alliant-bsd\n"); exit (0);
1294
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1295
rm -f $dummy.c $dummy
1297
# Apollos put the system type in the environment.
1299
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1301
# Convex versions that predate uname can use getsysinfo(1)
1303
if [ -x /usr/convex/getsysinfo ]
1305
case `getsysinfo -f cpu_type` in
1310
if getsysinfo -f scalar_acc
1311
then echo c32-convex-bsd
1312
else echo c2-convex-bsd
1328
$0: unable to guess system type
1330
This script, last modified $timestamp, has failed to recognize
1331
the operating system you are using. It is advised that you
1332
download the most up to date version of the config scripts from
1334
ftp://ftp.gnu.org/pub/gnu/config/
1336
If the version you run ($0) is already up to date, please
1337
send the following data and any information you think might be
1338
pertinent to <config-patches@gnu.org> in order to provide the needed
1339
information to handle your system.
1341
config.guess timestamp = $timestamp
1343
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1344
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1345
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1346
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1348
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1349
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1351
hostinfo = `(hostinfo) 2>/dev/null`
1352
/bin/universe = `(/bin/universe) 2>/dev/null`
1353
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1354
/bin/arch = `(/bin/arch) 2>/dev/null`
1355
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1356
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1358
UNAME_MACHINE = ${UNAME_MACHINE}
1359
UNAME_RELEASE = ${UNAME_RELEASE}
1360
UNAME_SYSTEM = ${UNAME_SYSTEM}
1361
UNAME_VERSION = ${UNAME_VERSION}
1367
# eval: (add-hook 'write-file-hooks 'time-stamp)
1368
# time-stamp-start: "timestamp='"
1369
# time-stamp-format: "%:y-%02m-%02d"
1370
# time-stamp-end: "'"