]> git.ipfire.org Git - thirdparty/bash.git/blame - support/config.guess
bash-4.3-rc2 overlay
[thirdparty/bash.git] / support / config.guess
CommitLineData
ccc6cda3
JA
1#! /bin/sh
2# Attempt to guess a canonical system name.
b6e23235 3# Copyright 1992-2013 Free Software Foundation, Inc.
7117c2d2 4
b6e23235 5timestamp='2013-11-29'
7117c2d2 6
ccc6cda3
JA
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
b6e23235 9# the Free Software Foundation; either version 3 of the License, or
ccc6cda3
JA
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
1442f67c 18# along with this program; if not, see <http://www.gnu.org/licenses/>.
ccc6cda3
JA
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
b6e23235
CR
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").
ccc6cda3 26#
b6e23235 27# Originally written by Per Bothner.
ccc6cda3 28#
1442f67c
CR
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
b6e23235
CR
31#
32# Please send patches with a ChangeLog entry to config-patches@gnu.org.
33
7117c2d2
JA
34
35me=`echo "$0" | sed -e 's,.*/,,'`
36
37usage="\
38Usage: $0 [OPTION]
39
40Output the configuration name of the system \`$me' is run on.
41
42Operation modes:
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.
b6e23235 53Copyright 1992-2013 Free Software Foundation, Inc.
7117c2d2
JA
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."
57
58help="
59Try \`$me --help' for more information."
60
61# Parse command line
62while test $# -gt 0 ; do
63 case $1 in
64 --time-stamp | --time* | -t )
dd4f3dd8 65 echo "$timestamp" ; exit ;;
7117c2d2 66 --version | -v )
dd4f3dd8 67 echo "$version" ; exit ;;
7117c2d2 68 --help | --h* | -h )
dd4f3dd8 69 echo "$usage"; exit ;;
7117c2d2
JA
70 -- ) # Stop option processing
71 shift; break ;;
72 - ) # Use stdin as input.
73 break ;;
74 -* )
75 echo "$me: invalid option $1$help" >&2
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
bb70624e
JA
85fi
86
d3a24ed2 87trap 'exit 1' 1 2 15
7117c2d2 88
d3a24ed2
CR
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.
7117c2d2 93
7117c2d2
JA
94# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
95# use `HOST_CC' if defined, but it is deprecated.
96
dd4f3dd8 97# Portable tmp directory creation inspired by the Autoconf team.
d3a24ed2 98
dd4f3dd8
CR
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} ;
103 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
104 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
105 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
106 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
107dummy=$tmp/dummy ;
108tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
d3a24ed2
CR
109case $CC_FOR_BUILD,$HOST_CC,$CC in
110 ,,) echo "int x;" > $dummy.c ;
7117c2d2 111 for c in cc gcc c89 c99 ; do
d3a24ed2 112 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
7117c2d2
JA
113 CC_FOR_BUILD="$c"; break ;
114 fi ;
115 done ;
7117c2d2
JA
116 if test x"$CC_FOR_BUILD" = x ; then
117 CC_FOR_BUILD=no_compiler_found ;
118 fi
119 ;;
120 ,,*) CC_FOR_BUILD=$CC ;;
121 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
dd4f3dd8 122esac ; set_cc_for_build= ;'
7117c2d2 123
ccc6cda3 124# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
7117c2d2 125# (ghazi@noc.rutgers.edu 1994-08-24)
ccc6cda3
JA
126if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
127 PATH=$PATH:/.attbin ; export PATH
ccc6cda3
JA
128fi
129
d166f048
JA
130UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
131UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
7117c2d2 132UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
d166f048 133UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
ccc6cda3 134
b6e23235
CR
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
ccc6cda3
JA
156# Note: order is significant - the case branches are not exclusive.
157
158case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
7117c2d2
JA
159 *:NetBSD:*:*)
160 # NetBSD (nbsd) targets should (where applicable) match one or
1442f67c 161 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
7117c2d2
JA
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.
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
d3a24ed2 174 armeb) machine=armeb-unknown ;;
7117c2d2
JA
175 arm*) machine=arm-unknown ;;
176 sh3el) machine=shl-unknown ;;
177 sh3eb) machine=sh-unknown ;;
dd4f3dd8 178 sh5el) machine=sh5le-unknown ;;
7117c2d2
JA
179 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
180 esac
181 # The Operating System including object format, if it has switched
182 # to ELF recently, or will in the future.
183 case "${UNAME_MACHINE_ARCH}" in
184 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
185 eval $set_cc_for_build
186 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
1442f67c 187 | grep -q __ELF__
7117c2d2
JA
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 *)
1442f67c 197 os=netbsd
7117c2d2
JA
198 ;;
199 esac
200 # The OS release
d3a24ed2
CR
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
7117c2d2
JA
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}"
dd4f3dd8 217 exit ;;
b6e23235
CR
218 *:Bitrig:*:*)
219 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
220 echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
221 exit ;;
7117c2d2 222 *:OpenBSD:*:*)
dd4f3dd8
CR
223 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
224 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
225 exit ;;
226 *:ekkoBSD:*:*)
227 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
228 exit ;;
229 *:SolidBSD:*:*)
230 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
231 exit ;;
232 macppc:MirBSD:*:*)
233 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
234 exit ;;
235 *:MirBSD:*:*)
236 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
237 exit ;;
d166f048 238 alpha:OSF1:*:*)
dd4f3dd8
CR
239 case $UNAME_RELEASE in
240 *4.0)
cce855bc 241 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
dd4f3dd8
CR
242 ;;
243 *5.*)
1442f67c 244 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
dd4f3dd8
CR
245 ;;
246 esac
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
284 # A Pn.n version is a patched version.
d166f048
JA
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.
288 # 1.2 uses "1.2" for uname -r.
dd4f3dd8 289 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
1442f67c
CR
290 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
291 exitcode=$?
292 trap '' 0
293 exit $exitcode ;;
bb70624e 294 Alpha\ *:Windows_NT*:*)
7117c2d2
JA
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
dd4f3dd8 299 exit ;;
ccc6cda3
JA
300 21064:Windows_NT:50:3)
301 echo alpha-dec-winnt3.5
dd4f3dd8 302 exit ;;
d166f048 303 Amiga*:UNIX_System_V:4.0:*)
7117c2d2 304 echo m68k-unknown-sysv4
dd4f3dd8 305 exit ;;
b72432fd
JA
306 *:[Aa]miga[Oo][Ss]:*:*)
307 echo ${UNAME_MACHINE}-unknown-amigaos
dd4f3dd8 308 exit ;;
7117c2d2
JA
309 *:[Mm]orph[Oo][Ss]:*:*)
310 echo ${UNAME_MACHINE}-unknown-morphos
dd4f3dd8 311 exit ;;
7117c2d2
JA
312 *:OS/390:*:*)
313 echo i370-ibm-openedition
dd4f3dd8
CR
314 exit ;;
315 *:z/VM:*:*)
316 echo s390-ibm-zvmoe
317 exit ;;
318 *:OS400:*:*)
1442f67c 319 echo powerpc-ibm-os400
dd4f3dd8 320 exit ;;
ccc6cda3
JA
321 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
322 echo arm-acorn-riscix${UNAME_RELEASE}
dd4f3dd8 323 exit ;;
b6e23235 324 arm*:riscos:*:*|arm*:RISCOS:*:*)
dd4f3dd8
CR
325 echo arm-unknown-riscos
326 exit ;;
7117c2d2 327 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
cce855bc 328 echo hppa1.1-hitachi-hiuxmpp
dd4f3dd8 329 exit ;;
bb70624e 330 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
d166f048 331 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
ccc6cda3
JA
332 if test "`(/bin/universe) 2>/dev/null`" = att ; then
333 echo pyramid-pyramid-sysv3
334 else
335 echo pyramid-pyramid-bsd
336 fi
dd4f3dd8 337 exit ;;
7117c2d2 338 NILE*:*:*:dcosx)
d166f048 339 echo pyramid-pyramid-svr4
dd4f3dd8
CR
340 exit ;;
341 DRS?6000:unix:4.0:6*)
342 echo sparc-icl-nx6
343 exit ;;
344 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
d3a24ed2 345 case `/usr/bin/uname -p` in
dd4f3dd8 346 sparc) echo sparc-icl-nx7; exit ;;
d3a24ed2 347 esac ;;
1442f67c
CR
348 s390x:SunOS:*:*)
349 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
350 exit ;;
bb70624e 351 sun4H:SunOS:5.*:*)
7117c2d2 352 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
dd4f3dd8 353 exit ;;
ccc6cda3
JA
354 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
355 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
dd4f3dd8 356 exit ;;
1442f67c
CR
357 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
358 echo i386-pc-auroraux${UNAME_RELEASE}
359 exit ;;
dd4f3dd8 360 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
1442f67c
CR
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/[^.]*//'`
dd4f3dd8 375 exit ;;
ccc6cda3
JA
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/[^.]*//'`
dd4f3dd8 381 exit ;;
ccc6cda3
JA
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/-/_/'`
dd4f3dd8 390 exit ;;
bb70624e 391 sun3*:SunOS:*:*)
ccc6cda3 392 echo m68k-sun-sunos${UNAME_RELEASE}
dd4f3dd8 393 exit ;;
cce855bc 394 sun*:*:4.2BSD:*)
7117c2d2 395 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
cce855bc
JA
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
dd4f3dd8 405 exit ;;
ccc6cda3 406 aushp:SunOS:*:*)
d166f048 407 echo sparc-auspex-sunos${UNAME_RELEASE}
dd4f3dd8 408 exit ;;
bb70624e
JA
409 # The situation for MiNT is a little confusing. The machine name
410 # can be virtually everything (everything which is not
7117c2d2 411 # "atarist" or "atariste" at least should have a processor
bb70624e
JA
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:*:*)
1442f67c 418 echo m68k-atari-mint${UNAME_RELEASE}
dd4f3dd8 419 exit ;;
bb70624e 420 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
7117c2d2 421 echo m68k-atari-mint${UNAME_RELEASE}
1442f67c 422 exit ;;
bb70624e 423 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
1442f67c 424 echo m68k-atari-mint${UNAME_RELEASE}
dd4f3dd8 425 exit ;;
bb70624e 426 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
1442f67c
CR
427 echo m68k-milan-mint${UNAME_RELEASE}
428 exit ;;
bb70624e 429 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
1442f67c
CR
430 echo m68k-hades-mint${UNAME_RELEASE}
431 exit ;;
bb70624e 432 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
1442f67c
CR
433 echo m68k-unknown-mint${UNAME_RELEASE}
434 exit ;;
dd4f3dd8
CR
435 m68k:machten:*:*)
436 echo m68k-apple-machten${UNAME_RELEASE}
437 exit ;;
d166f048
JA
438 powerpc:machten:*:*)
439 echo powerpc-apple-machten${UNAME_RELEASE}
dd4f3dd8 440 exit ;;
d166f048
JA
441 RISC*:Mach:*:*)
442 echo mips-dec-mach_bsd4.3
dd4f3dd8 443 exit ;;
d166f048
JA
444 RISC*:ULTRIX:*:*)
445 echo mips-dec-ultrix${UNAME_RELEASE}
dd4f3dd8 446 exit ;;
d166f048
JA
447 VAX*:ULTRIX*:*:*)
448 echo vax-dec-ultrix${UNAME_RELEASE}
dd4f3dd8 449 exit ;;
bb70624e 450 2020:CLIX:*:* | 2430:CLIX:*:*)
cce855bc 451 echo clipper-intergraph-clix${UNAME_RELEASE}
dd4f3dd8 452 exit ;;
ccc6cda3 453 mips:*:*:UMIPS | mips:*:*:RISCos)
7117c2d2 454 eval $set_cc_for_build
bb70624e
JA
455 sed 's/^ //' << EOF >$dummy.c
456#ifdef __cplusplus
7117c2d2 457#include <stdio.h> /* for printf() prototype */
bb70624e
JA
458 int main (int argc, char *argv[]) {
459#else
460 int main (argc, argv) int argc; char *argv[]; {
461#endif
d166f048
JA
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 }
ccc6cda3 475EOF
dd4f3dd8
CR
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; }
d166f048 480 echo mips-mips-riscos${UNAME_RELEASE}
dd4f3dd8 481 exit ;;
7117c2d2
JA
482 Motorola:PowerMAX_OS:*:*)
483 echo powerpc-motorola-powermax
dd4f3dd8 484 exit ;;
d3a24ed2
CR
485 Motorola:*:4.3:PL8-*)
486 echo powerpc-harris-powermax
dd4f3dd8 487 exit ;;
d3a24ed2
CR
488 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
489 echo powerpc-harris-powermax
dd4f3dd8 490 exit ;;
ccc6cda3 491 Night_Hawk:Power_UNIX:*:*)
cce855bc 492 echo powerpc-harris-powerunix
dd4f3dd8 493 exit ;;
ccc6cda3
JA
494 m88k:CX/UX:7*:*)
495 echo m88k-harris-cxux7
dd4f3dd8 496 exit ;;
ccc6cda3
JA
497 m88k:*:4*:R4*)
498 echo m88k-motorola-sysv4
dd4f3dd8 499 exit ;;
ccc6cda3
JA
500 m88k:*:3*:R3*)
501 echo m88k-motorola-sysv3
dd4f3dd8 502 exit ;;
ccc6cda3 503 AViiON:dgux:*:*)
1442f67c
CR
504 # DG/UX returns AViiON for all architectures
505 UNAME_PROCESSOR=`/usr/bin/uname -p`
7117c2d2
JA
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
ccc6cda3 511 echo m88k-dg-dgux${UNAME_RELEASE}
7117c2d2 512 else
ccc6cda3 513 echo m88k-dg-dguxbcs${UNAME_RELEASE}
7117c2d2 514 fi
bb70624e 515 else
7117c2d2 516 echo i586-dg-dgux${UNAME_RELEASE}
d166f048 517 fi
1442f67c 518 exit ;;
ccc6cda3
JA
519 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
520 echo m88k-dolphin-sysv3
dd4f3dd8 521 exit ;;
ccc6cda3
JA
522 M88*:*:R3*:*)
523 # Delta 88k system running SVR3
524 echo m88k-motorola-sysv3
dd4f3dd8 525 exit ;;
ccc6cda3
JA
526 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
527 echo m88k-tektronix-sysv3
dd4f3dd8 528 exit ;;
ccc6cda3
JA
529 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
530 echo m68k-tektronix-bsd
dd4f3dd8 531 exit ;;
ccc6cda3
JA
532 *:IRIX*:*:*)
533 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
dd4f3dd8 534 exit ;;
ccc6cda3 535 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
dd4f3dd8
CR
536 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
537 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
7117c2d2 538 i*86:AIX:*:*)
ccc6cda3 539 echo i386-ibm-aix
dd4f3dd8 540 exit ;;
7117c2d2
JA
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}
dd4f3dd8 548 exit ;;
ccc6cda3
JA
549 *:AIX:2:3)
550 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
7117c2d2 551 eval $set_cc_for_build
bb70624e 552 sed 's/^ //' << EOF >$dummy.c
ccc6cda3
JA
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
dd4f3dd8
CR
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
ccc6cda3
JA
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
dd4f3dd8 574 exit ;;
1442f67c 575 *:AIX:*:[4567])
7117c2d2
JA
576 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
577 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
ccc6cda3
JA
578 IBM_ARCH=rs6000
579 else
580 IBM_ARCH=powerpc
581 fi
582 if [ -x /usr/bin/oslevel ] ; then
583 IBM_REV=`/usr/bin/oslevel`
ccc6cda3 584 else
7117c2d2 585 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
ccc6cda3
JA
586 fi
587 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
dd4f3dd8 588 exit ;;
ccc6cda3
JA
589 *:AIX:*:*)
590 echo rs6000-ibm-aix
dd4f3dd8 591 exit ;;
ccc6cda3
JA
592 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
593 echo romp-ibm-bsd4.4
dd4f3dd8 594 exit ;;
7117c2d2 595 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
d166f048 596 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
dd4f3dd8 597 exit ;; # report: romp-ibm BSD 4.3
ccc6cda3
JA
598 *:BOSX:*:*)
599 echo rs6000-bull-bosx
dd4f3dd8 600 exit ;;
ccc6cda3
JA
601 DPX/2?00:B.O.S.:*:*)
602 echo m68k-bull-sysv3
dd4f3dd8 603 exit ;;
ccc6cda3
JA
604 9000/[34]??:4.3bsd:1.*:*)
605 echo m68k-hp-bsd
dd4f3dd8 606 exit ;;
ccc6cda3
JA
607 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
608 echo m68k-hp-bsd4.4
dd4f3dd8 609 exit ;;
e8ce775d 610 9000/[34678]??:HP-UX:*:*)
7117c2d2 611 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
ccc6cda3 612 case "${UNAME_MACHINE}" in
7117c2d2
JA
613 9000/31? ) HP_ARCH=m68000 ;;
614 9000/[34]?? ) HP_ARCH=m68k ;;
bb70624e 615 9000/[678][0-9][0-9])
7117c2d2
JA
616 if [ -x /usr/bin/getconf ]; then
617 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
1442f67c
CR
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" ;;
7117c2d2 626 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
1442f67c
CR
627 esac ;;
628 esac
7117c2d2
JA
629 fi
630 if [ "${HP_ARCH}" = "" ]; then
631 eval $set_cc_for_build
1442f67c 632 sed 's/^ //' << EOF >$dummy.c
7117c2d2 633
1442f67c
CR
634 #define _HPUX_SOURCE
635 #include <stdlib.h>
636 #include <unistd.h>
bb70624e 637
1442f67c
CR
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);
bb70624e 644
1442f67c
CR
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 }
bb70624e 664EOF
d3a24ed2 665 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
dd4f3dd8 666 test -z "$HP_ARCH" && HP_ARCH=hppa
7117c2d2 667 fi ;;
ccc6cda3 668 esac
dd4f3dd8
CR
669 if [ ${HP_ARCH} = "hppa2.0w" ]
670 then
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) |
1442f67c 683 grep -q __LP64__
dd4f3dd8
CR
684 then
685 HP_ARCH="hppa2.0w"
686 else
687 HP_ARCH="hppa64"
688 fi
689 fi
ccc6cda3 690 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
dd4f3dd8 691 exit ;;
7117c2d2
JA
692 ia64:HP-UX:*:*)
693 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
694 echo ia64-hp-hpux${HPUX_REV}
dd4f3dd8 695 exit ;;
ccc6cda3 696 3050*:HI-UX:*:*)
7117c2d2 697 eval $set_cc_for_build
bb70624e 698 sed 's/^ //' << EOF >$dummy.c
ccc6cda3
JA
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
dd4f3dd8
CR
723 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
724 { echo "$SYSTEM_NAME"; exit; }
ccc6cda3 725 echo unknown-hitachi-hiuxwe2
dd4f3dd8 726 exit ;;
ccc6cda3
JA
727 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
728 echo hppa1.1-hp-bsd
dd4f3dd8 729 exit ;;
ccc6cda3
JA
730 9000/8??:4.3bsd:*:*)
731 echo hppa1.0-hp-bsd
dd4f3dd8 732 exit ;;
7117c2d2
JA
733 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
734 echo hppa1.0-hp-mpeix
dd4f3dd8 735 exit ;;
ccc6cda3
JA
736 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
737 echo hppa1.1-hp-osf
dd4f3dd8 738 exit ;;
ccc6cda3
JA
739 hp8??:OSF1:*:*)
740 echo hppa1.0-hp-osf
dd4f3dd8 741 exit ;;
7117c2d2 742 i*86:OSF1:*:*)
d166f048 743 if [ -x /usr/sbin/sysversion ] ; then
bb70624e 744 echo ${UNAME_MACHINE}-unknown-osf1mk
d166f048 745 else
bb70624e 746 echo ${UNAME_MACHINE}-unknown-osf1
d166f048 747 fi
dd4f3dd8 748 exit ;;
ccc6cda3
JA
749 parisc*:Lites*:*:*)
750 echo hppa1.1-hp-lites
dd4f3dd8 751 exit ;;
ccc6cda3
JA
752 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
753 echo c1-convex-bsd
1442f67c 754 exit ;;
ccc6cda3
JA
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
1442f67c 760 exit ;;
ccc6cda3
JA
761 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
762 echo c34-convex-bsd
1442f67c 763 exit ;;
ccc6cda3
JA
764 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
765 echo c38-convex-bsd
1442f67c 766 exit ;;
ccc6cda3
JA
767 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
768 echo c4-convex-bsd
1442f67c 769 exit ;;
ccc6cda3 770 CRAY*Y-MP:*:*:*)
7117c2d2 771 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
dd4f3dd8 772 exit ;;
ccc6cda3
JA
773 CRAY*[A-Z]90:*:*:*)
774 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
775 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
7117c2d2
JA
776 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
777 -e 's/\.[^.]*$/.X/'
dd4f3dd8 778 exit ;;
ccc6cda3 779 CRAY*TS:*:*:*)
7117c2d2 780 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
dd4f3dd8 781 exit ;;
7117c2d2
JA
782 CRAY*T3E:*:*:*)
783 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
dd4f3dd8 784 exit ;;
7117c2d2
JA
785 CRAY*SV1:*:*:*)
786 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
dd4f3dd8
CR
787 exit ;;
788 *:UNICOS/mp:*:*)
789 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
790 exit ;;
7117c2d2
JA
791 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
792 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
1442f67c
CR
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 ;;
dd4f3dd8 797 5000:UNIX_System_V:4.*:*)
1442f67c
CR
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}"
dd4f3dd8 801 exit ;;
7117c2d2 802 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
d166f048 803 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
dd4f3dd8 804 exit ;;
bb70624e 805 sparc*:BSD/OS:*:*)
7117c2d2 806 echo sparc-unknown-bsdi${UNAME_RELEASE}
dd4f3dd8 807 exit ;;
7117c2d2
JA
808 *:BSD/OS:*:*)
809 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
dd4f3dd8 810 exit ;;
7117c2d2 811 *:FreeBSD:*:*)
1442f67c
CR
812 UNAME_PROCESSOR=`/usr/bin/uname -p`
813 case ${UNAME_PROCESSOR} in
dd4f3dd8
CR
814 amd64)
815 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
816 *)
1442f67c 817 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
dd4f3dd8
CR
818 esac
819 exit ;;
ccc6cda3 820 i*:CYGWIN*:*)
28ef6c31 821 echo ${UNAME_MACHINE}-pc-cygwin
dd4f3dd8 822 exit ;;
b6e23235
CR
823 *:MINGW64*:*)
824 echo ${UNAME_MACHINE}-pc-mingw64
825 exit ;;
dd4f3dd8 826 *:MINGW*:*)
bb70624e 827 echo ${UNAME_MACHINE}-pc-mingw32
dd4f3dd8 828 exit ;;
1442f67c
CR
829 i*:MSYS*:*)
830 echo ${UNAME_MACHINE}-pc-msys
831 exit ;;
dd4f3dd8 832 i*:windows32*:*)
1442f67c
CR
833 # uname -m includes "-pc" on this system.
834 echo ${UNAME_MACHINE}-mingw32
dd4f3dd8 835 exit ;;
7117c2d2
JA
836 i*:PW*:*)
837 echo ${UNAME_MACHINE}-pc-pw32
dd4f3dd8 838 exit ;;
1442f67c
CR
839 *:Interix*:*)
840 case ${UNAME_MACHINE} in
dd4f3dd8
CR
841 x86)
842 echo i586-pc-interix${UNAME_RELEASE}
843 exit ;;
1442f67c 844 authenticamd | genuineintel | EM64T)
dd4f3dd8
CR
845 echo x86_64-unknown-interix${UNAME_RELEASE}
846 exit ;;
847 IA64)
848 echo ia64-unknown-interix${UNAME_RELEASE}
849 exit ;;
850 esac ;;
d3a24ed2
CR
851 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
852 echo i${UNAME_MACHINE}-pc-mks
dd4f3dd8 853 exit ;;
1442f67c
CR
854 8664:Windows_NT:*)
855 echo x86_64-pc-mks
856 exit ;;
bb70624e 857 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
7117c2d2
JA
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?
d3a24ed2 861 echo i586-pc-interix
dd4f3dd8 862 exit ;;
bb70624e 863 i*:UWIN*:*)
7117c2d2 864 echo ${UNAME_MACHINE}-pc-uwin
dd4f3dd8
CR
865 exit ;;
866 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
867 echo x86_64-unknown-cygwin
868 exit ;;
ccc6cda3 869 p*:CYGWIN*:*)
bb70624e 870 echo powerpcle-unknown-cygwin
dd4f3dd8 871 exit ;;
d166f048
JA
872 prep*:SunOS:5.*:*)
873 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
dd4f3dd8 874 exit ;;
ccc6cda3 875 *:GNU:*:*)
dd4f3dd8 876 # the GNU system
b6e23235 877 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
dd4f3dd8
CR
878 exit ;;
879 *:GNU/*:*:*)
880 # other systems with GNU libc and userland
b6e23235 881 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
dd4f3dd8 882 exit ;;
7117c2d2
JA
883 i*86:Minix:*:*)
884 echo ${UNAME_MACHINE}-pc-minix
dd4f3dd8 885 exit ;;
1442f67c 886 aarch64:Linux:*:*)
b6e23235 887 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1442f67c
CR
888 exit ;;
889 aarch64_be:Linux:*:*)
890 UNAME_MACHINE=aarch64_be
b6e23235 891 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1442f67c
CR
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
b6e23235
CR
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}
1442f67c 909 exit ;;
7117c2d2 910 arm*:Linux:*:*)
dd4f3dd8
CR
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
b6e23235 915 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8 916 else
1442f67c
CR
917 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
918 | grep -q __ARM_PCS_VFP
919 then
b6e23235 920 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
1442f67c 921 else
b6e23235 922 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
1442f67c 923 fi
dd4f3dd8
CR
924 fi
925 exit ;;
926 avr32*:Linux:*:*)
b6e23235 927 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8
CR
928 exit ;;
929 cris:Linux:*:*)
b6e23235 930 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
dd4f3dd8
CR
931 exit ;;
932 crisv32:Linux:*:*)
b6e23235 933 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
dd4f3dd8
CR
934 exit ;;
935 frv:Linux:*:*)
b6e23235 936 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1442f67c
CR
937 exit ;;
938 hexagon:Linux:*:*)
b6e23235 939 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1442f67c
CR
940 exit ;;
941 i*86:Linux:*:*)
b6e23235 942 echo ${UNAME_MACHINE}-pc-linux-${LIBC}
dd4f3dd8 943 exit ;;
7117c2d2 944 ia64:Linux:*:*)
b6e23235 945 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8
CR
946 exit ;;
947 m32r*:Linux:*:*)
b6e23235 948 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8 949 exit ;;
7117c2d2 950 m68*:Linux:*:*)
b6e23235 951 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8 952 exit ;;
1442f67c 953 mips:Linux:*:* | mips64:Linux:*:*)
d3a24ed2
CR
954 eval $set_cc_for_build
955 sed 's/^ //' << EOF >$dummy.c
956 #undef CPU
1442f67c
CR
957 #undef ${UNAME_MACHINE}
958 #undef ${UNAME_MACHINE}el
d3a24ed2 959 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
1442f67c 960 CPU=${UNAME_MACHINE}el
d3a24ed2
CR
961 #else
962 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
1442f67c 963 CPU=${UNAME_MACHINE}
d3a24ed2
CR
964 #else
965 CPU=
966 #endif
967 #endif
968EOF
1442f67c 969 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
b6e23235 970 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
7117c2d2 971 ;;
b6e23235
CR
972 or1k:Linux:*:*)
973 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
974 exit ;;
dd4f3dd8 975 or32:Linux:*:*)
b6e23235 976 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8 977 exit ;;
1442f67c 978 padre:Linux:*:*)
b6e23235 979 echo sparc-unknown-linux-${LIBC}
dd4f3dd8 980 exit ;;
1442f67c 981 parisc64:Linux:*:* | hppa64:Linux:*:*)
b6e23235 982 echo hppa64-unknown-linux-${LIBC}
dd4f3dd8 983 exit ;;
7117c2d2
JA
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
b6e23235
CR
987 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
988 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
989 *) echo hppa-unknown-linux-${LIBC} ;;
7117c2d2 990 esac
dd4f3dd8 991 exit ;;
1442f67c 992 ppc64:Linux:*:*)
b6e23235 993 echo powerpc64-unknown-linux-${LIBC}
1442f67c
CR
994 exit ;;
995 ppc:Linux:*:*)
b6e23235
CR
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}
dd4f3dd8 1003 exit ;;
7117c2d2 1004 s390:Linux:*:* | s390x:Linux:*:*)
b6e23235 1005 echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
dd4f3dd8
CR
1006 exit ;;
1007 sh64*:Linux:*:*)
b6e23235 1008 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8 1009 exit ;;
7117c2d2 1010 sh*:Linux:*:*)
b6e23235 1011 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8 1012 exit ;;
7117c2d2 1013 sparc:Linux:*:* | sparc64:Linux:*:*)
b6e23235 1014 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8 1015 exit ;;
1442f67c 1016 tile*:Linux:*:*)
b6e23235 1017 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1442f67c 1018 exit ;;
dd4f3dd8 1019 vax:Linux:*:*)
b6e23235 1020 echo ${UNAME_MACHINE}-dec-linux-${LIBC}
dd4f3dd8 1021 exit ;;
7117c2d2 1022 x86_64:Linux:*:*)
b6e23235 1023 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8
CR
1024 exit ;;
1025 xtensa*:Linux:*:*)
b6e23235 1026 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
dd4f3dd8 1027 exit ;;
7117c2d2
JA
1028 i*86:DYNIX/ptx:4*:*)
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.
ccc6cda3 1032 echo i386-sequent-sysv4
dd4f3dd8 1033 exit ;;
7117c2d2 1034 i*86:UNIX_SV:4.2MP:2.*)
1442f67c
CR
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,
cce855bc 1038 # I just have to hope. -- rms.
1442f67c 1039 # Use sysv4.2uw... so that sysv4* matches it.
cce855bc 1040 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
dd4f3dd8 1041 exit ;;
d3a24ed2
CR
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
dd4f3dd8 1046 exit ;;
d3a24ed2
CR
1047 i*86:XTS-300:*:STOP)
1048 echo ${UNAME_MACHINE}-unknown-stop
dd4f3dd8 1049 exit ;;
d3a24ed2
CR
1050 i*86:atheos:*:*)
1051 echo ${UNAME_MACHINE}-unknown-atheos
dd4f3dd8
CR
1052 exit ;;
1053 i*86:syllable:*:*)
1054 echo ${UNAME_MACHINE}-pc-syllable
1055 exit ;;
1442f67c 1056 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
d3a24ed2 1057 echo i386-unknown-lynxos${UNAME_RELEASE}
dd4f3dd8 1058 exit ;;
d3a24ed2
CR
1059 i*86:*DOS:*:*)
1060 echo ${UNAME_MACHINE}-pc-msdosdjgpp
dd4f3dd8 1061 exit ;;
7117c2d2
JA
1062 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1063 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
ccc6cda3 1064 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
7117c2d2 1065 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
ccc6cda3 1066 else
7117c2d2 1067 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
ccc6cda3 1068 fi
dd4f3dd8
CR
1069 exit ;;
1070 i*86:*:5:[678]*)
1442f67c 1071 # UnixWare 7.x, OpenUNIX and OpenServer 6.
7117c2d2
JA
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}
dd4f3dd8 1078 exit ;;
7117c2d2 1079 i*86:*:3.2:*)
ccc6cda3
JA
1080 if test -f /usr/options/cb.name; then
1081 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
d166f048 1082 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
ccc6cda3 1083 elif /bin/uname -X 2>/dev/null >/dev/null ; then
d3a24ed2
CR
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) \
ccc6cda3 1087 && UNAME_MACHINE=i586
d3a24ed2 1088 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
bb70624e 1089 && UNAME_MACHINE=i686
d3a24ed2 1090 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
bb70624e 1091 && UNAME_MACHINE=i686
d166f048 1092 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
ccc6cda3 1093 else
d166f048 1094 echo ${UNAME_MACHINE}-pc-sysv32
ccc6cda3 1095 fi
dd4f3dd8 1096 exit ;;
cce855bc 1097 pc:*:*:*)
7117c2d2 1098 # Left here for compatibility:
1442f67c
CR
1099 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1100 # the processor, so we play safe by assuming i586.
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
1105 exit ;;
ccc6cda3 1106 Intel:Mach:3*:*)
d166f048 1107 echo i386-pc-mach3
dd4f3dd8 1108 exit ;;
ccc6cda3
JA
1109 paragon:*:*:*)
1110 echo i860-intel-osf1
dd4f3dd8 1111 exit ;;
ccc6cda3
JA
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
dd4f3dd8 1118 exit ;;
ccc6cda3
JA
1119 mini*:CTIX:SYS*5:*)
1120 # "miniframe"
1121 echo m68010-convergent-sysv
dd4f3dd8 1122 exit ;;
d3a24ed2
CR
1123 mc68k:UNIX:SYSTEM5:3.51m)
1124 echo m68k-convergent-sysv
dd4f3dd8 1125 exit ;;
d3a24ed2
CR
1126 M680?0:D-NIX:5.3:*)
1127 echo m68k-diab-dnix
dd4f3dd8
CR
1128 exit ;;
1129 M68*:*:R3V[5678]*:*)
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)
ccc6cda3
JA
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 \
dd4f3dd8 1136 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
d166f048 1137 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
dd4f3dd8 1138 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
ccc6cda3 1139 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1442f67c
CR
1140 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1141 && { echo i486-ncr-sysv4; exit; } ;;
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; } ;;
7117c2d2
JA
1152 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1153 echo m68k-unknown-lynxos${UNAME_RELEASE}
dd4f3dd8 1154 exit ;;
ccc6cda3
JA
1155 mc68030:UNIX_System_V:4.*:*)
1156 echo m68k-atari-sysv4
dd4f3dd8 1157 exit ;;
ccc6cda3 1158 TSUNAMI:LynxOS:2.*:*)
d166f048 1159 echo sparc-unknown-lynxos${UNAME_RELEASE}
dd4f3dd8 1160 exit ;;
7117c2d2 1161 rs6000:LynxOS:2.*:*)
d166f048 1162 echo rs6000-unknown-lynxos${UNAME_RELEASE}
dd4f3dd8 1163 exit ;;
1442f67c 1164 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
7117c2d2 1165 echo powerpc-unknown-lynxos${UNAME_RELEASE}
dd4f3dd8 1166 exit ;;
ccc6cda3 1167 SM[BE]S:UNIX_SV:*:*)
d166f048 1168 echo mips-dde-sysv${UNAME_RELEASE}
dd4f3dd8 1169 exit ;;
7117c2d2
JA
1170 RM*:ReliantUNIX-*:*:*)
1171 echo mips-sni-sysv4
dd4f3dd8 1172 exit ;;
7117c2d2 1173 RM*:SINIX-*:*:*)
ccc6cda3 1174 echo mips-sni-sysv4
dd4f3dd8 1175 exit ;;
ccc6cda3
JA
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
dd4f3dd8 1183 exit ;;
1442f67c
CR
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 ;;
ccc6cda3 1188 *:UNIX_System_V:4*:FTX*)
d166f048
JA
1189 # From Gerald Hewes <hewes@openmarket.com>.
1190 # How about differentiating between stratus architectures? -djm
1191 echo hppa1.1-stratus-sysv4
dd4f3dd8 1192 exit ;;
ccc6cda3 1193 *:*:*:FTX*)
d166f048
JA
1194 # From seanf@swdc.stratus.com.
1195 echo i860-stratus-sysv4
dd4f3dd8
CR
1196 exit ;;
1197 i*86:VOS:*:*)
1198 # From Paul.Green@stratus.com.
1199 echo ${UNAME_MACHINE}-stratus-vos
1200 exit ;;
7117c2d2
JA
1201 *:VOS:*:*)
1202 # From Paul.Green@stratus.com.
1203 echo hppa1.1-stratus-vos
dd4f3dd8 1204 exit ;;
ccc6cda3
JA
1205 mc68*:A/UX:*:*)
1206 echo m68k-apple-aux${UNAME_RELEASE}
dd4f3dd8 1207 exit ;;
7117c2d2 1208 news*:NEWS-OS:6*:*)
cce855bc 1209 echo mips-sony-newsos6
dd4f3dd8 1210 exit ;;
7117c2d2 1211 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
ccc6cda3 1212 if [ -d /usr/nec ]; then
1442f67c 1213 echo mips-nec-sysv${UNAME_RELEASE}
ccc6cda3 1214 else
1442f67c 1215 echo mips-unknown-sysv${UNAME_RELEASE}
ccc6cda3 1216 fi
1442f67c 1217 exit ;;
7117c2d2
JA
1218 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1219 echo powerpc-be-beos
dd4f3dd8 1220 exit ;;
7117c2d2 1221 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
bb70624e 1222 echo powerpc-apple-beos
dd4f3dd8 1223 exit ;;
7117c2d2 1224 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
bb70624e 1225 echo i586-pc-beos
dd4f3dd8
CR
1226 exit ;;
1227 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1228 echo i586-pc-haiku
1229 exit ;;
b6e23235
CR
1230 x86_64:Haiku:*:*)
1231 echo x86_64-unknown-haiku
1232 exit ;;
bb70624e
JA
1233 SX-4:SUPER-UX:*:*)
1234 echo sx4-nec-superux${UNAME_RELEASE}
dd4f3dd8 1235 exit ;;
bb70624e
JA
1236 SX-5:SUPER-UX:*:*)
1237 echo sx5-nec-superux${UNAME_RELEASE}
dd4f3dd8 1238 exit ;;
d3a24ed2
CR
1239 SX-6:SUPER-UX:*:*)
1240 echo sx6-nec-superux${UNAME_RELEASE}
dd4f3dd8
CR
1241 exit ;;
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 ;;
bb70624e
JA
1251 Power*:Rhapsody:*:*)
1252 echo powerpc-apple-rhapsody${UNAME_RELEASE}
dd4f3dd8 1253 exit ;;
bb70624e
JA
1254 *:Rhapsody:*:*)
1255 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
dd4f3dd8 1256 exit ;;
28ef6c31 1257 *:Darwin:*:*)
dd4f3dd8 1258 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
b6e23235
CR
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
dd4f3dd8
CR
1284 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1285 exit ;;
7117c2d2
JA
1286 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1287 UNAME_PROCESSOR=`uname -p`
1288 if test "$UNAME_PROCESSOR" = "x86"; then
1289 UNAME_PROCESSOR=i386
1290 UNAME_MACHINE=pc
1291 fi
1292 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
dd4f3dd8 1293 exit ;;
7117c2d2
JA
1294 *:QNX:*:4*)
1295 echo i386-pc-qnx
dd4f3dd8 1296 exit ;;
1442f67c
CR
1297 NEO-?:NONSTOP_KERNEL:*:*)
1298 echo neo-tandem-nsk${UNAME_RELEASE}
1299 exit ;;
b6e23235 1300 NSE-*:NONSTOP_KERNEL:*:*)
dd4f3dd8
CR
1301 echo nse-tandem-nsk${UNAME_RELEASE}
1302 exit ;;
1303 NSR-?:NONSTOP_KERNEL:*:*)
7117c2d2 1304 echo nsr-tandem-nsk${UNAME_RELEASE}
dd4f3dd8 1305 exit ;;
7117c2d2
JA
1306 *:NonStop-UX:*:*)
1307 echo mips-compaq-nonstopux
dd4f3dd8 1308 exit ;;
7117c2d2
JA
1309 BS2000:POSIX*:*:*)
1310 echo bs2000-siemens-sysv
dd4f3dd8 1311 exit ;;
7117c2d2
JA
1312 DS/*:UNIX_System_V:*:*)
1313 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
dd4f3dd8 1314 exit ;;
7117c2d2
JA
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
dd4f3dd8 1325 exit ;;
7117c2d2
JA
1326 *:TOPS-10:*:*)
1327 echo pdp10-unknown-tops10
dd4f3dd8 1328 exit ;;
7117c2d2
JA
1329 *:TENEX:*:*)
1330 echo pdp10-unknown-tenex
dd4f3dd8 1331 exit ;;
7117c2d2
JA
1332 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1333 echo pdp10-dec-tops20
dd4f3dd8 1334 exit ;;
7117c2d2
JA
1335 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1336 echo pdp10-xkl-tops20
dd4f3dd8 1337 exit ;;
7117c2d2
JA
1338 *:TOPS-20:*:*)
1339 echo pdp10-unknown-tops20
dd4f3dd8 1340 exit ;;
7117c2d2
JA
1341 *:ITS:*:*)
1342 echo pdp10-unknown-its
dd4f3dd8
CR
1343 exit ;;
1344 SEI:*:*:SEIUX)
1442f67c 1345 echo mips-sei-seiux${UNAME_RELEASE}
dd4f3dd8
CR
1346 exit ;;
1347 *:DragonFly:*:*)
1348 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1349 exit ;;
1350 *:*VMS:*:*)
1442f67c 1351 UNAME_MACHINE=`(uname -p) 2>/dev/null`
dd4f3dd8
CR
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 ;;
1442f67c
CR
1366 i*86:AROS:*:*)
1367 echo ${UNAME_MACHINE}-pc-aros
1368 exit ;;
1369 x86_64:VMkernel:*:*)
1370 echo ${UNAME_MACHINE}-unknown-esx
1371 exit ;;
ccc6cda3
JA
1372esac
1373
7117c2d2 1374eval $set_cc_for_build
bb70624e 1375cat >$dummy.c <<EOF
ccc6cda3
JA
1376#ifdef _SEQUENT_
1377# include <sys/types.h>
1378# include <sys/utsname.h>
1379#endif
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
1442f67c 1391 "4"
ccc6cda3 1392#else
1442f67c 1393 ""
ccc6cda3 1394#endif
1442f67c 1395 ); exit (0);
ccc6cda3
JA
1396#endif
1397#endif
1398
1399#if defined (__arm) && defined (__acorn) && defined (__unix)
dd4f3dd8 1400 printf ("arm-acorn-riscix\n"); exit (0);
ccc6cda3
JA
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`;
bb70624e
JA
1413 if (version < 4)
1414 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1415 else
1416 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
ccc6cda3
JA
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__)
d166f048 1433 printf ("i386-pc-bsd\n"); exit (0);
ccc6cda3
JA
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_)
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
1458#endif
1459
1460#if defined (vax)
7117c2d2
JA
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
ccc6cda3 1473# else
7117c2d2 1474 printf ("vax-dec-bsd\n"); exit (0);
ccc6cda3 1475# endif
7117c2d2
JA
1476# else
1477 printf ("vax-dec-ultrix\n"); exit (0);
1478# endif
ccc6cda3
JA
1479#endif
1480
7117c2d2
JA
1481#if defined (alliant) && defined (i860)
1482 printf ("i860-alliant-bsd\n"); exit (0);
ccc6cda3
JA
1483#endif
1484
1485 exit (1);
1486}
1487EOF
1488
dd4f3dd8
CR
1489$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1490 { echo "$SYSTEM_NAME"; exit; }
ccc6cda3
JA
1491
1492# Apollos put the system type in the environment.
1493
dd4f3dd8 1494test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
ccc6cda3
JA
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
dd4f3dd8 1503 exit ;;
ccc6cda3
JA
1504 c2*)
1505 if getsysinfo -f scalar_acc
1506 then echo c32-convex-bsd
1507 else echo c2-convex-bsd
1508 fi
dd4f3dd8 1509 exit ;;
ccc6cda3
JA
1510 c34*)
1511 echo c34-convex-bsd
dd4f3dd8 1512 exit ;;
ccc6cda3
JA
1513 c38*)
1514 echo c38-convex-bsd
dd4f3dd8 1515 exit ;;
ccc6cda3
JA
1516 c4*)
1517 echo c4-convex-bsd
dd4f3dd8 1518 exit ;;
ccc6cda3
JA
1519 esac
1520fi
1521
7117c2d2
JA
1522cat >&2 <<EOF
1523$0: unable to guess system type
1524
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
1528
dd4f3dd8
CR
1529 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1530and
1531 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
7117c2d2
JA
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
1538config.guess timestamp = $timestamp
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
ccc6cda3
JA
1560
1561exit 1
7117c2d2
JA
1562
1563# Local variables:
1564# eval: (add-hook 'write-file-hooks 'time-stamp)
1565# time-stamp-start: "timestamp='"
1566# time-stamp-format: "%:y-%02m-%02d"
1567# time-stamp-end: "'"
1568# End: