~ubuntu-branches/ubuntu/lucid/desktop-file-utils/lucid

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