config.guess 46.7 KB
Newer Older
1 2
#! /bin/sh
# Attempt to guess a canonical system name.
Ben Gamari's avatar
Ben Gamari committed
3
#   Copyright 1992-2019 Free Software Foundation, Inc.
ken's avatar
ken committed
4

Ben Gamari's avatar
Ben Gamari committed
5
timestamp='2019-03-04'
ken's avatar
ken committed
6

7 8
# 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
9
# the Free Software Foundation; either version 3 of the License, or
10 11 12 13 14 15 16 17
# (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
Ben Gamari's avatar
Ben Gamari committed
18
# along with this program; if not, see <https://www.gnu.org/licenses/>.
19 20 21 22
#
# 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
23 24 25
# the same distribution terms that you use for the rest of that
# program.  This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
26
#
Moritz Angermann's avatar
Moritz Angermann committed
27
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28
#
29
# You can get the latest version of this script from:
Ben Gamari's avatar
Ben Gamari committed
30
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
31
#
Moritz Angermann's avatar
Moritz Angermann committed
32
# Please send patches to <config-patches@gnu.org>.
33

ken's avatar
ken committed
34 35 36 37 38 39 40 41

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

usage="\
Usage: $0 [OPTION]

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

Ben Gamari's avatar
Ben Gamari committed
42
Options:
ken's avatar
ken committed
43 44 45 46 47 48 49 50 51 52
  -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.
Ben Gamari's avatar
Ben Gamari committed
53
Copyright 1992-2019 Free Software Foundation, Inc.
ken's avatar
ken committed
54 55 56 57 58 59 60 61 62 63 64

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 )
65
       echo "$timestamp" ; exit ;;
ken's avatar
ken committed
66
    --version | -v )
67
       echo "$version" ; exit ;;
ken's avatar
ken committed
68
    --help | --h* | -h )
69
       echo "$usage"; exit ;;
ken's avatar
ken committed
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
    -- )     # 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

87 88 89 90
# 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.
ken's avatar
ken committed
91 92 93 94

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

95
# Portable tmp directory creation inspired by the Autoconf team.
96

Ben Gamari's avatar
Ben Gamari committed
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
tmp=
# shellcheck disable=SC2172
trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15

set_cc_for_build() {
    : "${TMPDIR=/tmp}"
    # shellcheck disable=SC2039
    { 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" 2>/dev/null) ; } ||
	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
    dummy=$tmp/dummy
    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
	,,)    echo "int x;" > "$dummy.c"
	       for driver in cc gcc c89 c99 ; do
		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
		       CC_FOR_BUILD="$driver"
		       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 ;;
    esac
}
125 126

# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
ken's avatar
ken committed
127
# (ghazi@noc.rutgers.edu 1994-08-24)
Ben Gamari's avatar
Ben Gamari committed
128
if test -f /.attbin/uname ; then
129 130 131 132 133
	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
ken's avatar
ken committed
134
UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
135 136
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown

Ben Gamari's avatar
Ben Gamari committed
137
case "$UNAME_SYSTEM" in
138 139 140 141 142
Linux|GNU|GNU/*)
	# If the system lacks a compiler, then just pick glibc.
	# We could probably try harder.
	LIBC=gnu

Ben Gamari's avatar
Ben Gamari committed
143 144
	set_cc_for_build
	cat <<-EOF > "$dummy.c"
145 146 147 148 149 150 151 152 153
	#include <features.h>
	#if defined(__UCLIBC__)
	LIBC=uclibc
	#elif defined(__dietlibc__)
	LIBC=dietlibc
	#else
	LIBC=gnu
	#endif
	EOF
Ben Gamari's avatar
Ben Gamari committed
154 155 156 157 158 159 160 161
	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"

	# If ldd exists, use it to detect musl libc.
	if command -v ldd >/dev/null && \
		ldd --version 2>&1 | grep -q ^musl
	then
	    LIBC=musl
	fi
162 163 164
	;;
esac

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

Ben Gamari's avatar
Ben Gamari committed
167
case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
ken's avatar
ken committed
168
    *:NetBSD:*:*)
169
	# NetBSD (nbsd) targets should (where applicable) match one or
170
	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
ken's avatar
ken committed
171 172 173 174 175
	# *-*-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.
176 177 178 179
	#
	# 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"
Moritz Angermann's avatar
Moritz Angermann committed
180
	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
Ben Gamari's avatar
Ben Gamari committed
181 182
	    "/sbin/$sysctl" 2>/dev/null || \
	    "/usr/sbin/$sysctl" 2>/dev/null || \
Moritz Angermann's avatar
Moritz Angermann committed
183
	    echo unknown)`
Ben Gamari's avatar
Ben Gamari committed
184
	case "$UNAME_MACHINE_ARCH" in
185 186 187 188
	    armeb) machine=armeb-unknown ;;
	    arm*) machine=arm-unknown ;;
	    sh3el) machine=shl-unknown ;;
	    sh3eb) machine=sh-unknown ;;
189
	    sh5el) machine=sh5le-unknown ;;
Moritz Angermann's avatar
Moritz Angermann committed
190
	    earmv*)
Ben Gamari's avatar
Ben Gamari committed
191 192 193
		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
		machine="${arch}${endian}"-unknown
Moritz Angermann's avatar
Moritz Angermann committed
194
		;;
Ben Gamari's avatar
Ben Gamari committed
195
	    *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
ken's avatar
ken committed
196 197
	esac
	# The Operating System including object format, if it has switched
198
	# to ELF recently (or will in the future) and ABI.
Ben Gamari's avatar
Ben Gamari committed
199
	case "$UNAME_MACHINE_ARCH" in
200 201 202 203
	    earm*)
		os=netbsdelf
		;;
	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
Ben Gamari's avatar
Ben Gamari committed
204
		set_cc_for_build
ken's avatar
ken committed
205
		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
206
			| grep -q __ELF__
ken's avatar
ken committed
207 208 209 210 211 212 213 214 215
		then
		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
		    # Return netbsd for either.  FIX?
		    os=netbsd
		else
		    os=netbsdelf
		fi
		;;
	    *)
216
		os=netbsd
ken's avatar
ken committed
217 218
		;;
	esac
Moritz Angermann's avatar
Moritz Angermann committed
219
	# Determine ABI tags.
Ben Gamari's avatar
Ben Gamari committed
220
	case "$UNAME_MACHINE_ARCH" in
Moritz Angermann's avatar
Moritz Angermann committed
221 222
	    earm*)
		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
Ben Gamari's avatar
Ben Gamari committed
223
		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
Moritz Angermann's avatar
Moritz Angermann committed
224 225
		;;
	esac
ken's avatar
ken committed
226
	# The OS release
227 228 229 230
	# 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.
Ben Gamari's avatar
Ben Gamari committed
231
	case "$UNAME_VERSION" in
232 233 234 235
	    Debian*)
		release='-gnu'
		;;
	    *)
Ben Gamari's avatar
Ben Gamari committed
236
		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
237 238
		;;
	esac
ken's avatar
ken committed
239 240 241
	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
	# contains redundant information, the shorter form:
	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
Ben Gamari's avatar
Ben Gamari committed
242
	echo "$machine-${os}${release}${abi-}"
243
	exit ;;
244 245
    *:Bitrig:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
Ben Gamari's avatar
Ben Gamari committed
246
	echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
247
	exit ;;
248
    *:OpenBSD:*:*)
249
	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
Ben Gamari's avatar
Ben Gamari committed
250
	echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
251
	exit ;;
Moritz Angermann's avatar
Moritz Angermann committed
252
    *:LibertyBSD:*:*)
253
	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
Ben Gamari's avatar
Ben Gamari committed
254 255 256 257
	echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
	exit ;;
    *:MidnightBSD:*:*)
	echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
Moritz Angermann's avatar
Moritz Angermann committed
258
	exit ;;
259
    *:ekkoBSD:*:*)
Ben Gamari's avatar
Ben Gamari committed
260
	echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
261 262
	exit ;;
    *:SolidBSD:*:*)
Ben Gamari's avatar
Ben Gamari committed
263
	echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
264 265
	exit ;;
    macppc:MirBSD:*:*)
Ben Gamari's avatar
Ben Gamari committed
266
	echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
267 268
	exit ;;
    *:MirBSD:*:*)
Ben Gamari's avatar
Ben Gamari committed
269
	echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
270
	exit ;;
Moritz Angermann's avatar
Moritz Angermann committed
271
    *:Sortix:*:*)
Ben Gamari's avatar
Ben Gamari committed
272 273 274 275
	echo "$UNAME_MACHINE"-unknown-sortix
	exit ;;
    *:Redox:*:*)
	echo "$UNAME_MACHINE"-unknown-redox
Moritz Angermann's avatar
Moritz Angermann committed
276
	exit ;;
Ben Gamari's avatar
Ben Gamari committed
277 278 279
    mips:OSF1:*.*)
        echo mips-dec-osf1
        exit ;;
280
    alpha:OSF1:*:*)
281 282
	case $UNAME_RELEASE in
	*4.0)
283
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
284 285
		;;
	*5.*)
286
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
287 288
		;;
	esac
289 290 291 292 293 294 295
	# 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)")
296
		UNAME_MACHINE=alpha ;;
297
	    "EV4.5 (21064)")
298
		UNAME_MACHINE=alpha ;;
299
	    "LCA4 (21066/21068)")
300
		UNAME_MACHINE=alpha ;;
301
	    "EV5 (21164)")
302
		UNAME_MACHINE=alphaev5 ;;
303
	    "EV5.6 (21164A)")
304
		UNAME_MACHINE=alphaev56 ;;
305
	    "EV5.6 (21164PC)")
306
		UNAME_MACHINE=alphapca56 ;;
307
	    "EV5.7 (21164PC)")
308
		UNAME_MACHINE=alphapca57 ;;
309
	    "EV6 (21264)")
310
		UNAME_MACHINE=alphaev6 ;;
311
	    "EV6.7 (21264A)")
312
		UNAME_MACHINE=alphaev67 ;;
313
	    "EV6.8CB (21264C)")
314
		UNAME_MACHINE=alphaev68 ;;
315
	    "EV6.8AL (21264B)")
316
		UNAME_MACHINE=alphaev68 ;;
317
	    "EV6.8CX (21264D)")
318
		UNAME_MACHINE=alphaev68 ;;
319
	    "EV6.9A (21264/EV69A)")
320
		UNAME_MACHINE=alphaev69 ;;
321
	    "EV7 (21364)")
322
		UNAME_MACHINE=alphaev7 ;;
323
	    "EV7.9 (21364A)")
324
		UNAME_MACHINE=alphaev79 ;;
325
	esac
326
	# A Pn.n version is a patched version.
327 328 329
	# 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.
330
	# 1.2 uses "1.2" for uname -r.
Ben Gamari's avatar
Ben Gamari committed
331
	echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
332 333 334 335
	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
	exitcode=$?
	trap '' 0
	exit $exitcode ;;
336
    Amiga*:UNIX_System_V:4.0:*)
ken's avatar
ken committed
337
	echo m68k-unknown-sysv4
338
	exit ;;
339
    *:[Aa]miga[Oo][Ss]:*:*)
Ben Gamari's avatar
Ben Gamari committed
340
	echo "$UNAME_MACHINE"-unknown-amigaos
341
	exit ;;
342
    *:[Mm]orph[Oo][Ss]:*:*)
Ben Gamari's avatar
Ben Gamari committed
343
	echo "$UNAME_MACHINE"-unknown-morphos
344
	exit ;;
ken's avatar
ken committed
345 346
    *:OS/390:*:*)
	echo i370-ibm-openedition
347 348 349 350 351
	exit ;;
    *:z/VM:*:*)
	echo s390-ibm-zvmoe
	exit ;;
    *:OS400:*:*)
352
	echo powerpc-ibm-os400
353
	exit ;;
354
    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
Ben Gamari's avatar
Ben Gamari committed
355
	echo arm-acorn-riscix"$UNAME_RELEASE"
356
	exit ;;
357
    arm*:riscos:*:*|arm*:RISCOS:*:*)
358 359
	echo arm-unknown-riscos
	exit ;;
ken's avatar
ken committed
360
    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
361
	echo hppa1.1-hitachi-hiuxmpp
362
	exit ;;
ken's avatar
ken committed
363
    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
364
	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
365 366 367 368 369
	if test "`(/bin/universe) 2>/dev/null`" = att ; then
		echo pyramid-pyramid-sysv3
	else
		echo pyramid-pyramid-bsd
	fi
370
	exit ;;
ken's avatar
ken committed
371
    NILE*:*:*:dcosx)
372
	echo pyramid-pyramid-svr4
373
	exit ;;
374 375
    DRS?6000:unix:4.0:6*)
	echo sparc-icl-nx6
376 377
	exit ;;
    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
378
	case `/usr/bin/uname -p` in
379
	    sparc) echo sparc-icl-nx7; exit ;;
380
	esac ;;
381
    s390x:SunOS:*:*)
Ben Gamari's avatar
Ben Gamari committed
382
	echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
383
	exit ;;
384
    sun4H:SunOS:5.*:*)
Ben Gamari's avatar
Ben Gamari committed
385
	echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
386
	exit ;;
387
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
Ben Gamari's avatar
Ben Gamari committed
388
	echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
389
	exit ;;
390
    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
Ben Gamari's avatar
Ben Gamari committed
391
	echo i386-pc-auroraux"$UNAME_RELEASE"
392
	exit ;;
393
    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
Ben Gamari's avatar
Ben Gamari committed
394
	set_cc_for_build
395
	SUN_ARCH=i386
396 397 398
	# If there is a compiler, see if it is configured for 64-bit objects.
	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
	# This test works for both compilers.
399
	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
400
	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
401
		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
402 403
		grep IS_64BIT_ARCH >/dev/null
	    then
404
		SUN_ARCH=x86_64
405 406
	    fi
	fi
Ben Gamari's avatar
Ben Gamari committed
407
	echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
408
	exit ;;
409 410 411 412
    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.
Ben Gamari's avatar
Ben Gamari committed
413
	echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
414
	exit ;;
415 416 417 418 419 420 421
    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'.
Ben Gamari's avatar
Ben Gamari committed
422
	echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
423
	exit ;;
424
    sun3*:SunOS:*:*)
Ben Gamari's avatar
Ben Gamari committed
425
	echo m68k-sun-sunos"$UNAME_RELEASE"
426
	exit ;;
427
    sun*:*:4.2BSD:*)
428
	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
Ben Gamari's avatar
Ben Gamari committed
429
	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
430 431
	case "`/bin/arch`" in
	    sun3)
Ben Gamari's avatar
Ben Gamari committed
432
		echo m68k-sun-sunos"$UNAME_RELEASE"
433 434
		;;
	    sun4)
Ben Gamari's avatar
Ben Gamari committed
435
		echo sparc-sun-sunos"$UNAME_RELEASE"
436 437
		;;
	esac
438
	exit ;;
439
    aushp:SunOS:*:*)
Ben Gamari's avatar
Ben Gamari committed
440
	echo sparc-auspex-sunos"$UNAME_RELEASE"
441
	exit ;;
ken's avatar
ken committed
442 443 444 445 446 447 448 449 450
    # 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:*:*)
Ben Gamari's avatar
Ben Gamari committed
451
	echo m68k-atari-mint"$UNAME_RELEASE"
452
	exit ;;
ken's avatar
ken committed
453
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
Ben Gamari's avatar
Ben Gamari committed
454
	echo m68k-atari-mint"$UNAME_RELEASE"
455
	exit ;;
ken's avatar
ken committed
456
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
Ben Gamari's avatar
Ben Gamari committed
457
	echo m68k-atari-mint"$UNAME_RELEASE"
458
	exit ;;
ken's avatar
ken committed
459
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
Ben Gamari's avatar
Ben Gamari committed
460
	echo m68k-milan-mint"$UNAME_RELEASE"
461
	exit ;;
ken's avatar
ken committed
462
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
Ben Gamari's avatar
Ben Gamari committed
463
	echo m68k-hades-mint"$UNAME_RELEASE"
464
	exit ;;
ken's avatar
ken committed
465
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
Ben Gamari's avatar
Ben Gamari committed
466
	echo m68k-unknown-mint"$UNAME_RELEASE"
467
	exit ;;
468
    m68k:machten:*:*)
Ben Gamari's avatar
Ben Gamari committed
469
	echo m68k-apple-machten"$UNAME_RELEASE"
470
	exit ;;
471
    powerpc:machten:*:*)
Ben Gamari's avatar
Ben Gamari committed
472
	echo powerpc-apple-machten"$UNAME_RELEASE"
473
	exit ;;
474 475
    RISC*:Mach:*:*)
	echo mips-dec-mach_bsd4.3
476
	exit ;;
477
    RISC*:ULTRIX:*:*)
Ben Gamari's avatar
Ben Gamari committed
478
	echo mips-dec-ultrix"$UNAME_RELEASE"
479
	exit ;;
480
    VAX*:ULTRIX*:*:*)
Ben Gamari's avatar
Ben Gamari committed
481
	echo vax-dec-ultrix"$UNAME_RELEASE"
482
	exit ;;
ken's avatar
ken committed
483
    2020:CLIX:*:* | 2430:CLIX:*:*)
Ben Gamari's avatar
Ben Gamari committed
484
	echo clipper-intergraph-clix"$UNAME_RELEASE"
485
	exit ;;
486
    mips:*:*:UMIPS | mips:*:*:RISCos)
Ben Gamari's avatar
Ben Gamari committed
487 488
	set_cc_for_build
	sed 's/^	//' << EOF > "$dummy.c"
ken's avatar
ken committed
489 490 491 492 493 494
#ifdef __cplusplus
#include <stdio.h>  /* for printf() prototype */
	int main (int argc, char *argv[]) {
#else
	int main (argc, argv) int argc; char *argv[]; {
#endif
495 496
	#if defined (host_mips) && defined (MIPSEB)
	#if defined (SYSTYPE_SYSV)
Ben Gamari's avatar
Ben Gamari committed
497
	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
498 499
	#endif
	#if defined (SYSTYPE_SVR4)
Ben Gamari's avatar
Ben Gamari committed
500
	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
501 502
	#endif
	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
Ben Gamari's avatar
Ben Gamari committed
503
	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
504 505 506 507 508
	#endif
	#endif
	  exit (-1);
	}
EOF
Ben Gamari's avatar
Ben Gamari committed
509 510 511
	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
512
	    { echo "$SYSTEM_NAME"; exit; }
Ben Gamari's avatar
Ben Gamari committed
513
	echo mips-mips-riscos"$UNAME_RELEASE"
514
	exit ;;
ken's avatar
ken committed
515 516
    Motorola:PowerMAX_OS:*:*)
	echo powerpc-motorola-powermax
517
	exit ;;
518 519
    Motorola:*:4.3:PL8-*)
	echo powerpc-harris-powermax
520
	exit ;;
521 522
    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
	echo powerpc-harris-powermax
523
	exit ;;
524 525
    Night_Hawk:Power_UNIX:*:*)
	echo powerpc-harris-powerunix
526
	exit ;;
527 528
    m88k:CX/UX:7*:*)
	echo m88k-harris-cxux7
529
	exit ;;
530 531
    m88k:*:4*:R4*)
	echo m88k-motorola-sysv4
532
	exit ;;
533 534
    m88k:*:3*:R3*)
	echo m88k-motorola-sysv3
535
	exit ;;
536
    AViiON:dgux:*:*)
537 538
	# DG/UX returns AViiON for all architectures
	UNAME_PROCESSOR=`/usr/bin/uname -p`
Ben Gamari's avatar
Ben Gamari committed
539
	if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
ken's avatar
ken committed
540
	then
Ben Gamari's avatar
Ben Gamari committed
541 542
	    if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
	       [ "$TARGET_BINARY_INTERFACE"x = x ]
ken's avatar
ken committed
543
	    then
Ben Gamari's avatar
Ben Gamari committed
544
		echo m88k-dg-dgux"$UNAME_RELEASE"
ken's avatar
ken committed
545
	    else
Ben Gamari's avatar
Ben Gamari committed
546
		echo m88k-dg-dguxbcs"$UNAME_RELEASE"
ken's avatar
ken committed
547 548
	    fi
	else
Ben Gamari's avatar
Ben Gamari committed
549
	    echo i586-dg-dgux"$UNAME_RELEASE"
550
	fi
551
	exit ;;
552 553
    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
	echo m88k-dolphin-sysv3
554
	exit ;;
555 556 557
    M88*:*:R3*:*)
	# Delta 88k system running SVR3
	echo m88k-motorola-sysv3
558
	exit ;;
559 560
    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
	echo m88k-tektronix-sysv3
561
	exit ;;
562 563
    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
	echo m68k-tektronix-bsd
564
	exit ;;
565
    *:IRIX*:*:*)
Ben Gamari's avatar
Ben Gamari committed
566
	echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
567
	exit ;;
568
    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
569 570
	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
ken's avatar
ken committed
571
    i*86:AIX:*:*)
572
	echo i386-ibm-aix
573
	exit ;;
ken's avatar
ken committed
574 575 576 577
    ia64:AIX:*:*)
	if [ -x /usr/bin/oslevel ] ; then
		IBM_REV=`/usr/bin/oslevel`
	else
Ben Gamari's avatar
Ben Gamari committed
578
		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
ken's avatar
ken committed
579
	fi
Ben Gamari's avatar
Ben Gamari committed
580
	echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
581
	exit ;;
582 583
    *:AIX:2:3)
	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
Ben Gamari's avatar
Ben Gamari committed
584 585
		set_cc_for_build
		sed 's/^		//' << EOF > "$dummy.c"
586 587 588 589 590 591 592 593 594 595
		#include <sys/systemcfg.h>

		main()
			{
			if (!__power_pc())
				exit(1);
			puts("powerpc-ibm-aix3.2.5");
			exit(0);
			}
EOF
Ben Gamari's avatar
Ben Gamari committed
596
		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
597 598 599 600 601
		then
			echo "$SYSTEM_NAME"
		else
			echo rs6000-ibm-aix3.2.5
		fi
602 603 604 605 606
	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
607
	exit ;;
608
    *:AIX:*:[4567])
609
	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
Ben Gamari's avatar
Ben Gamari committed
610
	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
611 612 613 614
		IBM_ARCH=rs6000
	else
		IBM_ARCH=powerpc
	fi
Moritz Angermann's avatar
Moritz Angermann committed
615 616 617
	if [ -x /usr/bin/lslpp ] ; then
		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
618
	else
Ben Gamari's avatar
Ben Gamari committed
619
		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
620
	fi
Ben Gamari's avatar
Ben Gamari committed
621
	echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
622
	exit ;;
623 624
    *:AIX:*:*)
	echo rs6000-ibm-aix
625
	exit ;;
Ben Gamari's avatar
Ben Gamari committed
626
    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
627
	echo romp-ibm-bsd4.4
628
	exit ;;
ken's avatar
ken committed
629
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
Ben Gamari's avatar
Ben Gamari committed
630
	echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
631
	exit ;;                             # report: romp-ibm BSD 4.3
632 633
    *:BOSX:*:*)
	echo rs6000-bull-bosx
634
	exit ;;
635 636
    DPX/2?00:B.O.S.:*:*)
	echo m68k-bull-sysv3
637
	exit ;;
638 639
    9000/[34]??:4.3bsd:1.*:*)
	echo m68k-hp-bsd
640
	exit ;;
641 642
    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
	echo m68k-hp-bsd4.4
643
	exit ;;
644
    9000/[34678]??:HP-UX:*:*)
Ben Gamari's avatar
Ben Gamari committed
645 646 647 648
	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
	case "$UNAME_MACHINE" in
	    9000/31?)            HP_ARCH=m68000 ;;
	    9000/[34]??)         HP_ARCH=m68k ;;
ken's avatar
ken committed
649
	    9000/[678][0-9][0-9])
650 651
		if [ -x /usr/bin/getconf ]; then
		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
652
		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
Ben Gamari's avatar
Ben Gamari committed
653
		    case "$sc_cpu_version" in
654 655
		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
656
		      532)                      # CPU_PA_RISC2_0
Ben Gamari's avatar
Ben Gamari committed
657
			case "$sc_kernel_bits" in
658 659 660
			  32) HP_ARCH=hppa2.0n ;;
			  64) HP_ARCH=hppa2.0w ;;
			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
661 662
			esac ;;
		    esac
663
		fi
Ben Gamari's avatar
Ben Gamari committed
664 665 666
		if [ "$HP_ARCH" = "" ]; then
		    set_cc_for_build
		    sed 's/^		//' << EOF > "$dummy.c"
ken's avatar
ken committed
667

668 669 670
		#define _HPUX_SOURCE
		#include <stdlib.h>
		#include <unistd.h>
ken's avatar
ken committed
671

672 673 674 675 676 677
		int main ()
		{
		#if defined(_SC_KERNEL_BITS)
		    long bits = sysconf(_SC_KERNEL_BITS);
		#endif
		    long cpu  = sysconf (_SC_CPU_VERSION);
ken's avatar
ken committed
678

679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697
		    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);
		}
698
EOF
Ben Gamari's avatar
Ben Gamari committed
699
		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
700 701
		    test -z "$HP_ARCH" && HP_ARCH=hppa
		fi ;;
702
	esac
Ben Gamari's avatar
Ben Gamari committed
703
	if [ "$HP_ARCH" = hppa2.0w ]
704
	then
Ben Gamari's avatar
Ben Gamari committed
705
	    set_cc_for_build
706 707 708 709 710 711 712 713 714 715

	    # 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

716
	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
717
		grep -q __LP64__
718
	    then
719
		HP_ARCH=hppa2.0w
720
	    else
721
		HP_ARCH=hppa64
722 723
	    fi
	fi
Ben Gamari's avatar
Ben Gamari committed
724
	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
725
	exit ;;
ken's avatar
ken committed
726
    ia64:HP-UX:*:*)
Ben Gamari's avatar
Ben Gamari committed
727 728
	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
	echo ia64-hp-hpux"$HPUX_REV"
729
	exit ;;
730
    3050*:HI-UX:*:*)
Ben Gamari's avatar
Ben Gamari committed
731 732
	set_cc_for_build
	sed 's/^	//' << EOF > "$dummy.c"
733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756
	#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
Ben Gamari's avatar
Ben Gamari committed
757
	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
758
		{ echo "$SYSTEM_NAME"; exit; }
759
	echo unknown-hitachi-hiuxwe2
760
	exit ;;
Ben Gamari's avatar
Ben Gamari committed
761
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
762
	echo hppa1.1-hp-bsd
763
	exit ;;
764 765
    9000/8??:4.3bsd:*:*)
	echo hppa1.0-hp-bsd
766
	exit ;;
ken's avatar
ken committed
767 768
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
	echo hppa1.0-hp-mpeix
769
	exit ;;
Ben Gamari's avatar
Ben Gamari committed
770
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
771
	echo hppa1.1-hp-osf
772
	exit ;;
773 774
    hp8??:OSF1:*:*)
	echo hppa1.0-hp-osf
775
	exit ;;
ken's avatar
ken committed
776
    i*86:OSF1:*:*)
777
	if [ -x /usr/sbin/sysversion ] ; then
Ben Gamari's avatar
Ben Gamari committed
778
	    echo "$UNAME_MACHINE"-unknown-osf1mk
779
	else
Ben Gamari's avatar
Ben Gamari committed
780
	    echo "$UNAME_MACHINE"-unknown-osf1
781
	fi
782
	exit ;;
783 784
    parisc*:Lites*:*:*)
	echo hppa1.1-hp-lites
785
	exit ;;
786 787
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
	echo c1-convex-bsd
788
	exit ;;
789 790 791 792 793
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
794
	exit ;;
795 796
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
	echo c34-convex-bsd
797
	exit ;;
798 799
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
	echo c38-convex-bsd
800
	exit ;;
801 802
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
	echo c4-convex-bsd
803
	exit ;;
804
    CRAY*Y-MP:*:*:*)
Ben Gamari's avatar
Ben Gamari committed
805
	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
806
	exit ;;
807
    CRAY*[A-Z]90:*:*:*)
Ben Gamari's avatar
Ben Gamari committed
808
	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
809
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
810 811
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
	      -e 's/\.[^.]*$/.X/'
812
	exit ;;
813
    CRAY*TS:*:*:*)
Ben Gamari's avatar
Ben Gamari committed
814
	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
815
	exit ;;
ken's avatar
ken committed
816
    CRAY*T3E:*:*:*)
Ben Gamari's avatar
Ben Gamari committed
817
	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
818
	exit ;;
ken's avatar
ken committed
819
    CRAY*SV1:*:*:*)
Ben Gamari's avatar
Ben Gamari committed
820
	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
821
	exit ;;
822
    *:UNICOS/mp:*:*)
Ben Gamari's avatar
Ben Gamari committed
823
	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
824
	exit ;;
ken's avatar
ken committed
825
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
826 827
	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
Ben Gamari's avatar
Ben Gamari committed
828
	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
829 830
	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
	exit ;;
831
    5000:UNIX_System_V:4.*:*)
832
	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
Ben Gamari's avatar
Ben Gamari committed
833
	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
834
	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
835
	exit ;;
ken's avatar
ken committed
836
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
Ben Gamari's avatar
Ben Gamari committed
837
	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
838
	exit ;;
839
    sparc*:BSD/OS:*:*)
Ben Gamari's avatar
Ben Gamari committed
840
	echo sparc-unknown-bsdi"$UNAME_RELEASE"
841
	exit ;;
ken's avatar
ken committed
842
    *:BSD/OS:*:*)
Ben Gamari's avatar
Ben Gamari committed
843 844 845 846 847 848 849 850 851 852 853 854
	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
	exit ;;
    arm:FreeBSD:*:*)
	UNAME_PROCESSOR=`uname -p`
	set_cc_for_build
	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
	    | grep -q __ARM_PCS_VFP
	then
	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
	else
	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
	fi
855 856
	exit ;;
    *:FreeBSD:*:*)
857
	UNAME_PROCESSOR=`/usr/bin/uname -p`
Ben Gamari's avatar
Ben Gamari committed
858
	case "$UNAME_PROCESSOR" in
859
	    amd64)
860 861 862
		UNAME_PROCESSOR=x86_64 ;;
	    i386)
		UNAME_PROCESSOR=i586 ;;
863
	esac
Ben Gamari's avatar
Ben Gamari committed
864
	echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
865
	exit ;;
866
    i*:CYGWIN*:*)
Ben Gamari's avatar
Ben Gamari committed
867
	echo "$UNAME_MACHINE"-pc-cygwin
868
	exit ;;
869
    *:MINGW64*:*)
Ben Gamari's avatar
Ben Gamari committed
870
	echo "$UNAME_MACHINE"-pc-mingw64
871
	exit ;;
872
    *:MINGW*:*)
Ben Gamari's avatar
Ben Gamari committed
873
	echo "$UNAME_MACHINE"-pc-mingw32
874
	exit ;;
875
    *:MSYS*:*)
Ben Gamari's avatar
Ben Gamari committed
876
	echo "$UNAME_MACHINE"-pc-msys
877
	exit ;;
ken's avatar
ken committed
878
    i*:PW*:*)
Ben Gamari's avatar
Ben Gamari committed
879
	echo "$UNAME_MACHINE"-pc-pw32
880
	exit ;;
881
    *:Interix*:*)
Ben Gamari's avatar
Ben Gamari committed
882
	case "$UNAME_MACHINE" in
883
	    x86)
Ben Gamari's avatar
Ben Gamari committed
884
		echo i586-pc-interix"$UNAME_RELEASE"
885
		exit ;;
886
	    authenticamd | genuineintel | EM64T)
Ben Gamari's avatar
Ben Gamari committed
887
		echo x86_64-unknown-interix"$UNAME_RELEASE"
888 889
		exit ;;
	    IA64)
Ben Gamari's avatar
Ben Gamari committed
890
		echo ia64-unknown-interix"$UNAME_RELEASE"
891 892
		exit ;;
	esac ;;
ken's avatar
ken committed
893
    i*:UWIN*:*)
Ben Gamari's avatar
Ben Gamari committed
894
	echo "$UNAME_MACHINE"-pc-uwin
895 896
	exit ;;
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
Ben Gamari's avatar
Ben Gamari committed
897
	echo x86_64-pc-cygwin
898
	exit ;;
899
    prep*:SunOS:5.*:*)
Ben Gamari's avatar
Ben Gamari committed
900
	echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
901
	exit ;;
902
    *:GNU:*:*)
903
	# the GNU system
Ben Gamari's avatar
Ben Gamari committed
904
	echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
905 906 907
	exit ;;
    *:GNU/*:*:*)
	# other systems with GNU libc and userland
Ben Gamari's avatar
Ben Gamari committed
908
	echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
909
	exit ;;
Ben Gamari's avatar
Ben Gamari committed
910 911
    *:Minix:*:*)
	echo "$UNAME_MACHINE"-unknown-minix
912
	exit ;;
913
    aarch64:Linux:*:*)
Ben Gamari's avatar
Ben Gamari committed
914
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
915 916 917
	exit ;;
    aarch64_be:Linux:*:*)
	UNAME_MACHINE=aarch64_be
Ben Gamari's avatar
Ben Gamari committed
918
	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
919 920 921 922 923 924 925 926 927 928 929 930
	exit ;;
    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 -q ld.so.1