*** empty log message ***
[bpt/emacs.git] / config.guess
CommitLineData
86505919 1#! /bin/sh
764954ef 2# Attempt to guess a canonical system name.
4e405419
PE
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4# 2000, 2001, 2002 Free Software Foundation, Inc.
40583571 5
4e405419 6timestamp='2002-05-22'
40583571 7
f629b14c
RM
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
6e4bd6ae 20# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
764954ef
DM
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.
f629b14c 26
4e405419
PE
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.
f629b14c 30#
8760d5df 31# This script attempts to guess a canonical system name similar to
f3ec183e
RK
32# config.sub. If it succeeds, it prints the system name on stdout, and
33# exits with 0. Otherwise, it exits with 1.
f629b14c
RM
34#
35# The plan is that this can be called by configure scripts if you
4e405419 36# don't specify an explicit build system type.
f629b14c 37
40583571
DL
38me=`echo "$0" | sed -e 's,.*/,,'`
39
40usage="\
41Usage: $0 [OPTION]
42
4e405419 43Output the configuration name of the system \`$me' is run on.
40583571
DL
44
45Operation modes:
4e405419
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.
56Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
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."
40583571
DL
61
62help="
63Try \`$me --help' for more information."
64
65# Parse command line
66while test $# -gt 0 ; do
4e405419
PE
67 case $1 in
68 --time-stamp | --time* | -t )
69 echo "$timestamp" ; exit 0 ;;
70 --version | -v )
40583571
DL
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 -* )
4e405419 79 echo "$me: invalid option $1$help" >&2
40583571
DL
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
91
92dummy=dummy-$$
4e405419 93trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
40583571 94
4e405419
PE
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.
68f39654 98
4e405419
PE
99set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
100 ,,) echo "int dummy(){}" > $dummy.c ;
101 for c in cc gcc c89 c99 ; do
102 ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103 if test $? = 0 ; then
104 CC_FOR_BUILD="$c"; break ;
105 fi ;
106 done ;
107 rm -f $dummy.c $dummy.o $dummy.rel ;
108 if test x"$CC_FOR_BUILD" = x ; then
109 CC_FOR_BUILD=no_compiler_found ;
110 fi
111 ;;
112 ,,*) CC_FOR_BUILD=$CC ;;
113 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
114esac'
68f39654 115
6e9495ec 116# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
4e405419 117# (ghazi@noc.rutgers.edu 1994-08-24)
6e9495ec
RS
118if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
119 PATH=$PATH:/.attbin ; export PATH
120fi
121
f629b14c
RM
122UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
123UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
4e405419 124UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
f629b14c
RM
125UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
126
127# Note: order is significant - the case branches are not exclusive.
128
129case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
3a27fa96 130 *:NetBSD:*:*)
4e405419 131 # NetBSD (nbsd) targets should (where applicable) match one or
3a27fa96
GM
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.
4e405419
PE
138 #
139 # Note: NetBSD doesn't particularly care about the vendor
140 # portion of the name. We always set it to "unknown".
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)`
144 case "${UNAME_MACHINE_ARCH}" in
145 armeb) machine=armeb-unknown ;;
146 arm*) machine=arm-unknown ;;
147 sh3el) machine=shl-unknown ;;
148 sh3eb) machine=sh-unknown ;;
149 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
150 esac
151 # The Operating System including object format, if it has switched
152 # to ELF recently, or will in the future.
153 case "${UNAME_MACHINE_ARCH}" in
154 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
155 eval $set_cc_for_build
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 ;;
3a27fa96 169 esac
3a27fa96
GM
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 ;;
4e405419
PE
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 ;;
cb94a3da 216 alpha:OSF1:*:*)
42551188
RK
217 if test $UNAME_RELEASE = "V4.0"; then
218 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
219 fi
8380f562
PB
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.
f3ec183e 223 # 1.2 uses "1.2" for uname -r.
72e8143c 224 cat <<EOF >$dummy.s
3a27fa96
GM
225 .data
226\$Lformat:
227 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
228
229 .text
13c482f1 230 .globl main
3a27fa96 231 .align 4
13c482f1
RK
232 .ent main
233main:
3a27fa96
GM
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
13c482f1
RK
247 .end main
248EOF
4e405419 249 eval $set_cc_for_build
68f39654 250 $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
13c482f1 251 if test "$?" = 0 ; then
3a27fa96
GM
252 case `./$dummy` in
253 0-0)
5773304a
RK
254 UNAME_MACHINE="alpha"
255 ;;
3a27fa96 256 1-0)
13c482f1
RK
257 UNAME_MACHINE="alphaev5"
258 ;;
3a27fa96 259 1-1)
13c482f1
RK
260 UNAME_MACHINE="alphaev56"
261 ;;
3a27fa96 262 1-101)
5773304a
RK
263 UNAME_MACHINE="alphapca56"
264 ;;
3a27fa96 265 2-303)
5773304a
RK
266 UNAME_MACHINE="alphaev6"
267 ;;
3a27fa96
GM
268 2-307)
269 UNAME_MACHINE="alphaev67"
270 ;;
4e405419
PE
271 2-1307)
272 UNAME_MACHINE="alphaev68"
273 ;;
13c482f1
RK
274 esac
275 fi
72e8143c 276 rm -f $dummy.s $dummy
c3b4b83f
BE
277 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
278 exit 0 ;;
279 Alpha\ *:Windows_NT*:*)
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?
283 echo alpha-pc-interix
8380f562 284 exit 0 ;;
be67270a
RK
285 21064:Windows_NT:50:3)
286 echo alpha-dec-winnt3.5
287 exit 0 ;;
1b8f42ec 288 Amiga*:UNIX_System_V:4.0:*)
40583571 289 echo m68k-unknown-sysv4
1b8f42ec 290 exit 0;;
05b0d692
RS
291 *:[Aa]miga[Oo][Ss]:*:*)
292 echo ${UNAME_MACHINE}-unknown-amigaos
293 exit 0 ;;
4e405419
PE
294 *:[Mm]orph[Oo][Ss]:*:*)
295 echo ${UNAME_MACHINE}-unknown-morphos
c219c2a0 296 exit 0 ;;
3a27fa96
GM
297 *:OS/390:*:*)
298 echo i370-ibm-openedition
299 exit 0 ;;
f3ec183e
RK
300 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
301 echo arm-acorn-riscix${UNAME_RELEASE}
302 exit 0;;
4e405419 303 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
32ec095a
DM
304 echo hppa1.1-hitachi-hiuxmpp
305 exit 0;;
c3b4b83f 306 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
dd1aafd0 307 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
6e9495ec
RS
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 ;;
72e8143c 314 NILE*:*:*:dcosx)
dd1aafd0
DM
315 echo pyramid-pyramid-svr4
316 exit 0 ;;
2d67f1e9
RK
317 sun4H:SunOS:5.*:*)
318 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
319 exit 0 ;;
d4d94b76 320 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
8760d5df
JB
321 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
322 exit 0 ;;
01d8fc64 323 i86pc:SunOS:5.*:*)
0f419363 324 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
01d8fc64 325 exit 0 ;;
8760d5df
JB
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/[^.]*//'`
f629b14c
RM
331 exit 0 ;;
332 sun4*:SunOS:*:*)
df6cf70c
RK
333 case "`/usr/bin/arch -k`" in
334 Series*|S4*)
335 UNAME_RELEASE=`uname -v`
336 ;;
337 esac
bbc3f190
PB
338 # Japanese Language versions have a version number like `4.1.3-JL'.
339 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
f629b14c
RM
340 exit 0 ;;
341 sun3*:SunOS:*:*)
342 echo m68k-sun-sunos${UNAME_RELEASE}
343 exit 0 ;;
feb1ff7f 344 sun*:*:4.2BSD:*)
4e405419 345 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
feb1ff7f 346 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
24902ecd 347 case "`/bin/arch`" in
feb1ff7f
PB
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 ;;
d4d94b76
PB
356 aushp:SunOS:*:*)
357 echo sparc-auspex-sunos${UNAME_RELEASE}
358 exit 0 ;;
68f39654
BE
359 # The situation for MiNT is a little confusing. The machine name
360 # can be virtually everything (everything which is not
40583571 361 # "atarist" or "atariste" at least should have a processor
68f39654
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 ;;
ec085977
DM
385 powerpc:machten:*:*)
386 echo powerpc-apple-machten${UNAME_RELEASE}
387 exit 0 ;;
d4d94b76
PB
388 RISC*:Mach:*:*)
389 echo mips-dec-mach_bsd4.3
390 exit 0 ;;
f629b14c
RM
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 ;;
68f39654 397 2020:CLIX:*:* | 2430:CLIX:*:*)
79d0f4da
PB
398 echo clipper-intergraph-clix${UNAME_RELEASE}
399 exit 0 ;;
ed8a2c3a 400 mips:*:*:UMIPS | mips:*:*:RISCos)
4e405419 401 eval $set_cc_for_build
72e8143c
BE
402 sed 's/^ //' << EOF >$dummy.c
403#ifdef __cplusplus
3a27fa96 404#include <stdio.h> /* for printf() prototype */
72e8143c
BE
405 int main (int argc, char *argv[]) {
406#else
407 int main (argc, argv) int argc; char *argv[]; {
408#endif
ed8a2c3a
PB
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
68f39654 423 $CC_FOR_BUILD $dummy.c -o $dummy \
72e8143c 424 && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
4e405419 425 && rm -f $dummy.c $dummy && exit 0
72e8143c 426 rm -f $dummy.c $dummy
46506037 427 echo mips-mips-riscos${UNAME_RELEASE}
f3ec183e 428 exit 0 ;;
4e405419
PE
429 Motorola:PowerMAX_OS:*:*)
430 echo powerpc-motorola-powermax
431 exit 0 ;;
432 Night_Hawk:*:*:PowerMAX_OS)
433 echo powerpc-harris-powermax
434 exit 0 ;;
7d826aa9
PB
435 Night_Hawk:Power_UNIX:*:*)
436 echo powerpc-harris-powerunix
437 exit 0 ;;
cb94a3da
PB
438 m88k:CX/UX:7*:*)
439 echo m88k-harris-cxux7
440 exit 0 ;;
f629b14c
RM
441 m88k:*:4*:R4*)
442 echo m88k-motorola-sysv4
443 exit 0 ;;
444 m88k:*:3*:R3*)
445 echo m88k-motorola-sysv3
446 exit 0 ;;
f3ec183e 447 AViiON:dgux:*:*)
627bd32d 448 # DG/UX returns AViiON for all architectures
8380f562 449 UNAME_PROCESSOR=`/usr/bin/uname -p`
40583571 450 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
3a27fa96
GM
451 then
452 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
453 [ ${TARGET_BINARY_INTERFACE}x = x ]
454 then
985a7a04 455 echo m88k-dg-dgux${UNAME_RELEASE}
3a27fa96 456 else
985a7a04 457 echo m88k-dg-dguxbcs${UNAME_RELEASE}
3a27fa96
GM
458 fi
459 else
460 echo i586-dg-dgux${UNAME_RELEASE}
985a7a04 461 fi
f3ec183e 462 exit 0 ;;
d18c3d0d
RK
463 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
464 echo m88k-dolphin-sysv3
465 exit 0 ;;
f3ec183e
RK
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 ;;
d2956936
JW
476 *:IRIX*:*:*)
477 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
f629b14c 478 exit 0 ;;
dd1aafd0 479 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
351dc550
RK
480 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
481 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
4e405419 482 i*86:AIX:*:*)
f629b14c
RM
483 echo i386-ibm-aix
484 exit 0 ;;
4e405419
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 ;;
f629b14c 493 *:AIX:2:3)
f3ec183e 494 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
4e405419 495 eval $set_cc_for_build
72e8143c 496 sed 's/^ //' << EOF >$dummy.c
627e759c
RK
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
4e405419 507 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
72e8143c 508 rm -f $dummy.c $dummy
f3ec183e
RK
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
f629b14c 515 exit 0 ;;
4e405419
PE
516 *:AIX:*:[45])
517 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
518 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
8593feb6 519 IBM_ARCH=rs6000
a6fd3875 520 else
8593feb6 521 IBM_ARCH=powerpc
a6fd3875 522 fi
141155b8
RK
523 if [ -x /usr/bin/oslevel ] ; then
524 IBM_REV=`/usr/bin/oslevel`
8593feb6 525 else
4e405419 526 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
8593feb6
RK
527 fi
528 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
a6fd3875 529 exit 0 ;;
f629b14c
RM
530 *:AIX:*:*)
531 echo rs6000-ibm-aix
532 exit 0 ;;
b0e4a7ad
RK
533 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
534 echo romp-ibm-bsd4.4
535 exit 0 ;;
3a27fa96 536 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
4bc12675 537 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
351dc550 538 exit 0 ;; # report: romp-ibm BSD 4.3
f629b14c
RM
539 *:BOSX:*:*)
540 echo rs6000-bull-bosx
541 exit 0 ;;
f3ec183e
RK
542 DPX/2?00:B.O.S.:*:*)
543 echo m68k-bull-sysv3
f629b14c 544 exit 0 ;;
f3ec183e
RK
545 9000/[34]??:4.3bsd:1.*:*)
546 echo m68k-hp-bsd
f629b14c 547 exit 0 ;;
f3ec183e
RK
548 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
549 echo m68k-hp-bsd4.4
f629b14c 550 exit 0 ;;
83cc942a 551 9000/[34678]??:HP-UX:*:*)
4e405419 552 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
f3ec183e
RK
553 case "${UNAME_MACHINE}" in
554 9000/31? ) HP_ARCH=m68000 ;;
555 9000/[34]?? ) HP_ARCH=m68k ;;
c3b4b83f 556 9000/[678][0-9][0-9])
4e405419
PE
557 if [ -x /usr/bin/getconf ]; then
558 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
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" ;;
567 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
568 esac ;;
569 esac
570 fi
571 if [ "${HP_ARCH}" = "" ]; then
572 eval $set_cc_for_build
573 sed 's/^ //' << EOF >$dummy.c
40583571
DL
574
575 #define _HPUX_SOURCE
05d5ca25
RS
576 #include <stdlib.h>
577 #include <unistd.h>
72e8143c 578
05d5ca25
RS
579 int main ()
580 {
581 #if defined(_SC_KERNEL_BITS)
582 long bits = sysconf(_SC_KERNEL_BITS);
72e8143c 583 #endif
05d5ca25 584 long cpu = sysconf (_SC_CPU_VERSION);
72e8143c
BE
585
586 switch (cpu)
05d5ca25
RS
587 {
588 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
589 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
72e8143c 590 case CPU_PA_RISC2_0:
05d5ca25 591 #if defined(_SC_KERNEL_BITS)
72e8143c 592 switch (bits)
05d5ca25
RS
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;
72e8143c 600 #endif
05d5ca25
RS
601 default: puts ("hppa1.0"); break;
602 }
603 exit (0);
604 }
605EOF
4e405419
PE
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 ;;
f3ec183e 610 esac
f3ec183e
RK
611 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
612 exit 0 ;;
4e405419
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 ;;
f3ec183e 617 3050*:HI-UX:*:*)
4e405419 618 eval $set_cc_for_build
72e8143c 619 sed 's/^ //' << EOF >$dummy.c
f3ec183e
RK
620 #include <unistd.h>
621 int
622 main ()
623 {
624 long cpu = sysconf (_SC_CPU_VERSION);
cb94a3da
PB
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))
f3ec183e
RK
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 }
cb94a3da
PB
638 else if (CPU_IS_HP_MC68K (cpu))
639 puts ("m68k-hitachi-hiuxwe2");
f3ec183e
RK
640 else puts ("unknown-hitachi-hiuxwe2");
641 exit (0);
642 }
643EOF
4e405419 644 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
72e8143c 645 rm -f $dummy.c $dummy
f3ec183e 646 echo unknown-hitachi-hiuxwe2
f629b14c 647 exit 0 ;;
7c36a59a 648 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
8760d5df
JB
649 echo hppa1.1-hp-bsd
650 exit 0 ;;
651 9000/8??:4.3bsd:*:*)
652 echo hppa1.0-hp-bsd
653 exit 0 ;;
4e405419 654 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
1e58d7cc
ILT
655 echo hppa1.0-hp-mpeix
656 exit 0 ;;
7c36a59a 657 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
cb94a3da
PB
658 echo hppa1.1-hp-osf
659 exit 0 ;;
660 hp8??:OSF1:*:*)
661 echo hppa1.0-hp-osf
662 exit 0 ;;
4e405419 663 i*86:OSF1:*:*)
d4d94b76
PB
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 ;;
bbe3c2bd
MM
670 parisc*:Lites*:*:*)
671 echo hppa1.1-hp-lites
672 exit 0 ;;
7bbba4f2 673 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
f629b14c
RM
674 echo c1-convex-bsd
675 exit 0 ;;
7bbba4f2
CS
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
f629b14c 690 exit 0 ;;
0db66aed 691 CRAY*Y-MP:*:*:*)
4e405419 692 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
81291a47 693 exit 0 ;;
d5801d71
TG
694 CRAY*[A-Z]90:*:*:*)
695 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
9bec625c 696 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
4e405419
PE
697 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
698 -e 's/\.[^.]*$/.X/'
81291a47 699 exit 0 ;;
5d4da19c 700 CRAY*TS:*:*:*)
3a27fa96 701 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
5d4da19c 702 exit 0 ;;
4e405419 703 CRAY*T3D:*:*:*)
3a27fa96
GM
704 echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
705 exit 0 ;;
4e405419
PE
706 CRAY*T3E:*:*:*)
707 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
708 exit 0 ;;
3a27fa96 709 CRAY*SV1:*:*:*)
40583571 710 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
72e8143c 711 exit 0 ;;
4e405419
PE
712 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
713 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
c3b4b83f 714 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
d4d94b76 715 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
4e405419 716 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
d4d94b76 717 exit 0 ;;
4e405419 718 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
0f419363 719 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
f3ec183e 720 exit 0 ;;
c3b4b83f
BE
721 sparc*:BSD/OS:*:*)
722 echo sparc-unknown-bsdi${UNAME_RELEASE}
723 exit 0 ;;
72e8143c
BE
724 *:BSD/OS:*:*)
725 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
726 exit 0 ;;
bc7c9d8c 727 *:FreeBSD:*:*)
4568da2f 728 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
bc7c9d8c 729 exit 0 ;;
b4991b76 730 i*:CYGWIN*:*)
db31fbb2 731 echo ${UNAME_MACHINE}-pc-cygwin
b4991b76 732 exit 0 ;;
43466922 733 i*:MINGW*:*)
93aca356 734 echo ${UNAME_MACHINE}-pc-mingw32
43466922 735 exit 0 ;;
40583571
DL
736 i*:PW*:*)
737 echo ${UNAME_MACHINE}-pc-pw32
738 exit 0 ;;
4e405419
PE
739 x86:Interix*:3*)
740 echo i386-pc-interix3
741 exit 0 ;;
c3b4b83f
BE
742 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
743 # How do we know it's Interix rather than the generic POSIX subsystem?
744 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
745 # UNAME_MACHINE based on the output of uname instead of i386?
746 echo i386-pc-interix
747 exit 0 ;;
748 i*:UWIN*:*)
749 echo ${UNAME_MACHINE}-pc-uwin
750 exit 0 ;;
b4991b76 751 p*:CYGWIN*:*)
db31fbb2 752 echo powerpcle-unknown-cygwin
b4991b76 753 exit 0 ;;
24509d9c
MM
754 prep*:SunOS:5.*:*)
755 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
756 exit 0 ;;
5bd7b591 757 *:GNU:*:*)
9bdc0764 758 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
5bd7b591 759 exit 0 ;;
40583571
DL
760 i*86:Minix:*:*)
761 echo ${UNAME_MACHINE}-pc-minix
762 exit 0 ;;
4e405419
PE
763 arm*:Linux:*:*)
764 echo ${UNAME_MACHINE}-unknown-linux-gnu
765 exit 0 ;;
766 ia64:Linux:*:*)
767 echo ${UNAME_MACHINE}-unknown-linux-gnu
768 exit 0 ;;
769 m68*:Linux:*:*)
770 echo ${UNAME_MACHINE}-unknown-linux-gnu
771 exit 0 ;;
772 mips:Linux:*:*)
773 eval $set_cc_for_build
774 sed 's/^ //' << EOF >$dummy.c
775 #undef CPU
776 #undef mips
777 #undef mipsel
778 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
779 CPU=mipsel
780 #else
781 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
782 CPU=mips
783 #else
784 CPU=
785 #endif
786 #endif
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
791 ;;
792 ppc:Linux:*:*)
793 echo powerpc-unknown-linux-gnu
794 exit 0 ;;
795 ppc64:Linux:*:*)
796 echo powerpc64-unknown-linux-gnu
797 exit 0 ;;
798 alpha:Linux:*:*)
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
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:*:*)
6e4bd6ae 836 # The BFD linker knows what the default object file format is, so
68f39654
BE
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.
4e405419
PE
839 # Set LC_ALL=C to ensure ld outputs messages in English.
840 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
841 | sed -ne '/supported targets:/!d
36e5df1b 842 s/[ ][ ]*/ /g
4e405419 843 s/.*supported targets: *//
36e5df1b
RS
844 s/ .*//
845 p'`
4e405419
PE
846 case "$ld_supported_targets" in
847 elf32-i386)
40583571
DL
848 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
849 ;;
4e405419
PE
850 a.out-i386-linux)
851 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
852 exit 0 ;;
853 coff-i386)
3a27fa96 854 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
4e405419
PE
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 ;;
36e5df1b 861 esac
4e405419
PE
862 # Determine whether the default compiler is a.out or elf
863 eval $set_cc_for_build
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
877 #ifdef __INTEL_COMPILER
878 LIBC=gnu
879 #else
880 LIBC=gnuaout
881 #endif
882 #endif
bbe3c2bd 883EOF
4e405419
PE
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
887 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
888 ;;
889 i*86:DYNIX/ptx:4*:*)
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.
cb5fbf94
RK
893 echo i386-sequent-sysv4
894 exit 0 ;;
4e405419 895 i*86:UNIX_SV:4.2MP:2.*)
469f2168
RS
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 ;;
4e405419 903 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
3a27fa96 904 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
8760d5df 905 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
3a27fa96 906 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
8760d5df 907 else
3a27fa96 908 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
8760d5df 909 fi
f629b14c 910 exit 0 ;;
4e405419
PE
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}
c3b4b83f 918 exit 0 ;;
4e405419 919 i*86:*:3.2:*)
e301e82e
RK
920 if test -f /usr/options/cb.name; then
921 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
0f419363 922 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
e301e82e 923 elif /bin/uname -X 2>/dev/null >/dev/null ; then
f629b14c
RM
924 UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
925 (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
017e0c85
PB
926 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
927 && UNAME_MACHINE=i586
c3b4b83f
BE
928 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
929 && UNAME_MACHINE=i686
930 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
931 && UNAME_MACHINE=i686
0f419363 932 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
f629b14c 933 else
0f419363 934 echo ${UNAME_MACHINE}-pc-sysv32
f3ec183e
RK
935 fi
936 exit 0 ;;
4e405419 937 i*86:*DOS:*:*)
3a27fa96
GM
938 echo ${UNAME_MACHINE}-pc-msdosdjgpp
939 exit 0 ;;
16c3fe0e 940 pc:*:*:*)
3a27fa96 941 # Left here for compatibility:
16c3fe0e
RS
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 ;;
cb94a3da 946 Intel:Mach:3*:*)
0f419363 947 echo i386-pc-mach3
cb94a3da 948 exit 0 ;;
ad7c5ee1
PB
949 paragon:*:*:*)
950 echo i860-intel-osf1
951 exit 0 ;;
f3ec183e
RK
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
f629b14c
RM
957 fi
958 exit 0 ;;
959 mini*:CTIX:SYS*5:*)
960 # "miniframe"
961 echo m68010-convergent-sysv
962 exit 0 ;;
1b165319 963 M68*:*:R3V[567]*:*)
8760d5df 964 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
4e405419 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)
d4d94b76
PB
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 ;;
4c07cabb 973 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
d4d94b76 974 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
4c07cabb 975 && echo i486-ncr-sysv4 && exit 0 ;;
4e405419 976 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
dd1aafd0 977 echo m68k-unknown-lynxos${UNAME_RELEASE}
f3ec183e
RK
978 exit 0 ;;
979 mc68030:UNIX_System_V:4.*:*)
bc7c9d8c
PB
980 echo m68k-atari-sysv4
981 exit 0 ;;
4e405419 982 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
dd1aafd0 983 echo i386-unknown-lynxos${UNAME_RELEASE}
f3ec183e 984 exit 0 ;;
dd1aafd0
DM
985 TSUNAMI:LynxOS:2.*:*)
986 echo sparc-unknown-lynxos${UNAME_RELEASE}
f3ec183e 987 exit 0 ;;
4e405419 988 rs6000:LynxOS:2.*:*)
dd1aafd0 989 echo rs6000-unknown-lynxos${UNAME_RELEASE}
cb94a3da 990 exit 0 ;;
4e405419
PE
991 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
992 echo powerpc-unknown-lynxos${UNAME_RELEASE}
993 exit 0 ;;
d4d94b76
PB
994 SM[BE]S:UNIX_SV:*:*)
995 echo mips-dde-sysv${UNAME_RELEASE}
996 exit 0 ;;
72e8143c
BE
997 RM*:ReliantUNIX-*:*:*)
998 echo mips-sni-sysv4
999 exit 0 ;;
cb94a3da
PB
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 ;;
4e405419
PE
1011 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1012 # says <Richard.M.Bartel@ccMail.Census.GOV>
c0c0e4bd
RK
1013 echo i586-unisys-sysv4
1014 exit 0 ;;
dd1aafd0
DM
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 ;;
4e405419
PE
1024 *:VOS:*:*)
1025 # From Paul.Green@stratus.com.
1026 echo hppa1.1-stratus-vos
1027 exit 0 ;;
ad3583e4
ILT
1028 mc68*:A/UX:*:*)
1029 echo m68k-apple-aux${UNAME_RELEASE}
1030 exit 0 ;;
40583571 1031 news*:NEWS-OS:6*:*)
d3dcea6f
RS
1032 echo mips-sony-newsos6
1033 exit 0 ;;
20606274 1034 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
262df1e2
ILT
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 ;;
05b0d692
RS
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 ;;
1047 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1048 echo i586-pc-beos
1049 exit 0 ;;
72e8143c
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 ;;
40583571
DL
1062 *:Darwin:*:*)
1063 echo `uname -p`-apple-darwin${UNAME_RELEASE}
3a27fa96 1064 exit 0 ;;
40583571 1065 *:procnto*:*:* | *:QNX:[0123456789]*:*)
4e405419
PE
1066 UNAME_PROCESSOR=`uname -p`
1067 if test "$UNAME_PROCESSOR" = "x86"; then
1068 UNAME_PROCESSOR=i386
40583571
DL
1069 UNAME_MACHINE=pc
1070 fi
4e405419 1071 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
3a27fa96
GM
1072 exit 0 ;;
1073 *:QNX:*:4*)
40583571
DL
1074 echo i386-pc-qnx
1075 exit 0 ;;
4e405419 1076 NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
40583571
DL
1077 echo nsr-tandem-nsk${UNAME_RELEASE}
1078 exit 0 ;;
1079 *:NonStop-UX:*:*)
1080 echo mips-compaq-nonstopux
1081 exit 0 ;;
1082 BS2000:POSIX*:*:*)
1083 echo bs2000-siemens-sysv
1084 exit 0 ;;
1085 DS/*:UNIX_System_V:*:*)
1086 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1087 exit 0 ;;
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
3a27fa96 1098 exit 0 ;;
4e405419
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 ;;
1122 i*86:XTS-300:*:STOP)
1123 echo ${UNAME_MACHINE}-unknown-stop
1124 exit 0 ;;
1125 i*86:atheos:*:*)
1126 echo ${UNAME_MACHINE}-unknown-atheos
1127 exit 0 ;;
f629b14c
RM
1128esac
1129
f3ec183e 1130#echo '(No uname command or uname output not recognized.)' 1>&2
f629b14c
RM
1131#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1132
4e405419 1133eval $set_cc_for_build
72e8143c 1134cat >$dummy.c <<EOF
6276efb0
RK
1135#ifdef _SEQUENT_
1136# include <sys/types.h>
1137# include <sys/utsname.h>
1138#endif
1d6ce4b0 1139main ()
f629b14c
RM
1140{
1141#if defined (sony)
1142#if defined (MIPSEB)
f3ec183e
RK
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);
f629b14c 1146#else
2b49050a
RM
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);
f629b14c
RM
1155#endif
1156#endif
1157
f3ec183e 1158#if defined (__arm) && defined (__acorn) && defined (__unix)
1d6ce4b0 1159 printf ("arm-acorn-riscix"); exit (0);
f3ec183e
RK
1160#endif
1161
1d6ce4b0
RS
1162#if defined (hp300) && !defined (hpux)
1163 printf ("m68k-hp-bsd\n"); exit (0);
f629b14c
RM
1164#endif
1165
1d6ce4b0
RS
1166#if defined (NeXT)
1167#if !defined (__ARCHITECTURE__)
f3ec183e
RK
1168#define __ARCHITECTURE__ "m68k"
1169#endif
1170 int version;
1171 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
72e8143c
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);
cb94a3da 1176 exit (0);
f3ec183e
RK
1177#endif
1178
f629b14c
RM
1179#if defined (MULTIMAX) || defined (n16)
1180#if defined (UMAXV)
1d6ce4b0 1181 printf ("ns32k-encore-sysv\n"); exit (0);
f629b14c
RM
1182#else
1183#if defined (CMU)
1d6ce4b0 1184 printf ("ns32k-encore-mach\n"); exit (0);
f629b14c 1185#else
1d6ce4b0 1186 printf ("ns32k-encore-bsd\n"); exit (0);
f629b14c
RM
1187#endif
1188#endif
1189#endif
1190
cb94a3da 1191#if defined (__386BSD__)
0f419363 1192 printf ("i386-pc-bsd\n"); exit (0);
f629b14c
RM
1193#endif
1194
1d6ce4b0
RS
1195#if defined (sequent)
1196#if defined (i386)
1197 printf ("i386-sequent-dynix\n"); exit (0);
8760d5df
JB
1198#endif
1199#if defined (ns32000)
1d6ce4b0 1200 printf ("ns32k-sequent-dynix\n"); exit (0);
8760d5df
JB
1201#endif
1202#endif
1203
1d6ce4b0 1204#if defined (_SEQUENT_)
6276efb0
RK
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
8760d5df
JB
1217#endif
1218
1d6ce4b0 1219#if defined (vax)
4e405419
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
f3ec183e
RK
1238#endif
1239
1d6ce4b0
RS
1240#if defined (alliant) && defined (i860)
1241 printf ("i860-alliant-bsd\n"); exit (0);
1242#endif
1243
f629b14c
RM
1244 exit (1);
1245}
1246EOF
1247
4e405419 1248$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
72e8143c 1249rm -f $dummy.c $dummy
f629b14c 1250
f3ec183e
RK
1251# Apollos put the system type in the environment.
1252
1253test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1254
7499dc83
PB
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
40583571
DL
1281cat >&2 <<EOF
1282$0: unable to guess system type
1283
4e405419
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
40583571
DL
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
4e405419 1295config.guess timestamp = $timestamp
40583571
DL
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
f629b14c
RM
1317
1318exit 1
40583571
DL
1319
1320# Local variables:
1321# eval: (add-hook 'write-file-hooks 'time-stamp)
4e405419 1322# time-stamp-start: "timestamp='"
40583571
DL
1323# time-stamp-format: "%:y-%02m-%02d"
1324# time-stamp-end: "'"
1325# End: