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