Statistics
| Branch: | Revision:

iof-bird-daemon / tools / config.guess @ 6c36c4b6

History | View | Annotate | Download (42.5 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 Free Software Foundation, Inc.
5

    
6
timestamp='2005-08-03'
7

    
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.
12
#
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.
17
#
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., 51 Franklin Street - Fifth Floor, Boston, MA
21
# 02110-1301, USA.
22
#
23
# As a special exception to the GNU General Public License, if you
24
# distribute this file as part of a program that contains a
25
# configuration script generated by Autoconf, you may include it under
26
# the same distribution terms that you use for the rest of that program.
27

    
28

    
29
# Originally written by Per Bothner <per@bothner.com>.
30
# Please send patches to <config-patches@gnu.org>.  Submit a context
31
# diff and a properly formatted ChangeLog entry.
32
#
33
# This script attempts to guess a canonical system name similar to
34
# config.sub.  If it succeeds, it prints the system name on stdout, and
35
# exits with 0.  Otherwise, it exits with 1.
36
#
37
# The plan is that this can be called by configure scripts if you
38
# don't specify an explicit build system type.
39

    
40
me=`echo "$0" | sed -e 's,.*/,,'`
41

    
42
usage="\
43
Usage: $0 [OPTION]
44

    
45
Output the configuration name of the system \`$me' is run on.
46

    
47
Operation modes:
48
  -h, --help         print this help, then exit
49
  -t, --time-stamp   print date of last modification, then exit
50
  -v, --version      print version number, then exit
51

    
52
Report bugs and patches to <config-patches@gnu.org>."
53

    
54
version="\
55
GNU config.guess ($timestamp)
56

    
57
Originally written by Per Bothner.
58
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
59
Free Software Foundation, Inc.
60

    
61
This is free software; see the source for copying conditions.  There is NO
62
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63

    
64
help="
65
Try \`$me --help' for more information."
66

    
67
# Parse command line
68
while test $# -gt 0 ; do
69
  case $1 in
70
    --time-stamp | --time* | -t )
71
       echo "$timestamp" ; exit ;;
72
    --version | -v )
73
       echo "$version" ; exit ;;
74
    --help | --h* | -h )
75
       echo "$usage"; exit ;;
76
    -- )     # Stop option processing
77
       shift; break ;;
78
    - )	# Use stdin as input.
79
       break ;;
80
    -* )
81
       echo "$me: invalid option $1$help" >&2
82
       exit 1 ;;
83
    * )
84
       break ;;
85
  esac
86
done
87

    
88
if test $# != 0; then
89
  echo "$me: too many arguments$help" >&2
90
  exit 1
91
fi
92

    
93
trap 'exit 1' 1 2 15
94

    
95
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
96
# compiler to aid in system detection is discouraged as it requires
97
# temporary files to be created and, as you can see below, it is a
98
# headache to deal with in a portable fashion.
99

    
100
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
101
# use `HOST_CC' if defined, but it is deprecated.
102

    
103
# Portable tmp directory creation inspired by the Autoconf team.
104

    
105
set_cc_for_build='
106
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
107
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
108
: ${TMPDIR=/tmp} ;
109
 { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
110
 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
111
 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
112
 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
113
dummy=$tmp/dummy ;
114
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
115
case $CC_FOR_BUILD,$HOST_CC,$CC in
116
 ,,)    echo "int x;" > $dummy.c ;
117
	for c in cc gcc c89 c99 ; do
118
	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
119
	     CC_FOR_BUILD="$c"; break ;
120
	  fi ;
121
	done ;
122
	if test x"$CC_FOR_BUILD" = x ; then
123
	  CC_FOR_BUILD=no_compiler_found ;
124
	fi
125
	;;
126
 ,,*)   CC_FOR_BUILD=$CC ;;
127
 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
128
esac ; set_cc_for_build= ;'
129

    
130
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
131
# (ghazi@noc.rutgers.edu 1994-08-24)
132
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
133
	PATH=$PATH:/.attbin ; export PATH
134
fi
135

    
136
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
137
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
138
UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
139
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
140

    
141
# Note: order is significant - the case branches are not exclusive.
142

    
143
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
144
    *:NetBSD:*:*)
145
	# NetBSD (nbsd) targets should (where applicable) match one or
146
	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
147
	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
148
	# switched to ELF, *-*-netbsd* would select the old
149
	# object file format.  This provides both forward
150
	# compatibility and a consistent mechanism for selecting the
151
	# object file format.
152
	#
153
	# Note: NetBSD doesn't particularly care about the vendor
154
	# portion of the name.  We always set it to "unknown".
155
	sysctl="sysctl -n hw.machine_arch"
156
	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
157
	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
158
	case "${UNAME_MACHINE_ARCH}" in
159
	    armeb) machine=armeb-unknown ;;
160
	    arm*) machine=arm-unknown ;;
161
	    sh3el) machine=shl-unknown ;;
162
	    sh3eb) machine=sh-unknown ;;
163
	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
164
	esac
165
	# The Operating System including object format, if it has switched
166
	# to ELF recently, or will in the future.
167
	case "${UNAME_MACHINE_ARCH}" in
168
	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
169
		eval $set_cc_for_build
170
		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
171
			| grep __ELF__ >/dev/null
172
		then
173
		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
174
		    # Return netbsd for either.  FIX?
175
		    os=netbsd
176
		else
177
		    os=netbsdelf
178
		fi
179
		;;
180
	    *)
181
	        os=netbsd
182
		;;
183
	esac
184
	# The OS release
185
	# Debian GNU/NetBSD machines have a different userland, and
186
	# thus, need a distinct triplet. However, they do not need
187
	# kernel version information, so it can be replaced with a
188
	# suitable tag, in the style of linux-gnu.
189
	case "${UNAME_VERSION}" in
190
	    Debian*)
191
		release='-gnu'
192
		;;
193
	    *)
194
		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
195
		;;
196
	esac
197
	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
198
	# contains redundant information, the shorter form:
199
	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
200
	echo "${machine}-${os}${release}"
201
	exit ;;
202
    *:OpenBSD:*:*)
203
	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
204
	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
205
	exit ;;
206
    *:ekkoBSD:*:*)
207
	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
208
	exit ;;
209
    macppc:MirBSD:*:*)
210
	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
211
	exit ;;
212
    *:MirBSD:*:*)
213
	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
214
	exit ;;
215
    alpha:OSF1:*:*)
216
	case $UNAME_RELEASE in
217
	*4.0)
218
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
219
		;;
220
	*5.*)
221
	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
222
		;;
223
	esac
224
	# According to Compaq, /usr/sbin/psrinfo has been available on
225
	# OSF/1 and Tru64 systems produced since 1995.  I hope that
226
	# covers most systems running today.  This code pipes the CPU
227
	# types through head -n 1, so we only detect the type of CPU 0.
228
	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
229
	case "$ALPHA_CPU_TYPE" in
230
	    "EV4 (21064)")
231
		UNAME_MACHINE="alpha" ;;
232
	    "EV4.5 (21064)")
233
		UNAME_MACHINE="alpha" ;;
234
	    "LCA4 (21066/21068)")
235
		UNAME_MACHINE="alpha" ;;
236
	    "EV5 (21164)")
237
		UNAME_MACHINE="alphaev5" ;;
238
	    "EV5.6 (21164A)")
239
		UNAME_MACHINE="alphaev56" ;;
240
	    "EV5.6 (21164PC)")
241
		UNAME_MACHINE="alphapca56" ;;
242
	    "EV5.7 (21164PC)")
243
		UNAME_MACHINE="alphapca57" ;;
244
	    "EV6 (21264)")
245
		UNAME_MACHINE="alphaev6" ;;
246
	    "EV6.7 (21264A)")
247
		UNAME_MACHINE="alphaev67" ;;
248
	    "EV6.8CB (21264C)")
249
		UNAME_MACHINE="alphaev68" ;;
250
	    "EV6.8AL (21264B)")
251
		UNAME_MACHINE="alphaev68" ;;
252
	    "EV6.8CX (21264D)")
253
		UNAME_MACHINE="alphaev68" ;;
254
	    "EV6.9A (21264/EV69A)")
255
		UNAME_MACHINE="alphaev69" ;;
256
	    "EV7 (21364)")
257
		UNAME_MACHINE="alphaev7" ;;
258
	    "EV7.9 (21364A)")
259
		UNAME_MACHINE="alphaev79" ;;
260
	esac
261
	# A Pn.n version is a patched version.
262
	# A Vn.n version is a released version.
263
	# A Tn.n version is a released field test version.
264
	# A Xn.n version is an unreleased experimental baselevel.
265
	# 1.2 uses "1.2" for uname -r.
266
	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
267
	exit ;;
268
    Alpha\ *:Windows_NT*:*)
269
	# How do we know it's Interix rather than the generic POSIX subsystem?
270
	# Should we change UNAME_MACHINE based on the output of uname instead
271
	# of the specific Alpha model?
272
	echo alpha-pc-interix
273
	exit ;;
274
    21064:Windows_NT:50:3)
275
	echo alpha-dec-winnt3.5
276
	exit ;;
277
    Amiga*:UNIX_System_V:4.0:*)
278
	echo m68k-unknown-sysv4
279
	exit ;;
280
    *:[Aa]miga[Oo][Ss]:*:*)
281
	echo ${UNAME_MACHINE}-unknown-amigaos
282
	exit ;;
283
    *:[Mm]orph[Oo][Ss]:*:*)
284
	echo ${UNAME_MACHINE}-unknown-morphos
285
	exit ;;
286
    *:OS/390:*:*)
287
	echo i370-ibm-openedition
288
	exit ;;
289
    *:z/VM:*:*)
290
	echo s390-ibm-zvmoe
291
	exit ;;
292
    *:OS400:*:*)
293
        echo powerpc-ibm-os400
294
	exit ;;
295
    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
296
	echo arm-acorn-riscix${UNAME_RELEASE}
297
	exit ;;
298
    arm:riscos:*:*|arm:RISCOS:*:*)
299
	echo arm-unknown-riscos
300
	exit ;;
301
    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
302
	echo hppa1.1-hitachi-hiuxmpp
303
	exit ;;
304
    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
305
	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
306
	if test "`(/bin/universe) 2>/dev/null`" = att ; then
307
		echo pyramid-pyramid-sysv3
308
	else
309
		echo pyramid-pyramid-bsd
310
	fi
311
	exit ;;
312
    NILE*:*:*:dcosx)
313
	echo pyramid-pyramid-svr4
314
	exit ;;
315
    DRS?6000:unix:4.0:6*)
316
	echo sparc-icl-nx6
317
	exit ;;
318
    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
319
	case `/usr/bin/uname -p` in
320
	    sparc) echo sparc-icl-nx7; exit ;;
321
	esac ;;
322
    sun4H:SunOS:5.*:*)
323
	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
324
	exit ;;
325
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
326
	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
327
	exit ;;
328
    i86pc:SunOS:5.*:*)
329
	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
330
	exit ;;
331
    sun4*:SunOS:6*:*)
332
	# According to config.sub, this is the proper way to canonicalize
333
	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
334
	# it's likely to be more like Solaris than SunOS4.
335
	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
336
	exit ;;
337
    sun4*:SunOS:*:*)
338
	case "`/usr/bin/arch -k`" in
339
	    Series*|S4*)
340
		UNAME_RELEASE=`uname -v`
341
		;;
342
	esac
343
	# Japanese Language versions have a version number like `4.1.3-JL'.
344
	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
345
	exit ;;
346
    sun3*:SunOS:*:*)
347
	echo m68k-sun-sunos${UNAME_RELEASE}
348
	exit ;;
349
    sun*:*:4.2BSD:*)
350
	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
351
	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
352
	case "`/bin/arch`" in
353
	    sun3)
354
		echo m68k-sun-sunos${UNAME_RELEASE}
355
		;;
356
	    sun4)
357
		echo sparc-sun-sunos${UNAME_RELEASE}
358
		;;
359
	esac
360
	exit ;;
361
    aushp:SunOS:*:*)
362
	echo sparc-auspex-sunos${UNAME_RELEASE}
363
	exit ;;
364
    # The situation for MiNT is a little confusing.  The machine name
365
    # can be virtually everything (everything which is not
366
    # "atarist" or "atariste" at least should have a processor
367
    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
368
    # to the lowercase version "mint" (or "freemint").  Finally
369
    # the system name "TOS" denotes a system which is actually not
370
    # MiNT.  But MiNT is downward compatible to TOS, so this should
371
    # be no problem.
372
    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
373
        echo m68k-atari-mint${UNAME_RELEASE}
374
	exit ;;
375
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
376
	echo m68k-atari-mint${UNAME_RELEASE}
377
        exit ;;
378
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
379
        echo m68k-atari-mint${UNAME_RELEASE}
380
	exit ;;
381
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
382
        echo m68k-milan-mint${UNAME_RELEASE}
383
        exit ;;
384
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
385
        echo m68k-hades-mint${UNAME_RELEASE}
386
        exit ;;
387
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
388
        echo m68k-unknown-mint${UNAME_RELEASE}
389
        exit ;;
390
    m68k:machten:*:*)
391
	echo m68k-apple-machten${UNAME_RELEASE}
392
	exit ;;
393
    powerpc:machten:*:*)
394
	echo powerpc-apple-machten${UNAME_RELEASE}
395
	exit ;;
396
    RISC*:Mach:*:*)
397
	echo mips-dec-mach_bsd4.3
398
	exit ;;
399
    RISC*:ULTRIX:*:*)
400
	echo mips-dec-ultrix${UNAME_RELEASE}
401
	exit ;;
402
    VAX*:ULTRIX*:*:*)
403
	echo vax-dec-ultrix${UNAME_RELEASE}
404
	exit ;;
405
    2020:CLIX:*:* | 2430:CLIX:*:*)
406
	echo clipper-intergraph-clix${UNAME_RELEASE}
407
	exit ;;
408
    mips:*:*:UMIPS | mips:*:*:RISCos)
409
	eval $set_cc_for_build
410
	sed 's/^	//' << EOF >$dummy.c
411
#ifdef __cplusplus
412
#include <stdio.h>  /* for printf() prototype */
413
	int main (int argc, char *argv[]) {
414
#else
415
	int main (argc, argv) int argc; char *argv[]; {
416
#endif
417
	#if defined (host_mips) && defined (MIPSEB)
418
	#if defined (SYSTYPE_SYSV)
419
	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
420
	#endif
421
	#if defined (SYSTYPE_SVR4)
422
	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
423
	#endif
424
	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
425
	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
426
	#endif
427
	#endif
428
	  exit (-1);
429
	}
430
EOF
431
	$CC_FOR_BUILD -o $dummy $dummy.c &&
432
	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
433
	  SYSTEM_NAME=`$dummy $dummyarg` &&
434
	    { echo "$SYSTEM_NAME"; exit; }
435
	echo mips-mips-riscos${UNAME_RELEASE}
436
	exit ;;
437
    Motorola:PowerMAX_OS:*:*)
438
	echo powerpc-motorola-powermax
439
	exit ;;
440
    Motorola:*:4.3:PL8-*)
441
	echo powerpc-harris-powermax
442
	exit ;;
443
    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
444
	echo powerpc-harris-powermax
445
	exit ;;
446
    Night_Hawk:Power_UNIX:*:*)
447
	echo powerpc-harris-powerunix
448
	exit ;;
449
    m88k:CX/UX:7*:*)
450
	echo m88k-harris-cxux7
451
	exit ;;
452
    m88k:*:4*:R4*)
453
	echo m88k-motorola-sysv4
454
	exit ;;
455
    m88k:*:3*:R3*)
456
	echo m88k-motorola-sysv3
457
	exit ;;
458
    AViiON:dgux:*:*)
459
        # DG/UX returns AViiON for all architectures
460
        UNAME_PROCESSOR=`/usr/bin/uname -p`
461
	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
462
	then
463
	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
464
	       [ ${TARGET_BINARY_INTERFACE}x = x ]
465
	    then
466
		echo m88k-dg-dgux${UNAME_RELEASE}
467
	    else
468
		echo m88k-dg-dguxbcs${UNAME_RELEASE}
469
	    fi
470
	else
471
	    echo i586-dg-dgux${UNAME_RELEASE}
472
	fi
473
 	exit ;;
474
    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
475
	echo m88k-dolphin-sysv3
476
	exit ;;
477
    M88*:*:R3*:*)
478
	# Delta 88k system running SVR3
479
	echo m88k-motorola-sysv3
480
	exit ;;
481
    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
482
	echo m88k-tektronix-sysv3
483
	exit ;;
484
    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
485
	echo m68k-tektronix-bsd
486
	exit ;;
487
    *:IRIX*:*:*)
488
	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
489
	exit ;;
490
    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
491
	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
492
	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
493
    i*86:AIX:*:*)
494
	echo i386-ibm-aix
495
	exit ;;
496
    ia64:AIX:*:*)
497
	if [ -x /usr/bin/oslevel ] ; then
498
		IBM_REV=`/usr/bin/oslevel`
499
	else
500
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
501
	fi
502
	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
503
	exit ;;
504
    *:AIX:2:3)
505
	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
506
		eval $set_cc_for_build
507
		sed 's/^		//' << EOF >$dummy.c
508
		#include <sys/systemcfg.h>
509

    
510
		main()
511
			{
512
			if (!__power_pc())
513
				exit(1);
514
			puts("powerpc-ibm-aix3.2.5");
515
			exit(0);
516
			}
517
EOF
518
		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
519
		then
520
			echo "$SYSTEM_NAME"
521
		else
522
			echo rs6000-ibm-aix3.2.5
523
		fi
524
	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
525
		echo rs6000-ibm-aix3.2.4
526
	else
527
		echo rs6000-ibm-aix3.2
528
	fi
529
	exit ;;
530
    *:AIX:*:[45])
531
	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
532
	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
533
		IBM_ARCH=rs6000
534
	else
535
		IBM_ARCH=powerpc
536
	fi
537
	if [ -x /usr/bin/oslevel ] ; then
538
		IBM_REV=`/usr/bin/oslevel`
539
	else
540
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
541
	fi
542
	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
543
	exit ;;
544
    *:AIX:*:*)
545
	echo rs6000-ibm-aix
546
	exit ;;
547
    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
548
	echo romp-ibm-bsd4.4
