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