Statistics
| Branch: | Revision:

root / src / utils / config.guess @ cbd2c699

History | View | Annotate | Download (37.5 KB)

1
#! /bin/sh
2
# Attempt to guess a canonical system name.
3
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4
#   Free Software Foundation, Inc.
5

    
6
timestamp='2001-08-21'
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21
#
22
# As a special exception to the GNU General Public License, if you
23
# distribute this file as part of a program that contains a
24
# configuration script generated by Autoconf, you may include it under
25
# the same distribution terms that you use for the rest of that program.
26

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

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

    
39
usage="\
40
Usage: $0 [OPTION]
41

    
42
Output the configuration name of the system \`$me' is run on.
43

    
44
Operation modes:
45
  -h, --help         print this help, then exit
46
  -t, --time-stamp   print date of last modification, then exit
47
  -v, --version      print version number, then exit
48

    
49
Report bugs and patches to <config-patches@gnu.org>."
50

    
51
version="\
52
GNU config.guess ($timestamp)
53

    
54
Originally written by Per Bothner.
55
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
56
Free Software Foundation, Inc.
57

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

    
61
help="
62
Try \`$me --help' for more information."
63

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

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

    
90

    
91
dummy=dummy-$$
92
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
93

    
94
# CC_FOR_BUILD -- compiler used by this script.
95
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
96
# use `HOST_CC' if defined, but it is deprecated.
97

    
98
set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
99
 ,,)    echo "int dummy(){}" > $dummy.c ;
100
	for c in cc gcc c89 ; do
101
	  ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
102
	  if test $? = 0 ; then
103
	     CC_FOR_BUILD="$c"; break ;
104
	  fi ;
105
	done ;
106
	rm -f $dummy.c $dummy.o $dummy.rel ;
107
	if test x"$CC_FOR_BUILD" = x ; then
108
	  CC_FOR_BUILD=no_compiler_found ;
109
	fi
110
	;;
111
 ,,*)   CC_FOR_BUILD=$CC ;;
112
 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
113
esac'
114

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

    
121
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
122
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
123
UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
124
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
125

    
126
# Note: order is significant - the case branches are not exclusive.
127

    
128
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
129
    *:NetBSD:*:*)
130
	# Netbsd (nbsd) targets should (where applicable) match one or
131
	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
132
	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
133
	# switched to ELF, *-*-netbsd* would select the old
134
	# object file format.  This provides both forward
135
	# compatibility and a consistent mechanism for selecting the
136
	# object file format.
137
	# Determine the machine/vendor (is the vendor relevant).
138
	case "${UNAME_MACHINE}" in
139
	    amiga) machine=m68k-unknown ;;
140
	    arm32) machine=arm-unknown ;;
141
	    atari*) machine=m68k-atari ;;
142
	    sun3*) machine=m68k-sun ;;
143
	    mac68k) machine=m68k-apple ;;
144
	    macppc) machine=powerpc-apple ;;
145
	    hp3[0-9][05]) machine=m68k-hp ;;
146
	    ibmrt|romp-ibm) machine=romp-ibm ;;
147
	    *) machine=${UNAME_MACHINE}-unknown ;;
148
	esac
149
	# The Operating System including object format, if it has switched
150
	# to ELF recently, or will in the future.
151
	case "${UNAME_MACHINE}" in
152
	    i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
153
		eval $set_cc_for_build
154
		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
155
			| grep __ELF__ >/dev/null
156
		then
157
		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
158
		    # Return netbsd for either.  FIX?
159
		    os=netbsd
160
		else
161
		    os=netbsdelf
162
		fi
163
		;;
164
	    *)
165
	        os=netbsd
166
		;;
167
	esac
168
	# The OS release
169
	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
170
	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
171
	# contains redundant information, the shorter form:
172
	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
173
	echo "${machine}-${os}${release}"
174
	exit 0 ;;
175
    alpha:OSF1:*:*)
176
	if test $UNAME_RELEASE = "V4.0"; then
177
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
178
	fi
179
	# A Vn.n version is a released version.
180
	# A Tn.n version is a released field test version.
181
	# A Xn.n version is an unreleased experimental baselevel.
182
	# 1.2 uses "1.2" for uname -r.
183
	cat <<EOF >$dummy.s
184
	.data
185
\$Lformat:
186
	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
187

    
188
	.text
189
	.globl main
190
	.align 4
191
	.ent main
192
main:
193
	.frame \$30,16,\$26,0
194
	ldgp \$29,0(\$27)
195
	.prologue 1
196
	.long 0x47e03d80 # implver \$0
197
	lda \$2,-1
198
	.long 0x47e20c21 # amask \$2,\$1
199
	lda \$16,\$Lformat
200
	mov \$0,\$17
201
	not \$1,\$18
202
	jsr \$26,printf
203
	ldgp \$29,0(\$26)
204
	mov 0,\$16
205
	jsr \$26,exit
206
	.end main
207
EOF
208
	eval $set_cc_for_build
209
	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
210
	if test "$?" = 0 ; then
211
		case `./$dummy` in
212
			0-0)
213
				UNAME_MACHINE="alpha"
214
				;;
215
			1-0)
216
				UNAME_MACHINE="alphaev5"
217
				;;
218
			1-1)
219
				UNAME_MACHINE="alphaev56"
