Statistics
| Revision:

root / config.guess @ 1

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

    
6
timestamp='2004-11-12'
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
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
    p*:CYGWIN*:*)
808
	echo powerpcle-unknown-cygwin
809
	exit 0 ;;
810
    prep*:SunOS:5.*:*)
811
	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
812
	exit 0 ;;
813
    *:GNU:*:*)
814
	# the GNU system
815
	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
816
	exit 0 ;;
817
    *:GNU/*:*:*)
818
	# other systems with GNU libc and userland
819
	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
820
	exit 0 ;;
821
    i*86:Minix:*:*)
822
	echo ${UNAME_MACHINE}-pc-minix
823
	exit 0 ;;
824
    arm*:Linux:*:*)
825
	echo ${UNAME_MACHINE}-unknown-linux-gnu
826
	exit 0 ;;
827
    cris:Linux:*:*)
828
	echo cris-axis-linux-gnu
829
	exit 0 ;;
830
    crisv32:Linux:*:*)
831
	echo crisv32-axis-linux-gnu
832
	exit 0 ;;
833
    frv:Linux:*:*)
834
    	echo frv-unknown-linux-gnu
835
	exit 0 ;;
836
    ia64:Linux:*:*)
837
	echo ${UNAME_MACHINE}-unknown-linux-gnu
838
	exit 0 ;;
839
    m32r*:Linux:*:*)
840
	echo ${UNAME_MACHINE}-unknown-linux-gnu
841
	exit 0 ;;
842
    m68*:Linux:*:*)
843
	echo ${UNAME_MACHINE}-unknown-linux-gnu
844
	exit 0 ;;
845
    mips:Linux:*:*)
846
	eval $set_cc_for_build
847
	sed 's/^	//' << EOF >$dummy.c
848
	#undef CPU
849
	#undef mips
850
	#undef mipsel
851
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
852
	CPU=mipsel
853
	#else
854
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
855
	CPU=mips
856
	#else
857
	CPU=
858
	#endif
859
	#endif
860
EOF
861
	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
862
	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
863
	;;
864
    mips64:Linux:*:*)
865
	eval $set_cc_for_build
866
	sed 's/^	//' << EOF >$dummy.c
867
	#undef CPU
868
	#undef mips64
869
	#undef mips64el
870
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
871
	CPU=mips64el
872
	#else
873
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
874
	CPU=mips64
875
	#else
876
	CPU=
877
	#endif
878
	#endif
879
EOF
880
	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
881
	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
882
	;;
883
    ppc:Linux:*:*)
884
	echo powerpc-unknown-linux-gnu
885
	exit 0 ;;
886
    ppc64:Linux:*:*)
887
	echo powerpc64-unknown-linux-gnu
888
	exit 0 ;;
889
    alpha:Linux:*:*)
890
	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
891
	  EV5)   UNAME_MACHINE=alphaev5 ;;
892
	  EV56)  UNAME_MACHINE=alphaev56 ;;
893
	  PCA56) UNAME_MACHINE=alphapca56 ;;
894
	  PCA57) UNAME_MACHINE=alphapca56 ;;
895
	  EV6)   UNAME_MACHINE=alphaev6 ;;
896
	  EV67)  UNAME_MACHINE=alphaev67 ;;
897
	  EV68*) UNAME_MACHINE=alphaev68 ;;
898
        esac
899
	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
900
	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
901
	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
902
	exit 0 ;;
903
    parisc:Linux:*:* | hppa:Linux:*:*)
904
	# Look for CPU level
905
	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
906
	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
907
	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
908
	  *)    echo hppa-unknown-linux-gnu ;;
909
	esac
910
	exit 0 ;;
911
    parisc64:Linux:*:* | hppa64:Linux:*:*)
912
	echo hppa64-unknown-linux-gnu
913
	exit 0 ;;
914
    s390:Linux:*:* | s390x:Linux:*:*)
915
	echo ${UNAME_MACHINE}-ibm-linux
916
	exit 0 ;;
917
    sh64*:Linux:*:*)
918
    	echo ${UNAME_MACHINE}-unknown-linux-gnu
919
	exit 0 ;;
920
    sh*:Linux:*:*)
921
	echo ${UNAME_MACHINE}-unknown-linux-gnu
922
	exit 0 ;;
923
    sparc:Linux:*:* | sparc64:Linux:*:*)
924
	echo ${UNAME_MACHINE}-unknown-linux-gnu
925
	exit 0 ;;
926
    x86_64:Linux:*:*)
927
	echo x86_64-unknown-linux-gnu
928
	exit 0 ;;
929
    i*86:Linux:*:*)
930
	# The BFD linker knows what the default object file format is, so
931
	# first see if it will tell us. cd to the root directory to prevent
932
	# problems with other programs or directories called `ld' in the path.
933
	# Set LC_ALL=C to ensure ld outputs messages in English.
934
	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
935
			 | sed -ne '/supported targets:/!d
936
				    s/[ 	][ 	]*/ /g
937
				    s/.*supported targets: *//
938
				    s/ .*//
939
				    p'`
940
        case "$ld_supported_targets" in
941
	  elf32-i386)
942
		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
943
		;;
944
	  a.out-i386-linux)
945
		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
946
		exit 0 ;;
947
	  coff-i386)
948
		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
949
		exit 0 ;;
950
	  "")
951
		# Either a pre-BFD a.out linker (linux-gnuoldld) or
952
		# one that does not give us useful --help.
953
		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
954
		exit 0 ;;
955
	esac
956
	# Determine whether the default compiler is a.out or elf
957
	eval $set_cc_for_build
958
	sed 's/^	//' << EOF >$dummy.c
959
	#include <features.h>
960
	#ifdef __ELF__
961
	# ifdef __GLIBC__
962
	#  if __GLIBC__ >= 2
963
	LIBC=gnu
964
	#  else
965
	LIBC=gnulibc1
966
	#  endif
967
	# else
968
	LIBC=gnulibc1
969
	# endif
970
	#else
971
	#ifdef __INTEL_COMPILER
972
	LIBC=gnu
973
	#else
974
	LIBC=gnuaout
975
	#endif
976
	#endif
977
	#ifdef __dietlibc__
978
	LIBC=dietlibc
979
	#endif
980
EOF
981
	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
982
	test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
983
	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
984
	;;
985
    i*86:DYNIX/ptx:4*:*)
986
	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
987
	# earlier versions are messed up and put the nodename in both
988
	# sysname and nodename.
989
	echo i386-sequent-sysv4
990
	exit 0 ;;
991
    i*86:UNIX_SV:4.2MP:2.*)
992
        # Unixware is an offshoot of SVR4, but it has its own version
993
        # number series starting with 2...
994
        # I am not positive that other SVR4 systems won't match this,
995
	# I just have to hope.  -- rms.
996
        # Use sysv4.2uw... so that sysv4* matches it.
997
	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
998
	exit 0 ;;
999
    i*86:OS/2:*:*)
1000
	# If we were able to find `uname', then EMX Unix compatibility
1001
	# is probably installed.
1002
	echo ${UNAME_MACHINE}-pc-os2-emx
1003
	exit 0 ;;
1004
    i*86:XTS-300:*:STOP)
1005
	echo ${UNAME_MACHINE}-unknown-stop
1006
	exit 0 ;;
1007
    i*86:atheos:*:*)
1008
	echo ${UNAME_MACHINE}-unknown-atheos
1009
	exit 0 ;;
1010
	i*86:syllable:*:*)
1011
	echo ${UNAME_MACHINE}-pc-syllable
1012
	exit 0 ;;
1013
    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1014
	echo i386-unknown-lynxos${UNAME_RELEASE}
1015
	exit 0 ;;
1016
    i*86:*DOS:*:*)
1017
	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1018
	exit 0 ;;
1019
    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1020
	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1021
	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1022
		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1023
	else
1024
		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1025
	fi
1026
	exit 0 ;;
1027
    i*86:*:5:[78]*)
1028
	case `/bin/uname -X | grep "^Machine"` in
1029
	    *486*)	     UNAME_MACHINE=i486 ;;
1030
	    *Pentium)	     UNAME_MACHINE=i586 ;;
1031
	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1032
	esac
1033
	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1034
	exit 0 ;;
1035
    i*86:*:3.2:*)
1036
	if test -f /usr/options/cb.name; then
1037
		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1038
		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1039
	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1040
		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1041
		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1042
		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1043
			&& UNAME_MACHINE=i586
1044
		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1045
			&& UNAME_MACHINE=i686
1046
		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1047
			&& UNAME_MACHINE=i686
1048
		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1049
	else
1050
		echo ${UNAME_MACHINE}-pc-sysv32
1051
	fi
1052
	exit 0 ;;
1053
    pc:*:*:*)
1054
	# Left here for compatibility:
1055
        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1056
        # the processor, so we play safe by assuming i386.
1057
	echo i386-pc-msdosdjgpp
1058
        exit 0 ;;
1059
    Intel:Mach:3*:*)
1060
	echo i386-pc-mach3
1061
	exit 0 ;;
1062
    paragon:*:*:*)
1063
	echo i860-intel-osf1
1064
	exit 0 ;;
1065
    i860:*:4.*:*) # i860-SVR4
1066
	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1067
	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1068
	else # Add other i860-SVR4 vendors below as they are discovered.
1069
	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1070
	fi
1071
	exit 0 ;;
1072
    mini*:CTIX:SYS*5:*)
1073
	# "miniframe"
1074
	echo m68010-convergent-sysv
1075
	exit 0 ;;
1076
    mc68k:UNIX:SYSTEM5:3.51m)
1077
	echo m68k-convergent-sysv
1078
	exit 0 ;;
1079
    M680?0:D-NIX:5.3:*)
1080
	echo m68k-diab-dnix
1081
	exit 0 ;;
1082
    M68*:*:R3V[5678]*:*)
1083
	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1084
    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1085
	OS_REL=''
1086
	test -r /etc/.relid \
1087
	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1088
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1089
	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
1090
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1091
	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1092
    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1093
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1094
          && echo i486-ncr-sysv4 && exit 0 ;;
1095
    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1096
	echo m68k-unknown-lynxos${UNAME_RELEASE}
1097
	exit 0 ;;
1098
    mc68030:UNIX_System_V:4.*:*)
1099
	echo m68k-atari-sysv4
1100
	exit 0 ;;
1101
    TSUNAMI:LynxOS:2.*:*)
1102
	echo sparc-unknown-lynxos${UNAME_RELEASE}
1103
	exit 0 ;;
1104
    rs6000:LynxOS:2.*:*)
1105
	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1106
	exit 0 ;;
1107
    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1108
	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1109
	exit 0 ;;
1110
    SM[BE]S:UNIX_SV:*:*)
1111
	echo mips-dde-sysv${UNAME_RELEASE}
1112
	exit 0 ;;
1113
    RM*:ReliantUNIX-*:*:*)
1114
	echo mips-sni-sysv4
1115
	exit 0 ;;
1116
    RM*:SINIX-*:*:*)
1117
	echo mips-sni-sysv4
1118
	exit 0 ;;
1119
    *:SINIX-*:*:*)
1120
	if uname -p 2>/dev/null >/dev/null ; then
1121
		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1122
		echo ${UNAME_MACHINE}-sni-sysv4
1123
	else
1124
		echo ns32k-sni-sysv
1125
	fi
1126
	exit 0 ;;
1127
    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1128
                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1129
        echo i586-unisys-sysv4
1130
        exit 0 ;;
1131
    *:UNIX_System_V:4*:FTX*)
1132
	# From Gerald Hewes <hewes@openmarket.com>.
1133
	# How about differentiating between stratus architectures? -djm
1134
	echo hppa1.1-stratus-sysv4
1135
	exit 0 ;;
1136
    *:*:*:FTX*)
1137
	# From seanf@swdc.stratus.com.
1138
	echo i860-stratus-sysv4
1139
	exit 0 ;;
1140
    *:VOS:*:*)
1141
	# From Paul.Green@stratus.com.
1142
	echo hppa1.1-stratus-vos
1143
	exit 0 ;;
1144
    mc68*:A/UX:*:*)
1145
	echo m68k-apple-aux${UNAME_RELEASE}
1146
	exit 0 ;;
1147
    news*:NEWS-OS:6*:*)
1148
	echo mips-sony-newsos6
1149
	exit 0 ;;
1150
    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1151
	if [ -d /usr/nec ]; then
1152
	        echo mips-nec-sysv${UNAME_RELEASE}
1153
	else
1154
	        echo mips-unknown-sysv${UNAME_RELEASE}
1155
	fi
1156
        exit 0 ;;
1157
    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1158
	echo powerpc-be-beos
1159
	exit 0 ;;
1160
    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1161
	echo powerpc-apple-beos
1162
	exit 0 ;;
1163
    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1164
	echo i586-pc-beos
1165
	exit 0 ;;
1166
    SX-4:SUPER-UX:*:*)
1167
	echo sx4-nec-superux${UNAME_RELEASE}
1168
	exit 0 ;;
1169
    SX-5:SUPER-UX:*:*)
1170
	echo sx5-nec-superux${UNAME_RELEASE}
1171
	exit 0 ;;
1172
    SX-6:SUPER-UX:*:*)
1173
	echo sx6-nec-superux${UNAME_RELEASE}
1174
	exit 0 ;;
1175
    Power*:Rhapsody:*:*)
1176
	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1177
	exit 0 ;;
1178
    *:Rhapsody:*:*)
1179
	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1180
	exit 0 ;;
1181
    *:Darwin:*:*)
1182
	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1183
	case $UNAME_PROCESSOR in
1184
	    *86) UNAME_PROCESSOR=i686 ;;
1185
	    unknown) UNAME_PROCESSOR=powerpc ;;
1186
	esac
1187
	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1188
	exit 0 ;;
1189
    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1190
	UNAME_PROCESSOR=`uname -p`
1191
	if test "$UNAME_PROCESSOR" = "x86"; then
1192
		UNAME_PROCESSOR=i386
1193
		UNAME_MACHINE=pc
1194
	fi
1195
	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1196
	exit 0 ;;
1197
    *:QNX:*:4*)
1198
	echo i386-pc-qnx
1199
	exit 0 ;;
1200
    NSR-?:NONSTOP_KERNEL:*:*)
1201
	echo nsr-tandem-nsk${UNAME_RELEASE}
1202
	exit 0 ;;
1203
    *:NonStop-UX:*:*)
1204
	echo mips-compaq-nonstopux
1205
	exit 0 ;;
1206
    BS2000:POSIX*:*:*)
1207
	echo bs2000-siemens-sysv
1208
	exit 0 ;;
1209
    DS/*:UNIX_System_V:*:*)
1210
	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1211
	exit 0 ;;
1212
    *:Plan9:*:*)
1213
	# "uname -m" is not consistent, so use $cputype instead. 386
1214
	# is converted to i386 for consistency with other x86
1215
	# operating systems.
1216
	if test "$cputype" = "386"; then
1217
	    UNAME_MACHINE=i386
1218
	else
1219
	    UNAME_MACHINE="$cputype"
1220
	fi
1221
	echo ${UNAME_MACHINE}-unknown-plan9
1222
	exit 0 ;;
1223
    *:TOPS-10:*:*)
1224
	echo pdp10-unknown-tops10
1225
	exit 0 ;;
1226
    *:TENEX:*:*)
1227
	echo pdp10-unknown-tenex
1228
	exit 0 ;;
1229
    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1230
	echo pdp10-dec-tops20
1231
	exit 0 ;;
1232
    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1233
	echo pdp10-xkl-tops20
1234
	exit 0 ;;
1235
    *:TOPS-20:*:*)
1236
	echo pdp10-unknown-tops20
1237
	exit 0 ;;
1238
    *:ITS:*:*)
1239
	echo pdp10-unknown-its
1240
	exit 0 ;;
1241
    SEI:*:*:SEIUX)
1242
        echo mips-sei-seiux${UNAME_RELEASE}
1243
	exit 0 ;;
1244
    *:DragonFly:*:*)
1245
	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1246
	exit 0 ;;
1247
    *:*VMS:*:*)
1248
    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1249
	case "${UNAME_MACHINE}" in
1250
	    A*) echo alpha-dec-vms && exit 0 ;;
1251
	    I*) echo ia64-dec-vms && exit 0 ;;
1252
	    V*) echo vax-dec-vms && exit 0 ;;
1253
	esac ;;
1254
    *:XENIX:*:SysV)
1255
	echo i386-pc-xenix
1256
	exit 0 ;;
1257
esac
1258

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

    
1262
eval $set_cc_for_build
1263
cat >$dummy.c <<EOF
1264
#ifdef _SEQUENT_
1265
# include <sys/types.h>
1266
# include <sys/utsname.h>
1267
#endif
1268
main ()
1269
{
1270
#if defined (sony)
1271
#if defined (MIPSEB)
1272
  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1273
     I don't know....  */
1274
  printf ("mips-sony-bsd\n"); exit (0);
1275
#else
1276
#include <sys/param.h>
1277
  printf ("m68k-sony-newsos%s\n",
1278
#ifdef NEWSOS4
1279
          "4"
1280
#else
1281
	  ""
1282
#endif
1283
         ); exit (0);
1284
#endif
1285
#endif
1286

    
1287
#if defined (__arm) && defined (__acorn) && defined (__unix)
1288
  printf ("arm-acorn-riscix"); exit (0);
1289
#endif
1290

    
1291
#if defined (hp300) && !defined (hpux)
1292
  printf ("m68k-hp-bsd\n"); exit (0);
1293
#endif
1294

    
1295
#if defined (NeXT)
1296
#if !defined (__ARCHITECTURE__)
1297
#define __ARCHITECTURE__ "m68k"
1298
#endif
1299
  int version;
1300
  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1301
  if (version < 4)
1302
    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1303
  else
1304
    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1305
  exit (0);
1306
#endif
1307

    
1308
#if defined (MULTIMAX) || defined (n16)
1309
#if defined (UMAXV)
1310
  printf ("ns32k-encore-sysv\n"); exit (0);
1311
#else
1312
#if defined (CMU)
1313
  printf ("ns32k-encore-mach\n"); exit (0);
1314
#else
1315
  printf ("ns32k-encore-bsd\n"); exit (0);
1316
#endif
1317
#endif
1318
#endif
1319

    
1320
#if defined (__386BSD__)
1321
  printf ("i386-pc-bsd\n"); exit (0);
1322
#endif
1323

    
1324
#if defined (sequent)
1325
#if defined (i386)
1326
  printf ("i386-sequent-dynix\n"); exit (0);
1327
#endif
1328
#if defined (ns32000)
1329
  printf ("ns32k-sequent-dynix\n"); exit (0);
1330
#endif
1331
#endif
1332

    
1333
#if defined (_SEQUENT_)
1334
    struct utsname un;
1335

    
1336
    uname(&un);
1337

    
1338
    if (strncmp(un.version, "V2", 2) == 0) {
1339
	printf ("i386-sequent-ptx2\n"); exit (0);
1340
    }
1341
    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1342
	printf ("i386-sequent-ptx1\n"); exit (0);
1343
    }
1344
    printf ("i386-sequent-ptx\n"); exit (0);
1345

    
1346
#endif
1347

    
1348
#if defined (vax)
1349
# if !defined (ultrix)
1350
#  include <sys/param.h>
1351
#  if defined (BSD)
1352
#   if BSD == 43
1353
      printf ("vax-dec-bsd4.3\n"); exit (0);
1354
#   else
1355
#    if BSD == 199006
1356
      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1357
#    else
1358
      printf ("vax-dec-bsd\n"); exit (0);
1359
#    endif
1360
#   endif
1361
#  else
1362
    printf ("vax-dec-bsd\n"); exit (0);
1363
#  endif
1364
# else
1365
    printf ("vax-dec-ultrix\n"); exit (0);
1366
# endif
1367
#endif
1368

    
1369
#if defined (alliant) && defined (i860)
1370
  printf ("i860-alliant-bsd\n"); exit (0);
1371
#endif
1372

    
1373
  exit (1);
1374
}
1375
EOF
1376

    
1377
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1378

    
1379
# Apollos put the system type in the environment.
1380

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

    
1383
# Convex versions that predate uname can use getsysinfo(1)
1384

    
1385
if [ -x /usr/convex/getsysinfo ]
1386
then
1387
    case `getsysinfo -f cpu_type` in
1388
    c1*)
1389
	echo c1-convex-bsd
1390
	exit 0 ;;
1391
    c2*)
1392
	if getsysinfo -f scalar_acc
1393
	then echo c32-convex-bsd
1394
	else echo c2-convex-bsd
1395
	fi
1396
	exit 0 ;;
1397
    c34*)
1398
	echo c34-convex-bsd
1399
	exit 0 ;;
1400
    c38*)
1401
	echo c38-convex-bsd
1402
	exit 0 ;;
1403
    c4*)
1404
	echo c4-convex-bsd
1405
	exit 0 ;;
1406
    esac
1407
fi
1408

    
1409
cat >&2 <<EOF
1410
$0: unable to guess system type
1411

    
1412
This script, last modified $timestamp, has failed to recognize
1413
the operating system you are using. It is advised that you
1414
download the most up to date version of the config scripts from
1415

    
1416
    ftp://ftp.gnu.org/pub/gnu/config/
1417

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

    
1423
config.guess timestamp = $timestamp
1424

    
1425
uname -m = `(uname -m) 2>/dev/null || echo unknown`
1426
uname -r = `(uname -r) 2>/dev/null || echo unknown`
1427
uname -s = `(uname -s) 2>/dev/null || echo unknown`
1428
uname -v = `(uname -v) 2>/dev/null || echo unknown`
1429

    
1430
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1431
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1432

    
1433
hostinfo               = `(hostinfo) 2>/dev/null`
1434
/bin/universe          = `(/bin/universe) 2>/dev/null`
1435
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1436
/bin/arch              = `(/bin/arch) 2>/dev/null`
1437
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1438
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1439

    
1440
UNAME_MACHINE = ${UNAME_MACHINE}
1441
UNAME_RELEASE = ${UNAME_RELEASE}
1442
UNAME_SYSTEM  = ${UNAME_SYSTEM}
1443
UNAME_VERSION = ${UNAME_VERSION}
1444
EOF
1445

    
1446
exit 1
1447

    
1448
# Local variables:
1449
# eval: (add-hook 'write-file-hooks 'time-stamp)
1450
# time-stamp-start: "timestamp='"
1451
# time-stamp-format: "%:y-%02m-%02d"
1452
# time-stamp-end: "'"
1453
# End: