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