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
case "${UNAME_MACHINE}" in
128
test -z "$VENDOR" && VENDOR=pc
131
test -z "$VENDOR" && VENDOR=unknown
134
test -f /etc/SuSE-release && VENDOR=suse
136
# Note: order is significant - the case branches are not exclusive.
138
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
140
# Netbsd (nbsd) targets should (where applicable) match one or
141
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
142
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
143
# switched to ELF, *-*-netbsd* would select the old
144
# object file format. This provides both forward
145
# compatibility and a consistent mechanism for selecting the
146
# object file format.
147
# Determine the machine/vendor (is the vendor relevant).
148
case "${UNAME_MACHINE}" in
149
amiga) machine=m68k-unknown ;;
150
arm32) machine=arm-unknown ;;
151
atari*) machine=m68k-atari ;;
152
sun3*) machine=m68k-sun ;;
153
mac68k) machine=m68k-apple ;;
154
macppc) machine=powerpc-apple ;;
155
hp3[0-9][05]) machine=m68k-hp ;;
156
ibmrt|romp-ibm) machine=romp-ibm ;;
157
*) machine=${UNAME_MACHINE}-unknown ;;
159
# The Operating System including object format, if it has switched
160
# to ELF recently, or will in the future.
161
case "${UNAME_MACHINE}" in
162
i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
163
eval $set_cc_for_build
164
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
165
| grep __ELF__ >/dev/null
167
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
168
# Return netbsd for either. FIX?
179
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
180
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
181
# contains redundant information, the shorter form:
182
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
183
echo "${machine}-${os}${release}"
186
if test $UNAME_RELEASE = "V4.0"; then
187
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
189
# A Vn.n version is a released version.
190
# A Tn.n version is a released field test version.
191
# A Xn.n version is an unreleased experimental baselevel.
192
# 1.2 uses "1.2" for uname -r.
196
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
203
.frame \$30,16,\$26,0
206
.long 0x47e03d80 # implver \$0
208
.long 0x47e20c21 # amask \$2,\$1
218
eval $set_cc_for_build
219
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
220
if test "$?" = 0 ; then
223
UNAME_MACHINE="alpha"
226
UNAME_MACHINE="alphaev5"
229
UNAME_MACHINE="alphaev56"
232
UNAME_MACHINE="alphapca56"
235
UNAME_MACHINE="alphaev6"
238
UNAME_MACHINE="alphaev67"
241
UNAME_MACHINE="alphaev68"
245
rm -f $dummy.s $dummy
246
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
248
Alpha\ *:Windows_NT*:*)
249
# How do we know it's Interix rather than the generic POSIX subsystem?
250
# Should we change UNAME_MACHINE based on the output of uname instead
251
# of the specific Alpha model?
252
echo alpha-pc-interix
254
21064:Windows_NT:50:3)
255
echo alpha-dec-winnt3.5
257
Amiga*:UNIX_System_V:4.0:*)
258
echo m68k-unknown-sysv4
261
echo m68k-unknown-openbsd${UNAME_RELEASE}
263
*:[Aa]miga[Oo][Ss]:*:*)
264
echo ${UNAME_MACHINE}-unknown-amigaos
267
echo mips64el-unknown-openbsd${UNAME_RELEASE}
270
echo mipsel-unknown-openbsd${UNAME_RELEASE}
273
echo mips-unknown-openbsd${UNAME_RELEASE}
276
echo mipsel-unknown-openbsd${UNAME_RELEASE}
279
echo mips-unknown-openbsd${UNAME_RELEASE}
282
echo mipsel-unknown-openbsd${UNAME_RELEASE}
285
echo i370-ibm-openedition
287
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
288
echo arm-acorn-riscix${UNAME_RELEASE}
290
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
291
echo hppa1.1-hitachi-hiuxmpp
293
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
294
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
295
if test "`(/bin/universe) 2>/dev/null`" = att ; then
296
echo pyramid-pyramid-sysv3
298
echo pyramid-pyramid-bsd
302
echo pyramid-pyramid-svr4
305
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
307
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
308
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
311
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
314
# According to config.sub, this is the proper way to canonicalize
315
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
316
# it's likely to be more like Solaris than SunOS4.
317
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
320
case "`/usr/bin/arch -k`" in
322
UNAME_RELEASE=`uname -v`
325
# Japanese Language versions have a version number like `4.1.3-JL'.
326
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
329
echo m68k-sun-sunos${UNAME_RELEASE}
332
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
333
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
334
case "`/bin/arch`" in
336
echo m68k-sun-sunos${UNAME_RELEASE}
339
echo sparc-sun-sunos${UNAME_RELEASE}
344
echo sparc-auspex-sunos${UNAME_RELEASE}
347
echo `uname -p`-unknown-netbsd${UNAME_RELEASE}
350
echo m68k-unknown-openbsd${UNAME_RELEASE}
352
# The situation for MiNT is a little confusing. The machine name
353
# can be virtually everything (everything which is not
354
# "atarist" or "atariste" at least should have a processor
355
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
356
# to the lowercase version "mint" (or "freemint"). Finally
357
# the system name "TOS" denotes a system which is actually not
358
# MiNT. But MiNT is downward compatible to TOS, so this should
360
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
361
echo m68k-atari-mint${UNAME_RELEASE}
363
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
364
echo m68k-atari-mint${UNAME_RELEASE}
366
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
367
echo m68k-atari-mint${UNAME_RELEASE}
369
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
370
echo m68k-milan-mint${UNAME_RELEASE}
372
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
373
echo m68k-hades-mint${UNAME_RELEASE}
375
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
376
echo m68k-unknown-mint${UNAME_RELEASE}
379
echo m68k-unknown-openbsd${UNAME_RELEASE}
382
echo m68k-unknown-openbsd${UNAME_RELEASE}
385
echo m68k-unknown-openbsd${UNAME_RELEASE}
388
echo m88k-unknown-openbsd${UNAME_RELEASE}
391
echo powerpc-apple-machten${UNAME_RELEASE}
394
echo mips-dec-mach_bsd4.3
397
echo mips-dec-ultrix${UNAME_RELEASE}
400
echo vax-dec-ultrix${UNAME_RELEASE}
402
2020:CLIX:*:* | 2430:CLIX:*:*)
403
echo clipper-intergraph-clix${UNAME_RELEASE}
405
mips:*:*:UMIPS | mips:*:*:RISCos)
406
sed 's/^ //' << EOF >$dummy.c
408
#include <stdio.h> /* for printf() prototype */
409
int main (int argc, char *argv[]) {
411
int main (argc, argv) int argc; char *argv[]; {
413
#if defined (host_mips) && defined (MIPSEB)
414
#if defined (SYSTYPE_SYSV)
415
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
417
#if defined (SYSTYPE_SVR4)
418
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
420
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
421
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
427
eval $set_cc_for_build
428
$CC_FOR_BUILD $dummy.c -o $dummy \
429
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
430
&& rm -f $dummy.c $dummy && exit 0
431
rm -f $dummy.c $dummy
432
echo mips-mips-riscos${UNAME_RELEASE}
434
Motorola:PowerMAX_OS:*:*)
435
echo powerpc-motorola-powermax
437
Night_Hawk:Power_UNIX:*:*)
438
echo powerpc-harris-powerunix
441
echo m88k-harris-cxux7
444
echo m88k-motorola-sysv4
447
echo m88k-motorola-sysv3
450
# DG/UX returns AViiON for all architectures
451
UNAME_PROCESSOR=`/usr/bin/uname -p`
452
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
454
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
455
[ ${TARGET_BINARY_INTERFACE}x = x ]
457
echo m88k-dg-dgux${UNAME_RELEASE}
459
echo m88k-dg-dguxbcs${UNAME_RELEASE}
462
echo i586-dg-dgux${UNAME_RELEASE}
465
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
466
echo m88k-dolphin-sysv3
469
# Delta 88k system running SVR3
470
echo m88k-motorola-sysv3
472
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
473
echo m88k-tektronix-sysv3
475
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
476
echo m68k-tektronix-bsd
479
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
481
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
482
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
483
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
488
if [ -x /usr/bin/oslevel ] ; then
489
IBM_REV=`/usr/bin/oslevel`
491
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
493
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
496
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
497
sed 's/^ //' << EOF >$dummy.c
498
#include <sys/systemcfg.h>
504
puts("powerpc-ibm-aix3.2.5");
508
eval $set_cc_for_build
509
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
510
rm -f $dummy.c $dummy
511
echo rs6000-ibm-aix3.2.5
512
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
513
echo rs6000-ibm-aix3.2.4
515
echo rs6000-ibm-aix3.2
519
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
520
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
525
if [ -x /usr/bin/oslevel ] ; then
526
IBM_REV=`/usr/bin/oslevel`
528
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
530
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
535
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
538
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
539
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
540
exit 0 ;; # report: romp-ibm BSD 4.3
542
echo rs6000-bull-bosx
547
9000/[34]??:4.3bsd:1.*:*)
550
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
553
9000/[34678]??:HP-UX:*:*)
554
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
555
case "${UNAME_MACHINE}" in
556
9000/31? ) HP_ARCH=m68000 ;;
557
9000/[34]?? ) HP_ARCH=m68k ;;
558
9000/[678][0-9][0-9])
559
case "${HPUX_REV}" in
561
if [ -x /usr/bin/getconf ]; then
562
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
563
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
564
case "${sc_cpu_version}" in
565
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
566
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
567
532) # CPU_PA_RISC2_0
568
case "${sc_kernel_bits}" in
569
32) HP_ARCH="hppa2.0n" ;;
570
64) HP_ARCH="hppa2.0w" ;;
575
if [ "${HP_ARCH}" = "" ]; then
576
sed 's/^ //' << EOF >$dummy.c
584
#if defined(_SC_KERNEL_BITS)
585
long bits = sysconf(_SC_KERNEL_BITS);
587
long cpu = sysconf (_SC_CPU_VERSION);
591
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
592
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
594
#if defined(_SC_KERNEL_BITS)
597
case 64: puts ("hppa2.0w"); break;
598
case 32: puts ("hppa2.0n"); break;
599
default: puts ("hppa2.0"); break;
601
#else /* !defined(_SC_KERNEL_BITS) */
602
puts ("hppa2.0"); break;
604
default: puts ("hppa1.0"); break;
609
eval $set_cc_for_build
610
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
611
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
612
rm -f $dummy.c $dummy
615
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
618
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
619
echo ia64-hp-hpux${HPUX_REV}
622
sed 's/^ //' << EOF >$dummy.c
627
long cpu = sysconf (_SC_CPU_VERSION);
628
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
629
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
631
if (CPU_IS_PA_RISC (cpu))
635
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
636
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
637
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
638
default: puts ("hppa-hitachi-hiuxwe2"); break;
641
else if (CPU_IS_HP_MC68K (cpu))
642
puts ("m68k-hitachi-hiuxwe2");
643
else puts ("unknown-hitachi-hiuxwe2");
647
eval $set_cc_for_build
648
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
649
rm -f $dummy.c $dummy
650
echo unknown-hitachi-hiuxwe2
652
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
658
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
659
echo hppa1.0-hp-mpeix
661
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
668
if [ -x /usr/sbin/sysversion ] ; then
669
echo ${UNAME_MACHINE}-unknown-osf1mk
671
echo ${UNAME_MACHINE}-unknown-osf1
675
echo hppa1.1-hp-lites
678
echo hppa-unknown-openbsd
680
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
683
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
684
if getsysinfo -f scalar_acc
685
then echo c32-convex-bsd
686
else echo c2-convex-bsd
689
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
692
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
695
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
702
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
705
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
706
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
707
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
711
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
714
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
717
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
720
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
723
echo cray2-cray-unicos
725
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
726
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
727
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
728
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
729
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
732
echo m68k-unknown-openbsd${UNAME_RELEASE}
734
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
735
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
738
echo sparc-unknown-bsdi${UNAME_RELEASE}
741
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
744
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
747
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
750
echo ${UNAME_MACHINE}-pc-cygwin
753
echo ${UNAME_MACHINE}-pc-mingw32
756
echo ${UNAME_MACHINE}-pc-pw32
758
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
759
# How do we know it's Interix rather than the generic POSIX subsystem?
760
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
761
# UNAME_MACHINE based on the output of uname instead of i386?
765
echo ${UNAME_MACHINE}-pc-uwin
768
echo powerpcle-unknown-cygwin
771
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
774
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
777
echo ${UNAME_MACHINE}-pc-minix
780
echo ${UNAME_MACHINE}-${VENDOR}-linux
783
echo ${UNAME_MACHINE}-${VENDOR}-linux
786
echo ${UNAME_MACHINE}-${VENDOR}-linux
789
case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
790
big) echo mips-${VENDOR}-linux && exit 0 ;;
791
little) echo mipsel-${VENDOR}-linux && exit 0 ;;
793
case `sed -n '/^system type/s/^.*: \([^ ]*\).*/\1/p' < /proc/cpuinfo` in
794
SGI|sgi) echo mips-${VENDOR}-linux-gnu && exit 0 ;;
797
ppc:Linux:*:*|ppc64:Linux:*:*)
798
echo powerpc-${VENDOR}-linux
801
echo powerpc64-unknown-linux-gnu
804
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
805
EV5) UNAME_MACHINE=alphaev5 ;;
806
EV56) UNAME_MACHINE=alphaev56 ;;
807
PCA56) UNAME_MACHINE=alphapca56 ;;
808
PCA57) UNAME_MACHINE=alphapca56 ;;
809
EV6) UNAME_MACHINE=alphaev6 ;;
810
EV67) UNAME_MACHINE=alphaev67 ;;
811
EV68*) UNAME_MACHINE=alphaev68 ;;
813
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
814
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
815
echo ${UNAME_MACHINE}-${VENDOR}-linux${LIBC}
817
parisc:Linux:*:* | hppa:Linux:*:*)
819
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
820
PA7*) echo hppa1.1-${VENDOR}-linux ;;
821
PA8*) echo hppa2.0-${VENDOR}-linux ;;
822
*) echo hppa-${VENDOR}-linux ;;
825
parisc64:Linux:*:* | hppa64:Linux:*:*)
826
echo hppa64-${VENDOR}-linux
828
s390:Linux:*:* | s390x:Linux:*:*)
829
echo ${UNAME_MACHINE}-ibm-linux
832
echo ${UNAME_MACHINE}-${VENDOR}-linux
834
sparc:Linux:*:* | sparc64:Linux:*:*)
835
echo ${UNAME_MACHINE}-${VENDOR}-linux
838
echo x86_64-${VENDOR}-linux
841
# The BFD linker knows what the default object file format is, so
842
# first see if it will tell us. cd to the root directory to prevent
843
# problems with other programs or directories called `ld' in the path.
844
ld_supported_targets=`cd /; ld --help 2>&1 \
845
| sed -ne '/supported targets:/!d
847
s/.*supported targets: *//
850
case "$ld_supported_targets" in
852
TENTATIVE="${UNAME_MACHINE}-${VENDOR}-linux"
855
echo "${UNAME_MACHINE}-${VENDOR}-linuxaout"
858
echo "${UNAME_MACHINE}-${VENDOR}-linuxcoff"
861
# Either a pre-BFD a.out linker (linuxoldld) or
862
# one that does not give us useful --help.
863
echo "${UNAME_MACHINE}-${VENDOR}-linuxoldld"
866
# Determine whether the default compiler is a.out or elf
868
#include <features.h>
870
#include <stdio.h> /* for printf() prototype */
871
int main (int argc, char *argv[]) {
873
int main (argc, argv) int argc; char *argv[]; {
878
printf ("%s-${VENDOR}-linux\n", argv[1]);
880
printf ("%s-${VENDOR}-linuxlibc1\n", argv[1]);
883
printf ("%s-${VENDOR}-linuxlibc1\n", argv[1]);
886
printf ("%s-${VENDOR}-linuxaout\n", argv[1]);
891
eval $set_cc_for_build
892
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
893
rm -f $dummy.c $dummy
894
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
897
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
898
# earlier versions are messed up and put the nodename in both
899
# sysname and nodename.
900
echo i386-sequent-sysv4
902
i*86:UNIX_SV:4.2MP:2.*)
903
# Unixware is an offshoot of SVR4, but it has its own version
904
# number series starting with 2...
905
# I am not positive that other SVR4 systems won't match this,
906
# I just have to hope. -- rms.
907
# Use sysv4.2uw... so that sysv4* matches it.
908
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
910
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
911
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
912
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
913
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
915
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
919
case `/bin/uname -X | grep "^Machine"` in
920
*486*) UNAME_MACHINE=i486 ;;
921
*Pentium) UNAME_MACHINE=i586 ;;
922
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
924
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
927
if test -f /usr/options/cb.name; then
928
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
929
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
930
elif /bin/uname -X 2>/dev/null >/dev/null ; then
931
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
932
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
933
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
934
&& UNAME_MACHINE=i586
935
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
936
&& UNAME_MACHINE=i686
937
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
938
&& UNAME_MACHINE=i686
939
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
941
echo ${UNAME_MACHINE}-pc-sysv32
945
echo ${UNAME_MACHINE}-pc-msdosdjgpp
948
# Left here for compatibility:
949
# uname -m prints for DJGPP always 'pc', but it prints nothing about
950
# the processor, so we play safe by assuming i386.
951
echo i386-pc-msdosdjgpp
959
i860:*:4.*:*) # i860-SVR4
960
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
961
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
962
else # Add other i860-SVR4 vendors below as they are discovered.
963
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
968
echo m68010-convergent-sysv
971
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
972
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
974
test -r /etc/.relid \
975
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
976
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
977
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
978
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
979
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
980
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
981
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
982
&& echo i486-ncr-sysv4 && exit 0 ;;
983
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
984
echo m68k-unknown-lynxos${UNAME_RELEASE}
986
mc68030:UNIX_System_V:4.*:*)
987
echo m68k-atari-sysv4
989
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
990
echo i386-unknown-lynxos${UNAME_RELEASE}
992
TSUNAMI:LynxOS:2.*:*)
993
echo sparc-unknown-lynxos${UNAME_RELEASE}
996
echo rs6000-unknown-lynxos${UNAME_RELEASE}
998
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
999
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1001
SM[BE]S:UNIX_SV:*:*)
1002
echo mips-dde-sysv${UNAME_RELEASE}
1004
RM*:ReliantUNIX-*:*:*)
1011
if uname -p 2>/dev/null >/dev/null ; then
1012
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1013
echo ${UNAME_MACHINE}-sni-sysv4
1018
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1019
# says <Richard.M.Bartel@ccMail.Census.GOV>
1020
echo i586-unisys-sysv4
1022
*:UNIX_System_V:4*:FTX*)
1023
# From Gerald Hewes <hewes@openmarket.com>.
1024
# How about differentiating between stratus architectures? -djm
1025
echo hppa1.1-stratus-sysv4
1028
# From seanf@swdc.stratus.com.
1029
echo i860-stratus-sysv4
1032
# From Paul.Green@stratus.com.
1033
echo hppa1.1-stratus-vos
1036
echo m68k-apple-aux${UNAME_RELEASE}
1039
echo mips-sony-newsos6
1041
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1042
if [ -d /usr/nec ]; then
1043
echo mips-nec-sysv${UNAME_RELEASE}
1045
echo mips-unknown-sysv${UNAME_RELEASE}
1048
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1049
echo powerpc-be-beos
1051
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1052
echo powerpc-apple-beos
1054
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1058
echo sx4-nec-superux${UNAME_RELEASE}
1061
echo sx5-nec-superux${UNAME_RELEASE}
1063
Power*:Rhapsody:*:*)
1064
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1067
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1070
echo `uname -p`-apple-darwin${UNAME_RELEASE}
1072
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1073
if test "${UNAME_MACHINE}" = "x86pc"; then
1076
echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1081
NSR-[KW]:NONSTOP_KERNEL:*:*)
1082
echo nsr-tandem-nsk${UNAME_RELEASE}
1085
echo mips-compaq-nonstopux
1088
echo bs2000-siemens-sysv
1090
DS/*:UNIX_System_V:*:*)
1091
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1094
# "uname -m" is not consistent, so use $cputype instead. 386
1095
# is converted to i386 for consistency with other x86
1096
# operating systems.
1097
if test "$cputype" = "386"; then
1100
UNAME_MACHINE="$cputype"
1102
echo ${UNAME_MACHINE}-unknown-plan9
1105
# If we were able to find `uname', then EMX Unix compatibility
1106
# is probably installed.
1107
echo ${UNAME_MACHINE}-pc-os2-emx
1110
echo pdp10-unknown-tops10
1113
echo pdp10-unknown-tenex
1115
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1116
echo pdp10-dec-tops20
1118
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1119
echo pdp10-xkl-tops20
1122
echo pdp10-unknown-tops20
1125
echo pdp10-unknown-its
1127
i*86:XTS-300:*:STOP)
1128
echo ${UNAME_MACHINE}-unknown-stop
1132
#echo '(No uname command or uname output not recognized.)' 1>&2
1133
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1137
# include <sys/types.h>
1138
# include <sys/utsname.h>
1143
#if defined (MIPSEB)
1144
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1146
printf ("mips-sony-bsd\n"); exit (0);
1148
#include <sys/param.h>
1149
printf ("m68k-sony-newsos%s\n",
1159
#if defined (__arm) && defined (__acorn) && defined (__unix)
1160
printf ("arm-acorn-riscix"); exit (0);
1163
#if defined (hp300) && !defined (hpux)
1164
printf ("m68k-hp-bsd\n"); exit (0);
1168
#if !defined (__ARCHITECTURE__)
1169
#define __ARCHITECTURE__ "m68k"
1172
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1174
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1176
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1180
#if defined (MULTIMAX) || defined (n16)
1182
printf ("ns32k-encore-sysv\n"); exit (0);
1185
printf ("ns32k-encore-mach\n"); exit (0);
1187
printf ("ns32k-encore-bsd\n"); exit (0);
1192
#if defined (__386BSD__)
1193
printf ("i386-pc-bsd\n"); exit (0);
1196
#if defined (sequent)
1198
printf ("i386-sequent-dynix\n"); exit (0);
1200
#if defined (ns32000)
1201
printf ("ns32k-sequent-dynix\n"); exit (0);
1205
#if defined (_SEQUENT_)
1210
if (strncmp(un.version, "V2", 2) == 0) {
1211
printf ("i386-sequent-ptx2\n"); exit (0);
1213
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1214
printf ("i386-sequent-ptx1\n"); exit (0);
1216
printf ("i386-sequent-ptx\n"); exit (0);
1221
# if !defined (ultrix)
1222
# include <sys/param.h>
1225
printf ("vax-dec-bsd4.3\n"); exit (0);
1228
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1230
printf ("vax-dec-bsd\n"); exit (0);
1234
printf ("vax-dec-bsd\n"); exit (0);
1237
printf ("vax-dec-ultrix\n"); exit (0);
1241
#if defined (alliant) && defined (i860)
1242
printf ("i860-alliant-bsd\n"); exit (0);
1249
eval $set_cc_for_build
1250
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1251
rm -f $dummy.c $dummy
1253
# Apollos put the system type in the environment.
1255
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1257
# Convex versions that predate uname can use getsysinfo(1)
1259
if [ -x /usr/convex/getsysinfo ]
1261
case `getsysinfo -f cpu_type` in
1266
if getsysinfo -f scalar_acc
1267
then echo c32-convex-bsd
1268
else echo c2-convex-bsd
1284
$0: unable to guess system type
1286
This script, last modified $timestamp, has failed to recognize
1287
the operating system you are using. It is advised that you
1288
download the most up to date version of the config scripts from
1290
ftp://ftp.gnu.org/pub/gnu/config/
1292
If the version you run ($0) is already up to date, please
1293
send the following data and any information you think might be
1294
pertinent to <config-patches@gnu.org> in order to provide the needed
1295
information to handle your system.
1297
config.guess timestamp = $timestamp
1299
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1300
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1301
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1302
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1304
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1305
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1307
hostinfo = `(hostinfo) 2>/dev/null`
1308
/bin/universe = `(/bin/universe) 2>/dev/null`
1309
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1310
/bin/arch = `(/bin/arch) 2>/dev/null`
1311
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1312
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1314
UNAME_MACHINE = ${UNAME_MACHINE}
1315
UNAME_RELEASE = ${UNAME_RELEASE}
1316
UNAME_SYSTEM = ${UNAME_SYSTEM}
1317
UNAME_VERSION = ${UNAME_VERSION}
1323
# eval: (add-hook 'write-file-hooks 'time-stamp)
1324
# time-stamp-start: "timestamp='"
1325
# time-stamp-format: "%:y-%02m-%02d"
1326
# time-stamp-end: "'"