* config.sub: Import latest version.
[deliverable/binutils-gdb.git] / config.guess
1 #! /bin/sh
2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4 # Free Software Foundation, Inc.
5
6 timestamp='2001-12-13'
7
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
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.
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
36 # don't specify an explicit build system type.
37
38 me=`echo "$0" | sed -e 's,.*/,,'`
39
40 usage="\
41 Usage: $0 [OPTION]
42
43 Output the configuration name of the system \`$me' is run on.
44
45 Operation modes:
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
50 Report bugs and patches to <config-patches@gnu.org>."
51
52 version="\
53 GNU config.guess ($timestamp)
54
55 Originally written by Per Bothner.
56 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57 Free Software Foundation, Inc.
58
59 This is free software; see the source for copying conditions. There is NO
60 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
61
62 help="
63 Try \`$me --help' for more information."
64
65 # Parse command line
66 while test $# -gt 0 ; do
67 case $1 in
68 --time-stamp | --time* | -t )
69 echo "$timestamp" ; exit 0 ;;
70 --version | -v )
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 -* )
79 echo "$me: invalid option $1$help" >&2
80 exit 1 ;;
81 * )
82 break ;;
83 esac
84 done
85
86 if test $# != 0; then
87 echo "$me: too many arguments$help" >&2
88 exit 1
89 fi
90
91
92 dummy=dummy-$$
93 trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
94
95 # CC_FOR_BUILD -- compiler used by this script.
96 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
97 # use `HOST_CC' if defined, but it is deprecated.
98
99 set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
100 ,,) echo "int dummy(){}" > $dummy.c ;
101 for c in cc gcc c89 ; do
102 ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103 if test $? = 0 ; then
104 CC_FOR_BUILD="$c"; break ;
105 fi ;
106 done ;
107 rm -f $dummy.c $dummy.o $dummy.rel ;
108 if test x"$CC_FOR_BUILD" = x ; then
109 CC_FOR_BUILD=no_compiler_found ;
110 fi
111 ;;
112 ,,*) CC_FOR_BUILD=$CC ;;
113 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
114 esac'
115
116 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
117 # (ghazi@noc.rutgers.edu 1994-08-24)
118 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
119 PATH=$PATH:/.attbin ; export PATH
120 fi
121
122 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
123 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
124 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
125 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
126
127 # Note: order is significant - the case branches are not exclusive.
128
129 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
130 *:NetBSD:*:*)
131 # NetBSD (nbsd) targets should (where applicable) match one or
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.
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 ;;
148 esac
149 # The Operating System including object format, if it has switched
150 # to ELF recently, or will in the future.
151 case "${UNAME_MACHINE_ARCH}" in
152 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
153 eval $set_cc_for_build
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
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 ;;
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 ;;
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.
222 cat <<EOF >$dummy.s
223 .data
224 \$Lformat:
225 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
226
227 .text
228 .globl main
229 .align 4
230 .ent main
231 main:
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
245 .end main
246 EOF
247 eval $set_cc_for_build
248 $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
249 if test "$?" = 0 ; then
250 case `./$dummy` in
251 0-0)
252 UNAME_MACHINE="alpha"
253 ;;
254 1-0)
255 UNAME_MACHINE="alphaev5"
256 ;;
257 1-1)
258 UNAME_MACHINE="alphaev56"
259 ;;
260 1-101)
261 UNAME_MACHINE="alphapca56"
262 ;;
263 2-303)
264 UNAME_MACHINE="alphaev6"
265 ;;
266 2-307)
267 UNAME_MACHINE="alphaev67"
268 ;;
269 2-1307)
270 UNAME_MACHINE="alphaev68"
271 ;;
272 esac
273 fi
274 rm -f $dummy.s $dummy
275 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
276 exit 0 ;;
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 ;;
283 21064:Windows_NT:50:3)
284 echo alpha-dec-winnt3.5
285 exit 0 ;;
286 Amiga*:UNIX_System_V:4.0:*)
287 echo m68k-unknown-sysv4
288 exit 0;;
289 *:[Aa]miga[Oo][Ss]:*:*)
290 echo ${UNAME_MACHINE}-unknown-amigaos
291 exit 0 ;;
292 *:OS/390:*:*)
293 echo i370-ibm-openedition
294 exit 0 ;;
295 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
296 echo arm-acorn-riscix${UNAME_RELEASE}
297 exit 0;;
298 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
299 echo hppa1.1-hitachi-hiuxmpp
300 exit 0;;
301 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
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 ;;
309 NILE*:*:*:dcosx)
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 ;;
354 # The situation for MiNT is a little confusing. The machine name
355 # can be virtually everything (everything which is not
356 # "atarist" or "atariste" at least should have a processor
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}
370 exit 0 ;;
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 ;;
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 ;;
392 2020:CLIX:*:* | 2430:CLIX:*:*)
393 echo clipper-intergraph-clix${UNAME_RELEASE}
394 exit 0 ;;
395 mips:*:*:UMIPS | mips:*:*:RISCos)
396 eval $set_cc_for_build
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
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 }
417 EOF
418 $CC_FOR_BUILD $dummy.c -o $dummy \
419 && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
420 && rm -f $dummy.c $dummy && exit 0
421 rm -f $dummy.c $dummy
422 echo mips-mips-riscos${UNAME_RELEASE}
423 exit 0 ;;
424 Motorola:PowerMAX_OS:*:*)
425 echo powerpc-motorola-powermax
426 exit 0 ;;
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`
442 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
443 then
444 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
445 [ ${TARGET_BINARY_INTERFACE}x = x ]
446 then
447 echo m88k-dg-dgux${UNAME_RELEASE}
448 else
449 echo m88k-dg-dguxbcs${UNAME_RELEASE}
450 fi
451 else
452 echo i586-dg-dgux${UNAME_RELEASE}
453 fi
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 '
474 i*86:AIX:*:*)
475 echo i386-ibm-aix
476 exit 0 ;;
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 ;;
485 *:AIX:2:3)
486 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
487 eval $set_cc_for_build
488 sed 's/^ //' << EOF >$dummy.c
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 }
498 EOF
499 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
500 rm -f $dummy.c $dummy
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 ;;
508 *:AIX:*:[45])
509 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
510 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
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
518 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
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 ;;
528 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
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 ;;
543 9000/[34678]??:HP-UX:*:*)
544 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
545 case "${UNAME_MACHINE}" in
546 9000/31? ) HP_ARCH=m68000 ;;
547 9000/[34]?? ) HP_ARCH=m68k ;;
548 9000/[678][0-9][0-9])
549 if [ -x /usr/bin/getconf ]; then
550 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
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" ;;
559 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
560 esac ;;
561 esac
562 fi
563 if [ "${HP_ARCH}" = "" ]; then
564 eval $set_cc_for_build
565 sed 's/^ //' << EOF >$dummy.c
566
567 #define _HPUX_SOURCE
568 #include <stdlib.h>
569 #include <unistd.h>
570
571 int main ()
572 {
573 #if defined(_SC_KERNEL_BITS)
574 long bits = sysconf(_SC_KERNEL_BITS);
575 #endif
576 long cpu = sysconf (_SC_CPU_VERSION);
577
578 switch (cpu)
579 {
580 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
581 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
582 case CPU_PA_RISC2_0:
583 #if defined(_SC_KERNEL_BITS)
584 switch (bits)
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;
592 #endif
593 default: puts ("hppa1.0"); break;
594 }
595 exit (0);
596 }
597 EOF
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 ;;
602 esac
603 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
604 exit 0 ;;
605 ia64:HP-UX:*:*)
606 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
607 echo ia64-hp-hpux${HPUX_REV}
608 exit 0 ;;
609 3050*:HI-UX:*:*)
610 eval $set_cc_for_build
611 sed 's/^ //' << EOF >$dummy.c
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 }
635 EOF
636 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
637 rm -f $dummy.c $dummy
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 ;;
646 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
647 echo hppa1.0-hp-mpeix
648 exit 0 ;;
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 ;;
655 i*86:OSF1:*:*)
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 ;;
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:*:*:*)
687 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
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/' \
692 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
693 -e 's/\.[^.]*$/.X/'
694 exit 0 ;;
695 CRAY*TS:*:*:*)
696 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
697 exit 0 ;;
698 CRAY*T3D:*:*:*)
699 echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
700 exit 0 ;;
701 CRAY*T3E:*:*:*)
702 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
703 exit 0 ;;
704 CRAY*SV1:*:*:*)
705 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
706 exit 0 ;;
707 CRAY-2:*:*:*)
708 echo cray2-cray-unicos
709 exit 0 ;;
710 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
711 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
712 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
713 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
714 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
715 exit 0 ;;
716 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
717 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
718 exit 0 ;;
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 ;;
725 *:FreeBSD:*:*)
726 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
727 exit 0 ;;
728 i*:CYGWIN*:*)
729 echo ${UNAME_MACHINE}-pc-cygwin
730 exit 0 ;;
731 i*:MINGW*:*)
732 echo ${UNAME_MACHINE}-pc-mingw32
733 exit 0 ;;
734 i*:PW*:*)
735 echo ${UNAME_MACHINE}-pc-pw32
736 exit 0 ;;
737 x86:Interix*:3*)
738 echo i386-pc-interix3
739 exit 0 ;;
740 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
741 # How do we know it's Interix rather than the generic POSIX subsystem?
742 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
743 # UNAME_MACHINE based on the output of uname instead of i386?
744 echo i386-pc-interix
745 exit 0 ;;
746 i*:UWIN*:*)
747 echo ${UNAME_MACHINE}-pc-uwin
748 exit 0 ;;
749 p*:CYGWIN*:*)
750 echo powerpcle-unknown-cygwin
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 ;;
758 i*86:Minix:*:*)
759 echo ${UNAME_MACHINE}-pc-minix
760 exit 0 ;;
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:*:*)
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
782 EOF
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
786 ;;
787 ppc:Linux:*:*)
788 echo powerpc-unknown-linux-gnu
789 exit 0 ;;
790 ppc64:Linux:*:*)
791 echo powerpc64-unknown-linux-gnu
792 exit 0 ;;
793 alpha:Linux:*:*)
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
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 ;;
830 i*86:Linux:*:*)
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.
834 ld_supported_targets=`cd /; ld --help 2>&1 \
835 | sed -ne '/supported targets:/!d
836 s/[ ][ ]*/ /g
837 s/.*supported targets: *//
838 s/ .*//
839 p'`
840 case "$ld_supported_targets" in
841 elf32-i386)
842 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
843 ;;
844 a.out-i386-linux)
845 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
846 exit 0 ;;
847 coff-i386)
848 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
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 ;;
855 esac
856 # Determine whether the default compiler is a.out or elf
857 eval $set_cc_for_build
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
873 EOF
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
877 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
878 ;;
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.
883 echo i386-sequent-sysv4
884 exit 0 ;;
885 i*86:UNIX_SV:4.2MP:2.*)
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 ;;
893 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
894 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
895 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
896 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
897 else
898 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
899 fi
900 exit 0 ;;
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}
908 exit 0 ;;
909 i*86:*:3.2:*)
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
918 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
919 && UNAME_MACHINE=i686
920 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
921 && UNAME_MACHINE=i686
922 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
923 else
924 echo ${UNAME_MACHINE}-pc-sysv32
925 fi
926 exit 0 ;;
927 i*86:*DOS:*:*)
928 echo ${UNAME_MACHINE}-pc-msdosdjgpp
929 exit 0 ;;
930 pc:*:*:*)
931 # Left here for compatibility:
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 ;;
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)
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 ;;
966 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
967 echo m68k-unknown-lynxos${UNAME_RELEASE}
968 exit 0 ;;
969 mc68030:UNIX_System_V:4.*:*)
970 echo m68k-atari-sysv4
971 exit 0 ;;
972 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
973 echo i386-unknown-lynxos${UNAME_RELEASE}
974 exit 0 ;;
975 TSUNAMI:LynxOS:2.*:*)
976 echo sparc-unknown-lynxos${UNAME_RELEASE}
977 exit 0 ;;
978 rs6000:LynxOS:2.*:*)
979 echo rs6000-unknown-lynxos${UNAME_RELEASE}
980 exit 0 ;;
981 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
982 echo powerpc-unknown-lynxos${UNAME_RELEASE}
983 exit 0 ;;
984 SM[BE]S:UNIX_SV:*:*)
985 echo mips-dde-sysv${UNAME_RELEASE}
986 exit 0 ;;
987 RM*:ReliantUNIX-*:*:*)
988 echo mips-sni-sysv4
989 exit 0 ;;
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 ;;
1001 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1002 # says <Richard.M.Bartel@ccMail.Census.GOV>
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 ;;
1014 *:VOS:*:*)
1015 # From Paul.Green@stratus.com.
1016 echo hppa1.1-stratus-vos
1017 exit 0 ;;
1018 mc68*:A/UX:*:*)
1019 echo m68k-apple-aux${UNAME_RELEASE}
1020 exit 0 ;;
1021 news*:NEWS-OS:6*:*)
1022 echo mips-sony-newsos6
1023 exit 0 ;;
1024 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
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 ;;
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 ;;
1052 *:Darwin:*:*)
1053 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1054 exit 0 ;;
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
1060 exit 0 ;;
1061 *:QNX:*:4*)
1062 echo i386-pc-qnx
1063 exit 0 ;;
1064 NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1065 echo nsr-tandem-nsk${UNAME_RELEASE}
1066 exit 0 ;;
1067 *:NonStop-UX:*:*)
1068 echo mips-compaq-nonstopux
1069 exit 0 ;;
1070 BS2000:POSIX*:*:*)
1071 echo bs2000-siemens-sysv
1072 exit 0 ;;
1073 DS/*:UNIX_System_V:*:*)
1074 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1075 exit 0 ;;
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 ;;
1087 i*86:OS/2:*:*)
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 ;;
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 ;;
1110 i*86:XTS-300:*:STOP)
1111 echo ${UNAME_MACHINE}-unknown-stop
1112 exit 0 ;;
1113 i*86:atheos:*:*)
1114 echo ${UNAME_MACHINE}-unknown-atheos
1115 exit 0 ;;
1116 esac
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
1121 eval $set_cc_for_build
1122 cat >$dummy.c <<EOF
1123 #ifdef _SEQUENT_
1124 # include <sys/types.h>
1125 # include <sys/utsname.h>
1126 #endif
1127 main ()
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`;
1160 if (version < 4)
1161 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1162 else
1163 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
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)
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
1226 #endif
1227
1228 #if defined (alliant) && defined (i860)
1229 printf ("i860-alliant-bsd\n"); exit (0);
1230 #endif
1231
1232 exit (1);
1233 }
1234 EOF
1235
1236 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1237 rm -f $dummy.c $dummy
1238
1239 # Apollos put the system type in the environment.
1240
1241 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1242
1243 # Convex versions that predate uname can use getsysinfo(1)
1244
1245 if [ -x /usr/convex/getsysinfo ]
1246 then
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
1267 fi
1268
1269 cat >&2 <<EOF
1270 $0: unable to guess system type
1271
1272 This script, last modified $timestamp, has failed to recognize
1273 the operating system you are using. It is advised that you
1274 download the most up to date version of the config scripts from
1275
1276 ftp://ftp.gnu.org/pub/gnu/config/
1277
1278 If the version you run ($0) is already up to date, please
1279 send the following data and any information you think might be
1280 pertinent to <config-patches@gnu.org> in order to provide the needed
1281 information to handle your system.
1282
1283 config.guess timestamp = $timestamp
1284
1285 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1286 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1287 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1288 uname -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
1293 hostinfo = `(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
1300 UNAME_MACHINE = ${UNAME_MACHINE}
1301 UNAME_RELEASE = ${UNAME_RELEASE}
1302 UNAME_SYSTEM = ${UNAME_SYSTEM}
1303 UNAME_VERSION = ${UNAME_VERSION}
1304 EOF
1305
1306 exit 1
1307
1308 # Local variables:
1309 # eval: (add-hook 'write-file-hooks 'time-stamp)
1310 # time-stamp-start: "timestamp='"
1311 # time-stamp-format: "%:y-%02m-%02d"
1312 # time-stamp-end: "'"
1313 # End:
This page took 0.061733 seconds and 5 git commands to generate.