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