Subversion Repositories freemyipod

Rev

Details | Last modification | View Log | RSS feed

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