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