Statistics
| Revision:

root / config.guess @ 238

History | View | Annotate | Download (42.8 kB)

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