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