Statistics
| Revision:

root / config.guess @ 1577

History | View | Annotate | Download (43.2 kB)

1
#! /bin/sh
2
# Attempt to guess a canonical system name.
3
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
5
#   Inc.
6
7
timestamp='2006-07-02'
8
9
# This file is free software; you can redistribute it and/or modify it
10
# under the terms of the GNU General Public License as published by
11
# the Free Software Foundation; either version 2 of the License, or
12
# (at your option) any later version.
13
#
14
# This program is distributed in the hope that it will be useful, but
15
# WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17
# General Public License for more details.
18
#
19
# You should have received a copy of the GNU General Public License
20
# along with this program; if not, write to the Free Software
21
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22
# 02110-1301, USA.
23
#
24
# As a special exception to the GNU General Public License, if you
25
# distribute this file as part of a program that contains a
26
# configuration script generated by Autoconf, you may include it under
27
# the same distribution terms that you use for the rest of that program.
28
29
30
# Originally written by Per Bothner <per@bothner.com>.
31
# Please send patches to <config-patches@gnu.org>.  Submit a context
32
# diff and a properly formatted ChangeLog entry.
33
#
34
# This script attempts to guess a canonical system name similar to
35
# config.sub.  If it succeeds, it prints the system name on stdout, and
36
# exits with 0.  Otherwise, it exits with 1.
37
#
38
# The plan is that this can be called by configure scripts if you
39
# don't specify an explicit build system type.
40
41
me=`echo "$0" | sed -e 's,.*/,,'`
42
43
usage="\
44
Usage: $0 [OPTION]
45
46
Output the configuration name of the system \`$me' is run on.
47
48
Operation modes:
49
  -h, --help         print this help, then exit
50
  -t, --time-stamp   print date of last modification, then exit
51
  -v, --version      print version number, then exit
52
53
Report bugs and patches to <config-patches@gnu.org>."
54
55
version="\
56
GNU config.guess ($timestamp)
57
58
Originally written by Per Bothner.
59
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
60
Free Software Foundation, Inc.
61
62
This is free software; see the source for copying conditions.  There is NO
63
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64
65
help="
66
Try \`$me --help' for more information."
67
68
# Parse command line
69
while test $# -gt 0 ; do
70
  case $1 in
71
    --time-stamp | --time* | -t )
72
       echo "$timestamp" ; exit ;;
73
    --version | -v )
74
       echo "$version" ; exit ;;
75
    --help | --h* | -h )
76
       echo "$usage"; exit ;;
77
    -- )     # Stop option processing
78
       shift; break ;;
79
    - )	# Use stdin as input.
80
       break ;;
81
    -* )
82
       echo "$me: invalid option $1$help" >&2
83
       exit 1 ;;
84
    * )
85
       break ;;
86
  esac
87
done
88
89
if test $# != 0; then
90
  echo "$me: too many arguments$help" >&2
91
  exit 1
92
fi
93
94
trap 'exit 1' 1 2 15
95
96
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97
# compiler to aid in system detection is discouraged as it requires
98
# temporary files to be created and, as you can see below, it is a
99
# headache to deal with in a portable fashion.
100
101
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102
# use `HOST_CC' if defined, but it is deprecated.
103
104
# Portable tmp directory creation inspired by the Autoconf team.
105
106
set_cc_for_build='
107
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109
: ${TMPDIR=/tmp} ;
110
 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111
 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112
 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113
 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114
dummy=$tmp/dummy ;
115
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116
case $CC_FOR_BUILD,$HOST_CC,$CC in
117
 ,,)    echo "int x;" > $dummy.c ;
118
	for c in cc gcc c89 c99 ; do
119
	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
120
	     CC_FOR_BUILD="$c"; break ;
121
	  fi ;
122
	done ;
123
	if test x"$CC_FOR_BUILD" = x ; then
124
	  CC_FOR_BUILD=no_compiler_found ;
125
	fi
126
	;;
127
 ,,*)   CC_FOR_BUILD=$CC ;;
128
 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129
esac ; set_cc_for_build= ;'
130
131
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
132
# (ghazi@noc.rutgers.edu 1994-08-24)
133
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134
	PATH=$PATH:/.attbin ; export PATH
135
fi
136
137
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139
UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
140
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141
142
# Note: order is significant - the case branches are not exclusive.
143
144
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
145
    *:NetBSD:*:*)
146
	# NetBSD (nbsd) targets should (where applicable) match one or
147
	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
148
	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
149
	# switched to ELF, *-*-netbsd* would select the old
150
	# object file format.  This provides both forward
151
	# compatibility and a consistent mechanism for selecting the
152
	# object file format.
153
	#
154
	# Note: NetBSD doesn't particularly care about the vendor
155
	# portion of the name.  We always set it to "unknown".
156
	sysctl="sysctl -n hw.machine_arch"
157
	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
158
	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
159
	case "${UNAME_MACHINE_ARCH}" in
160
	    armeb) machine=armeb-unknown ;;
161
	    arm*) machine=arm-unknown ;;
162
	    sh3el) machine=shl-unknown ;;
163
	    sh3eb) machine=sh-unknown ;;
164
	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
165
	esac
166
	# The Operating System including object format, if it has switched
167
	# to ELF recently, or will in the future.
168
	case "${UNAME_MACHINE_ARCH}" in
169
	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
170
		eval $set_cc_for_build
171
		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
172
			| grep __ELF__ >/dev/null
173
		then
174
		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
175
		    # Return netbsd for either.  FIX?
176
		    os=netbsd
177
		else
178
		    os=netbsdelf
179
		fi
180
		;;
181
	    *)
182
	        os=netbsd
183
		;;
184
	esac
185
	# The OS release
186
	# Debian GNU/NetBSD machines have a different userland, and
187
	# thus, need a distinct triplet. However, they do not need
188
	# kernel version information, so it can be replaced with a
189
	# suitable tag, in the style of linux-gnu.
190
	case "${UNAME_VERSION}" in
191
	    Debian*)
192
		release='-gnu'
193
		;;
194
	    *)
195
		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
196
		;;
197
	esac
198
	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
199
	# contains redundant information, the shorter form:
200
	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
201
	echo "${machine}-${os}${release}"
202
	exit ;;
203
    *:OpenBSD:*:*)
204
	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
205
	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
206
	exit ;;
207
    *:ekkoBSD:*:*)
208
	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
209
	exit ;;
210
    *:SolidBSD:*:*)
211
	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
212
	exit ;;
213
    macppc:MirBSD:*:*)
214
	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
215
	exit ;;
216
    *:MirBSD:*:*)
217
	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
218
	exit ;;
219
    alpha:OSF1:*:*)
220
	case $UNAME_RELEASE in
221
	*4.0)
222
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
223
		;;
224
	*5.*)
225
	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
226
		;;
227
	esac
228
	# According to Compaq, /usr/sbin/psrinfo has been available on
229
	# OSF/1 and Tru64 systems produced since 1995.  I hope that
230
	# covers most systems running today.  This code pipes the CPU
231
	# types through head -n 1, so we only detect the type of CPU 0.
232
	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
233
	case "$ALPHA_CPU_TYPE" in
234
	    "EV4 (21064)")
235
		UNAME_MACHINE="alpha" ;;
236
	    "EV4.5 (21064)")
237
		UNAME_MACHINE="alpha" ;;
238
	    "LCA4 (21066/21068)")
239
		UNAME_MACHINE="alpha" ;;
240
	    "EV5 (21164)")
241
		UNAME_MACHINE="alphaev5" ;;
242
	    "EV5.6 (21164A)")
243
		UNAME_MACHINE="alphaev56" ;;
244
	    "EV5.6 (21164PC)")
245
		UNAME_MACHINE="alphapca56" ;;
246
	    "EV5.7 (21164PC)")
247
		UNAME_MACHINE="alphapca57" ;;
248
	    "EV6 (21264)")
249
		UNAME_MACHINE="alphaev6" ;;
250
	    "EV6.7 (21264A)")
251
		UNAME_MACHINE="alphaev67" ;;
252
	    "EV6.8CB (21264C)")
253
		UNAME_MACHINE="alphaev68" ;;
254
	    "EV6.8AL (21264B)")
255
		UNAME_MACHINE="alphaev68" ;;
256
	    "EV6.8CX (21264D)")
257
		UNAME_MACHINE="alphaev68" ;;
258
	    "EV6.9A (21264/EV69A)")
259
		UNAME_MACHINE="alphaev69" ;;
260
	    "EV7 (21364)")
261
		UNAME_MACHINE="alphaev7" ;;
262
	    "EV7.9 (21364A)")
263
		UNAME_MACHINE="alphaev79" ;;
264
	esac
265
	# A Pn.n version is a patched version.
266
	# A Vn.n version is a released version.
267
	# A Tn.n version is a released field test version.
268
	# A Xn.n version is an unreleased experimental baselevel.
269
	# 1.2 uses "1.2" for uname -r.
270
	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
271
	exit ;;
272
    Alpha\ *:Windows_NT*:*)
273
	# How do we know it's Interix rather than the generic POSIX subsystem?
274
	# Should we change UNAME_MACHINE based on the output of uname instead
275
	# of the specific Alpha model?
276
	echo alpha-pc-interix
277
	exit ;;
278
    21064:Windows_NT:50:3)
279
	echo alpha-dec-winnt3.5
280
	exit ;;
281
    Amiga*:UNIX_System_V:4.0:*)
282
	echo m68k-unknown-sysv4
283
	exit ;;
284
    *:[Aa]miga[Oo][Ss]:*:*)
285
	echo ${UNAME_MACHINE}-unknown-amigaos
286
	exit ;;
287
    *:[Mm]orph[Oo][Ss]:*:*)
288
	echo ${UNAME_MACHINE}-unknown-morphos
289
	exit ;;
290
    *:OS/390:*:*)
291
	echo i370-ibm-openedition
292
	exit ;;
293
    *:z/VM:*:*)
294
	echo s390-ibm-zvmoe
295
	exit ;;
296
    *:OS400:*:*)
297
        echo powerpc-ibm-os400
298
	exit ;;
299
    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
300
	echo arm-acorn-riscix${UNAME_RELEASE}
301
	exit ;;
302
    arm:riscos:*:*|arm:RISCOS:*:*)
303
	echo arm-unknown-riscos
304
	exit ;;
305
    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
306
	echo hppa1.1-hitachi-hiuxmpp
307
	exit ;;
308
    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
309
	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
310
	if test "`(/bin/universe) 2>/dev/null`" = att ; then
311
		echo pyramid-pyramid-sysv3
312
	else
313
		echo pyramid-pyramid-bsd
314
	fi
315
	exit ;;
316
    NILE*:*:*:dcosx)
317
	echo pyramid-pyramid-svr4
318
	exit ;;
319
    DRS?6000:unix:4.0:6*)
320
	echo sparc-icl-nx6
321
	exit ;;
322
    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
323
	case `/usr/bin/uname -p` in
324
	    sparc) echo sparc-icl-nx7; exit ;;
325
	esac ;;
326
    sun4H:SunOS:5.*:*)
327
	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
328
	exit ;;
329
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
330
	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331
	exit ;;
332
    i86pc:SunOS:5.*:*)
333
	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334
	exit ;;
335
    sun4*:SunOS:6*:*)
336
	# According to config.sub, this is the proper way to canonicalize
337
	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
338
	# it's likely to be more like Solaris than SunOS4.
339
	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
340
	exit ;;
341
    sun4*:SunOS:*:*)
342
	case "`/usr/bin/arch -k`" in
343
	    Series*|S4*)
344
		UNAME_RELEASE=`uname -v`
345
		;;
346
	esac
347
	# Japanese Language versions have a version number like `4.1.3-JL'.
348
	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
349
	exit ;;
350
    sun3*:SunOS:*:*)
351
	echo m68k-sun-sunos${UNAME_RELEASE}
352
	exit ;;
353
    sun*:*:4.2BSD:*)
354
	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
355
	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
356
	case "`/bin/arch`" in
357
	    sun3)
358
		echo m68k-sun-sunos${UNAME_RELEASE}
359
		;;
360
	    sun4)
361
		echo sparc-sun-sunos${UNAME_RELEASE}
362
		;;
363
	esac
364
	exit ;;
365
    aushp:SunOS:*:*)
366
	echo sparc-auspex-sunos${UNAME_RELEASE}
367
	exit ;;
368
    # The situation for MiNT is a little confusing.  The machine name
369
    # can be virtually everything (everything which is not
370
    # "atarist" or "atariste" at least should have a processor
371
    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
372
    # to the lowercase version "mint" (or "freemint").  Finally
373
    # the system name "TOS" denotes a system which is actually not
374
    # MiNT.  But MiNT is downward compatible to TOS, so this should
375
    # be no problem.
376
    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
377
        echo m68k-atari-mint${UNAME_RELEASE}
378
	exit ;;
379
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
380
	echo m68k-atari-mint${UNAME_RELEASE}
381
        exit ;;
382
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
383
        echo m68k-atari-mint${UNAME_RELEASE}
384
	exit ;;
385
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
386
        echo m68k-milan-mint${UNAME_RELEASE}
387
        exit ;;
388
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
389
        echo m68k-hades-mint${UNAME_RELEASE}
390
        exit ;;
391
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
392
        echo m68k-unknown-mint${UNAME_RELEASE}
393
        exit ;;
394
    m68k:machten:*:*)
395
	echo m68k-apple-machten${UNAME_RELEASE}
396
	exit ;;
397
    powerpc:machten:*:*)
398
	echo powerpc-apple-machten${UNAME_RELEASE}
399
	exit ;;
400
    RISC*:Mach:*:*)
401
	echo mips-dec-mach_bsd4.3
402
	exit ;;
403
    RISC*:ULTRIX:*:*)
404
	echo mips-dec-ultrix${UNAME_RELEASE}
405
	exit ;;
406
    VAX*:ULTRIX*:*:*)
407
	echo vax-dec-ultrix${UNAME_RELEASE}
408
	exit ;;
409
    2020:CLIX:*:* | 2430:CLIX:*:*)
410
	echo clipper-intergraph-clix${UNAME_RELEASE}
411
	exit ;;
412
    mips:*:*:UMIPS | mips:*:*:RISCos)
413
	eval $set_cc_for_build
414
	sed 's/^	//' << EOF >$dummy.c
415
#ifdef __cplusplus
416
#include <stdio.h>  /* for printf() prototype */
417
	int main (int argc, char *argv[]) {
418
#else
419
	int main (argc, argv) int argc; char *argv[]; {
420
#endif
421
	#if defined (host_mips) && defined (MIPSEB)
422
	#if defined (SYSTYPE_SYSV)
423
	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
424
	#endif
425
	#if defined (SYSTYPE_SVR4)
426
	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
427
	#endif
428
	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
429
	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
430
	#endif
431
	#endif
432
	  exit (-1);
433
	}
434
EOF
435
	$CC_FOR_BUILD -o $dummy $dummy.c &&
436
	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
437
	  SYSTEM_NAME=`$dummy $dummyarg` &&
438
	    { echo "$SYSTEM_NAME"; exit; }
439
	echo mips-mips-riscos${UNAME_RELEASE}
440
	exit ;;
441
    Motorola:PowerMAX_OS:*:*)
442
	echo powerpc-motorola-powermax
443
	exit ;;
444
    Motorola:*:4.3:PL8-*)
445
	echo powerpc-harris-powermax
446
	exit ;;
447
    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
448
	echo powerpc-harris-powermax
449
	exit ;;
450
    Night_Hawk:Power_UNIX:*:*)
451
	echo powerpc-harris-powerunix
452
	exit ;;
453
    m88k:CX/UX:7*:*)
454
	echo m88k-harris-cxux7
455
	exit ;;
456
    m88k:*:4*:R4*)
457
	echo m88k-motorola-sysv4
458
	exit ;;
459
    m88k:*:3*:R3*)
460
	echo m88k-motorola-sysv3
461
	exit ;;
462
    AViiON:dgux:*:*)
463
        # DG/UX returns AViiON for all architectures
464
        UNAME_PROCESSOR=`/usr/bin/uname -p`
465
	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
466
	then
467
	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
468
	       [ ${TARGET_BINARY_INTERFACE}x = x ]
469
	    then
470
		echo m88k-dg-dgux${UNAME_RELEASE}
471
	    else
472
		echo m88k-dg-dguxbcs${UNAME_RELEASE}
473
	    fi
474
	else
475
	    echo i586-dg-dgux${UNAME_RELEASE}
476
	fi
477
 	exit ;;
478
    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
479
	echo m88k-dolphin-sysv3
480
	exit ;;
481
    M88*:*:R3*:*)
482
	# Delta 88k system running SVR3
483
	echo m88k-motorola-sysv3
484
	exit ;;
485
    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
486
	echo m88k-tektronix-sysv3
487
	exit ;;
488
    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
489
	echo m68k-tektronix-bsd
490
	exit ;;
491
    *:IRIX*:*:*)
492
	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
493
	exit ;;
494
    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
495
	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
496
	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
497
    i*86:AIX:*:*)
498
	echo i386-ibm-aix
499
	exit ;;
500
    ia64:AIX:*:*)
501
	if [ -x /usr/bin/oslevel ] ; then
502
		IBM_REV=`/usr/bin/oslevel`
503
	else
504
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
505
	fi
506
	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
507
	exit ;;
508
    *:AIX:2:3)
509
	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
510
		eval $set_cc_for_build
511
		sed 's/^		//' << EOF >$dummy.c
512
		#include <sys/systemcfg.h>
513
514
		main()
515
			{
516
			if (!__power_pc())
517
				exit(1);
518
			puts("powerpc-ibm-aix3.2.5");
519
			exit(0);
520
			}
521
EOF
522
		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
523
		then
524
			echo "$SYSTEM_NAME"
525
		else
526
			echo rs6000-ibm-aix3.2.5
527
		fi
528
	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
529
		echo rs6000-ibm-aix3.2.4
530
	else
531
		echo rs6000-ibm-aix3.2
532
	fi
533
	exit ;;
534
    *:AIX:*:[45])
535
	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
536
	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
537
		IBM_ARCH=rs6000
538
	else
539
		IBM_ARCH=powerpc
540
	fi
541
	if [ -x /usr/bin/oslevel ] ; then
542
		IBM_REV=`/usr/bin/oslevel`
543
	else
544
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
545
	fi
546
	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
547
	exit ;;
548
    *:AIX:*:*)
549
	echo rs6000-ibm-aix
550
	exit ;;
551
    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
552
	echo romp-ibm-bsd4.4
553
	exit ;;
554
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
555
	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
556
	exit ;;                             # report: romp-ibm BSD 4.3
557
    *:BOSX:*:*)
558
	echo rs6000-bull-bosx
559
	exit ;;
560
    DPX/2?00:B.O.S.:*:*)
561
	echo m68k-bull-sysv3
562
	exit ;;
563
    9000/[34]??:4.3bsd:1.*:*)
564
	echo m68k-hp-bsd
565
	exit ;;
566
    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
567
	echo m68k-hp-bsd4.4
568
	exit ;;
569
    9000/[34678]??:HP-UX:*:*)
570
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
571
	case "${UNAME_MACHINE}" in
572
	    9000/31? )            HP_ARCH=m68000 ;;
573
	    9000/[34]?? )         HP_ARCH=m68k ;;
574
	    9000/[678][0-9][0-9])
575
		if [ -x /usr/bin/getconf ]; then
576
		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
577
                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
578
                    case "${sc_cpu_version}" in
579
                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
580
                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
581
                      532)                      # CPU_PA_RISC2_0
582
                        case "${sc_kernel_bits}" in
583
                          32) HP_ARCH="hppa2.0n" ;;
584
                          64) HP_ARCH="hppa2.0w" ;;
585
			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
586
                        esac ;;
587
                    esac
588
		fi
589
		if [ "${HP_ARCH}" = "" ]; then
590
		    eval $set_cc_for_build
591
		    sed 's/^              //' << EOF >$dummy.c
592
593
              #define _HPUX_SOURCE
594
              #include <stdlib.h>
595
              #include <unistd.h>
596
597
              int main ()
598
              {
599
              #if defined(_SC_KERNEL_BITS)
600
                  long bits = sysconf(_SC_KERNEL_BITS);
601
              #endif
602
                  long cpu  = sysconf (_SC_CPU_VERSION);
603
604
                  switch (cpu)
605
              	{
606
              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
607
              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
608
              	case CPU_PA_RISC2_0:
609
              #if defined(_SC_KERNEL_BITS)
610
              	    switch (bits)
611
              		{
612
              		case 64: puts ("hppa2.0w"); break;
613
              		case 32: puts ("hppa2.0n"); break;
614
              		default: puts ("hppa2.0"); break;
615
              		} break;
616
              #else  /* !defined(_SC_KERNEL_BITS) */
617
              	    puts ("hppa2.0"); break;
618
              #endif
619
              	default: puts ("hppa1.0"); break;
620
              	}
621
                  exit (0);
622
              }
623
EOF
624
		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
625
		    test -z "$HP_ARCH" && HP_ARCH=hppa
626
		fi ;;
627
	esac
628
	if [ ${HP_ARCH} = "hppa2.0w" ]
629
	then
630
	    eval $set_cc_for_build
631
632
	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
633
	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
634
	    # generating 64-bit code.  GNU and HP use different nomenclature:
635
	    #
636
	    # $ CC_FOR_BUILD=cc ./config.guess
637
	    # => hppa2.0w-hp-hpux11.23
638
	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
639
	    # => hppa64-hp-hpux11.23
640
641
	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
642
		grep __LP64__ >/dev/null
643
	    then
644
		HP_ARCH="hppa2.0w"
645
	    else
646
		HP_ARCH="hppa64"
647
	    fi
648
	fi
649
	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
650
	exit ;;
651
    ia64:HP-UX:*:*)
652
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
653
	echo ia64-hp-hpux${HPUX_REV}
654
	exit ;;
655
    3050*:HI-UX:*:*)
656
	eval $set_cc_for_build
657
	sed 's/^	//' << EOF >$dummy.c
658
	#include <unistd.h>
659
	int
660
	main ()
661
	{
662
	  long cpu = sysconf (_SC_CPU_VERSION);
663
	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
664
	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
665
	     results, however.  */
666
	  if (CPU_IS_PA_RISC (cpu))
667
	    {
668
	      switch (cpu)
669
		{
670
		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
671
		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
672
		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
673
		  default: puts ("hppa-hitachi-hiuxwe2"); break;
674
		}
675
	    }
676
	  else if (CPU_IS_HP_MC68K (cpu))
677
	    puts ("m68k-hitachi-hiuxwe2");
678
	  else puts ("unknown-hitachi-hiuxwe2");
679
	  exit (0);
680
	}
681
EOF
682
	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
683
		{ echo "$SYSTEM_NAME"; exit; }
684
	echo unknown-hitachi-hiuxwe2
685
	exit ;;
686
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
687
	echo hppa1.1-hp-bsd
688
	exit ;;
689
    9000/8??:4.3bsd:*:*)
690
	echo hppa1.0-hp-bsd
691
	exit ;;
692
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
693
	echo hppa1.0-hp-mpeix
694
	exit ;;
695
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
696
	echo hppa1.1-hp-osf
697
	exit ;;
698
    hp8??:OSF1:*:*)
699
	echo hppa1.0-hp-osf
700
	exit ;;
701
    i*86:OSF1:*:*)
702
	if [ -x /usr/sbin/sysversion ] ; then
703
	    echo ${UNAME_MACHINE}-unknown-osf1mk
704
	else
705
	    echo ${UNAME_MACHINE}-unknown-osf1
706
	fi
707
	exit ;;
708
    parisc*:Lites*:*:*)
709
	echo hppa1.1-hp-lites
710
	exit ;;
711
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
712
	echo c1-convex-bsd
713
        exit ;;
714
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
715
	if getsysinfo -f scalar_acc
716
	then echo c32-convex-bsd
717
	else echo c2-convex-bsd
718
	fi
719
        exit ;;
720
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
721
	echo c34-convex-bsd
722
        exit ;;
723
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
724
	echo c38-convex-bsd
725
        exit ;;
726
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
727
	echo c4-convex-bsd
728
        exit ;;
729
    CRAY*Y-MP:*:*:*)
730
	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
731
	exit ;;
732
    CRAY*[A-Z]90:*:*:*)
733
	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
734
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
735
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
736
	      -e 's/\.[^.]*$/.X/'
737
	exit ;;
738
    CRAY*TS:*:*:*)
739
	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
740
	exit ;;
741
    CRAY*T3E:*:*:*)
742
	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
743
	exit ;;
744
    CRAY*SV1:*:*:*)
745
	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
746
	exit ;;
747
    *:UNICOS/mp:*:*)
748
	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
749
	exit ;;
750
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
751
	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
752
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
753
        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
754
        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
755
        exit ;;
756
    5000:UNIX_System_V:4.*:*)
757
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
758
        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
759
        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
760
	exit ;;
761
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
762
	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
763
	exit ;;
764
    sparc*:BSD/OS:*:*)
765
	echo sparc-unknown-bsdi${UNAME_RELEASE}
766
	exit ;;
767
    *:BSD/OS:*:*)
768
	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
769
	exit ;;
770
    *:FreeBSD:*:*)
771
	case ${UNAME_MACHINE} in
772
	    pc98)
773
		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
774
	    amd64)
775
		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
776
	    *)
777
		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
778
	esac
779
	exit ;;
780
    i*:CYGWIN*:*)
781
	echo ${UNAME_MACHINE}-pc-cygwin
782
	exit ;;
783
    i*:MINGW*:*)
784
	echo ${UNAME_MACHINE}-pc-mingw32
785
	exit ;;
786
    i*:windows32*:*)
787
    	# uname -m includes "-pc" on this system.
788
    	echo ${UNAME_MACHINE}-mingw32
789
	exit ;;
790
    i*:PW*:*)
791
	echo ${UNAME_MACHINE}-pc-pw32
792
	exit ;;
793
    x86:Interix*:[3456]*)
794
	echo i586-pc-interix${UNAME_RELEASE}
795
	exit ;;
796
    EM64T:Interix*:[3456]*)
797
	echo x86_64-unknown-interix${UNAME_RELEASE}
798
	exit ;;
799
    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
800
	echo i${UNAME_MACHINE}-pc-mks
801
	exit ;;
802
    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
803
	# How do we know it's Interix rather than the generic POSIX subsystem?
804
	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
805
	# UNAME_MACHINE based on the output of uname instead of i386?
806
	echo i586-pc-interix
807
	exit ;;
808
    i*:UWIN*:*)
809
	echo ${UNAME_MACHINE}-pc-uwin
810
	exit ;;
811
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
812
	echo x86_64-unknown-cygwin
813
	exit ;;
814
    p*:CYGWIN*:*)
815
	echo powerpcle-unknown-cygwin
816
	exit ;;
817
    prep*:SunOS:5.*:*)
818
	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
819
	exit ;;
820
    *:GNU:*:*)
821
	# the GNU system
822
	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
823
	exit ;;
824
    *:GNU/*:*:*)
825
	# other systems with GNU libc and userland
826
	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
827
	exit ;;
828
    i*86:Minix:*:*)
829
	echo ${UNAME_MACHINE}-pc-minix
830
	exit ;;
831
    arm*:Linux:*:*)
832
	echo ${UNAME_MACHINE}-unknown-linux-gnu
833
	exit ;;
834
    avr32*:Linux:*:*)
835
	echo ${UNAME_MACHINE}-unknown-linux-gnu
836
	exit ;;
837
    cris:Linux:*:*)
838
	echo cris-axis-linux-gnu
839
	exit ;;
840
    crisv32:Linux:*:*)
841
	echo crisv32-axis-linux-gnu
842
	exit ;;
843
    frv:Linux:*:*)
844
    	echo frv-unknown-linux-gnu
845
	exit ;;
846
    ia64:Linux:*:*)
847
	echo ${UNAME_MACHINE}-unknown-linux-gnu
848
	exit ;;
849
    m32r*:Linux:*:*)
850
	echo ${UNAME_MACHINE}-unknown-linux-gnu
851
	exit ;;
852
    m68*:Linux:*:*)
853
	echo ${UNAME_MACHINE}-unknown-linux-gnu
854
	exit ;;
855
    mips:Linux:*:*)
856
	eval $set_cc_for_build
857
	sed 's/^	//' << EOF >$dummy.c
858
	#undef CPU
859
	#undef mips
860
	#undef mipsel
861
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
862
	CPU=mipsel
863
	#else
864
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
865
	CPU=mips
866
	#else
867
	CPU=
868
	#endif
869
	#endif
870
EOF
871
	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
872
	    /^CPU/{
873
		s: ::g
874
		p
875
	    }'`"
876
	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
877
	;;
878
    mips64:Linux:*:*)
879
	eval $set_cc_for_build
880
	sed 's/^	//' << EOF >$dummy.c
881
	#undef CPU
882
	#undef mips64
883
	#undef mips64el
884
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
885
	CPU=mips64el
886
	#else
887
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
888
	CPU=mips64
889
	#else
890
	CPU=
891
	#endif
892
	#endif
893
EOF
894
	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
895
	    /^CPU/{
896
		s: ::g
897
		p
898
	    }'`"
899
	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
900
	;;
901
    or32:Linux:*:*)
902
	echo or32-unknown-linux-gnu
903
	exit ;;
904
    ppc:Linux:*:*)
905
	echo powerpc-unknown-linux-gnu
906
	exit ;;
907
    ppc64:Linux:*:*)
908
	echo powerpc64-unknown-linux-gnu
909
	exit ;;
910
    alpha:Linux:*:*)
911
	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
912
	  EV5)   UNAME_MACHINE=alphaev5 ;;
913
	  EV56)  UNAME_MACHINE=alphaev56 ;;
914
	  PCA56) UNAME_MACHINE=alphapca56 ;;
915
	  PCA57) UNAME_MACHINE=alphapca56 ;;
916
	  EV6)   UNAME_MACHINE=alphaev6 ;;
917
	  EV67)  UNAME_MACHINE=alphaev67 ;;
918
	  EV68*) UNAME_MACHINE=alphaev68 ;;
919
        esac
920
	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
921
	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
922
	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
923
	exit ;;
924
    parisc:Linux:*:* | hppa:Linux:*:*)
925
	# Look for CPU level
926
	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
927
	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
928
	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
929
	  *)    echo hppa-unknown-linux-gnu ;;
930
	esac
931
	exit ;;
932
    parisc64:Linux:*:* | hppa64:Linux:*:*)
933
	echo hppa64-unknown-linux-gnu
934
	exit ;;
935
    s390:Linux:*:* | s390x:Linux:*:*)
936
	echo ${UNAME_MACHINE}-ibm-linux
937
	exit ;;
938
    sh64*:Linux:*:*)
939
    	echo ${UNAME_MACHINE}-unknown-linux-gnu
940
	exit ;;
941
    sh*:Linux:*:*)
942
	echo ${UNAME_MACHINE}-unknown-linux-gnu
943
	exit ;;
944
    sparc:Linux:*:* | sparc64:Linux:*:*)
945
	echo ${UNAME_MACHINE}-unknown-linux-gnu
946
	exit ;;
947
    vax:Linux:*:*)
948
	echo ${UNAME_MACHINE}-dec-linux-gnu
949
	exit ;;
950
    x86_64:Linux:*:*)
951
	echo x86_64-unknown-linux-gnu
952
	exit ;;
953
    i*86:Linux:*:*)
954
	# The BFD linker knows what the default object file format is, so
955
	# first see if it will tell us. cd to the root directory to prevent
956
	# problems with other programs or directories called `ld' in the path.
957
	# Set LC_ALL=C to ensure ld outputs messages in English.
958
	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
959
			 | sed -ne '/supported targets:/!d
960
				    s/[ 	][ 	]*/ /g
961
				    s/.*supported targets: *//
962
				    s/ .*//
963
				    p'`
964
        case "$ld_supported_targets" in
965
	  elf32-i386)
966
		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
967
		;;
968
	  a.out-i386-linux)
969
		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
970
		exit ;;
971
	  coff-i386)
972
		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
973
		exit ;;
974
	  "")
975
		# Either a pre-BFD a.out linker (linux-gnuoldld) or
976
		# one that does not give us useful --help.
977
		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
978
		exit ;;
979
	esac
980
	# Determine whether the default compiler is a.out or elf
981
	eval $set_cc_for_build
982
	sed 's/^	//' << EOF >$dummy.c
983
	#include <features.h>
984
	#ifdef __ELF__
985
	# ifdef __GLIBC__
986
	#  if __GLIBC__ >= 2
987
	LIBC=gnu
988
	#  else
989
	LIBC=gnulibc1
990
	#  endif
991
	# else
992
	LIBC=gnulibc1
993
	# endif
994
	#else
995
	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
996
	LIBC=gnu
997
	#else
998
	LIBC=gnuaout
999
	#endif
1000
	#endif
1001
	#ifdef __dietlibc__
1002
	LIBC=dietlibc
1003
	#endif
1004
EOF
1005
	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1006
	    /^LIBC/{
1007
		s: ::g
1008
		p
1009
	    }'`"
1010
	test x"${LIBC}" != x && {
1011
		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1012
		exit
1013
	}
1014
	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1015
	;;
1016
    i*86:DYNIX/ptx:4*:*)
1017
	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1018
	# earlier versions are messed up and put the nodename in both
1019
	# sysname and nodename.
1020
	echo i386-sequent-sysv4
1021
	exit ;;
1022
    i*86:UNIX_SV:4.2MP:2.*)
1023
        # Unixware is an offshoot of SVR4, but it has its own version
1024
        # number series starting with 2...
1025
        # I am not positive that other SVR4 systems won't match this,
1026
	# I just have to hope.  -- rms.
1027
        # Use sysv4.2uw... so that sysv4* matches it.
1028
	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1029
	exit ;;
1030
    i*86:OS/2:*:*)
1031
	# If we were able to find `uname', then EMX Unix compatibility
1032
	# is probably installed.
1033
	echo ${UNAME_MACHINE}-pc-os2-emx
1034
	exit ;;
1035
    i*86:XTS-300:*:STOP)
1036
	echo ${UNAME_MACHINE}-unknown-stop
1037
	exit ;;
1038
    i*86:atheos:*:*)
1039
	echo ${UNAME_MACHINE}-unknown-atheos
1040
	exit ;;
1041
    i*86:syllable:*:*)
1042
	echo ${UNAME_MACHINE}-pc-syllable
1043
	exit ;;
1044
    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1045
	echo i386-unknown-lynxos${UNAME_RELEASE}
1046
	exit ;;
1047
    i*86:*DOS:*:*)
1048
	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1049
	exit ;;
1050
    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1051
	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1052
	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1053
		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1054
	else
1055
		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1056
	fi
1057
	exit ;;
1058
    i*86:*:5:[678]*)
1059
    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1060
	case `/bin/uname -X | grep "^Machine"` in
1061
	    *486*)	     UNAME_MACHINE=i486 ;;
1062
	    *Pentium)	     UNAME_MACHINE=i586 ;;
1063
	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1064
	esac
1065
	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1066
	exit ;;
1067
    i*86:*:3.2:*)
1068
	if test -f /usr/options/cb.name; then
1069
		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1070
		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1071
	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1072
		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1073
		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1074
		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1075
			&& UNAME_MACHINE=i586
1076
		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1077
			&& UNAME_MACHINE=i686
1078
		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1079
			&& UNAME_MACHINE=i686
1080
		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1081
	else
1082
		echo ${UNAME_MACHINE}-pc-sysv32
1083
	fi
1084
	exit ;;
1085
    pc:*:*:*)
1086
	# Left here for compatibility:
1087
        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1088
        # the processor, so we play safe by assuming i386.
1089
	echo i386-pc-msdosdjgpp
1090
        exit ;;
1091
    Intel:Mach:3*:*)
1092
	echo i386-pc-mach3
1093
	exit ;;
1094
    paragon:*:*:*)
1095
	echo i860-intel-osf1
1096
	exit ;;
1097
    i860:*:4.*:*) # i860-SVR4
1098
	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1099
	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1100
	else # Add other i860-SVR4 vendors below as they are discovered.
1101
	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1102
	fi
1103
	exit ;;
1104
    mini*:CTIX:SYS*5:*)
1105
	# "miniframe"
1106
	echo m68010-convergent-sysv
1107
	exit ;;
1108
    mc68k:UNIX:SYSTEM5:3.51m)
1109
	echo m68k-convergent-sysv
1110
	exit ;;
1111
    M680?0:D-NIX:5.3:*)
1112
	echo m68k-diab-dnix
1113
	exit ;;
1114
    M68*:*:R3V[5678]*:*)
1115
	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1116
    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1117
	OS_REL=''
1118
	test -r /etc/.relid \
1119
	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1120
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1121
	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1122
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1123
	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1124
    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1125
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1126
          && { echo i486-ncr-sysv4; exit; } ;;
1127
    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1128
	echo m68k-unknown-lynxos${UNAME_RELEASE}
1129
	exit ;;
1130
    mc68030:UNIX_System_V:4.*:*)
1131
	echo m68k-atari-sysv4
1132
	exit ;;
1133
    TSUNAMI:LynxOS:2.*:*)
1134
	echo sparc-unknown-lynxos${UNAME_RELEASE}
1135
	exit ;;
1136
    rs6000:LynxOS:2.*:*)
1137
	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1138
	exit ;;
1139
    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1140
	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1141
	exit ;;
1142
    SM[BE]S:UNIX_SV:*:*)
1143
	echo mips-dde-sysv${UNAME_RELEASE}
1144
	exit ;;
1145
    RM*:ReliantUNIX-*:*:*)
1146
	echo mips-sni-sysv4
1147
	exit ;;
1148
    RM*:SINIX-*:*:*)
1149
	echo mips-sni-sysv4
1150
	exit ;;
1151
    *:SINIX-*:*:*)
1152
	if uname -p 2>/dev/null >/dev/null ; then
1153
		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1154
		echo ${UNAME_MACHINE}-sni-sysv4
1155
	else
1156
		echo ns32k-sni-sysv
1157
	fi
1158
	exit ;;
1159
    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1160
                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1161
        echo i586-unisys-sysv4
1162
        exit ;;
1163
    *:UNIX_System_V:4*:FTX*)
1164
	# From Gerald Hewes <hewes@openmarket.com>.
1165
	# How about differentiating between stratus architectures? -djm
1166
	echo hppa1.1-stratus-sysv4
1167
	exit ;;
1168
    *:*:*:FTX*)
1169
	# From seanf@swdc.stratus.com.
1170
	echo i860-stratus-sysv4
1171
	exit ;;
1172
    i*86:VOS:*:*)
1173
	# From Paul.Green@stratus.com.
1174
	echo ${UNAME_MACHINE}-stratus-vos
1175
	exit ;;
1176
    *:VOS:*:*)
1177
	# From Paul.Green@stratus.com.
1178
	echo hppa1.1-stratus-vos
1179
	exit ;;
1180
    mc68*:A/UX:*:*)
1181
	echo m68k-apple-aux${UNAME_RELEASE}
1182
	exit ;;
1183
    news*:NEWS-OS:6*:*)
1184
	echo mips-sony-newsos6
1185
	exit ;;
1186
    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1187
	if [ -d /usr/nec ]; then
1188
	        echo mips-nec-sysv${UNAME_RELEASE}
1189
	else
1190
	        echo mips-unknown-sysv${UNAME_RELEASE}
1191
	fi
1192
        exit ;;
1193
    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1194
	echo powerpc-be-beos
1195
	exit ;;
1196
    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1197
	echo powerpc-apple-beos
1198
	exit ;;
1199
    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1200
	echo i586-pc-beos
1201
	exit ;;
1202
    SX-4:SUPER-UX:*:*)
1203
	echo sx4-nec-superux${UNAME_RELEASE}
1204
	exit ;;
1205
    SX-5:SUPER-UX:*:*)
1206
	echo sx5-nec-superux${UNAME_RELEASE}
1207
	exit ;;
1208
    SX-6:SUPER-UX:*:*)
1209
	echo sx6-nec-superux${UNAME_RELEASE}
1210
	exit ;;
1211
    Power*:Rhapsody:*:*)
1212
	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1213
	exit ;;
1214
    *:Rhapsody:*:*)
1215
	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1216
	exit ;;
1217
    *:Darwin:*:*)
1218
	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1219
	case $UNAME_PROCESSOR in
1220
	    unknown) UNAME_PROCESSOR=powerpc ;;
1221
	esac
1222
	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1223
	exit ;;
1224
    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1225
	UNAME_PROCESSOR=`uname -p`
1226
	if test "$UNAME_PROCESSOR" = "x86"; then
1227
		UNAME_PROCESSOR=i386
1228
		UNAME_MACHINE=pc
1229
	fi
1230
	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1231
	exit ;;
1232
    *:QNX:*:4*)
1233
	echo i386-pc-qnx
1234
	exit ;;
1235
    NSE-?:NONSTOP_KERNEL:*:*)
1236
	echo nse-tandem-nsk${UNAME_RELEASE}
1237
	exit ;;
1238
    NSR-?:NONSTOP_KERNEL:*:*)
1239
	echo nsr-tandem-nsk${UNAME_RELEASE}
1240
	exit ;;
1241
    *:NonStop-UX:*:*)
1242
	echo mips-compaq-nonstopux
1243
	exit ;;
1244
    BS2000:POSIX*:*:*)
1245
	echo bs2000-siemens-sysv
1246
	exit ;;
1247
    DS/*:UNIX_System_V:*:*)
1248
	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1249
	exit ;;
1250
    *:Plan9:*:*)
1251
	# "uname -m" is not consistent, so use $cputype instead. 386
1252
	# is converted to i386 for consistency with other x86
1253
	# operating systems.
1254
	if test "$cputype" = "386"; then
1255
	    UNAME_MACHINE=i386
1256
	else
1257
	    UNAME_MACHINE="$cputype"
1258
	fi
1259
	echo ${UNAME_MACHINE}-unknown-plan9
1260
	exit ;;
1261
    *:TOPS-10:*:*)
1262
	echo pdp10-unknown-tops10
1263
	exit ;;
1264
    *:TENEX:*:*)
1265
	echo pdp10-unknown-tenex
1266
	exit ;;
1267
    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1268
	echo pdp10-dec-tops20
1269
	exit ;;
1270
    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1271
	echo pdp10-xkl-tops20
1272
	exit ;;
1273
    *:TOPS-20:*:*)
1274
	echo pdp10-unknown-tops20
1275
	exit ;;
1276
    *:ITS:*:*)
1277
	echo pdp10-unknown-its
1278
	exit ;;
1279
    SEI:*:*:SEIUX)
1280
        echo mips-sei-seiux${UNAME_RELEASE}
1281
	exit ;;
1282
    *:DragonFly:*:*)
1283
	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1284
	exit ;;
1285
    *:*VMS:*:*)
1286
    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1287
	case "${UNAME_MACHINE}" in
1288
	    A*) echo alpha-dec-vms ; exit ;;
1289
	    I*) echo ia64-dec-vms ; exit ;;
1290
	    V*) echo vax-dec-vms ; exit ;;
1291
	esac ;;
1292
    *:XENIX:*:SysV)
1293
	echo i386-pc-xenix
1294
	exit ;;
1295
    i*86:skyos:*:*)
1296
	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1297
	exit ;;
1298
    i*86:rdos:*:*)
1299
	echo ${UNAME_MACHINE}-pc-rdos
1300
	exit ;;
1301
esac
1302
1303
#echo '(No uname command or uname output not recognized.)' 1>&2
1304
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1305
1306
eval $set_cc_for_build
1307
cat >$dummy.c <<EOF
1308
#ifdef _SEQUENT_
1309
# include <sys/types.h>
1310
# include <sys/utsname.h>
1311
#endif
1312
main ()
1313
{
1314
#if defined (sony)
1315
#if defined (MIPSEB)
1316
  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1317
     I don't know....  */
1318
  printf ("mips-sony-bsd\n"); exit (0);
1319
#else
1320
#include <sys/param.h>
1321
  printf ("m68k-sony-newsos%s\n",
1322
#ifdef NEWSOS4
1323
          "4"
1324
#else
1325
	  ""
1326
#endif
1327
         ); exit (0);
1328
#endif
1329
#endif
1330
1331
#if defined (__arm) && defined (__acorn) && defined (__unix)
1332
  printf ("arm-acorn-riscix\n"); exit (0);
1333
#endif
1334
1335
#if defined (hp300) && !defined (hpux)
1336
  printf ("m68k-hp-bsd\n"); exit (0);
1337
#endif
1338
1339
#if defined (NeXT)
1340
#if !defined (__ARCHITECTURE__)
1341
#define __ARCHITECTURE__ "m68k"
1342
#endif
1343
  int version;
1344
  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1345
  if (version < 4)
1346
    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1347
  else
1348
    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1349
  exit (0);
1350
#endif
1351
1352
#if defined (MULTIMAX) || defined (n16)
1353
#if defined (UMAXV)
1354
  printf ("ns32k-encore-sysv\n"); exit (0);
1355
#else
1356
#if defined (CMU)
1357
  printf ("ns32k-encore-mach\n"); exit (0);
1358
#else
1359
  printf ("ns32k-encore-bsd\n"); exit (0);
1360
#endif
1361
#endif
1362
#endif
1363
1364
#if defined (__386BSD__)
1365
  printf ("i386-pc-bsd\n"); exit (0);
1366
#endif
1367
1368
#if defined (sequent)
1369
#if defined (i386)
1370
  printf ("i386-sequent-dynix\n"); exit (0);
1371
#endif
1372
#if defined (ns32000)
1373
  printf ("ns32k-sequent-dynix\n"); exit (0);
1374
#endif
1375
#endif
1376
1377
#if defined (_SEQUENT_)
1378
    struct utsname un;
1379
1380
    uname(&un);
1381
1382
    if (strncmp(un.version, "V2", 2) == 0) {
1383
	printf ("i386-sequent-ptx2\n"); exit (0);
1384
    }
1385
    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1386
	printf ("i386-sequent-ptx1\n"); exit (0);
1387
    }
1388
    printf ("i386-sequent-ptx\n"); exit (0);
1389
1390
#endif
1391
1392
#if defined (vax)
1393
# if !defined (ultrix)
1394
#  include <sys/param.h>
1395
#  if defined (BSD)
1396
#   if BSD == 43
1397
      printf ("vax-dec-bsd4.3\n"); exit (0);
1398
#   else
1399
#    if BSD == 199006
1400
      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1401
#    else
1402
      printf ("vax-dec-bsd\n"); exit (0);
1403
#    endif
1404
#   endif
1405
#  else
1406
    printf ("vax-dec-bsd\n"); exit (0);
1407
#  endif
1408
# else
1409
    printf ("vax-dec-ultrix\n"); exit (0);
1410
# endif
1411
#endif
1412
1413
#if defined (alliant) && defined (i860)
1414
  printf ("i860-alliant-bsd\n"); exit (0);
1415
#endif
1416
1417
  exit (1);
1418
}
1419
EOF
1420
1421
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1422
	{ echo "$SYSTEM_NAME"; exit; }
1423
1424
# Apollos put the system type in the environment.
1425
1426
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1427
1428
# Convex versions that predate uname can use getsysinfo(1)
1429
1430
if [ -x /usr/convex/getsysinfo ]
1431
then
1432
    case `getsysinfo -f cpu_type` in
1433
    c1*)
1434
	echo c1-convex-bsd
1435
	exit ;;
1436
    c2*)
1437
	if getsysinfo -f scalar_acc
1438
	then echo c32-convex-bsd
1439
	else echo c2-convex-bsd
1440
	fi
1441
	exit ;;
1442
    c34*)
1443
	echo c34-convex-bsd
1444
	exit ;;
1445
    c38*)
1446
	echo c38-convex-bsd
1447
	exit ;;
1448
    c4*)
1449
	echo c4-convex-bsd
1450
	exit ;;
1451
    esac
1452
fi
1453
1454
cat >&2 <<EOF
1455
$0: unable to guess system type
1456
1457
This script, last modified $timestamp, has failed to recognize
1458
the operating system you are using. It is advised that you
1459
download the most up to date version of the config scripts from
1460
1461
  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1462
and
1463
  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
1464
1465
If the version you run ($0) is already up to date, please
1466
send the following data and any information you think might be
1467
pertinent to <config-patches@gnu.org> in order to provide the needed
1468
information to handle your system.
1469
1470
config.guess timestamp = $timestamp
1471
1472
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1473
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1474
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1475
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1476
1477
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1478
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1479
1480
hostinfo               = `(hostinfo) 2>/dev/null`
1481
/bin/universe          = `(/bin/universe) 2>/dev/null`
1482
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1483
/bin/arch              = `(/bin/arch) 2>/dev/null`
1484
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1485
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1486
1487
UNAME_MACHINE = ${UNAME_MACHINE}
1488
UNAME_RELEASE = ${UNAME_RELEASE}
1489
UNAME_SYSTEM  = ${UNAME_SYSTEM}
1490
UNAME_VERSION = ${UNAME_VERSION}
1491
EOF
1492
1493
exit 1
1494
1495
# Local variables:
1496
# eval: (add-hook 'write-file-hooks 'time-stamp)
1497
# time-stamp-start: "timestamp='"
1498
# time-stamp-format: "%:y-%02m-%02d"
1499
# time-stamp-end: "'"
1500
# End: