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