config.guess 43.8 KB
Newer Older
Emmanuel Bertin's avatar
Emmanuel Bertin committed
1
2
#! /bin/sh
# Attempt to guess a canonical system name.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
3
4
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Emmanuel Bertin's avatar
Emmanuel Bertin committed
5
6
#   Free Software Foundation, Inc.

Emmanuel Bertin's avatar
Emmanuel Bertin committed
7
timestamp='2008-01-08'
Emmanuel Bertin's avatar
Emmanuel Bertin committed
8
9
10
11
12
13
14
15
16
17
18
19
20

# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
Emmanuel Bertin's avatar
Emmanuel Bertin committed
21
22
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
23
24
25
26
27
28
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.

Emmanuel Bertin's avatar
Emmanuel Bertin committed
29
30
31
32

# Originally written by Per Bothner <per@bothner.com>.
# Please send patches to <config-patches@gnu.org>.  Submit a context
# diff and a properly formatted ChangeLog entry.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#
# This script attempts to guess a canonical system name similar to
# config.sub.  If it succeeds, it prints the system name on stdout, and
# exits with 0.  Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
# don't specify an explicit build system type.

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

usage="\
Usage: $0 [OPTION]

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

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

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

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

Originally written by Per Bothner.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
59
60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
61
62
63
64
65
66
67
68
69
70
71

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

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

# Parse command line
while test $# -gt 0 ; do
  case $1 in
    --time-stamp | --time* | -t )
Emmanuel Bertin's avatar
Emmanuel Bertin committed
72
       echo "$timestamp" ; exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
73
    --version | -v )
Emmanuel Bertin's avatar
Emmanuel Bertin committed
74
       echo "$version" ; exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
75
    --help | --h* | -h )
Emmanuel Bertin's avatar
Emmanuel Bertin committed
76
       echo "$usage"; exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
    -- )     # Stop option processing
       shift; break ;;
    - )	# Use stdin as input.
       break ;;
    -* )
       echo "$me: invalid option $1$help" >&2
       exit 1 ;;
    * )
       break ;;
  esac
done

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

Emmanuel Bertin's avatar
Emmanuel Bertin committed
94
trap 'exit 1' 1 2 15
Emmanuel Bertin's avatar
Emmanuel Bertin committed
95

Emmanuel Bertin's avatar
Emmanuel Bertin committed
96
97
98
99
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
100
101
102
103

# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.

Emmanuel Bertin's avatar
Emmanuel Bertin committed
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Portable tmp directory creation inspired by the Autoconf team.

set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
 ,,)    echo "int x;" > $dummy.c ;
	for c in cc gcc c89 c99 ; do
	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
Emmanuel Bertin's avatar
Emmanuel Bertin committed
120
121
122
123
124
125
126
127
128
	     CC_FOR_BUILD="$c"; break ;
	  fi ;
	done ;
	if test x"$CC_FOR_BUILD" = x ; then
	  CC_FOR_BUILD=no_compiler_found ;
	fi
	;;
 ,,*)   CC_FOR_BUILD=$CC ;;
 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
129
esac ; set_cc_for_build= ;'
Emmanuel Bertin's avatar
Emmanuel Bertin committed
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145

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

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

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

case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    *:NetBSD:*:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
146
	# NetBSD (nbsd) targets should (where applicable) match one or
Emmanuel Bertin's avatar
Emmanuel Bertin committed
147
148
149
150
151
152
	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
	# switched to ELF, *-*-netbsd* would select the old
	# object file format.  This provides both forward
	# compatibility and a consistent mechanism for selecting the
	# object file format.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
153
154
155
156
157
158
159
160
161
162
163
164
165
	#
	# Note: NetBSD doesn't particularly care about the vendor
	# portion of the name.  We always set it to "unknown".
	sysctl="sysctl -n hw.machine_arch"
	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
	case "${UNAME_MACHINE_ARCH}" in
	    armeb) machine=armeb-unknown ;;
	    arm*) machine=arm-unknown ;;
	    sh3el) machine=shl-unknown ;;
	    sh3eb) machine=sh-unknown ;;
	    sh5el) machine=sh5le-unknown ;;
	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
166
167
168
	esac
	# The Operating System including object format, if it has switched
	# to ELF recently, or will in the future.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
169
170
	case "${UNAME_MACHINE_ARCH}" in
	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
		eval $set_cc_for_build
		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
			| grep __ELF__ >/dev/null
		then
		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
		    # Return netbsd for either.  FIX?
		    os=netbsd
		else
		    os=netbsdelf
		fi
		;;
	    *)
	        os=netbsd
		;;
	esac
	# The OS release
Emmanuel Bertin's avatar
Emmanuel Bertin committed
187
188
189
190
191
192
193
194
195
196
197
198
	# Debian GNU/NetBSD machines have a different userland, and
	# thus, need a distinct triplet. However, they do not need
	# kernel version information, so it can be replaced with a
	# suitable tag, in the style of linux-gnu.
	case "${UNAME_VERSION}" in
	    Debian*)
		release='-gnu'
		;;
	    *)
		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
		;;
	esac
Emmanuel Bertin's avatar
Emmanuel Bertin committed
199
200
201
202
	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
	# contains redundant information, the shorter form:
	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
	echo "${machine}-${os}${release}"
Emmanuel Bertin's avatar
Emmanuel Bertin committed
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
	exit ;;
    *:OpenBSD:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
	exit ;;
    *:ekkoBSD:*:*)
	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
	exit ;;
    *:SolidBSD:*:*)
	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
	exit ;;
    macppc:MirBSD:*:*)
	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
	exit ;;
    *:MirBSD:*:*)
	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
220
    alpha:OSF1:*:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
221
222
	case $UNAME_RELEASE in
	*4.0)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
223
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
		;;
	*5.*)
	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
		;;
	esac
	# According to Compaq, /usr/sbin/psrinfo has been available on
	# OSF/1 and Tru64 systems produced since 1995.  I hope that
	# covers most systems running today.  This code pipes the CPU
	# types through head -n 1, so we only detect the type of CPU 0.
	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
	case "$ALPHA_CPU_TYPE" in
	    "EV4 (21064)")
		UNAME_MACHINE="alpha" ;;
	    "EV4.5 (21064)")
		UNAME_MACHINE="alpha" ;;
	    "LCA4 (21066/21068)")
		UNAME_MACHINE="alpha" ;;
	    "EV5 (21164)")
		UNAME_MACHINE="alphaev5" ;;
	    "EV5.6 (21164A)")
		UNAME_MACHINE="alphaev56" ;;
	    "EV5.6 (21164PC)")
		UNAME_MACHINE="alphapca56" ;;
	    "EV5.7 (21164PC)")
		UNAME_MACHINE="alphapca57" ;;
	    "EV6 (21264)")
		UNAME_MACHINE="alphaev6" ;;
	    "EV6.7 (21264A)")
		UNAME_MACHINE="alphaev67" ;;
	    "EV6.8CB (21264C)")
		UNAME_MACHINE="alphaev68" ;;
	    "EV6.8AL (21264B)")
		UNAME_MACHINE="alphaev68" ;;
	    "EV6.8CX (21264D)")
		UNAME_MACHINE="alphaev68" ;;
	    "EV6.9A (21264/EV69A)")
		UNAME_MACHINE="alphaev69" ;;
	    "EV7 (21364)")
		UNAME_MACHINE="alphaev7" ;;
	    "EV7.9 (21364A)")
		UNAME_MACHINE="alphaev79" ;;
	esac
	# A Pn.n version is a patched version.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
267
268
269
270
	# A Vn.n version is a released version.
	# A Tn.n version is a released field test version.
	# A Xn.n version is an unreleased experimental baselevel.
	# 1.2 uses "1.2" for uname -r.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
271
272
	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
273
274
275
276
277
    Alpha\ *:Windows_NT*:*)
	# How do we know it's Interix rather than the generic POSIX subsystem?
	# Should we change UNAME_MACHINE based on the output of uname instead
	# of the specific Alpha model?
	echo alpha-pc-interix
Emmanuel Bertin's avatar
Emmanuel Bertin committed
278
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
279
280
    21064:Windows_NT:50:3)
	echo alpha-dec-winnt3.5
Emmanuel Bertin's avatar
Emmanuel Bertin committed
281
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
282
283
    Amiga*:UNIX_System_V:4.0:*)
	echo m68k-unknown-sysv4
Emmanuel Bertin's avatar
Emmanuel Bertin committed
284
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
285
286
    *:[Aa]miga[Oo][Ss]:*:*)
	echo ${UNAME_MACHINE}-unknown-amigaos
Emmanuel Bertin's avatar
Emmanuel Bertin committed
287
288
289
290
	exit ;;
    *:[Mm]orph[Oo][Ss]:*:*)
	echo ${UNAME_MACHINE}-unknown-morphos
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
291
292
    *:OS/390:*:*)
	echo i370-ibm-openedition
Emmanuel Bertin's avatar
Emmanuel Bertin committed
293
294
295
296
297
298
299
	exit ;;
    *:z/VM:*:*)
	echo s390-ibm-zvmoe
	exit ;;
    *:OS400:*:*)
        echo powerpc-ibm-os400
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
300
301
    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
	echo arm-acorn-riscix${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
302
303
304
305
	exit ;;
    arm:riscos:*:*|arm:RISCOS:*:*)
	echo arm-unknown-riscos
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
306
307
    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
	echo hppa1.1-hitachi-hiuxmpp
Emmanuel Bertin's avatar
Emmanuel Bertin committed
308
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
309
310
311
312
313
314
315
    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
	if test "`(/bin/universe) 2>/dev/null`" = att ; then
		echo pyramid-pyramid-sysv3
	else
		echo pyramid-pyramid-bsd
	fi
Emmanuel Bertin's avatar
Emmanuel Bertin committed
316
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
317
318
    NILE*:*:*:dcosx)
	echo pyramid-pyramid-svr4
Emmanuel Bertin's avatar
Emmanuel Bertin committed
319
320
321
322
323
324
325
326
	exit ;;
    DRS?6000:unix:4.0:6*)
	echo sparc-icl-nx6
	exit ;;
    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
	case `/usr/bin/uname -p` in
	    sparc) echo sparc-icl-nx7; exit ;;
	esac ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
327
328
    sun4H:SunOS:5.*:*)
	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
329
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
330
331
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
332
333
	exit ;;
    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
334
	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
335
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
336
337
338
339
340
    sun4*:SunOS:6*:*)
	# According to config.sub, this is the proper way to canonicalize
	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
	# it's likely to be more like Solaris than SunOS4.
	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
341
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
342
343
344
345
346
347
348
349
    sun4*:SunOS:*:*)
	case "`/usr/bin/arch -k`" in
	    Series*|S4*)
		UNAME_RELEASE=`uname -v`
		;;
	esac
	# Japanese Language versions have a version number like `4.1.3-JL'.
	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
350
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
351
352
    sun3*:SunOS:*:*)
	echo m68k-sun-sunos${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
353
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
354
    sun*:*:4.2BSD:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
355
	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
356
357
358
359
360
361
362
363
364
	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
	case "`/bin/arch`" in
	    sun3)
		echo m68k-sun-sunos${UNAME_RELEASE}
		;;
	    sun4)
		echo sparc-sun-sunos${UNAME_RELEASE}
		;;
	esac
Emmanuel Bertin's avatar
Emmanuel Bertin committed
365
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
366
367
    aushp:SunOS:*:*)
	echo sparc-auspex-sunos${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
368
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
369
370
371
372
373
374
375
376
377
378
    # The situation for MiNT is a little confusing.  The machine name
    # can be virtually everything (everything which is not
    # "atarist" or "atariste" at least should have a processor
    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
    # to the lowercase version "mint" (or "freemint").  Finally
    # the system name "TOS" denotes a system which is actually not
    # MiNT.  But MiNT is downward compatible to TOS, so this should
    # be no problem.
    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
        echo m68k-atari-mint${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
379
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
380
381
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
	echo m68k-atari-mint${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
382
        exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
383
384
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
        echo m68k-atari-mint${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
385
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
386
387
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
        echo m68k-milan-mint${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
388
        exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
389
390
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
        echo m68k-hades-mint${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
391
        exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
392
393
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
        echo m68k-unknown-mint${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
394
395
396
397
        exit ;;
    m68k:machten:*:*)
	echo m68k-apple-machten${UNAME_RELEASE}
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
398
399
    powerpc:machten:*:*)
	echo powerpc-apple-machten${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
400
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
401
402
    RISC*:Mach:*:*)
	echo mips-dec-mach_bsd4.3
Emmanuel Bertin's avatar
Emmanuel Bertin committed
403
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
404
405
    RISC*:ULTRIX:*:*)
	echo mips-dec-ultrix${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
406
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
407
408
    VAX*:ULTRIX*:*:*)
	echo vax-dec-ultrix${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
409
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
410
411
    2020:CLIX:*:* | 2430:CLIX:*:*)
	echo clipper-intergraph-clix${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
412
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
    mips:*:*:UMIPS | mips:*:*:RISCos)
	eval $set_cc_for_build
	sed 's/^	//' << EOF >$dummy.c
#ifdef __cplusplus
#include <stdio.h>  /* for printf() prototype */
	int main (int argc, char *argv[]) {
#else
	int main (argc, argv) int argc; char *argv[]; {
#endif
	#if defined (host_mips) && defined (MIPSEB)
	#if defined (SYSTYPE_SYSV)
	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
	#endif
	#if defined (SYSTYPE_SVR4)
	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
	#endif
	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
	#endif
	#endif
	  exit (-1);
	}
EOF
Emmanuel Bertin's avatar
Emmanuel Bertin committed
436
437
438
439
	$CC_FOR_BUILD -o $dummy $dummy.c &&
	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
	  SYSTEM_NAME=`$dummy $dummyarg` &&
	    { echo "$SYSTEM_NAME"; exit; }
Emmanuel Bertin's avatar
Emmanuel Bertin committed
440
	echo mips-mips-riscos${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
441
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
442
443
    Motorola:PowerMAX_OS:*:*)
	echo powerpc-motorola-powermax
Emmanuel Bertin's avatar
Emmanuel Bertin committed
444
445
446
447
448
449
450
	exit ;;
    Motorola:*:4.3:PL8-*)
	echo powerpc-harris-powermax
	exit ;;
    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
	echo powerpc-harris-powermax
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
451
452
    Night_Hawk:Power_UNIX:*:*)
	echo powerpc-harris-powerunix
Emmanuel Bertin's avatar
Emmanuel Bertin committed
453
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
454
455
    m88k:CX/UX:7*:*)
	echo m88k-harris-cxux7
Emmanuel Bertin's avatar
Emmanuel Bertin committed
456
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
457
458
    m88k:*:4*:R4*)
	echo m88k-motorola-sysv4
Emmanuel Bertin's avatar
Emmanuel Bertin committed
459
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
460
461
    m88k:*:3*:R3*)
	echo m88k-motorola-sysv3
Emmanuel Bertin's avatar
Emmanuel Bertin committed
462
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
    AViiON:dgux:*:*)
        # DG/UX returns AViiON for all architectures
        UNAME_PROCESSOR=`/usr/bin/uname -p`
	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
	then
	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
	       [ ${TARGET_BINARY_INTERFACE}x = x ]
	    then
		echo m88k-dg-dgux${UNAME_RELEASE}
	    else
		echo m88k-dg-dguxbcs${UNAME_RELEASE}
	    fi
	else
	    echo i586-dg-dgux${UNAME_RELEASE}
	fi
Emmanuel Bertin's avatar
Emmanuel Bertin committed
478
 	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
479
480
    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
	echo m88k-dolphin-sysv3
Emmanuel Bertin's avatar
Emmanuel Bertin committed
481
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
482
483
484
    M88*:*:R3*:*)
	# Delta 88k system running SVR3
	echo m88k-motorola-sysv3
Emmanuel Bertin's avatar
Emmanuel Bertin committed
485
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
486
487
    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
	echo m88k-tektronix-sysv3
Emmanuel Bertin's avatar
Emmanuel Bertin committed
488
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
489
490
    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
	echo m68k-tektronix-bsd
Emmanuel Bertin's avatar
Emmanuel Bertin committed
491
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
492
493
    *:IRIX*:*:*)
	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
494
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
495
    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
496
497
	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
Emmanuel Bertin's avatar
Emmanuel Bertin committed
498
499
    i*86:AIX:*:*)
	echo i386-ibm-aix
Emmanuel Bertin's avatar
Emmanuel Bertin committed
500
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
501
502
503
504
505
506
507
    ia64:AIX:*:*)
	if [ -x /usr/bin/oslevel ] ; then
		IBM_REV=`/usr/bin/oslevel`
	else
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
	fi
	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
508
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
509
510
511
512
513
514
515
516
517
518
519
520
521
522
    *:AIX:2:3)
	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
		eval $set_cc_for_build
		sed 's/^		//' << EOF >$dummy.c
		#include <sys/systemcfg.h>

		main()
			{
			if (!__power_pc())
				exit(1);
			puts("powerpc-ibm-aix3.2.5");
			exit(0);
			}
EOF
Emmanuel Bertin's avatar
Emmanuel Bertin committed
523
524
525
526
527
528
		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
		then
			echo "$SYSTEM_NAME"
		else
			echo rs6000-ibm-aix3.2.5
		fi
Emmanuel Bertin's avatar
Emmanuel Bertin committed
529
530
531
532
533
	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
		echo rs6000-ibm-aix3.2.4
	else
		echo rs6000-ibm-aix3.2
	fi
Emmanuel Bertin's avatar
Emmanuel Bertin committed
534
535
536
	exit ;;
    *:AIX:*:[456])
	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
537
538
539
540
541
542
543
544
545
546
547
	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
		IBM_ARCH=rs6000
	else
		IBM_ARCH=powerpc
	fi
	if [ -x /usr/bin/oslevel ] ; then
		IBM_REV=`/usr/bin/oslevel`
	else
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
	fi
	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
548
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
549
550
    *:AIX:*:*)
	echo rs6000-ibm-aix
Emmanuel Bertin's avatar
Emmanuel Bertin committed
551
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
552
553
    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
	echo romp-ibm-bsd4.4
Emmanuel Bertin's avatar
Emmanuel Bertin committed
554
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
555
556
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
Emmanuel Bertin's avatar
Emmanuel Bertin committed
557
	exit ;;                             # report: romp-ibm BSD 4.3
Emmanuel Bertin's avatar
Emmanuel Bertin committed
558
559
    *:BOSX:*:*)
	echo rs6000-bull-bosx
Emmanuel Bertin's avatar
Emmanuel Bertin committed
560
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
561
562
    DPX/2?00:B.O.S.:*:*)
	echo m68k-bull-sysv3
Emmanuel Bertin's avatar
Emmanuel Bertin committed
563
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
564
565
    9000/[34]??:4.3bsd:1.*:*)
	echo m68k-hp-bsd
Emmanuel Bertin's avatar
Emmanuel Bertin committed
566
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
567
568
    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
	echo m68k-hp-bsd4.4
Emmanuel Bertin's avatar
Emmanuel Bertin committed
569
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
570
571
572
573
574
575
    9000/[34678]??:HP-UX:*:*)
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
	case "${UNAME_MACHINE}" in
	    9000/31? )            HP_ARCH=m68000 ;;
	    9000/[34]?? )         HP_ARCH=m68k ;;
	    9000/[678][0-9][0-9])
Emmanuel Bertin's avatar
Emmanuel Bertin committed
576
577
		if [ -x /usr/bin/getconf ]; then
		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
578
579
580
581
582
583
584
585
                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
                    case "${sc_cpu_version}" in
                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
                      532)                      # CPU_PA_RISC2_0
                        case "${sc_kernel_bits}" in
                          32) HP_ARCH="hppa2.0n" ;;
                          64) HP_ARCH="hppa2.0w" ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
586
			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
Emmanuel Bertin's avatar
Emmanuel Bertin committed
587
588
                        esac ;;
                    esac
Emmanuel Bertin's avatar
Emmanuel Bertin committed
589
590
591
592
		fi
		if [ "${HP_ARCH}" = "" ]; then
		    eval $set_cc_for_build
		    sed 's/^              //' << EOF >$dummy.c
Emmanuel Bertin's avatar
Emmanuel Bertin committed
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624

              #define _HPUX_SOURCE
              #include <stdlib.h>
              #include <unistd.h>

              int main ()
              {
              #if defined(_SC_KERNEL_BITS)
                  long bits = sysconf(_SC_KERNEL_BITS);
              #endif
                  long cpu  = sysconf (_SC_CPU_VERSION);

                  switch (cpu)
              	{
              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
              	case CPU_PA_RISC2_0:
              #if defined(_SC_KERNEL_BITS)
              	    switch (bits)
              		{
              		case 64: puts ("hppa2.0w"); break;
              		case 32: puts ("hppa2.0n"); break;
              		default: puts ("hppa2.0"); break;
              		} break;
              #else  /* !defined(_SC_KERNEL_BITS) */
              	    puts ("hppa2.0"); break;
              #endif
              	default: puts ("hppa1.0"); break;
              	}
                  exit (0);
              }
EOF
Emmanuel Bertin's avatar
Emmanuel Bertin committed
625
626
627
		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
		    test -z "$HP_ARCH" && HP_ARCH=hppa
		fi ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
628
	esac
Emmanuel Bertin's avatar
Emmanuel Bertin committed
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
	if [ ${HP_ARCH} = "hppa2.0w" ]
	then
	    eval $set_cc_for_build

	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
	    # generating 64-bit code.  GNU and HP use different nomenclature:
	    #
	    # $ CC_FOR_BUILD=cc ./config.guess
	    # => hppa2.0w-hp-hpux11.23
	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
	    # => hppa64-hp-hpux11.23

	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
		grep __LP64__ >/dev/null
	    then
		HP_ARCH="hppa2.0w"
	    else
		HP_ARCH="hppa64"
	    fi
	fi
Emmanuel Bertin's avatar
Emmanuel Bertin committed
650
	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
651
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
652
653
654
    ia64:HP-UX:*:*)
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
	echo ia64-hp-hpux${HPUX_REV}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
655
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
    3050*:HI-UX:*:*)
	eval $set_cc_for_build
	sed 's/^	//' << EOF >$dummy.c
	#include <unistd.h>
	int
	main ()
	{
	  long cpu = sysconf (_SC_CPU_VERSION);
	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
	     results, however.  */
	  if (CPU_IS_PA_RISC (cpu))
	    {
	      switch (cpu)
		{
		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
		  default: puts ("hppa-hitachi-hiuxwe2"); break;
		}
	    }
	  else if (CPU_IS_HP_MC68K (cpu))
	    puts ("m68k-hitachi-hiuxwe2");
	  else puts ("unknown-hitachi-hiuxwe2");
	  exit (0);
	}
EOF
Emmanuel Bertin's avatar
Emmanuel Bertin committed
683
684
	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
		{ echo "$SYSTEM_NAME"; exit; }
Emmanuel Bertin's avatar
Emmanuel Bertin committed
685
	echo unknown-hitachi-hiuxwe2
Emmanuel Bertin's avatar
Emmanuel Bertin committed
686
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
687
688
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
	echo hppa1.1-hp-bsd
Emmanuel Bertin's avatar
Emmanuel Bertin committed
689
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
690
691
    9000/8??:4.3bsd:*:*)
	echo hppa1.0-hp-bsd
Emmanuel Bertin's avatar
Emmanuel Bertin committed
692
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
693
694
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
	echo hppa1.0-hp-mpeix
Emmanuel Bertin's avatar
Emmanuel Bertin committed
695
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
696
697
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
	echo hppa1.1-hp-osf
Emmanuel Bertin's avatar
Emmanuel Bertin committed
698
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
699
700
    hp8??:OSF1:*:*)
	echo hppa1.0-hp-osf
Emmanuel Bertin's avatar
Emmanuel Bertin committed
701
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
702
703
704
705
706
707
    i*86:OSF1:*:*)
	if [ -x /usr/sbin/sysversion ] ; then
	    echo ${UNAME_MACHINE}-unknown-osf1mk
	else
	    echo ${UNAME_MACHINE}-unknown-osf1
	fi
Emmanuel Bertin's avatar
Emmanuel Bertin committed
708
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
709
710
    parisc*:Lites*:*:*)
	echo hppa1.1-hp-lites
Emmanuel Bertin's avatar
Emmanuel Bertin committed
711
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
712
713
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
	echo c1-convex-bsd
Emmanuel Bertin's avatar
Emmanuel Bertin committed
714
        exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
715
716
717
718
719
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
Emmanuel Bertin's avatar
Emmanuel Bertin committed
720
        exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
721
722
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
	echo c34-convex-bsd
Emmanuel Bertin's avatar
Emmanuel Bertin committed
723
        exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
724
725
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
	echo c38-convex-bsd
Emmanuel Bertin's avatar
Emmanuel Bertin committed
726
        exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
727
728
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
	echo c4-convex-bsd
Emmanuel Bertin's avatar
Emmanuel Bertin committed
729
        exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
730
731
    CRAY*Y-MP:*:*:*)
	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
Emmanuel Bertin's avatar
Emmanuel Bertin committed
732
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
733
734
735
736
737
    CRAY*[A-Z]90:*:*:*)
	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
	      -e 's/\.[^.]*$/.X/'
Emmanuel Bertin's avatar
Emmanuel Bertin committed
738
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
739
740
    CRAY*TS:*:*:*)
	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
Emmanuel Bertin's avatar
Emmanuel Bertin committed
741
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
742
743
    CRAY*T3E:*:*:*)
	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
Emmanuel Bertin's avatar
Emmanuel Bertin committed
744
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
745
746
    CRAY*SV1:*:*:*)
	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
Emmanuel Bertin's avatar
Emmanuel Bertin committed
747
748
749
750
	exit ;;
    *:UNICOS/mp:*:*)
	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
751
752
753
754
755
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
Emmanuel Bertin's avatar
Emmanuel Bertin committed
756
757
758
759
760
761
        exit ;;
    5000:UNIX_System_V:4.*:*)
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
762
763
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
764
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
765
766
    sparc*:BSD/OS:*:*)
	echo sparc-unknown-bsdi${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
767
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
768
769
    *:BSD/OS:*:*)
	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
770
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
771
    *:FreeBSD:*:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
772
773
774
775
776
777
778
779
780
	case ${UNAME_MACHINE} in
	    pc98)
		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
	    amd64)
		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
	    *)
		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
	esac
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
781
782
    i*:CYGWIN*:*)
	echo ${UNAME_MACHINE}-pc-cygwin
Emmanuel Bertin's avatar
Emmanuel Bertin committed
783
784
	exit ;;
    *:MINGW*:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
785
	echo ${UNAME_MACHINE}-pc-mingw32
Emmanuel Bertin's avatar
Emmanuel Bertin committed
786
787
788
789
790
	exit ;;
    i*:windows32*:*)
    	# uname -m includes "-pc" on this system.
    	echo ${UNAME_MACHINE}-mingw32
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
791
792
    i*:PW*:*)
	echo ${UNAME_MACHINE}-pc-pw32
Emmanuel Bertin's avatar
Emmanuel Bertin committed
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
	exit ;;
    *:Interix*:[3456]*)
    	case ${UNAME_MACHINE} in
	    x86)
		echo i586-pc-interix${UNAME_RELEASE}
		exit ;;
	    EM64T | authenticamd)
		echo x86_64-unknown-interix${UNAME_RELEASE}
		exit ;;
	    IA64)
		echo ia64-unknown-interix${UNAME_RELEASE}
		exit ;;
	esac ;;
    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
	echo i${UNAME_MACHINE}-pc-mks
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
809
810
811
812
    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
	# How do we know it's Interix rather than the generic POSIX subsystem?
	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
	# UNAME_MACHINE based on the output of uname instead of i386?
Emmanuel Bertin's avatar
Emmanuel Bertin committed
813
814
	echo i586-pc-interix
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
815
816
    i*:UWIN*:*)
	echo ${UNAME_MACHINE}-pc-uwin
Emmanuel Bertin's avatar
Emmanuel Bertin committed
817
818
819
820
	exit ;;
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
	echo x86_64-unknown-cygwin
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
821
822
    p*:CYGWIN*:*)
	echo powerpcle-unknown-cygwin
Emmanuel Bertin's avatar
Emmanuel Bertin committed
823
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
824
825
    prep*:SunOS:5.*:*)
	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
826
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
827
    *:GNU:*:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
828
	# the GNU system
Emmanuel Bertin's avatar
Emmanuel Bertin committed
829
	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
Emmanuel Bertin's avatar
Emmanuel Bertin committed
830
831
832
833
834
	exit ;;
    *:GNU/*:*:*)
	# other systems with GNU libc and userland
	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
835
836
    i*86:Minix:*:*)
	echo ${UNAME_MACHINE}-pc-minix
Emmanuel Bertin's avatar
Emmanuel Bertin committed
837
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
838
    arm*:Linux:*:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
839
840
841
842
843
844
845
846
847
848
	eval $set_cc_for_build
	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
	    | grep -q __ARM_EABI__
	then
	    echo ${UNAME_MACHINE}-unknown-linux-gnu
	else
	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
	fi
	exit ;;
    avr32*:Linux:*:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
849
	echo ${UNAME_MACHINE}-unknown-linux-gnu
Emmanuel Bertin's avatar
Emmanuel Bertin committed
850
851
852
853
854
855
856
857
858
859
	exit ;;
    cris:Linux:*:*)
	echo cris-axis-linux-gnu
	exit ;;
    crisv32:Linux:*:*)
	echo crisv32-axis-linux-gnu
	exit ;;
    frv:Linux:*:*)
    	echo frv-unknown-linux-gnu
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
860
    ia64:Linux:*:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
861
862
863
864
865
	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
    m32r*:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
866
867
    m68*:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
Emmanuel Bertin's avatar
Emmanuel Bertin committed
868
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
869
    mips:Linux:*:*)
Emmanuel Bertin's avatar
Emmanuel Bertin committed
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
	eval $set_cc_for_build
	sed 's/^	//' << EOF >$dummy.c
	#undef CPU
	#undef mips
	#undef mipsel
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
	CPU=mipsel
	#else
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
	CPU=mips
	#else
	CPU=
	#endif
	#endif
EOF
	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
	    /^CPU/{
		s: ::g
		p
	    }'`"
	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
	;;
    mips64:Linux:*:*)
	eval $set_cc_for_build
	sed 's/^	//' << EOF >$dummy.c
	#undef CPU
	#undef mips64
	#undef mips64el
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
	CPU=mips64el
	#else
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
	CPU=mips64
	#else
	CPU=
	#endif
	#endif
EOF
	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
	    /^CPU/{
		s: ::g
		p
	    }'`"
	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
Emmanuel Bertin's avatar
Emmanuel Bertin committed
914
	;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
915
916
917
    or32:Linux:*:*)
	echo or32-unknown-linux-gnu
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
918
919
    ppc:Linux:*:*)
	echo powerpc-unknown-linux-gnu
Emmanuel Bertin's avatar
Emmanuel Bertin committed
920
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
921
922
    ppc64:Linux:*:*)
	echo powerpc64-unknown-linux-gnu
Emmanuel Bertin's avatar
Emmanuel Bertin committed
923
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
924
925
926
927
928
929
930
931
932
933
934
935
936
    alpha:Linux:*:*)
	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
	  EV5)   UNAME_MACHINE=alphaev5 ;;
	  EV56)  UNAME_MACHINE=alphaev56 ;;
	  PCA56) UNAME_MACHINE=alphapca56 ;;
	  PCA57) UNAME_MACHINE=alphapca56 ;;
	  EV6)   UNAME_MACHINE=alphaev6 ;;
	  EV67)  UNAME_MACHINE=alphaev67 ;;
	  EV68*) UNAME_MACHINE=alphaev68 ;;
        esac
	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
Emmanuel Bertin's avatar
Emmanuel Bertin committed
937
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
938
939
940
941
942
943
944
    parisc:Linux:*:* | hppa:Linux:*:*)
	# Look for CPU level
	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
	  *)    echo hppa-unknown-linux-gnu ;;
	esac
Emmanuel Bertin's avatar
Emmanuel Bertin committed
945
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
946
947
    parisc64:Linux:*:* | hppa64:Linux:*:*)
	echo hppa64-unknown-linux-gnu
Emmanuel Bertin's avatar
Emmanuel Bertin committed
948
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
949
950
    s390:Linux:*:* | s390x:Linux:*:*)
	echo ${UNAME_MACHINE}-ibm-linux
Emmanuel Bertin's avatar
Emmanuel Bertin committed
951
952
953
954
	exit ;;
    sh64*:Linux:*:*)
    	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
955
956
    sh*:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
Emmanuel Bertin's avatar
Emmanuel Bertin committed
957
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
958
959
    sparc:Linux:*:* | sparc64:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
Emmanuel Bertin's avatar
Emmanuel Bertin committed
960
961
962
963
	exit ;;
    vax:Linux:*:*)
	echo ${UNAME_MACHINE}-dec-linux-gnu
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
964
965
    x86_64:Linux:*:*)
	echo x86_64-unknown-linux-gnu
Emmanuel Bertin's avatar
Emmanuel Bertin committed
966
967
968
969
	exit ;;
    xtensa*:Linux:*:*)
    	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
970
971
972
973
    i*86:Linux:*:*)
	# The BFD linker knows what the default object file format is, so
	# first see if it will tell us. cd to the root directory to prevent
	# problems with other programs or directories called `ld' in the path.
Emmanuel Bertin's avatar
Emmanuel Bertin committed
974
975
	# Set LC_ALL=C to ensure ld outputs messages in English.
	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
Emmanuel Bertin's avatar
Emmanuel Bertin committed
976
977
978
979
980
981
982
983
984
985
986
			 | sed -ne '/supported targets:/!d
				    s/[ 	][ 	]*/ /g
				    s/.*supported targets: *//
				    s/ .*//
				    p'`
        case "$ld_supported_targets" in
	  elf32-i386)
		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
		;;
	  a.out-i386-linux)
		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
Emmanuel Bertin's avatar
Emmanuel Bertin committed
987
		exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
988
989
	  coff-i386)
		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
Emmanuel Bertin's avatar
Emmanuel Bertin committed
990
		exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
991
992
993
994
	  "")
		# Either a pre-BFD a.out linker (linux-gnuoldld) or
		# one that does not give us useful --help.
		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
Emmanuel Bertin's avatar
Emmanuel Bertin committed
995
		exit ;;
Emmanuel Bertin's avatar
Emmanuel Bertin committed
996
997
998
	esac
	# Determine whether the default compiler is a.out or elf
	eval $set_cc_for_build
Emmanuel Bertin's avatar
Emmanuel Bertin committed
999
1000
	sed 's/^	//' << EOF >$dummy.c
	#include <features.h>
For faster browsing, not all history is shown. View entire blame