220
				;;
221
			1-101)
222
				UNAME_MACHINE="alphapca56"
223
				;;
224
			2-303)
225
				UNAME_MACHINE="alphaev6"
226
				;;
227
			2-307)
228
				UNAME_MACHINE="alphaev67"
229
				;;
230
			2-1307)
231
				UNAME_MACHINE="alphaev68"
232
				;;
233
		esac
234
	fi
235
	rm -f $dummy.s $dummy
236
	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
237
	exit 0 ;;
238
    Alpha\ *:Windows_NT*:*)
239
	# How do we know it's Interix rather than the generic POSIX subsystem?
240
	# Should we change UNAME_MACHINE based on the output of uname instead
241
	# of the specific Alpha model?
242
	echo alpha-pc-interix
243
	exit 0 ;;
244
    21064:Windows_NT:50:3)
245
	echo alpha-dec-winnt3.5
246
	exit 0 ;;
247
    Amiga*:UNIX_System_V:4.0:*)
248
	echo m68k-unknown-sysv4
249
	exit 0;;
250
    amiga:OpenBSD:*:*)
251
	echo m68k-unknown-openbsd${UNAME_RELEASE}
252
	exit 0 ;;
253
    *:[Aa]miga[Oo][Ss]:*:*)
254
	echo ${UNAME_MACHINE}-unknown-amigaos
255
	exit 0 ;;
256
    arc64:OpenBSD:*:*)
257
	echo mips64el-unknown-openbsd${UNAME_RELEASE}
258
	exit 0 ;;
259
    arc:OpenBSD:*:*)
260
	echo mipsel-unknown-openbsd${UNAME_RELEASE}
261
	exit 0 ;;
262
    hkmips:OpenBSD:*:*)
263
	echo mips-unknown-openbsd${UNAME_RELEASE}
264
	exit 0 ;;
265
    pmax:OpenBSD:*:*)
266
	echo mipsel-unknown-openbsd${UNAME_RELEASE}
267
	exit 0 ;;
268
    sgi:OpenBSD:*:*)
269
	echo mips-unknown-openbsd${UNAME_RELEASE}
270
	exit 0 ;;
271
    wgrisc:OpenBSD:*:*)
272
	echo mipsel-unknown-openbsd${UNAME_RELEASE}
273
	exit 0 ;;
274
    *:OS/390:*:*)
275
	echo i370-ibm-openedition
276
	exit 0 ;;
277
    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
278
	echo arm-acorn-riscix${UNAME_RELEASE}
279
	exit 0;;
280
    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
281
	echo hppa1.1-hitachi-hiuxmpp
282
	exit 0;;
283
    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
284
	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
285
	if test "`(/bin/universe) 2>/dev/null`" = att ; then
286
		echo pyramid-pyramid-sysv3
287
	else
288
		echo pyramid-pyramid-bsd
289
	fi
290
	exit 0 ;;
291
    NILE*:*:*:dcosx)
292
	echo pyramid-pyramid-svr4
293
	exit 0 ;;
294
    sun4H:SunOS:5.*:*)
295
	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
296
	exit 0 ;;
297
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
298
	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
299
	exit 0 ;;
300
    i86pc:SunOS:5.*:*)
301
	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
302
	exit 0 ;;
303
    sun4*:SunOS:6*:*)
304
	# According to config.sub, this is the proper way to canonicalize
305
	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
306
	# it's likely to be more like Solaris than SunOS4.
307
	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
308
	exit 0 ;;
309
    sun4*:SunOS:*:*)
310
	case "`/usr/bin/arch -k`" in
311
	    Series*|S4*)
312
		UNAME_RELEASE=`uname -v`
313
		;;
314
	esac
315
	# Japanese Language versions have a version number like `4.1.3-JL'.
316
	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
317
	exit 0 ;;
318
    sun3*:SunOS:*:*)
319
	echo m68k-sun-sunos${UNAME_RELEASE}
320
	exit 0 ;;
321
    sun*:*:4.2BSD:*)
322
	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
323
	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
324
	case "`/bin/arch`" in
325
	    sun3)
326
		echo m68k-sun-sunos${UNAME_RELEASE}
327
		;;
328
	    sun4)
329
		echo sparc-sun-sunos${UNAME_RELEASE}
330
		;;
331
	esac
332
	exit 0 ;;
333
    aushp:SunOS:*:*)
334
	echo sparc-auspex-sunos${UNAME_RELEASE}
335
	exit 0 ;;
336
    sparc*:NetBSD:*)
337
	echo `uname -p`-unknown-netbsd${UNAME_RELEASE}
338
	exit 0 ;;
339
    atari*:OpenBSD:*:*)
340
	echo m68k-unknown-openbsd${UNAME_RELEASE}
341
	exit 0 ;;
342
    # The situation for MiNT is a little confusing.  The machine name
343
    # can be virtually everything (everything which is not
344
    # "atarist" or "atariste" at least should have a processor
345
    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
346
    # to the lowercase version "mint" (or "freemint").  Finally
347
    # the system name "TOS" denotes a system which is actually not
348
    # MiNT.  But MiNT is downward compatible to TOS, so this should
349
    # be no problem.
350
    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
351
        echo m68k-atari-mint${UNAME_RELEASE}
352
	exit 0 ;;
353
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
354
	echo m68k-atari-mint${UNAME_RELEASE}
355
        exit 0 ;;
356
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
357
        echo m68k-atari-mint${UNAME_RELEASE}
358
	exit 0 ;;
359
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
360
        echo m68k-milan-mint${UNAME_RELEASE}
361
        exit 0 ;;
362
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
363
        echo m68k-hades-mint${UNAME_RELEASE}
364
        exit 0 ;;
365
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
366
        echo m68k-unknown-mint${UNAME_RELEASE}
367
        exit 0 ;;
368
    sun3*:OpenBSD:*:*)
369
	echo m68k-unknown-openbsd${UNAME_RELEASE}
370
	exit 0 ;;
371
    mac68k:OpenBSD:*:*)
372
	echo m68k-unknown-openbsd${UNAME_RELEASE}
373
	exit 0 ;;
374
    mvme68k:OpenBSD:*:*)
375
	echo m68k-unknown-openbsd${UNAME_RELEASE}
376
	exit 0 ;;
377
    mvme88k:OpenBSD:*:*)
378
	echo m88k-unknown-openbsd${UNAME_RELEASE}
379
	exit 0 ;;
380
    powerpc:machten:*:*)
381
	echo powerpc-apple-machten${UNAME_RELEASE}
382
	exit 0 ;;
383
    RISC*:Mach:*:*)
384
	echo mips-dec-mach_bsd4.3
385
	exit 0 ;;
386
    RISC*:ULTRIX:*:*)
387
	echo mips-dec-ultrix${UNAME_RELEASE}
388
	exit 0 ;;
389
    VAX*:ULTRIX*:*:*)
390
	echo vax-dec-ultrix${UNAME_RELEASE}
391
	exit 0 ;;
392
    2020:CLIX:*:* | 2430:CLIX:*:*)
393
	echo clipper-intergraph-clix${UNAME_RELEASE}
394
	exit 0 ;;
395
    mips:*:*:UMIPS | mips:*:*:RISCos)
396
	sed 's/^	//' << EOF >$dummy.c
397
#ifdef __cplusplus
398
#include <stdio.h>  /* for printf() prototype */
399
	int main (int argc, char *argv[]) {
400
#else
401
	int main (argc, argv) int argc; char *argv[]; {
402
#endif
403
	#if defined (host_mips) && defined (MIPSEB)
404
	#if defined (SYSTYPE_SYSV)
405
	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
406
	#endif
407
	#if defined (SYSTYPE_SVR4)
408
	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
409
	#endif
410
	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
411
	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
412
	#endif
413
	#endif
414
	  exit (-1);
415
	}
416
EOF
417
	eval $set_cc_for_build
418
	$CC_FOR_BUILD $dummy.c -o $dummy \
419
	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
420
	  && rm -f $dummy.c $dummy && exit 0
421
	rm -f $dummy.c $dummy
422
	echo mips-mips-riscos${UNAME_RELEASE}
423
	exit 0 ;;
424
    Motorola:PowerMAX_OS:*:*)
425
	echo powerpc-motorola-powermax
426
	exit 0 ;;
427
    Night_Hawk:Power_UNIX:*:*)
428
	echo powerpc-harris-powerunix
429
	exit 0 ;;
430
    m88k:CX/UX:7*:*)
431
	echo m88k-harris-cxux7
432
	exit 0 ;;
433
    m88k:*:4*:R4*)
434
	echo m88k-motorola-sysv4
435
	exit 0 ;;
436
    m88k:*:3*:R3*)
437
	echo m88k-motorola-sysv3
438
	exit 0 ;;
439
    AViiON:dgux:*:*)
440
        # DG/UX returns AViiON for all architectures
441
        UNAME_PROCESSOR=`/usr/bin/uname -p`
442
	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
443
	then
444
	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
445
	       [ ${TARGET_BINARY_INTERFACE}x = x ]
446
	    then
447
		echo m88k-dg-dgux${UNAME_RELEASE}
448
	    else
449
		echo m88k-dg-dguxbcs${UNAME_RELEASE}
450
	    fi
451
	else
452
	    echo i586-dg-dgux${UNAME_RELEASE}
453
	fi
454
 	exit 0 ;;
455
    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
456
	echo m88k-dolphin-sysv3
457
	exit 0 ;;
458
    M88*:*:R3*:*)
459
	# Delta 88k system running SVR3
460
	echo m88k-motorola-sysv3
461
	exit 0 ;;
462
    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
463
	echo m88k-tektronix-sysv3
464
	exit 0 ;;
465
    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
466
	echo m68k-tektronix-bsd
467
	exit 0 ;;
468
    *:IRIX*:*:*)
469
	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
470
	exit 0 ;;
471
    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
472
	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
473
	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
474
    i*86:AIX:*:*)
475
	echo i386-ibm-aix
476
	exit 0 ;;
477
    ia64:AIX:*:*)
478
	if [ -x /usr/bin/oslevel ] ; then
479
		IBM_REV=`/usr/bin/oslevel`
480
	else
481
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
482
	fi
483
	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
484
	exit 0 ;;
485
    *:AIX:2:3)
486
	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
487
		sed 's/^		//' << EOF >$dummy.c
488
		#include <sys/systemcfg.h>
489

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

    
568
              #define _HPUX_SOURCE
569
              #include <stdlib.h>
570
              #include <unistd.h>
571

    
572
              int main ()
573
              {
574
              #if defined(_SC_KERNEL_BITS)
575
                  long bits = sysconf(_SC_KERNEL_BITS);
576
              #endif
577
                  long cpu  = sysconf (_SC_CPU_VERSION);
578

    
579
                  switch (cpu)
580
              	{
581
              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
582
              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
583
              	case CPU_PA_RISC2_0:
584
              #if defined(_SC_KERNEL_BITS)
585
              	    switch (bits)
586
              		{
587
              		case 64: puts ("hppa2.0w"); break;
588
              		case 32: puts ("hppa2.0n"); break;
589
              		default: puts ("hppa2.0"); break;
590
              		} break;
591
              #else  /* !defined(_SC_KERNEL_BITS) */
592
              	    puts ("hppa2.0"); break;
593
              #endif
594
              	default: puts ("hppa1.0"); break;
595
              	}
596
                  exit (0);
597
              }
598
EOF
599
	eval $set_cc_for_build
600
	(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
601
	if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
602
	rm -f $dummy.c $dummy
603
	fi ;;
604
	esac
605
	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
606
	exit 0 ;;
607
    ia64:HP-UX:*:*)
608
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
609
	echo ia64-hp-hpux${HPUX_REV}
610
	exit 0 ;;
611
    3050*:HI-UX:*:*)
612
	sed 's/^	//' << EOF >$dummy.c
613
	#include <unistd.h>
614
	int
615
	main ()
616
	{
617
	  long cpu = sysconf (_SC_CPU_VERSION);
618
	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
619
	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
620
	     results, however.  */
621
	  if (CPU_IS_PA_RISC (cpu))
622
	    {
623
	      switch (cpu)
624
		{
625
		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
626
		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
627
		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
628
		  default: puts ("hppa-hitachi-hiuxwe2"); break;
629
		}
630
	    }
631
	  else if (CPU_IS_HP_MC68K (cpu))
632
	    puts ("m68k-hitachi-hiuxwe2");
633
	  else puts ("unknown-hitachi-hiuxwe2");
634
	  exit (0);
635
	}
636
EOF
637
	eval $set_cc_for_build
638
	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
639
	rm -f $dummy.c $dummy
640
	echo unknown-hitachi-hiuxwe2
641
	exit 0 ;;
642
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
643
	echo hppa1.1-hp-bsd
644
	exit 0 ;;
645
    9000/8??:4.3bsd:*:*)
646
	echo hppa1.0-hp-bsd
647
	exit 0 ;;
648
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
649
	echo hppa1.0-hp-mpeix
650
	exit 0 ;;
651
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
652
	echo hppa1.1-hp-osf
653
	exit 0 ;;
654
    hp8??:OSF1:*:*)
655
	echo hppa1.0-hp-osf
656
	exit 0 ;;
657
    i*86:OSF1:*:*)
658
	if [ -x /usr/sbin/sysversion ] ; then
659
	    echo ${UNAME_MACHINE}-unknown-osf1mk
660
	else
661
	    echo ${UNAME_MACHINE}-unknown-osf1
662
	fi
663
	exit 0 ;;
664
    parisc*:Lites*:*:*)
665
	echo hppa1.1-hp-lites
666
	exit 0 ;;
667
    hppa*:OpenBSD:*:*)
668
	echo hppa-unknown-openbsd
669
	exit 0 ;;
670
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
671
	echo c1-convex-bsd
672
        exit 0 ;;
673
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
674
	if getsysinfo -f scalar_acc
675
	then echo c32-convex-bsd
676
	else echo c2-convex-bsd
677
	fi
678
        exit 0 ;;
679
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
680
	echo c34-convex-bsd
681
        exit 0 ;;
682
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
683
	echo c38-convex-bsd
684
        exit 0 ;;
685
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
686
	echo c4-convex-bsd
687
        exit 0 ;;
688
    CRAY*X-MP:*:*:*)
689
	echo xmp-cray-unicos
690
        exit 0 ;;
691
    CRAY*Y-MP:*:*:*)
692
	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
693
	exit 0 ;;
694
    CRAY*[A-Z]90:*:*:*)
695
	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
696
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
697
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
698
	      -e 's/\.[^.]*$/.X/'
699
	exit 0 ;;
700
    CRAY*TS:*:*:*)
701
	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
702
	exit 0 ;;
703
    CRAY*T3D:*:*:*)
704
	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
705
	exit 0 ;;
706
    CRAY*T3E:*:*:*)
707
	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
708
	exit 0 ;;
709
    CRAY*SV1:*:*:*)
710
	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
711
	exit 0 ;;
712
    CRAY-2:*:*:*)
713
	echo cray2-cray-unicos
714
        exit 0 ;;
715
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
716
	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
717
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
718
        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
719
        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
720
        exit 0 ;;
721
    hp300:OpenBSD:*:*)
722
	echo m68k-unknown-openbsd${UNAME_RELEASE}
723
	exit 0 ;;
724
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
725
	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
726
	exit 0 ;;
727
    sparc*:BSD/OS:*:*)
728
	echo sparc-unknown-bsdi${UNAME_RELEASE}
729
	exit 0 ;;
730
    *:BSD/OS:*:*)
731
	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
732
	exit 0 ;;
733
    *:FreeBSD:*:*)
734
	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
735
	exit 0 ;;
736
    *:OpenBSD:*:*)
737
	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
738
	exit 0 ;;
739
    i*:CYGWIN*:*)
740
	echo ${UNAME_MACHINE}-pc-cygwin
741
	exit 0 ;;
742
    i*:MINGW*:*)
743
	echo ${UNAME_MACHINE}-pc-mingw32
744
	exit 0 ;;
745
    i*:PW*:*)
746
	echo ${UNAME_MACHINE}-pc-pw32
747
	exit 0 ;;
748
    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
749
	# How do we know it's Interix rather than the generic POSIX subsystem?
750
	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
751
	# UNAME_MACHINE based on the output of uname instead of i386?
752
	echo i386-pc-interix
753
	exit 0 ;;
754
    i*:UWIN*:*)
755
	echo ${UNAME_MACHINE}-pc-uwin
756
	exit 0 ;;
757
    p*:CYGWIN*:*)
758
	echo powerpcle-unknown-cygwin
759
	exit 0 ;;
760
    prep*:SunOS:5.*:*)
761
	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
762
	exit 0 ;;
763
    *:GNU:*:*)
764
	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
765
	exit 0 ;;
766
    i*86:Minix:*:*)
767
	echo ${UNAME_MACHINE}-pc-minix
768
	exit 0 ;;
769
    arm*:Linux:*:*)
770
	echo ${UNAME_MACHINE}-unknown-linux-gnu
771
	exit 0 ;;
772
    ia64:Linux:*:*)
773
	echo ${UNAME_MACHINE}-unknown-linux
774
	exit 0 ;;
775
    m68*:Linux:*:*)
776
	echo ${UNAME_MACHINE}-unknown-linux-gnu
777
	exit 0 ;;
778
    mips:Linux:*:*)
779
	case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
780
	  big)    echo mips-unknown-linux-gnu && exit 0 ;;
781
	  little) echo mipsel-unknown-linux-gnu && exit 0 ;;
782
	esac
783
	;;
784
    ppc:Linux:*:*)
785
	echo powerpc-unknown-linux-gnu
786
	exit 0 ;;
787
    ppc64:Linux:*:*)
788
	echo powerpc64-unknown-linux-gnu
789
	exit 0 ;;
790
    alpha:Linux:*:*)
791
	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
792
	  EV5)   UNAME_MACHINE=alphaev5 ;;
793
	  EV56)  UNAME_MACHINE=alphaev56 ;;
794
	  PCA56) UNAME_MACHINE=alphapca56 ;;
795
	  PCA57) UNAME_MACHINE=alphapca56 ;;
796
	  EV6)   UNAME_MACHINE=alphaev6 ;;
797
	  EV67)  UNAME_MACHINE=alphaev67 ;;
798
	  EV68*) UNAME_MACHINE=alphaev68 ;;
799
        esac
800
	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
801
	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
802
	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
803
	exit 0 ;;
804
    parisc:Linux:*:* | hppa:Linux:*:*)
805
	# Look for CPU level
806
	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
807
	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
808
	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
809
	  *)    echo hppa-unknown-linux-gnu ;;
810
	esac
811
	exit 0 ;;
812
    parisc64:Linux:*:* | hppa64:Linux:*:*)
813
	echo hppa64-unknown-linux-gnu
814
	exit 0 ;;
815
    s390:Linux:*:* | s390x:Linux:*:*)
816
	echo ${UNAME_MACHINE}-ibm-linux
817
	exit 0 ;;
818
    sh*:Linux:*:*)
819
	echo ${UNAME_MACHINE}-unknown-linux-gnu
820
	exit 0 ;;
821
    sparc:Linux:*:* | sparc64:Linux:*:*)
822
	echo ${UNAME_MACHINE}-unknown-linux-gnu
823
	exit 0 ;;
824
    x86_64:Linux:*:*)
825
	echo x86_64-unknown-linux-gnu
826
	exit 0 ;;
827
    i*86:Linux:*:*)
828
	# The BFD linker knows what the default object file format is, so
829
	# first see if it will tell us. cd to the root directory to prevent
830
	# problems with other programs or directories called `ld' in the path.
831
	ld_supported_targets=`cd /; ld --help 2>&1 \
832
			 | sed -ne '/supported targets:/!d
833
				    s/[ 	][ 	]*/ /g
834
				    s/.*supported targets: *//
835
				    s/ .*//
836
				    p'`
837
        case "$ld_supported_targets" in
838
	  elf32-i386)
839
		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
840
		;;
841
	  a.out-i386-linux)
842
		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
843
		exit 0 ;;
844
	  coff-i386)
845
		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
846
		exit 0 ;;
847
	  "")
848
		# Either a pre-BFD a.out linker (linux-gnuoldld) or
849
		# one that does not give us useful --help.
850
		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
851
		exit 0 ;;
852
	esac
853
	# Determine whether the default compiler is a.out or elf
854
	cat >$dummy.c <<EOF
855
#include <features.h>
856
#ifdef __cplusplus
857
#include <stdio.h>  /* for printf() prototype */
858
	int main (int argc, char *argv[]) {
859
#else
860
	int main (argc, argv) int argc; char *argv[]; {
861
#endif
862
#ifdef __ELF__
863
# ifdef __GLIBC__
864
#  if __GLIBC__ >= 2
865
    printf ("%s-pc-linux-gnu\n", argv[1]);
866
#  else
867
    printf ("%s-pc-linux-gnulibc1\n", argv[1]);
868
#  endif
869
# else
870
   printf ("%s-pc-linux-gnulibc1\n", argv[1]);
871
# endif
872
#else
873
  printf ("%s-pc-linux-gnuaout\n", argv[1]);
874
#endif
875
  return 0;
876
}
877
EOF
878
	eval $set_cc_for_build
879
	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
880
	rm -f $dummy.c $dummy
881
	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
882
	;;
883
    i*86:DYNIX/ptx:4*:*)
884
	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
885
	# earlier versions are messed up and put the nodename in both
886
	# sysname and nodename.
887
	echo i386-sequent-sysv4
888
	exit 0 ;;
889
    i*86:UNIX_SV:4.2MP:2.*)
890
        # Unixware is an offshoot of SVR4, but it has its own version
891
        # number series starting with 2...
892
        # I am not positive that other SVR4 systems won't match this,
893
	# I just have to hope.  -- rms.
894
        # Use sysv4.2uw... so that sysv4* matches it.
895
	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
896
	exit 0 ;;
897
    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
898
	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
899
	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
900
		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
901
	else
902
		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
903
	fi
904
	exit 0 ;;
905
    i*86:*:5:[78]*)
906
	case `/bin/uname -X | grep "^Machine"` in
907
	    *486*)	     UNAME_MACHINE=i486 ;;
908
	    *Pentium)	     UNAME_MACHINE=i586 ;;
909
	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
910
	esac
911
	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
912
	exit 0 ;;
913
    i*86:*:3.2:*)
914
	if test -f /usr/options/cb.name; then
915
		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
916
		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
917
	elif /bin/uname -X 2>/dev/null >/dev/null ; then
918
		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
919
		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
920
		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
921
			&& UNAME_MACHINE=i586
922
		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
923
			&& UNAME_MACHINE=i686
924
		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
925
			&& UNAME_MACHINE=i686
926
		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
927
	else
928
		echo ${UNAME_MACHINE}-pc-sysv32
929
	fi
930
	exit 0 ;;
931
    i*86:*DOS:*:*)
932
	echo ${UNAME_MACHINE}-pc-msdosdjgpp
933
	exit 0 ;;
934
    pc:*:*:*)
935
	# Left here for compatibility:
936
        # uname -m prints for DJGPP always 'pc', but it prints nothing about
937
        # the processor, so we play safe by assuming i386.
938
	echo i386-pc-msdosdjgpp
939
        exit 0 ;;
940
    Intel:Mach:3*:*)
941
	echo i386-pc-mach3
942
	exit 0 ;;
943
    paragon:*:*:*)
944
	echo i860-intel-osf1
945
	exit 0 ;;
946
    i860:*:4.*:*) # i860-SVR4
947
	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
948
	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
949
	else # Add other i860-SVR4 vendors below as they are discovered.
950
	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
951
	fi
952
	exit 0 ;;
953
    mini*:CTIX:SYS*5:*)
954
	# "miniframe"
955
	echo m68010-convergent-sysv
956
	exit 0 ;;
957
    M68*:*:R3V[567]*:*)
958
	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
959
    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
960
	OS_REL=''
961
	test -r /etc/.relid \
962
	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
963
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
964
	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
965
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
966
	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
967
    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
968
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
969
          && echo i486-ncr-sysv4 && exit 0 ;;
970
    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
971
	echo m68k-unknown-lynxos${UNAME_RELEASE}
972
	exit 0 ;;
973
    mc68030:UNIX_System_V:4.*:*)
974
	echo m68k-atari-sysv4
975
	exit 0 ;;
976
    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
977
	echo i386-unknown-lynxos${UNAME_RELEASE}
978
	exit 0 ;;
979
    TSUNAMI:LynxOS:2.*:*)
980
	echo sparc-unknown-lynxos${UNAME_RELEASE}
981
	exit 0 ;;
982
    rs6000:LynxOS:2.*:*)
983
	echo rs6000-unknown-lynxos${UNAME_RELEASE}
984
	exit 0 ;;
985
    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
986
	echo powerpc-unknown-lynxos${UNAME_RELEASE}
987
	exit 0 ;;
988
    SM[BE]S:UNIX_SV:*:*)
989
	echo mips-dde-sysv${UNAME_RELEASE}
990
	exit 0 ;;
991
    RM*:ReliantUNIX-*:*:*)
992
	echo mips-sni-sysv4
993
	exit 0 ;;
994
    RM*:SINIX-*:*:*)
995
	echo mips-sni-sysv4
996
	exit 0 ;;
997
    *:SINIX-*:*:*)
998
	if uname -p 2>/dev/null >/dev/null ; then
999
		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1000
		echo ${UNAME_MACHINE}-sni-sysv4
1001
	else
1002
		echo ns32k-sni-sysv
1003
	fi
1004
	exit 0 ;;
1005
    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1006
                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1007
        echo i586-unisys-sysv4
1008
        exit 0 ;;
1009
    *:UNIX_System_V:4*:FTX*)
1010
	# From Gerald Hewes <hewes@openmarket.com>.
1011
	# How about differentiating between stratus architectures? -djm
1012
	echo hppa1.1-stratus-sysv4
1013
	exit 0 ;;
1014
    *:*:*:FTX*)
1015
	# From seanf@swdc.stratus.com.
1016
	echo i860-stratus-sysv4
1017
	exit 0 ;;
1018
    *:VOS:*:*)
1019
	# From Paul.Green@stratus.com.
1020
	echo hppa1.1-stratus-vos
1021
	exit 0 ;;
1022
    mc68*:A/UX:*:*)
1023
	echo m68k-apple-aux${UNAME_RELEASE}
1024
	exit 0 ;;
1025
    news*:NEWS-OS:6*:*)
1026
	echo mips-sony-newsos6
1027
	exit 0 ;;
1028
    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1029
	if [ -d /usr/nec ]; then
1030
	        echo mips-nec-sysv${UNAME_RELEASE}
1031
	else
1032
	        echo mips-unknown-sysv${UNAME_RELEASE}
1033
	fi
1034
        exit 0 ;;
1035
    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1036
	echo powerpc-be-beos
1037
	exit 0 ;;
1038
    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1039
	echo powerpc-apple-beos
1040
	exit 0 ;;
1041
    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1042
	echo i586-pc-beos
1043
	exit 0 ;;
1044
    SX-4:SUPER-UX:*:*)
1045
	echo sx4-nec-superux${UNAME_RELEASE}
1046
	exit 0 ;;
1047
    SX-5:SUPER-UX:*:*)
1048
	echo sx5-nec-superux${UNAME_RELEASE}
1049
	exit 0 ;;
1050
    Power*:Rhapsody:*:*)
1051
	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1052
	exit 0 ;;
1053
    *:Rhapsody:*:*)
1054
	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1055
	exit 0 ;;
1056
    *:Darwin:*:*)
1057
	echo `uname -p`-apple-darwin${UNAME_RELEASE}
1058
	exit 0 ;;
1059
    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1060
	if test "${UNAME_MACHINE}" = "x86pc"; then
1061
		UNAME_MACHINE=pc
1062
	fi
1063
	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1064
	exit 0 ;;
1065
    *:QNX:*:4*)
1066
	echo i386-pc-qnx
1067
	exit 0 ;;
1068
    NSR-[KW]:NONSTOP_KERNEL:*:*)
1069
	echo nsr-tandem-nsk${UNAME_RELEASE}
1070
	exit 0 ;;
1071
    *:NonStop-UX:*:*)
1072
	echo mips-compaq-nonstopux
1073
	exit 0 ;;
1074
    BS2000:POSIX*:*:*)
1075
	echo bs2000-siemens-sysv
1076
	exit 0 ;;
1077
    DS/*:UNIX_System_V:*:*)
1078
	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1079
	exit 0 ;;
1080
    *:Plan9:*:*)
1081
	# "uname -m" is not consistent, so use $cputype instead. 386
1082
	# is converted to i386 for consistency with other x86
1083
	# operating systems.
1084
	if test "$cputype" = "386"; then
1085
	    UNAME_MACHINE=i386
1086
	else
1087
	    UNAME_MACHINE="$cputype"
1088
	fi
1089
	echo ${UNAME_MACHINE}-unknown-plan9
1090
	exit 0 ;;
1091
    i*86:OS/2:*:*)
1092
	# If we were able to find `uname', then EMX Unix compatibility
1093
	# is probably installed.
1094
	echo ${UNAME_MACHINE}-pc-os2-emx
1095
	exit 0 ;;
1096
    *:TOPS-10:*:*)
1097
	echo pdp10-unknown-tops10
1098
	exit 0 ;;
1099
    *:TENEX:*:*)
1100
	echo pdp10-unknown-tenex
1101
	exit 0 ;;
1102
    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1103
	echo pdp10-dec-tops20
1104
	exit 0 ;;
1105
    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1106
	echo pdp10-xkl-tops20
1107
	exit 0 ;;
1108
    *:TOPS-20:*:*)
1109
	echo pdp10-unknown-tops20
1110
	exit 0 ;;
1111
    *:ITS:*:*)
1112
	echo pdp10-unknown-its
1113
	exit 0 ;;
1114
    i*86:XTS-300:*:STOP)
1115
	echo ${UNAME_MACHINE}-unknown-stop
1116
	exit 0 ;;
1117
esac
1118

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

    
1122
cat >$dummy.c <<EOF
1123
#ifdef _SEQUENT_
1124
# include <sys/types.h>
1125
# include <sys/utsname.h>
1126
#endif
1127
main ()
1128
{
1129
#if defined (sony)
1130
#if defined (MIPSEB)
1131
  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1132
     I don't know....  */
1133
  printf ("mips-sony-bsd\n"); exit (0);
1134
#else
1135
#include <sys/param.h>
1136
  printf ("m68k-sony-newsos%s\n",
1137
#ifdef NEWSOS4
1138
          "4"
1139
#else
1140
	  ""
1141
#endif
1142
         ); exit (0);
1143
#endif
1144
#endif
1145

    
1146
#if defined (__arm) && defined (__acorn) && defined (__unix)
1147
  printf ("arm-acorn-riscix"); exit (0);
1148
#endif
1149

    
1150
#if defined (hp300) && !defined (hpux)
1151
  printf ("m68k-hp-bsd\n"); exit (0);
1152
#endif
1153

    
1154
#if defined (NeXT)
1155
#if !defined (__ARCHITECTURE__)
1156
#define __ARCHITECTURE__ "m68k"
1157
#endif
1158
  int version;
1159
  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1160
  if (version < 4)
1161
    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1162
  else
1163
    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1164
  exit (0);
1165
#endif
1166

    
1167
#if defined (MULTIMAX) || defined (n16)
1168
#if defined (UMAXV)
1169
  printf ("ns32k-encore-sysv\n"); exit (0);
1170
#else
1171
#if defined (CMU)
1172
  printf ("ns32k-encore-mach\n"); exit (0);
1173
#else
1174
  printf ("ns32k-encore-bsd\n"); exit (0);
1175
#endif
1176
#endif
1177
#endif
1178

    
1179
#if defined (__386BSD__)
1180
  printf ("i386-pc-bsd\n"); exit (0);
1181
#endif
1182

    
1183
#if defined (sequent)
1184
#if defined (i386)
1185
  printf ("i386-sequent-dynix\n"); exit (0);
1186
#endif
1187
#if defined (ns32000)
1188
  printf ("ns32k-sequent-dynix\n"); exit (0);
1189
#endif
1190
#endif
1191

    
1192
#if defined (_SEQUENT_)
1193
    struct utsname un;
1194

    
1195
    uname(&un);
1196

    
1197
    if (strncmp(un.version, "V2", 2) == 0) {
1198
	printf ("i386-sequent-ptx2\n"); exit (0);
1199
    }
1200
    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1201
	printf ("i386-sequent-ptx1\n"); exit (0);
1202
    }
1203
    printf ("i386-sequent-ptx\n"); exit (0);
1204

    
1205
#endif
1206

    
1207
#if defined (vax)
1208
# if !defined (ultrix)
1209
#  include <sys/param.h>
1210
#  if defined (BSD)
1211
#   if BSD == 43
1212
      printf ("vax-dec-bsd4.3\n"); exit (0);
1213
#   else
1214
#    if BSD == 199006
1215
      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1216
#    else
1217
      printf ("vax-dec-bsd\n"); exit (0);
1218
#    endif
1219
#   endif
1220
#  else
1221
    printf ("vax-dec-bsd\n"); exit (0);
1222
#  endif
1223
# else
1224
    printf ("vax-dec-ultrix\n"); exit (0);
1225
# endif
1226
#endif
1227

    
1228
#if defined (alliant) && defined (i860)
1229
  printf ("i860-alliant-bsd\n"); exit (0);
1230
#endif
1231

    
1232
  exit (1);
1233
}
1234
EOF
1235

    
1236
eval $set_cc_for_build
1237
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1238
rm -f $dummy.c $dummy
1239

    
1240
# Apollos put the system type in the environment.
1241

    
1242
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1243

    
1244
# Convex versions that predate uname can use getsysinfo(1)
1245

    
1246
if [ -x /usr/convex/getsysinfo ]
1247
then
1248
    case `getsysinfo -f cpu_type` in
1249
    c1*)
1250
	echo c1-convex-bsd
1251
	exit 0 ;;
1252
    c2*)
1253
	if getsysinfo -f scalar_acc
1254
	then echo c32-convex-bsd
1255
	else echo c2-convex-bsd
1256
	fi
1257
	exit 0 ;;
1258
    c34*)
1259
	echo c34-convex-bsd
1260
	exit 0 ;;
1261
    c38*)
1262
	echo c38-convex-bsd
1263
	exit 0 ;;
1264
    c4*)
1265
	echo c4-convex-bsd
1266
	exit 0 ;;
1267
    esac
1268
fi
1269

    
1270
cat >&2 <<EOF
1271
$0: unable to guess system type
1272

    
1273
This script, last modified $timestamp, has failed to recognize
1274
the operating system you are using. It is advised that you
1275
download the most up to date version of the config scripts from
1276

    
1277
    ftp://ftp.gnu.org/pub/gnu/config/
1278

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

    
1284
config.guess timestamp = $timestamp
1285

    
1286
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1287
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1288
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1289
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1290

    
1291
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1292
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1293

    
1294
hostinfo               = `(hostinfo) 2>/dev/null`
1295
/bin/universe          = `(/bin/universe) 2>/dev/null`
1296
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1297
/bin/arch              = `(/bin/arch) 2>/dev/null`
1298
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1299
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1300

    
1301
UNAME_MACHINE = ${UNAME_MACHINE}
1302
UNAME_RELEASE = ${UNAME_RELEASE}
1303
UNAME_SYSTEM  = ${UNAME_SYSTEM}
1304
UNAME_VERSION = ${UNAME_VERSION}
1305
EOF
1306

    
1307
exit 1
1308

    
1309
# Local variables:
1310
# eval: (add-hook 'write-file-hooks 'time-stamp)
1311
# time-stamp-start: "timestamp='"
1312
# time-stamp-format: "%:y-%02m-%02d"
1313
# time-stamp-end: "'"
1314
# End: