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