549
	exit ;;
550
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
551
	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
552
	exit ;;                             # report: romp-ibm BSD 4.3
553
    *:BOSX:*:*)
554
	echo rs6000-bull-bosx
555
	exit ;;
556
    DPX/2?00:B.O.S.:*:*)
557
	echo m68k-bull-sysv3
558
	exit ;;
559
    9000/[34]??:4.3bsd:1.*:*)
560
	echo m68k-hp-bsd
561
	exit ;;
562
    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
563
	echo m68k-hp-bsd4.4
564
	exit ;;
565
    9000/[34678]??:HP-UX:*:*)
566
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
567
	case "${UNAME_MACHINE}" in
568
	    9000/31? )            HP_ARCH=m68000 ;;
569
	    9000/[34]?? )         HP_ARCH=m68k ;;
570
	    9000/[678][0-9][0-9])
571
		if [ -x /usr/bin/getconf ]; then
572
		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
573
                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
574
                    case "${sc_cpu_version}" in
575
                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
576
                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
577
                      532)                      # CPU_PA_RISC2_0
578
                        case "${sc_kernel_bits}" in
579
                          32) HP_ARCH="hppa2.0n" ;;
580
                          64) HP_ARCH="hppa2.0w" ;;
581
			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
582
                        esac ;;
583
                    esac
584
		fi
585
		if [ "${HP_ARCH}" = "" ]; then
586
		    eval $set_cc_for_build
587
		    sed 's/^              //' << EOF >$dummy.c
588

    
589
              #define _HPUX_SOURCE
590
              #include <stdlib.h>
591
              #include <unistd.h>
592

    
593
              int main ()
594
              {
595
              #if defined(_SC_KERNEL_BITS)
596
                  long bits = sysconf(_SC_KERNEL_BITS);
597
              #endif
598
                  long cpu  = sysconf (_SC_CPU_VERSION);
599

    
600
                  switch (cpu)
601
              	{
602
              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
603
              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
604
              	case CPU_PA_RISC2_0:
605
              #if defined(_SC_KERNEL_BITS)
606
              	    switch (bits)
607
              		{
608
              		case 64: puts ("hppa2.0w"); break;
609
              		case 32: puts ("hppa2.0n"); break;
610
              		default: puts ("hppa2.0"); break;
611
              		} break;
612
              #else  /* !defined(_SC_KERNEL_BITS) */
613
              	    puts ("hppa2.0"); break;
614
              #endif
615
              	default: puts ("hppa1.0"); break;
616
              	}
617
                  exit (0);
618
              }
619
EOF
620
		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
621
		    test -z "$HP_ARCH" && HP_ARCH=hppa
622
		fi ;;
623
	esac
624
	if [ ${HP_ARCH} = "hppa2.0w" ]
625
	then
626
	    eval $set_cc_for_build
627

    
628
	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
629
	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
630
	    # generating 64-bit code.  GNU and HP use different nomenclature:
631
	    #
632
	    # $ CC_FOR_BUILD=cc ./config.guess
633
	    # => hppa2.0w-hp-hpux11.23
634
	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
635
	    # => hppa64-hp-hpux11.23
636

    
637
	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
638
		grep __LP64__ >/dev/null
639
	    then
640
		HP_ARCH="hppa2.0w"
641
	    else
642
		HP_ARCH="hppa64"
643
	    fi
644
	fi
645
	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
646
	exit ;;
647
    ia64:HP-UX:*:*)
648
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
649
	echo ia64-hp-hpux${HPUX_REV}
650
	exit ;;
651
    3050*:HI-UX:*:*)
652
	eval $set_cc_for_build
653
	sed 's/^	//' << EOF >$dummy.c
654
	#include <unistd.h>
655
	int
656
	main ()
657
	{
658
	  long cpu = sysconf (_SC_CPU_VERSION);
659
	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
660
	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
661
	     results, however.  */
662
	  if (CPU_IS_PA_RISC (cpu))
663
	    {
664
	      switch (cpu)
665
		{
666
		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
667
		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
668
		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
669
		  default: puts ("hppa-hitachi-hiuxwe2"); break;
670
		}
671
	    }
672
	  else if (CPU_IS_HP_MC68K (cpu))
673
	    puts ("m68k-hitachi-hiuxwe2");
674
	  else puts ("unknown-hitachi-hiuxwe2");
675
	  exit (0);
676
	}
677
EOF
678
	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
679
		{ echo "$SYSTEM_NAME"; exit; }
680
	echo unknown-hitachi-hiuxwe2
681
	exit ;;
682
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
683
	echo hppa1.1-hp-bsd
684
	exit ;;
685
    9000/8??:4.3bsd:*:*)
686
	echo hppa1.0-hp-bsd
687
	exit ;;
688
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
689
	echo hppa1.0-hp-mpeix
690
	exit ;;
691
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
692
	echo hppa1.1-hp-osf
693
	exit ;;
694
    hp8??:OSF1:*:*)
695
	echo hppa1.0-hp-osf
696
	exit ;;
697
    i*86:OSF1:*:*)
698
	if [ -x /usr/sbin/sysversion ] ; then
699
	    echo ${UNAME_MACHINE}-unknown-osf1mk
700
	else
701
	    echo ${UNAME_MACHINE}-unknown-osf1
702
	fi
703
	exit ;;
704
    parisc*:Lites*:*:*)
705
	echo hppa1.1-hp-lites
706
	exit ;;
707
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
708
	echo c1-convex-bsd
709
        exit ;;
710
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
711
	if getsysinfo -f scalar_acc
712
	then echo c32-convex-bsd
713
	else echo c2-convex-bsd
714
	fi
715
        exit ;;
716
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
717
	echo c34-convex-bsd
718
        exit ;;
719
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
720
	echo c38-convex-bsd
721
        exit ;;
722
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
723
	echo c4-convex-bsd
724
        exit ;;
725
    CRAY*Y-MP:*:*:*)
726
	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
727
	exit ;;
728
    CRAY*[A-Z]90:*:*:*)
729
	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
730
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
731
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
732
	      -e 's/\.[^.]*$/.X/'
733
	exit ;;
734
    CRAY*TS:*:*:*)
735
	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
736
	exit ;;
737
    CRAY*T3E:*:*:*)
738
	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
739
	exit ;;
740
    CRAY*SV1:*:*:*)
741
	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
742
	exit ;;
743
    *:UNICOS/mp:*:*)
744
	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
745
	exit ;;
746
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
747
	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
748
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
749
        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
750
        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
751
        exit ;;
752
    5000:UNIX_System_V:4.*:*)
753
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
754
        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
755
        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
756
	exit ;;
757
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
758
	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
759
	exit ;;
760
    sparc*:BSD/OS:*:*)
761
	echo sparc-unknown-bsdi${UNAME_RELEASE}
762
	exit ;;
763
    *:BSD/OS:*:*)
764
	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
765
	exit ;;
766
    *:FreeBSD:*:*)
767
	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
768
	exit ;;
769
    i*:CYGWIN*:*)
770
	echo ${UNAME_MACHINE}-pc-cygwin
771
	exit ;;
772
    i*:MINGW*:*)
773
	echo ${UNAME_MACHINE}-pc-mingw32
774
	exit ;;
775
    i*:windows32*:*)
776
    	# uname -m includes "-pc" on this system.
777
    	echo ${UNAME_MACHINE}-mingw32
778
	exit ;;
779
    i*:PW*:*)
780
	echo ${UNAME_MACHINE}-pc-pw32
781
	exit ;;
782
    x86:Interix*:[34]*)
783
	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
784
	exit ;;
785
    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
786
	echo i${UNAME_MACHINE}-pc-mks
787
	exit ;;
788
    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
789
	# How do we know it's Interix rather than the generic POSIX subsystem?
790
	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
791
	# UNAME_MACHINE based on the output of uname instead of i386?
792
	echo i586-pc-interix
793
	exit ;;
794
    i*:UWIN*:*)
795
	echo ${UNAME_MACHINE}-pc-uwin
796
	exit ;;
797
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
798
	echo x86_64-unknown-cygwin
799
	exit ;;
800
    p*:CYGWIN*:*)
801
	echo powerpcle-unknown-cygwin
802
	exit ;;
803
    prep*:SunOS:5.*:*)
804
	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
805
	exit ;;
806
    *:GNU:*:*)
807
	# the GNU system
808
	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
809
	exit ;;
810
    *:GNU/*:*:*)
811
	# other systems with GNU libc and userland
812
	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
813
	exit ;;
814
    i*86:Minix:*:*)
815
	echo ${UNAME_MACHINE}-pc-minix
816
	exit ;;
817
    arm*:Linux:*:*)
818
	echo ${UNAME_MACHINE}-unknown-linux-gnu
819
	exit ;;
820
    cris:Linux:*:*)
821
	echo cris-axis-linux-gnu
822
	exit ;;
823
    crisv32:Linux:*:*)
824
	echo crisv32-axis-linux-gnu
825
	exit ;;
826
    frv:Linux:*:*)
827
    	echo frv-unknown-linux-gnu
828
	exit ;;
829
    ia64:Linux:*:*)
830
	echo ${UNAME_MACHINE}-unknown-linux-gnu
831
	exit ;;
832
    m32r*:Linux:*:*)
833
	echo ${UNAME_MACHINE}-unknown-linux-gnu
834
	exit ;;
835
    m68*:Linux:*:*)
836
	echo ${UNAME_MACHINE}-unknown-linux-gnu
837
	exit ;;
838
    mips:Linux:*:*)
839
	eval $set_cc_for_build
840
	sed 's/^	//' << EOF >$dummy.c
841
	#undef CPU
842
	#undef mips
843
	#undef mipsel
844
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
845
	CPU=mipsel
846
	#else
847
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
848
	CPU=mips
849
	#else
850
	CPU=
851
	#endif
852
	#endif
853
EOF
854
	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
855
	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
856
	;;
857
    mips64:Linux:*:*)
858
	eval $set_cc_for_build
859
	sed 's/^	//' << EOF >$dummy.c
860
	#undef CPU
861
	#undef mips64
862
	#undef mips64el
863
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
864
	CPU=mips64el
865
	#else
866
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
867
	CPU=mips64
868
	#else
869
	CPU=
870
	#endif
871
	#endif
872
EOF
873
	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
874
	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
875
	;;
876
    or32:Linux:*:*)
877
	echo or32-unknown-linux-gnu
878
	exit ;;
879
    ppc:Linux:*:*)
880
	echo powerpc-unknown-linux-gnu
881
	exit ;;
882
    ppc64:Linux:*:*)
883
	echo powerpc64-unknown-linux-gnu
884
	exit ;;
885
    alpha:Linux:*:*)
886
	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
887
	  EV5)   UNAME_MACHINE=alphaev5 ;;
888
	  EV56)  UNAME_MACHINE=alphaev56 ;;
889
	  PCA56) UNAME_MACHINE=alphapca56 ;;
890
	  PCA57) UNAME_MACHINE=alphapca56 ;;
891
	  EV6)   UNAME_MACHINE=alphaev6 ;;
892
	  EV67)  UNAME_MACHINE=alphaev67 ;;
893
	  EV68*) UNAME_MACHINE=alphaev68 ;;
894
        esac
895
	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
896
	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
897
	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
898
	exit ;;
899
    parisc:Linux:*:* | hppa:Linux:*:*)
900
	# Look for CPU level
901
	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
902
	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
903
	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
904
	  *)    echo hppa-unknown-linux-gnu ;;
905
	esac
906
	exit ;;
907
    parisc64:Linux:*:* | hppa64:Linux:*:*)
908
	echo hppa64-unknown-linux-gnu
909
	exit ;;
910
    s390:Linux:*:* | s390x:Linux:*:*)
911
	echo ${UNAME_MACHINE}-ibm-linux
912
	exit ;;
913
    sh64*:Linux:*:*)
914
    	echo ${UNAME_MACHINE}-unknown-linux-gnu
915
	exit ;;
916
    sh*:Linux:*:*)
917
	echo ${UNAME_MACHINE}-unknown-linux-gnu
918
	exit ;;
919
    sparc:Linux:*:* | sparc64:Linux:*:*)
920
	echo ${UNAME_MACHINE}-unknown-linux-gnu
921
	exit ;;
922
    x86_64:Linux:*:*)
923
	echo x86_64-unknown-linux-gnu
924
	exit ;;
925
    i*86:Linux:*:*)
926
	# The BFD linker knows what the default object file format is, so
927
	# first see if it will tell us. cd to the root directory to prevent
928
	# problems with other programs or directories called `ld' in the path.
929
	# Set LC_ALL=C to ensure ld outputs messages in English.
930
	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
931
			 | sed -ne '/supported targets:/!d
932
				    s/[ 	][ 	]*/ /g
933
				    s/.*supported targets: *//
934
				    s/ .*//
935
				    p'`
936
        case "$ld_supported_targets" in
937
	  elf32-i386)
938
		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
939
		;;
940
	  a.out-i386-linux)
941
		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
942
		exit ;;
943
	  coff-i386)
944
		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
945
		exit ;;
946
	  "")
947
		# Either a pre-BFD a.out linker (linux-gnuoldld) or
948
		# one that does not give us useful --help.
949
		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
950
		exit ;;
951
	esac
952
	# Determine whether the default compiler is a.out or elf
953
	eval $set_cc_for_build
954
	sed 's/^	//' << EOF >$dummy.c
955
	#include <features.h>
956
	#ifdef __ELF__
957
	# ifdef __GLIBC__
958
	#  if __GLIBC__ >= 2
959
	LIBC=gnu
960
	#  else
961
	LIBC=gnulibc1
962
	#  endif
963
	# else
964
	LIBC=gnulibc1
965
	# endif
966
	#else
967
	#ifdef __INTEL_COMPILER
968
	LIBC=gnu
969
	#else
970
	LIBC=gnuaout
971
	#endif
972
	#endif
973
	#ifdef __dietlibc__
974
	LIBC=dietlibc
975
	#endif
976
EOF
977
	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
978
	test x"${LIBC}" != x && {
979
		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
980
		exit
981
	}
982
	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
983
	;;
984
    i*86:DYNIX/ptx:4*:*)
985
	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
986
	# earlier versions are messed up and put the nodename in both
987
	# sysname and nodename.
988
	echo i386-sequent-sysv4
989
	exit ;;
990
    i*86:UNIX_SV:4.2MP:2.*)
991
        # Unixware is an offshoot of SVR4, but it has its own version
992
        # number series starting with 2...
993
        # I am not positive that other SVR4 systems won't match this,
994
	# I just have to hope.  -- rms.
995
        # Use sysv4.2uw... so that sysv4* matches it.
996
	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
997
	exit ;;
998
    i*86:OS/2:*:*)
999
	# If we were able to find `uname', then EMX Unix compatibility
1000
	# is probably installed.
1001
	echo ${UNAME_MACHINE}-pc-os2-emx
1002
	exit ;;
1003
    i*86:XTS-300:*:STOP)
1004
	echo ${UNAME_MACHINE}-unknown-stop
1005
	exit ;;
1006
    i*86:atheos:*:*)
1007
	echo ${UNAME_MACHINE}-unknown-atheos
1008
	exit ;;
1009
    i*86:syllable:*:*)
1010
	echo ${UNAME_MACHINE}-pc-syllable
1011
	exit ;;
1012
    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1013
	echo i386-unknown-lynxos${UNAME_RELEASE}
1014
	exit ;;
1015
    i*86:*DOS:*:*)
1016
	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1017
	exit ;;
1018
    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1019
	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1020
	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1021
		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1022
	else
1023
		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1024
	fi
1025
	exit ;;
1026
    i*86:*:5:[678]*)
1027
    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1028
	case `/bin/uname -X | grep "^Machine"` in
1029
	    *486*)	     UNAME_MACHINE=i486 ;;
1030
	    *Pentium)	     UNAME_MACHINE=i586 ;;
1031
	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1032
	esac
1033
	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1034
	exit ;;
1035
    i*86:*:3.2:*)
1036
	if test -f /usr/options/cb.name; then
1037
		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1038
		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1039
	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1040
		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1041
		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1042
		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1043
			&& UNAME_MACHINE=i586
1044
		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1045
			&& UNAME_MACHINE=i686
1046
		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1047
			&& UNAME_MACHINE=i686
1048
		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1049
	else
1050
		echo ${UNAME_MACHINE}-pc-sysv32
1051
	fi
1052
	exit ;;
1053
    pc:*:*:*)
1054
	# Left here for compatibility:
1055
        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1056
        # the processor, so we play safe by assuming i386.
1057
	echo i386-pc-msdosdjgpp
1058
        exit ;;
1059
    Intel:Mach:3*:*)
1060
	echo i386-pc-mach3
1061
	exit ;;
1062
    paragon:*:*:*)
1063
	echo i860-intel-osf1
1064
	exit ;;
1065
    i860:*:4.*:*) # i860-SVR4
1066
	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1067
	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1068
	else # Add other i860-SVR4 vendors below as they are discovered.
1069
	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1070
	fi
1071
	exit ;;
1072
    mini*:CTIX:SYS*5:*)
1073
	# "miniframe"
1074
	echo m68010-convergent-sysv
1075
	exit ;;
1076
    mc68k:UNIX:SYSTEM5:3.51m)
1077
	echo m68k-convergent-sysv
1078
	exit ;;
1079
    M680?0:D-NIX:5.3:*)
1080
	echo m68k-diab-dnix
1081
	exit ;;
1082
    M68*:*:R3V[5678]*:*)
1083
	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1084
    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)
1085
	OS_REL=''
1086
	test -r /etc/.relid \
1087
	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1088
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1089
	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1090
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1091
	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1092
    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1093
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1094
          && { echo i486-ncr-sysv4; exit; } ;;
1095
    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1096
	echo m68k-unknown-lynxos${UNAME_RELEASE}
1097
	exit ;;
1098
    mc68030:UNIX_System_V:4.*:*)
1099
	echo m68k-atari-sysv4
1100
	exit ;;
1101
    TSUNAMI:LynxOS:2.*:*)
1102
	echo sparc-unknown-lynxos${UNAME_RELEASE}
1103
	exit ;;
1104
    rs6000:LynxOS:2.*:*)
1105
	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1106
	exit ;;
1107
    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1108
	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1109
	exit ;;
1110
    SM[BE]S:UNIX_SV:*:*)
1111
	echo mips-dde-sysv${UNAME_RELEASE}
1112
	exit ;;
1113
    RM*:ReliantUNIX-*:*:*)
1114
	echo mips-sni-sysv4
1115
	exit ;;
1116
    RM*:SINIX-*:*:*)
1117
	echo mips-sni-sysv4
1118
	exit ;;
1119
    *:SINIX-*:*:*)
1120
	if uname -p 2>/dev/null >/dev/null ; then
1121
		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1122
		echo ${UNAME_MACHINE}-sni-sysv4
1123
	else
1124
		echo ns32k-sni-sysv
1125
	fi
1126
	exit ;;
1127
    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1128
                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1129
        echo i586-unisys-sysv4
1130
        exit ;;
1131
    *:UNIX_System_V:4*:FTX*)
1132
	# From Gerald Hewes <hewes@openmarket.com>.
1133
	# How about differentiating between stratus architectures? -djm
1134
	echo hppa1.1-stratus-sysv4
1135
	exit ;;
1136
    *:*:*:FTX*)
1137
	# From seanf@swdc.stratus.com.
1138
	echo i860-stratus-sysv4
1139
	exit ;;
1140
    i*86:VOS:*:*)
1141
	# From Paul.Green@stratus.com.
1142
	echo ${UNAME_MACHINE}-stratus-vos
1143
	exit ;;
1144
    *:VOS:*:*)
1145
	# From Paul.Green@stratus.com.
1146
	echo hppa1.1-stratus-vos
1147
	exit ;;
1148
    mc68*:A/UX:*:*)
1149
	echo m68k-apple-aux${UNAME_RELEASE}
1150
	exit ;;
1151
    news*:NEWS-OS:6*:*)
1152
	echo mips-sony-newsos6
1153
	exit ;;
1154
    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1155
	if [ -d /usr/nec ]; then
1156
	        echo mips-nec-sysv${UNAME_RELEASE}
1157
	else
1158
	        echo mips-unknown-sysv${UNAME_RELEASE}
1159
	fi
1160
        exit ;;
1161
    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1162
	echo powerpc-be-beos
1163
	exit ;;
1164
    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1165
	echo powerpc-apple-beos
1166
	exit ;;
1167
    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1168
	echo i586-pc-beos
1169
	exit ;;
1170
    SX-4:SUPER-UX:*:*)
1171
	echo sx4-nec-superux${UNAME_RELEASE}
1172
	exit ;;
1173
    SX-5:SUPER-UX:*:*)
1174
	echo sx5-nec-superux${UNAME_RELEASE}
1175
	exit ;;
1176
    SX-6:SUPER-UX:*:*)
1177
	echo sx6-nec-superux${UNAME_RELEASE}
1178
	exit ;;
1179
    Power*:Rhapsody:*:*)
1180
	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1181
	exit ;;
1182
    *:Rhapsody:*:*)
1183
	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1184
	exit ;;
1185
    *:Darwin:*:*)
1186
	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1187
	case $UNAME_PROCESSOR in
1188
	    *86) UNAME_PROCESSOR=i686 ;;
1189
	    unknown) UNAME_PROCESSOR=powerpc ;;
1190
	esac
1191
	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1192
	exit ;;
1193
    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1194
	UNAME_PROCESSOR=`uname -p`
1195
	if test "$UNAME_PROCESSOR" = "x86"; then
1196
		UNAME_PROCESSOR=i386
1197
		UNAME_MACHINE=pc
1198
	fi
1199
	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1200
	exit ;;
1201
    *:QNX:*:4*)
1202
	echo i386-pc-qnx
1203
	exit ;;
1204
    NSE-?:NONSTOP_KERNEL:*:*)
1205
	echo nse-tandem-nsk${UNAME_RELEASE}
1206
	exit ;;
1207
    NSR-?:NONSTOP_KERNEL:*:*)
1208
	echo nsr-tandem-nsk${UNAME_RELEASE}
1209
	exit ;;
1210
    *:NonStop-UX:*:*)
1211
	echo mips-compaq-nonstopux
1212
	exit ;;
1213
    BS2000:POSIX*:*:*)
1214
	echo bs2000-siemens-sysv
1215
	exit ;;
1216
    DS/*:UNIX_System_V:*:*)
1217
	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1218
	exit ;;
1219
    *:Plan9:*:*)
1220
	# "uname -m" is not consistent, so use $cputype instead. 386
1221
	# is converted to i386 for consistency with other x86
1222
	# operating systems.
1223
	if test "$cputype" = "386"; then
1224
	    UNAME_MACHINE=i386
1225
	else
1226
	    UNAME_MACHINE="$cputype"
1227
	fi
1228
	echo ${UNAME_MACHINE}-unknown-plan9
1229
	exit ;;
1230
    *:TOPS-10:*:*)
1231
	echo pdp10-unknown-tops10
1232
	exit ;;
1233
    *:TENEX:*:*)
1234
	echo pdp10-unknown-tenex
1235
	exit ;;
1236
    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1237
	echo pdp10-dec-tops20
1238
	exit ;;
1239
    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1240
	echo pdp10-xkl-tops20
1241
	exit ;;
1242
    *:TOPS-20:*:*)
1243
	echo pdp10-unknown-tops20
1244
	exit ;;
1245
    *:ITS:*:*)
1246
	echo pdp10-unknown-its
1247
	exit ;;
1248
    SEI:*:*:SEIUX)
1249
        echo mips-sei-seiux${UNAME_RELEASE}
1250
	exit ;;
1251
    *:DragonFly:*:*)
1252
	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1253
	exit ;;
1254
    *:*VMS:*:*)
1255
    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1256
	case "${UNAME_MACHINE}" in
1257
	    A*) echo alpha-dec-vms ; exit ;;
1258
	    I*) echo ia64-dec-vms ; exit ;;
1259
	    V*) echo vax-dec-vms ; exit ;;
1260
	esac ;;
1261
    *:XENIX:*:SysV)
1262
	echo i386-pc-xenix
1263
	exit ;;
1264
    i*86:skyos:*:*)
1265
	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1266
	exit ;;
1267
esac
1268

    
1269
#echo '(No uname command or uname output not recognized.)' 1>&2
1270
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1271

    
1272
eval $set_cc_for_build
1273
cat >$dummy.c <<EOF
1274
#ifdef _SEQUENT_
1275
# include <sys/types.h>
1276
# include <sys/utsname.h>
1277
#endif
1278
main ()
1279
{
1280
#if defined (sony)
1281
#if defined (MIPSEB)
1282
  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1283
     I don't know....  */
1284
  printf ("mips-sony-bsd\n"); exit (0);
1285
#else
1286
#include <sys/param.h>
1287
  printf ("m68k-sony-newsos%s\n",
1288
#ifdef NEWSOS4
1289
          "4"
1290
#else
1291
	  ""
1292
#endif
1293
         ); exit (0);
1294
#endif
1295
#endif
1296

    
1297
#if defined (__arm) && defined (__acorn) && defined (__unix)
1298
  printf ("arm-acorn-riscix\n"); exit (0);
1299
#endif
1300

    
1301
#if defined (hp300) && !defined (hpux)
1302
  printf ("m68k-hp-bsd\n"); exit (0);
1303
#endif
1304

    
1305
#if defined (NeXT)
1306
#if !defined (__ARCHITECTURE__)
1307
#define __ARCHITECTURE__ "m68k"
1308
#endif
1309
  int version;
1310
  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1311
  if (version < 4)
1312
    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1313
  else
1314
    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1315
  exit (0);
1316
#endif
1317

    
1318
#if defined (MULTIMAX) || defined (n16)
1319
#if defined (UMAXV)
1320
  printf ("ns32k-encore-sysv\n"); exit (0);
1321
#else
1322
#if defined (CMU)
1323
  printf ("ns32k-encore-mach\n"); exit (0);
1324
#else
1325
  printf ("ns32k-encore-bsd\n"); exit (0);
1326
#endif
1327
#endif
1328
#endif
1329

    
1330
#if defined (__386BSD__)
1331
  printf ("i386-pc-bsd\n"); exit (0);
1332
#endif
1333

    
1334
#if defined (sequent)
1335
#if defined (i386)
1336
  printf ("i386-sequent-dynix\n"); exit (0);
1337
#endif
1338
#if defined (ns32000)
1339
  printf ("ns32k-sequent-dynix\n"); exit (0);
1340
#endif
1341
#endif
1342

    
1343
#if defined (_SEQUENT_)
1344
    struct utsname un;
1345

    
1346
    uname(&un);
1347

    
1348
    if (strncmp(un.version, "V2", 2) == 0) {
1349
	printf ("i386-sequent-ptx2\n"); exit (0);
1350
    }
1351
    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1352
	printf ("i386-sequent-ptx1\n"); exit (0);
1353
    }
1354
    printf ("i386-sequent-ptx\n"); exit (0);
1355

    
1356
#endif
1357

    
1358
#if defined (vax)
1359
# if !defined (ultrix)
1360
#  include <sys/param.h>
1361
#  if defined (BSD)
1362
#   if BSD == 43
1363
      printf ("vax-dec-bsd4.3\n"); exit (0);
1364
#   else
1365
#    if BSD == 199006
1366
      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1367
#    else
1368
      printf ("vax-dec-bsd\n"); exit (0);
1369
#    endif
1370
#   endif
1371
#  else
1372
    printf ("vax-dec-bsd\n"); exit (0);
1373
#  endif
1374
# else
1375
    printf ("vax-dec-ultrix\n"); exit (0);
1376
# endif
1377
#endif
1378

    
1379
#if defined (alliant) && defined (i860)
1380
  printf ("i860-alliant-bsd\n"); exit (0);
1381
#endif
1382

    
1383
  exit (1);
1384
}
1385
EOF
1386

    
1387
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1388
	{ echo "$SYSTEM_NAME"; exit; }
1389

    
1390
# Apollos put the system type in the environment.
1391

    
1392
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1393

    
1394
# Convex versions that predate uname can use getsysinfo(1)
1395

    
1396
if [ -x /usr/convex/getsysinfo ]
1397
then
1398
    case `getsysinfo -f cpu_type` in
1399
    c1*)
1400
	echo c1-convex-bsd
1401
	exit ;;
1402
    c2*)
1403
	if getsysinfo -f scalar_acc
1404
	then echo c32-convex-bsd
1405
	else echo c2-convex-bsd
1406
	fi
1407
	exit ;;
1408
    c34*)
1409
	echo c34-convex-bsd
1410
	exit ;;
1411
    c38*)
1412
	echo c38-convex-bsd
1413
	exit ;;
1414
    c4*)
1415
	echo c4-convex-bsd
1416
	exit ;;
1417
    esac
1418
fi
1419

    
1420
cat >&2 <<EOF
1421
$0: unable to guess system type
1422

    
1423
This script, last modified $timestamp, has failed to recognize
1424
the operating system you are using. It is advised that you
1425
download the most up to date version of the config scripts from
1426

    
1427
  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1428
and
1429
  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
1430

    
1431
If the version you run ($0) is already up to date, please
1432
send the following data and any information you think might be
1433
pertinent to <config-patches@gnu.org> in order to provide the needed
1434
information to handle your system.
1435

    
1436
config.guess timestamp = $timestamp
1437

    
1438
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1439
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1440
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1441
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1442

    
1443
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1444
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1445

    
1446
hostinfo               = `(hostinfo) 2>/dev/null`
1447
/bin/universe          = `(/bin/universe) 2>/dev/null`
1448
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1449
/bin/arch              = `(/bin/arch) 2>/dev/null`
1450
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1451
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1452

    
1453
UNAME_MACHINE = ${UNAME_MACHINE}
1454
UNAME_RELEASE = ${UNAME_RELEASE}
1455
UNAME_SYSTEM  = ${UNAME_SYSTEM}
1456
UNAME_VERSION = ${UNAME_VERSION}
1457
EOF
1458

    
1459
exit 1
1460

    
1461
# Local variables:
1462
# eval: (add-hook 'write-file-hooks 'time-stamp)
1463
# time-stamp-start: "timestamp='"
1464
# time-stamp-format: "%:y-%02m-%02d"
1465
# time-stamp-end: "'"
1466
# End: