xref: /llvm-project/llvm/cmake/config.guess (revision 7fb71d15cd3c2a185d4a60791e893d3c5721754d)
1#! /bin/sh
2# Attempt to guess a canonical system name.
3#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5#   2011 Free Software Foundation, Inc.
6
7timestamp='2024-06-07'
8
9# This file is free software; you can redistribute it and/or modify it
10# under the terms of the GNU General Public License as published by
11# the Free Software Foundation; either version 2 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful, but
15# WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17# General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program; if not, write to the Free Software
21# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22# 02110-1301, USA.
23#
24# As a special exception to the GNU General Public License, if you
25# distribute this file as part of a program that contains a
26# configuration script generated by Autoconf, you may include it under
27# the same distribution terms that you use for the rest of that program.
28
29
30# Originally written by Per Bothner.  Please send patches (context
31# diff format) to <config-patches@gnu.org> and include a ChangeLog
32# entry.
33#
34# This script attempts to guess a canonical system name similar to
35# config.sub.  If it succeeds, it prints the system name on stdout, and
36# exits with 0.  Otherwise, it exits with 1.
37#
38# You can get the latest version of this script from:
39# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
40
41me=`echo "$0" | sed -e 's,.*/,,'`
42
43usage="\
44Usage: $0 [OPTION]
45
46Output the configuration name of the system \`$me' is run on.
47
48Operation modes:
49  -h, --help         print this help, then exit
50  -t, --time-stamp   print date of last modification, then exit
51  -v, --version      print version number, then exit
52
53Report bugs and patches to <config-patches@gnu.org>."
54
55version="\
56GNU config.guess ($timestamp)
57
58Originally written by Per Bothner.
59Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
602001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
61Software Foundation, Inc.
62
63This is free software; see the source for copying conditions.  There is NO
64warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
65
66help="
67Try \`$me --help' for more information."
68
69# Parse command line
70while test $# -gt 0 ; do
71  case $1 in
72    --time-stamp | --time* | -t )
73       echo "$timestamp" ; exit ;;
74    --version | -v )
75       echo "$version" ; exit ;;
76    --help | --h* | -h )
77       echo "$usage"; exit ;;
78    -- )     # Stop option processing
79       shift; break ;;
80    - )	# Use stdin as input.
81       break ;;
82    -* )
83       echo "$me: invalid option $1$help" >&2
84       exit 1 ;;
85    * )
86       break ;;
87  esac
88done
89
90if test $# != 0; then
91  echo "$me: too many arguments$help" >&2
92  exit 1
93fi
94
95trap 'exit 1' 1 2 15
96
97# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
98# compiler to aid in system detection is discouraged as it requires
99# temporary files to be created and, as you can see below, it is a
100# headache to deal with in a portable fashion.
101
102# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
103# use `HOST_CC' if defined, but it is deprecated.
104
105# Portable tmp directory creation inspired by the Autoconf team.
106
107set_cc_for_build='
108trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
109trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
110: ${TMPDIR=/tmp} ;
111 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
112 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
113 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
114 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
115dummy=$tmp/dummy ;
116tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
117case $CC_FOR_BUILD,$HOST_CC,$CC in
118 ,,)    echo "int x;" > $dummy.c ;
119	for c in cc gcc c89 c99 ; do
120	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
121	     CC_FOR_BUILD="$c"; break ;
122	  fi ;
123	done ;
124	if test x"$CC_FOR_BUILD" = x ; then
125	  CC_FOR_BUILD=no_compiler_found ;
126	fi
127	;;
128 ,,*)   CC_FOR_BUILD=$CC ;;
129 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
130esac ; set_cc_for_build= ;'
131
132# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
133# (ghazi@noc.rutgers.edu 1994-08-24)
134if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
135	PATH=$PATH:/.attbin ; export PATH
136fi
137
138UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
139UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
140UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
141UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
142
143# Note: order is significant - the case branches are not exclusive.
144
145case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
146    *:NetBSD:*:*)
147	# NetBSD (nbsd) targets should (where applicable) match one or
148	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
149	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
150	# switched to ELF, *-*-netbsd* would select the old
151	# object file format.  This provides both forward
152	# compatibility and a consistent mechanism for selecting the
153	# object file format.
154	#
155	# Note: NetBSD doesn't particularly care about the vendor
156	# portion of the name.  We always set it to "unknown".
157	sysctl="sysctl -n hw.machine_arch"
158	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
159	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
160	case "${UNAME_MACHINE_ARCH}" in
161	    armeb) machine=armeb-unknown ;;
162	    arm*) machine=arm-unknown ;;
163	    sh3el) machine=shl-unknown ;;
164	    sh3eb) machine=sh-unknown ;;
165	    sh5el) machine=sh5le-unknown ;;
166	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
167	esac
168	# The Operating System including object format, if it has switched
169	# to ELF recently, or will in the future.
170	case "${UNAME_MACHINE_ARCH}" in
171	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
172		eval $set_cc_for_build
173		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
174			| grep -q __ELF__
175		then
176		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
177		    # Return netbsd for either.  FIX?
178		    os=netbsd
179		else
180		    os=netbsdelf
181		fi
182		;;
183	    *)
184		os=netbsd
185		;;
186	esac
187	# The OS release
188	# Debian GNU/NetBSD machines have a different userland, and
189	# thus, need a distinct triplet. However, they do not need
190	# kernel version information, so it can be replaced with a
191	# suitable tag, in the style of linux-gnu.
192	case "${UNAME_VERSION}" in
193	    Debian*)
194		release='-gnu'
195		;;
196	    *)
197		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
198		;;
199	esac
200	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
201	# contains redundant information, the shorter form:
202	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
203	echo "${machine}-${os}${release}"
204	exit ;;
205    *:OpenBSD:*:*)
206	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
207	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
208	exit ;;
209    *:ekkoBSD:*:*)
210	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
211	exit ;;
212    *:SolidBSD:*:*)
213	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
214	exit ;;
215    macppc:MirBSD:*:*)
216	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
217	exit ;;
218    *:MirBSD:*:*)
219	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
220	exit ;;
221    alpha:OSF1:*:*)
222	case $UNAME_RELEASE in
223	*4.0)
224		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
225		;;
226	*5.*)
227		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
228		;;
229	esac
230	# According to Compaq, /usr/sbin/psrinfo has been available on
231	# OSF/1 and Tru64 systems produced since 1995.  I hope that
232	# covers most systems running today.  This code pipes the CPU
233	# types through head -n 1, so we only detect the type of CPU 0.
234	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
235	case "$ALPHA_CPU_TYPE" in
236	    "EV4 (21064)")
237		UNAME_MACHINE="alpha" ;;
238	    "EV4.5 (21064)")
239		UNAME_MACHINE="alpha" ;;
240	    "LCA4 (21066/21068)")
241		UNAME_MACHINE="alpha" ;;
242	    "EV5 (21164)")
243		UNAME_MACHINE="alphaev5" ;;
244	    "EV5.6 (21164A)")
245		UNAME_MACHINE="alphaev56" ;;
246	    "EV5.6 (21164PC)")
247		UNAME_MACHINE="alphapca56" ;;
248	    "EV5.7 (21164PC)")
249		UNAME_MACHINE="alphapca57" ;;
250	    "EV6 (21264)")
251		UNAME_MACHINE="alphaev6" ;;
252	    "EV6.7 (21264A)")
253		UNAME_MACHINE="alphaev67" ;;
254	    "EV6.8CB (21264C)")
255		UNAME_MACHINE="alphaev68" ;;
256	    "EV6.8AL (21264B)")
257		UNAME_MACHINE="alphaev68" ;;
258	    "EV6.8CX (21264D)")
259		UNAME_MACHINE="alphaev68" ;;
260	    "EV6.9A (21264/EV69A)")
261		UNAME_MACHINE="alphaev69" ;;
262	    "EV7 (21364)")
263		UNAME_MACHINE="alphaev7" ;;
264	    "EV7.9 (21364A)")
265		UNAME_MACHINE="alphaev79" ;;
266	esac
267	# A Pn.n version is a patched version.
268	# A Vn.n version is a released version.
269	# A Tn.n version is a released field test version.
270	# A Xn.n version is an unreleased experimental baselevel.
271	# 1.2 uses "1.2" for uname -r.
272	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
273	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
274	exitcode=$?
275	trap '' 0
276	exit $exitcode ;;
277    Alpha\ *:Windows_NT*:*)
278	# How do we know it's Interix rather than the generic POSIX subsystem?
279	# Should we change UNAME_MACHINE based on the output of uname instead
280	# of the specific Alpha model?
281	echo alpha-pc-interix
282	exit ;;
283    21064:Windows_NT:50:3)
284	echo alpha-dec-winnt3.5
285	exit ;;
286    Amiga*:UNIX_System_V:4.0:*)
287	echo m68k-unknown-sysv4
288	exit ;;
289    *:[Aa]miga[Oo][Ss]:*:*)
290	echo ${UNAME_MACHINE}-unknown-amigaos
291	exit ;;
292    *:[Mm]orph[Oo][Ss]:*:*)
293	echo ${UNAME_MACHINE}-unknown-morphos
294	exit ;;
295    *:OS/390:*:*)
296	echo i370-ibm-openedition
297	exit ;;
298    *:z/VM:*:*)
299	echo s390-ibm-zvmoe
300	exit ;;
301    *:OS400:*:*)
302	echo powerpc-ibm-os400
303	exit ;;
304    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
305	echo arm-acorn-riscix${UNAME_RELEASE}
306	exit ;;
307    arm:riscos:*:*|arm:RISCOS:*:*)
308	echo arm-unknown-riscos
309	exit ;;
310    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
311	echo hppa1.1-hitachi-hiuxmpp
312	exit ;;
313    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
314	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
315	if test "`(/bin/universe) 2>/dev/null`" = att ; then
316		echo pyramid-pyramid-sysv3
317	else
318		echo pyramid-pyramid-bsd
319	fi
320	exit ;;
321    NILE*:*:*:dcosx)
322	echo pyramid-pyramid-svr4
323	exit ;;
324    DRS?6000:unix:4.0:6*)
325	echo sparc-icl-nx6
326	exit ;;
327    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
328	case `/usr/bin/uname -p` in
329	    sparc) echo sparc-icl-nx7; exit ;;
330	esac ;;
331    s390x:SunOS:*:*)
332	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
333	exit ;;
334    sun4H:SunOS:5.*:*)
335	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
336	exit ;;
337    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
338	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
339	exit ;;
340    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
341	echo i386-pc-auroraux${UNAME_RELEASE}
342	exit ;;
343    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
344	eval $set_cc_for_build
345	SUN_ARCH="i386"
346	# If there is a compiler, see if it is configured for 64-bit objects.
347	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
348	# This test works for both compilers.
349	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
350	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
351		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
352		grep IS_64BIT_ARCH >/dev/null
353	    then
354		SUN_ARCH="x86_64"
355	    fi
356	fi
357	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
358	exit ;;
359    sun4*:SunOS:6*:*)
360	# According to config.sub, this is the proper way to canonicalize
361	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
362	# it's likely to be more like Solaris than SunOS4.
363	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
364	exit ;;
365    sun4*:SunOS:*:*)
366	case "`/usr/bin/arch -k`" in
367	    Series*|S4*)
368		UNAME_RELEASE=`uname -v`
369		;;
370	esac
371	# Japanese Language versions have a version number like `4.1.3-JL'.
372	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
373	exit ;;
374    sun3*:SunOS:*:*)
375	echo m68k-sun-sunos${UNAME_RELEASE}
376	exit ;;
377    sun*:*:4.2BSD:*)
378	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
379	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
380	case "`/bin/arch`" in
381	    sun3)
382		echo m68k-sun-sunos${UNAME_RELEASE}
383		;;
384	    sun4)
385		echo sparc-sun-sunos${UNAME_RELEASE}
386		;;
387	esac
388	exit ;;
389    aushp:SunOS:*:*)
390	echo sparc-auspex-sunos${UNAME_RELEASE}
391	exit ;;
392    # The situation for MiNT is a little confusing.  The machine name
393    # can be virtually everything (everything which is not
394    # "atarist" or "atariste" at least should have a processor
395    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
396    # to the lowercase version "mint" (or "freemint").  Finally
397    # the system name "TOS" denotes a system which is actually not
398    # MiNT.  But MiNT is downward compatible to TOS, so this should
399    # be no problem.
400    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
401	echo m68k-atari-mint${UNAME_RELEASE}
402	exit ;;
403    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
404	echo m68k-atari-mint${UNAME_RELEASE}
405	exit ;;
406    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
407	echo m68k-atari-mint${UNAME_RELEASE}
408	exit ;;
409    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
410	echo m68k-milan-mint${UNAME_RELEASE}
411	exit ;;
412    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
413	echo m68k-hades-mint${UNAME_RELEASE}
414	exit ;;
415    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
416	echo m68k-unknown-mint${UNAME_RELEASE}
417	exit ;;
418    m68k:machten:*:*)
419	echo m68k-apple-machten${UNAME_RELEASE}
420	exit ;;
421    powerpc:machten:*:*)
422	echo powerpc-apple-machten${UNAME_RELEASE}
423	exit ;;
424    RISC*:Mach:*:*)
425	echo mips-dec-mach_bsd4.3
426	exit ;;
427    RISC*:ULTRIX:*:*)
428	echo mips-dec-ultrix${UNAME_RELEASE}
429	exit ;;
430    VAX*:ULTRIX*:*:*)
431	echo vax-dec-ultrix${UNAME_RELEASE}
432	exit ;;
433    2020:CLIX:*:* | 2430:CLIX:*:*)
434	echo clipper-intergraph-clix${UNAME_RELEASE}
435	exit ;;
436    mips:*:*:UMIPS | mips:*:*:RISCos)
437	eval $set_cc_for_build
438	sed 's/^	//' << EOF >$dummy.c
439#ifdef __cplusplus
440#include <stdio.h>  /* for printf() prototype */
441	int main (int argc, char *argv[]) {
442#else
443	int main (argc, argv) int argc; char *argv[]; {
444#endif
445	#if defined (host_mips) && defined (MIPSEB)
446	#if defined (SYSTYPE_SYSV)
447	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
448	#endif
449	#if defined (SYSTYPE_SVR4)
450	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
451	#endif
452	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
453	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
454	#endif
455	#endif
456	  exit (-1);
457	}
458EOF
459	$CC_FOR_BUILD -o $dummy $dummy.c &&
460	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
461	  SYSTEM_NAME=`$dummy $dummyarg` &&
462	    { echo "$SYSTEM_NAME"; exit; }
463	echo mips-mips-riscos${UNAME_RELEASE}
464	exit ;;
465    Motorola:PowerMAX_OS:*:*)
466	echo powerpc-motorola-powermax
467	exit ;;
468    Motorola:*:4.3:PL8-*)
469	echo powerpc-harris-powermax
470	exit ;;
471    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
472	echo powerpc-harris-powermax
473	exit ;;
474    Night_Hawk:Power_UNIX:*:*)
475	echo powerpc-harris-powerunix
476	exit ;;
477    m88k:CX/UX:7*:*)
478	echo m88k-harris-cxux7
479	exit ;;
480    m88k:*:4*:R4*)
481	echo m88k-motorola-sysv4
482	exit ;;
483    m88k:*:3*:R3*)
484	echo m88k-motorola-sysv3
485	exit ;;
486    AViiON:dgux:*:*)
487	# DG/UX returns AViiON for all architectures
488	UNAME_PROCESSOR=`/usr/bin/uname -p`
489	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
490	then
491	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
492	       [ ${TARGET_BINARY_INTERFACE}x = x ]
493	    then
494		echo m88k-dg-dgux${UNAME_RELEASE}
495	    else
496		echo m88k-dg-dguxbcs${UNAME_RELEASE}
497	    fi
498	else
499	    echo i586-dg-dgux${UNAME_RELEASE}
500	fi
501	exit ;;
502    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
503	echo m88k-dolphin-sysv3
504	exit ;;
505    M88*:*:R3*:*)
506	# Delta 88k system running SVR3
507	echo m88k-motorola-sysv3
508	exit ;;
509    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
510	echo m88k-tektronix-sysv3
511	exit ;;
512    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
513	echo m68k-tektronix-bsd
514	exit ;;
515    *:IRIX*:*:*)
516	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
517	exit ;;
518    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
519	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
520	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
521    i*86:AIX:*:*)
522	echo i386-ibm-aix
523	exit ;;
524    ia64:AIX:*:*)
525	if [ -x /usr/bin/oslevel ] ; then
526		IBM_REV=`/usr/bin/oslevel`
527	else
528		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
529	fi
530	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
531	exit ;;
532    *:AIX:2:3)
533	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
534		eval $set_cc_for_build
535		sed 's/^		//' << EOF >$dummy.c
536		#include <sys/systemcfg.h>
537
538		main()
539			{
540			if (!__power_pc())
541				exit(1);
542			puts("powerpc-ibm-aix3.2.5");
543			exit(0);
544			}
545EOF
546		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
547		then
548			echo "$SYSTEM_NAME"
549		else
550			echo rs6000-ibm-aix3.2.5
551		fi
552	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
553		echo rs6000-ibm-aix3.2.4
554	else
555		echo rs6000-ibm-aix3.2
556	fi
557	exit ;;
558    *:AIX:*:[4567])
559	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
560	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
561		IBM_ARCH=rs6000
562	else
563		IBM_ARCH=powerpc
564	fi
565	if [ -x /usr/bin/oslevel ] ; then
566		IBM_REV=`/usr/bin/oslevel`
567	else
568		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
569	fi
570	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
571	exit ;;
572    *:AIX:*:*)
573	echo rs6000-ibm-aix
574	exit ;;
575    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
576	echo romp-ibm-bsd4.4
577	exit ;;
578    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
579	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
580	exit ;;                             # report: romp-ibm BSD 4.3
581    *:BOSX:*:*)
582	echo rs6000-bull-bosx
583	exit ;;
584    DPX/2?00:B.O.S.:*:*)
585	echo m68k-bull-sysv3
586	exit ;;
587    9000/[34]??:4.3bsd:1.*:*)
588	echo m68k-hp-bsd
589	exit ;;
590    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
591	echo m68k-hp-bsd4.4
592	exit ;;
593    9000/[34678]??:HP-UX:*:*)
594	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
595	case "${UNAME_MACHINE}" in
596	    9000/31? )            HP_ARCH=m68000 ;;
597	    9000/[34]?? )         HP_ARCH=m68k ;;
598	    9000/[678][0-9][0-9])
599		if [ -x /usr/bin/getconf ]; then
600		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
601		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
602		    case "${sc_cpu_version}" in
603		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
604		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
605		      532)                      # CPU_PA_RISC2_0
606			case "${sc_kernel_bits}" in
607			  32) HP_ARCH="hppa2.0n" ;;
608			  64) HP_ARCH="hppa2.0w" ;;
609			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
610			esac ;;
611		    esac
612		fi
613		if [ "${HP_ARCH}" = "" ]; then
614		    eval $set_cc_for_build
615		    sed 's/^		//' << EOF >$dummy.c
616
617		#define _HPUX_SOURCE
618		#include <stdlib.h>
619		#include <unistd.h>
620
621		int main ()
622		{
623		#if defined(_SC_KERNEL_BITS)
624		    long bits = sysconf(_SC_KERNEL_BITS);
625		#endif
626		    long cpu  = sysconf (_SC_CPU_VERSION);
627
628		    switch (cpu)
629			{
630			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
631			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
632			case CPU_PA_RISC2_0:
633		#if defined(_SC_KERNEL_BITS)
634			    switch (bits)
635				{
636				case 64: puts ("hppa2.0w"); break;
637				case 32: puts ("hppa2.0n"); break;
638				default: puts ("hppa2.0"); break;
639				} break;
640		#else  /* !defined(_SC_KERNEL_BITS) */
641			    puts ("hppa2.0"); break;
642		#endif
643			default: puts ("hppa1.0"); break;
644			}
645		    exit (0);
646		}
647EOF
648		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
649		    test -z "$HP_ARCH" && HP_ARCH=hppa
650		fi ;;
651	esac
652	if [ ${HP_ARCH} = "hppa2.0w" ]
653	then
654	    eval $set_cc_for_build
655
656	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
657	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
658	    # generating 64-bit code.  GNU and HP use different nomenclature:
659	    #
660	    # $ CC_FOR_BUILD=cc ./config.guess
661	    # => hppa2.0w-hp-hpux11.23
662	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
663	    # => hppa64-hp-hpux11.23
664
665	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
666		grep -q __LP64__
667	    then
668		HP_ARCH="hppa2.0w"
669	    else
670		HP_ARCH="hppa64"
671	    fi
672	fi
673	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
674	exit ;;
675    ia64:HP-UX:*:*)
676	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
677	echo ia64-hp-hpux${HPUX_REV}
678	exit ;;
679    3050*:HI-UX:*:*)
680	eval $set_cc_for_build
681	sed 's/^	//' << EOF >$dummy.c
682	#include <unistd.h>
683	int
684	main ()
685	{
686	  long cpu = sysconf (_SC_CPU_VERSION);
687	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
688	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
689	     results, however.  */
690	  if (CPU_IS_PA_RISC (cpu))
691	    {
692	      switch (cpu)
693		{
694		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
695		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
696		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
697		  default: puts ("hppa-hitachi-hiuxwe2"); break;
698		}
699	    }
700	  else if (CPU_IS_HP_MC68K (cpu))
701	    puts ("m68k-hitachi-hiuxwe2");
702	  else puts ("unknown-hitachi-hiuxwe2");
703	  exit (0);
704	}
705EOF
706	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
707		{ echo "$SYSTEM_NAME"; exit; }
708	echo unknown-hitachi-hiuxwe2
709	exit ;;
710    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
711	echo hppa1.1-hp-bsd
712	exit ;;
713    9000/8??:4.3bsd:*:*)
714	echo hppa1.0-hp-bsd
715	exit ;;
716    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
717	echo hppa1.0-hp-mpeix
718	exit ;;
719    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
720	echo hppa1.1-hp-osf
721	exit ;;
722    hp8??:OSF1:*:*)
723	echo hppa1.0-hp-osf
724	exit ;;
725    i*86:OSF1:*:*)
726	if [ -x /usr/sbin/sysversion ] ; then
727	    echo ${UNAME_MACHINE}-unknown-osf1mk
728	else
729	    echo ${UNAME_MACHINE}-unknown-osf1
730	fi
731	exit ;;
732    parisc*:Lites*:*:*)
733	echo hppa1.1-hp-lites
734	exit ;;
735    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
736	echo c1-convex-bsd
737	exit ;;
738    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
739	if getsysinfo -f scalar_acc
740	then echo c32-convex-bsd
741	else echo c2-convex-bsd
742	fi
743	exit ;;
744    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
745	echo c34-convex-bsd
746	exit ;;
747    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
748	echo c38-convex-bsd
749	exit ;;
750    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
751	echo c4-convex-bsd
752	exit ;;
753    CRAY*Y-MP:*:*:*)
754	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
755	exit ;;
756    CRAY*[A-Z]90:*:*:*)
757	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
758	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
759	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
760	      -e 's/\.[^.]*$/.X/'
761	exit ;;
762    CRAY*TS:*:*:*)
763	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
764	exit ;;
765    CRAY*T3E:*:*:*)
766	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
767	exit ;;
768    CRAY*SV1:*:*:*)
769	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
770	exit ;;
771    *:UNICOS/mp:*:*)
772	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
773	exit ;;
774    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
775	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
776	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
777	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
778	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
779	exit ;;
780    5000:UNIX_System_V:4.*:*)
781	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
782	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
783	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
784	exit ;;
785    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
786	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
787	exit ;;
788    sparc*:BSD/OS:*:*)
789	echo sparc-unknown-bsdi${UNAME_RELEASE}
790	exit ;;
791    *:BSD/OS:*:*)
792	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
793	exit ;;
794    *:FreeBSD:*:*)
795	UNAME_PROCESSOR=`/usr/bin/uname -p`
796	case ${UNAME_PROCESSOR} in
797	    amd64)
798		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
799	    *)
800		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
801	esac
802	exit ;;
803    i*:CYGWIN*:*)
804	echo ${UNAME_MACHINE}-pc-cygwin
805	exit ;;
806    *:MINGW*:*)
807	echo ${UNAME_MACHINE}-pc-mingw32
808	exit ;;
809    *:MSYS*:*)
810	echo ${UNAME_MACHINE}-pc-msys
811	exit ;;
812    i*:windows32*:*)
813	# uname -m includes "-pc" on this system.
814	echo ${UNAME_MACHINE}-mingw32
815	exit ;;
816    i*:PW*:*)
817	echo ${UNAME_MACHINE}-pc-pw32
818	exit ;;
819    *:SerenityOS:*:*)
820	echo ${UNAME_MACHINE}-pc-serenity
821	exit ;;
822    *:Interix*:*)
823	case ${UNAME_MACHINE} in
824	    x86)
825		echo i586-pc-interix${UNAME_RELEASE}
826		exit ;;
827	    authenticamd | genuineintel | EM64T)
828		echo x86_64-unknown-interix${UNAME_RELEASE}
829		exit ;;
830	    IA64)
831		echo ia64-unknown-interix${UNAME_RELEASE}
832		exit ;;
833	esac ;;
834    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
835	echo i${UNAME_MACHINE}-pc-mks
836	exit ;;
837    8664:Windows_NT:*)
838	echo x86_64-pc-mks
839	exit ;;
840    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
841	# How do we know it's Interix rather than the generic POSIX subsystem?
842	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
843	# UNAME_MACHINE based on the output of uname instead of i386?
844	echo i586-pc-interix
845	exit ;;
846    i*:UWIN*:*)
847	echo ${UNAME_MACHINE}-pc-uwin
848	exit ;;
849    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
850	echo x86_64-unknown-cygwin
851	exit ;;
852    p*:CYGWIN*:*)
853	echo powerpcle-unknown-cygwin
854	exit ;;
855    prep*:SunOS:5.*:*)
856	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
857	exit ;;
858    *:GNU:*:*)
859	# the GNU system
860	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
861	exit ;;
862    *:GNU/*:*:*)
863	# other systems with GNU libc and userland
864	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
865	exit ;;
866    i*86:Minix:*:*)
867	echo ${UNAME_MACHINE}-pc-minix
868	exit ;;
869    aarch64*:Linux:*)
870	    echo ${UNAME_MACHINE}-unknown-linux-gnu
871	exit ;;
872    alpha:Linux:*:*)
873	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
874	  EV5)   UNAME_MACHINE=alphaev5 ;;
875	  EV56)  UNAME_MACHINE=alphaev56 ;;
876	  PCA56) UNAME_MACHINE=alphapca56 ;;
877	  PCA57) UNAME_MACHINE=alphapca56 ;;
878	  EV6)   UNAME_MACHINE=alphaev6 ;;
879	  EV67)  UNAME_MACHINE=alphaev67 ;;
880	  EV68*) UNAME_MACHINE=alphaev68 ;;
881	esac
882	objdump --private-headers /bin/sh | grep -q ld.so.1
883	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
884	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
885	exit ;;
886    arm*:Linux:*:*)
887	eval $set_cc_for_build
888	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
889	    | grep -q __ARM_EABI__
890	then
891	    echo ${UNAME_MACHINE}-unknown-linux-gnu
892	else
893	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
894		| grep -q __ARM_PCS_VFP
895	    then
896		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
897	    else
898		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
899	    fi
900	fi
901	exit ;;
902    avr32*:Linux:*:*)
903	echo ${UNAME_MACHINE}-unknown-linux-gnu
904	exit ;;
905    cris:Linux:*:*)
906	echo cris-axis-linux-gnu
907	exit ;;
908    crisv32:Linux:*:*)
909	echo crisv32-axis-linux-gnu
910	exit ;;
911    frv:Linux:*:*)
912	echo frv-unknown-linux-gnu
913	exit ;;
914    i*86:Linux:*:*)
915	LIBC=gnu
916	eval $set_cc_for_build
917	sed 's/^	//' << EOF >$dummy.c
918	#ifdef __dietlibc__
919	LIBC=dietlibc
920	#endif
921EOF
922	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
923	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
924	exit ;;
925    ia64:Linux:*:*)
926	echo ${UNAME_MACHINE}-unknown-linux-gnu
927	exit ;;
928    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
929	LIBC=gnu
930	eval $set_cc_for_build
931	# Do not check for __GLIBC__ because uclibc defines it too
932	sed 's/^	//' << EOF >$dummy.c
933	#include <features.h>
934	#if defined(__UCLIBC__)
935	LIBC=uclibc
936	#elif defined(__dietlibc__)
937	LIBC=dietlibc
938	#endif
939EOF
940	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
941
942	# There is no features test macro for musl
943	# Follow the GNU's config.guess approach of
944	# checking the output of ldd
945	if command -v ldd >/dev/null && \
946		ldd --version 2>&1 | grep -q ^musl; then
947	    LIBC=musl
948	fi
949
950	echo "${UNAME_MACHINE}-unknown-linux-${LIBC}"
951	exit ;;
952    m32r*:Linux:*:*)
953	echo ${UNAME_MACHINE}-unknown-linux-gnu
954	exit ;;
955    m68*:Linux:*:*)
956	echo ${UNAME_MACHINE}-unknown-linux-gnu
957	exit ;;
958    mips:Linux:*:* | mips64:Linux:*:*)
959	eval $set_cc_for_build
960	sed 's/^	//' << EOF >$dummy.c
961	#undef CPU
962	#undef ${UNAME_MACHINE}
963	#undef ${UNAME_MACHINE}el
964	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
965	CPU=${UNAME_MACHINE}el
966	#else
967	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
968	CPU=${UNAME_MACHINE}
969	#else
970	CPU=
971	#endif
972	#endif
973EOF
974	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
975	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
976	;;
977    or32:Linux:*:*)
978	echo or32-unknown-linux-gnu
979	exit ;;
980    padre:Linux:*:*)
981	echo sparc-unknown-linux-gnu
982	exit ;;
983    parisc64:Linux:*:* | hppa64:Linux:*:*)
984	echo hppa64-unknown-linux-gnu
985	exit ;;
986    parisc:Linux:*:* | hppa:Linux:*:*)
987	# Look for CPU level
988	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
989	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
990	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
991	  *)    echo hppa-unknown-linux-gnu ;;
992	esac
993	exit ;;
994    ppc64:Linux:*:*)
995	echo powerpc64-unknown-linux-gnu
996	exit ;;
997    ppc64le:Linux:*:*)
998	echo powerpc64le-unknown-linux-gnu
999	exit ;;
1000    ppc:Linux:*:*)
1001	echo powerpc-unknown-linux-gnu
1002	exit ;;
1003    ppcle:Linux:*:*)
1004	echo powerpcle-unknown-linux-gnu
1005	exit ;;
1006    riscv32:Linux:*:* | riscv64:Linux:*:*)
1007	LIBC=gnu
1008	eval $set_cc_for_build
1009	# Do not check for __GLIBC__ because uclibc defines it too
1010	sed 's/^	//' << EOF >$dummy.c
1011	#include <features.h>
1012	#if defined(__UCLIBC__)
1013	LIBC=uclibc
1014	#elif defined(__dietlibc__)
1015	LIBC=dietlibc
1016	#endif
1017EOF
1018	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
1019
1020	# There is no features test macro for musl
1021	# Follow the GNU's config.guess approach of
1022	# checking the output of ldd
1023	if command -v ldd >/dev/null && \
1024		ldd --version 2>&1 | grep -q ^musl; then
1025	    LIBC=musl
1026	fi
1027
1028	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1029	exit ;;
1030    s390:Linux:*:* | s390x:Linux:*:*)
1031	echo ${UNAME_MACHINE}-unknown-linux-gnu
1032	exit ;;
1033    sh64*:Linux:*:*)
1034	echo ${UNAME_MACHINE}-unknown-linux-gnu
1035	exit ;;
1036    sh*:Linux:*:*)
1037	echo ${UNAME_MACHINE}-unknown-linux-gnu
1038	exit ;;
1039    sparc:Linux:*:* | sparc64:Linux:*:*)
1040	echo ${UNAME_MACHINE}-unknown-linux-gnu
1041	exit ;;
1042    tile*:Linux:*:*)
1043	echo ${UNAME_MACHINE}-unknown-linux-gnu
1044	exit ;;
1045    vax:Linux:*:*)
1046	echo ${UNAME_MACHINE}-dec-linux-gnu
1047	exit ;;
1048    x86_64:Linux:*:*)
1049	echo x86_64-unknown-linux-gnu
1050	exit ;;
1051    xtensa*:Linux:*:*)
1052	echo ${UNAME_MACHINE}-unknown-linux-gnu
1053	exit ;;
1054    i*86:DYNIX/ptx:4*:*)
1055	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1056	# earlier versions are messed up and put the nodename in both
1057	# sysname and nodename.
1058	echo i386-sequent-sysv4
1059	exit ;;
1060    i*86:UNIX_SV:4.2MP:2.*)
1061	# Unixware is an offshoot of SVR4, but it has its own version
1062	# number series starting with 2...
1063	# I am not positive that other SVR4 systems won't match this,
1064	# I just have to hope.  -- rms.
1065	# Use sysv4.2uw... so that sysv4* matches it.
1066	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1067	exit ;;
1068    i*86:OS/2:*:*)
1069	# If we were able to find `uname', then EMX Unix compatibility
1070	# is probably installed.
1071	echo ${UNAME_MACHINE}-pc-os2-emx
1072	exit ;;
1073    i*86:XTS-300:*:STOP)
1074	echo ${UNAME_MACHINE}-unknown-stop
1075	exit ;;
1076    i*86:atheos:*:*)
1077	echo ${UNAME_MACHINE}-unknown-atheos
1078	exit ;;
1079    i*86:syllable:*:*)
1080	echo ${UNAME_MACHINE}-pc-syllable
1081	exit ;;
1082    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1083	echo i386-unknown-lynxos${UNAME_RELEASE}
1084	exit ;;
1085    i*86:*DOS:*:*)
1086	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1087	exit ;;
1088    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1089	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1090	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1091		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1092	else
1093		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1094	fi
1095	exit ;;
1096    i*86:*:5:[678]*)
1097	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1098	case `/bin/uname -X | grep "^Machine"` in
1099	    *486*)	     UNAME_MACHINE=i486 ;;
1100	    *Pentium)	     UNAME_MACHINE=i586 ;;
1101	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1102	esac
1103	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1104	exit ;;
1105    i*86:*:3.2:*)
1106	if test -f /usr/options/cb.name; then
1107		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1108		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1109	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1110		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1111		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1112		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1113			&& UNAME_MACHINE=i586
1114		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1115			&& UNAME_MACHINE=i686
1116		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1117			&& UNAME_MACHINE=i686
1118		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1119	else
1120		echo ${UNAME_MACHINE}-pc-sysv32
1121	fi
1122	exit ;;
1123    pc:*:*:*)
1124	# Left here for compatibility:
1125	# uname -m prints for DJGPP always 'pc', but it prints nothing about
1126	# the processor, so we play safe by assuming i586.
1127	# Note: whatever this is, it MUST be the same as what config.sub
1128	# prints for the "djgpp" host, or else GDB configury will decide that
1129	# this is a cross-build.
1130	echo i586-pc-msdosdjgpp
1131	exit ;;
1132    Intel:Mach:3*:*)
1133	echo i386-pc-mach3
1134	exit ;;
1135    paragon:*:*:*)
1136	echo i860-intel-osf1
1137	exit ;;
1138    i860:*:4.*:*) # i860-SVR4
1139	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1140	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1141	else # Add other i860-SVR4 vendors below as they are discovered.
1142	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1143	fi
1144	exit ;;
1145    mini*:CTIX:SYS*5:*)
1146	# "miniframe"
1147	echo m68010-convergent-sysv
1148	exit ;;
1149    mc68k:UNIX:SYSTEM5:3.51m)
1150	echo m68k-convergent-sysv
1151	exit ;;
1152    M680?0:D-NIX:5.3:*)
1153	echo m68k-diab-dnix
1154	exit ;;
1155    M68*:*:R3V[5678]*:*)
1156	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1157    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1158	OS_REL=''
1159	test -r /etc/.relid \
1160	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1161	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1162	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1163	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1164	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1165    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1166	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1167	  && { echo i486-ncr-sysv4; exit; } ;;
1168    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1169	OS_REL='.3'
1170	test -r /etc/.relid \
1171	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1172	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1173	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1174	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1175	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1176	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1177	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1178    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1179	echo m68k-unknown-lynxos${UNAME_RELEASE}
1180	exit ;;
1181    mc68030:UNIX_System_V:4.*:*)
1182	echo m68k-atari-sysv4
1183	exit ;;
1184    TSUNAMI:LynxOS:2.*:*)
1185	echo sparc-unknown-lynxos${UNAME_RELEASE}
1186	exit ;;
1187    rs6000:LynxOS:2.*:*)
1188	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1189	exit ;;
1190    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1191	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1192	exit ;;
1193    SM[BE]S:UNIX_SV:*:*)
1194	echo mips-dde-sysv${UNAME_RELEASE}
1195	exit ;;
1196    RM*:ReliantUNIX-*:*:*)
1197	echo mips-sni-sysv4
1198	exit ;;
1199    RM*:SINIX-*:*:*)
1200	echo mips-sni-sysv4
1201	exit ;;
1202    *:SINIX-*:*:*)
1203	if uname -p 2>/dev/null >/dev/null ; then
1204		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1205		echo ${UNAME_MACHINE}-sni-sysv4
1206	else
1207		echo ns32k-sni-sysv
1208	fi
1209	exit ;;
1210    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1211			# says <Richard.M.Bartel@ccMail.Census.GOV>
1212	echo i586-unisys-sysv4
1213	exit ;;
1214    *:UNIX_System_V:4*:FTX*)
1215	# From Gerald Hewes <hewes@openmarket.com>.
1216	# How about differentiating between stratus architectures? -djm
1217	echo hppa1.1-stratus-sysv4
1218	exit ;;
1219    *:*:*:FTX*)
1220	# From seanf@swdc.stratus.com.
1221	echo i860-stratus-sysv4
1222	exit ;;
1223    i*86:VOS:*:*)
1224	# From Paul.Green@stratus.com.
1225	echo ${UNAME_MACHINE}-stratus-vos
1226	exit ;;
1227    *:VOS:*:*)
1228	# From Paul.Green@stratus.com.
1229	echo hppa1.1-stratus-vos
1230	exit ;;
1231    mc68*:A/UX:*:*)
1232	echo m68k-apple-aux${UNAME_RELEASE}
1233	exit ;;
1234    news*:NEWS-OS:6*:*)
1235	echo mips-sony-newsos6
1236	exit ;;
1237    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1238	if [ -d /usr/nec ]; then
1239		echo mips-nec-sysv${UNAME_RELEASE}
1240	else
1241		echo mips-unknown-sysv${UNAME_RELEASE}
1242	fi
1243	exit ;;
1244    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1245	echo powerpc-be-beos
1246	exit ;;
1247    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1248	echo powerpc-apple-beos
1249	exit ;;
1250    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1251	echo i586-pc-beos
1252	exit ;;
1253    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1254	echo i586-pc-haiku
1255	exit ;;
1256    x86_64:Haiku:*:*) # Haiku running on x86_64.
1257	echo x86_64-unknown-haiku
1258	exit ;;
1259    SX-4:SUPER-UX:*:*)
1260	echo sx4-nec-superux${UNAME_RELEASE}
1261	exit ;;
1262    SX-5:SUPER-UX:*:*)
1263	echo sx5-nec-superux${UNAME_RELEASE}
1264	exit ;;
1265    SX-6:SUPER-UX:*:*)
1266	echo sx6-nec-superux${UNAME_RELEASE}
1267	exit ;;
1268    SX-7:SUPER-UX:*:*)
1269	echo sx7-nec-superux${UNAME_RELEASE}
1270	exit ;;
1271    SX-8:SUPER-UX:*:*)
1272	echo sx8-nec-superux${UNAME_RELEASE}
1273	exit ;;
1274    SX-8R:SUPER-UX:*:*)
1275	echo sx8r-nec-superux${UNAME_RELEASE}
1276	exit ;;
1277    Power*:Rhapsody:*:*)
1278	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1279	exit ;;
1280    *:Rhapsody:*:*)
1281	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1282	exit ;;
1283    *:Darwin:*:*)
1284	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1285	case $UNAME_PROCESSOR in
1286	    i386)
1287		eval $set_cc_for_build
1288		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1289		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1290		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1291		      grep IS_64BIT_ARCH >/dev/null
1292		  then
1293		      UNAME_PROCESSOR="x86_64"
1294		  fi
1295		fi ;;
1296		arm)
1297		eval $set_cc_for_build
1298		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1299			if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1300				(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1301				grep IS_64BIT_ARCH >/dev/null
1302			then
1303				if (echo '#ifdef __PTRAUTH_INTRINSICS__'; echo HAS_AUTH; echo '#endif') | \
1304					(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1305					grep HAS_AUTH >/dev/null
1306				then
1307					UNAME_PROCESSOR="arm64e"
1308				else
1309					UNAME_PROCESSOR="arm64"
1310				fi
1311			fi
1312		fi ;;
1313	    unknown) UNAME_PROCESSOR=powerpc ;;
1314	esac
1315	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1316	exit ;;
1317    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1318	UNAME_PROCESSOR=`uname -p`
1319	if test "$UNAME_PROCESSOR" = "x86"; then
1320		UNAME_PROCESSOR=i386
1321		UNAME_MACHINE=pc
1322	fi
1323	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1324	exit ;;
1325    *:QNX:*:4*)
1326	echo i386-pc-qnx
1327	exit ;;
1328    NEO-?:NONSTOP_KERNEL:*:*)
1329	echo neo-tandem-nsk${UNAME_RELEASE}
1330	exit ;;
1331    NSE-?:NONSTOP_KERNEL:*:*)
1332	echo nse-tandem-nsk${UNAME_RELEASE}
1333	exit ;;
1334    NSR-?:NONSTOP_KERNEL:*:*)
1335	echo nsr-tandem-nsk${UNAME_RELEASE}
1336	exit ;;
1337    *:NonStop-UX:*:*)
1338	echo mips-compaq-nonstopux
1339	exit ;;
1340    BS2000:POSIX*:*:*)
1341	echo bs2000-siemens-sysv
1342	exit ;;
1343    DS/*:UNIX_System_V:*:*)
1344	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1345	exit ;;
1346    *:Plan9:*:*)
1347	# "uname -m" is not consistent, so use $cputype instead. 386
1348	# is converted to i386 for consistency with other x86
1349	# operating systems.
1350	if test "$cputype" = "386"; then
1351	    UNAME_MACHINE=i386
1352	else
1353	    UNAME_MACHINE="$cputype"
1354	fi
1355	echo ${UNAME_MACHINE}-unknown-plan9
1356	exit ;;
1357    *:TOPS-10:*:*)
1358	echo pdp10-unknown-tops10
1359	exit ;;
1360    *:TENEX:*:*)
1361	echo pdp10-unknown-tenex
1362	exit ;;
1363    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1364	echo pdp10-dec-tops20
1365	exit ;;
1366    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1367	echo pdp10-xkl-tops20
1368	exit ;;
1369    *:TOPS-20:*:*)
1370	echo pdp10-unknown-tops20
1371	exit ;;
1372    *:ITS:*:*)
1373	echo pdp10-unknown-its
1374	exit ;;
1375    SEI:*:*:SEIUX)
1376	echo mips-sei-seiux${UNAME_RELEASE}
1377	exit ;;
1378    *:DragonFly:*:*)
1379	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1380	exit ;;
1381    *:*VMS:*:*)
1382	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1383	case "${UNAME_MACHINE}" in
1384	    A*) echo alpha-dec-vms ; exit ;;
1385	    I*) echo ia64-dec-vms ; exit ;;
1386	    V*) echo vax-dec-vms ; exit ;;
1387	esac ;;
1388    *:XENIX:*:SysV)
1389	echo i386-pc-xenix
1390	exit ;;
1391    i*86:skyos:*:*)
1392	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1393	exit ;;
1394    i*86:rdos:*:*)
1395	echo ${UNAME_MACHINE}-pc-rdos
1396	exit ;;
1397    i*86:AROS:*:*)
1398	echo ${UNAME_MACHINE}-pc-aros
1399	exit ;;
1400esac
1401
1402#echo '(No uname command or uname output not recognized.)' 1>&2
1403#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1404
1405eval $set_cc_for_build
1406cat >$dummy.c <<EOF
1407#ifdef _SEQUENT_
1408# include <sys/types.h>
1409# include <sys/utsname.h>
1410#endif
1411main ()
1412{
1413#if defined (sony)
1414#if defined (MIPSEB)
1415  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1416     I don't know....  */
1417  printf ("mips-sony-bsd\n"); exit (0);
1418#else
1419#include <sys/param.h>
1420  printf ("m68k-sony-newsos%s\n",
1421#ifdef NEWSOS4
1422	"4"
1423#else
1424	""
1425#endif
1426	); exit (0);
1427#endif
1428#endif
1429
1430#if defined (__arm) && defined (__acorn) && defined (__unix)
1431  printf ("arm-acorn-riscix\n"); exit (0);
1432#endif
1433
1434#if defined (hp300) && !defined (hpux)
1435  printf ("m68k-hp-bsd\n"); exit (0);
1436#endif
1437
1438#if defined (NeXT)
1439#if !defined (__ARCHITECTURE__)
1440#define __ARCHITECTURE__ "m68k"
1441#endif
1442  int version;
1443  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1444  if (version < 4)
1445    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1446  else
1447    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1448  exit (0);
1449#endif
1450
1451#if defined (MULTIMAX) || defined (n16)
1452#if defined (UMAXV)
1453  printf ("ns32k-encore-sysv\n"); exit (0);
1454#else
1455#if defined (CMU)
1456  printf ("ns32k-encore-mach\n"); exit (0);
1457#else
1458  printf ("ns32k-encore-bsd\n"); exit (0);
1459#endif
1460#endif
1461#endif
1462
1463#if defined (__386BSD__)
1464  printf ("i386-pc-bsd\n"); exit (0);
1465#endif
1466
1467#if defined (sequent)
1468#if defined (i386)
1469  printf ("i386-sequent-dynix\n"); exit (0);
1470#endif
1471#if defined (ns32000)
1472  printf ("ns32k-sequent-dynix\n"); exit (0);
1473#endif
1474#endif
1475
1476#if defined (_SEQUENT_)
1477    struct utsname un;
1478
1479    uname(&un);
1480
1481    if (strncmp(un.version, "V2", 2) == 0) {
1482	printf ("i386-sequent-ptx2\n"); exit (0);
1483    }
1484    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1485	printf ("i386-sequent-ptx1\n"); exit (0);
1486    }
1487    printf ("i386-sequent-ptx\n"); exit (0);
1488
1489#endif
1490
1491#if defined (vax)
1492# if !defined (ultrix)
1493#  include <sys/param.h>
1494#  if defined (BSD)
1495#   if BSD == 43
1496      printf ("vax-dec-bsd4.3\n"); exit (0);
1497#   else
1498#    if BSD == 199006
1499      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1500#    else
1501      printf ("vax-dec-bsd\n"); exit (0);
1502#    endif
1503#   endif
1504#  else
1505    printf ("vax-dec-bsd\n"); exit (0);
1506#  endif
1507# else
1508    printf ("vax-dec-ultrix\n"); exit (0);
1509# endif
1510#endif
1511
1512#if defined (alliant) && defined (i860)
1513  printf ("i860-alliant-bsd\n"); exit (0);
1514#endif
1515
1516  exit (1);
1517}
1518EOF
1519
1520$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1521	{ echo "$SYSTEM_NAME"; exit; }
1522
1523# Apollos put the system type in the environment.
1524
1525test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1526
1527# Convex versions that predate uname can use getsysinfo(1)
1528
1529if [ -x /usr/convex/getsysinfo ]
1530then
1531    case `getsysinfo -f cpu_type` in
1532    c1*)
1533	echo c1-convex-bsd
1534	exit ;;
1535    c2*)
1536	if getsysinfo -f scalar_acc
1537	then echo c32-convex-bsd
1538	else echo c2-convex-bsd
1539	fi
1540	exit ;;
1541    c34*)
1542	echo c34-convex-bsd
1543	exit ;;
1544    c38*)
1545	echo c38-convex-bsd
1546	exit ;;
1547    c4*)
1548	echo c4-convex-bsd
1549	exit ;;
1550    esac
1551fi
1552
1553cat >&2 <<EOF
1554$0: unable to guess system type
1555
1556This script, last modified $timestamp, has failed to recognize
1557the operating system you are using. It is advised that you
1558download the most up to date version of the config scripts from
1559
1560  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1561and
1562  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1563
1564If the version you run ($0) is already up to date, please
1565send the following data and any information you think might be
1566pertinent to <config-patches@gnu.org> in order to provide the needed
1567information to handle your system.
1568
1569config.guess timestamp = $timestamp
1570
1571uname -m = `(uname -m) 2>/dev/null || echo unknown`
1572uname -r = `(uname -r) 2>/dev/null || echo unknown`
1573uname -s = `(uname -s) 2>/dev/null || echo unknown`
1574uname -v = `(uname -v) 2>/dev/null || echo unknown`
1575
1576/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1577/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1578
1579hostinfo               = `(hostinfo) 2>/dev/null`
1580/bin/universe          = `(/bin/universe) 2>/dev/null`
1581/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1582/bin/arch              = `(/bin/arch) 2>/dev/null`
1583/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1584/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1585
1586UNAME_MACHINE = ${UNAME_MACHINE}
1587UNAME_RELEASE = ${UNAME_RELEASE}
1588UNAME_SYSTEM  = ${UNAME_SYSTEM}
1589UNAME_VERSION = ${UNAME_VERSION}
1590EOF
1591
1592exit 1
1593
1594# Local variables:
1595# eval: (add-hook 'write-file-hooks 'time-stamp)
1596# time-stamp-start: "timestamp='"
1597# time-stamp-format: "%:y-%02m-%02d"
1598# time-stamp-end: "'"
1599# End:
1600