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